|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
设计了一个简单的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 |
|