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