<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 設計靈活、高性能的嵌入式系統——軟處理和IP定制同時(shí)確保靈活性和性能

設計靈活、高性能的嵌入式系統——軟處理和IP定制同時(shí)確保靈活性和性能

作者: 時(shí)間:2007-03-06 來(lái)源:網(wǎng)絡(luò ) 收藏

您的下一個(gè)嵌入式系統設計項目需要的是什么:是可以讓您輕松地定制設計的靈活的系統元件,還是額外的性能空間,以便您在設計周期中加入更多的功能?為什么要讓自己承受過(guò)度的開(kāi)發(fā)壓力,并且只能舍此取彼呢?軟處理和IP定制能夠為同時(shí)確保靈活性和高性能提供了最佳的解決方案,將定制設計的概念和協(xié)處理帶來(lái)的性能加速結合起來(lái)。

分立處理器只能提供固定的外設選擇,并且一些性能受到頻率的限制。在嵌入式所提供的平臺上,您可以創(chuàng )建一個(gè)具有大量定制處理器核、靈活的外設、甚至協(xié)處理減負引擎的系統?,F在,您能設計出一個(gè)不折不扣的定制處理系統——不僅滿(mǎn)足最具挑戰性的項目要求,而且能夠沖破性能極限,與此同時(shí),通過(guò)使用實(shí)現加速的軟件指令最大限度地提高系統的性能。隨著(zhù)架構的加速,從前的限制便不復存在。

靈活性

除了在Xilinx VirtexTM平臺的FPGA中所提供的高性能PowerPCTM處理核和使用匯編語(yǔ)言編程的占位空間更小的PicoBlazeTM微控制器外,Xilinx公司還提供一種可定制的通用32位RISC處理器。由于可以使用Virtex或SpartanTM系列產(chǎn)品中的任意一款在邏輯門(mén)外對其進(jìn)行構建,因此MicroBlazeTM軟件處理器的使用十分靈活,并且您能夠通過(guò)定制處理IP外設來(lái)滿(mǎn)足您的特定要求。

使用可定制核和IP,您只需創(chuàng )建所需的系統元件而不浪費任何芯片資源。當您使用像FPGA這樣的可編程器件構建一個(gè)處理系統時(shí),就不會(huì )在分立器件中浪費任何未使用的資源,也不會(huì )出現當需要的外設數量超過(guò)所提供的數量時(shí)(例如您的設計需要3個(gè)UART,而分立器件只能提供1個(gè)或2個(gè)),設計無(wú)法繼續進(jìn)行的情況。此外,您不會(huì )受限于初始的架構設想;相反,您能不停地進(jìn)行大的修改并且能夠調整系統架構來(lái)適應新的需求特性或不斷變化的標準。

在“2006年嵌入式系統大會(huì )”的論文匯編中有一個(gè)FIR濾波器的設計示例,其中,MicroBlaze系統包含一個(gè)可選的符合IEEE 754標準的內部浮點(diǎn)單元(FPU),從而大大提高了該處理器核上僅可由軟件執行的操作的性能。通過(guò)加入可選的MicroBlaze元件,可以迅速地提高應用程序的性能。

這些可選內部元件的另外一個(gè)優(yōu)勢就是它們得到MicroBlaze C編譯器的全面支持,因此不必改變源代碼。在這個(gè)FIR濾波器設計示例中,由于調用外部C代碼庫的浮點(diǎn)函數的操作被使用新的FPU的指令自動(dòng)取代,因此加入FPU和對設計的重復編譯意味著(zhù)直接的性能提升。

與軟件重新編碼方法相比,使用專(zhuān)用處理單元,能夠將完成特定任務(wù)所需的周期數減少幾個(gè)數量級,從而提高處理器的性能。圖1的簡(jiǎn)化圖顯示了一個(gè)帶有內部FPU IP核、本地存儲器核和像UART或JTAG調試端口這樣的可選外設的MicroBlaze處理系統。由于系統是可定制的,我們可以方便地實(shí)現Xilinx處理器IP產(chǎn)品目錄中所包含的多個(gè)UART或其他的IP外設核,其中包括DMA控制器、IIC、CAN或DDR存儲器接口等。

該IP產(chǎn)品目錄提供了門(mén)類(lèi)齊全的其他處理IP(橋、仲裁器、中斷控制器、GPIO、定時(shí)器和存儲器控制器等),以及適用于每個(gè)IP核的可定制選項(例如波特率和奇偶校驗位),以對元件的特性、性能和尺寸/成本進(jìn)行優(yōu)化。此外,您還能設置與處理核相關(guān)的頻率、調試模式、本地存儲器容量、高速緩存和其它選項。僅僅增加一個(gè)FPU核,我們就能創(chuàng )建一個(gè)可將前文所提到的FIR的實(shí)現從8,500,000個(gè)CPU周期優(yōu)化至177,000個(gè)CPU周期的MicroBlaze系統,這樣,在不改變C代碼源文件的情況下即可將性能提高48倍。

