【发布时间】:2019-08-09 16:33:10
【问题描述】:
我想在 verilog 中创建一个RAM 芯片,以了解Verilog、RAM 和EEPROM 等现代芯片如何允许通过单个地址端口和单个数据端口读取和写入芯片。(数据端口为输入和输出端口)
我想在Verilog 中做同样的事情,我认为我需要 inout 类型,但我不知道它是如何工作的。
我用谷歌搜索,但我能找到的所有RAM 示例都有单独的数据写入和数据读取端口。
由于 inout 类型需要两边都连接到电线,我需要将一根电线从一侧连接到地址选择的 reg。(所以没有分配)。但我不知道该怎么做。
这是我尝试过但不起作用的方法:
wire [7:0] a;
wire rw;// 0 if read, 1 if write
reg [7:0] mem [16];
initial begin
if (rw == 1) begin
#1 a = mem[0];// 0 would be the address wire, but excluding it for clarity
end
if (rw == 0) begin
#1 mem[0] = a;// 0 would be the address wire, but excluding it for clarity
end
end
谁能帮忙?
谢谢
【问题讨论】:
标签: verilog