|  | 
 
| 
设计了一个简单的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
 | 
 |