設(shè)計靈活、高性能的嵌入式系統(tǒng)
發(fā)布時間:2007/8/30 0:00:00 訪問次數(shù):415
來源:賽靈思(Xilinx) 作者:Jay Gould
您的下一個嵌入式系統(tǒng)設(shè)計項目需要的是什么:是可以讓您輕松地定制設(shè)計的靈活的系統(tǒng)元件,還是額外的性能空間,以便您在設(shè)計周期中加入更多的功能?為什么要讓自己承受過度的開發(fā)壓力,并且只能舍此取彼呢?軟處理和IP定制能夠為同時確保靈活性和高性能提供了最佳的解決方案,將定制設(shè)計的概念和協(xié)處理帶來的性能加速結(jié)合起來。
分立處理器只能提供固定的外設(shè)選擇,并且一些性能受到時鐘頻率的限制。在嵌入式FPGA所提供的平臺上,您可以創(chuàng)建一個具有大量定制處理器核、靈活的外設(shè)、甚至協(xié)處理減負(fù)引擎的系統(tǒng),F(xiàn)在,您能設(shè)計出一個不折不扣的定制處理系統(tǒng)——不僅滿足最具挑戰(zhàn)性的項目要求,而且能夠沖破性能極限,與此同時,通過使用FPGA硬件實現(xiàn)加速的軟件指令最大限度地提高系統(tǒng)的性能。隨著FPGA架構(gòu)的加速,從前的限制便不復(fù)存在。
靈活性
除了在Xilinx® VirtexTM平臺的FPGA中所提供的高性能PowerPCTM硬件處理核和使用匯編語言編程的占位空間更小的PicoBlazeTM微控制器外,Xilinx公司還提供一種可定制的通用32位RISC處理器。由于可以使用Virtex或SpartanTM系列產(chǎn)品中的任意一款在邏輯門外對其進行構(gòu)建,因此MicroBlazeTM軟件處理器的使用十分靈活,并且您能夠通過定制處理IP外設(shè)來滿足您的特定要求。
使用可定制核和IP,您只需創(chuàng)建所需的系統(tǒng)元件而不浪費任何芯片資源。當(dāng)您使用像FPGA這樣的可編程器件構(gòu)建一個處理系統(tǒng)時,就不會在分立器件中浪費任何未使用的資源,也不會出現(xiàn)當(dāng)需要的外設(shè)數(shù)量超過所提供的數(shù)量時(例如您的設(shè)計需要3個UART,而分立器件只能提供1個或2個),設(shè)計無法繼續(xù)進行的情況。此外,您不會受限于初始的架構(gòu)設(shè)想;相反,您能不停地進行大的修改并且能夠調(diào)整系統(tǒng)架構(gòu)來適應(yīng)新的需求特性或不斷變化的標(biāo)準(zhǔn)。
圖1 - 簡化的MicroBlaze框圖
在“2006年嵌入式系統(tǒng)大會”的論文匯編中有一個FIR濾波器的設(shè)計示例,其中,MicroBlaze系統(tǒng)包含一個可選的符合IEEE 754標(biāo)準(zhǔn)的內(nèi)部浮點單元(FPU),從而大大提高了該處理器核上僅可由軟件執(zhí)行的操作的性能。通過加入可選的MicroBlaze元件,可以迅速地提高應(yīng)用程序的性能。
這些可選內(nèi)部元件的另外一個優(yōu)勢就是它們得到MicroBlaze C編譯器的全面支持,因此不必改變源代碼。在這個FIR濾波器設(shè)計示例中,由于調(diào)用外部C代碼庫的浮點函數(shù)的操作被使用新的FPU的指令自動取代,因此加入FPU和對設(shè)計的重復(fù)編譯意味著直接的性能提升。
與軟件重新編碼方法相比,使用專用硬件處理單元,能夠?qū)⑼瓿商囟ㄈ蝿?wù)所需的時鐘周期數(shù)減少幾個數(shù)量級,從而提高處理器的性能。圖1的簡化圖顯示了一個帶有內(nèi)部FPU IP核、本地存儲器核和像UART或JTAG調(diào)試端口這樣的可選外設(shè)的MicroBlaze處理系統(tǒng)。由于系統(tǒng)是可定制的,我們可以方便地實現(xiàn)Xilinx處理器IP產(chǎn)品目錄中所包含的多個UART或其他的IP外設(shè)核,其中包括DMA控制器、IIC、CAN或DDR存儲器接口等。
該IP產(chǎn)品目錄提供了門類齊全的其他處理IP(橋、仲裁器、中斷控制器、GPIO、定時器和存儲器控制器等),以及適用于每個IP核的可定制選項(例如波特率和奇偶校驗位),以對元件的特性、性能和尺寸/成本進行優(yōu)化。此外,您還能設(shè)置與處理核相關(guān)的時鐘頻率、調(diào)試模式、本地存儲器容量、高速緩存和其它選項。僅僅增加一個FPU核,我們就能創(chuàng)建一個可將前文所提到的FIR的實現(xiàn)從8,500,000個CPU周期優(yōu)化至177,000個CPU周期的MicroBlaze系統(tǒng),這樣,在不改變C代碼源文件的情況下即可將性能提高48倍。
在第二個示例中,我們將構(gòu)建另外一個設(shè)計模塊,實現(xiàn)一個面向MP3解碼器的IDCT引擎,這一設(shè)計可使應(yīng)用模塊的速度加快一個數(shù)量級。
您可以使用圖2中所示的開發(fā)工具,方便地創(chuàng)建上文提到的兩個處理器平臺。這個集成式軟件/硬件開發(fā)工具包括一塊直接支持PowerPC和MicroBlaze處理器設(shè)計的Virtex-4參考板。開發(fā)工具還包括所有的編譯器和所需的FPGA設(shè)計工具,以及IP目錄和用作預(yù)校準(zhǔn)的參考設(shè)計。
再加上JTAG探測器和系統(tǒng)電纜,此開發(fā)工具能夠讓您在開始編輯和調(diào)試自己的設(shè)計變更之前,輕松構(gòu)建和運行一個工作系統(tǒng)。不同器件和板卡的開發(fā)工具,可從Xilinx公司及其分銷商以及第三方嵌入式系統(tǒng)合作伙伴那里得到。
圖2 - 集成式硬件/軟件開發(fā)工具
查明瓶頸和實現(xiàn)協(xié)處理
MicroBlaze處理器是EDN公司2005年的百件熱門產(chǎn)品之一,使用獲得IEC(國際工程協(xié)會)大獎的Xilinx Platform Studio(XPS)嵌入式工具套件實現(xiàn)硬件/IP的設(shè)置和軟件的開發(fā)。XPS包含在我們預(yù)先配置的嵌入式開發(fā)系統(tǒng)中,是用來創(chuàng)建系統(tǒng)的
來源:賽靈思(Xilinx) 作者:Jay Gould
您的下一個嵌入式系統(tǒng)設(shè)計項目需要的是什么:是可以讓您輕松地定制設(shè)計的靈活的系統(tǒng)元件,還是額外的性能空間,以便您在設(shè)計周期中加入更多的功能?為什么要讓自己承受過度的開發(fā)壓力,并且只能舍此取彼呢?軟處理和IP定制能夠為同時確保靈活性和高性能提供了最佳的解決方案,將定制設(shè)計的概念和協(xié)處理帶來的性能加速結(jié)合起來。
分立處理器只能提供固定的外設(shè)選擇,并且一些性能受到時鐘頻率的限制。在嵌入式FPGA所提供的平臺上,您可以創(chuàng)建一個具有大量定制處理器核、靈活的外設(shè)、甚至協(xié)處理減負(fù)引擎的系統(tǒng),F(xiàn)在,您能設(shè)計出一個不折不扣的定制處理系統(tǒng)——不僅滿足最具挑戰(zhàn)性的項目要求,而且能夠沖破性能極限,與此同時,通過使用FPGA硬件實現(xiàn)加速的軟件指令最大限度地提高系統(tǒng)的性能。隨著FPGA架構(gòu)的加速,從前的限制便不復(fù)存在。
靈活性
除了在Xilinx® VirtexTM平臺的FPGA中所提供的高性能PowerPCTM硬件處理核和使用匯編語言編程的占位空間更小的PicoBlazeTM微控制器外,Xilinx公司還提供一種可定制的通用32位RISC處理器。由于可以使用Virtex或SpartanTM系列產(chǎn)品中的任意一款在邏輯門外對其進行構(gòu)建,因此MicroBlazeTM軟件處理器的使用十分靈活,并且您能夠通過定制處理IP外設(shè)來滿足您的特定要求。
使用可定制核和IP,您只需創(chuàng)建所需的系統(tǒng)元件而不浪費任何芯片資源。當(dāng)您使用像FPGA這樣的可編程器件構(gòu)建一個處理系統(tǒng)時,就不會在分立器件中浪費任何未使用的資源,也不會出現(xiàn)當(dāng)需要的外設(shè)數(shù)量超過所提供的數(shù)量時(例如您的設(shè)計需要3個UART,而分立器件只能提供1個或2個),設(shè)計無法繼續(xù)進行的情況。此外,您不會受限于初始的架構(gòu)設(shè)想;相反,您能不停地進行大的修改并且能夠調(diào)整系統(tǒng)架構(gòu)來適應(yīng)新的需求特性或不斷變化的標(biāo)準(zhǔn)。
圖1 - 簡化的MicroBlaze框圖
在“2006年嵌入式系統(tǒng)大會”的論文匯編中有一個FIR濾波器的設(shè)計示例,其中,MicroBlaze系統(tǒng)包含一個可選的符合IEEE 754標(biāo)準(zhǔn)的內(nèi)部浮點單元(FPU),從而大大提高了該處理器核上僅可由軟件執(zhí)行的操作的性能。通過加入可選的MicroBlaze元件,可以迅速地提高應(yīng)用程序的性能。
這些可選內(nèi)部元件的另外一個優(yōu)勢就是它們得到MicroBlaze C編譯器的全面支持,因此不必改變源代碼。在這個FIR濾波器設(shè)計示例中,由于調(diào)用外部C代碼庫的浮點函數(shù)的操作被使用新的FPU的指令自動取代,因此加入FPU和對設(shè)計的重復(fù)編譯意味著直接的性能提升。
與軟件重新編碼方法相比,使用專用硬件處理單元,能夠?qū)⑼瓿商囟ㄈ蝿?wù)所需的時鐘周期數(shù)減少幾個數(shù)量級,從而提高處理器的性能。圖1的簡化圖顯示了一個帶有內(nèi)部FPU IP核、本地存儲器核和像UART或JTAG調(diào)試端口這樣的可選外設(shè)的MicroBlaze處理系統(tǒng)。由于系統(tǒng)是可定制的,我們可以方便地實現(xiàn)Xilinx處理器IP產(chǎn)品目錄中所包含的多個UART或其他的IP外設(shè)核,其中包括DMA控制器、IIC、CAN或DDR存儲器接口等。
該IP產(chǎn)品目錄提供了門類齊全的其他處理IP(橋、仲裁器、中斷控制器、GPIO、定時器和存儲器控制器等),以及適用于每個IP核的可定制選項(例如波特率和奇偶校驗位),以對元件的特性、性能和尺寸/成本進行優(yōu)化。此外,您還能設(shè)置與處理核相關(guān)的時鐘頻率、調(diào)試模式、本地存儲器容量、高速緩存和其它選項。僅僅增加一個FPU核,我們就能創(chuàng)建一個可將前文所提到的FIR的實現(xiàn)從8,500,000個CPU周期優(yōu)化至177,000個CPU周期的MicroBlaze系統(tǒng),這樣,在不改變C代碼源文件的情況下即可將性能提高48倍。
在第二個示例中,我們將構(gòu)建另外一個設(shè)計模塊,實現(xiàn)一個面向MP3解碼器的IDCT引擎,這一設(shè)計可使應(yīng)用模塊的速度加快一個數(shù)量級。
您可以使用圖2中所示的開發(fā)工具,方便地創(chuàng)建上文提到的兩個處理器平臺。這個集成式軟件/硬件開發(fā)工具包括一塊直接支持PowerPC和MicroBlaze處理器設(shè)計的Virtex-4參考板。開發(fā)工具還包括所有的編譯器和所需的FPGA設(shè)計工具,以及IP目錄和用作預(yù)校準(zhǔn)的參考設(shè)計。
再加上JTAG探測器和系統(tǒng)電纜,此開發(fā)工具能夠讓您在開始編輯和調(diào)試自己的設(shè)計變更之前,輕松構(gòu)建和運行一個工作系統(tǒng)。不同器件和板卡的開發(fā)工具,可從Xilinx公司及其分銷商以及第三方嵌入式系統(tǒng)合作伙伴那里得到。
圖2 - 集成式硬件/軟件開發(fā)工具
查明瓶頸和實現(xiàn)協(xié)處理
MicroBlaze處理器是EDN公司2005年的百件熱門產(chǎn)品之一,使用獲得IEC(國際工程協(xié)會)大獎的Xilinx Platform Studio(XPS)嵌入式工具套件實現(xiàn)硬件/IP的設(shè)置和軟件的開發(fā)。XPS包含在我們預(yù)先配置的嵌入式開發(fā)系統(tǒng)中,是用來創(chuàng)建系統(tǒng)的
熱門點擊
- PPCBoot在MPC8250上的移植方法
- 嵌入式指紋鎖的設(shè)計與實現(xiàn)
- 嵌入式微控制器MC68HC912B32背景調(diào)
- 利用TriMedia注冊表和成員管理器實現(xiàn)B
- 嵌入式頻率計的設(shè)計
- uClinux下中斷驅(qū)動的I/O方式
- 基于FA526處理器SoC平臺的Linux操
- 基于ARM控制器LPC2214的稅控收款機系
- 基于VxWorks的產(chǎn)品映象設(shè)計
- 基于PCA82C250與MCU間的直連通信網(wǎng)
推薦技術(shù)資料
- PWM輸入功率驅(qū)動器工作原理
- 隔離式 DC/DC 變換器和模
- 解讀集成4 個高效降壓 DC/
- 數(shù)字隔離功能全集成 DC/DC
- 集成低噪聲電流輸入模數(shù)轉(zhuǎn)換器 (ADC)應(yīng)用
- 128 通道20 位電流數(shù)字轉(zhuǎn)換器應(yīng)用探究
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究