一、quartus仿真(帶rom)
1、rtl級仿真
rtl級仿真的輸入為 RTL文件,rom ip的初始化文件為 mif文件。故從quartus中啟動RTL級仿真時,rom ip使用mif文件初始化是可以的。
2、門級網表仿真
門級網表仿真的輸入為綜合后的網表文件,rom ip的初始化文件為hex文件。故從quartus中啟動門級仿真時,rom ip是使用hex文件作為數據激勵。
二、modelsim自動仿真(帶rom)
1、門級網表仿真
1)在modelsim中仿真時,是門級網表仿真,此時rom ip 的激勵(初始化)文件必須為 hex文件。
2)必須將hex文件放在do文件相同的目錄,否則modelsim無法識別。
3)必須修改IP核 .v文件中 hex文件的搜索路徑為 "altsyncram_component.init_file = "xxx.hex",為了避免在modelsim仿真 和 quartus綜合時反復修改 IP核 .v文件,可將IP文件夾拷貝到do文件相同的目錄,再修改 .v文件中 hex文件的搜索路徑,且讓do文件中需要編譯的IP核 .v文件路徑指向修改過的文件。
4)經過上述操作,在modelsim中仿真時,就可看到正常讀出了rom中的數據,否則,讀取rom時輸出為0。
******以下是 rom_8b10b.v 文件修改前、修改后*****
修改前:

修改后:

******以下是帶rom ip 的modelsim仿真專用的文件列表*****

