Nios學習筆記1——流水燈實驗


硬件平台:黑金AX301開發板。

操作系統:Win7 64bit。

軟件平台:Quartus II 64-Bit Version 12.0 Build 263和Nios II 12.0sp2 Software Build Tools for Eclipse。

參考資料:Nios那些事兒,愛上FPGA開發——特權和你一起學NIOS2

一、硬件開發

首先打開Quartus,新建一個工程,器件選擇EP4CE6F17C8,如下圖所示。

接着,進入Qsys 中進行軟核的設計。點擊 Tools->Qsys,進入Qsys。

File—>Save保存,命名為nioscpu(命名隨意)。

返回Qsys主界面后點擊"Clock Settings"標簽欄修改時鍾,雙擊時鍾名clk_0修改為clk,時鍾頻率由初始的50MHz修改為100MHz,如下圖所示:

修改完后回到"System Contents"標簽欄。

添加Nios II核

從界面左上角Component Library查找窗口輸入nios,如圖:

雙擊Nios II Processor選擇Nios II/f,其他保持默認,再點擊Caches and Memory Interfaces,將Data cache改為None,如圖:

然后點擊右下角Finish,Nios II核就加入到Qsys中了。在“Name”列中將nios2_qsys_0改名為mcu(在nios2_qsys_0上右擊選擇Rename)。

添加SDRAM核

從界面左上角Component Library查找窗口輸入sdram找到“SDRAM Controller”后雙擊。

如下圖所示設置,Finish。

將sdram_0改名為sdram,完成后如下圖所示:

添加System ID Peripheral核

從界面左上角Component Library查找窗口輸入sys找到“System ID Peripheral”后雙擊。保持默認選項,Finish。將sysid_qsys_0改名為sysid,完成后如下圖所示:

添加EPCS

從界面左上角Component Library查找窗口輸入epcs找到“EPCS Serial Flash Controller”后雙擊,默認點擊Finish即可。添加完成后改名為epcs。

添加JTAG UART核

從界面左上角Component Library查找窗口輸入jtag找到“JTAG UART”后雙擊。保持默認選項,Finish。將jtag_uart_0改名為jtag,完成后如下圖所示:

添加PIO核

從界面左上角Component Library查找窗口輸入pio找到“PIO”后雙擊。在Basic Settings的Width選項中輸入4(因為AX301開發板有4個LED),其他保持默認,Finish。將pio_0改名為led,然后點擊led的external_connection行中的Export列(列中有灰色的Click to export),命名為led,完成后如下圖所示:

連接時鍾信號

將所有的clk連接起來,如下圖所示:

QQ五筆截圖未命名

連接數據和指令端口

規則:存儲器一類的IP核需要將其Slave端口同Nios 2的data_master和instruction_master相連,其他非存儲器IP核則只需連接到Nios 2的data_maste。連接完成后如下圖所示:

QQ五筆截圖未命名

時鍾、數據和指令端口的連接可以直接在創建IP后進行。

指定Nios 2的復位和異常地址

雙擊mcu,配置Reset Vector為"epcs.epcs_control_port",Exception Vector為"sdram.s1",Finish,如下圖所示:

QQ五筆截圖未命名

連接復位信號

點擊Qsys主界面菜單中的“System”下的“Create Global Reset Network”,完成后如下圖所示:

QQ五筆截圖未命名

分配基地址

點擊Qsys主界面菜單中的“System”下的“Assign Base Addresses”,完成后如下圖所示,可以看到現在有4個Warning,兩個是中斷沒有分配,兩個是輸出沒有引出來,我們先來分配中斷號。

QQ五筆截圖未命名

分配中斷號

在“IRQ”標簽欄下點選“Avalon_jtag_slave”和IRQ的連接點就會為“jtag”核添加一個值為0的中斷號,如下圖所示,同樣地,給epcs分配中斷1。

QQ五筆截圖未命名

設置SDRAM和EPCS輸出

如圖,在Export標簽欄下點選sdram的wire行和epcs的external行,分別重命名為sdram和epcs。

QQ五筆截圖未命名

生成Qsys系統

Save,點擊“Generation”標簽欄中Generate按鈕生成Qsys系統。至此Nios 2軟核構建完畢。點擊“HDL Example”標簽欄,在HDL Language選擇Veriolg,點擊Copy留待后面使用,如下圖所示:

QQ五筆截圖未命名

最后關閉Qsys。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM