通过本实验熟悉SOPC Builder和NIOS IDE的开发环境及开发流程,了解NIOS II的基本结构,能够利用SOPC Builder和NIOS IDE实现简单的NIOS II系统和应用程序。

本实验要求利用SOPC Builder创建一个简单的NIOS II系统,这个简单的NIOSII 系统括NIOS核、片内SRAM及PIO口;利用NIOS II IDE创建一个简单应用程序,能够点亮核心板上的LED等。



2.1 NiosⅡ硬件设置

1. 工程建立:首先在Quartus II中新建一个名为nios的工程,点击图标。出现SOPC Builder对话框。在System Name对话框里设置Nios系统名nios_cpu。HDL语言选择Verilog,如图21-1所示。 图21-1 SOPC Builder对话框

图21-1 SOPC Builder对话框

  1. SOPC组建添加:将Avalon Components中的选项中组建添加到自己的工程中,具体方法是将相关的组建拖进右边的对话框中,如图21 2所示。主要有Nios II Processor, Memory中的onchip_memory和Other里面的PIO。这里还需要会组建进行设置:

a) 双击Nios II Processor,选择Nios Ⅱ/e型,点击Finish。
b) 双击On-Chip Memory(RAM or ROM),Memory Type中选择RAM,Size中Memory Width选择32bits,Total Memory Size中选择48Kbytes,其余选项默认,点击Finish。
c) 双击PIO(Parall I/O),选项默认,点击Finish。
右键单击pio0选择Rename,改名为LEDPIO。
d) 点击System下拉菜单的Auto-Assign Base Addresses,已完成Nios Ⅱ中各个模块的基地址分配,以上步骤完成。

图21-2 nios系统配置

图21-2 nios系统配置

e) 点击System Generation,点击Generation,启动SOPC Builder生成你所选择的模块的HDL代码。

  1. 返回QUARTUS Ⅱ,新建nios.bdf文件,添加刚建的nios_cpu,并添加相应输入输出引脚,并为输入输出引脚分配相应的FPGA管脚,完成如图21 3,保存。编译通过BLASTER下载到FPGA内。 图21-3 生成nios模块

    图21-3 生成nios模块

启动nios II IDE后,会让你输入workspace,选择刚才新建的NIOS工程所在的目录,假设存在E:\nios中,点击OK进入。如果在这里没有选,也可以在进入IDE后选择File→Switch workspace中选择。无论何种方式,最好在进入之后选择File→Switch workspace看目录选择是否正确(图21-4)。

图21-4 切换工作目录

图21-4 切换工作目录

  1. 进入Nios II IDE,新建NiosⅡ C/C++ Application。点击下一步,在Name中输入项目的名字hello_led,在Select Project Template中选择Hello LED,在SOPC Builder System中选择NIOS所在的目录下的.ptf文件,其余默认,点击Finish,如图21-5所示。 图21-5 建立Hello Led程序

    图21-5 建立Hello Led程序

  2. 在QUARTUS Ⅱ将Nios下载硬核到FPGA,然后进入Nios II IDE,在NiosⅡ C/C++ Projects里找到新建的hello_led,点击右键选择【Run As】→【NiosⅡ Hardware】(图21-6),此时可以看到LED灯在闪烁。 图21-6  编译运行程序

    图21-6 编译运行程序

注意:在这里我们使用的是Nios II中的软件模板,程序中对PIO口的定义是LED_PIO,如图 21-7所示。

图21-7 Hello led源代码

图21-7 Hello led源代码

所以在SOPC组建中PIO的名字一定要与之对应。 如图21-8所示。

图21-8 CPU配置图

图21-8 CPU配置图



实验板上LEDG7-0灯按照一定的顺序,交替闪烁。