`default_nettype none | |
module storage ( | |
// MGMT_AREA R/W Interface | |
input mgmt_clk, | |
input [`RAM_BLOCKS-1:0] mgmt_ena, | |
input [`RAM_BLOCKS-1:0] mgmt_wen, // not shared | |
input [(`RAM_BLOCKS*4)-1:0] mgmt_wen_mask, // not shared | |
input [7:0] mgmt_addr, | |
input [31:0] mgmt_wdata, | |
output [(`RAM_BLOCKS*32)-1:0] mgmt_rdata, | |
// MGMT_AREA RO Interface | |
input mgmt_ena_ro, | |
input [7:0] mgmt_addr_ro, | |
output [31:0] mgmt_rdata_ro | |
); | |
sram_1rw1r_32_256_8_sky130 SRAM_0 ( | |
// MGMT R/W port | |
.clk0(mgmt_clk), | |
.csb0(mgmt_ena[0]), | |
.web0(mgmt_wen[0]), | |
.wmask0(mgmt_wen_mask[3:0]), | |
.addr0(mgmt_addr), | |
.din0(mgmt_wdata), | |
.dout0(mgmt_rdata[31:0]), | |
// MGMT RO port | |
.clk1(mgmt_clk), | |
.csb1(mgmt_ena_ro), | |
.addr1(mgmt_addr_ro), | |
.dout1(mgmt_rdata_ro) | |
); | |
sram_1rw1r_32_256_8_sky130 SRAM_1 ( | |
// MGMT R/W port | |
.clk0(mgmt_clk), | |
.csb0(mgmt_ena[1]), | |
.web0(mgmt_wen[1]), | |
.wmask0(mgmt_wen_mask[7:4]), | |
.addr0(mgmt_addr), | |
.din0(mgmt_wdata), | |
.dout0(mgmt_rdata[63:32]) | |
); | |
endmodule | |
`default_nettype wire |