EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
简介:FPGA的开发中,仿真环节是必不可少的,而ISE自带的仿真工具只能仿真一些简单的HDL代码,无法仿真使用Coregen生成的IP,这个时候最简单的方式就是使用ModelSim。本文介绍如何在Xilinx FPGA开发环境中,建立ModelSim仿真环境。其实方法有多种,这里使用ISE的命令行方式以及图像界面方式,分别针对ISE/EDK9.1.X和ISE10.1.03/EDK10.1.X,介绍将ModelSim的仿真环境搭建起来。 $ a0 m8 k; {, g+ W6 T" o
1)命令行方式,ISE/EDK9.1.0X与ModelSim6.3se 编译xilinx公司的库,编译方法如下:3 }3 A9 u* W( i) [: `) c
(1)安装ModelSim。比如我安装到了E:\Software\modelsim63se\ 这个目录里。2 u/ M' M2 F" I7 B3 X8 Z: z& ~& d
(2)建两个空目录用来存放编译好的库。我的目录是E:\xilinx_lib_me\ise\和E:\xilinx_lib_me\edk\。
+ k3 G7 A1 @) z% T7 b (3)编译ISE的库。进入Dos命令行界面,敲入:# T4 \, J# h. {2 h
! j8 @7 T; U# d
compxlib -s mti_se -arch all -l all -lib all -w -o E:\xilinx_lib_me\ise\ -smartmodel_setup -p E:\Software\modelsim63se\ ! m7 x C- Q3 x. x4 o, }& E7 }
1 l7 |% b$ D+ C6 e( n& V- `
当然,更好的做法是用批处理文件。用任意文本编辑器,把这行命令拷贝到一个新文件里,保存为xxx.bat的批处理文件。然后运行它就可以了。
" d: C- }- i0 k
: F9 c4 F& V0 G6 O3 M+ b- J1 b 等待电脑编译完成。如果没有报错,这步就OK。在你输入Dos命令所在的当前目录里,已经生成了modelsim.ini文件,打开这个文件把[Library]下面的这几行复制到ModelSim安装目录下的modelsim.ini的[Library]下面。
/ r* a! v( N! J! f8 p UNISIMS_VER = E:\xilinx_lib_me\ise\unisims_ver
/ X |: V2 K7 ^ UNI9000_VER = E:\xilinx_lib_me\ise\uni9000_ver
, @6 D) S9 ?3 ?" ~$ Q SIMPRIMS_VER = E:\xilinx_lib_me\ise\simprims_ver( p$ Y% G) i# ^
XILINXCORELIB_VER = E:\xilinx_lib_me\ise\XilinxCoreLib_ver7 H- |3 i8 }% a9 u& [0 K
AIM_VER = E:\xilinx_lib_me\ise\abel_ver\aim_ver6 f9 r. i( k: w& _- g
cpld_VER = E:\xilinx_lib_me\ise\cpld_ver# Y! u: b6 F( |( w9 L
UNISIM = E:\xilinx_lib_me\ise\unisim
+ w" p6 k; }( O% P SIMPRIM = E:\xilinx_lib_me\ise\simprim( [+ P. x A$ E1 e3 j% t4 v
XILINXCORELIB = E:\xilinx_lib_me\ise\XilinxCoreLib0 f7 @ ^$ s F
AIM = E:\xilinx_lib_me\ise\abel\aim: `7 N# H% M% m) a1 n2 |4 c9 q
PLS = E:\xilinx_lib_me\ise\abel\pls( f# @7 V" ^3 Y3 y x5 B9 H
CPLD = E:\xilinx_lib_me\ise\cpld
. ?) `* L) z* X 需要注意的是ModelSim安装目录下的modelsim.ini是只读的,要先把它的只读属性去掉。 @& L. x. Z! F( P
到此这步完成!
/ ? w- D- T$ p( |( D 命令参数说明(可以跳过不看):$ n. G: W0 x& l7 c
compxlib -s <simulator> -f <family[:lib],<family[:lib],...|all>
3 X: x$ w. L. u/ i [-l <language>]- E& L0 }6 ~# f* P5 }' y" u
[-o <compxlib_output_directory>]' j) q2 Y8 S% m8 x2 S' Z
[-w]
, f$ d% Z, u) ?9 a9 h [-p <simulator_path>]5 }7 y. w: G) }9 _& `3 I8 P+ X
/ t/ S* R3 u$ o- } 对照上面的命令行,很容易明白各个参数的含义。-p是指定你的ModelSim可执行文件的目录。如果该路径在你系统环境变量PATH有,也可以不添加。
(4)编译EDK的库。还是Dos命令行界面,输入:4 H0 L$ n: B) J0 N5 l7 g
, P$ d7 Z7 e( |
compedklib -o E:\xilinx_lib_me\edk\ -X E:\xilinx_lib_me\ise\ -exclude deprecated
- Q2 k# u/ C* r
7 w% u! t5 ^* x 也可以使用批处理。
- f6 h( U# h( ]6 A4 y E/ m: y% m 然后是等待。直到出现100% complete, 0 errors 就OK了。然后将E:\xilinx_lib_me\edk\目录中的modelsim.ini文件中的[Library]下面的几行(很多行,各个IP都有自己的一个库)复制到ModelSim安装目录下的modelsim.ini的[Library]下面。
/ F* q5 w1 W! }$ a1 R. Z 命令行参数说明(可以跳过不看):4 ^* ]( K9 ?( C; q: A/ H5 I. F
compedklib -o <compedklib-output-dir-name>
3 E9 n3 [* [ m& a1 f$ B& I -X <compxlib-output-dir-name> -exclude deprecated) P% o) y) H1 }4 p9 L" Q. b
-X后面的目录是你存放ISE库的目录。; e. o2 z& c/ U; ]* j8 ]$ ?6 ~4 Y7 \
2)图像界面方式,ISE/EDK10.1.0X,Modelsim6.3se 图形化界面方式相对比较的简单,也是推荐使用的一种方式。打开EDK,选择Simulation-->Compile Simulation Libraries得到一个对话框,选择next。选择ModelSim,Next,选择Both VHDL and Verilog。 接下来询问是否编译ISE中需要的库,按照如下选择:
/ R- _2 j5 F, `4 B' Z% R) P![]() 对EDK中的IP进行编译 ![]()
, {- G1 g0 B8 ~ o1 i8 q+ U 根据自己的需求,选择下面的选项。 至此,选择compile,编译就好了。接下来是等待,可能会有20分钟左右,具体时间一机器的不同会有所不同。等ISE和EDK都到100%了,并且没有错误了,库就编译好了。接下来就是绑定到ModelSim工具中。 将E:\xilinx\libs_modelsim\edk\和E:\xilinx\libs_modelsim\ISE\目录中的modelsim.ini文件中的[Library]下面的几行(很多行,各个IP都有自己的一个库)复制到ModelSim安装目录下的modelsim.ini的[Library]下面。 至此,完成。
8 v' h* I( ~8 s I, J$ j, D |