色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 淺析FPGA設(shè)計流程及布線資源

          淺析FPGA設(shè)計流程及布線資源

          作者: 時間:2013-04-26 來源:網(wǎng)絡(luò) 收藏
          1、電路設(shè)計與輸入

            電路設(shè)計與輸入是指通過某些規(guī)范的描述方式,將工程師電路構(gòu)思輸入給EDA工具。常用的設(shè)計方法有硬件描述語言(HDL)和原理圖設(shè)計輸入方法等。原理圖設(shè)計輸入法在早期應(yīng)用得比較廣泛,它根據(jù)設(shè)計要求,選用器件、繪制原理圖、完成輸入過程。這種方法的有點是直觀、便于理解、元器件庫資源豐富。但是在大型設(shè)計中,這種方法的可維護性較差,不利于模塊構(gòu)造與重用。更主要的缺點就是當(dāng)所選用芯片升級換代后,所有的原理圖都要做相應(yīng)的改動。目前進行大型工程設(shè)計時,最常用的設(shè)計方法是HDL設(shè)計輸入法,其中影響最為廣泛的HDL語言是VHDL和Verilog HDL.他們的共同特點是利用由頂向下設(shè)計,利于模塊的劃分與復(fù)用,可移植性好,通用性好,設(shè)計不因芯片的工藝與結(jié)構(gòu)不同而變化,更利于向ASIC的移植。波形輸入和狀態(tài)機輸入方法是兩種常用的輔助設(shè)計輸入方法:使用波形輸入時,志耘愛繪制出激勵波形與輸出波形,EDA軟件就能自動地根據(jù)響應(yīng)關(guān)系進行設(shè)計;使用狀態(tài)機輸入法時,設(shè)計者只需要畫出狀態(tài)轉(zhuǎn)移圖,EDA軟件就能生成相應(yīng)的HDL代碼或原理圖,使用十分方便。但是需要指出的是,波形輸入和狀態(tài)機輸入方法只能在某些特殊情況下緩解設(shè)計者的工作量,并不適合所有的設(shè)計。

            2、功能仿真

            電路設(shè)計完成以后,要用專用的仿真工具對設(shè)計進行功能仿真,驗證電路功能是否符合設(shè)計要求。功能仿真有時也稱為前仿真。通過仿真能及時發(fā)現(xiàn)設(shè)計中的錯誤,加快設(shè)計進度,提高設(shè)計的可靠性。

            3、綜合優(yōu)化

            綜合優(yōu)化(Synthesize)是指將HDL語言、原理圖等設(shè)計輸入翻譯成由與、或、非門,RAM,觸發(fā)器等基本邏輯單元組成的邏輯連接(網(wǎng)表),并根據(jù)目標(biāo)與要求(約束條件)優(yōu)化所生成的邏輯連接,輸出edf和edn等標(biāo)準(zhǔn)格式的網(wǎng)表文件,供/CPLD廠家的布局布線器進行實現(xiàn)。

            4、綜合后仿真

            綜合完成后需要檢查綜合結(jié)果是否與設(shè)計一致,做綜合后仿真。在仿真時,把綜合生成的標(biāo)準(zhǔn)延時文件反標(biāo)志到綜合仿真模型中去,可估計門延時帶來的影響。綜合后仿真雖然比功能仿真精確一些,但是只能估計門延時,不能估計線延時,仿真結(jié)果與布線后的實際情況還有一定的差距,并不十分準(zhǔn)確。這種仿真的主要目的在于檢查綜合器的綜合結(jié)果是否與設(shè)計輸入一致。目前主流綜合工具日益成熟,對于一般性的設(shè)計,如果設(shè)計者確信自己標(biāo)注明確,沒有綜合歧義發(fā)生,則可省略該步驟。但是如果在布局布線后仿真時發(fā)現(xiàn)有電路結(jié)構(gòu)與設(shè)計意圖不符的現(xiàn)象,則常常需要回溯到綜合后仿真以確認(rèn)是否時由于綜合歧義造成的問題。

            5、實現(xiàn)與布局布線

            綜合結(jié)果的本質(zhì)是一些由與、或、非門,觸發(fā)器,RAM等基本邏輯單元組成的邏輯網(wǎng)表,它與芯片的實際的配置情況還有較大的差距。此時應(yīng)該使用 /CPLD廠商提供的軟件工具,根據(jù)所選芯片的型號將綜合輸出的網(wǎng)表適配到具體/CPLD器件上,這個過程就叫做實現(xiàn)過程。因為只有器件的開發(fā)商最了解器件的內(nèi)部結(jié)構(gòu),所以實現(xiàn)步驟必須選用器件開發(fā)商提供的工具。在實現(xiàn)過程中最主要的過程是布局布線(PAR)。所謂布局(Place),就是指將邏輯網(wǎng)表中的硬件原語或者底層單元合理地適配到FPGA內(nèi)部的固有硬件結(jié)構(gòu)上,布局的優(yōu)劣對設(shè)計的最終結(jié)果(在速度和面積兩個方面)影響很大。所謂布線(Route),是指根據(jù)布局的拓?fù)浣Y(jié)構(gòu),利用FPGA內(nèi)部的各種連線資源,合理正確連接各個元件的過程。FPGA的結(jié)構(gòu)相對復(fù)雜,為了獲得更好的實現(xiàn)結(jié)果,特別是保證能夠滿足設(shè)計的時序條件,一般采用時序驅(qū)動的引擎進行布局布線,所以對于不同的設(shè)計輸入,特別是不同的時序約束,獲得的布局布線結(jié)果一般有較大的差異。CPLD結(jié)構(gòu)相對簡單得多,其資源有限而且一般為交叉連接矩陣,故CPLD的布局布線過程相對簡單明朗的多,一般稱為適配過程。一般情況下,用戶可以通過設(shè)置參數(shù)指定布局布線的優(yōu)化準(zhǔn)則,總的來說優(yōu)化目標(biāo)主要有兩個方面,面積和速度。一般根據(jù)設(shè)計的主要矛盾,選擇面積或者速度或者是兩者平衡等優(yōu)化目標(biāo),但是當(dāng)兩者沖突時,一般滿足時序約束要求更重要一些,此時選擇速度或時序優(yōu)化目標(biāo)更佳。

            6、時序仿真與驗證

            將布局布線的延時信息反標(biāo)注到設(shè)計網(wǎng)表中,所進行的仿真就叫時序仿真或布局布線后仿真,也叫后仿真。該仿真的仿真延時文件包含的延時信息最全,不僅包含了門延時,還包含了實際布線延時,所以布局布線后仿真最準(zhǔn)確,能夠較好的反映芯片的實際工作情況。一般來說,布線后仿真步驟必須進行,通過布局布線后仿真能檢查設(shè)計時序與FPGA實際運行情況是否一致,確保設(shè)計的可靠性和穩(wěn)定性。

            ——功能仿真主要目的在于驗證語言設(shè)計的電路結(jié)構(gòu)和功能是否和設(shè)計意圖相符。

            ——綜合后仿真主要目的在于驗證綜合后電路結(jié)構(gòu)是否與設(shè)計意圖相符,是否存在歧義綜合結(jié)果。

            ——布局布線后仿真主要目的是驗證是否存在時序違規(guī)。

            7、板級仿真與驗證

            有些高速設(shè)計情況下還需要使用第三方的板級驗證工具進行仿真與驗證。這些工具通過對設(shè)計的IBIS、HSPICE等模型的仿真,能較好地分析高速設(shè)計的信號完整性、電磁干擾等電路特性。

            8、調(diào)試與加載配置

            設(shè)計開發(fā)的最后步驟就是在線調(diào)試或者將生成的配置文件寫入芯片中進行測試。示波器和邏輯分析儀是邏輯設(shè)計的主要調(diào)試工具。傳統(tǒng)的邏輯功能板級驗證手段是用邏輯分析儀分析信號,設(shè)計時要求FPGA和PCB設(shè)計人員保留一定數(shù)量FPGA管腳作為測試管腳,編寫FPGA代碼時將需要觀測的信號作為模塊的輸出信號,在綜合實現(xiàn)時在把這些輸出信號鎖定到測試管腳上,然后連接邏輯分析儀的探頭到這些測試管腳,設(shè)定觸發(fā)條件,進行觀測。

            任何仿真或驗證步驟出現(xiàn)問題,就需要根據(jù)錯誤定位返回到相應(yīng)的步驟更改或者重新設(shè)計邏輯設(shè)計的主要調(diào)試工具。傳統(tǒng)的邏輯功能板級驗證手段是用邏輯分析儀分析信號,設(shè)計時要求FPGA和PCB設(shè)計人員保留一定數(shù)量FPGA管腳作為測試管腳,編寫FPGA代碼時將需要觀測的信號作為模塊的輸出信號,在綜合實現(xiàn)時在把這些輸出信號鎖定到測試管腳上,然后連接邏輯分析儀的探頭到這些測試管腳,設(shè)定觸發(fā)條件,進行觀測。

            任何仿真或驗證步驟出現(xiàn)問題,就需要根據(jù)錯誤定位返回到相應(yīng)的步驟更改或者重新設(shè)計。

            FPGA中豐富的

            連通FPGA內(nèi)部的所有單元,而連線的長度和工藝決定著信號在連線上的驅(qū)動能力和傳輸速度。FPGA芯片內(nèi)部有著豐富的布線資源,根據(jù)工藝、長度、寬度和分布位置的不同而劃分為4類不同的類別。

            第一類是全局布線資源,用于芯片內(nèi)部全局時鐘和全局復(fù)位/置位的布線;

            第二類是長線資源,用以完成芯片Bank間的高速信號和第二全局時鐘信號的布線;

            第三類是短線資源,用于完成基本邏輯單元之間的邏輯互連和布線;

            第四類是分布式的布線資源,用于專有時鐘、復(fù)位等控制信號線。

            在實際中設(shè)計者不需要直接選擇布線資源,布局布線器可自動地根據(jù)輸入邏輯網(wǎng)表的拓?fù)浣Y(jié)構(gòu)和約束條件選擇布線資源來連通各個模塊單元。從本質(zhì)上講,布線資源的使用方法和設(shè)計的結(jié)果有密切、直接的關(guān)系。



          關(guān)鍵詞: FPGA 設(shè)計流程 布線資源

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