Nios II

Nios II

2004年,Altera 正式推出了Nios II系列32位RISC嵌入式處理器。Nios II系列軟核處理器是Altera的第二代FPGA嵌入式處理器,其性能超過200DMIPS,在Altera FPGA中實現僅需35美分。Altera的Stratix 、Stratix GX、 Stratix II和 Cyclone系列FPGA全面支持Nios II處理器,以後推出的FPGA器件也將支持Nios II。

自Altera


於2000年推出第一代16位Nios處理器以來,已經交付了13000多套Nios開發套件,Nios成為最流行的軟核處理器。於2004年6月推出的Nios Ⅱ系列採用全新的架構,比第一代Nios具有更高水平的效率和性能。和第一代相比,Nios Ⅱ核平均佔用不到50%的FPGA資源,而計算性能增長了1倍。

Nios Ⅱ分類


Nios Ⅱ系列
包括3種產品,分別是:Nios Ⅱ/f(快速)——最高的系統性能,中等FPGA使用量;Nios Ⅱ/s(標準)——高性能,低FPGA使用量;Nios Ⅱ/e(經濟)——低性能,最低的FPGA使用量。這3種產品具有32位處理器的基本結構單元——32位指令大小,32位數據和地址路徑,32位通用寄存器和32個外部中斷源;使用同樣的指令集架構(ISA),100%二進位代碼兼容,設計者可以根據系統需求的變化更改CPU,選擇滿足性能和成本的最佳方案,而不會影響已有的軟體投入。
特別是,Nios Ⅱ系列支持使用專用指令。專用指令是用戶增加的硬體模塊,它增加了算術邏輯單元(ALU)。用戶能為系統中使用的每個Nios Ⅱ處理器創建多達256個專用指令,這使得設計者能夠細緻地調整系統硬體以滿足性能目標。專用指令邏輯和本身Nios Ⅱ指令相同,能夠從多達兩個源寄存器取值,可選擇將結果寫回目標寄存器。同時,Nios Ⅱ系列支持60多個外設選項,開發者能夠選擇合適的外設,獲得最合適的處理器、外設和介面組合,而不必支付根本不使用的矽片功能。

Nios Ⅱ系列


能夠滿足任何應用32位嵌入式微處理器的需要,客戶可以將第一代Nios處理器設計移植到某種Nios Ⅱ處理器上,Altera將長期支持現有FPGA系列上的第一代Nios處理器。另外,Altera提供了一鍵式移植選項,可以升級至Nios Ⅱ系列。Nios Ⅱ處理器也能夠在HardCopy器件中實現,Altera還為基於Nios Ⅱ處理器的系統提供ASIC的移植方式。
Nios Ⅱ處理器具有完善的軟體開發套件,包括編譯器、集成開發環境(IDE)、JTAG調試器、實時操作系統(RTOS)和TCP/IP協議棧。設計者能夠用Altera Quartus Ⅱ開發軟體中的SOPC Builder系統開發工具很容易地創建專用的處理器系統,並能夠根據系統的需求添加Nios Ⅱ處理器核的數量。
使用Nios Ⅱ軟體開發工具能夠為Nios Ⅱ系統構建軟體,即一鍵式自動生成適用於系統硬體的專用C/C++運行環境。Nios Ⅱ集成開發環境(IDE)提供了許多軟體模板,簡化了項目設置。此外,Nios Ⅱ開發套件包括兩個第三方實時操作系統(RTOS)——MicroC/OS-Ⅱ(Micrium),Nucleus Plus(ATI/Mentor)以及供網路應用使用的TCP/IP協議棧。
長期以來,Altera一直推行嵌入式處理器戰略的原因是,隨著應用的ASIC開發日益受到成本的困擾,OEM日漸轉向FPGA來構建自己的系統。這些系統中絕大多數需要一個處理器,而Altera正是為設計者提供了為FPGA優化的靈活的嵌入式處理器方案,可以滿足16位和32位嵌入式處理器市場的需求。估計到2007年,該市場價值將到達110億美元。
在FPGA中使用軟核處理器比硬核的優勢在於,硬核實現沒有靈活性,通常無法使用最新的技術。隨著系統日益先進,基於標準處理器的方案會被淘汰,而基於Nios Ⅱ處理器的方案是基於HDL源碼構建的,能夠修改以滿足新的系統需求,避免了被淘汰的命運。將處理器實現為HDL的IP核,開發者能夠完全定製CPU和外設,獲得恰好滿足需求的處理器。

