FPGA的NIOS-||的开发入门

一、学习任务

学习 Quartus-II 、Platform Designer、Nios-II SBT 的基本操作;初步了解 SOPC 的开发流程,基本掌握 Nios-II 软核的定制方法;掌握 Nios-II 软件的开发流程,软件的基本调试方法。
完成以下实验:1) 流水灯显示; 2) 串口循环输出“Hello Nios-II”字符串到笔记本电脑。

二、学习内容

1.Nios II软核实现流水灯

1.1.硬件部分设计

添加PIO
在这里插入图片描述
设置宽度(这里我设置为4,表示4个灯的流水灯),默认为8
在这里插入图片描述
连接时钟和复位
在这里插入图片描述
设置led的输出
在这里插入图片描述
系统分配地址
使用FPGA资源
创建顶层文件
顶层文件内容

module hello_world(
	input clk,
	input reset_n,
	output  [3:0] led
);
system_qsys u0 (
        .clk_clk       (clk),       //   clk.clk
        .reset_reset_n (reset_n), // reset.reset_n
        .led_export    (led)     //   led.export
    );
endmodule

芯片引脚设置
在这里插入图片描述
特殊引脚设置,设置为常规引脚
在这里插入图片描述
编译完成后,分配管脚
在这里插入图片描述

1.2.软件设计

修改代码文件
内容如下

#include <stdio.h>
#include "system.h"
#include "altera_avalon_pio_regs.h"
#include "alt_types.h"
const alt_u8
led_data[4]={0x01,0x03,0x07,0x0F};
int main (void) {
 int count=0;
 alt_u8 led;
 volatile int i;
 while (1)
  {
 	 if (count==4)
 	 {
 		 count=0;
 	 }
 	 else
 	 {
 		 count++;
 	 }
 	 led=led_data[count];
 	 IOWR_ALTERA_AVALON_PIO_DATA(LED_BASE, led);
 	 //延时的设置
 	 i = 0;
 	 while (i<5000000)
 		 i++;
   }	
 return 0;
}

保存编译

1.3.下载硬件和软件

硬件的下载
在这里插入图片描述
软件的下载
出现下面问题
在这里插入图片描述
点击Refresh Connections解决
在这里插入图片描述
选择Apply后,点击Run,就下载完成
在这里插入图片描述

1.4.结果

在这里插入图片描述

2.利用NiosII实现hello world

2.1.硬件设计

创建工程文件
在这里插入图片描述
使用Qsys
在这里插入图片描述
系统时钟的设置
在这里插入图片描述
Nios II Processor的添
在这里插入图片描述
保持默认配置,选择Finish
在这里插入图片描述
On_Chip Memory的添加
在这里插入图片描述
设置大小为10K,其他保持默认设置
在这里插入图片描述
JTAG UART的添加
在这里插入图片描述
保持默认配置
在这里插入图片描述
System ID Peripheral的添加
在这里插入图片描述
保持默认设置
在这里插入图片描述
IP核的连接
在这里插入图片描述
Reset Vector和Exception Vector的设置
在这里插入图片描述
系统分配地址
在这里插入图片描述
使用FPGA资源
在这里插入图片描述
创建顶层文件
在这里插入图片描述
顶层文件内容

module hello_world(
	input clk,
	input reset_n
);
//此处的代码可以通过Qsys中的Generate->Generate Example,复制里面的内容,粘贴到此处,进行相应的修改
system_qsys u_qsys (
        .clk_clk       (clk),       //   clk.clk
        .reset_reset_n (reset_n)  // reset.reset_n
    );

endmodule

2.2.软件设计

打开Nios II Software Build Tools for Eclipse
在这里插入图片描述
创建文件
在这里插入图片描述
选择硬件设计部分的文件,填写工程名称以及工程Template
在这里插入图片描述
打开hello_world中的.c文件
修改里面的内容如下

#include <stdio.h>

int main()
{
  printf("Hello world!\n");

  return 0;
}

点击保存,选择hello_wold_bsp,右键后,选择Nios II中的Generate BSP
在这里插入图片描述

2.3.下载硬件和软件

硬件的下载
在这里插入图片描述
软件的下载
在这里插入图片描述
出现下面问题解决方案同上

2.3.实际结果

在这里插入图片描述

参考资料

https://www.bilibili.com/video/BV1kh41127Qm?p=1
https://www.bilibili.com/video/BV1kh41127Qm?p=3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值