实验2-Nios-II入门实践

1、实验目的

(1)学习 Quartus Prime 、Platform Designer、Nios II SBT 的基本操作;
(2)初步了解 SOPC 的开发流程,基本掌握 Nios II 软核的定制方法;
(3)掌握 Nios II 软件的开发流程,软件的基本调式方法。

2、实验设备

硬件:PC 机、DE2-115 FPGA 实验开发平台;
软件:Quartus Prime 18.1、Platform Designer、Nios II SBT

3、实验内容

使用 FPGA 资源搭建一个简单 Nios II 处理器系统,具体包括:
(1) 在 Quartus Prime 中建立一个工程;
(2) 使用 PD 建立并生成一个简单的基于 Nios II 的硬件系统;
(3) 在 Quartus Prime 工程中编译基于 Nios II 的硬件系统并生成配置文件.sof;
(4) 在 Nios II SBT 中建立对应硬件系统的用户 C/C++工程,编写一简单用户程序,在
Nios II SBT 中编译程序生成可执行文件.elf;
(5) 将配置文件.sof 和可执行文件.elf 都下载到 FPGA 进行调试运行。

4、实验原理

控制 LED 灯闪烁的用户程序代码很小,可将其固化在片内 ROM 来执行。变量、堆栈
等空间使用片内 RAM,不使用任何片外存储器。整个系统的框图如图 1 所示。
从图 1.1 控制 LED 闪烁的系统框图可知,其它逻辑与 Nios II 系统一样可存在于 FPGA
中。Nios II 系统可与其它片内逻辑相互作用,取决于整个系统的需要。为了简单起见,本实
验在 FPGA 内不包括其它逻辑。

图 1.1 控制 LED 闪烁的系统框图:
在这里插入图片描述

5、实验步骤

第一步:硬件部分设计
1)建立新项目(步骤与 EDA 设计时一样)
2)进行 Qsys 系统设计
(1)点击 Tools 下拉菜单下的 Platform Designer 工具。
在这里插入图片描述
(2)启动 Platform Designer 后,点击 File-save,如图 1.7 所示,在文件名中填写为 kernel
后点击 OK。
在这里插入图片描述
保存文件:
在这里插入图片描述
(3)鼠标放在 clk_0 处点击右键 Edit 或是双击 clk_0 元件,对 Clock 进行时钟设置,设
为为 50M。
在这里插入图片描述
(4)添加 CPU 和外围器件。从 PD 的元件池中选择以下元件加入到当前设计的系统中:
Nios II 32-bit CPU、jtag uart、片上存储器、PIO、system ID。
① 添加 Nios II 32-bit CPU
a. 在“component library”标签栏中找到“Nios II Processor”后点击 Add(在查找窗口
输出 nios 即可)。
在这里插入图片描述
b. 在 Nios Core 栏中选择 Nios II/f 选项,其他保持默认选项。
在这里插入图片描述
c. 在”Caches and Memory Interfaces”标签栏中保持默认设置(Instruction Cache 选择
4Kbytes)。
在这里插入图片描述
d. 在”Advanced Features”标签栏中保持默认设置,在”MMU and MPU Settings”标签栏中保持默认设置。在”JTAG Debug Module”标签栏中保持默认设置(注意勾选 Include JTAG Debug),
如下图所示。
在这里插入图片描述
e. 点击 Finish 回到 PD 界面。
f. 将 nios2_qsys_0 重命名为 cpu,点击”Rename”即可重新命名,操作完成后如图
所示。
在这里插入图片描述
i. 将 cpu 的 clk 和 reste_n 分别与系统时钟 clk_0 的 clk 和 clk_reset 相连,如图所
示。
在这里插入图片描述
注意:对模块命名要遵循以下规则:
1 名字最前面应该使用英文;
2能使用的字符只有英文字母、数字和下划线“”;
3不能连续使用“
”符号,在名字的最后也不能使用“_”。
② 添加 jtag uart 接口。jtag uart 接口是 Nios II 嵌入式处理器新添加的接口元件,通过
内嵌在 Intel FPGA 内部的 JTAG 电路,可以实现在 PC 主机与 Qsys 系统之间进行串行字符
流通信。
a. 从下图左侧”Component Li

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值