基于FPGA的嵌入式系統設計
設計輸入主要有原理圖輸入和HDL輸入兩種方式,一般開發商都同時支持兩種輸入方式。有些熟悉硬件設計的工程師開始喜歡利用原理圖進行設計,這種方法非常直觀,但基于可移植性和規范化方面的考慮,絕大部分深入FPGA設計和ASIC設計的工程師最終都將統一到HDL平臺上來。
設計仿真包含功能仿真和時序仿真兩項主要內容,功能仿真忽略了綜合和布局布線導致的時延等因素,僅僅從邏輯上進行仿真,這對設計思路的驗證是有幫助的,但必須通過時序仿真作進一步驗證,發現并修正時序問題。
設計綜合將HDL語言生成用于布局布線的網表和相應的約束。綜合效果直接導致設計的性能和邏輯門的利用效率,因此,許多可編程邏輯器件開發商都支持第三方綜合和仿真工具,著名的有:Synplicity、Synopsys和ModelSim等。
布局布線工具利用綜合生成的網表,在FPGA內部進行布局布線,并生成可用于配置的比特流文件。布局布線工具與可編程邏輯器件工藝及其布線資源密切相關,一般由可編程邏輯器件開發商直接提供。
隨著可編程邏輯器件容量的不斷增大和設計性能要求的不斷提高,對傳統的FPGA開發工具提出了挑戰。以Xilinx公司為例,應IP Core開發和集成的需要,開發了IP Core使用工具Core Generator和IP Core包裝工具IP Capture;提供了模塊化設計工具Modular Design用于超大規模設計的團隊項目開發;用片內邏輯分析儀ChipScope ILA進行片內邏輯調試;Xpower則用于設計功耗分析并得出相應的解決方案;還有System Generator結合Simulink甚至可以簡單地實現數字信號處理模型(如FIR濾波器和FFT等)的FPGA硬件實現。此外,一些有爭議的設計工具,如基于C語言的FPGA開發工具DK1等為超大容量FPGA設計和復雜邏輯設計提供了值得嘗試的途徑。
3.2 處理器IP Core:Micro Blaze與PPC405將處理器IP Core嵌入到可編程邏輯器件是基于FPGA的嵌入式系統設計的前提條件,目前,國內外許多單位已成功的將51單片機、arm和PPC 等處理器內核嵌入各種可編程邏輯器件并進行了應用系統的設計,其中最著名的要數Xilinx公司的Micro Blaze和Altera公司的Nois了。Xilinx從Pico Blaze到Micro Blaze,再到PPC405,完成了從8位單片機到32位微處理器的逐步完善和性能提升。
Micro Blaze 是一個專門為Xilinx FPGA優化的RISC嵌入式軟處理器,符合IBM Core Connect標準,能夠與PPC405系統無縫連接,Micro Blaze軟處理器內核的結構如圖2所示,
圖2 Micro Blaze IP Core結構框圖
它具備以下基本特征:32個32bit通用寄存器硬件乘法器(僅限Virtex II系列)
32bit地址總線和32bit數據總線三操作數32bit指令字,兩種尋址模式獨立的片內程序32bit總線和數據總線片內總線遵循OPB(On- chip Peripheral Bus)標準通過LMB(Local Memory Bus)訪問片內Block RAM Micro Blaze是一個非常簡化,但有具有較高性能的軟處理器內核,他可以在性價比很高的Spartan II(-E)系列FPGA上實現,系統時鐘頻率為75MHZ,僅占用400個Slice資源,相當于10萬門FPGA容量的三分之一,而10萬門的 Spartan II系列FPGA的批量目標市場價格僅為10美元左右,非常適合消費類嵌入式產品應用需求。
在Xilinx最新一代FPGA Virtex II Pro中,嵌入了IBM公司的PPC405 RISC結構硬處理器(如圖3所示),
圖3 PPC405 IP Core結構框圖
該處理器內核具備以下基本特征:32位、Harvard結構,300MHZ以上工作頻率支持IBM Core Connect總線標準符合PowerPC UISA標準低功耗:0.9mW/MHZ硬件乘法和除法單元32個32bit通用寄存器16KB雙端口程序緩存16KB雙端口數據緩存內存管理單元(MMU)支持獨立的調試和跟蹤接口PPC405硬處理器內核性能上與現有的EPPC Core完全一致,含有PPC405 Core 的Virtex II Pro系列FPGA還附加了Gbit收發器和18×18硬件乘法器以及龐大的可編程邏輯資源,非常適合于通信、圖像信號處理以及復雜應用系統的設計,并提供了更加靈活的設計模式。
3.3 基于Micro Blaze和PPC405 Core的SOPC軟硬件開發
基于嵌入式處理器內核的SOPC系統開發是一個軟硬件協同設計的過程,一方面,它極大地提高了系統設計的靈活性和快速的設計迭代周期,使整個開發過程變得更加可控;另一方面,一些新的調試和設計問題,如邏輯分析儀和數字示波器的接入等,對調試設備和調試手段提出了更高的要求,為了盡可能避免問題的產生,要求有更好的設計工具和集成開發環境,保證IP Core資源的可用性和設計實現的一致性,讓設計工程師從煩瑣的內部時序調試中解放出來。
評論