嵌入式處理器特性


嵌入式處理器Nios Ⅱ系列為Altera FPGA和可編程片上系統(SOPC)的集成應用專門做了優化。表1詳細描述了Nios Ⅱ軟核嵌入式處理器系列的特性,更多通用信息請參閱Nios Ⅱ簡介頁面。
表1. Nios Ⅱ嵌入處理器系列特性

特性 說明


設計流程及工具
硬體開發工具 本頁面詳列了搭建Nios Ⅱ處理器硬體系統所用到的開發工具。
軟體開發工具 本頁面提供了Nios Ⅱ集成開發環境(IDE)的相關信息,這是一種開發人員廣泛應用的,包含編輯、編譯和調試應用軟體等功能的集成開發環境。
開發套件 Altera及其合作夥伴提供了大量應用了NiosⅡ系列嵌入式處理器的開發板套件。
系統級設計流程 Altera的SOPC Builder工具提供了快速搭建SOPC系統的能力,這種架構可以是包含一個或幾個CPU,提供存儲器介面,外圍設備和系統互連邏輯的複雜系統。

構架及特性


Nios Ⅱ處理器核 Nios Ⅱ處理器系列由三個不同的內核組成,可以靈活地控制成本和性能,從而擁有廣泛的應用空間。
JTAG調試模塊 JTAG調試模塊提供了通過遠端PC主機實現Nios Ⅱ處理器的在晶元控制、調試和通訊功能,這是Nios Ⅱ處理器的一個極具競爭力的特性。
用戶指令 開發人員可以在Nios Ⅱ CPU 核內增加硬體,用以執行複雜運算任務,為時序要求緊張的軟體提供加速演演算法。
外圍設備及介面 Nios Ⅱ開發套件包括一套標準外圍設備庫,在Altera的FPGA中可以免費使用。
Avalon™交換式匯流排 Avalon交換式匯流排在處理器、外圍設備和介面電路之間實現網路連接,並提供高帶寬數據路徑、多路和實時處理能力。Avalon交換式匯流排可以通過調用SOPC Builder設計軟體自動生成。

設計資源


Nios Ⅱ處理器支持 Nios Ⅱ處理器支持頁面提供了對Nios Ⅱ 設計者有幫助的多種信息,其中包括使用許可、下載、參考設計、文檔資料、在線展示及常見問題。
嵌入式處理器方案中心 嵌入式處理器方案中心提供了大量的信息以幫助開發人員應用Altera的嵌入式處理器實現系統設計。可獲取的信息有器件支持、軟體開發工具,外圍設備及介面、培訓、技術支持和資料。
Nios續訂信息 Nios Ⅱ開發套件包括一年期的CPU、外設和嵌入式軟體開發工具的升級許可。(其中不包括Quartus Ⅱ軟體的升級。)客戶可以通過Nios續訂程序每年訂購包括Nios Ⅱ 處理器的升級等額外信息。
Nios Ⅱ嵌入式處理器問與答頁面 此頁提供Altera Nios Ⅱ系列嵌入式處理器的常見問題及解答。
Stratix Ⅱ器件及Nios Ⅱ處理器系列 Stratix Ⅱ器件結構的優異特性和Nios Ⅱ嵌入式處理器系列相結合,提供了無與倫比的處理能力,滿足網路、通信、數據信號處理(DSP)應用、海量存儲及其他高帶寬系統的應用需求。

處理器系列


Stratix FPGA結構的優異特性和Nios Ⅱ嵌入式處理器相結合,提供了很高的處理能力,滿足高帶寬系統應用需求。
Cyclone™器件及Nios Ⅱ處理器系列 在Cyclone器件中應用Nios Ⅱ嵌入式處理器系列,降低了成本,提高了靈活性,在價格敏感應用環境中給低成本分立式微處理器提供了一個理想的替代品。
核心器件: Nios Ⅱ
.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_register the control_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位寫數據
);

