使用compxlib命令编译Xilinx的ModelSim仿真库_20110104

更新时间:2023-06-11 10:58:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

使用compxlib命令编译Xilinx的ModelSim仿真库

Xilinx提供的HDL仿真模型位于ISE安装路径下的verilog\src目录(对应Verilog仿真模型)和vhdl\src目录(对应VHDL仿真模型)下。在编译Xilinx仿真模型的时候,我们可以使用多种方法,例如直接使用ModelSim的vlib、vmap、vlog等命令进行编译、使用ISE集成开发环境进行编译等。本文描述的方法是采用ISE 7.1i自带的compxlib命令在命令行下进行编译,这种方法不需要我们手动干预而且最为简单。

(compxlib.exe位于Xilinx ISE安装文件夹\bin\nt\下,需要命令行方式运行,新版本的ISE提供了compxlibgui工具,以图形化方式编译,参考见/blog/628)

在使用compxlib命令之前,我们首先需要将modelsim.ini文件的只读属性去掉,使其变为可写的。这样做的目的是使compxlib命令能够修改modelsim.ini文件以便在库的逻辑名字和库的实际存放路径之间建立一个永久的映射关系。modelsim.ini文件位于ModelSim安装路径下,缺省情况下它是只读的。

在介绍compxlib命令的详细语法之前,我们先通过一个实际使用的例子对compxlib命令的用法做一个简要的说明。在这个例子中,我们的使用的仿真器是ModelSim SE,并且为Xilinx的所有器件族产生Verilog和VHDL仿真库。在Windows的DOS命令行中,输入如下的命令(其中的“C:

\Modeltech_6.5a\xilinx_lib”使用您自己的实际路径代替)。

compxlib -s mti_se -arch all -l all -dir C:\Modeltech_6.5a\xilinx_lib -w

当这一命令执行完成后,Xilinx器件的ModelSim SE仿真库便生成了,编译后的仿真库位于“C: \Modeltech_6.5a\xilinx_lib”目录下。而且这个命令自动修改了modelsim.ini文件,将仿真库的逻辑名字与它的实际存放路径作了永久的映射。现在运行ModelSim,如果已经自动打开了以前的工程则将这个工程关闭,我们可以看到,所有的Xilinx仿真库都出现了!

在对compxlib命令有了初步的认识后,我们来详细介绍compxlib命令的语法。 compxlib命令的语法如下:

compxlib -s <simulator> -arch <arch>

[-l <language>] [-lib <library>] [-dir <output_dir>]

[-w] [-log <log_file>] [-p <dir_path>]

[-smartmodel_setup] [-verbose]

compxlib -cfg

compxlib -info <dir_path>

compxlib -f <cmd_file>

compxlib -help

compxlib -help <value>

-s <simulator>

-s <simulator> 选项用于指明为哪一种仿真器编译仿真库,用户必须为compxlib命令指定该选项。-s选项的有效值如下: -s mti_se // 为ModelSim SE编译仿真库;

-s mti_pe // 为ModelSim PE编译仿真库;

-s ncsim // 为NCSIM 编译仿真库;

-s vcs_mx // 为VCS-MX 编译仿真库;

-s vcs_mxi // 为VCS-MXi 编译仿真库;

对ModelSim仿真器来说,我们可以使用-s mti_se或-s mti_pe,例如在上面的例子中我们使用了-s mti_se选项。

-arch <arch>

-arch <arch>选项用于指明为哪一个器件族编译仿真库,用户必须为compxlib命令指定该选项。-arch选项的有效值如下: -arch all // 为所有支持的器件族编译仿真库;

-arch virtex // 为Virtex器件族编译仿真库;

-arch virtexe // 为VirtexE器件族编译仿真库;

-arch virtex2 // 为Virtex-II器件族编译仿真库;

-arch virtex2p // 为Virtex-II Pro器件族编译仿真库;

-arch virtex4 // 为Virtex-4器件族编译仿真库;

-arch spartan2 // 为Spartan-II器件族编译仿真库;

-arch spartan3 // 为Spartan-3器件族编译仿真库;

-arch spartan2e // 为Spartan-II E器件族编译仿真库;

-arch spartan3e // 为Spartan-3 E器件族编译仿真库;

-arch fpgacore // 为Xilinx提供的IP Core编译仿真库;

-arch cpld // 为Xilinx的CPLD编译仿真库;

-arch cr2s // 为Xilinx的CoolRunner-II CPLD编译仿真库;

-arch xpla3 // 为Xilinx的CoolRunner XPLA3 CPLD编译仿真库;

-arch xc9500 // 为Xilinx的XC9500 CPLD编译仿真库;

-arch xc9500xl // 为Xilinx的XC9500XL CPLD编译仿真库;

-arch xc9500xv // 为Xilinx的XC9500XV CPLD编译仿真库;

-l <language>

-l <language>选项用于指明为哪一种HDL语言编译仿真库。

