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

          新聞中心

          EEPW首頁 > 汽車電子 > 設計應用 > 設計靈活、高性能的嵌入式系統(tǒng)

          設計靈活、高性能的嵌入式系統(tǒng)

          ——
          作者:Xilinx 公司產品市場經理 Jay Gould 時間:2007-03-22 來源:與非門 收藏
          您的下一個設計項目需要的是什么:是可以讓您輕松地定制設計的靈活的系統(tǒng)元件,還是額外的性能空間,以便您在設計周期中加入更多的功能?為什么要讓自己承受過度的開發(fā)壓力,并且只能舍此取彼呢?軟處理和IP定制能夠為同時確保靈活性和高性能提供了最佳的解決方案,將定制設計的概念和協處理帶來的性能加速結合起來。

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

          靈活性

          除了在Xilinx® VirtexTM平臺的FPGA中所提供的高性能PowerPCTM硬件處理核和使用匯編語言編程的占位空間更小的PicoBlazeTM微控制器外,Xilinx公司還提供一種可定制的通用32位 RISC處理器。由于可以使用Virtex或

          SpartanTM系列產品中的任意一款在邏輯門外對其進行構建,因此MicroBlazeTM軟件處理器的使用十分靈活,并且您能夠通過定制處理IP外設來滿足您的特定要求。

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


          簡化的MicroBlaze
                                   圖1 - 簡化的MicroBlaze框圖

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

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

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

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

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

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

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

          集成式硬件/軟件開發(fā)工具
          圖2 - 集成式硬件/軟件開發(fā)工具 

          查明瓶頸和實現協處理

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

          通過使用智能化工具來減少錯誤和學習壓力,您就可以集中精力提高最終產品的價值。完成基本的配置后,您可以花一些時間來調整IP,從而定制自己的系統(tǒng),然后進行軟件應用的開發(fā)。

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

          使用像“內聯代碼”這樣的技術來減少多余的函數調用開銷,就能夠將應用程序的性能提高1%~5%。但如

          果使用可編程平臺,利用現有更強大的設計技術,可使性能提高一到兩個數量級。

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

          XPS嵌入式工具套件 
                 圖3 - XPS嵌入式工具套件 


          MicroBlaze MP3解碼器
                                   圖4 - MicroBlaze MP3解碼器示例
           
          自帶IP模塊的軟處理器核

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

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

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

          協處理加速的結果 
                   圖5 - 協處理加速的結果
           
                 協處理+可定制IP = 高性能

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

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

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



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();