啟動方案的軟體設計


啟動方案的軟體設計目標是當系統複位后,在外部處理器向Nios Ⅱ程序存儲器和數據存儲器傳輸數據的過程中,Nios Ⅱ處理器運行要受到外部處理器的控制。當一切就緒后,外部處理器發出一條釋放Nios Ⅱ處理器的命令,接下來Nios Ⅱ處理器就可以正常運行了。
軟體部分主要就是存放在啟動延遲模塊中ROM的代碼,此代碼主要是檢測啟動延遲模塊中控制寄存器2的第0位是否為1。若為1,則跳轉到控制寄存器1中所存儲的地址處執行。若設控制寄存器的基址為CONTROL_REG_BASE,為了減少代碼量,這段代碼容易用Nios Ⅱ的彙編指令來實現,代碼部分在此從略。
最後本方案在我們自己設計的一塊開發板上經過測試,能夠正確完成Nios Ⅱ 處理器的啟動。

結語


採用多處理器的系統雖然可以提高系統的性能,但傳統的多處理器系統一般只出現在工作站及高端PC上,在嵌入式系統中由於其設計代價太高很少採用。本文設計了一種在多處理器系統中的Nios Ⅱ軟核處理器的啟動方案,這個方案在外部處理器向Nios Ⅱ的程序存儲器和數據存儲器載入數據時,可以控制Nios Ⅱ處理器的啟動。
在HardCopy Ⅱ結構化ASIC中實現Nios Ⅱ處理器
Nios Ⅱ系列嵌入式處理器具有三個處理器內核,可實現較大範圍的嵌入式處理應用。這些軟IP處理器內核可以工作在任何最新一代Altera FPGA以及HardCopy®;系列結構化ASIC上。設計人員可以選擇使用高性能內核、低成本內核或者性價比合適的內核。Nios Ⅱ系列處理器可實現如下任務:
做為系統處理器運行實時操作系統

實現複雜的狀態機


分擔現有處理器載荷
執行I/O和數據處理任務
加速數字信號處理(DSP)演演算法
在HardCopy Ⅱ結構化ASIC中運行時,Nios Ⅱ嵌入式處理器出眾的處理能力滿足了高性能片上系統(SOC)的要求。Nios Ⅱ嵌入式處理器能夠提供系統級處理器性能,實現處理器和系統功能以及邏輯在單個器件中的集成。HardCopy Ⅱ結構化ASIC和Nios Ⅱ嵌入式處理器結合使用能夠滿足計算、大容量存儲、電信和網路應用的要求。
圖1是單個HardCopy Ⅱ結構化ASIC中多個Nios Ⅱ處理器在數據處理和控制應用上的實例。
圖1. HardCopy Ⅱ器件中Nios Ⅱ處理器進行數據處理
HardCopy器件設計流程使設計人員可以在一個FPGA中測試、驗證其設計。然後將經過驗證的設計遞交給HardCopy設計中心,以沒有風險的無縫移植方式在結構化ASIC中實現。HardCopy結構化ASIC是唯一能夠實現在正式投產前,硬體功能在FPGA中驗證以及系統軟體在真實系統配置環境中進行設計、測試的器件。
由於設計在移交給Altera之前在FPGA中進行了測試,因此Altera從第一個原型開始就可以保證實現晶元的全部功能。
HardCopy Ⅱ結構化ASIC體系結構
HardCopy Ⅱ結構化ASIC基於Stratix Ⅱ系列FPGA,在HardCopy Ⅱ器件和Stratix Ⅱ FPGA之間有多個原型選擇。這取決於所需的HardCopy器件、I/O引腳和封裝要求。HardCopy Ⅱ器件具有高達350-MHz的性能,以Nios Ⅱ處理器內核實現迄今為止最高的性能表現,而只消耗原型Stratix Ⅱ器件的一半功率。
Stratix Ⅱ器件結構中的嵌入式DSP模塊也可以應用在HardCopy Ⅱ器件中。這些DSP模塊是對Nios Ⅱ用戶指令集和其他硬體加速單元的完美補充。DSP設計人員現在可以在高性能硬體DSP模塊中生成DSP演演算法和複雜的數學程序,做為常用軟體程序來訪問或者做為Nios Ⅱ CPU的用戶指令來運行。設計人員可以方便靈活的實現高級軟體設計,支持結構化ASIC中的并行硬體操作性能,而不需要進行額外的時鐘加速。
HardCopy Ⅱ器件的存儲器可滿足典型SOC的所有存儲要求。每個最大9 M-RAM模塊可提供64-K位元組段。最大的HardCopy Ⅱ器件含有576 K位元組源碼和數據存儲。HardCopy Ⅱ結構化ASIC還支持高速存儲器介面,可使用最新的DDR2 SDRAM進行外部源碼和數據存儲。
低成本許可方式
Nios Ⅱ系列嵌入式處理器以一次付清的方式進行許可,不需要對每個器件或每個工程支付額外的版稅。Nios Ⅱ許可允許在任何Altera器件中使用處理器內核,因此採用Nios Ⅱ處理器和HardCopy Ⅱ器件可為批量產品提供最具成本效益的解決方案。
Nios Ⅱ許可通常做為Nios Ⅱ開發包的一部分進行購買。現在可應用於Stratix、Stratix Ⅱ 和 Cyclone™ 器件系列,開發包含有Quartus Ⅱ FPGA設計軟體和Nios Ⅱ集成開發環境以及Nios Ⅱ全部許可。所有的開發包都包括一塊開發板及所需的電纜、電源,用戶在打開包裝后的幾分鐘內就可以使用Nios Ⅱ處理器進行開發設計。

