基于Nios II內(nèi)核的SOPC開發(fā)板的設(shè)計
隨著 EDA 技術(shù)及微電子技術(shù)的飛速發(fā)展,現(xiàn)場可編程門陣列(Field Programmable Gate Array,簡稱FPGA)的性能有了大幅度的提高,F(xiàn)PGA的設(shè)計水平也達(dá)到了一個新的高度。傳統(tǒng)的嵌入式系統(tǒng)設(shè)計方法已不能適應(yīng)當(dāng)前設(shè)計的需要?;?FPGA 的嵌入式系統(tǒng)設(shè)計為現(xiàn)代電子產(chǎn)品設(shè)計帶來了更大的靈活性,以 Altera 公司開發(fā)的 Nios II 軟核處理器為核心的SOPC(System on Programmable Chip)系統(tǒng)便是把嵌入式系統(tǒng)應(yīng)用在 FPGA 上的典型例子。
SOPC開發(fā)板的核心器件是Altera公司生產(chǎn)的Cyclone系列FPGA,其關(guān)鍵技術(shù)是在Quartus II、SOPC Builder及Nios IDE平臺上實現(xiàn)可配置、可剪裁系統(tǒng)的設(shè)計。
1 Nios II軟核處理器的特點
Nios II系列32位 RISC 嵌入式處理器具有很大的靈活性,可以在多種系統(tǒng)設(shè)置組合中進(jìn)行選擇,達(dá)到性能、特性和成本目標(biāo)。其具有超過200DMIP的性能。
Nios II系列嵌入式處理器是一款采用流水線技術(shù)、單指令流的RISC CPU,廣泛應(yīng)用于嵌入式系統(tǒng)。Nios II 包括三種內(nèi)核,即快速的 Nios II/f (最高性能的優(yōu)化)內(nèi)核、經(jīng)濟的 Nios II/e (最小邏輯占用的優(yōu)化)內(nèi)核以及標(biāo)準(zhǔn)的 Nios II/s (平衡于性能和尺寸)內(nèi)核,每種內(nèi)核根據(jù)不同的性能而優(yōu)化。
考慮到性能和成本,通常采用 Nios II 標(biāo)準(zhǔn)內(nèi)核設(shè)計。Nios II 嵌入式CPU支持32位指令集、32位數(shù)據(jù)線寬度、32個通用寄存器、32個外部中斷源、2GB尋址空間,包含高達(dá)256個用戶自定義的 CPU 定制指令。其可選的片上 JTAG 調(diào)試模塊是基于邊界測試的調(diào)試邏輯,支持硬件斷點、數(shù)據(jù)觸發(fā)和片外片內(nèi)的調(diào)試跟蹤。Nios II 標(biāo)準(zhǔn)內(nèi)核設(shè)計框圖如圖1所示。
圖1 Nios II 標(biāo)準(zhǔn)內(nèi)核設(shè)計框圖
2 SOPC 技術(shù)的實現(xiàn)
SOPC技術(shù)是一種靈活、高效的片上系統(tǒng)SOC設(shè)計方案,其工作環(huán)境是Altera Quarlus II中的SOPC Builder。與其他SOC設(shè)計相比,其優(yōu)點在于可編程性,利用FPGA的可編程性進(jìn)行SOC設(shè)計。通過采用SOPC Builder工具,用戶可以很方便地將處理器、存儲器和其他外設(shè)連接起來,組成一個完整的嵌入式系統(tǒng)。SOPC從內(nèi)部的角度,主要包含兩個部分:圖形用戶界面(GUI)和系統(tǒng)生成程序。圖形用戶界面內(nèi)每個組件也可以提供自己的配置圖形用戶界面,GUI 創(chuàng)建系統(tǒng)PTF文件對系統(tǒng)進(jìn)行描述;生成程序創(chuàng)建針對目標(biāo)器件的系統(tǒng)HDL描述。利用SOPC Builder創(chuàng)建的GUI如圖2所示。
圖2 SOPC Builder GUI界面
SOPC開發(fā)板設(shè)計實例
SOPC開發(fā)板選擇Cyclone系列器件EP1C3,該器件基于成本優(yōu)化的全銅1.5V SRAM工藝,容量為2910個邏輯單元,59904比特嵌入式RAM,支持單端I/O標(biāo)準(zhǔn),通過LVDS標(biāo)準(zhǔn)可提供104個信道的I/O支持。利用鎖相環(huán)(PLL)可設(shè)計復(fù)雜的時鐘管理電路。
1 開發(fā)板的硬件設(shè)計
開發(fā)板主要包括以下幾部分:4個七段共陽數(shù)碼管、4個LED、2個RS232接口、1個USB接口、1個PS2接口、LCD接口(19264)、蜂鳴器和25MHz有源晶振,下載電路包括JTAG方式和AS方式,采用EPCS1作為串行配置器件。硬件原理框圖如圖3所示,下載電路如圖4所示。
圖3 開發(fā)板硬件原理框圖
圖4 JTAG與AS下載方式
2 Nios II內(nèi)核設(shè)計實例
Nios II內(nèi)核的設(shè)計是建立在Quartus II、SOPC Builder和Nios IDE等開發(fā)環(huán)境基礎(chǔ)上的,Nios CPU內(nèi)核設(shè)計流程如圖5所示,生成的Nios CPU內(nèi)核如圖6所示。
圖5 Nios CPU內(nèi)核設(shè)計流程圖
圖6 Nios CPU內(nèi)核實例
結(jié)束語
利用Nios II軟核處理器的優(yōu)勢,在FPGA內(nèi)部嵌入可定制的CPU,使用戶可以根據(jù)需求來靈活的配置系統(tǒng),即節(jié)約了成本,又加快了產(chǎn)品推向市場的速度,且易于升級改進(jìn)。本文提出的基于Nios II內(nèi)核的SOPC開發(fā)板的設(shè)計給 Nios II的應(yīng)用提供了一個有效的硬件平臺,具有廣泛的實際應(yīng)用價值。但由于EP1C3內(nèi)部RAM資源有限,需外擴RAM和FLASH才能滿足更多開發(fā)和應(yīng)用。針對這個問題,開發(fā)板上已經(jīng)預(yù)留出外擴接口,可以滿足用戶設(shè)計上更多的需求。
評論