工具版本:
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将这些库映射到所有已编译的源,但我的设计仍然无法看到它们。答案 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