通过.do文件在modelsim中使用xilinx内核

时间:2018-02-14 03:31:08

标签: verilog xilinx modelsim

工具版本:

Modelsim PE 10.4a student edition
Xilinx ISE 14.7

我正在尝试使用xilinxcorelib_ver和unisims_ver的xilinx内核进行模拟,但我看到了这个错误:

Error: (vsim-3033) ../rtl/verilog/RdidTopLevel.v(72): Instantiation of 'bufg' 
failed. The design unit was not found.

这是我的.do文件:

vlib ./work
vmap -modelsim_quiet xilinxcorelib_ver 
        C:/Modeltech_pe_edu_10.4a/xilinxcorelib/xilinxcorelib_ver
vmap -modelsim_quiet unisims_ver 
        C:/Modeltech_pe_edu_10.4a/xilinxcorelib/unisims_ver
set top_level spi_rdid_tb
vsim -novopt $top_level
vsim -lib unisims_ver

我像这样实例化bufg:

BUFG bufg(.I(clkNoBuf), .O(clk));

我究竟做错了什么?我希望能够映射compxlib创建的源目录,并将其包含在我的设计中,以便我可以使用简单的.do文件从任何地方进行模拟。我过去几个小时都环顾四周,似乎找不到有用的东西。

编辑:当我运行它时,modelsim中的GUI将这些库映射到所有已编译的源,但我的设计仍然无法看到它们。

1 个答案:

答案 0 :(得分:0)

我弄清楚了我的错误,在解释后引用了模板。对于任何想知道如何让compxlib使用步骤1中的自动脚本的人来说:

确保compxlib.exe所在的核心bin目录的路径(注意:这适用于Xilinx,但Altera / Intel可能类似)

C:\Xilinx\*Tool\*version\ISE_DS\ISE\bin

系统引用bin目录后,从终端/命令行运行以下命令。这将为您的ModelSim版本,所有体系结构和语言编译内核到您想要的目录:

>>> compxlib -s mti_pe -arch all -l all -w -lib all -dir 
    c:/Modeltech_pe_edu_10.4a /xilinxcorelib

从.do / .tcl脚本执行以下操作:

# 0) Create work directory for modelsim
vlib ./work

# 1) map core libs
vmap -modelsim_quiet xilinxcorelib_ver 
    C:/Modeltech_pe_edu_10.4a/xilinxcorelib/xilinxcorelib_ver
vmap -modelsim_quiet unisims_ver 
    C:/Modeltech_pe_edu_10.4a/xilinxcorelib/unisims_ver

# 2) Compile files in use order
# vcom -93 -work work dirToSrc/file.vhd
# vlog ../rtl/verilog/*.v

# 3) use specific top level
set top_level spi_rdid_tb
# vsim -novopt $top_level # use this line instead of next if no core lib
vsim -novopt -L unisims_ver work.$top_level

# 4) the rest of your tb stuff for automation