OpenCores
URL https://opencores.org/ocsvn/thor/thor/trunk

Subversion Repositories thor

[/] [thor/] [trunk/] [FT64v5/] [rtl/] [common/] [FT64_cache.v] - Diff between revs 53 and 57

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 53 Rev 57
Line 738... Line 738...
endmodule
endmodule
 
 
// -----------------------------------------------------------------------------
// -----------------------------------------------------------------------------
// -----------------------------------------------------------------------------
// -----------------------------------------------------------------------------
 
 
module FT64_dcache_tag(wclk, wr, wadr, rclk, radr, hit0, hit1);
module FT64_dcache_tag(wclk, wr, wadr, rclk, radr, whit, hit0, hit1);
input wclk;
input wclk;
input wr;
input wr;
input [37:0] wadr;
input [37:0] wadr;
input rclk;
input rclk;
input [37:0] radr;
input [37:0] radr;
 
output reg whit;
output reg hit0;
output reg hit0;
output reg hit1;
output reg hit1;
 
 
wire [31:0] tago0, tago1;
wire [31:0] tago0, tago1;
 
wire [31:0] wtago;
wire [37:0] radrp8 = radr + 32'd32;
wire [37:0] radrp8 = radr + 32'd32;
 
 
FT64_dcache_tag2 u1 (
FT64_dcache_tag2 u1 (
  .clka(wclk),    // input wire clka
  .clka(wclk),    // input wire clka
  .ena(1'b1),      // input wire ena
  .ena(1'b1),      // input wire ena
  .wea(wr),      // input wire [0 : 0] wea
  .wea(wr),      // input wire [0 : 0] wea
  .addra(wadr[13:5]),  // input wire [8 : 0] addra
  .addra(wadr[13:5]),  // input wire [8 : 0] addra
  .dina(wadr[37:14]),    // input wire [31 : 0] dina
  .dina(wadr[37:14]),    // input wire [31 : 0] dina
 
  .douta(wtago),
  .clkb(rclk),    // input wire clkb
  .clkb(rclk),    // input wire clkb
  .web(1'b0),
  .web(1'b0),
  .dinb(32'd0),
  .dinb(32'd0),
  .enb(1'b1),
  .enb(1'b1),
  .addrb(radr[13:5]),  // input wire [8 : 0] addrb
  .addrb(radr[13:5]),  // input wire [8 : 0] addrb
Line 782... Line 785...
 
 
always @(posedge rclk)
always @(posedge rclk)
     hit0 <= tago0[23:0]==radr[37:14];
     hit0 <= tago0[23:0]==radr[37:14];
always @(posedge rclk)
always @(posedge rclk)
     hit1 <= tago1[23:0]==radrp8[37:14];
     hit1 <= tago1[23:0]==radrp8[37:14];
 
always @(posedge wclk)
 
                whit <= wtago[23:0]==wadr[37:14];
 
 
endmodule
endmodule
 
 
// -----------------------------------------------------------------------------
// -----------------------------------------------------------------------------
// -----------------------------------------------------------------------------
// -----------------------------------------------------------------------------
 
 
module FT64_dcache(rst, wclk, wr, sel, wadr, i, li, rclk, rdsize, radr, o, lo, hit, hit0, hit1);
module FT64_dcache(rst, wclk, wr, sel, wadr, whit, i, li, rclk, rdsize, radr, o, lo, hit, hit0, hit1);
input rst;
input rst;
input wclk;
input wclk;
input wr;
input wr;
input [7:0] sel;
input [7:0] sel;
input [37:0] wadr;
input [37:0] wadr;
 
output whit;
input [63:0] i;
input [63:0] i;
input [255:0] li;                // line input
input [255:0] li;                // line input
input rclk;
input rclk;
input [2:0] rdsize;
input [2:0] rdsize;
input [37:0] radr;
input [37:0] radr;
Line 847... Line 853...
    .wclk(wclk),
    .wclk(wclk),
    .wr(wr),
    .wr(wr),
    .wadr(wadr),
    .wadr(wadr),
    .rclk(rclk),
    .rclk(rclk),
    .radr(radr),
    .radr(radr),
 
    .whit(whit),
    .hit0(hit0a),
    .hit0(hit0a),
    .hit1(hit1a)
    .hit1(hit1a)
);
);
 
 
wire [7:0] v0a = v0 >> radr[4:0];
wire [7:0] v0a = v0 >> radr[4:0];

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.