<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > 通過(guò)EDA設計工具了解FPGA的設計流程

通過(guò)EDA設計工具了解FPGA的設計流程

作者: 時(shí)間:2016-10-16 來(lái)源:網(wǎng)絡(luò ) 收藏

對于初學(xué)者而言,的設計流程是否顯的又臭又長(cháng)呢?呵呵,如果真的有這樣的感覺(jué),沒(méi)有關(guān)系,下面我就通過(guò)對軟件的使用來(lái)了解的設計流程。

本文引用地址:http://dyxdggzs.com/article/201610/308325.htm

1)使用synplify pro對硬件描述語(yǔ)言編譯并生成netlist

綜合前要注意對器件的選擇,方法是在project->implementation option中對要下載的器件和網(wǎng)表的生成情況進(jìn)行選擇。綜合后的網(wǎng)表有兩種: RTL級網(wǎng)表和門(mén)級網(wǎng)表(gate netlist),通過(guò)對網(wǎng)表的分析可以對設計的實(shí)現方式有初步的了解,并分析其中的錯誤和不合理的地方,另外還可以對關(guān)鍵路徑的delay和slack進(jìn)行分析。

使用synplify pro要先新建工程,注意修改工作目錄,然后添加所要編譯的文件,要注意top文件要最后一個(gè)添加,這樣才可以保證生成的文件是以top文件來(lái)命名的

2)使用modelsim進(jìn)行功能仿真

導入源程序和testbench進(jìn)行仿真,并保存波形文件(.wlf)

3)使用quartusⅡ根據netlist進(jìn)行布線(xiàn),并進(jìn)行時(shí)序分析

在使用quartusⅡ前要做一些必要的設置,在assignments-> tools setting中的simulation中選擇modelsim,并選擇選項run this tools automatically after compilation。如果沒(méi)有提前做這些設置,可以quartus做完編譯布線(xiàn)后,做同樣的設置,然后運行 netlist writer和eda simulation tool

在使用synplify pro得到滿(mǎn)意的netlist后,可以在synplify pro中通過(guò)option-> quartusⅡ直接調用quartusⅡ,quartusⅡ對synplify pro生成的.vqm文件進(jìn)行編譯,布線(xiàn)。然后根據設計要求進(jìn)行時(shí)序分析和引腳調整。

4)使用modelsim進(jìn)行布線(xiàn)后仿真

由于quartusⅡ提前做了設置,因此在編譯布線(xiàn)完成后,會(huì )在工作目錄下生成modelsim仿真所需要的文件和庫(modelsim_work),在modelsim中將產(chǎn)生的文件和庫所在的文件夾設置為當前目錄,modelsim_work庫會(huì )自動(dòng)導入,新建工程會(huì )提示所使用的modelsim.ini文件,應使用quartus生成的,然后導入文件(包括testbench),進(jìn)行編譯,仿真的時(shí)候在library中添加modelsim_work庫,在sdf選項中可以添加quartus生成的延遲信息文件.sdo,注意作用域的選擇,如果testbench中調用被測試模塊的語(yǔ)句是send3a tb,那么作用域應該寫(xiě)tb,在option選擇中可以選擇是否看代碼覆蓋率。另外,還可以將布線(xiàn)后的仿真結果與功能仿真的結果進(jìn)行對比。下圖就是小型Soc中send3a模塊前后仿真的對比圖

通過(guò)EDA設計工具了解FPGA的設計流程.jpg

從圖中可以看出,除了有一定的延遲外,輸出波形不變。

5)將quartus的波形轉化成testbench的方法:

畫(huà)好波形后,通過(guò)file->export可以將波形輸出到quatus的工作目錄,verilog語(yǔ)言擴展名為.vt,修改為.v后可以在modelsim中使用,需要說(shuō)明的是如果波形中包括輸出端口的話(huà),輸出的testbench包含三個(gè)模塊,一般情況下,只需將輸入波形畫(huà)好后,輸出到testbench就可以。

實(shí)際上,我們可以看出,整個(gè)過(guò)程實(shí)際就是: 代碼編寫(xiě)--->功能仿真---->綜合---->布局,布線(xiàn)---->門(mén)級仿真----->下載------>板子調試這樣一看,原來(lái)HDL設計流程其實(shí)也很明了和簡(jiǎn)單..不是嗎??



關(guān)鍵詞: EDA FPGA

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>