康凱
摘 要:當前FPGA在嵌入式系統的設計中占有重要地位,本文闡述了FPGA、SOPC的特點及其發展趨勢以及使用,Quartus II、SOPC Builder和Nios II IDE工具在FPGA器件上實現SOPC嵌入式系統的設計。
關鍵詞:FPGA;SOPC;嵌入式;系統
1 前言
微電子技術的發展歷史是一個不斷創新的過程,這種創新包括理論創新、技術創新和應用創新。每一種創新都能開拓出一個新的領域,帶來新的市場,產生重大的影響。嵌入式系統有三十多年的發展歷史,其由硬件、軟件交替發展試發展而來,嵌入式實時內核出現,其包括中斷和任務管理、任務間通訊、同步和排斥、內存管理等。根據IEEE定義“devices used to control,monitor,or assist the operation of equipment,machinery or plants”(中文翻譯為:用于控制、監視、者輔助操作機器和設備的一種裝置)。
2 FPGA特點及優勢
現場可編程門陣列(Field Programmable Gate Array,簡稱FPGA)其是一種新型的可編程邏輯器(Programmable Logic Device簡稱PLD)。其能夠完成74系列芯片至高性能CPU數字器件的功能。現場可編程門陣列器件是一九八五年Xilinx公司第一次推出,其是一種高密度的可編程邏輯器,由 CMOS-SRAM工藝完成制造。FPGA的由可編程邏輯塊、可編程I/O模塊和可編程內部連線3部分組成。編譯數據存放在片內的即靜態隨機存儲器(Static RAM,簡稱SRAM),基于靜態隨機存儲器的FPGA器件從芯片外部加載配置數據進行工作。
3 SOPC基本結構
Altera公司秉承了創新的傳統,作為可編程芯片系統(System-on-a-Programmable-Chip,SOPC)解決方案的倡導者,其是基于大規模FPGA的一種單片系統。SOPC的設計技術集成計算機輔助設計技術CAD(Computer Aided Design)、電子設計自動化EDA(Electronic Design Automation)技術和大規模集成電路技術,LSI(Large Scale Integration)技術。其包括嵌入式處理器系統、接口系統、硬件協處理器、數字信號處理系統、數字信號通信系統、存儲電路以統等。
4 SOPC應用的3個方向
(1)基于FPGA嵌入IP硬核的應用
在FPGA中預先植入處理器,硬件設計和軟件組合。常見是ARM32位知識產權處理器核的器件,為實現高通用性,將常規的嵌入式處理器集成諸多通用及專用接口。將ARM或其他處理器核以硬核方式植入FPGA中,利用FPGA中的可編程邏輯資源,按系統功能需求設計接口功能模塊,實現設計功能,可降低系統的成本和功耗。FPGA靈活的硬件設計同軟件有機地融為一體,實現了高效能SOPC系統。
(2)基于FPGA嵌入IP軟核的應用
在FPGA中植入NIOSII軟核處理器,客戶根據要求,利用EDA工具,對NIOSII和外圍設備進行構建,其中IP硬核使用第三方公司。FPGA生產者無法有效控制成本,導致FPGA器件的價格相交高。IP硬核預先植入,導致使用者無法根據實際改變處理器的結構,不能嵌入DSP。無法在FPGA中集成多個處理器,不能裁減處理器硬件資源以求降低FPGA生產成本。
(3)基于HardCopy技術的應用
這種SOPC系統是將FPGA器件上SOPC系統向ASIC轉化。將大容量FPGA的靈活性和ASIC的市場特點結合,實現了對于大批量要求同時對成本敏感的產品,其避開了設計ASIC時的麻煩。HardCopy技術是全新的SOC級ASIC設計解決方案,將專用的硅片設計和FPGA至HardCopy遷移過的程組合技術,使用Quartus II將系統模型成功實現于HardCopy FPGA上,HardCopy器件就將大容量FPGA的靈活性同ASIC的優勢結合起來。
5 SOPC系統開發過程
SOPC設計包活以Nios II軟核處理器、硬件設計和仿真、軟件設計和調試等。其開發流程通是基于Quartus II、SOPC Builder的硬件設計和NiosII IDE軟件設計。
5.1 硬件設計
SOPC Builder軟件從NiosII處理器內核、NiosII開發套件提供的外設列表中選取合適的處理器、存儲器以、各外圍器件,同時定制和配置功能,分配外設地址,中斷號,設定復位地址,最終生成系統。客戶可自行設計指令邏輯到NiosII內核以便加速CPU性能。將生成的Nios II系統集成到之前建立的Quartus II工程,Quartus II工程中可加入Nios II系統以外的邏輯,可以是自身定制的硬件模塊,也可以是從Altera或第三方IP生產商中得到的其他現成的設計模塊。Quartus II軟件用來選取具體的Altera FPGA器件型號,為Nios II系統上的各I/O口分配管腳。編譯Quartus II工程,對HDL文件進行布局布線,從HDL源文件綜合生成適合目標的器件網表,生成FPGA配置文件,用下載電纜,將配置文件下載到目標板上。硬件校驗完成后,將新的硬件配置文件下載到目標板上的非易失存儲器中。
5.2 軟件開發
Nios II是Altera公司2004年6月推出的第2代軟核處理器。用Nios II IDE完成軟件開發,其是基于Eclipse IDE架構的開發環境。GNU開發工具如標準GCC編譯器,匯編器和makefile工具等。基于GDB的調試器,包括軟件仿真和硬件調試。嵌入式操作系統MicroC/OS-II和LwTCP/IP協議棧的支持。幫助客戶快速入門的軟件模板。Flash下載支持使用SOPC Builder生成系統后,直接使用Nios II IDE開始設計C/C++應用程序代碼。Altera提供外設驅動程序和硬件抽象層,使客戶能夠快速編寫與低級硬件細節無關的Nios II程序。除了應用代碼,客戶還可以在Nios II IDE 工程中設計和重新使用定制庫。
6 小結
隨著嵌入式系統技術的不斷進步,其是一個技術密集型,資金密集型和知識密集型的集成系統,基于FPGA的SOPC設計技術走在了當前電子系統設計領域最前沿,是嵌入式技術發展的重要方向其向著更高密度,更大容量,低成本,低電壓,微功耗,微封裝和綠色化方向發展。
參考文獻
[1]王剛,張瀲.基于FPGA的SOPC嵌入式系統設計與典型實例[M].電子工業出版社,2009.
(作者單位:中國航空工業集團公司洛陽電光設備研究所)