实验目的
实验设备
实验内容
实验原理
(1)打开 Qsys。
(2)保存文件。
kernel
,然后点击【保存】。(3)设置时钟。
clk_0
元件,点击【Edit】。(4)添加 CPU 和外围器件。
——① 添加 Nios II 32-bit CPU。
说明:
(1)名字最前面应该使用英文;
(2)能使用的字符只有英文字母、数字、下划线 “ _ ”;
(3)不能连续使用 “ _ ”符号,在名字的最后也不能使用 “ _ ”。
——② 添加 jtag uart 接口。
jtag uart 接口是 Nios II 嵌入式处理器新添加的接口元件,通过内嵌在 Intel FPGA 内部的 JTAG 电路,可以实现在 PC 主机与 Qsys 系统之间进行串行字符流通信。
——③ 添加片上存储器 On-Chip Memory(RAM)核。
——④ 添加 PIO 接口。
——⑤ 添加片 System ID Peripheral 核。
——⑥ 完整 Qsys 系统设计。
(1)基地址分配。
(2)指定 Nios II 的复位和异常地址。
(3)使用 FPGA 资源。
(1)新建原理图文件
(2)加入 Quartus II IP File 文件。
..\kernel\synthesis
目录下,选中并打开它。(3)进行逻辑连接和生成管脚。
(4)芯片引脚设置。
(5)保存原理图文件。
(1)编译工程
(2)分配物理针脚
#include <stdio.h> #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; //串口打印 printf("Hello world!\n"); //流水灯循环 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<5000000) i++; } return 0; }
(1)配置 FPGA。
(2)运行/调试程序。
[1] 基于Nios II的hello world
[2] https://pan.baidu.com/s/1FaEIncAn4ezFWympe3QyDQ——提取码:pn3f