全面的SOPC解決方案


Altera的SOPC Builder自動系統開發工具為設計人員提供了強大的開發平台,可構成包括處理器、外設和存儲器介面等常用系統組成的匯流排系統。
HardCopy Ⅱ設計流程得益於採用了在FPGA原型階段,FPGA設計文件生成時的SOPC Builder模塊設計方法。基於模塊的設計方法有助於Nios Ⅱ處理器和其他IP模塊同用戶邏輯、用戶指令和硬體加速器等典型高密度邏輯設計組成的集成。
Nios Ⅱ外設和介面庫頁面上有適用於Nios Ⅱ處理器的外設的更多詳細信息
Nios Ⅱ處理器——世界上最通用的嵌入式處理器
迅速構建最合適的處理器系統
嵌入式開發人員面臨的主要挑戰是如何選擇一款最合適的處理器,既不會為了提高性能而超過預算,又不會犧牲功能特性。理想的嵌入式解決方案幫助您:
選擇最適合您應用的CPU、外設和介面
現場遠程更新,保持競爭,滿足需求的變化。
不必改動電路板設計,提升性能——針對需要的功能進行加速。
避免處理器和ASSP過時的風險
將多種功能在一個晶元中實現,降低了總成本、複雜度和功耗。
通過最合適的CPU、外設和存儲器介面,以及定製硬體加速器,達到每一新設計周期的獨特目標,Nios Ⅱ 處理器以極大的靈活性滿足了您的需求。

嵌入式軟體工具


如果您正在進行Nios Ⅱ 處理器設計,Nios Ⅱ 嵌入式設計套件為您開發可靠的應用軟體提供了所需的一切。採用基於Eclipse的Nios Ⅱ 集成開發環境 (IDE)以及 軟體和操作系統全面支持,您將感到得心應手。需要提升性能嗎? 沒問題;使用Nios Ⅱ C2H 編譯器,簡單的右鍵單擊,加速您的 ANSI C 應用程序。
世界上最流行的可配置處理器
Nios Ⅱ處理器在全世界已經發售了15,000多個開發套件,世界前20名OEM均採用了該處理器。Nios Ⅱ處理器是目前最流行的可配置軟核處理器。Nios Ⅱ處理器具有很大的靈活性,得到了廣泛應用,在特性、成本和性能上達到了最佳,是一款避免昂貴的產品過時、幫助您將產品儘快推向市場的處理器。