yangjing113的个人空间 https://blog.eetop.cn/351353 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

在modelsim中指定Xilinx的仿真库

已有 1834 次阅读| 2010-4-8 10:52 |个人分类:Xlinx

    为什么要在modelsim中指定xilinx的仿真库呢,说的直白点,就是在xilinx ISE界面下,直接调用modelsim,实现modelsim和xilinx之间的联合仿真,这就省去了你在modelsim中建立库(或者工程)以及testbench等等,因为这些可以在xilinx ISE下进行了。

   接下来言归正传,在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>

 

l         -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选项。

 

l         -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           // XilinxCPLD编译仿真库;

-arch cr2s           // XilinxCoolRunner-II CPLD编译仿真库;

-arch xpla3          // XilinxCoolRunner XPLA3 CPLD编译仿真库;

-arch xc9500        // XilinxXC9500 CPLD编译仿真库;

-arch xc9500xl       // XilinxXC9500XL CPLD编译仿真库;

-arch xc9500xv      // XilinxXC9500XV CPLD编译仿真库;

 

l         -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       // VerilogVHDL两种语言编译仿真库;

 

l         -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        // 该仿真库用于功能仿真;

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

 

 

 

接下来为实际操作,首先首先需要将modelsim.ini文件的只读属性去掉,使其变为可写的。这样做的目的是使compxlib命令能够修改modelsim.ini文件以便在库的逻辑名字和库的实际存放路径之间建立一个永久的映射关系。

然后单击“开始”->“运行”,输入cmd,进行doc界面。执行下面命令

compxlib -s mti_se -f all -l all -o D:\EDA\xilinx_libs -p D:\EDATool\Modeltech_6.0d\win32

其中D:\EDA\xilinx_libs,是你的想存放你的ISE程序的路径。

D:\EDATool\Modeltech_6.0d\win32,是你的modelsim的安装路径。

上面的命令输入完毕之后,它会自动完成相应的编译。我们不用打扰它……

 

由于你安装目录下的modelsim.ini是可读写的,所以这里你就不需要做什么修改了,因为这些,刚刚的那个命令已经帮你执行了。

下面,你要做的是进入ISE界面,单击Edit下拉菜单,选中Prefrences选项,再选中Integrated tools页面,重新制定modelsim的可执行文件即可。退出所有软件,以后再对Xilinx的设计进行仿真都不需要进行库的处理了。

最后,你就可以打开ISE,建立自己的工程,使用Modelsim进行仿真了。有一点一定要记得,就是一定要把你的工程保存在刚刚编译中指定的路径,比如我的路径为D:\EDA\xilinx_libs。否则,你能够ISE能够打开Modelsim,但是无法自动生成波形的。

好啦,希望上面的文章对大家有用。


点赞

全部作者的其他最新日志

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 1

    粉丝
  • 0

    好友
  • 0

    获赞
  • 2

    评论
  • 743

    访问数
关闭

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


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

GMT+8, 2024-11-22 11:01 , Processed in 0.039725 second(s), 14 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部