您的位置:技术中心首页 > 逻辑验证 >> Modelsim >> Modelsim 包会教程

Modelsim 包会教程

作者:Timothy.Lee   时间:2007-09-28 20:46:35  来自:网上转载  浏览次数:0  文字大小:【】【】【
Modelsim是现在业界比较流行的HDL语言仿真工具。在这里关于他的使用我就不说了。主要是讲一讲困扰我们的库编译的问题。
      因为Modelsim为各个主要fpga厂商都提供了支持,所以在我们使用的时候必须先要对相应的厂商的库进行编译。在这里,我以xilinx公司为例。使用的软件为ise5.2i,modelsim se 5.7c(如果版本不同,并不影响操作步骤)。针对语言为vhdl。

好了,首先我们要做的是什么那?

首先,我们要跋山涉水,翻山越岭,搞到一份完全的软件才行
然后,安装。(%¥……※%×……%※※%¥¥#¥%……)
在ise4.1版本中,xilinx公司提供xilinxlib.tcl文件用于modelsim库的仿真。而在5.1版本之后,提供了一个compxlib应用程序,据说可以进行自动仿真。但是,经过我得使用,将机器仿死了。所以,只好使用手动仿真了,不过为了大家的使用方便,我已经做了一个绝对的绝对的绝对好使的批处理文件。在文章的最后部分找到他然后复制到写字板中另存为*.do文件,直接使用就好使了。

首先编译unisim库(如果是verilog语言为unisims_ver),这个库对应原理图功能仿真和行为级仿真。
先用cd命令,或菜单中的change directory命令来设置你想要存放库的文件夹。默认的为*:/modeltech/examples/。
vlib unisim
vmap unisim unisim
新建库。然后找到xilinx提供的库文件。看看你的*:/xilnx/vhdl(verilog)/src/文件夹下都有什么?进入unisims文件夹,就会看到四个库文件了。切记,切记,一定要按照我写的顺序进行编译,否则出错本人概不负责。
vcom -work unisim c:/xilinx/vhdl/src/unisims/unisim_VPKG.vhd 
vcom -work unisim c:/xilinx/vhdl/src/unisims/unisim_VCOMP.vhd
vcom -work unisim c:/xilinx/vhdl/src/unisims/unisim_VITAL.vhd
vcom -work unisim c:/xilinx/vhdl/src/unisims/unisim_SMODEL.vhd

然后,依据上面的方法建立simprim库。对应布局布线后的时序仿真。
vlib simprim                                                    
vmap simprim simprim                                            
vcom -work simprim c:/xilinx/vhdl/src/simprims/simprim_Vpackage.vhd
vcom -work simprim c:/xilinx/vhdl/src/simprims/simprim_Vcomponents.vhd
vcom -work simprim c:/xilinx/vhdl/src/simprims/simprim_VITAL.vhd
vcom -work simprim c:/xilinx/vhdl/src/simprims/simprim_SMODEL.vhd
只要记得按照我的顺序编译就不会错。

但是如果你以为xilinxcorelib也是一样就大错特错了。打开xilinxcorelib文件夹,呵呵,害怕了不是。有多达500多个文件。要是自己一句一句的写,吼吼,要出人命了。
别害怕,xilinx公司已经为我们想好了这个问题,在这个文件夹下仔细的寻找一个vhdl_analyze_order文件。打开看看,原来他已经将这些文件按顺序来排列了。只要我们将他们做成一个批处理文件来运行不就行了。

Vhdl_analyze_order文件打开部分如下:
iputils_std_logic_arith.vhd 
iputils_std_logic_signed.vhd
xfft1024_v1_0.vhd           
xfft1024_v1_0_comp.vhd      
prims_constants_v5_0.vhd    
viterbi_v2_0.vhd            
viterbi_v2_0_comp.vhd       
prims_constants_v3_0.vhd    
viterbi_v1_0.vhd            
viterbi_v1_0_comp.vhd       
ul_utils.vhd                
vfft_utils.vhd              
vfftv2_utils.vhd            
vfft64v2.vhd                
vfft64v2_comp.vhd           
vfft1024v2.vhd     
但是要在500多句话前加上
vcom -work xilinxcorelib d:/xilinx/vhdl/src/XilinxCoreLib/        
好像也是不可能的了。呵呵呵呵,听说过列编辑这种东西嘛(如果没听过,自己找个墙角蹲着去),我用的是ultraedit。很好用的hex格式文件编辑工具,做这个工作正好。好了,生成*.do文件之后就万事大吉了。

错!!!!!!

在小弟的不断探索中发现xilinx提供的库竟然有语法错误,就5.2版本来说,要想顺利的运行这个文件需要改动如下两个地方:
c_counter_binary_v6_0.vhd文件的第264行去掉begin。
Mult_gen_v6_0.vhd文件第216行去掉function。

好了。运行文件……………………等待20分钟,成功。
最后,要将编译成功的库定义成全局库才行,这样在使用ise直接调用modelsim的时候才能够顺利的进行。
在modelsim安装目录下找到modelsim.ini文件。选择属性,将只读去掉。在library后面加上
unisim=$MODEL_TECH/../examples/unisim
simprim=$MODEL_TECH/../examples/simprim
xilinxcorelib=$MODEL_TECH/../examples/XilinxCoreLib
这里因为我们将库编译在examples文件夹下,如果你修改了编译路径,用你的路径来替换我写的路径就可以了。
下面我付上我的批处理文件,如果你使用的是5.2.的版本,而且按照我的方法修改了xilinx的库文件的话。就可以直接在modelsim中用do命令来编译了。Do命令的格式为(do 批处理文件路径名/*.do)。也可以在菜单中点击execute macro来实现。

 verilog的与vhdl类似,只要将库名加一个_ver就行了

责任编辑:5life

更多相关 modelsim 的文章

ModelSim仿真库问题 [2007-09-28]
Modelsim 的验证实例 [2007-09-28]
ModelSim SE操作指南 [2007-09-28]
ModelSim下用SystemC做设计验证方法与示例 [2007-09-28]
如何在ModelSim里仿真Altera的lpm_rom文件 [2007-09-28]
ModelSim,synplify,ISE后仿真流程 [2007-09-28]
Debussy和Modelsim协同仿真(VHDL) [2007-09-28]
Modelsim 初学者心得 [2007-09-28]
在ModelSim波形图中以参数名显示变量 [2007-09-28]
使用compxlib命令编译Xilinx的ModelSim仿真库 [2007-09-28]
本文共有0条评论,现在显示最新的5条。

栏目导航

电路基础
硬件语言
逻辑验证
电路综合
后端设计
可测设计
基本逻辑
制造工艺
书籍精选
说文解字
工具学习
数字滤波
趣闻逸事
数字锁相
设计杂项
低耗设计

站点最新

更多相关链接

  Modelsim 包会教程
  ModelSim仿真库问题
  Modelsim 的验证实例
  ModelSim SE操作指南
  ModelSim下用SystemC做设...
  如何在ModelSim里仿真Al...
  ModelSim,synplify,ISE后...
  Debussy和Modelsim协同仿...
  Modelsim 初学者心得
  在ModelSim波形图中以参...

栏目最新

更多相关链接

  Modelsim 包会教程
  ModelSim仿真库问题
  Modelsim 的验证实例
  ModelSim SE操作指南
  ModelSim下用SystemC做设...
  如何在ModelSim里仿真Al...
  ModelSim,synplify,ISE后...
  Debussy和Modelsim协同仿...
  Modelsim 初学者心得
  在ModelSim波形图中以参...

热点文章

更多相关链接

  Modelsim 教程
  仿真工作流程(Verilog/Model...
  ModelSim SE 十分钟入门
  使用compxlib命令编译Xilinx...
  ModelSim 6.0se 添加Xilinx仿...
  在ModelSim波形图中以参数名...
  Modelsim 初学者心得
  Debussy和Modelsim协同仿真(...
  ModelSim,synplify,ISE后仿真...
  如何在ModelSim里仿真Altera...