1、從Quartus啓動ModelsimSE
Quartus軟件設置步驟如下:
步驟1:Tools--Options--General--EDA Tool Options:指定modelsim.exe所在的文件路徑。
步驟2:Assignment--Settings--EDA Tool Settings--Simulation:指定仿真工具是modelsim、添加testbench文件
步驟3:啓動仿真。Tools--Run Simulation tool--RTL Simulation。
2、單獨ModelsimSE對Alter IP進行仿真
2.1編譯Quatus仿真庫
首先,去掉將modelsim文件路徑下modelsim.ini文件的只讀屬性。然後,執行下面步驟:
(1)打開quartus軟件。選擇Tools--Launch Simulation Library Compiler。
(2)設置仿真工具及其文件路徑;選擇需要的器件/語言;設置仿真庫輸出路徑;開始編譯。
(3)將modelsim文件路徑裏的modelsim.ini文件,添加quartus仿真庫文件路徑。
舉例:下圖是在modelsim文件路徑裏的modelsim.ini文件中,添加Xilinx的仿真庫(前提是你已經編譯好Xilinx的仿真庫)
secureip = D:\ISE\14.4\ISE_DS\ISE\verilog\mti_se\10.4\nt64/secureip
unisim = D:\ISE\14.4\ISE_DS\ISE\vhdl\mti_se\10.4\nt64/unisim
unimacro = D:\ISE\14.4\ISE_DS\ISE\vhdl\mti_se\10.4\nt64/unimacro
unisims_ver = D:\ISE\14.4\ISE_DS\ISE\verilog\mti_se\10.4\nt64/unisims_ver
unimacro_ver = D:\ISE\14.4\ISE_DS\ISE\verilog\mti_se\10.4\nt64/unimacro_ver
simprim = D:\ISE\14.4\ISE_DS\ISE\vhdl\mti_se\10.4\nt64/simprim
simprims_ver = D:\ISE\14.4\ISE_DS\ISE\verilog\mti_se\10.4\nt64/simprims_ver
xilinxcorelib = D:\ISE\14.4\ISE_DS\ISE\vhdl\mti_se\10.4\nt64/xilinxcorelib
xilinxcorelib_ver = D:\ISE\14.4\ISE_DS\ISE\verilog\mti_se\10.4\nt64/xilinxcorelib_ver
uni9000_ver = D:\ISE\14.4\ISE_DS\ISE\verilog\mti_se\10.4\nt64/uni9000_ver
上面路徑,對應的仿真庫文件夾如下圖所示。文件夾路徑:...\...\nt64:
然後,在modelsim文件路徑裏的modelsim.ini文件中,添加Quartus的仿真庫,如所示。
altera_lnsim_ver = D:\modelsim\Alter_lib\verilog_libs/altera_lnsim_ver
altera_mf_ver = D:\modelsim\Alter_lib\verilog_libs/altera_mf_ver
altera_ver = D:\modelsim\Alter_lib\verilog_libs/altera_ver
cycloneii_ver = D:\modelsim\Alter_lib\verilog_libs/cycloneii_ver
lpm_ver = D:\modelsim\Alter_lib\verilog_libs/lpm_ver
sgate_ver = D:\modelsim\Alter_lib\verilog_libs/sgate_ver
上面路徑,對應Quartus仿真庫文件夾如下圖所示。
2.2 run_wave.do文件
此處與Xilinx仿真一致,可參考文章 : modelsim do文件簡介
#================================================================
# Clear
#================================================================
# 退出當前仿真
quit -sim
# 清輸出窗口
.main clear
#================================================================
# Create work library
#================================================================
# It will create a "work" folder in current folder
# 創建本地庫
vlib work
# 將邏輯庫名映射庫路徑
vmap work work
#================================================================
# Compile IPcore
#================================================================
# Add File path and Compile them
#vlog ../../xilinx_ip/*.V
#vlog ./*.V
#================================================================
# Compile RTL
#================================================================
# 編譯當前目錄下的所有v文件
vlog ./*.v
# 編譯上一級目錄下的所有v文件
#vlog ../*.V
#================================================================
# Start the emulator(啓動仿真器)
#================================================================
#方式一:添加Xilinx仿真庫
vsim -L xilinxcorelib -L simprim -L unimacro -L unisim -voptargs=+acc work.TB
#方式二:添加Xilinx仿真庫
#vsim -novopt -t 1ps -c -L simprim -L unimacro -L unisim -l ./log/report.log -wav ./wave/tb.wlf -voptargs=+acc work.tb_top
#方式三:添加quartus仿真庫
#vsim -novopt -t 1ps -c -L altera_lnsim_ver -L altera_mf_ver -L altera_ver -L cycloneii_ver -L lpm_ver -L sgate_ver -l ./log/report.log -wav ./wave/tb.wlf -voptargs=+acc work.tb_top
#================================================================
# Set the window types
#================================================================
view wave
view structure
view signals
#================================================================
# Add watch wave
#================================================================
add wave -noupdate -color green -format Logic -radix hexadecimal -group {TB} /TB/*
add wave -noupdate -color cyan -format Logic -radix binary -group {WAV} {sim:/tb/UUT[0]/NET/*}
#================================================================
# run
#================================================================
.main clear
run 10us