打印

关于 RAM 用MIF文件初始化过后,modelism 仿真

[复制链接]
5079|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主

代码如下:wr_enable 是写信号,wr_addr:写地址 ,wr_data:写数据
rd_data :读数据
rd_addr:读地址


(* ramstyle = " no_rw_check, m9k " , ram_init_file = "pika_face_12864.mif" *)reg [7:0]RAM[0:1023];//初始化

always @(posedge clk or negedge rst)
if(!rst)
begin
rd_data<=0;
end
else
if(wr_enable)begin RAM[wr_addr]<=wr_data;end
else rd_data<=RAM[rd_addr];


如果正常写入,在读出,这个程序是能过的~~~但是如果我初始化RAM 的值 那么,不写入数据,就如图上的时序一样,rd_data就为红线~~~·

求高手解答,谢谢了

相关帖子

沙发
suzixiang|  楼主 | 2013-4-17 16:42 | 只看该作者
如果用MIF 文件进行初始化 RAM ,modelsim 就不能正常读出数据 ~~~~~怎么才能正常仿真

使用特权

评论回复
板凳
zbhbyc| | 2013-4-17 17:30 | 只看该作者
程序的问题,自己检查下

使用特权

评论回复
地板
suzixiang|  楼主 | 2013-4-17 17:53 | 只看该作者
如果是程序的问题,我不会发过来的~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~申明下, 这个是个RAM,如果我在TEST中写入数据,那么能正常读到数据,不会出现如图的问题~~~~~~~~~~~~~~~~~~如果我不写入,而且程序中已经初始化了RAM了,但是这个初始化的RAM 读取,就会出现上述的问题~~~~~~~求老师简答~~~~~~~~~跪谢

使用特权

评论回复
5
yuqq| | 2013-4-17 18:40 | 只看该作者
测试代码呢?rd_addr一直为0,那么读出的只能是在0那个地址的数据

使用特权

评论回复
6
suzixiang|  楼主 | 2013-4-18 09:50 | 只看该作者
rd_addr 为了0,是因为当RST 复位信号为低的时候,我让rd_addr初始化为0,当RST 置高的时候,rd_addr的数据就从RAM 中读取数据~~~~问题就是如图,rd_addr一直为红线,表示无数据(代码昨晚 已经测试过了,FPGA 能正常读取,但是仿真不正确,求大神帮助)

使用特权

评论回复
7
suzixiang|  楼主 | 2013-8-7 15:37 | 只看该作者
yuqq 发表于 2013-4-17 18:40
测试代码呢?rd_addr一直为0,那么读出的只能是在0那个地址的数据

结贴

使用特权

评论回复
8
yzh0912| | 2013-8-8 22:12 | 只看该作者
modelsim不支持MIF文件,需要在网络上下载一个东西讲mif转成可以读的格式,你网络搜下

使用特权

评论回复
9
GoldSunMonkey| | 2013-8-8 23:28 | 只看该作者
suzixiang 发表于 2013-8-7 15:37
结贴

那为什么还没有结呢?

使用特权

评论回复
10
张半仙| | 2017-2-15 19:24 | 只看该作者
请问你最后是怎么解决的呢
同样的问题

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

10

帖子

0

粉丝