一種ARM+DSP協作架構的FPGA驗證實現
介紹了以ARM+DSP體系結構為基礎的FPGA實現。在其上驗證應用算法,實現了由ARM負責對整個程序的控制,由DSP負責對整個程序的計算,最大程度地同時發揮了ARM和DSP的各自優勢。
本文引用地址:http://www.104case.com/article/83026.htmARM通用CPU及其開發平臺,是近年來較為流行的開發平臺之一,而由ARM+DSP的雙核體系結構,更有其獨特的功能特點:由ARM完成整個體系的控制和流程操作,由DSP完成具體的算法和計算處理。這樣,不但可以充分地發揮ARM方便的控制優勢,同時又能最大限度地發揮DSP的計算功能。這在業界已逐漸成為一種趨勢。
本文的FPGA的Demo驗證,是在基于一款DSP內核處理器的研發基礎上,對其功能進行驗證的一個小目標識別算法的實現。考慮到軟件環境仿真的速度以及仿真模型的局限性,用FPGA進行硬件協同驗證。這樣,既能夠保證仿真的真實性,又能夠快速發現實際問題,減少不必要的流片次數,加快開發的進程,這對于一個大規模的SoC設計,已經成為不可或缺的手段之一,而且對節約成本也有很大好處。
1 系統體系結構
雙核系統的體系結構如圖1所示。
1.1 內嵌ARM內核的EPXA1芯片及其特點
圖1中,包含ARM922T內核的開發平臺選用的是Altera公司的excalibar系列,本驗證實現選用的型號是EPXA1。EPXA1是一款帶有100萬門可重配置PLD的ARM Core+PLD體系結構,可以通過quartus II軟件工具來靈活配置ARM Core同外部的端口連接,最大時鐘頻率能夠達到200MHz。EPXA1的高度集成化,不僅大大加快了ARM與片內各種資源的通訊速度,而且減小了硬件電路的復雜性、體積和功耗,真正實現了SOPC[1]。
1.2 FPGA硬件平臺及其特點
對于一個具體項目,FPGA芯片的選取要根據實際需求和特點來具體考慮。一般應從邏輯資源需求、易擴展能力、信號質量以及成本等因素來考慮。如圖1所示,本次設計采用的兩片FPGA分別為Xilinx公司的FPGA X3S5000和X2V6000,其容量分別為500萬門和600萬門。選用這兩塊芯片正是基于邏輯資源需求的考慮。FPGA X2V6000面向高端應用,存儲資源更多,功能更強大,適用于性能要求較高的DSP內核,但其成本相對也較高;而FPGA X3S5000成本較低,適用于一般性能要求的模塊。兩片FPGA都具備三個擴展槽,可做接口擴展,同時也能作為調試測試點用。
1.3 雙核體系結構設計特點
具體來講,整個體系結構是指通過人為設計電路圖,外部選用不同的FPGA器件來下載生成特定功能的外部硬件電路,在電路圖上對應相應的端口標號;同時,ARM Core可以通過quartus II工具方便地連接不同的端口標號,編譯運行生成相應的配置文件;ARM的啟動代碼中用以上的的配置文件信息來配置PLD,從而實現ARM同外部硬件電路即兩片FPGA的連接[3]。FPGA X3S5000中下載固化AHBC硬件電路以及外部SRAM Memory,而FPGA X2V6000中下載固化DSP Core以及支持AMBA協議的Wrapper。
這種體系結構能夠充分利用硬件資源,合理的版圖位置方便了ARM和DSP對外部SRAM的訪問,同時可快捷地實現ARM的控制功能,而且預留的擴展槽能夠較為方便地進行功能擴展和調試。DSP Core的Wrapper能夠快速響應ARM的控制請求,調動DSP Core進入不同的工作狀態。
2 系統工作流程及特點
系統工作流程圖如圖2所示,介紹如下。
評論