在第二個(gè)示例中,我們將構建另外一個(gè)設計模塊,實(shí)現一個(gè)面向MP3解碼器的IDCT引擎,這一設計可使應用模塊的速度加快一個(gè)數量級。

您可以使用圖2中所示的開(kāi)發(fā)工具,方便地創(chuàng )建上文提到的兩個(gè)處理器平臺。這個(gè)集成式軟件/硬件開(kāi)發(fā)工具包括一塊直接支持PowerPC和MicroBlaze處理器設計的Virtex-4參考板。開(kāi)發(fā)工具還包括所有的編譯器和所需的FPGA設計工具,以及IP目錄和用作預校準的參考設計。

再加上JTAG探測器和系統電纜,此開(kāi)發(fā)工具能夠讓您在開(kāi)始編輯和調試自己的設計變更之前,輕松構建和運行一個(gè)工作系統。不同器件和板卡的開(kāi)發(fā)工具,可從Xilinx公司及其分銷(xiāo)商以及第三方嵌入式系統合作伙伴那里得到。

查明瓶頸和實(shí)現協(xié)處理

MicroBlaze處理器是EDN公司2005年的百件熱門(mén)產(chǎn)品之一,使用獲得IEC(國際工程協(xié)會(huì ))大獎的Xilinx Platform Studio(XPS)嵌入式工具套件實(shí)現硬件/IP的設置和軟件的開(kāi)發(fā)。XPS包含在我們預先配置的嵌入式開(kāi)發(fā)系統中,是用來(lái)創(chuàng )建系統的集成式開(kāi)發(fā)環(huán)境(IDE)。如果您擁有一塊標準的參考板或已經(jīng)創(chuàng )建了自己的電路板描述文檔,那么XPS就可以驅動(dòng)一個(gè)設計向導來(lái)快速地配置您的初始系統。

通過(guò)使用智能化工具來(lái)減少錯誤和學(xué)習壓力,您就可以集中精力提高最終產(chǎn)品的價(jià)值。完成基本的配置后,您可以花一些時(shí)間來(lái)調整IP,從而定制自己的系統,然后進(jìn)行軟件應用的開(kāi)發(fā)。

XPS為程序員提供了一個(gè)功能強大的基于Eclipse框架的軟件開(kāi)發(fā)IDE。這一環(huán)境對于開(kāi)發(fā)、調試和管理代碼以查明隱藏于其它不可見(jiàn)的代碼執行中的性能瓶頸是十分理想的。這些代碼中的不足之處經(jīng)常會(huì )使設計達不到所要求的性能目標,但它們又很難被發(fā)現而且通常更難被優(yōu)化。

使用像“內聯(lián)代碼”這樣的技術(shù)來(lái)減少多余的函數調用開(kāi)銷(xiāo),就能夠將應用程序的性能提高1%~5%。但如果使用可編程平臺,利用現有更強大的設計技術(shù),可使性能提高一到兩個(gè)數量級。

圖3顯示了XPS性能分析截屏圖。XPS可以用不同的形式顯示分析信息(profiling information),這樣您就可以一目了然地看清突出顯示在性能圖上的趨勢或個(gè)別相沖突的程序。柱狀圖、餅狀圖和測量指標表格,讓定位和判斷函數與程序的不足之處變得簡(jiǎn)單,這樣您就能夠采取行動(dòng)來(lái)改進(jìn)這些極大影響整體系統性能的程序。

自帶IP模塊的軟處理器核

在我前面所介紹的MP3解碼器示例中,我們從多個(gè)MicroBlaze處理器的示例化開(kāi)始,構建了一個(gè)定制系統(圖4)。由于MicroBlaze處理器是一個(gè)軟核處理器,因此我們能方便地構建一個(gè)具有多個(gè)處理器的系統并能平衡性能負載,從而得到一個(gè)優(yōu)化的系統。

從圖4我們可以清楚地看到,頂部自帶總線(xiàn)和外設的MicroBlaze塊與底部的MicroBlaze塊和它自帶的外設是彼此分開(kāi)的。此設計的頂部區域運行支持整個(gè)文檔系統的嵌入式Linux操作系統,這樣就能通過(guò)網(wǎng)絡(luò )接入MP3比特流。我們將這些比特流的解碼和播放操作留給第二個(gè)MicroBlaze處理器。在此設計中我們加入了緊密耦合的DCT/IMDCT(正向和反向改進(jìn)的離散余弦變換)函數處理器減負引擎和兩個(gè)高精度MAC單元。

