如何用FPGA實現(xiàn)嵌入式系統(tǒng)
一、概述
??? 在許多領(lǐng)域中廣泛應(yīng)用的嵌入式計算系統(tǒng)(簡稱為嵌入式系統(tǒng)),是在更大的電子器件中嵌入的重復(fù)完成特定功能的計算系統(tǒng),它經(jīng)常不被器件的使用者所識別,但在各種常用的電子器件中能夠找到這些嵌入式系統(tǒng)。例如,消費類電子產(chǎn)品中的手機(jī)、尋呼機(jī)、數(shù)字相機(jī)、攝像機(jī)、錄像機(jī)、個人數(shù)字助理等,家用電器中的微波爐、洗衣機(jī)、烤箱、門禁系統(tǒng)、照明系統(tǒng)等,商用裝置中的卡片讀入器、掃描儀、打印機(jī)等。這些嵌入式系統(tǒng)具有幾個共同的特性:
1.單一的功能:一個嵌入式系統(tǒng)通常重復(fù)地執(zhí)行一個特定的程序,除非嵌入式系統(tǒng)的程序被新的版本更新,或者由于尺寸的限制幾個程序在一個系統(tǒng)中被調(diào)進(jìn)或調(diào)出,但即使這些例外也表示系統(tǒng)具有特定的功能。
2.嚴(yán)緊的限制:所有的計算系統(tǒng)在設(shè)計時都有許多約束的要求,但是對嵌入式系統(tǒng)的約束特別嚴(yán)緊,諸如成本、尺寸、性能和功耗等設(shè)計的限制條件可以評定系統(tǒng)實現(xiàn)的特性,而嵌入式系統(tǒng)還有特別高的設(shè)計技術(shù)要求。
3.實時的反應(yīng):許多嵌入式系統(tǒng)必須連續(xù)地對系統(tǒng)環(huán)境的變化做出反應(yīng),并且無延誤地實時計算出確定的結(jié)果。
4.軟硬件共存:一般嵌入式系統(tǒng)由嵌入式處理器、系統(tǒng)的外圍硬件設(shè)備、嵌入式操作系統(tǒng)和系統(tǒng)應(yīng)用軟件等四部分組成,是一個以微處理器為核心的數(shù)字系統(tǒng),涉及到硬件和軟件兩方面的技術(shù),嵌入式系統(tǒng)的微處理器可以是通用處理器或微處理器、單片機(jī)或DSP 的專用處理器、單用途處理器等。
由于設(shè)計的度量標(biāo)準(zhǔn)是對嵌入式系統(tǒng)實現(xiàn)可測量的特性,嵌入式系統(tǒng)的設(shè)計必須構(gòu)造全部預(yù)期功能的實現(xiàn),但面臨的挑戰(zhàn)是同時對大量設(shè)計的度量標(biāo)準(zhǔn)進(jìn)行優(yōu)化。
除去不可回收的工程(NRE)成本外,對設(shè)計系統(tǒng)的要求還包括單元成本、尺寸、性能功耗、靈活性、樣機(jī)時間、上市時間、可維護(hù)性、故障率和安全性等。
二、FPGA實現(xiàn)嵌入式系統(tǒng)的優(yōu)勢
從系統(tǒng)對上市時間的要求、可編程的特性以及集成度等方面考慮,以可編程門陣列(FPGA)來實現(xiàn)可配置的嵌入式系統(tǒng)已越來越廣泛。圖1表示FPGA實現(xiàn)嵌入式系統(tǒng)的市場預(yù)測,估計從2002年的23億美元,將增長到2008年的63億美元。
圖1 FPGA實現(xiàn)嵌入式系統(tǒng)的市場預(yù)測
采用90納米工藝生產(chǎn)FPGA器件之后,F(xiàn)PGA器件進(jìn)一步降低成本,減少功耗和提高性能,低成本使FPGA成為中小批量生產(chǎn)的應(yīng)用器件,應(yīng)用范圍從早期的軍事、通信系統(tǒng)等擴(kuò)展到低成本消費電子類等產(chǎn)品。目前在實現(xiàn)嵌入式系統(tǒng)的各個領(lǐng)域得到廣泛的應(yīng)用,并進(jìn)一步帶來設(shè)計方法的變化。表1列出主要的FPGA產(chǎn)品在成本、功耗和性能上的改進(jìn)。
表1 主要FPGA成本、功耗、性能介紹
結(jié)構(gòu) |
廠家 |
低成本 |
低功耗 |
高性能 |
S R A M 查 找 表 |
Xillinx |
EasyPath:霧任何轉(zhuǎn)換工作,與標(biāo)準(zhǔn)FPGA無本質(zhì)區(qū)別,以專利測試技術(shù)用戶規(guī)定測試模式測試 |
Spantan3L:利用獨特的“冬眠模式”靜態(tài)功耗Virtex4;節(jié)能配置電路和90nm三柵極氧化層技術(shù) |
Virtex4多平臺FPGA:用戶按需選LX SX FX Spartan3E有SPI接口MicroBiaze軟核含F(xiàn)PU |
結(jié)構(gòu)化ASIC:從引腳兼容、功能等同的FPGA原型作無縫移植向HardCopyII轉(zhuǎn)換 |
PowerPlay可編程邏輯功率分析和優(yōu)化軟件 |
NiosII嵌入式處理器內(nèi)核可采用快速、標(biāo)準(zhǔn)和經(jīng)濟(jì)等三種版本 |
||
專注于FPGA,使可編輯器件的成本下降 |
使用基于ASIC的I/O和硬IP,降低高速功能功耗 |
LFXP系列非易失性能由片內(nèi)閃存上電配置 |
||
多路開關(guān)反熔絲 |
ProASIC3/E:利用第三方閃存工藝技術(shù),3萬門FPGA<1.5美元低價 |
ProASIC3:基于閃存技術(shù)器件本身具有低功耗特性 |
新系列將提供32位ARMTMThumb系列微處理器軟內(nèi)核 |
|
ESP:芯片內(nèi)由ViaLink金屬線技術(shù)固化通用IP,又留可編程邏輯的空間,由用戶自有開發(fā) |
Eclipsell超低功耗系列:待機(jī)功耗14μA |
QL58xO系列QuickPCI產(chǎn)品具有低功耗、高性能、上電即用,符合PCI2.3標(biāo)準(zhǔn) |
三、基于模型的設(shè)計方法
當(dāng)今許多高集成度的嵌入硬件和軟件系統(tǒng)具有靈活的信號處理和通信。這些系統(tǒng)中硅密度和算法復(fù)雜性有驚人的增長,引起設(shè)計和校驗成本的上升。
嵌入系統(tǒng)的市場預(yù)測發(fā)現(xiàn),大于50%的嵌入系統(tǒng)項目不能按時完成,1/3的項目僅達(dá)到50%的性能而失敗。
即使采用新的校驗技術(shù)或在傳統(tǒng)設(shè)計工具和流程中擴(kuò)展語言也不足以改善開發(fā)進(jìn)程,這些增量的改進(jìn)不能消除傳統(tǒng)流程的問題:如模糊的基于文本的技術(shù)要求,人工的實現(xiàn)和后期的測試,這些問題都會產(chǎn)生擴(kuò)充的錯誤并危及產(chǎn)品的交貨時間。
與傳統(tǒng)設(shè)計流程對比,采用Simulink的基于模塊的設(shè)計技術(shù)在開發(fā)時間、成本和風(fēng)險等方面有驚人的改善。在應(yīng)用實時信號處理、通信和控制邏輯的航天、汽車、通訊和半導(dǎo)體工業(yè)已經(jīng)有大量文獻(xiàn)資料證明這些好處和優(yōu)點。
基于模型的設(shè)計技術(shù)由以下四部分組成:
1.來自模型的可執(zhí)行技術(shù)條件
由Simulink模塊集中的模塊作為系統(tǒng)和部件行為的可執(zhí)行技術(shù)要求,代替了傳統(tǒng)設(shè)計流程中模糊的文本文件。
這些模塊可以覆蓋數(shù)字和模擬的硬件及軟件,它們便于在工程隊伍之間清晰“無模糊”地交流和通信。
2.帶有仿真的設(shè)計
Simulink是一個為多領(lǐng)域動態(tài)系統(tǒng)仿真的平臺,它提供交互的圖形化方框圖環(huán)境,帶有為信號處理、通訊和控制等可定制的模塊庫集合,也可以產(chǎn)生綜合性系統(tǒng)技術(shù)條件、模型通道和其它的環(huán)境效應(yīng)。這些工具簡化了利用定量測量的系統(tǒng)分析,如信/噪比和位誤差率等。
Simulnk模塊是層次化的,可以很容易把它們分成子系統(tǒng)或元件,同時還可以定義所有為實現(xiàn)軟一件和硬件需要的全部信息,利用仿真來證明由模型定義的可執(zhí)行技術(shù)條件是完全的和正確工作的。
3.由自動代碼生成進(jìn)行實現(xiàn)
設(shè)計一旦被認(rèn)為已經(jīng)完善和通過校驗,就可以自動地從模型產(chǎn)生代碼,消除手工編碼的要求和人工編碼引入的錯誤。在實現(xiàn)設(shè)計的目標(biāo)系統(tǒng)中可以利用這個代碼作為實時的樣機(jī)和推廣應(yīng)用。
安裝在Simulink中的Xilinx/AI-tera的System Generator/DSP Builder可以對Xilinx/Altera的FPGA自動產(chǎn)生硬件代碼的能力。
4.持續(xù)的測試和校驗
可以確保整個開發(fā)過程的質(zhì)量,集成化的測試在任何級的模型中進(jìn)行,覆蓋模型的定量測試。持續(xù)的校驗和仿真可以及早發(fā)現(xiàn)錯誤,由于是及時發(fā)現(xiàn),修正錯誤代價就得到降低。系統(tǒng)模型或稱為“golden reference”可看作硬件或軟件實現(xiàn)的測試床,可以在協(xié)同仿真的軟件或硬件環(huán)路中驗證。
四、FPGA DSP 嵌入式系統(tǒng)
為什么利用FPGA來實現(xiàn)DSP系統(tǒng),概括地說,因為FPGA是極高并行度的信號處理引擎,能夠滿足算法復(fù)雜度不斷增加的應(yīng)用要求,通過并行方式提供極高性能的信號處理能力。Xilinx的XtrerneDSP模塊,如圖3所示,使得Virtex4/Sparten3系列廠PGA可以為高性能的數(shù)字信號處理提供理想的解決方案,達(dá)到傳統(tǒng)上由ASIC或ASSP完成的高性能信號處理能力??梢葬槍?shù)字通信和視頻圖象處理等應(yīng)用開發(fā)高性能的DSP引擎,也可在可編程DSP系統(tǒng)中作為預(yù)處理器或協(xié)處理器等。Vir-tex4 SX系列中DSP48模塊最多達(dá)到512個,工作頻率達(dá)到500MHz,成為算術(shù)密集應(yīng)用的理想器件。
DSP48模塊是一個18×18位二進(jìn)制補(bǔ)碼乘法器,跟隨一個48位符號擴(kuò)展的加法器/減法器/累加器,適應(yīng)DSP應(yīng)用中的眾多的功能。提高了操作數(shù)輸入、中間積和累加器輸出的可編程流水線操作,以及48位內(nèi)部總線等的吞吐量和適應(yīng)性,無需一般的結(jié)構(gòu)布線就可以實現(xiàn)前一個DSP48的輸出與后一個DSP48輸入的級聯(lián),增強(qiáng)了它的功能。
在復(fù)雜算法的數(shù)字處理系統(tǒng)中,系統(tǒng)要求的不斷提高和集成規(guī)模的不斷擴(kuò)大,使得系統(tǒng)結(jié)構(gòu)在設(shè)計的開始階段是不明確的,不可能直接用RTL(寄存器轉(zhuǎn)移級)設(shè)計方法進(jìn)行描述,所以將系統(tǒng)集成到數(shù)字芯片中。
采用數(shù)字技術(shù)對復(fù)雜算法進(jìn)行硬件實現(xiàn)時,首先遇到的向題是在結(jié)構(gòu)上并沒有預(yù)先的規(guī)定,因此需要首先對算法建模和仿真進(jìn)行優(yōu)化。與基于RTL針對結(jié)構(gòu)清晰的設(shè)計方法不同,算法設(shè)計把焦點從針對結(jié)構(gòu)的細(xì)節(jié)轉(zhuǎn)移到對設(shè)計的整體要求和行為,在最高的算法層次上考慮如何進(jìn)行設(shè)計,對系統(tǒng)的行為描述定義了設(shè)計要執(zhí)行的算法,不涉及或很少涉及實現(xiàn)細(xì)節(jié),因此行為描述比RTL描述要簡潔的多。
Xilinx公司與MathWork和TI公司等許多技術(shù)上世界領(lǐng)先的公司合作,在設(shè)計技術(shù)上提供許多基于模型的系統(tǒng)設(shè)計新方法。
圖4所示的DSP設(shè)計環(huán)境可以進(jìn)行系統(tǒng)的數(shù)學(xué)建模,算法優(yōu)化和改進(jìn),設(shè)計校驗和診斷,以及日DL產(chǎn)生和仿真等。涉及Xilinx的ISE硬件實現(xiàn)工具和嵌入系統(tǒng)開發(fā)包EDK,以及片內(nèi)邏輯分析工具(CChipScope Pro)等。第三方的工具包括MATLAB/SimuLink和ModeISim等,可以進(jìn)行HDL協(xié)同仿真和硬件在環(huán)路的協(xié)同仿真等,一旦設(shè)計優(yōu)化完成和仿真通過,可以直接利用IP核的網(wǎng)表文件進(jìn)行硬件實現(xiàn),設(shè)計的效率和可靠性大大提高。
DSP48可以高效地實現(xiàn)許多基本的算術(shù)功能,包括加法器、減法器、累加器、乘法累加、乘法多路復(fù)用、計數(shù)器、除法器、平方根函數(shù)和桶式移位器等。
圖5表示在Virtex4/Sparten3 FPGA在高性能DSP應(yīng)用中,各種不同F(xiàn)IR濾波器技術(shù)的適用情況,F(xiàn)IR濾波器的算法為:
公式中n個系數(shù)與n個相應(yīng)的數(shù)據(jù)采樣相乘,再對內(nèi)積求和產(chǎn)生單個結(jié)果。系數(shù)數(shù)值將確定濾波器的低通/高通/帶通特性,可以利用不同的架構(gòu)和不同的方法來實現(xiàn)濾波器的功能。在利用器件內(nèi)雙端口塊RAM實現(xiàn)輸入數(shù)據(jù)的緩存時,讀地址端口的時鐘速度要比輸入采樣數(shù)據(jù)寫入速度快n倍。乘法累加(MAC)的FIR濾波器最高的輸入采樣率將受到與系數(shù)個數(shù)有關(guān)的抽頭數(shù)影響,對單一的結(jié)構(gòu)降為時鐘頻率的1/n倍。圖5中在對數(shù)坐標(biāo)的情況下,隨系數(shù)數(shù)目增加,采樣率的變化呈直線下降。FPGA中可以利用眾多的嵌入乘法器或DSP48模塊實現(xiàn)完全并行的FIR濾波器,以增加硬件資源來換取使輸入數(shù)據(jù)采樣率達(dá)到系統(tǒng)的時鐘頻率。由于FPGA具有非常靈活的“液體硬件”性質(zhì),可以在其上實現(xiàn)各種結(jié)構(gòu)的濾波器,圖5表示了按照不同的結(jié)構(gòu)和參數(shù)選擇濾波器實現(xiàn)技術(shù)的原則。
五、FPGA嵌入微處理器系統(tǒng)
Xilinx FPGA的Virtex4和Virtexll -Pro系列嵌入7IBM PowerPC405的RISC微處理器硬核,而Virtex和Spanten II之后的所有系列都可以嵌入MicroBlaze軟核。
嵌入的PPC405硬核和MicroBlaze軟核都是32位的哈佛結(jié)構(gòu)微處理器。
PPC405硬核包括cache單元、存儲器管理單元(MMU)、指令獲取譯碼單元、執(zhí)行單元、定時器和診斷邏輯單元等,如圖6所示。指令的操作包括獲取、譯碼、執(zhí)行、寫回和加載回寫五級流水組成。包括加載和存儲等大多數(shù)指令都是一個時鐘周期內(nèi)執(zhí)行。
PPC405處理器模塊是與CoreConnect總線結(jié)構(gòu)相兼容的,包括Xilinx IP軟核在內(nèi)的任何CoreConnect兼容核都可以通過這個高性能總線結(jié)構(gòu)與處理器模塊集成。CoreConnect結(jié)構(gòu)提供處理器局部總線(PLB)、片內(nèi)外設(shè)總線(OPB)和器件控制寄存器(DCR)總線,利用這三個總線來互聯(lián)處理器模塊、Xilinx I戶軟核、第三方IP核和定制的邏輯。高性能外設(shè)連接到高帶寬低滯后的PCB總線,較慢速的外設(shè)連接到OPB總線,可以減少PLB總線的流量,提高整個系統(tǒng)性能。圖7給出PPC405和MicroBlaze的總線例子。
FPGA嵌入微處理器可以有三種不同的使用模式:
1.狀態(tài)機(jī)模式:可以無外設(shè)、無總線結(jié)構(gòu)和無實時操作系統(tǒng),達(dá)到最低的成本,應(yīng)用于VGA和LCD控制等,達(dá)到可高或可低的性能。
2.單片機(jī)模式:包括一定的外設(shè),可以利用實時操作系統(tǒng)和總線結(jié)構(gòu),以中等的成本,應(yīng)用于控制和儀表,達(dá)到中等的性能。
3.定制嵌入模式:高度集成擴(kuò)充的外設(shè),實時操作系統(tǒng)和總線結(jié)構(gòu),達(dá)到高性能,應(yīng)用于網(wǎng)絡(luò)和無線通信等。
隨著FPGA的成本不斷降低,F(xiàn)PGA實現(xiàn)嵌入式系統(tǒng)達(dá)到片上系統(tǒng)(SOC)的特性和可編程的要求具有明顯的優(yōu)越性,市場潛力很大。
評論
查看更多