微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > RAM模块如何验证功能

RAM模块如何验证功能

时间:10-02 整理:3721RD 点击:
设计了一个简单的RAM,代码如下。
因为是第一次设计RAM,不知道怎么写test bench验证功能啊。在网上搜了下,也没找到合适的例子。虽然这个模块比较简单,应该不会有错,还还是感觉写个test bench验证了比较放心。
感觉RAM读数据功能的验证我会写,但是不知道往RAM里面写数据这个功能怎么验证啊。求高手指教!还有RAM的初始化是怎么弄的呢?谢了!
简单的RAM代码如下,里面有8个8bits的数据,一个读端口,一个写端口,有一个ctrl_rw0控制是读还是写(读写不能同时进行),为1的时候写数据,为0的时候读数据。
module memory_8x8_1r_1w(clk, addr_r0, addr_w0, ctrl_rw0, mem_i0,  mem_o0);
     input               clk;
     
     input  [2:0] addr_r0;        // memory address for reading
     input  [2:0] addr_w0;        // memory address  for writing
     
     
     input               ctrl_rw0;        // 1: write,  0: read
   
     input  [7:0] mem_i0;     // input data for writing
   
     output [7:0] mem_o0;      // output data  from reading
     reg   [7:0] mem_o0;
     
     reg [7:0] mem_arr [70];
always @ (posedge clk) begin
         if (ctrl_rw0) mem_arr[addr_w0] <= mem_i0;
         else    mem_o0 <= mem_arr[addr_r0];
  end
endmodule

求助啊求助啊~

写一个数据,然后再读出来检查,不就知道写进去的对不对吗?

reg [7:0] mem_arr [70];这个应该写错了吧
关于这个程序应该是对的,要测试的话,你要先产生一些8位的数据,然后再test中将数据读入,之后你应该会的了



    谢谢指正!



    这个方法不错,谢谢!我知道怎么做了

学习了啊

学习了啊

在工程里边放二个TXT数据文件,一个写入数据,用于读取,另一个空着,用于写入,验证二个文件是否相同即可.

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

网站地图

Top