您的当前位置:首页正文

为Modelsim添加Xilinx仿真库的详细步骤

2024-04-13 来源:年旅网


最近有一个项目要用Xilinx的FPGA做,所以正在学习ISE。仿真工具当然还是首选Modelsim,可以选型SE和XE两个版本。Modelsim XE可以直接被ISE调用,而Modelsim SE需要手动添加仿真库。但SE版和OEM版在功能和性能方面有较大差别,比如对于大家都关心的仿真速度问题,以Xilinx公司提供的OEM版本ModelSim XE为例,对于代码少于40000行的设计,ModelSim SE 比ModelSim XE要快10倍;对于代码超过40000行的设计,ModelSim SE要比ModelSim XE快近40倍。所以我还是选择了Modelsim SE,为此google了一下,找到了一个手动添加仿真库的方法,并轻松完成配置。详细步骤如下,有需要的兄弟们可以参考一下。

为modelsim生成3个库。

首先,介绍一下这三个库。

Simprim_ver:用于布局布线后的仿真。

Unisim_ver :如果要做综合后的仿真,还要编译这个库。

Xilinxcorelib_ver:如果设计中调用了CoreGen产生的核,则还需要编译这个库。

我们要为modelsim生成的是标准库。所谓的标准库就是modelsim运行后,会自动加载的库。不过这方面我还不是很肯定。因为我在后仿真时,还是要为仿真指定库的路径,不然modelsim找不到。

第一步:在modelsim环境下,新建工程,工程的路径与你想把库存储的路径一致。

第二步:新建库,库名起作simprim_ver。我们首先就是要建的就是这个库。

第三步:在modelsim的命令栏上,打下如下命令:

vlog -work simprim_ver d:/Xilinx/verilog/src/simprims/*.v

其中的d:/Xilinx是我的Xilinx的安装路径,你把这个改成你的就行了。以下凡是要根据自己系统环境改变的内容,我都会用绿色标出,并加一个下划线。编译完之后,你会发现你的工程文件夹下出现了一个simprim文件夹,里面又有很多个文件夹。这些就是我们要的库了。

第四步:按照上面的方法,编译另外两个库。所需要键入的命令分别如下:

vlog -work unisim_ver d:/Xilinx/verilog/src/unisims/*.v

vlog -work xilinxcorelib_ver d:/Xilinx/verilog/src/XilinxCoreLib/*.v

如果你想要编译的是VHDL的库,你需要建立的库分别是simprim,unisim和xilinxcorelib。这三个库所需要的modelsim指令分别如下:

vcom –work simprim d:Xilinx/VHDL/src/simprims/simprim_Vcomponents.vhd

vcom –work simprim d:Xilinx/VHDL/src/simprims/simprim_Vpackage.vhd

vcom –work simprim d:Xilinx/VHDL/src/simprims/simprim_VITAL.vhd

vcom –work unisim d:Xilinx/VHDL/src/unisims/unisim_VCOMP.vhd

vcom –work unisim d:Xilinx/VHDL/src/unisims/unisim_VPKG.vhd

vcom –work unisim d:Xilinx/VHDL/src/unisims/unisim_VITAL.vhd

vcom –work unisim d:Xilinx/VHDL/src/unisims/unisim_VCFG4K.vhd

vcom –work xilinxcorelib d:Xilinx/VHDL/src/ XilinxCoreLib/*.vhd

关于VHDL方面,我没有实践过,如果有误的话,改一下应该问题也不大。

第五步:把库建好后,接下来的事情就是使它成为modelsim的标准库。这只要修改modelsim安装目录下的modelsim.ini文件就可以了。修改后的内容如下:

[Library]

std = $MODEL_TECH/../std

ieee = $MODEL_TECH/../ieee

verilog = $MODEL_TECH/../verilog

vital2000 = $MODEL_TECH/../vital2000

std_developerskit = $MODEL_TECH/../std_developerskit

synopsys = $MODEL_TECH/../synopsys

modelsim_lib = $MODEL_TECH/../modelsim_lib

simprim_ver = G:/EDA/Xilinx/simprim_ver(库的路径,以下同)

unisim_ver = G:/EDA/Xilinx/unisim_ver

xilinxcorelib_ver = G:/EDA/Xilinx/xilinxcorelib_ver

注意的是,这个文件是只读属性。修改之前要把这个属性去掉。

第六步:关掉工程,重启modelsim。查看这3个库是否在library框里面。

如果你看到了,那么恭喜!

至此,就可以用ISE直接调用Modelsim做仿真了。

因篇幅问题不能全部显示,请点此查看更多更全内容