nios

NiosII處理器也能夠在HardCopy器件中實現,Altera還為基於NiosII處理器的系統提供ASIC的移植方式。 NiosII嵌入式處理器問與答頁面此頁提供AlteraNiosII系列嵌入式處理器的常見問題及解答。 Stratix器件及NiosII處理器系列StratixFPGA結構的優異特性和NiosII嵌入式處理器相結合,提供了很高的處理能力,滿足高頻寬系統套用需求。

前不久,Altera正式推出了NiosII系列32位RSIC嵌入式處理器NiosII系列軟核處理器是Altera的第二代FPGA嵌入式處理器,其性能超過200DMIPS,在AlteraFPGA中實現僅需35美分。Altera的Stratix、StratixGX、StratixII和Cyclone系列FPGA全面支持NiosII處理器,以後推出的FPGA器件也將支持NiosII。
自Altera於2000年推出第一代16位Nios處理器以來,已經交付了13000多套Nios開發套件,Nios成為最流行的軟核處理器。剛推出的NiosII系列採用全新的架構,比第一代Nios具有更高水平的效率和性能。和第一代相比,NiosII核平均占用不到50%的FPGA資源,而計算性能增長了1倍。
NiosII系列包括3種產品,分別是:NiosII/f(快速)——最高的系統性能,中等FPGA使用量;NiosII/s(標準)——高性能,低FPGA使用量;NiosII/e(經濟)——低性能,最低的FPGA使用量。這3種產品具有32位處理器的基本結構單元——32位指令大小,32位數據和地址路徑,32位通用暫存器和32個外部中斷源;使用同樣的指令集架構(ISA),100%二進制代碼兼容,設計者可以根據系統需求的變化更改CPU,選擇滿足性能和成本的最佳方案,而不會影響已有的軟體投入。
特別是,NiosII系列支持使用專用指令。專用指令是用戶增加的硬體模組,它增加了算術邏輯單元(ALU)。用戶能為系統中使用的每個NiosII處理器創建多達256個專用指令,這使得設計者能夠細緻地調整系統硬體以滿足性能目標。專用指令邏輯和本身NiosII指令相同,能夠從多達兩個源暫存器取值,可選擇將結果寫回目標暫存器。同時,NiosII系列支持60多個外設選項,開發者能夠選擇合適的外設,獲得最合適的處理器、外設和接口組合,而不必支付根本不使用的矽片功能。
NiosII系列能夠滿足任何套用32位嵌入式微處理器的需要,客戶可以將第一代Nios處理器設計移植到某種NiosII處理器上,Altera將長期支持現有FPGA系列上的第一代Nios處理器。另外,Altera提供了一鍵式移植選項,可以升級至NiosII系列。NiosII處理器也能夠在HardCopy器件中實現,Altera還為基於NiosII處理器的系統提供ASIC的移植方式。
NiosII處理器具有完善的軟體開發套件,包括編譯器、集成開發環境(IDE)、JTAG調試器、實時作業系統(RTOS)和TCP/IP協定棧。設計者能夠用AlteraQuartusII開發軟體中的SOPCBuilder系統開發工具很容易地創建專用的處理器系統,並能夠根據系統的需求添加NiosII處理器核的數量。
使用NiosII軟體開發工具能夠為NiosII系統構建軟體,即一鍵式自動生成適用於系統硬體的專用C/C++運行環境。NiosII集成開發環境(IDE)提供了許多軟體模板,簡化了項目設定。此外,NiosII開發套件包括兩個第三方實時作業系統(RTOS)——MicroC/OS-II(Micrium),NucleusPlus(ATI/Mentor)以及供網路套用使用的TCP/IP協定棧。
長期以來,Altera一直推行嵌入式處理器戰略的原因是,隨著套用的ASIC開發日益受到成本的困擾,OEM日漸轉向FPGA來構建自己的系統。這些系統中絕大多數需要一個處理器,而Altera正是為設計者提供了為FPGA最佳化的靈活的嵌入式處理器方案,可以滿足16位和32位嵌入式處理器市場的需求。估計到2007年,該市場價值將到達110億美元。
在FPGA中使用軟核處理器比硬核的優勢在於,硬核實現沒有靈活性,通常無法使用最新的技術。隨著系統日益先進,基於標準處理器的方案會被淘汰,而基於NiosII處理器的方案是基於HDL源碼構建的,能夠修改以滿足新的系統需求,避免了被淘汰的命運。將處理器實現為HDL的IP核,開發者能夠完全定製CPU和外設,獲得恰好滿足需求的處理器。
NiosII嵌入式處理器特性
嵌入式處理器Nios®II系列為Altera®FPGA和可程式片上系統(SOPC)的集成套用專門做了最佳化。表1詳細描述了NiosII軟核嵌入式處理器系列的特性,更多通用信息請參閱NiosII簡介頁面。

