新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 嵌入式工程師為何要選用FPGA

嵌入式工程師為何要選用FPGA

作者: 時間:2011-03-31 來源:網(wǎng)絡 收藏
在一個領域中,如果唯一不變的是變化,那么不需要對電子技術和設計方法的發(fā)展變化做多少回顧,就能見證到變化是如何使設計工程師能夠創(chuàng)建出下一代創(chuàng)新產(chǎn)品。微處理器得到大規(guī)模應用后,價廉物美的新技術為基于軟件的革新性電子產(chǎn)品設計打開了大門,這就是一個很好的例子。簡言之,把設計的主要元素——在這兒是控制“智能”——轉入到軟領域后,設計工程師就可以在更短時間內(nèi)創(chuàng)建出更好、更智能、更廉價的產(chǎn)品。

  這個變化意味著軟件開發(fā)人員是當今定義電子產(chǎn)品功能和特性的主要推動者,并且最終將把硬件生產(chǎn)出來。該方法的成功因素在于減少硬件復雜度和把設計的控制元素轉變到可編程領域帶來的開放靈活性。

  今天,大容量、低成本可編程器件的到來給電子產(chǎn)品設計的發(fā)展帶來了同樣的希望,因為在軟領域定義系統(tǒng)硬件本身已經(jīng)成為可能。諸如大容量 這樣的大規(guī)模器件對滿足這一需求十分理想。這些期間一般可用于構建系統(tǒng)外設邏輯功能塊的大件部分,包括總線接口、I/O塊、甚至內(nèi)存。把大量邏輯引入 領域對硬件開發(fā)具有深遠影響,并為‘軟’設計的新時代打開了一扇大門,這為設計提供了前所未有的靈活性,同時具有減少板級尺寸和復雜性的無窮潛力。

  雖然它具有對電子產(chǎn)品開發(fā)過程起到革命性作用的潛力,但多數(shù)軟件開發(fā)人員仍像以前一樣工作——在設計流程的開始階段選擇分立的硬件處理器、創(chuàng)建物理平臺,然后寫軟件使用該平臺。人們在系統(tǒng)開發(fā)的“軟”硬件領域缺乏探索,主要原因在于缺少讓C程序員在可編程硬件級發(fā)揮技巧的工具。確實,當前多數(shù)設計流主要都來自芯片設計領域,需要非常專業(yè)的技巧。

  把軟設計提升一個水平

  要超越FPGA膠合邏輯應用需要更廣闊的視野,包括充分利用可編程器件,把盡可能多的硬件引入到軟領域中。這包括引入處理器功能本身,今天,F(xiàn)PGA內(nèi)的軟處理器正越來越多地轉變成嵌入式平臺。從根本上說,改用帶FPGA的軟處理器會帶來結構靈活性、板卡尺寸更小、更簡單的優(yōu)點。但深層次的應用會帶來更吸引人的優(yōu)點。

  當利用了FPGA的可編程特性獲得處理器頂層的抽象層時,就為嵌入式開發(fā)人員打開了無限可能,——不僅在軟件中實現(xiàn)抽象級設計,而且在硬件中也實現(xiàn)了。試想這樣一個系統(tǒng):處理器通過可配置硬件(本質上是一個硬件包裹)與其內(nèi)存和外設連接——這就抽象了處理器的接口。簡單地對FPGA重新編程就改變了硬件包裹,系統(tǒng)設計師可以輕易地改變處理器內(nèi)核,甚至在硬的或軟的處理器之間轉換,無需修改其他系統(tǒng)硬件。從系統(tǒng)的角度來看,所有處理器都是相似的,這就簡化了硬件設計流程。當然,把這延伸到應用軟件領域也需要可以在處理器之間提供C級別兼容性的編譯器。

  這種系統(tǒng)的優(yōu)點是不需要“事先”對處理器做出選擇。系統(tǒng)可能是使用某種處理器開發(fā)的,但是開發(fā)階段發(fā)現(xiàn)需要更高的性能,又采用了更快的器件。由于包裹層的原因,處理器可以是軟的、硬的、甚至是FPGA內(nèi)部的硬件處理器內(nèi)核,而不會影響周圍的硬件,因為轉換層僅僅創(chuàng)建出連接外設的標準接口。實際上外設器件本身的連接可以相同方式抽象。在這個方案中,F(xiàn)PGA為嵌入式系統(tǒng)的所有部件提供通用的連接性,而有效地成為系統(tǒng)互連結構。換言之,它有效地成為標準接口“骨干”,硬件和軟件都可以輕松與處理器和外設交流。

  最后,在處理器之上引入透明的包裹層會創(chuàng)建出基于FPGA的開發(fā)環(huán)境,提供真正的處理器獨立性。軟件和硬件開發(fā)速度都提高了,處理器選擇可以放到設計流程的后期進行,有效的軟件/硬件協(xié)同設計成為可能。

  軟件和硬件間進行轉換

  在可配置硬件中創(chuàng)建處理器和外設包裹層的想法的擴展就是自動生成應用專用的系統(tǒng)硬件,在硬件中執(zhí)行軟件算法——一種‘自己的’硬件協(xié)處理器。

  從C代碼中直接生成硬件的想法并不新鮮,有幾個系統(tǒng)已經(jīng)實現(xiàn),到現(xiàn)在為止的想法是希望通過C類語言創(chuàng)建完整的系統(tǒng)硬件。在本質上,這與使用 HDL(如VHDL 或Verilog)設計FPGA沒有什么不同,需要軟件開發(fā)人員學習和采用新的設計方法。真正對嵌入式開發(fā)人員有用的是使流程透明。設計工具必須要能夠處理標準 ANSI C代碼的輸入,把程序員選擇的功能轉換為硬件。不僅如此,系統(tǒng)必須要能夠生成使用生成硬件所需的所有代碼。嵌入式程序員以這種方式把專用算法從處理器卸載到專用硬件上,無需了解底層硬件的任何設計細節(jié)。

  

