前言
如果只是純的.v文件仿真那很容易操作,主要是涉及到IP核,那么就必須要對vivado的IP核的庫文件進(jìn)行編譯和添加了,難點(diǎn)也在于此
modelsim vivado 支持版本
關(guān)于版本對應(yīng),目前使用的vivado2018.2對應(yīng)的modelsim版本至少應(yīng)該為10.6.c
主要查ug973 文檔
不過我目前使用的modeltech64_10.6d 版本,從vivado2018.2到vivado2021.2都用的好好的,所以就一直用吧,直到不能用為止了
modelsim 編譯庫及連接庫
在vivado 工具欄------tools------compile simulation libraires 選項框中。
因為我們用的器件是Zynq-7000,因此可以如下設(shè)置。
在一個新目錄中,紅色方框可以不用勾選,而且現(xiàn)在一般都是64位的軟件和電腦了
點(diǎn)擊編譯后,庫文件會保存在Compiled library location中。
將modelsim文件拷貝出來,放到 modelsim安裝文件夾中 (C:modeltech64_10.6dmodelsim)
modelsim文件夾中有一個modelsim.ini配置文件,打開后將
secureip = E:/NEW_BROAD/modelsim/top_V2.1.3_modelsim/top.cache/compile_simlib/modelsim/secureip unisim = E:/NEW_BROAD/modelsim/top_V2.1.3_modelsim/top.cache/compile_simlib/modelsim/unisim unimacro = E:/NEW_BROAD/modelsim/top_V2.1.3_modelsim/top.cache/compile_simlib/modelsim/unimacro unifast = E:/NEW_BROAD/modelsim/top_V2.1.3_modelsim/top.cache/compile_simlib/modelsim/unifast 。。。。。。。。。。 xfft_v9_1_0 = E:/NEW_BROAD/modelsim/top_V2.1.3_modelsim/top.cache/compile_simlib/modelsim/xfft_v9_1_0 xsdbs_v1_0_2 = E:/NEW_BROAD/modelsim/top_V2.1.3_modelsim/top.cache/compile_simlib/modelsim/xsdbs_v1_0_2 zynq_ultra_ps_e_vip_v1_0_3 = E:/NEW_BROAD/modelsim/top_V2.1.3_modelsim/top.cache/compile_simlib/modelsim/zynq_ultra_ps_e_vip_v1_0_3
這一大段復(fù)制出來。
打開C:modeltech64_10.6d中的modelsim.ini(注意這個文件的屬性是只讀,修改前需改成可讀寫)。然后將上面復(fù)制的一段拷貝到:
secureip = $MODEL_TECH/../modelsim/secureip unisim = $MODEL_TECH/../modelsim/unisim unimacro = $MODEL_TECH/../modelsim/unimacro unifast = $MODEL_TECH/../modelsim/unifast 。。。。。。 xfft_v9_1_0 = $MODEL_TECH/../modelsim/xfft_v9_1_0 xsdbs_v1_0_2 = $MODEL_TECH/../modelsim/xsdbs_v1_0_2 zynq_ultra_ps_e_vip_v1_0_3 = $MODEL_TECH/../modelsim/zynq_ultra_ps_e_vip_v1_0_3
注意,上面的路徑要修改成 $MODEL_TECH/…/
modelsim仿真腳本
.tcl腳本
quit -sim set RTL_PATH E:/NEW2_BROAD/top.srcs cd $RTL_PATH vlib work vmap work work vlog -work work $RTL_PATH/sources_1/top/*.v vlog -work work $RTL_PATH/sources_1/ip/adc_clk/adc_clk_sim_netlist.v vlog -work work C:/Xilinx/Vivado/2016.4/data/verilog/src/glbl.v vlog -work work $RTL_PATH/test_top_modelsim/*.v vsim -L secureip -L simprims_ver -L unifast -L unifast_ver -L unimacro -L unimacro_ver -L unisim -L unisims_ver -voptargs="+acc" test glbl add wave sim:/test/* log -r * run 1209us do wave.do
以上有一個.v文件的編譯語句,有一個IP核的編譯語句,xilinx的IP核編譯庫還是很好用的
某些個別IP找不到庫文件怎么辦
有些復(fù)雜一點(diǎn)的IP沒有*_sim_netlist.v文件怎么辦呢。我們可以首先在vivado上直接關(guān)聯(lián)modelsim,在vivado打開modelsim進(jìn)行仿真。打開的時候modelsim的tcl窗口會記錄一切操作,把這些操作用到自己的tcl腳本上就可以了?;蛘吒鼡Q更高級的Vivado軟件,一般隨著軟件升級此類問題都有可能得到解決。
-
FPGA
+關(guān)注
關(guān)注
1624文章
21568瀏覽量
600622 -
仿真
+關(guān)注
關(guān)注
50文章
4003瀏覽量
133238 -
ModelSim
+關(guān)注
關(guān)注
5文章
174瀏覽量
47065 -
Vivado
+關(guān)注
關(guān)注
19文章
803瀏覽量
66141
原文標(biāo)題:FPGA開發(fā)技巧備忘錄——modelsim獨(dú)立仿真vivado平臺工程
文章出處:【微信號:FPGA十年老鳥,微信公眾號:FPGA十年老鳥】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論