微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 自己写ram的疑问

自己写ram的疑问

时间:10-02 整理:3721RD 点击:
关于这条语句该怎么应用 reg [7:0] mem[0:7],这是我在书上找的ram的例子,但是仿真的时候mem出不来波形,应该怎么用啊

信息太少,看不出来~



    源代码是这个
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不满

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top