嵌入式工程師為何要選用FPGA

  利用FPGA的全部潛力

  很明顯,從工具角度來說充分利用可編程器件(如FPGA)帶來的機會需要一個提高開發(fā)流程抽象級別的系統(tǒng),這樣設計的核心元素可通過類似的設計技術和流程輕松改變。這樣的系統(tǒng)必須能夠統(tǒng)一整個電子產(chǎn)品開發(fā)過程,在單一、一致的環(huán)境中將硬件、軟件和可編程硬件開發(fā)綜合在一起。

  Altium Designer 引入簡單、高層次的處理器實現(xiàn)這一目標,滿足軟件、FPGA和 PCB要求,一體化的產(chǎn)品開發(fā)環(huán)境在單一應用中把所有需要的流程綜合在一起(圖1)。硬件和軟件開發(fā)統(tǒng)一在平臺級 ,使快速軟件/硬件協(xié)同設計成為可能。通過基于 FPGA的處理器和處理器包裹內(nèi)核,設計師可以定位于Altium Designer 或任意受支持的第三方處理器,同時保留設計的全部功能,包括與 FPGA外設的方便連接。Altium Designer基于 Viper的編譯器保證在系統(tǒng)支持的所有處理器結構間C級別代碼的兼容性。

  除了快速產(chǎn)品開發(fā)的潛力外, Altium Designer 的一體化本質也為嵌入式開發(fā)人員帶來了新的設計和功能可能性。Altium 也開發(fā)了新的一體化硬件/軟件編譯器技術,不久Altium Designer就將支持該技術。這項技術同時從標準C代碼生成高度優(yōu)化的可執(zhí)行代碼和并發(fā)硬件的FPGA實現(xiàn) ,并同時生成在運行時將二者鏈接起來所需的代碼。實際上這意味著開發(fā)人員可以指定從處理器卸載到硬件的C代碼功能,而Altium Designer一體化的軟件/硬件環(huán)境使該流程迅速且透明(圖2)。

  

2.jpg

  這樣的系統(tǒng)為嵌入式開發(fā)人員提供選擇系統(tǒng)復選框以獲得把專用軟件功能轉移到硬件最終的性能和成本改進的潛力。這使得開發(fā)人員可以有效地在硬件和軟件之間轉移功能,不斷在優(yōu)化的應用方案上融合。值得注意的有趣現(xiàn)象是,使用Altium Designer這一功能以及其他高層功能(如嵌入式包裹內(nèi)核和基于庫的預同步軟組件)的軟件開發(fā)人員可有效地使用 FPGA機制內(nèi)部的硬件。簡言之,使用該系統(tǒng)的軟件工程師可利用其現(xiàn)有技巧,輕松使用 FPGA 硬件,無需涉及目標器件結構的底層或RTL編程(圖3)。

  

3.jpg

  Altium Designer的一體化開發(fā)環(huán)境和低成本大規(guī)模 FPGA的結合使得嵌入式開發(fā)人員可充分開發(fā)可編程器件的潛力。使用正確的開發(fā)環(huán)境后,當前FPGA帶來的大型可重構設計空間使一種新的嵌入式設計方法成為可能 ,設計師可以為電子產(chǎn)品開發(fā)帶來革命式的創(chuàng)新,正如幾十年前微處理器的引入給電子工業(yè)帶來的革命那樣。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


關鍵詞: 嵌入式 FPGA

評論


相關推薦

技術專區(qū)

關閉