|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
×
本帖最后由 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 |
|