IMDCT塊負責數據的壓縮和解壓縮,以縮短傳輸線(xiàn)的執行時(shí)間。DCT/IMDCT是壓縮應用中計算量最大的兩種函數,因此將整個(gè)函數放到它自己的協(xié)處理模塊中執行,極大地提高了整個(gè)系統的性能。與前面提到的在FIR濾波器中加入一個(gè)內部FPU的設計示例不同的是,這個(gè)MP3設計示例已經(jīng)實(shí)現了MicroBlaze的定制,并且在FPGA中加入了外部專(zhuān)用硬件。

協(xié)處理+可定制IP = 高性能

通過(guò)將軟件函數的大量計算負擔轉移給協(xié)處理的“硬件指令”,您就能找到一個(gè)最佳的平衡點(diǎn),使系統性能達到最佳。圖4還顯示了Linux文件系統模塊的一系列IP外設,其中包括UART、以太網(wǎng)MAC和其他各種存儲器控制器選項。與此不同的是,編碼/解碼應用模塊采用了針對不同系統功能定制的不同IP。

第二個(gè)MicroBlaze軟核從屬于第一個(gè)MicroBlaze處理器,并扮演用于對MP3比特流進(jìn)行解碼的任務(wù)引擎的角色。帶有附加專(zhuān)用IP核的解碼算法,通過(guò)Xilinx快速單工連接(Fast Simplex Link,FSL)接口直接連到FPGA架構硬件資源內部。這一協(xié)處理的設計技術(shù)充分利用了FPGA硬件相對于較慢的獨立式處理器的順序指令執行而言所具有的并行和高速特性。

與高性能FPGA架構直接相連,可以引入快速的乘累加模塊(圖4中的LL_SH MAC1和LL_SH MAC2),與DCT和IMDCT模塊的專(zhuān)用IP形成互補。長(cháng)長(cháng)整型MAC模塊能夠提供更高的精度,同時(shí)減輕處理單元的計算負荷。您可能注意到,在A(yíng)C97控制器核到外部AC97多媒體數字信號編解碼器接口之間同樣使用FSL連接,這可使MP3播放器實(shí)現CD音質(zhì)的輸入/輸出。

圖4所示的協(xié)處理系統的性能,比原有的軟件系統的性能累計提高了41倍。將一個(gè)“只使用軟件”的實(shí)現方式(參見(jiàn)圖5頂部的橫條)與硬件指令示例化的每個(gè)階段相比,您就可以看出是如何一步步提高性能的。僅僅將軟件計算轉移到IMDCT中就會(huì )帶來(lái)1.5倍的性能提升,增加DCT硬件指令后則可使性能提升1.7倍。加入一個(gè)長(cháng)長(cháng)整型乘累加單元,可帶來(lái)8.2倍的性能提升。

采用協(xié)處理技術(shù)在硬件中實(shí)現所有的軟件模塊,能夠使系統總體性能提升41倍,這還沒(méi)有考慮減少應用程序代碼長(cháng)度這一額外優(yōu)勢。由于去除了需要大量指令的乘法函數,而代之以一個(gè)可以讀寫(xiě)FSL端口的單一指令,因此我們進(jìn)一步減少了指令數量,并因此壓縮了代碼的占位空間。例如在MP3的應用示例中,代碼的占位空間縮小了20%。

更重要的是,通過(guò)像XPS這樣的智能化工具能夠方便快速地對設計進(jìn)行修改,同時(shí)仍能保證在產(chǎn)品的開(kāi)發(fā)周期內實(shí)現這些修改。僅使用軟件增強性能的方法,非常費時(shí),而且得到的回報通常很有限。在一個(gè)可編程平臺之上平衡軟件應用、硬件實(shí)現和協(xié)處理的劃分,您就能得到一個(gè)更理想的結果。

結論

基于本文所描述的示例,我們能夠輕松定制一個(gè)全嵌入式處理系統,編輯IP從而在特性/面積/成本之間取得最佳平衡,并且在看似不可能的地方使性能得到大幅提升。Virtex-4和Spartan-3系列器件提供了靈活的軟處理器解決方案,開(kāi)發(fā)人員可以在隨后的開(kāi)發(fā)周期中對其進(jìn)行設計和改進(jìn)。屢獲殊榮的MicroBlaze軟處理器核,加上獲獎不斷的XPS工具套件,為您的嵌入式設計提供了一套強大的工具。

協(xié)處理技術(shù),例如采用高性能FPGA硬件指令實(shí)現需要大量計算的軟件算法,能夠使常規工業(yè)應用模塊的性能提高2倍、10倍甚至40倍以上。想象一下這將為您的下一個(gè)設計帶來(lái)什么——在開(kāi)發(fā)周期的后期,您的設計仍有修改的余地,并且可以預先規劃好下一代產(chǎn)品的改進(jìn)方案。

了解Xilinx嵌入式處理解決方案方面的更多信息,請登錄網(wǎng)站www.xilinx.com/cn/processor。



關(guān)鍵詞: FPGA 硬件 時(shí)鐘

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>