|
Bulb64中找到安装程序,按提示安装即可。(注意:安装目录尽量没有空格) 。
找到并下载安装程序(windows最后的版本为“Debussy-54v9-NT”,后改名为Verdi,不再支持windows)。运行破解程序“debussy-54v9-crack.exe”,找到安装目录(例如“D:\Programme\Novas\Debussy\bin”),选择可执行文件“Debussy.exe”,破解即可。(注意:安装目录不要有空格)。
2 配置
Step 1:
设定ModelSim使用Vhdl FLI ,将
$Debussy\share\PLI\modelsim_fli54\WINNT\novas_fli.dll
复制到
$Modelsim10.0a\win32\
修改$Modelsim10.0a\modelsim.ini,将Veriuser部分修改成如下所示:
; List of dynamically loaded objects for verilog PLI applications
; Veriuser = veriuser.sl
; use by verilog
;Veriuser = novas.dll
; use by vhdl
Veriuser = novas_fli.dll
modelsim.ini是read only文档,修改前需修改其属性。
复制
$Debussy\share\PLI\modelsim_fli54\WINNT\novas.vhd
到自己的project下,(为什么Verilog不需要此操作,而VHDL需要,稍后解释)。
Step 2:
Testbench中加入
use work.pkg.all;
这是因为novas.vhd和VHDL FLI的原因,稍后解释。
同样加入
process begin
fsdbDumpfile("counter.fsdb");
end process;
同样使用fsdbDumpfile()和fsdbDumpvars()两个Debussy所提供的函数,不过在VHDL FLI不需要如Verilog PLI一樣加上$。wait也一定要加上,否則在ModelSim做simulation时会造成死循环。
Step 3:
ModelSim script中加入
vcom novas.vhd
其中novas.vhd是从Debussy目录复制过来的,为什么要编译这个文件呢? VHDL FLI (Foreign Language Interface)和Verilog PLI (Programming Language Interface)不同的地方在于,当你自己提供由C写的function给simulator使用时,Verilog PLI会自己到所提供的dll去找是否有此function,但VHDL FLI需要自己提供mapping的动作,告诉simulator哪一个function对应dll内的哪一个function。“novas.vhd”就是提供这个mapping的角色。
若直接使用Debussy提供的novas.vhd,在执行ModelSim时会有以下错误信息:
# ** Warning: (vsim-FLI-3159) Failed to find foreign function 'fliparseVariableInFile' in FLI object file "$Modelsim10.0a\win32/./novas_fli.dll".
意思是novas.vhd定义的flipaseVariableInFile在novas_fil.dll找不到,原因不明。
解决方法:
將novas.vhd修改成如下所示:
1 package pkg is
10 end;
11
12 package body pkg is
13
14
15
16
17
18
19
20
21
22
23 end;
24
25 entity novas is end;
26
27 architecture novas_arch of novas is
28
29
30 begin
31 end;
32
也就是只留下fsdbDumpfile()和fsdbDumpvars()两个function,其它都删除。
在novas.vhd也看到这些是定义在pkg这个package下,所以在tb.vhd中要加入
use work.pkg.all
3.1 Modelsim编译Xilinx库
Xilinx提供的HDL仿真模型位于ISE安装路径下的verilog\src目录(对应Verilog仿真模型)和vhdl\src目录(对应VHDL仿真模型)下。在编译Xilinx仿真模型的时候,我们可以使用多种方法,例如直接使用ModelSim的vlib、vmap、vlog等命令进行编译、使用ISE集成开发环境进行编译等。本文描述的方法是采用ISE 自带的
点赞