|
例說FPGA連載8:FPGA開發(fā)流程 特權(quán)同學(xué),版權(quán)所有 配套例程和更多資料下載鏈接: http://pan.baidu.com/s/1c0nf6Qc
如圖1.9所示。這個流程圖是一個相對比較高等級的FPGA開發(fā)流程,從項(xiàng)目的提上議程開始,設(shè)計者需要進(jìn)行FPGA功能的需求分析,然后進(jìn)行模塊的劃分,比較復(fù)雜和龐大的設(shè)計,則會通過模塊劃分把工作交給一個團(tuán)隊(duì)的多人協(xié)作完成。各個模塊的具體任務(wù)和功能劃分完畢(通常各個模塊間的通信和接口方式也同時被確定),則可以著手進(jìn)行詳細(xì)設(shè)計,包括代碼輸入、綜合優(yōu)化、實(shí)現(xiàn)(映射和布局布線)。為了保證設(shè)計達(dá)到預(yù)期要求,各種設(shè)計的約束輸入以及仿真驗(yàn)證也穿插其間。在EDA工具上驗(yàn)證無誤后,則可以生成下載配置文件燒錄到實(shí)際器件中進(jìn)行板級的調(diào)試工作。從圖中的箭頭示意不難看出,設(shè)計的迭代性是FPGA開發(fā)過程中的一個重要特點(diǎn),這就要求設(shè)計者從一開始就要非常認(rèn)真細(xì)致,否則后續(xù)的很多工作量可能就是不斷的返工。
圖1.9 FPGA開發(fā)流程 當(dāng)然了,對于沒有實(shí)際工程經(jīng)驗(yàn)的初學(xué)者而言,這個流程圖可能不是那么容易理解。不過沒有關(guān)系,我們會簡化這個過程,從實(shí)際操作角度,以一個比較簡化的順序的方式來理解這個流程。如圖1.10所示,從大的方面來看,F(xiàn)PGA開發(fā)流程不過是三個階段,第一個階段是概念階段,或者也可以稱之為架構(gòu)階段,這個階段的任務(wù)是項(xiàng)目前期的立項(xiàng)準(zhǔn)備,如需求的定義和分析、各個設(shè)計模塊的劃分;第二個階段是設(shè)計實(shí)現(xiàn)階段,這個階段包括編寫RTL代碼、并對其進(jìn)行初步的功能驗(yàn)證、邏輯綜合和布局布線、時序驗(yàn)證,這一階段是詳細(xì)設(shè)計階段;第三個階段是FPGA器件實(shí)現(xiàn),除了器件燒錄和板級調(diào)試外,其實(shí)這個階段也應(yīng)該包括第二個階段的布局布線和時序驗(yàn)證,因?yàn)檫@兩個步驟都是和FPGA器件緊密相關(guān)的。我們這么粗略的三個階段劃分并沒有把FPGA整個設(shè)計流程完全的孤立開來,恰恰相反,從我們的階段劃分中,我們也看到FPGA設(shè)計的各個環(huán)節(jié)是緊密銜接、相互影響的。
圖1.10 簡化的FPGA開發(fā)流程 |