<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 汽車電子 > 設(shè)計(jì)應(yīng)用 > FPGA進(jìn)入嵌入式領(lǐng)域,處理器內(nèi)核成關(guān)鍵

          FPGA進(jìn)入嵌入式領(lǐng)域,處理器內(nèi)核成關(guān)鍵

          ——
          作者: 時(shí)間:2006-12-10 來源:電子產(chǎn)品世界 收藏

          全球整體市場最近幾年迅速擴(kuò)大,其中與嵌入式處理器相關(guān)的Design Win數(shù)量正在迅速增長,潛力巨大。就像打開潘多拉的盒子,有了可以運(yùn)行操作系統(tǒng)或?qū)崟r(shí)操作系統(tǒng)的處理器內(nèi)核,相信正在真正意義上大規(guī)模進(jìn)入嵌入式設(shè)計(jì)領(lǐng)域。



          從Xilinx、Altera到Actel、Lattice,F(xiàn)PGA提供商都已經(jīng)有可在FPGA邏輯模塊旁實(shí)現(xiàn)的“硬”核,或者可以直接在FPGA結(jié)構(gòu)中運(yùn)行的“軟” 核處理器。硬核的好處是能夠提供更快的數(shù)據(jù)處理能力,所謂軟核需要FPGA廠商提供的PLD軟件進(jìn)行配置,然后固化到FPGA中。與硬核相比,軟核具有更好的靈活性,在目標(biāo)器件中可以進(jìn)行任意配置,根據(jù)具體設(shè)計(jì)需要靈活選擇IP模塊和外設(shè)。

          Xilinx除了32位的嵌入式PowerPC硬核之外,還支持8位的PicoBlaze和32位的MicroBlaze兩個(gè)軟內(nèi)核。Xilinx亞太區(qū)高端產(chǎn)品市場經(jīng)理梁曉明先生表示, 高端和低端FPGA嵌入式市場都在迅速成長,所以Xilinx會(huì)持續(xù)兼顧發(fā)展這三種嵌入式處理器。Altera只提供軟核,其32位Nios II軟核處理器與Xilinx的MicroBlaze旗鼓相當(dāng),同樣都是目前市場上最通用的嵌入式FPGA處理器。

          最近Nios II和MicroBlaze都增加了對(duì)新的IEEE754兼容浮點(diǎn)單元的支持。Altera公司亞太區(qū)產(chǎn)品和渠道營銷工程師王冬剛先生解釋說,IEEE754標(biāo)準(zhǔn)定義了在計(jì)算機(jī)中表示浮點(diǎn)的一套格式。這一特性的優(yōu)點(diǎn)在于能夠更精確地表達(dá)數(shù)字,只要是需要高精度計(jì)算的場合都可以考慮用浮點(diǎn)處理單元改善計(jì)算精度。就像浮點(diǎn)表示在Intel的Pentium系列CPU中成為標(biāo)準(zhǔn)一樣,越來越多的嵌入式應(yīng)用需要這一特性,比如進(jìn)程控制,圖像處理,汽車中電機(jī)轉(zhuǎn)速的精確表示等等。

          另一家FPGA供應(yīng)商Actel期望在不同市場層面上與Altera和Xilinx展開競爭。Actel在其FPGA中嵌入了32位的ARM7微處理器內(nèi)核CoreMP7。傳統(tǒng)的嵌入式處理器,例如ARM和MIPS,其處理器IP在基于軟核的設(shè)計(jì)流程中很難得到保護(hù),所以ARM或MIPS內(nèi)核一直無法以軟IP的形式提供給FPGA廠商,但是不同于主流的基于SRAM的FPGA, Actel基于Flash技術(shù)的FPGA可以保證商用IP在器件中安全的運(yùn)行。

          Actel 公司IP 市場經(jīng)理Mike Thompson表示,較之于所有其它同類處理器使用的總和,ARM處理器在設(shè)計(jì)中獲采納的比例為5比1。CoreMP7與ARM7TDMI-S完全兼容,大多數(shù)客戶以往用過ARM處理器核。進(jìn)一步說都擁有現(xiàn)成的ARM代碼,以及所熟悉的開發(fā)工具。對(duì)ARM架構(gòu)的熟悉,可以節(jié)省Actel客戶的開發(fā)時(shí)間。

          與Actel選擇不同結(jié)構(gòu)的產(chǎn)品進(jìn)而轉(zhuǎn)戰(zhàn)其它市場不同,Lattice希望可以與Altera和Xilinx展開直接競爭,在不斷擴(kuò)充產(chǎn)品的同時(shí)尋求差異化。在嵌入式處理器方面,Lattice也在延續(xù)這種競爭的策略,與MicroBlaze和Nios II一樣,Lattice的LatticeMico32軟核處理器也很容易嵌入到FPGA中,Lattice IP及應(yīng)用設(shè)計(jì)經(jīng)理謝征帆先生強(qiáng)調(diào),與前兩者有所不同的是,Lattice開放了LatticeMico32以及外圍元件的HDL源代碼,用戶能更好地理解微處理器核的結(jié)構(gòu)和工作的內(nèi)部細(xì)節(jié),同時(shí)可以自行修改代碼,增加設(shè)計(jì)的移植性。軟件的開發(fā)工具,包括基于GNU的編譯器、匯編器、連接器和調(diào)試器也都是開放源碼的。甚至LatticeMico32軟核處理器可以用在Lattice公司以外的產(chǎn)品中,包括ASIC、結(jié)構(gòu)化ASIC以及其他廠商的FPGA中。

          絕大多數(shù)的只需一個(gè)內(nèi)核,比如消費(fèi)類產(chǎn)品、網(wǎng)絡(luò)通訊以及工業(yè)系統(tǒng)。多處理器常用于高端數(shù)據(jù)處理的情況,比如對(duì)于一些視頻處理比較復(fù)雜的算法或者有大量復(fù)雜協(xié)議處理的應(yīng)用,可能需要兩個(gè)以上的嵌入式處理器。在一個(gè)FPGA中可以實(shí)現(xiàn)多個(gè)處理器,比如說兩個(gè)MicroBlaze或Nios II,或者更多數(shù)目。這之中沒有定式,完全取決于客戶期望的目標(biāo)來靈活實(shí)現(xiàn)不同的應(yīng)用模式,例如一個(gè)MicroBlaze作為主控制器,另一個(gè)做特殊任務(wù)處理器;或者兩個(gè)MicroBlaze相互獨(dú)立的執(zhí)行各自的任務(wù)。正因?yàn)槿绱?,這個(gè)優(yōu)勢是一般已經(jīng)固化了外設(shè)和定制功能的ASSP和ASIC無法比擬的。為此,針對(duì)多核應(yīng)用的調(diào)試工具也已經(jīng)應(yīng)運(yùn)而生,Altera和Xilinx都獲得了德國知名的微處理器開發(fā)工具的供應(yīng)商Lauterbach的支持,Lauterbach的TRACE32 ICD-Debugger 和TRACE32 PowerTools調(diào)試工具支持多核的PowerPC、MicroBlaze以及Nios II系統(tǒng)的開發(fā)。

          軟核處理器的主要限制在于處理器的性能,但是在FPGA中嵌入式處理器的性能并不是很大的問題,原因在于關(guān)鍵的功能,比如各種復(fù)雜的DSP算法,可以通過硬件加速來實(shí)現(xiàn),如今許多FPGA中都有大量的硬連線乘法器或乘累加單元,可用來定制硬件加速器。對(duì)于需要提高嵌入式軟件性能的軟件工程師而言,硬件加速器是非常重要的工具,與運(yùn)行在軟核中的代碼相比,F(xiàn)PGA加速的代碼的運(yùn)行速度可以快幾個(gè)數(shù)量級(jí),消耗的功率則大大降低。

          挑戰(zhàn)在于硬件加速器的設(shè)計(jì)屬于FPGA硬件設(shè)計(jì)范疇,需要開發(fā)人員熟練的掌握HDL,邏輯綜合以及復(fù)雜的時(shí)序設(shè)計(jì),同時(shí)要花費(fèi)大量的時(shí)間,因此硬件加速器的設(shè)計(jì)就成為了瓶頸。

          Altera最近開發(fā)了C2H(C語言至硬件加速)編譯器,能夠自動(dòng)生成硬件加速器,將關(guān)鍵的,特別是包含復(fù)雜的數(shù)學(xué)邏輯算法的C代碼轉(zhuǎn)換成硬件加速器并在FPGA中運(yùn)行,簡單的說,C2H編譯器所需要做的工作就是:
          *分析軟件代碼,確定出現(xiàn)性能瓶頸的函數(shù)
          *在Nios II IDE中高亮顯示所需的函數(shù),右鍵單擊加速
          *查看Nios II C2H編譯器結(jié)果,根據(jù)需要修改C代碼,進(jìn)行優(yōu)化
           
          C2H編譯器屬于ESL工具,按照Synopsys 對(duì)ESL工具的定義,ESL工具提供了C語言到硬件描述語言的轉(zhuǎn)換。ESL有兩個(gè)主要的設(shè)計(jì)流程:高級(jí)語言綜合和系統(tǒng)建模,高級(jí)語言綜合中包括模塊生成和硬件加速,模塊生成的方法可以將C代碼直接綜合成RTL代碼,在FPGA中直接實(shí)現(xiàn)DSP模塊,這種方法可以在很大程度上提高設(shè)計(jì)效率,但需要對(duì)C綜合工具有透徹的理解;如果選用嵌入式處理器,可以利用FPGA資源為其創(chuàng)建一個(gè)硬件加速器,這種方式只是將關(guān)鍵的操作以硬件加速器的形式放置到FPGA邏輯中去執(zhí)行,相比生成DSP模塊的方式更加簡單,C2H編譯器即屬于硬件加速工具。系統(tǒng)建模是指用C++來編寫仿真模型,從而加速系統(tǒng)的仿真速度。

          Altera和Xilinx最近都啟動(dòng)了相關(guān)的ESL計(jì)劃,與主要的ESL廠商合作開發(fā)設(shè)計(jì)工具,這些工具對(duì)嵌入式處理器內(nèi)核的支持也包含在其中。通過使用ESL工具,以往并不擅長FPGA硬件設(shè)計(jì)的軟件或系統(tǒng)工程師也可以進(jìn)入FPGA領(lǐng)域,與FPGA相關(guān)的嵌入式設(shè)計(jì)的數(shù)量還會(huì)進(jìn)一步增加。



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();