表1.NiosII嵌入處理器系列特性
特性說明
設計流程及工具
硬體開發工具本頁面詳列了搭建NiosII處理器硬體系統所用到的開發工具。
軟體開發工具本頁面提供了NiosII集成開發環境(IDE)的相關信息,這是一種開發人員廣泛套用的,包含編輯、編譯和調試套用軟體等功能的集成開發環境。
開發套件Altera及其合作夥伴提供了大量套用了NiosII系列嵌入式處理器的開發板套件。
系統級設計流程Altera的SOPCBuilder工具提供了快速搭建SOPC系統的能力,這種架構可以是包含一個或幾個CPU,提供存儲器接口,外圍設備和系統互連邏輯的複雜系統。
構架及特性
NiosII處理器核NiosII處理器系列由三個不同的核心組成,可以靈活地控制成本和性能,從而擁有廣泛的套用空間。
JTAG調試模組JTAG調試模組提供了通過遠端PC主機實現NiosII處理器的在晶片控制、調試和通訊功能,這是NiosII處理器的一個極具競爭力的特性。
用戶指令開發人員可以在NiosIICPU核內增加硬體,用以執行複雜運算任務,為時序要求緊張的軟體提供加速算法。
外圍設備及接口NiosII開發套件包括一套標準外圍設備庫,在Altera的FPGA中可以免費使用。
Avalon™交換式匯流排Avalon交換式匯流排在處理器、外圍設備和接口電路之間實現網路連線,並提供高頻寬數據路徑、多路和實時處理能力。Avalon交換式匯流排可以通過調用SOPCBuilder設計軟體自動生成。
設計資源
NiosII處理器支持NiosII處理器支持頁面提供了對NiosII設計者有幫助的多種信息,其中包括使用許可、下載、參考設計、文檔資料、線上展示及常見問題。
嵌入式處理器方案中心嵌入式處理器方案中心提供了大量的信息以幫助開發人員套用Altera的嵌入式處理器實現系統設計。可獲取的信息有器件支持、軟體開發工具,外圍設備及接口、培訓、技術支持和資料。
Nios續訂信息NiosII開發套件包括一年期的CPU、外設和嵌入式軟體開發工具的升級許可。(其中不包括Quartus®II軟體的升級。)客戶可以通過Nios續訂程式每年訂購包括NiosII處理器的升級等額外信息。
NiosII嵌入式處理器問與答頁面此頁提供AlteraNiosII系列嵌入式處理器的常見問題及解答。

Stratix®II器件及NiosII處理器系列StratixII器件結構的優異特性和NiosII嵌入式處理器系列相結合,提供了無與倫比的處理能力,滿足網路、通信、數據信號處理(DSP)套用、海量存儲及其他高頻寬系統的套用需求。
Stratix器件及NiosII處理器系列StratixFPGA結構的優異特性和NiosII嵌入式處理器相結合,提供了很高的處理能力,滿足高頻寬系統套用需求。
Cyclone™器件及NiosII處理器系列在Cyclone器件中套用NiosII嵌入式處理器系列,降低了成本,提高了靈活性,在價格敏感套用環境中給低成本分立式微處理器提供了一個理想的替代品。

核心器件:NiosII

.clock(s1_clk),file://s1_clk為來自Avalon匯流排模組上的S1連線埠的時鐘信號
.ACLR(s1_reset),file://s1_reset為來自Avalon匯流排模組上的S1連線埠的復位信號
.q(s1_readdata),file://s1_readdata為流向Avalon匯流排模組的S1連線埠的32位數據
.address(s1_address)file://s1_address為來自於Avalon匯流排模組的S1連線埠的地址
);
file://控制暫存器讀寫連線埠(S2):
control_registerthecontrol_register
(
.clk(s2_clk),file://s2_clk為來自Avalon匯流排模組上的S2連線埠的時鐘信號
.reset(s2_reset),file://s2_reset為來自Avalon匯流排模組上的S2連線埠的復位信號
.read(s2_read),file://s2_read為來自Avalon匯流排模組上的S2連線埠的讀使能信號
.write(s2_write),file://s2_write為來自Avalon匯流排模組上的S2連線埠的寫使能信號
.schipselect(s2_chipselect),file://s2_chipselect為來自Avalon匯流排模組上的S2連線埠的片選信號
.address(s2_address),file://s2_address為來自Avalon匯流排模組上的S2連線埠的地址
.readdata(s_readdata),file://s2_chipselect為流向Avalon匯流排模組上的S2連線埠的32位讀數據
.writedata(s2_writedata)file://s2_writedata為來自Avalon匯流排模組上的S2連線埠的32位寫數據
);

啟動方案的軟體設計

啟動方案的軟體設計目標是當系統復位後,在外部處理器向NiosII程式存儲器和數據存儲器傳輸數據的過程中,NiosII處理器運行要受到外部處理器的控制。當一切就緒後,外部處理器發出一條釋放NiosII處理器的命令,接下來NiosII處理器就可以正常運行了。

軟體部分主要就是存放在啟動延遲模組中ROM的代碼,此代碼主要是檢測啟動延遲模組中控制暫存器2的第0位是否為1。若為1,則跳轉到控制暫存器1中所存儲的地址處執行。若設控制暫存器的基址為CONTROL_REG_BASE,為了減少代碼量,這段代碼容易用NiosII的彙編指令來實現,代碼部分在此從略。

最後本方案在我們自己設計的一塊開發板上經過測試,能夠正確完成NiosII處理器的啟動。

結語

採用多處理器的系統雖然可以提高系統的性能,但傳統的多處理器系統一般只出現在工作站及高端PC上,在嵌入式系統中由於其設計代價太高很少採用。本文設計了一種在多處理器系統中的NiosII軟核處理器的啟動方案,這個方案在外部處理器向NiosII的程式存儲器和數據存儲器載入數據時,可以控制NiosII處理器的啟動。

相關詞條

相關搜尋

熱門詞條

聯絡我們