EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
简介:FPGA的开发中,仿真环节是必不可少的,而ISE自带的仿真工具只能仿真一些简单的HDL代码,无法仿真使用Coregen生成的IP,这个时候最简单的方式就是使用ModelSim。本文介绍如何在Xilinx FPGA开发环境中,建立ModelSim仿真环境。其实方法有多种,这里使用ISE的命令行方式以及图像界面方式,分别针对ISE/EDK9.1.X和ISE10.1.03/EDK10.1.X,介绍将ModelSim的仿真环境搭建起来。 " J2 L- R+ \$ W% B7 @* a
1)命令行方式,ISE/EDK9.1.0X与ModelSim6.3se 编译xilinx公司的库,编译方法如下:
/ L* r+ O& n. p% g; F1 e (1)安装ModelSim。比如我安装到了E:\Software\modelsim63se\ 这个目录里。
+ V; S' L; X' r) ? (2)建两个空目录用来存放编译好的库。我的目录是E:\xilinx_lib_me\ise\和E:\xilinx_lib_me\edk\。3 d: f$ r* S- J+ c: X- D) T0 x
(3)编译ISE的库。进入Dos命令行界面,敲入:3 v# j9 o g" S* J t! c" |
# i* X; e' p3 A: v) A+ d: M compxlib -s mti_se -arch all -l all -lib all -w -o E:\xilinx_lib_me\ise\ -smartmodel_setup -p E:\Software\modelsim63se\
/ u. b z# |% @: [3 D
- V* s* O; O2 H" r4 r: ?6 c 当然,更好的做法是用批处理文件。用任意文本编辑器,把这行命令拷贝到一个新文件里,保存为xxx.bat的批处理文件。然后运行它就可以了。$ G3 s9 [) |- E6 P
/ L6 Z+ c7 X V' L, i" M
等待电脑编译完成。如果没有报错,这步就OK。在你输入Dos命令所在的当前目录里,已经生成了modelsim.ini文件,打开这个文件把[Library]下面的这几行复制到ModelSim安装目录下的modelsim.ini的[Library]下面。
8 H/ r3 `1 t/ X' K' M UNISIMS_VER = E:\xilinx_lib_me\ise\unisims_ver
* S! f8 ^5 H7 Z8 z, y+ c UNI9000_VER = E:\xilinx_lib_me\ise\uni9000_ver5 a8 S, ?9 b3 |6 G$ i
SIMPRIMS_VER = E:\xilinx_lib_me\ise\simprims_ver3 m/ U9 w9 \$ s& J; T% h6 m! ~
XILINXCORELIB_VER = E:\xilinx_lib_me\ise\XilinxCoreLib_ver
/ z5 g% K" `" o2 J1 Y! I& o H AIM_VER = E:\xilinx_lib_me\ise\abel_ver\aim_ver
- W! t. r) X+ _3 M cpld_VER = E:\xilinx_lib_me\ise\cpld_ver
% O: H! A% r$ S6 o UNISIM = E:\xilinx_lib_me\ise\unisim6 t$ S i9 k0 ~/ U
SIMPRIM = E:\xilinx_lib_me\ise\simprim0 o( M1 y# l. R! I- ]1 m
XILINXCORELIB = E:\xilinx_lib_me\ise\XilinxCoreLib, s2 r" C3 f; L! A& n% k; G* j2 g7 ]3 ~
AIM = E:\xilinx_lib_me\ise\abel\aim
( a9 L9 U! N$ r4 ], W8 e PLS = E:\xilinx_lib_me\ise\abel\pls4 P% j, I4 {4 P; d! ?7 d: u
CPLD = E:\xilinx_lib_me\ise\cpld . {7 ^5 ^- \' n# V# V6 z: g# N
需要注意的是ModelSim安装目录下的modelsim.ini是只读的,要先把它的只读属性去掉。
+ S2 u: N7 k7 z/ N/ Z 到此这步完成! 2 Y5 G4 }( K& v/ g2 f+ y
命令参数说明(可以跳过不看):0 u+ a% V% Y1 B9 ^1 x i
compxlib -s <simulator> -f <family[:lib],<family[:lib],...|all>
Z" D: T; r2 x. u& ?" Q0 | [-l <language>]7 h/ U0 J# N, m
[-o <compxlib_output_directory>]
" Z- D3 k* i4 B3 m [-w]: w% s- h8 a$ Q% F0 t' d6 h/ \
[-p <simulator_path>]
+ b/ L2 z( D" A+ r* u/ A! M. P v5 p0 e$ C9 G9 P9 `" C' W& x
对照上面的命令行,很容易明白各个参数的含义。-p是指定你的ModelSim可执行文件的目录。如果该路径在你系统环境变量PATH有,也可以不添加。 (4)编译EDK的库。还是Dos命令行界面,输入:
! N: _- L+ y3 a- H2 Q
8 U- H( x) b- d compedklib -o E:\xilinx_lib_me\edk\ -X E:\xilinx_lib_me\ise\ -exclude deprecated
4 H/ I3 \8 f1 G7 c" D- E1 o1 W6 W. f; B8 M- p, d' _( X
也可以使用批处理。0 l$ L6 l, h$ R3 t5 {/ s
然后是等待。直到出现100% complete, 0 errors 就OK了。然后将E:\xilinx_lib_me\edk\目录中的modelsim.ini文件中的[Library]下面的几行(很多行,各个IP都有自己的一个库)复制到ModelSim安装目录下的modelsim.ini的[Library]下面。 ; Y5 H4 @- r! I7 a
命令行参数说明(可以跳过不看):/ b, |- X& O0 r3 K' _5 S- x
compedklib -o <compedklib-output-dir-name>
) G) ?0 M8 [9 ^5 v -X <compxlib-output-dir-name> -exclude deprecated
4 ]3 ]2 |1 B1 L& z. a! ~2 B% _ -X后面的目录是你存放ISE库的目录。
6 l- _% p) x: k6 t$ h C. n, u 2)图像界面方式,ISE/EDK10.1.0X,Modelsim6.3se 图形化界面方式相对比较的简单,也是推荐使用的一种方式。打开EDK,选择Simulation-->Compile Simulation Libraries得到一个对话框,选择next。选择ModelSim,Next,选择Both VHDL and Verilog。 接下来询问是否编译ISE中需要的库,按照如下选择:* |% T! v4 S; Q7 m/ E
![]() 对EDK中的IP进行编译 ' L* X4 C$ M: P, n H
根据自己的需求,选择下面的选项。 至此,选择compile,编译就好了。接下来是等待,可能会有20分钟左右,具体时间一机器的不同会有所不同。等ISE和EDK都到100%了,并且没有错误了,库就编译好了。接下来就是绑定到ModelSim工具中。 将E:\xilinx\libs_modelsim\edk\和E:\xilinx\libs_modelsim\ISE\目录中的modelsim.ini文件中的[Library]下面的几行(很多行,各个IP都有自己的一个库)复制到ModelSim安装目录下的modelsim.ini的[Library]下面。 至此,完成。 & l1 ~# E/ n; f5 H. h' X1 v
|