| 1 |
39 |
fafa1971 |
// Empty module for cacheless Simply RISC S1 Core
|
| 2 |
|
|
|
| 3 |
|
|
module bw_r_dcd (
|
| 4 |
|
|
// Outputs
|
| 5 |
|
|
so, dcache_rdata_wb, dcache_rparity_wb, dcache_rparity_err_wb,
|
| 6 |
|
|
dcache_rdata_msb_w0_m, dcache_rdata_msb_w1_m,
|
| 7 |
|
|
dcache_rdata_msb_w2_m, dcache_rdata_msb_w3_m,
|
| 8 |
|
|
dcd_fuse_repair_value, dcd_fuse_repair_en,
|
| 9 |
|
|
// Inputs
|
| 10 |
|
|
dcache_rd_addr_e, dcache_alt_addr_e, dcache_rvld_e, dcache_wvld_e,
|
| 11 |
|
|
dcache_wdata_e, dcache_wr_rway_e, dcache_byte_wr_en_e,
|
| 12 |
|
|
dcache_alt_rsel_way_e, dcache_rsel_way_wb, dcache_alt_mx_sel_e,
|
| 13 |
|
|
si, se, sehold, rst_tri_en, arst_l, rclk, dcache_alt_data_w0_m,
|
| 14 |
|
|
dcache_arry_data_sel_m, efc_spc_fuse_clk1, fuse_dcd_wren,
|
| 15 |
|
|
fuse_dcd_rid, fuse_dcd_repair_value, fuse_dcd_repair_en
|
| 16 |
|
|
) ;
|
| 17 |
|
|
|
| 18 |
|
|
input [10:3] dcache_rd_addr_e; // read cache index [10:4] + bit [3] offset
|
| 19 |
|
|
input [10:3] dcache_alt_addr_e; // write/bist/diagnostic read cache index + offset
|
| 20 |
|
|
|
| 21 |
|
|
input dcache_rvld_e; // read accesses d$.
|
| 22 |
|
|
input dcache_wvld_e; // valid write setup to m-stage.
|
| 23 |
|
|
|
| 24 |
|
|
input [143:0] dcache_wdata_e; // write data - 16Bx8 + 8b parity.
|
| 25 |
|
|
input [3:0] dcache_wr_rway_e; // replacement way for load miss/store.
|
| 26 |
|
|
input [15:0] dcache_byte_wr_en_e; // 16b byte wr enable for stores.
|
| 27 |
|
|
|
| 28 |
|
|
input [3:0] dcache_alt_rsel_way_e ; // bist/diagnostic read way select
|
| 29 |
|
|
input [3:0] dcache_rsel_way_wb; // load way select, connect to cache_way_hit
|
| 30 |
|
|
input dcache_alt_mx_sel_e;
|
| 31 |
|
|
|
| 32 |
|
|
input si;
|
| 33 |
|
|
input se;
|
| 34 |
|
|
input sehold;
|
| 35 |
|
|
|
| 36 |
|
|
output so;
|
| 37 |
|
|
|
| 38 |
|
|
input rst_tri_en ;
|
| 39 |
|
|
|
| 40 |
|
|
input arst_l; // used for redundancy flops - do not reset on wrm reset.
|
| 41 |
|
|
|
| 42 |
|
|
input rclk;
|
| 43 |
|
|
|
| 44 |
|
|
output [63:0] dcache_rdata_wb;
|
| 45 |
|
|
output [7:0] dcache_rparity_wb;
|
| 46 |
|
|
output dcache_rparity_err_wb;
|
| 47 |
|
|
|
| 48 |
|
|
input [63:0] dcache_alt_data_w0_m; //from qdp1
|
| 49 |
|
|
input dcache_arry_data_sel_m; //from dctl
|
| 50 |
|
|
|
| 51 |
|
|
output [7:0] dcache_rdata_msb_w0_m; //to dcdp
|
| 52 |
|
|
output [7:0] dcache_rdata_msb_w1_m; //to dcdp
|
| 53 |
|
|
output [7:0] dcache_rdata_msb_w2_m; //to dcdp
|
| 54 |
|
|
output [7:0] dcache_rdata_msb_w3_m; //to dcdp
|
| 55 |
|
|
|
| 56 |
|
|
input efc_spc_fuse_clk1;
|
| 57 |
|
|
|
| 58 |
|
|
input fuse_dcd_wren; //redundancy register write enable, qualified
|
| 59 |
|
|
input [2:0] fuse_dcd_rid; //redundancy register id
|
| 60 |
|
|
input [7:0] fuse_dcd_repair_value; //data in for redundancy register
|
| 61 |
|
|
input [1:0] fuse_dcd_repair_en; //enable bits to turn on redundancy
|
| 62 |
|
|
output [7:0] dcd_fuse_repair_value; //data out for redundancy register
|
| 63 |
|
|
output [1:0] dcd_fuse_repair_en; //enable bits out
|
| 64 |
|
|
|
| 65 |
|
|
|
| 66 |
|
|
endmodule
|
| 67 |
|
|
|
| 68 |
|
|
|