20100817 发表于 2010-8-17 09:54:45

关于Modelsim仿真Altera中LPM_ROM的问题

关于Modelsim仿真Altera中LPM_ROM的问题
做的是功能仿真,总是提示以下错误:
# ** Error: (vsim-7) Failed to open VHDL file "my_rom.hex" in rb mode.
# No such file or directory. (errno = ENOENT)
#    Time: 0 nsIteration: 0Instance: /test_rom/uut/ip1/altsyncram_component
# ** Fatal: (vsim-7) Failed to open VHDL file "my_rom.hex" in rb mode.
# No such file or directory. (errno = ENOENT)
#    Time: 0 nsIteration: 0Process: /test_rom/uut/ip1/altsyncram_component/memory File: E:/programfiles/altera/90/quartus/eda/sim_lib/altera_mf.vhd
# Fatal error in Process memory at E:/programfiles/altera/90/quartus/eda/sim_lib/altera_mf.vhd line 38968
#
# HDL call sequence:
# Stopped at E:/programfiles/altera/90/quartus/eda/sim_lib/altera_mf.vhd 38968 Subprogram read_my_memory
# called fromE:/programfiles/altera/90/quartus/eda/sim_lib/altera_mf.vhd 40690 Process memory

在网上看到,有人这样做:在ModelSim安装的目录下找到modelsim.ini文件,将其只读属性去掉,在vsim部分里添加一行
“Veriuser = D:/altera/quartus50/eda/mentor/modelsim/convert_hex2ver.dll”,保存文件,将只读属性改回来。当然,
这里的路径要改成实际上您Quartus的安装路径。其中的convert_hex2ver.dll就是把hex文件转换成ModelSim能认出来的ver文件的动态链接库文件;
我用这种方法尝试了,还是出现上面的提示错误,我用的是Quartus II9.0+Modelsim SE 6.4b,VHDL语言。是不是这种方法只是针对verilog语言的。

20100817 发表于 2010-8-17 16:36:34

高手们,指导一下

weijian_li88 发表于 2011-10-19 15:38:19

你需要注意一下ModelSim里面的工作路径是否与.mif/.hex文件所在的相配。
假设:你的项目放于:D:\Verilog\Project中
在Quartus里面,你例化的时候,可能设置为项目目录下的mif文件,即路径为:.\rom.mif
然后生成的.v文件会把这个信息保存,在ModelSim里面编译的时候,假如你的ModelSim路径为C:\,则程序会找是否有C:\rom.mif文件,而不是D:\Verilog\Project\rom.mif,所以会提示找不到。
所以你需要设置ModelSim的工作路径,以与你的mif/hex文件存放一致。
设置方法:ModelSim中,File->Change Directory

weijian_li88 发表于 2011-10-19 15:40:00

另外,较高版本的ModelSim是支持.hex及.mif文件的。不需要对modelsim.ini进行设置。例如ModelSim6.4, ModelSim6.5。供参考之用
页: [1]
查看完整版本: 关于Modelsim仿真Altera中LPM_ROM的问题