http://wenku.baidu.com/view/8363d40003d8ce2f006623e9.html 另外一个博客
生成Xilinx库
先调用ISE的simulation library compilation wizard,用Modelsim编译xilinx库单元。编译好后我放在E:Xilinx13.4ISE_DSISEsim_lib目录下,同时有一个modelsim.ini文件,指定library:
secureip = E:Xilinx13.4ISE_DSISEsim_lib/secureip
unisim = E:Xilinx13.4ISE_DSISEsim_lib/unisim
unimacro = E:Xilinx13.4ISE_DSISEsim_lib/unimacro
unisims_ver = E:Xilinx13.4ISE_DSISEsim_lib/unisims_ver
unimacro_ver = E:Xilinx13.4ISE_DSISEsim_lib/unimacro_ver
simprim = E:Xilinx13.4ISE_DSISEsim_lib/simprim
simprims_ver = E:Xilinx13.4ISE_DSISEsim_lib/simprims_ver
xilinxcorelib = E:Xilinx13.4ISE_DSISEsim_lib/xilinxcorelib
xilinxcorelib_ver = E:Xilinx13.4ISE_DSISEsim_lib/xilinxcorelib_ver
uni9000_ver = E:Xilinx13.4ISE_DSISEsim_lib/uni9000_ver
cpld = E:Xilinx13.4ISE_DSISEsim_lib/cpld
cpld_ver = E:Xilinx13.4ISE_DSISEsim_lib/cpld_ver
Modelsim仿真
写好testbench,里面加一段代码:
initial
begin
$fsdbDumpfile("..\wave\tb_ShearInterpPerc.fsdb");
$fsdbDumpvars(0,tb_ShearInterpPerc);
end
tb_ShearInterpPerc是testbench顶层模块,意味着该模块内所有变量都被记录在fsdb文件里。在仿真目录下建立Modelsim用的DOS脚本文件run.bat:
vlib work
vlog ../../ShearInterpPerc.v
vlog ../testbench/tb_ShearInterpPerc.v
vsim -L xilinxcorelib_ver -L unisims_ver -L unimacro_ver -L secureip -lib work -voptargs="+acc" -t 1ps -c -do "run 10us" -pli D:/pli/novas.dll work.tb_ShearInterpPerc glbl
修改仿真目录下的modelsim.ini,把前面指定库路径的命令粘贴进去。
Novas.dll有自己手动放置在指定目录,文件来自于Debussy安装目录E:EDANovasDebussysharePLImodelsim_fli54WINNT,支持如下:
在DOS命令行模式下转到仿真目录,输入run.bat即可仿真。
Debussy观察波形
结束后打开Debussy,在nTrace界面中导入HDL源文件,然后点New Waveform,在打开的nWave界面中open生成的fsdb 文件,按g或点get signal,选择需要观察的信号确定即可开始观察。