嵌入式開發(fā)人員要使用FPGA的原因_第1頁(yè)
嵌入式開發(fā)人員要使用FPGA的原因_第2頁(yè)
嵌入式開發(fā)人員要使用FPGA的原因_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

嵌入式開發(fā)人員要使用FPGA的原因在一個(gè)領(lǐng)域中,如果唯一不變的是變化,那么不需要對(duì)電子技術(shù)和設(shè)計(jì)方法的發(fā)展變化做多少回顧,就能見證到變化是如何使設(shè)計(jì)工程師能夠創(chuàng)建出下一代創(chuàng)新產(chǎn)品。微處理器得到大規(guī)模應(yīng)用后,價(jià)廉物美的新技術(shù)為基于軟件的革新性電子產(chǎn)品設(shè)計(jì)打開了大門,這就是一個(gè)很好的例子。簡(jiǎn)言之,把設(shè)計(jì)的主要元素——在這兒是控制“智能”——轉(zhuǎn)入到軟領(lǐng)域后,設(shè)計(jì)工程師就可以在更短時(shí)間內(nèi)創(chuàng)建出更好、更智能、更廉價(jià)的產(chǎn)品。

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

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

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

把軟設(shè)計(jì)提升一個(gè)水平

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

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

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

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

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

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

利用FPGA的全部潛力

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

AltiumDesigner引入簡(jiǎn)單、高層次的處理器實(shí)現(xiàn)這一目標(biāo),滿足軟件、FPGA和PCB要求,一體化的產(chǎn)品開發(fā)環(huán)境在單一應(yīng)用中把所有需要的流程綜合在一起(圖1)。硬件和軟件開發(fā)統(tǒng)一在平臺(tái)級(jí),使快速軟件/硬件協(xié)同設(shè)計(jì)成為可能。通過基于FPGA的處理器和處理器包裹內(nèi)核,設(shè)計(jì)師可以定位于AltiumDesigner或任意受支持的第三方處理器,同時(shí)保留設(shè)計(jì)的全部功能,包括與FPGA外設(shè)的方便連接。AltiumDesigner基于Viper的編譯器保證在系統(tǒng)支持的所有處理器結(jié)構(gòu)間C級(jí)別代碼的兼容性。除了快速產(chǎn)品開發(fā)的潛力外,AltiumDesigner的一體化本質(zhì)也為嵌入式開發(fā)人員帶來(lái)了新的設(shè)計(jì)和功能可能性。Altium也開發(fā)了新的一體化硬件/軟件編譯器技術(shù),不久AltiumDesigner就將支持該技術(shù)。這項(xiàng)技術(shù)同時(shí)從標(biāo)準(zhǔn)C代碼生成高度優(yōu)化的可執(zhí)行代碼和并發(fā)硬件的FPGA實(shí)現(xiàn),并同時(shí)生成在運(yùn)行時(shí)將二者鏈接起來(lái)所需的代碼。實(shí)際上這意味著開發(fā)人員可以指定從處理器卸載到硬件的C代碼功能,而AltiumDesigner一體化的軟件/硬件環(huán)境使該流程迅速且透明(圖2)。

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

AltiumDe

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論