在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 17685|回复: 20

[求助] verilog里面的RAM的初始化问题

[复制链接]
发表于 2011-5-23 16:52:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 greenhope 于 2011-5-23 19:52 编辑

比如设计一个RAM代码如下:

请问除了用reset信号赋初始值,还有别的办法吗?有没有办法在test bench里面给初始值啊?只是用于仿真。

希望有高手给个建议啊,先谢谢了!




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 [7:0];

always @ (posedge clk) begin
         if (ctrl_rw0) mem_arr[addr_w0] <= mem_i0;
         else    mem_o0 <= mem_arr[addr_r0];
  end
endmodule
发表于 2011-5-23 17:37:56 | 显示全部楼层
用initial载入文件进行初始化,只用于仿真!
发表于 2011-5-23 19:39:43 | 显示全部楼层
reset不能用于RAM的初始化(除非仿真)。
所以你要明确问题的着重点,是RTL代码还是做仿真
 楼主| 发表于 2011-5-23 19:53:43 | 显示全部楼层
回复 2# ee_designer


    能给个简单的例子,或者简单的verilog语句吗?我尝试在test bench里面的initial里面写,但是好像不对,最后读出来的是xxx.
 楼主| 发表于 2011-5-23 19:55:17 | 显示全部楼层
回复 3# acgoal


    谢谢回复。

    不好意思,我没把我的问题说清楚。我只是用于仿真,看看我的代码对不对的。
发表于 2011-5-23 20:14:57 | 显示全部楼层
用于仿真的话,
memory_8x8_1r_1w.mem_arr[0] =
memory_8x8_1r_1w.mem_arr[1] =
一直这样写下去,在initial里面赋值
发表于 2011-5-24 12:52:26 | 显示全部楼层
仿真的话,可以通过readmemh直接对整块memory赋初值。
发表于 2011-5-24 16:03:46 | 显示全部楼层
如果你用xilinx的ISE可以偷个懒,呵呵!在菜单EDIT下有一个language Templates/verilog/coding examples/RAM下有例子
 楼主| 发表于 2011-5-24 16:11:09 | 显示全部楼层
回复 6# acgoal


    非常感谢!我开始是这么写的,但是不知道要在mem_arr前面加上实例化的名字。
 楼主| 发表于 2011-5-24 16:34:05 | 显示全部楼层
回复 8# ee_designer


    谢谢建议!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-23 02:39 , Processed in 0.020343 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表