我是verilog的新手,我打算在Verilog中用16x4 SRAM創建一個64x8內存單元。我設計了它,但我不知道如何將其解釋爲verilog。我有16x4 SRAM和2到4解碼器,但從我的理解是,我需要創建一個64x8,我不知道如何。這是我迄今爲止的2個模塊。我知道64x8內存單元使用2to4解碼器和8x16 SRAM,至少根據我的設計。內存單元Verilog
module ram16x4(
input [3:0] adrs,
inout [3:0] data,
input chip_en, write_en, output_en
);
reg [0:15][3:0] mem;
assign data = ~chip_en & write_en & ~output_en ? mem[adrs]: 4'hz;
[email protected](*)
begin
if(chip_en == 0)
if(write_en == 0 && output_en == 1)
mem[adrs] = data;
end
endmodule
2至4解碼器:
module 2to4decoder (a4, a5, _ce0, _ce1, _ce2, _ce3);
output w, x, y, z;
input a4, a5;
assign _ce0 = (~a4) & (~a5);
assign _ce1 = (~a4) & a5;
assign _ce2 = a4 & (~a5);
assign _ce3 = a4 & a5;
endmodule
是問題如何建立與16×4塊64×8? – Morgan
向我們展示您認爲它會是什麼樣子。或者,你認爲32x4和16x8會是什麼樣子。我們會從那裏改正/引導你。 – Greg
@Morgan是的,這就是我想要弄清楚的,更可能是我不明白verilog。 – user2318083