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

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜全文
查看: 9149|回复: 18

[求助] 跪求指导modelsim仿真lpm_rom高阻。

[复制链接]
发表于 2011-10-10 22:02:12 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 sara0830 于 2011-10-11 13:10 编辑

modelsim   仿真 lpm_rom...........................
我只是想看下    我的rom初始化 是不是成功 。在网上 借鉴了很多人的 步骤。。。。。。。。
我自己的操作的步骤如下:已经 修改了
Veriuser = \<dll directory>\convert_hex2ver.dll
                          首先,quartus 建立工程:新建hex文件(rom位宽为8,深度为16)->
                          输入值保存->
                          用megawizard 生成单口rom,其中关联了hex文件,生成了rom.v,rom_bb.v文件->
                          在 modelsim中 生成库,库中包含了 altera_mf.v和220model.v    两个文件
                          再新建  work,添加rom.v,     rom_bb.v,    test.v三个文件,编译,仿真并且libraries 中添加了我自己生成的  库 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。我就是这么一步一步来的。。。。。。。。。。。。。为什么为什么 波形 读出的rom的值就是高阻呢??????????高手 们 快点来给我帮帮忙啦   。。。女生搞工程  ,真的是伤不起。简单的仿真都做不好。愁苦


¥¥¥¥¥¥¥¥¥¥¥¥¥
我怀疑  是不是 我的 rom 初始化文件没有 弄好。。。。是不是 在生成rom的过程中关联了 .hex文件,生成的rom.v文件里就有了 rom的初始值,在  modelsim仿真的时候 工程里加了可以 包含初始值的rom.v  ,
  可是我打开rom.v   ,没有看到初始值写在哪里了的啊。。。。。。。。。。。。。。。。。这个地方 求解释
¥¥¥¥¥¥¥¥¥¥¥¥¥
testbench是这样的:
module test;
    reg clk;
    reg [3:0]addr;
    wire [7:0]data;
   
    initial
       begin
         clk=1;
         addr=4'b0000;
         #520 addr=4'b0001;
         #530 addr=4'b0010;
         #540 addr=4'b0011;
         #550 addr=4'b0100;
         #560 addr=4'b0101;
         #570 addr=4'b0110;
         #580 addr=4'b0111;
         #500 addr=4'b1000;
         #510 addr=4'b1001;
         #500 addr=4'b1010;
        end
        
    always #50 clk=~clk;
         
   
    rom u1(.clock(clk),.address(addr),.q(data));
endmodule
 楼主| 发表于 2011-10-10 22:03:36 | 显示全部楼层
我自己定个先。。。。。。。。明天继续来实验室苦逼。。。。。。。。。简单的工程步骤都搞不好 。。。两天了  。。。。。。。烦躁不已
回复 支持 反对

使用道具 举报

发表于 2011-10-11 08:16:16 | 显示全部楼层
测试文件是否正常,可以把测试文件贴出来看下否?
回复 支持 反对

使用道具 举报

发表于 2011-10-11 08:51:20 | 显示全部楼层
在modelsim中:
看波形,接到IP上的时钟、输入是否正常;
调memmery,看rom里面值是否是正确。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-10-11 13:05:42 | 显示全部楼层
回复 3# 110500623


    测试文件还蛮简单,因为就是一个8位,深度16的rom。。。


module test;
    reg clk;
    reg [3:0]addr;
    wire [7:0]data;
   
    initial
       begin
         clk=1;
         addr=4'b0000;
         #520 addr=4'b0001;
         #530 addr=4'b0010;
         #540 addr=4'b0011;
         #550 addr=4'b0100;
         #560 addr=4'b0101;
         #570 addr=4'b0110;
         #580 addr=4'b0111;
         #500 addr=4'b1000;
         #510 addr=4'b1001;
         #500 addr=4'b1010;
        end
        
    always #50 clk=~clk;
         
   
    rom u1(.clock(clk),.address(addr),.q(data));
endmodule
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-10-11 13:13:06 | 显示全部楼层
回复 4# jackertja


    仿真波形,clk 和address  的值都是正确的,跟测试文件写的一样。。。。。。。。。只是输出data不一样。。。请问怎样调用memory呢
回复 支持 反对

使用道具 举报

发表于 2011-10-11 13:20:21 | 显示全部楼层
quartus rom的初始文件是.hex?我怎么记得貌似是.mif的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-10-11 13:42:45 | 显示全部楼层
回复 7# 110500623


两种文件 ,但是因为 modelsim 只能识别 .hex文件,所以不用.mif文件的。。。。。。。。。楼上还有别的建议吗
回复 支持 反对

使用道具 举报

发表于 2011-10-11 15:47:12 | 显示全部楼层
回复 6# sara0830

view -> memmery list
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-10-11 16:27:23 | 显示全部楼层
回复 9# jackertja


    谢楼上,,,,我看了list ,

list

list
,部分是这个样子的。。。q输出 还是高阻啊,,,求问,这种现象是哪里的问题啊。。。。。编译提示框 没有 error 和warning。。。。。。。。。。。。。我的 输出是
# Loading D:\altera\10.1\quartus\eda\mentor\modelsim\convert_hex2ver.dll
# Loading C:\Novas\Debussy\share\PLI\modelsim_pli54\WINNT\novas.dll
# Loading work.test
# Loading work.rom



但是我在网上看到的一个人的 正确的 输出里还有loading  altera_mf.v,220model.v,。。。。为什么我也加了库,按照网上的那个 步骤加的 。但是没有 这个loading呢,,,这个会不会就是我的问题所在呢  。。。。。。。。。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2025-9-19 07:21 , Processed in 0.018043 second(s), 4 queries , Gzip On, Redis On.

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