日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > > FPGA開源工作室

FPGA仿真篇-使用腳本命令來加速仿真

作者:lee

1. 背景知識(shí)

FPGA的仿真與調(diào)試在FPGA開發(fā)過程中起著至關(guān)重要的作用,也占用了FPGA開發(fā)的大部分時(shí)間。所以適當(dāng)減少或簡化FPGA的仿真與調(diào)試過程無疑是對(duì)FPGA開發(fā)的加速,所對(duì)產(chǎn)品成型的時(shí)間。這里我們將利用三篇給大家講解使用腳本命令來加速FPGA的仿真過程。

FPGA的仿真又分為前仿真和后仿真,前仿真即功能仿真,是在不考慮器件的布局布線和延時(shí)的理想情況下對(duì)源代碼進(jìn)行的仿真;后仿真即時(shí)序仿真,時(shí)序仿真主要在布局布線后進(jìn)行,與特定的器件有關(guān),在仿真時(shí)還要包含器件和布線延時(shí)信息。

FPGA的仿真工具也很多,其中用各公司軟件自帶的仿真工具,也有其他公司的仿真工具。其中Mentor公司的Modelsim是業(yè)界比較優(yōu)秀的仿真軟件,它提供了友好的仿真界面。

本次使用xilinx的官方例程xapp859來為大家做實(shí)驗(yàn),xapp859是一個(gè)PCIE,dma,DDR2控制器,以及DDR2的較大工程。對(duì)于要學(xué)習(xí)PCIE,DMA的同學(xué)具有很大幫助。其中工程中使用到了大量xilinx IP,也是對(duì)《FPGA仿真篇-使用腳本命令來加速仿真一》的進(jìn)一步補(bǔ)充和講解。

2. 使用腳本語言命令加速仿真

Xapp859這個(gè)例程我會(huì)在QQ群里邊給出,或者大家自己去xilinx官網(wǎng)下載。

1 xapp859

1給出了整個(gè)文件的子目錄。其中doc文件夾中有詳細(xì)介紹xapp859工程的pdf文件,有興趣的同學(xué)可以重點(diǎn)看一下。

2 xapp859子文件夾

2xapp859\fpga\simulation\functional子文件的截圖,我們所需要的重點(diǎn)仿真腳本文件都在這里。

3  tb.fdo.bat

3.bat文件,雙擊此文件整個(gè)工程就可以運(yùn)行。


4 tb.fdo

4 tb.fdo文件里邊是我們重點(diǎn)學(xué)習(xí)的腳本語句,如何增加verilog文件,大家一看便知。

5 wave.do

5 wave.do文件,這個(gè)文件被tb.fdo文件調(diào)用,主要是增加波形信號(hào)。

6.bat啟動(dòng)

6 為雙擊xapp859\fpga\simulation\functional目錄下的tb.fdo.bat運(yùn)行后的結(jié)果,它會(huì)自動(dòng)啟動(dòng)modelsim軟件。

7 運(yùn)行過程中碰到的第一個(gè)錯(cuò)誤

7,為運(yùn)行過程中的第一個(gè)錯(cuò)誤# ** Error: (vlog-7) Failed to open design unit file "%XILINX%/verilog/src/glbl.v" in read mode.修改到你的正確路徑。例如圖8。

8修改后的tb.fdo

9 運(yùn)行中的第二個(gè)錯(cuò)誤

9 使我們運(yùn)行過程中的第二個(gè)錯(cuò)誤,這是因?yàn)?/span>IP的仿真庫找不到。修改xapp859\fpga\simulation\functional路徑下modelsi.ini如下圖10。

10 修改后的modelsim.ini

10,是xilinx生成的仿真庫,我們自己要保證路徑正確。

11Transcript 顯示腳本運(yùn)行成功

12 最后波形的輸出

這個(gè)工程比較大,腳本運(yùn)行時(shí)間稍微會(huì)長一些時(shí)間,有興趣學(xué)習(xí)PCIE或者DMA的同學(xué)需要好好看PDF以及.v文件和仿真出來的波形,學(xué)習(xí)腳本的同學(xué)認(rèn)真看xilixn官網(wǎng)給出的腳本的寫法,你會(huì)受益匪淺。

3. 常用腳本語言的解釋

vsim -novopt work.histogram_2d_new_tb

#結(jié)束仿真

quit -sim

#仿真video_cap模塊 不優(yōu)化

vsim -novopt work.video_cap_tb

##退出當(dāng)前仿真

quit -sim

##仿真image_src模塊 不優(yōu)化

vsim -novopt work.image_src

##設(shè)置仿真時(shí)間分辨率

##vsim -t 1ps   -lib work image_src

##設(shè)置仿真時(shí)間分辨率

vsim -t 1ns   -lib work AES256_tb

##添加頂層所有的信號(hào)

add wave *

radix hex ##16進(jìn)制顯示

radix unsigned ##10進(jìn)制顯示

##編譯xilinxVHDL

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


##編譯xilinxVerilog

vlog work simprim d:Xilinx/VHDL/src/simprims/simprim_Vcomponents.v

vlog work simprim d:Xilinx/VHDL/src/simprims/simprim_Vpackage.v

vlog work simprim d:Xilinx/VHDL/src/simprims/simprim_VITAL.v

vlog work unisim d:Xilinx/VHDL/src/unisims/unisim_VCOMP.v

vlog work unisim d:Xilinx/VHDL/src/unisims/unisim_VPKG.v

vlog work unisim d:Xilinx/VHDL/src/unisims/unisim_VITAL.v

vlog work unisim d:Xilinx/VHDL/src/unisims/unisim_VCFG4K.v

vlog work xilinxcorelib d:Xilinx/VHDL/src/ XilinxCoreLib/*.v


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
關(guān)閉