自己写ram的疑问
信息太少,看不出来~
源代码是这个
module fifomem(rdata,wdata,raddr,waddr,wen,wclk,wfull);
output [7:0] rdata;
input [7:0] wdata;
input [2:0] waddr,raddr;
input wen,wclk,wfull;
reg [7:0] mem[0:7];
assign rdata = mem[raddr];
always @(posedge wclk)
begin
if(wen & !wfull) begin
mem[waddr] <= wdata;
end
end
endmodule
memory的波形本来就是不dump的啊。
至少我一直用的fsdb波形是这样。
这个表示位宽为8bit,深度为256的ram
$fsdbDumpvars(0,tb_top,"+mda");
这是一个异步fifo的mem,那如果我写testbench,应该怎么写。之前我是给出wdata,然后读取rdata,比较两者。不过rdata的波形一直没有,不出数据。
fsdb波形的话可以用fsdbDumpMDA。具体用法看手册。
6楼的用法我没用过,你也可以试试。
你这点程度的memory的话,看memory顶层的接口信号应该也能看出问题了。
这个深度应该是八!对吧?
应该带着波形一起跑,这样结束之后才能看到波形。不能跑完再添加波形
用nc仿真的或可以直接查看memory,看数据是否写入
你这是个半成品FIFO啊,fifo的wfull应该是输出,而不是输入,成功写入要写使能,fifo不满
