??FPGA技術的發展歷史
縱觀數字集成電路的發展歷史,經歷了從電子管、晶體管、小規模集成電路到大規模以及超大規模集成電路等不同的階段。發展到現在,主要有3類電子器件:存儲器、處理器和邏輯器件。
存儲器保存隨機信息(電子數據表或數據庫的內容);處理器執行軟件指令,以便完成各種任務(運行數據處理程序或視頻游戲);而邏輯器件可以提供特殊功能(器件之間的通信和系統必須執行的其他所有功能)。
邏輯器件分成兩類:
① 固定的或定制的。
② 可編程的或可變的。
其中,固定的或定制的邏輯器件通常稱為專用芯片(ASIC)。ASIC是為了滿足特定的用途而設計的芯片,例如MP3解碼芯片等。其優點是通過固化的邏輯功能和大規模的工業化生產,降低了芯片的成本,同時提高了產品的可靠性。隨著集成度的提高,ASIC的物理尺寸也在不斷的縮小。
但是,ASIC設計的周期很長,而且投資大,風險高。一旦設計結束后,功能就固化了,以后的升級改版困難比較大。電子產品的市場正在逐漸細分,為了滿足快速產品開發,產生了現場可編程邏輯器件(FPGA)。
自1984年Xilinx公司推出了第一片現場可編程邏輯器件(FPGA)至今,FPGA已經歷了20幾年的快速發展歷程。特別是近幾年來,更是發展迅速。FPGA的邏輯規模已經從最初的1000個可用門發展到現在的1000萬個可用門。
FPGA技術之所以具有巨大的市場吸引力,其根本原因在于:FPGA不僅可以解決電子系統小型化、低功耗、高可靠性等問題,而且其開發周期短、投入少,芯片價格不斷下降。FPGA正在越來越多地取代傳統上ASIC,特別是在小批量、個性化的產品市場方面。
FPGA技術的發展動向
隨著芯片設計工藝水平的不斷提高,FPGA技術呈現出了以下4個主要的發展動向。
1.基于FPGA的嵌入式系統(SoPC)技術正在成熟
System on Chip(SoC)技術在芯片設計領域被越來越廣泛地采用,而SoPC技術是SoC技術在可編程器件領域的應用。這種技術的核心是在FPGA芯片內部構建處理器。Xilinx公司主要提供基于Power PC的硬核解決方案,而Altera提供的是基于NIOSII的軟核解決方案。
Altera公司為NIOSII軟核處理器提供了完整的軟硬件解決方案,可以讓客戶短時間完成SoPC系統的構建和調試工作。
2.FPGA芯片向高性能、高密度、低壓和低功耗的方向發展
隨著芯片生產工藝不斷提高,FPGA芯片的性能和密度都在不斷提高。早期的FPGA主要是完成接口邏輯設計,比如AD/DA和DSP的粘合邏輯。現在的FPGA正在成為電路的核心部件,完成關鍵功能。
在高性能計算和高吞吐量I/O應用方面,FPGA已經取代了專用的DSP芯片,成為最佳的實現方案。因此,高性能和高密度也成為衡量FPGA芯片廠家設計能力的重要指標。
隨著FPGA性能和密度的提高,功耗也逐漸成為了FPGA應用的瓶頸。雖然FPGA比DSP等處理器的功耗低,但是要明顯高于專用芯片(ASIC)的功耗。FPGA的廠家也在采用各種新工藝和技術來降低FPGA的功耗,并且已經取得了明顯的效果。
例如,Altera公司的StratixIII系列FPGA的功耗比上一代產品StratixII系列降低了50%以上。
3.基于IP庫的設計方法
未來的FPGA芯片密度不斷提高,傳統的基于HDL的代碼設計方法很難滿足超大規模FPGA的設計需要。隨著專業的IP庫設計公司不斷增多,商業化的IP庫種類會越來越全面,支持的FPGA器件也會越來廣泛。
作為FPGA的設計者,主要的工作是找到適合項目需要的IP庫資源,然后將這些IP整合起來,完成頂層模塊設計。由于商業的IP庫都是通過驗證的,因此整個項目的仿真和驗證工作主要就是驗證IP庫的接口邏輯設計的正確性。
目前,由于國內的知識產權保護的相關法律法規還不盡完善,基于IP庫的設計方法還沒有得到廣泛應用。但是隨著FPGA密度不斷提高和IP庫的價格逐漸趨于合理化,這種設計方法將會成為主流的FPGA設計技術。
4.FPGA的動態可重構技術
FPGA動態重構技術主要是指對于特定結構的FPGA芯片,在一定的控制邏輯的驅動下,對芯片的全部或部分邏輯資源實現高速的功能變換,從而實現硬件的時分復用,節省邏輯資源。
由于密度不斷提高,FPGA能實現的功能也越來越復雜。FPGA全部邏輯配置一次的需要的時間也變長了,降低了系統的實時性。局部邏輯的配置功能可以實現“按需動態重構”,大大提高了配置的效率。
動態可重構的FPGA可以在系統運行中對電路功能進行動態配置,實現硬件的時分復用,節省了資源,主要適用于以下兩個系統設計。
① 最新通信系統。
FPGA的動態重構特性可以適應不同體制和不同標準的通信要求,滿足軟件無線電技術的發展和第三代(3G)和第四代(4G)移動通信系統的需要。
② 重構計算機:FPGA具有并行處理能力和動態配置能力,可自動改變硬件來適應正在運行的程序,產生了基于這種軟硬件環境的全新概念的計算機。
FPGA的工作原理和基本特點
1)采用FPGA設計ASIC電路(專用集成電路),用戶不需要投片生產,就能得到合用的芯片。
2)FPGA可做其它全定制或半定制ASIC電路的中試樣片。
3)FPGA內部有豐富的觸發器和I/O引腳。
4)FPGA是ASIC電路中設計周期最短、開發費用最低、風險最小的器件之一。
5) FPGA采用高速CMOS工藝,功耗低,可以與CMOS、TTL電平兼容。
可以說,FPGA芯片是小批量系統提高系統集成度、可靠性的最佳選擇之一。
FPGA是由存放在片內RAM中的程序來設置其工作狀態的,因此,工作時需要對片內的RAM進行編程。用戶可以根據不同的配置模式,采用不同的編程方式。加電時,FPGA芯片將EPROM中數據讀入片內編程RAM中,配置完成后,FPGA進入工作狀態。掉電后,FPGA恢復成白片,內部邏輯關系消失,因此,FPGA能夠反復使用。FPGA的編程無須專用的FPGA編程器,只須用通用的EPROM、PROM編程器即可。當需要修改FPGA功能時,只需換一片EPROM即可。這樣,同一片FPGA,不同的編程數據,可以產生不同的電路功能。因此,FPGA的使用非常靈活。
FPGA的應用
1.電路設計中FPGA的應用
連接邏輯,控制邏輯是FPGA早期發揮作用比較大的領域也是FPGA應用的基石。事實上在電路設計中應用FPGA的難度還是比較大的這要求開發者要具備相應的硬件知識(電路知識)和軟件應用能力(開發工具)這方面的人才總是緊缺的,往往都從事新技術,新產品的開發成功的產品將變成市場主流基礎產品供產品設計者應用在不遠的將來,通用和專用IP的設計將成為一個熱門行業!搞電路設計的前提是必須要具備一定的硬件知識。在這個層面,干重于學,當然,快速入門是很重要的,越好的位子越不等人電路開發是黃金飯碗。
2.產品設計
把相對成熟的技術應用到某些特定領域如通訊,視頻,信息處理等等開發出滿足行業需要并能被行業客戶接受的產品這方面主要是FPGA技術和專業技術的結合問題,另外還有就是與專業客戶的界面問題產品設計還包括專業工具類產品及民用產品,前者重點在性能,后者對價格敏感產品設計以實現產品功能為主要目的。
FPGA技術是一個實現手段在這個領域,FPGA因為具備接口,控制,功能IP,內嵌CPU等特點有條件實現一個構造簡單,固化程度高,功能全面的系統產品設計將是FPGA技術應用最廣大的市場,具有極大的爆發性的需求空間產品設計對技術人員的要求比較高,路途也比較漫長不過現在整個行業正處在組建“首發團隊”的狀態,只要加入,前途光明產品設計是一種職業發展方向定位,不是簡單的愛好就能做到的!產品設計領域會造就大量的企業和企業家,是一個近期的發展熱點和機遇
3.系統級應用
系統級的應用是FPGA與傳統的計算機技術結合,實現一種FPGA版的計算機系統如用Xilinx V-4, V-5系列的FPGA,實現內嵌POWER PC CPU, 然后再配合各種外圍功能,實現一個基本環境,在這個平臺上跑LINUX等系統這個系統也就支持各種標準外設和功能接口(如圖象接口)了這對于快速構成FPGA大型系統來講是很有幫助的。這種“山寨”味很濃的系統早期優勢不一定很明顯,類似ARM系統的境況但若能慢慢發揮出FPGA的優勢,逐漸實現一些特色系統也是一種發展方向。
若在系統級應用中,開發人員不具備系統的擴充開發能力,只是搞搞編程是沒什么意義的,當然設備驅動程序的開發是另一種情況,搞系統級應用看似起點高,但不具備深層開發能力,很可能會變成愛好者,就如很多人會做網頁但不能稱做會編程類似以上是幾點個人開發,希望能幫助想學FPGA但很茫然無措的人理一理思路。這是一個不錯的行業,有很好的個人成功機會。但也肯定是一個競爭很激烈的行業,關鍵看的就是速度和深度當然還有市場適應能力。
4.最新應用
北京時間2010年12月30日消息,美英兩國科學家聯合開發了一款運算速度超快的電腦芯片,使當前臺式機的運算能力提升20倍。當前的個人電腦使用雙核、4核、16核處理器來執行各項任務。如今,美英研究人員開發的中央處理器(CPU)將1000個內核有效集成于一個芯片上。這項突破或將在今后幾年開啟一個超高速運算的新時代,使家庭用戶不再對運行緩慢的電腦系統感到沮喪。雖然速度更快,但由于新型“超級”電腦的能耗遠低于當前電腦,所以更加環保。
研究人員采用了一種名為“現場可編程門陣列”(以下簡稱“FPGA”)的芯片,使得微晶片就像都含有數百萬個晶體管一樣,而晶體管則是任何電路的基本組成部分。不過,FPGA芯片可由用戶安裝到特定電路,它們的功能不是在出廠時就設定好的。這樣一來,用戶可以將晶體管劃分成一個個“小群體”,要求每個“小群體”完成不同的任務。通過在FPGA芯片內創建逾1000個微電路,研究人員便將這個芯片變成了1000個內核的處理器——每個內核都可以遵照自己的指令工作。在測試中,FPGA芯片每秒能處理5GB的數據,處理速度大概相當于當前臺式機的20倍。這項研究由英國格拉斯哥大學的韋姆·范德堡韋德(Wim Vanderbauwhede)博士和美國馬薩諸塞大學盧維爾分校的同行共同實施。
范德堡韋德說:“FPGA芯片沒有應用于標準電腦上,原因是對FPGA芯片編程相當困難。FPGA芯片的處理能力強大,由于速度更快,能耗相當低,是我們更為環保的選擇。”雖然當前市場上銷售的電腦大多數內核超過一個,可以同時實施不同任務,但傳統多核處理器只能共用一個存儲源,這降低了運算速度。范德堡韋德的研究團隊給每個內核分配一定量的專用存儲空間,從而加快了處理器的運算速度。
一名用戶坐在運算速度很慢的臺式機前面,看上去一籌莫展。在測試中,FPGA芯片每秒能處理5GB的數據,處理速度大概相當于當前臺式機的20倍
范德堡韋德博士說:“這只是初期概念驗證研究,我們試圖展示對FPGA編程的便捷方式,令其超高速處理的潛力可以更為廣泛地應用于未來的運算器和電子設備上。雖然現有許多技術充分使用FPGA芯片,如等離子電視、液晶電視和電腦網絡路由器,但它們在標準臺式機上的應用卻十分有限。”
“但是,我們看到,包括英特爾和ARM在內的一些廠商已經宣布將開發集成傳統CPU與FPGA芯片的微晶片。我認為此類處理器會得到更廣泛的應用,有助于在今后幾年進一步提升電腦運算速度。”范德堡韋德希望在2011年3月應用重構運算國際研討會上詳細介紹他的研究發現。
評論