FPGA開發流程
原理圖和HDL(Hardware DescriptiIon Language,硬件描述語言)是兩種最常用的數字硬件電路描述方法,其中HDL設計法具有更好的可移植性、通用性和模塊劃分與重用性的特點,在目前的工程設計中被廣泛使用,下面對FPGA設計熟悉電路時的開發流程是基于HDL的。
1.系統功能設計
在系統設計之前,首先要進行的是方案論證、系統設計和FPGA芯片選擇等準備工作。系統工程師根據任務要求,如系統的指標和復雜度,對工作速度和芯片本身的各種資源、成本等方面進行權衡,選擇合理的設計方案和合適的器件類型。一般都采用自頂向下的設計方法,把系統分成若干個基本單元,然后再把每個基本單元劃分為下一層次的基本單元,一直這樣做下去,直到可以直接使用EDA元件庫為止。
2.RTL級HDL設計
RTL級(RegisterTransferLevel,寄存器傳輸級)指不關注寄存器和組合邏輯的細節(如使用了多少個邏輯門、邏輯門的連接拓撲結構等),通過描述數據在寄存器之間的流動和如何處理、控制這些數據流動的模型的HDL設計方法。RTL級比門級更抽象,同時也更簡單和高效。RTL級的最大特點是可以直接用綜合工具將其綜合成為門級網表,其中RTL級設計直接決定著系統的功能和效率。
3.RTL級仿真
也稱為功能(行為)仿真,或是綜合前仿真,是在編譯之前對用戶所設計的電路進行邏輯功能驗證,此時的仿真沒有延遲信息,僅對初步的功能進行檢測。仿真前,要先利用波形編輯器和HDL等建立波形文件和測試向量(即將所關心的輸入信號組合成序列),仿真結果將會生成報告文件和輸出信號波形,從中便可以觀察各個節點信號的變化。如果發現錯誤,則返回設計修改邏輯設計。
常用的工具有ModelTech公司的ModelSim、Sysnopsys公司的VCS和Cadence公司的NC-Verilog以及NC-VHDL等軟件。雖然功能仿真不是FPGA開發過程中的必需步驟,但卻是系統設計中最關鍵的一步。
為了提高功能仿真的效率,需要建立測試平臺testbench,其測試激勵一般使用行為級HDL語言描述,其中RTL級模塊是可綜合的,它是行為級模塊的一個子集合。
4.綜合
所謂綜合就是將較高級抽象層次的描述轉化成較低層次的描述。綜合優化根據目標與要求優化所生成的邏輯連接,使層次設計 平面化,供FPGA布局布線軟件進行實現。就目前的層次來看,綜合優化(Synthesis)是指將設計輸入編譯成由與門、或門、非門、RAM、觸發器等基本邏輯單元組成的邏輯連接網表,而并非真實的門級電路。
真實具體的門級電路需要利用FPGA制造商的布局布線功能,根據綜合后生成的標準門級結構網表來產生。為了能轉換成標準的門級結構網表,HDL程序的編寫必須符合特定綜合器所要求的風格。由于門級結構、RTL級的HDL程序的綜合是很成熟的技術,所有的綜合器都可以支持到這一級別的綜合。常用的綜合工具有Synplicity公司的Synplify/SynplifyPro軟件以及各個FPGA廠家自己推出的綜合開發工具。
5.門級仿真
也稱為綜合后仿真,綜合后仿真檢查綜合結果是否和原設計一致。在仿真時,把綜合生成的標準延時文件反標注到綜合仿真模型中去,可估計門延時帶來的影響。 但這一步驟不能估計線延時,因此和布線后的實際情況還有一定的差距,并不十分準確。
目前的綜合工具較為成熟,對于一般的設計可以省略這一步,但如果在布局布線后發現電路結構和設計意圖不符,則需要回溯到綜合后仿真來確認問題之所在。在功能仿真中介紹的軟件工具一般都支持綜合后仿真。
6.布局布線
實現是將綜合生成的邏輯網表配置到具體的FPGA芯片上,將工程的邏輯和時序與器件的可用資源匹配。布局布線是其中最重要的過程,布局將邏輯網表中的硬件原語和底層單元合理地配置到芯片內部的固有硬件結構上,并且往往需要在速度最優和面積最優之間作出選擇。
布線根據布局的拓撲結構,利用芯片內部的各種連線資源,合理正確地連接各個元件。也可以簡單地將布局布線理解為對FPGA內部查找表和寄存器資源的合理配置,布局可以被理解挑選可實現設計網表的最優的資源組合,而布線就是將這些查找表和寄存器資源以最優方式連接起來。
目前,FPGA的結構非常復雜,特別是在有時序約束條件時,需要利用時序驅動的引擎進行布局布線。布線結束后,軟件工具會自動生成報告,提供有關設計中各部分資源的使用情況。由于只有FPGA芯片生產商對芯片結構最為了解,所以布局布線必須選擇芯片開發商提供的工具。
7.時序仿真
是指將布局布線的延時信息反標注到設計網表中來檢測有無時序違規(即不滿足時序約束條件或器件固有的時序規則,如建立時間、保持時間等)現象。時序仿真 包含的延遲信息最全,也最精確,能較好地反映芯片的實際工作情況。
由于不同芯片的內部延時不一樣,不同的布局布線方案也給延時帶來不同的影響。因此在布局布線后,通過對系統和各個模塊進行時序仿真,分析其時序關系,估計系統性能,以及檢查和消除競爭冒險是非常有必要的。
8.FPGA板級調試
通過編程器將布局布線后的配置文件下載至FPGA中,對其硬件進行編程。配置文件一般為.pof或.sof文件格式,下載的方式包括AS(主動)、PS(被動)、JTAG(邊界掃描)等方式。
邏輯分析儀(LogicAnalyzer,LA)是FPGA設計的主要調試工具,但需要引出大量的測試管腳,且LA價格昂貴。目前,主流的FPGA芯片生產商都提供了內嵌的在線邏輯分析儀(如XilinxISE中的ChipScope、AlteraQuartusII中的SignalTapII以及SignalProb)來解決上述矛盾,它們只需要占用芯片少量的邏輯資源,具有很高的實用價值。
FPGA為什么這么難?
雖然有“萬能芯片”的美譽,但是FPGA在全球范圍內市場規模還非常有限,遠不及CPU及GPU市場規模。造成這一種現象的原因,最主要是FPGA行業門檻非常高。
根據Gartner數據顯示,2015年至2020年全球FPGA市場的年復合增長率為9%,到2020年全球FPGA 市場規模將達84億美金。在這樣的市場環境下,企業想要生存下去困難程度可想而知,特別是起步較晚的國內企業。
如果回看其發展歷程,自1984年Xilinx創造出FPGA之后,先后有上百家行業巨頭都殺入這一領域,而最終的結果確實絕大部分企業都鎩羽而歸,例如Intel、Philips、Agere Systems、AMD以及摩托羅拉等國際知名的芯片設計廠商。能夠幸存下來的幾家企業就顯得彌足珍貴了。
而對于國內FPGA企業而言,在初期階段可能都或多或少借鑒了國外產品。但是想要將產品大規模推向市場,就必須面臨技術專利問題。實際上,國外企業已經壟斷了絕大部分專利技術。國內廠商想要進入,首先就必須自己自主開發芯片結構,避免專利侵權,這對于國內企業而言無疑是一個巨大挑戰。
除了芯片架構之外,在FPGA開發過程中所涉及到的仿真工具之前一直依賴進口,這對于國內企業而言無疑又是另一項非常大的挑戰,需要國內廠商在硬件及軟件兩方面持續不斷投入。目前,國內廠商在軟件方面,也在重點突破,并且已經取得了一些成績。
另外,正如前文所言,FPGA是一個門檻非常高的行業。在市場推廣過程中,原廠需要對客戶進行專業指導,這無形中也增加了其他品牌產品替換的難度。由此也導致了,FPGA產品更新換代頻率比較低,市場空間也難于像電腦、智能手機等出現大的飛躍。容-源-電-子-網-為你提供技術支持
本文地址:http://www.189yp.com/dz/22/15486810413124.shtml
本文標簽:
猜你感興趣:
什么是可編程晶振?可編程晶振多為有源晶振,由兩個芯片組成;一個是全硅MEMS諧振器,一個是具有溫補功能的芯片,可以啟動電路鎖相環CMOS。它采用標準化的半導體芯片MCM封裝。可以采用全自動標準半導體制造工藝
關鍵詞: 所屬欄目:電子基礎
在工業相機行業中,石英可編程晶振扮演著至關重要的角色。為了滿足不同應用需求,YXC引入了低抖動石英可編程晶振QMEMS振蕩器YSO690PR,為工業相機的穩定運行提供了理想解決方案。
關鍵詞: 所屬欄目:電子基礎
關鍵詞: 所屬欄目:元器件知識
關鍵詞: 所屬欄目:元器件知識
關鍵詞: 所屬欄目:元器件知識
關鍵詞: 所屬欄目:元器件知識
關鍵詞: 所屬欄目:元器件知識
關鍵詞: 所屬欄目:元器件知識
關鍵詞: 所屬欄目:元器件知識
關鍵詞: 所屬欄目:元器件知識
關鍵詞: 所屬欄目:元器件知識
關鍵詞: 所屬欄目:元器件知識
關鍵詞: 所屬欄目:元器件知識
關鍵詞: 所屬欄目:元器件知識
關鍵詞: 所屬欄目:元器件知識
關鍵詞: 所屬欄目:元器件知識
關鍵詞: 所屬欄目:元器件知識
關鍵詞: 所屬欄目:元器件知識
關鍵詞: 所屬欄目:元器件知識
關鍵詞: 所屬欄目:元器件知識