<ruby id="66w77"><video id="66w77"></video></ruby>
<ruby id="66w77"><option id="66w77"><thead id="66w77"></thead></option></ruby>
  • <ruby id="66w77"><table id="66w77"></table></ruby>

  • <ruby id="66w77"><table id="66w77"></table></ruby>
    <strong id="66w77"></strong>

    闡述fpga開(kāi)發(fā)的基本流程

    2019-02-26 10:18:58分類(lèi):硬件開(kāi)發(fā)6002

      FPGA的設計流程就是利用EDA開(kāi)發(fā)軟件和編程工具對FPGA芯片進(jìn)行開(kāi)發(fā)的過(guò)程。典型FPGA的開(kāi)發(fā)流程一般如圖1所示,包括功能定義/器件選型、設計輸入、功能仿真、綜合優(yōu)化、綜合后仿真、實(shí)現、布線(xiàn)后仿真、板級仿真以及芯片編程與調試等主要步驟。
     

    fpga開(kāi)發(fā)
     

      1、功能定義/器件選型

      在FPGA設計項目開(kāi)始之前,必須有系統功能的定義和模塊的劃分,另外就是要根據任務(wù)要求,如系統的功能和復雜度,對工作速度和器件本身的資源、成本、以及連線(xiàn)的可布性等方面進(jìn)行權衡,選擇合適的設計方案和合適的器件類(lèi)型。 一般都采用自頂向下的設計方法,把系統分成若干個(gè)基本單元,然后再把每個(gè)基本單元劃分為下一層次的基本單元,一直這樣做下去,直到可以直接使用EDA元件庫為止。

      2、設計輸入

      設計輸入是將所設計的系統或電路以開(kāi)發(fā)軟件要求的某種形式表示出來(lái),并輸入給EDA工具的過(guò)程。常用的方法有硬件描述語(yǔ)言(HDL)和原理圖輸入方法等。原理圖輸入方式是一種最直接的描述方式,在可編程芯片發(fā)展的早期應用比較廣泛,它將所需的器件從元件庫中調出來(lái),畫(huà)出原理圖。這種方法雖然直觀(guān)并易于仿真,但效率很低,且不易維護,不利于模塊構造和重用。更主要的缺點(diǎn)是可移植性差,當芯片升級后,所有的原理圖都需要作一定的改動(dòng)。目前,在實(shí)際開(kāi)發(fā)中應用最廣的就是HDL語(yǔ)言輸入法,利用文本描述設計,可以分為普通HDL和行為HDL。普通HDL有ABEL、CUR等,支持邏輯方程、真值表和狀態(tài)機等表達方式,主要用于簡(jiǎn)單的小型設計。而在中大型工程中,主要使用行為HDL,其主流語(yǔ)言是Verilog HDL和VHDL。這兩種語(yǔ)言都是美國電氣與電子工程師協(xié)會(huì )(IEEE)的標準,其共同的突出特點(diǎn)有:語(yǔ)言與芯片工藝無(wú)關(guān),利于自頂向下設計,便于模塊的劃分與移植,可移植性好,具有很強的邏輯描述和仿真功能,而且輸入效率很高。 除了這IEEE標準語(yǔ)言外,還有廠(chǎng)商自己的語(yǔ)言。也可以用HDL為主,原理圖為輔的混合設計方式,以發(fā)揮兩者的各自特色。

      3、功能仿真

      功能仿真也稱(chēng)為前仿真是在編譯之前對用戶(hù)所設計的電路進(jìn)行邏輯功能驗證,此時(shí)的仿真沒(méi)有延遲信息,僅對初步的功能進(jìn)行檢測。仿真前,要先利用波形編輯器和HDL等建立波形文件和測試向量(即將所關(guān)心的輸入信號組合成序列),仿真結果將會(huì )生成報告文件和輸出信號波形,從中便可以觀(guān)察各個(gè)節點(diǎn)信號的變化。如果發(fā)現錯誤,則返回設計修改邏輯設計。常用的工具有Model Tech公司的ModelSim、Sysnopsys公司的VCS和Cadence公司的NC-Verilog以及NC-VHDL等軟件。

      4、綜合優(yōu)化

      所謂綜合就是將較高級抽象層次的描述轉化成較低層次的描述。綜合優(yōu)化根據目標與要求優(yōu)化所生成的邏輯連接,使層次設計平面化,供FPGA布局布線(xiàn)軟件進(jìn)行實(shí)現。就目前的層次來(lái)看,綜合優(yōu)化(Synthesis)是指將設計輸入編譯成由與門(mén)、或門(mén)、非門(mén)、RAM、觸發(fā)器等基本邏輯單元組成的邏輯連接網(wǎng)表,而并非真實(shí)的門(mén)級電路。真實(shí)具體的門(mén)級電路需要利用FPGA制造商的布局布線(xiàn)功能,根據綜合后生成的標準門(mén)級結構網(wǎng)表來(lái)產(chǎn)生。為了能轉換成標準的門(mén)級結構網(wǎng)表,HDL程序的編寫(xiě)必須符合特定綜合器所要求的風(fēng)格。由于門(mén)級結構、RTL級的HDL程序的綜合是很成熟的技術(shù),所有的綜合器都可以支持到這一級別的綜合。常用的綜合工具有Synplicity公司的Synplify/Synplify Pro軟件以及各個(gè)FPGA廠(chǎng)家自己推出的綜合開(kāi)發(fā)工具。

      5、綜合后仿真

      綜合后仿真檢查綜合結果是否和原設計一致。在仿真時(shí),把綜合生成的標準延時(shí)文件反標注到綜合仿真模型中去,可估計門(mén)延時(shí)帶來(lái)的影響。但這一步驟不能估計線(xiàn)延時(shí),因此和布線(xiàn)后的實(shí)際情況還有一定的差距,并不十分準確。目前的綜合工具較為成熟,對于一般的設計可以省略這一步,但如果在布局布線(xiàn)后發(fā)現電路結構和設計意圖不符,則需要回溯到綜合后仿真來(lái)確認問(wèn)題之所在。在功能仿真中介紹的軟件工具一般都支持綜合后仿真。

      6、實(shí)現與布局布線(xiàn)

      布局布線(xiàn)可理解為利用實(shí)現工具把邏輯映射到目標器件結構的資源中,決定邏輯的最佳布局,選擇邏輯與輸入輸出功能鏈接的布線(xiàn)通道進(jìn)行連線(xiàn),并產(chǎn)生相應文件(如配置文件與相關(guān)報告),實(shí)現是將綜合生成的邏輯網(wǎng)表配置到具體的FPGA芯片上,布局布線(xiàn)是其中最重要的過(guò)程。布局將邏輯網(wǎng)表中的硬件原語(yǔ)和底層單元合理地配置到芯片內部的固有硬件結構上,并且往往需要在速度最優(yōu)和面積最優(yōu)之間作出選擇。布線(xiàn)根據布局的拓撲結構,利用芯片內部的各種連線(xiàn)資源,合理正確地連接各個(gè)元件。目前,FPGA的結構非常復雜,特別是在有時(shí)序約束條件時(shí),需要利用時(shí)序驅動(dòng)的引擎進(jìn)行布局布線(xiàn)。布線(xiàn)結束后,軟件工具會(huì )自動(dòng)生成報告,提供有關(guān)設計中各部分資源的使用情況。由于只有FPGA芯片生產(chǎn)商對芯片結構最為了解,所以布局布線(xiàn)必須選擇芯片開(kāi)發(fā)商提供的工具。

      7、時(shí)序仿真

      時(shí)序仿真,也稱(chēng)為后仿真,是指將布局布線(xiàn)的延時(shí)信息反標注到設計網(wǎng)表中來(lái)檢測有無(wú)時(shí)序違規(即不滿(mǎn)足時(shí)序約束條件或器件固有的時(shí)序規則,如建立時(shí)間、保持時(shí)間等)現象。時(shí)序仿真包含的延遲信息最全,也最精確,能較好地反映芯片的實(shí)際工作情況。由于不同芯片的內部延時(shí)不一樣,不同的布局布線(xiàn)方案也給延時(shí)帶來(lái)不同的影響。因此在布局布線(xiàn)后,通過(guò)對系統和各個(gè)模塊進(jìn)行時(shí)序仿真,分析其時(shí)序關(guān)系,估計系統性能,以及檢查和消除競爭冒險是非常有必要的。在功能仿真中介紹的軟件工具一般都支持綜合后仿真。

      8、板級仿真與驗證

      板級仿真主要應用于高速電路設計中,對高速系統的信號完整性、電磁干擾等特征進(jìn)行分析,一般都以第三方工具進(jìn)行仿真和驗證。

      9、芯片編程與調試

      設計的最后一步就是芯片編程與調試。芯片編程是指產(chǎn)生使用的數據文件(位數據流文件,Bitstream Generation),然后將編程數據下載到FPGA芯片中。其中,芯片編程需要滿(mǎn)足一定的條件,如編程電壓、編程時(shí)序和編程算法等方面。邏輯分析儀(Logic Analyzer,LA)是FPGA設計的主要調試工具,但需要引出大量的測試管腳,且LA價(jià)格昂貴。目前,主流的FPGA芯片生產(chǎn)商都提供了內嵌的在線(xiàn)邏輯分析儀(如Xilinx ISE中的ChipScope、Altera QuartusII中的SignalTapII以及SignalProb)來(lái)解決上述矛盾,它們只需要占用芯片少量的邏輯資源,具有很高的實(shí)用價(jià)值。

    上一篇:下一篇:
    92视频在线精品国自产拍_乱色熟女综合一区二区_国产精品毛片久久久久久久_久天啪天天久久99久孕妇
    <ruby id="66w77"><video id="66w77"></video></ruby>
    <ruby id="66w77"><option id="66w77"><thead id="66w77"></thead></option></ruby>
  • <ruby id="66w77"><table id="66w77"></table></ruby>

  • <ruby id="66w77"><table id="66w77"></table></ruby>
    <strong id="66w77"></strong>