天天看點

在ZYNQ上實作,vivado2018與modelsim的聯合仿真

我們開發FPGA程式,首先從思路上要跳出嵌入式的思維,它是一個RTL的多并發的硬體,是以不能用簡單的LED或是序列槽來調試。必須要認認真真一絲不苟的做好仿真的學習和使用。仿真有兩種:1.VIVADO自帶的仿真。 2.MODELSIM聯合VIVADO仿真。接下來,由我給大家作一下XILINX VIVADO與Modelsim的仿真練習:

**

1.環境的搭建:

首先,在modelsim安裝路徑中建立一個名為vivado2018_lib的文

件夾(路徑和檔案名可改),如圖下圖所示。

在ZYNQ上實作,vivado2018與modelsim的聯合仿真

接着選擇vivado菜單“Tools”——>“Compile Simulation Libraries…”命

令,如下圖所示。

在ZYNQ上實作,vivado2018與modelsim的聯合仿真

**

在彈出的對話框中設定器件庫編譯參數,仿真工具“Simulator”選為ModelSim, 語言“Language”、庫“Library”、器件家族“Family”都為預設設定All(當然也可以根據自己的需求進行設定),然後在“Compiled librarylocation” 欄設定編譯器件庫的路徑,這裡選前面建立的vivado2018_lib檔案夾,此外在 “Simulatorexecutablepath”欄設定modelsim執行檔案的路徑,注意箭頭部

分不要勾選,如下圖所示。

在ZYNQ上實作,vivado2018與modelsim的聯合仿真

**

2. 生成仿真庫仿真了:

**

在ZYNQ上實作,vivado2018與modelsim的聯合仿真

生成後

修改top_simulate.do如下,注意粗體部分:

######################################################################

#Filename:top_simulate.do

#Createdon:WedApr1410:21:36+08002021

#AutogeneratedbyVivadofor’behavioral’simulation

######################################################################

dotop_compile.do

vsim-voptargs=“+acc”-t1ps-novopt-Lunisims_ver-Lunimacro_ver-Lsecureip-Lxil_defaultlib

-L blk_mem_gen_v8_3_1 -L xbip_utils_v3_0_5 -L axi_utils_v2_0_1 -L xbip_pipe_v3_0_1 -L

xbip_dsp48_wrapper_v3_0_4 -L xbip_dsp48_addsub_v3_0_1 -L xbip_bram18k_v3_0_1 -L

----------------------- Page 5-----------------------

mult_gen_v12_0_10 -L floating_point_v7_0_11 -L xbip_dsp48_mult_v3_0_1 -L

xbip_dsp48_multadd_v3_0_1-Ldiv_gen_v5_1_9-Llib_cdc_v1_0_2-Lproc_sys_reset_v5_0_8-L

generic_baseblocks_v2_1_0 -L axi_infrastructure_v1_1_0 -L axi_register_slice_v2_1_7 -L

fifo_generator_v13_0_1 -L axi_data_fifo_v2_1_6 -L axi_crossbar_v2_1_8 -L

axi_clock_converter_v2_1_6-Laxi_protocol_converter_v2_1_7-Laxi_dwidth_converter_v2_1_7

-libxil_defaultlibxil_defaultlib.top_tbxil_defaultlib.glbl

do{top_wave.do}

viewwave

viewstructure

viewsignals

log-r/*

poweradd-in-inout-out-internal/top/uut/*

do{top.udo}

run10ms

powerreport-all-bsaiftest_saif.saif

要有如下檔案

在ZYNQ上實作,vivado2018與modelsim的聯合仿真

#quit-force

接着運作100us的仿真,因為保密關系,用一個通用的下面的圖檔展示一下效果。我們主要是要了解方法就行哈。

在ZYNQ上實作,vivado2018與modelsim的聯合仿真

能正常運作,聯合仿真成功

**

3.另外的一些備注

**

假如自己不想編譯庫,想直接拿别人編好的,則拷貝好庫後,還需要對庫的初始化檔案做對應的修改,找到庫路徑下的modelsim.ini(注:不要弄錯成ModelSim安裝路徑下的那個ini了),然後用編輯器打開

在ZYNQ上實作,vivado2018與modelsim的聯合仿真

可以看到這些庫都有以絕對路徑的形式連結,是以如果是從别的地方拷過來的,或者你打算換個路徑放仿真庫,那麼就需要将舊的路徑改為新的路徑,然後其他的使用操作就和上面的一模一樣了。

繼續閱讀