Xilinx Artix-7 FPGA快速入門(mén)、技巧與實(shí)例連載6——FPGA開(kāi)發(fā)流程![]() 鏈接:https://share.weiyun.com/53UnQas file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg 如圖1.32所示,這是一個(gè)基于FPGA開(kāi)發(fā)工具的開(kāi)發(fā)流程圖。當(dāng)然了,在此之前,從FPGA項(xiàng)目的提上議程開(kāi)始,設(shè)計(jì)者需要進(jìn)行FPGA功能的需求分析,然后進(jìn)行模塊的劃分,比較復(fù)雜和龐大的設(shè)計(jì),則會(huì)通過(guò)模塊劃分把工作交給一個(gè)團(tuán)隊(duì)的多人協(xié)作完成。各個(gè)模塊的具體任務(wù)和功能劃分完畢(通常各個(gè)模塊間的通信和接口方式也同時(shí)被確定),則可以著手進(jìn)行詳細(xì)設(shè)計(jì),其各個(gè)步驟包括設(shè)計(jì)輸入、設(shè)計(jì)綜合、約束輸入、設(shè)計(jì)實(shí)現(xiàn)、分析實(shí)現(xiàn)結(jié)果(查看工具給出的各種報(bào)告結(jié)果)。為了保證設(shè)計(jì)達(dá)到預(yù)期要求,設(shè)計(jì)仿真以及設(shè)計(jì)優(yōu)化則穿插其間。在EDA工具上驗(yàn)證無(wú)誤后,則可以生成下載配置文件燒錄到實(shí)際器件中進(jìn)行板級(jí)的調(diào)試工作。從圖中的箭頭示意不難看出,設(shè)計(jì)的迭代性是FPGA開(kāi)發(fā)過(guò)程中的一個(gè)重要特點(diǎn),這就要求設(shè)計(jì)者從一開(kāi)始就要非常認(rèn)真細(xì)致,否則后續(xù)的很多工作量可能就是不斷的返工。 file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image004.gif ![]() 基于Xilinx的Vivado開(kāi)發(fā)工具,我們對(duì)以上開(kāi)發(fā)流程所涉及的各個(gè)步驟做簡(jiǎn)要的說(shuō)明。 設(shè)計(jì)輸入 設(shè)計(jì)輸入階段,設(shè)計(jì)者需要?jiǎng)?chuàng)建FPGA工程,并且創(chuàng)建或添加設(shè)計(jì)源文件到工程中。FPGA工程包含了各種不同類(lèi)型的源文件和設(shè)計(jì)模塊,比如HDL文件、EDIF或NGC網(wǎng)表文件、原理圖、IP核模塊、嵌入式處理器以及數(shù)字信號(hào)處理器模塊等。 設(shè)計(jì)綜合 設(shè)計(jì)綜合階段,F(xiàn)PGA開(kāi)發(fā)工具的綜合引擎將編譯整個(gè)設(shè)計(jì),并將HDL源文件轉(zhuǎn)譯為特定結(jié)構(gòu)的設(shè)計(jì)網(wǎng)表。Vivado設(shè)計(jì)工具內(nèi)置Synthesis綜合功能,也支持第三方綜合工具,如Synplify, SynplifyPro和Precision等軟件工具的使用。 約束輸入 約束輸入階段,設(shè)計(jì)者可以指定時(shí)序、布局布線或者其它的設(shè)計(jì)要求。Vivado工具支持專(zhuān)用的編輯器實(shí)現(xiàn)時(shí)序約束、I/O引腳約束和布局布線約束。 設(shè)計(jì)仿真 在整個(gè)開(kāi)發(fā)過(guò)程的任意時(shí)刻,設(shè)計(jì)者都可以使用仿真工具對(duì)FPGA工程進(jìn)行功能驗(yàn)證,比如Vivado內(nèi)置的仿真器或者第三方工具ModelSim仿真器。 設(shè)計(jì)實(shí)現(xiàn) 設(shè)計(jì)綜合之后,接著就需要設(shè)計(jì)實(shí)現(xiàn),將邏輯設(shè)計(jì)進(jìn)一步轉(zhuǎn)譯為可以被下載燒錄到目標(biāo)FPGA器件中的特定物理文件格式。使用Vivado的工程導(dǎo)航窗口中支持的目標(biāo)和策略設(shè)置屬性,可以控制設(shè)計(jì)實(shí)現(xiàn)以及結(jié)果優(yōu)化。為了更快的達(dá)到設(shè)計(jì)目標(biāo),可以使用SmartXplorer進(jìn)行不同的處理策略實(shí)現(xiàn),達(dá)到多次的自動(dòng)實(shí)現(xiàn)處理以完成設(shè)計(jì)目標(biāo)。 分析實(shí)現(xiàn)結(jié)果 完成設(shè)計(jì)實(shí)現(xiàn)后,必須對(duì)設(shè)計(jì)約束、器件資源占用率、實(shí)現(xiàn)結(jié)果以及功耗等設(shè)計(jì)性能進(jìn)行分析。既可以查看靜態(tài)報(bào)告,也可以使用Vivado中內(nèi)置的工具動(dòng)態(tài)的查看設(shè)計(jì)綜合實(shí)現(xiàn)的結(jié)果。對(duì)于時(shí)序結(jié)果和功耗結(jié)果,Vivado內(nèi)置工具中都可以進(jìn)行查看。此外,在系統(tǒng)調(diào)試時(shí)也可以使用在線邏輯分析儀ILA。 設(shè)計(jì)優(yōu)化 基于對(duì)設(shè)計(jì)結(jié)果的分析,設(shè)計(jì)者可以對(duì)設(shè)計(jì)源文件、編譯屬性或設(shè)計(jì)約束進(jìn)行修改,然后重新綜合、實(shí)現(xiàn)以達(dá)到設(shè)計(jì)最優(yōu)化。 板級(jí)調(diào)試 在生成下載配置文件后,設(shè)計(jì)者便可以對(duì)FPGA器件進(jìn)行調(diào)試。在此過(guò)程中,既可以實(shí)現(xiàn)下載配置文件的快速在線燒錄進(jìn)行實(shí)時(shí)調(diào)試驗(yàn)證,也可以實(shí)現(xiàn)產(chǎn)品固化燒錄使其可以離線運(yùn)行。 當(dāng)然了,對(duì)于沒(méi)有實(shí)際工程經(jīng)驗(yàn)的初學(xué)者而言,這個(gè)流程圖可能不是那么容易理解。不過(guò)沒(méi)有關(guān)系,我們會(huì)簡(jiǎn)化這個(gè)過(guò)程,從實(shí)際操作角度,以一個(gè)比較簡(jiǎn)化的順序的方式來(lái)理解這個(gè)流程。如圖1.33所示,從大的方面來(lái)看,F(xiàn)PGA開(kāi)發(fā)流程不過(guò)是三個(gè)階段,第一個(gè)階段是概念階段,或者也可以稱(chēng)之為架構(gòu)階段,這個(gè)階段的任務(wù)是項(xiàng)目前期的立項(xiàng)準(zhǔn)備,如需求的定義和分析、各個(gè)設(shè)計(jì)模塊的劃分;第二個(gè)階段是設(shè)計(jì)實(shí)現(xiàn)階段,這個(gè)階段包括編寫(xiě)RTL代碼、并對(duì)其進(jìn)行初步的功能驗(yàn)證、邏輯綜合和布局布線、時(shí)序驗(yàn)證,這一階段是詳細(xì)設(shè)計(jì)階段;第三個(gè)階段是FPGA器件實(shí)現(xiàn),除了器件燒錄和板級(jí)調(diào)試外,其實(shí)這個(gè)階段也應(yīng)該包括第二個(gè)階段的布局布線和時(shí)序驗(yàn)證,因?yàn)檫@兩個(gè)步驟都是和FPGA器件緊密相關(guān)的。我們這么粗略的三個(gè)階段劃分并沒(méi)有把FPGA整個(gè)設(shè)計(jì)流程完全的孤立開(kāi)來(lái),恰恰相反,從我們的階段劃分中,我們也看到FPGA設(shè)計(jì)的各個(gè)環(huán)節(jié)是緊密銜接、相互影響的。 file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image006.jpg ![]() 更多資料共享 鏈接:https://share.weiyun.com/53UnQas |