基于 NIOSII 软核的流水灯实验
作者:互联网
目录
软件:Quartus Prime 18.1、Platform Designer、Nios II SBT
硬件:PC 机、DE2-115 FPGA 实验开发平台
一、硬件部分设计
1、建立quartus新项目
2、进行 Qsys 系统设计
1)打开 Platform Designer
2)保存文件至项目文件夹
3)双击clk_0,设置时钟频率为50M
4)添加 CPU 和外围器件
①添加 Nios II 32-bit CPU
点add添加
所有参数保持默认选项,点击finish完成
②添加 jtag uart
所有参数保持默认选项,点击finish完成
③添加片上存储器 On-Chip Memory(RAM)核
设置内存为40960 点击finish
④ 添加 PIO 接口
所有参数保持默认选项,点击finish完成
⑤ 添加片 System ID Peripheral 核
所有参数保持默认选项,点击finish完成
到此,所有该添加的元件都已添加
⑥端口的连接
说实话,没看懂很多端口连接的意思,图上灰色的小点就是可以连接但未连接,方便起见,将所有小点连上(点击小点)
完成后如图
双击export栏下pio_0的external_co,引出输出口,命名为out_led
⑦基地址分配
完成后”Base”栏将出现不会重复的具体的地址
⑧指定 NIos II 的复位和异常地址
双击红框选中处,会出现左边 的功能区
在vector下选择如图,再点击
⑧点击 Qsys 主界面菜单栏中的”System”下的”Create Global Reset Network”。完成后会自动连接所有复位端口
⑨生成 Qsys 系统
如果提示是否保存.qsys 文件,请选择保存
之后关闭Platform Designer 主界面
5)在原理图(BDF)文件中添加 PD 生成的系统符号(再工程内新建BDF文件)
6)加入 Quartus II IP File 文件,为了以后编译成功,请务必将对应的 Quartus II IP File (.qip) 加入项目中
①点击 Assignments-Settings,添加 kernel.qip 文件
②选中该文件后,点击OK 按钮加入 kernel.qip 文件
7)进行逻辑连接和生成管脚
①逻辑连接。开发板晶振为 50M,与系统默认一致,因此,这里我们不需要修改。
②在 kernel 模块内点击鼠标右键选取 Generate Pin for Symbol Ports 生成管脚
③芯片引脚设置
菜单里选择 Assignments-device,然后如下图所示点击 Device pin options
进行 unused pin 设置,可能会收到外部信号的干扰,将未用引脚设置为 As input tri-stated
特殊引脚设置,设置为常规引脚
8)编译工程
9)分配物理针脚
完成后关闭 Pin Planner,回到 Quartus Prime 主界面后再次编译项目。至此完成项目的硬件设计。
二、软件部分设计
使用 Nios II Software Build Tools for Eclipse 来完成当前项目的软件开发
1、启动 Nios II SBT
选择工作目录,当前工程目录
2、创建工程
点击后出现下图,在”SOPC Information File name”窗口中选择 kernel.sopcinfo 文件,以便将生成硬件配置信息和软件应用关联,CPU 栏会自动选择”nios2_gen2_0”。
在”Project name”输入”hello_world,”Project template”选择 Hello_World。点击 Finish。
系统会自动生成一个打印“hello_world”的软件工程
3、修改程序
在 hell_word.c 里修改流水灯控制程序。
代码
#include "system.h"
#include "altera_avalon_pio_regs.h"
#include "alt_types.h"
const alt_u8
led_data[8]={0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,0xFF};
int main (void)
{
int count=0;
alt_u8 led;
volatile int i;
while (1)
{ if (count==7)
{count=0;}
else
{count++;}
led=led_data[count];
IOWR_ALTERA_AVALON_PIO_DATA(PIO_LED_BASE, led);
i = 0;
while (i<500000)
i++;
}
return 0;
}
4、编译工程
Build Project
三、运行项目
1、配置FPGA
(1) 连接 JTAG 到开发板,确定
A. 已正确安装驱动。
B. 防火墙不会影响到 JTAG 的正常工作。最后给开发板上电。
(2) 启动 Quartus Prime Programmer
因条件原因,这里没有连接硬件
后面的步骤也很简单,将FPGA板子连接上,运行调试
标签:led,Nios,II,NIOSII,点击,添加,流水,软核,连接 来源: https://blog.csdn.net/xianyudewo/article/details/116098689