在modelsim下建立VHDL库

在modelsim下建立VHDL库,第1张

VHDL 语言一般会调用各种库( library ),这些库包括用户自定义库、其他 EDA 软件下的库,比如 altera 、 synopsys 等 EDA 软件下定义的库。而目前modelsim都会兼容很多流行EDA厂商的library,比如上面提到的altera、synopsys等,这些library设计者都不用去自己建立,modelsim已经为我们建立好了,但用户自定义的库还要设计者自己在modelsim中建立,而在 model-sim 如何调用这样的库,有以下步骤:

1.    在 modelsim 下建立一个 project ,首先应该建立这些用户自定义库、其他 EDA 软件下的库,而不是新建一个工程。

2.    先在建立一个文件夹,把要建立的库文件拷到这个目录下。比如 D:modelsim_project/user_lib

3.    先打开 modelsim ,在 file 菜单下选择 change  directory ,在d出对话框中选择 D:modelsim_project/user_lib

4.   执行菜单 File->new->Library ,按照下图 *** 作,完成 library 的命名,比如命名为 jpeg2k_e 。

5.  然后执行菜单 complie->complie… ,然后选 D:modelsim_project/user_lib 下的库文件,然后点击 complie ,完成后点击 done 完成。这里特别注意,在下图的最上面 library 的选框中,一定要选择刚才建立的 library 的名称,上面我们命名为 jpeg2k_e ,所以,选择的 library 的名称一定为 jpeg2k_e ,默认的一般是 work ,所以大家一定要改过来,改成自己刚才新建的库的名称,这点这重要,我之前在 *** 作中犯过这样的错误,采用了默认的库名 work ,导致建立不成功。

6.      最后,在该目录 D:modelsim_project/user_lib 下或者 D:modelsim_project/user_lib/jpeg2k_e 目录下会生成一个文件“ modelsim.ini ”,打开后添加以下语句:

jpeg2k_e = D:modelsim_project/user_lib/jpeg2k_e 。

7.    重启 modelsim ,或者刷新 library ,就 ok 了。

 

 

1,ModelSim可以直接编译和添加Xilinx的库,目前的ise中(在开始菜单xilinx工具下找吧)直接有使用ModelSim编译库的工具。完成库的编译之后,就是添加库到ModelSim的仿真环境中,修改modelsim安装目录下的modelsim.ini,这样就完成了库的添加,在仿真时,仅需要填加生成ip的.v文件。\x0d\x0a2,tb自己编写是最好,xilinx 有些ip是有部分的tb的,但是这些tb仅仅是帮助你了解ip的使用,不具有实用价值,比如mac ddr等\x0d\x0a\x0d\x0a这里附上我N年前编译仿真库的笔记,那个时候ModelSim和ise的版本都是很早的版本,不过原理还是一样的\x0d\x0a\x0d\x0a先得把modelsim.ini改为可写\x0d\x0a在命令行模式下运行:\x0d\x0a"compxlib -s mti_se -l all -f all -p D:\Modeltech_6.1c\win32"\x0d\x0a编译好的库放在:\x0d\x0aD:\Xilinx\10.1\ISE\vhdl\mti_se\x0d\x0aD:\Xilinx\10.1\ISE\verilog\mti_se\x0d\x0a编译好之后,modelsim.ini 增加下面内容\x0d\x0a \x0d\x0aUNISIMS_VER =d:\Xilinx\10.1\ISE\verilog\mti_se\unisims_ver\x0d\x0aUNIMACRO_VER = d:\Xilinx\10.1\ISE\verilog\mti_se\unimacro_ver\x0d\x0aUNI9000_VER =d:\Xilinx\10.1\ISE\verilog\mti_se\uni9000_ver\x0d\x0aSIMPRIMS_VER =d:\Xilinx\10.1\ISE\verilog\mti_se\simprims_ver\x0d\x0aXILINXCORELIB_VER =d:\Xilinx\10.1\ISE\verilog\mti_se\XilinxCoreLib_ver\x0d\x0aAIM_VER = d:\Xilinx\10.1\ISE\verilog\mti_se\abel_ver\aim_ver\x0d\x0aCPLD_VER =d:\Xilinx\10.1\ISE\verilog\mti_se\cpld_ver\x0d\x0aSECUREIP =d:\Xilinx\10.1\ISE\verilog\mti_se\secureip\x0d\x0aUNISIM = d:\Xilinx\10.1\ISE\vhdl\mti_se\unisim\x0d\x0aUNIMACRO =d:\Xilinx\10.1\ISE\vhdl\mti_se\unimacro\x0d\x0aSIMPRIM = d:\Xilinx\10.1\ISE\vhdl\mti_se\simprim\x0d\x0aXILINXCORELIB =d:\Xilinx\10.1\ISE\vhdl\mti_se\XilinxCoreLib\x0d\x0aAIM = d:\Xilinx\10.1\ISE\vhdl\mti_se\abel\aim\x0d\x0aPLS = d:\Xilinx\10.1\ISE\vhdl\mti_se\abel\pls\x0d\x0aCPLD = d:\Xilinx\10.1\ISE\vhdl\mti_se\cpld

1. 添加仿真模型/库,根据设计内调用的器件供应商所提供的模块而定,在Quartus II的安装目录./quartus/eda/sim_lib下。

2. 通常针对不同的目标器件xxxx选用不同的xxxx_atoms.v文件,比如使用cyclone系列器件,那就要使用cyclone_atoms.v。

3. 如果使用了altera的IP核(宏单元),还需要添加altera_mf.v文件。

4. 如果ALTERA的IP核中包括了用户原语,还需要加入220model.v文件。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11423690.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存