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 |
|
|
|