ModelSim SE中Xilinx仿真库的建立<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
Product Name | Available From | Use Case |
Free from Xilinx | CPLD devices, small FPGAs, design sub-modules | |
Xilinx | CPLD, Spartan? and Virtex? devices | |
Model Technology, Inc. | High density Virtex-5, Virtex-4, Virtex-II Pro, Virtex-II devices and mixed VHDL/Verilog designs | |
Model Technology, Inc. | Virtex-5, Virtex-4, Virtex-II and Virtex-II Pro devices, mixed VHDL/Verilog designs, SWIFT models and language-nuetral licensing |
ModelSim分几种不同的版本:SE、PE、LE和OEM,其中SE是最高级的版本而集成在 Actel、Atmel、Altera、Xilinx以及Lattice等FPGA厂商设计工具中的均是其OEM版本。SE版和OEM版在功能和性能方面有较大差别,比如对于大家都关心的仿真速度问题,以Xilinx公司提供的OEM版本ModelSim XE为例,对于代码少于40000行的设计,ModelSim SE 比ModelSim XE要快10倍;对于代码超过40000行的设计,ModelSim SE要比ModelSim XE快近40倍。以下列表介绍了OEM版本(以Xilinx公司提供的ModelSim XE版本为例)与ModelSim SE版本之间的差异。
ModelSim SE支持PC、UNIX和LINUX混合平台;提供全面完善以及高性能的验证功能;全面支持业界广泛的标准;Mentor Graphics公司提供业界最好的技术支持与服务。
ModelSim版本功能与性能差异
技术差异 ModelSim SE ModelSim XE II
单一语言支持 支持 支持
混合语言支持 支持 不支持
xilinx库支持 支持 支持
其它库支持 支持 不支持
技术支持与服务 MentorGrphics Xilinx
产品升级 支持 不支持
浮动使用授权 支持 不支持
调试功能差异 ModelSim SE ModelSim XE II
基本图形用户界面 支持 支持
SignalSpy 支持 不支持
代码覆盖率检查 支持 不支持
性能分析 支持 不支持
数据流与X跟踪 支持 不支持
波形比较 支持 不支持
检查点复原 支持 不支持
混合语言调试 支持 不支持
Debug Detective 支持 不支持
来源:
http://www.model.com/resources/resources_demos.asp
Modelsim SE版本是一个通用版本,既可仿真Altera,也能仿真Xilinx的CPLD/FPGA,但仿真之前要安装各自公司芯片后仿真的库,因为功能仿真只是验证逻辑关系和语法,不涉及到芯片延时布线等特性,因此功能仿真时是不需要考虑所用的是哪各公司芯片的。但后仿就不行。所谓后仿真很多人包括自己都不知道有后仿真这回事,以为仿真一下就行,其实大多是做了功能仿真了,结果仿真(功能仿真)通过了,但实际下载到芯片上,波形出不来,很郁闷。其实是没有考虑实际的芯片时延和综合结果的是否正确的原因。因此后仿真必不可少。但经常不知如何在ModelSim中调用Xilinx的仿真库。
Modelsim XE版本则是Xilinx公司专用的版本,如果你要对Xilinx的CPLD/FPGA进行后仿真的话,直接调用Modelsim XE,而不用再按下面所示的那样安装仿真库了。
ModelSim SE中Xilinx仿真库的建立步骤:(ModelSim XE不用安装)
一、 为modelsim生成3个库。
首先,介绍一下这三个库。
Simprim_ver:用于布局布线后的仿真。
Unisim_ver :如果要做综合后的仿真,还要编译这个库。
Xilinxcorelib_ver:如果设计中调用了CoreGen产生的核,则还需要编译这个库。
我们要为modelsim生成的是标准库。所谓的标准库就是modelsim运行后,会自动加载的库。不过这方面我还不是很肯定。因为我在后仿真时,还是要为仿真指定库的路径,不然modelsim找不到。
第二步:新建库,库名起作simprim_ver。我们首先就是要建的就是这个库。
第三步:在modelsim的命令栏上,打下如下命令:
vlog -work simprim_ver d:/Xilinx/verilog/src/simprims/*.v
其中的d:/Xilinx是我的Xilinx的安装路径,你把这个改成你的就行了。以下凡是要根据自己系统环境改变的内容,我都会用绿色标出,并加一个下划线。编译完之后,你会发现你的工程文件夹下出现了一个simprim文件夹,里面又有很多个文件夹。这些就是我们要的库了。
第四步:按照上面的方法,编译另外两个库。所需要键入的命令分别如下:
vlog -work unisim_ver d:/Xilinx/verilog/src/unisims/*.v
vlog -work xilinxcorelib_ver d:/Xilinx/verilog/src/XilinxCoreLib/*.v
如果你想要编译的是VHDL的库,你需要建立的库分别是simprim,unisim和xilinxcorelib。这三个库所需要的modelsim指令分别如下:
vcom –work simprim d:Xilinx/VHDL/src/simprims/simprim_Vcomponents.vhd
vcom –work simprim d:Xilinx/VHDL/src/simprims/simprim_Vpackage.vhd
vcom –work simprim d:Xilinx/VHDL/src/simprims/simprim_VITAL.vhd
vcom –work unisim d:Xilinx/VHDL/src/unisims/unisim_VCOMP.vhd
vcom –work unisim d:Xilinx/VHDL/src/unisims/unisim_VPKG.vhd
vcom –work unisim d:Xilinx/VHDL/src/unisims/unisim_VITAL.vhd
vcom –work unisim d:Xilinx/VHDL/src/unisims/unisim_VCFG4K.vhd
vcom –work xilinxcorelib d:Xilinx/VHDL/src/ XilinxCoreLib/*.vhd
关于VHDL方面,我没有实践过,如果有误的话,改一下应该问题也不大。
第五步:把库建好后,接下来的事情就是使它成为modelsim的标准库。这只要修改modelsim安装目录下的modelsim.ini文件就可以了。修改后的内容如下:
[Library]
std = $MODEL_TECH/../std
ieee = $MODEL_TECH/../ieee
verilog = $MODEL_TECH/../verilog
vital2000 = $MODEL_TECH/../vital2000
std_developerskit = $MODEL_TECH/../std_developerskit
synopsys = $MODEL_TECH/../synopsys
modelsim_lib = $MODEL_TECH/../modelsim_lib
simprim_ver = G:/EDA/Xilinx/simprim_ver(库的路径,以下同)
unisim_ver = G:/EDA/Xilinx/unisim_ver
xilinxcorelib_ver = G:/EDA/Xilinx/xilinxcorelib_ver
注意的是,这个文件是只读属性。修改之前要把这个属性去掉。
第六步:关掉工程,重启modelsim。查看这3个库是否在library框里面。
如果你看到了,那么恭喜!你已经完成了第一个大步骤!!接下来,就是在ISE环境下如何用synplify对设计进行综合的方法了。还要说明的是,这一步是一劳永逸的!有了第一次,第二次就不用了。
PS:开始的时候不太会,即安装了Modelsim SE(没有安装后仿真库)又安装了Modelsim XE,但在ISE中只能调用Modelsim SE,可以通过下面方式改变仿真工具:
在ISE中,“Edit——Preferences”
参考资料:
1)如何仿真IP核(建立modelsim仿真库完整解析)
http://www.dzkf.cn/html/EDAjishu/2007/0307/1679.html
2)ModelSim,synplify,ISE后仿真流程http://www.dzkf.cn/html/EDAjishu/2006/1226/1279.html
3)Modelsim、Synplify.Pro、ISE设计全流程
http://www.dzkf.cn/html/EDAjishu/2007/1109/2775.html
4)个人认为比较好的ModelSim仿真资料
文章评论(0条评论)
登录后参与讨论