-l <language>选项是可选的,在缺省情况下,compxlib命令根据-s <simulator> 选项检测语言类型。如果目标仿真器既支持Verilog也支持VHDL,则compxlib命令将-l选项设置成all,也就是说为两种语言产生仿真库。否则,compxlib命令根据目标仿真器支持的语言类型选择相应的-l选项。如果使用了-l <language>选项,则compxlib命令根据-l选项来选择为哪种语言编译仿真库。-l选项的有效值如下:

-l verilog // 为Verilog语言编译仿真库;

-l vhdl // 为 VHDL语言编译仿真库;

-l all // 为Verilog和VHDL两种语言编译仿真库;

-lib <library>

-lib <library>选项用于选择编译哪一个HDL仿真库。-lib <library>选项是可选的,如果未指定该选项,则compxlib命令自动编译所有的仿真库。另外,如果指定多个仿真库,则“-lib”的各个有效值之间以空格分割。-lib选项的有效值如下: -lib unisim // 该仿真库用于Xilinx器件的功能仿真;

-lib simprim // 该仿真库用于Xilinx器件的时序仿真;

-lib uni9000 // 该仿真库用于Xilinx CPLD器件的功能仿真;

-lib xilinxcorelib // 该仿真库用于Xilinx IP Core的功能仿真;

-lib smartmodel // 该仿真库用于SmartModel Library 的功能仿真和时序仿真; -lib coolrunner // 该仿真库用于Xilinx CoolRunner 器件的功能仿真;

-lib abel // 该仿真库用于功能仿真;

在上面的例子中,我们没有使用该选项,也就是说自动编译所有的仿真库。

-dir <output_dir>

该选项指明编译后的仿真库存储的目录路径。缺省情况下,compxlib命令将仿真库编译到$XILINX/language/target_simulator目录下。在上面的例子中,我们将仿真库编译到了D:\EDASoft\Modeltech_6.1a\xilinx_lib目录下,用户需要根据实际情况修改。当然也可以不使用该选项,而是编译到缺省目录下。

-w

可以使用这个选项覆盖预编译的仿真库,缺省情况下不会覆盖预编译的仿真库。

-log <log_file>

可以使用这个选项来产生自己的编译日志文件。如果不使用该选项,则compxlib命令会自动产生一个日志文件,这个文件存放于运行compxlib命令的目录,文件名为compxlib.log。

-p <dir_path>

该选项用来指定仿真器可执行文件存在的路径。缺省情况下,compxlib命令自动从$PATH或%PATH%环境变量中搜索仿真器可执行文件存在的路径。如果$PATH或%PATH%环境变量中没有指定仿真器可执行文件存在的路径,则需要使用此选项指定。

-smartmodel_setup

该选项为SWIFT接口更新设置文件。

-verbose

该选项使compxlib命令执行的时候能够打印更多的消息。

-cfg

使用该选项可以产生具有缺省设置的配置文件。缺省情况下,如果在当前的目录中没有compxlib.cfg文件,则compxlib命令会产生一个。

-info <dir_path>

该选项用于打印预编译库的信息,<dir_path>用于指定预编译库存在的路径。例如:如果执行compxlib –info D:\EDASoft\Modeltech_6.1a\xilinx_lib命令,则在屏幕上显示如下的信息:

Release 7.1.02i - COMPXLIB H.40

Copyright (c) 1995-2005 Xilinx, Inc. All rights reserved.

Pre-Compiled Library Info :-

---------------------------------------------------------------

Library =: unisim

Mapped Name =: unisim

Language Name =: vhdl

Version =: 7.1i

Library Path =: D:\EDASoft\Modeltech_6.1a\xilinx_lib

Compiled By =: mti_se

Simulator Used =: Model Technology ModelSim SE vlog 6.1a Compiler 2005.07 Jul 19 2005

Compiled On =: Wed Aug 03 19:22:51 2005

Errors =: 0

Warnings =: 0

Library Log =:

D:\EDASoft\Modeltech_6.1a\xilinx_lib\unisim\cxl_XilinxCoreLib.log

---------------------------------------------------------------

-f <cmd_file>

使用该选项可以使compxlib命令从文件中读取compxlib命令的选项和参数。

-help

使用该选项可以将compxlib命令的帮助打印到标准输出设备上。

-help <value>

该选项可以打印扩展帮助信息。我们可以使用compxlib -help list命令来获得<value>的可用值。

至此,compxlib命令的用法便介绍完了,读者在使用该命令的时候,应充分利用compxlib -help命令和compxlib -help <value>命令来获得帮助信息。另外需要注意的是,本文的介绍是基于Xilinx ISE 7.1i所作的介绍,如果您正在使用其它版本,该命令的具体参数可能会有所不同,此时您可以使用compxlib -help命令获得特定版本的使用帮助

本文来源:https://www.bwwdw.com/article/wto1.html

Top