在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 5511|回复: 3

如何在modelsim中编译xilinx的库文件

[复制链接]
发表于 2003-11-28 16:15:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
各位高手,我现在用的是 ise5.1和modelsimse5.6,请问如何编译xilinx的库文件以便在ise中可以调用modelsim仿真.
发表于 2003-11-28 16:27:39 | 显示全部楼层

如何在modelsim中编译xilinx的库文件

我自己都是手工编译的,步骤比较多,我看看有空的话写个文档吧。
各位有什么方便的方法?
发表于 2003-12-20 00:43:09 | 显示全部楼层

如何在modelsim中编译xilinx的库文件

在DOS环境运行compxlib,按照帮助设置参数,就可以直接编译你需要的库。
但是,如果你用的是Modelsim XE,就不能用这个命令,你可以从Xilinx网站上下在
更新的库文件。
发表于 2004-3-16 10:16:26 | 显示全部楼层

如何在modelsim中编译xilinx的库文件

我前阵子也为这个发愁来着
我用的是Xilinx ISE 6.1和ModelSim SE 5.7f
后来在网上找到了个帖子
不过我的VHDL库没有搞定,只有Verilog的搞定了,现在在用
那个帖子如下,其中我做了一些关于Verilog的说明,比较弱 呵呵

   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 d:/xilinx/vhdl/src/unisims/unisim_VPKG.vhd
    vcom -work unisim d:/xilinx/vhdl/src/unisims/unisim_VCOMP.vhd
    vcom -work unisim d:/xilinx/vhdl/src/unisims/unisim_VITAL.vhd
    vcom -work unisim d:/xilinx/vhdl/src/unisims/unisim_SMODEL.vhd
    然后,依据上面的方法建立simprim库。对应布局布线后的时序仿真。
    vlib simprim
    vmap simprim simprim
    vcom -work simprim d:/xilinx/vhdl/src/simprims/simprim_Vpackage.vhd
    vcom -work simprim d:/xilinx/vhdl/src/simprims/simprim_Vcomponents.vhd
    vcom -work simprim d:/xilinx/vhdl/src/simprims/simprim_VITAL.vhd
    vcom -work simprim d:/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来实现。关于modelsim中具体的方针操作,可以参照本论坛的《edif流程包会教程》。

    哎呀,do文件太长了,我另外发帖子传上去好了。

//按照上面的方法没有编译成功VHDL的库
//只好为Verilog编译了
//如果是为verilog编译相应的unisim,simprim以及XilinxCorelib库
//我们需要如下去做:
//   vlib unisims_ver
//   vmap unisims_ver unisims_ver
//然后编译时,将*:/xilnx/verilog/src/unisims/下面的东西都编译了就行了
//由于VHDL编译时要考虑到设计单元间的依赖性,所以编译顺序很重要
//比如在Architecture前就一定要编译好Entity
//在Package body之前要有Package Declaration
//Package在被Entity/Architecture使用前要编译好
//而verilog是不用考虑编译顺序的,所以全选了都编译了就行了
//simprim以及XilinxCorelib库也一样操作,分别vlib成simprims_ver和XilinxCorelib_ver库就可以了
//最后在modelsim.ini中的library后面加上
//  unisims_ver=$MODEL_TECH/../examples/unisims_ver
//  simprims_ver=$MODEL_TECH/../examples/simprims_ver
//  XilinxCorelib_ver=$MODEL_TECH/../examples/XilinxCorelib_ver
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-9-21 00:31 , Processed in 0.017952 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表