日本电影一区二区_日本va欧美va精品发布_日本黄h兄妹h动漫一区二区三区_日本欧美黄色

FPGA基本開發(fā)設計流程,九個步驟搞定(fpga開發(fā)設計的一般流程)

FPGA的設計流程就是利用EDA開發(fā)軟件和編程工具對FPGA芯片進行開發(fā)的過程。FPGA的開發(fā)流程一般如圖1-10所示,包括電路功能設計、設計輸入、功能仿真、綜合優(yōu)化、綜合后仿真、實現(xiàn)、布線后仿真、板級仿真以及芯片編程與調試等主要步驟。

FPGA基本開發(fā)設計流程,九個步驟搞定(fpga開發(fā)設計的一般流程)

圖1-10 FPGA開發(fā)的一般流程

1.電路功能設計

在系統(tǒng)設計之前,首先要進行的是方案論證、系統(tǒng)設計和FPGA芯片選擇等準備工作。系統(tǒng)工程師根據(jù)任務要求,如系統(tǒng)的指標和復雜度,對工作速度和芯片本身的各種資源、成本等方面進行權衡,選擇合理的設計方案和合適的器件類型。一般都采用自頂向下的設計方法,把系統(tǒng)分成若干個基本單元,然后再把每個基本單元劃分為下一層次的基本單元,一直這樣做下去,直到可以直接使用EDA元件庫為止。

2.設計輸入

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

3.功能仿真

功能仿真,也稱為前仿真,是在編譯之前對用戶所設計的電路進行邏輯功能驗證,此時的仿真沒有延遲信息,僅對初步的功能進行檢測。仿真前,要先利用波形編輯器和HDL等建立波形文件和測試向量(即將所關心的輸入信號組合成序列),仿真結果將會生成報告文件并輸出信號波形,從中便可以觀察各個節(jié)點信號的變化。如果發(fā)現(xiàn)錯誤,則返回修改邏輯設計。常用的工具有Model Tech公司ModelSim、Sysnopsys公司的VCS和Cadence公司的NC-Verilog及NC-VHDL等軟件。功能仿真雖然不是FPGA開發(fā)過程中的必需步驟,但卻是系統(tǒng)設計中最關鍵的一步。

4.綜合

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

5.綜合后仿真

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

6.實現(xiàn)與布局布線

實現(xiàn)是將綜合生成的邏輯網(wǎng)表配置到具體的FPGA芯片上,布局布線是其中最重要的過程。布局是指將邏輯網(wǎng)表中的硬件原語和底層單元合理地配置到芯片內(nèi)部的固有硬件結構上,這往往需要在速度最優(yōu)和面積最優(yōu)之間進行選擇。布線是指根據(jù)布局的拓撲結構,利用芯片內(nèi)部的各種連線資源,合理正確地連接各個元件。目前,F(xiàn)PGA的結構非常復雜,特別是在有時序約束條件時,需要利用時序驅動的引擎進行布局布線。布線結束后,軟件工具會自動生成報告,提供有關設計中各部分資源的使用情況。由于只有FPGA芯片生產(chǎn)商對芯片結構最為了解,所以布局布線必須采用芯片開發(fā)商提供的工具。

7.時序仿真與驗證

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

8.板級仿真與驗證

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

9.芯片編程與調試

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

相關新聞

聯(lián)系我們
聯(lián)系我們
公眾號
公眾號
在線咨詢
分享本頁
返回頂部
大埔区| 监利县| 桂阳县| 永安市| 林甸县| 红河县| 长岭县| 泰来县| 赞皇县| 会泽县| 葵青区| 南通市| 高台县| 成都市| 莎车县| 花垣县| 白玉县| 缙云县| 光泽县| 南江县| 贺州市| 南宁市| 恩平市| 太保市| 城固县| 洱源县| 永济市| 弋阳县| 新巴尔虎右旗| 拜城县| 泸溪县| 石门县| 电白县| 孝感市| 建阳市| 济宁市| 玉溪市| 满城县| 清镇市| 太和县| 胶州市|