文章目录

  • 一、实验内容
  • 二、实验原理
  • 三、实验步骤
    • 3.1、硬件部分
    • 3.2、软件部分
    • 3.3、运行结果

一、实验内容

二、实验原理

控制 LED 灯闪烁的用户程序代码很小,将其固化在片内 ROM 来执行。变量、堆栈等空间使用片内 RAM,不使用任何片外存储器。整个系统的框图如下图 所示。

三、实验步骤

3.1、硬件部分

1、新建一个项目
2、进行Qsys系统设计
Tools→Qsys
在弹出来的窗口中File→save as,将文件命名为kernel并保存

3、右键clk_0,设置时钟值:

4、添加CPU和外围器件
①添加Nios II 32-bit CPU

勾选下图选项其余保持默认设置即可

重命名nios2_qsya_0为cpu,将cpu的clk和reste_n分别与系统时钟clk_0的clk和clk_reset相连。


②添加jtag uart接口

弹出的窗口中保持默认。修改"JTAG UART" 核的名称为jtag-uart并进行clk 、reset、master-slave的连线,以及中断irq连线。

③添加片上存储器On-Chip Memory(RAM)核

修改下图数据,其他保持默认。

重命名"On-Chip Memory"核为onchip_ram。然后进行时钟、数据端口、指令端口的连接。

④添加PIO接口,保持默认选项。



重命名其核为pio_led,并在external_connection行中的Export栏中双击命名为out_led。然后连接时钟、数据端口、指令端口。
⑤添加system ID peripheral核,保持默认选项,重命名为sysid,连接时钟、数据端口。

5、完成Qsys设计的后续工作
①寄地址分配:system->assign base addresses
完成后Base栏将出现不会重复的具体地址。

②分配中断号:在IRQ标签栏中点击连接点即可为jtag_uart核添加一个值为0的中断号。

③复位端口:system->create globalresetnetwork,自动复位所有端口,完成最终连线。

④指定NIos II的复位和异常地址:双击cpu 后,第一列往下拉配置Reset vector 和exception vector


6、生成Qsys系统


7、关闭窗口,回到quartus主页面,创建原理图文件,添加生成的kernel文件。


加入kernel.qip 文件:


进行逻辑连接和生成管脚
①逻辑连接:
开发板晶振为50m,与系统默认一样,因此不需要修改。
②在kernel模块中右键选择Generate Pin for Symbol Ports生成管脚

将管脚重命名

8、芯片引脚设置:Assignments->Device



回到主页,进行编译。

分配针脚

回到主页后再次编译。

3.2、软件部分

1、启动Nios II SBT
菜单栏中Tools-> Nios II Software Build Tools for Eclipse,在弹出来的窗口中选择当前工程的目录为工作空间

2、创建工程

在SOPC Information File name窗口中选择 kernel.sopcinfo文件,以便将生成硬件配置信息和软件应用关联


给程序命名

在自动生成的.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;
}

编译:

3.3、运行结果

连接JTAG到开发板。
Nios ii->Quartus Prime Programmer,下载.sof文件到板子上

运行调试

基于Nios-II的流水灯实验相关推荐

  1. 基于FPGA实现的流水灯实验

    版权声明:如需转载,请注明出处 https://blog.csdn.net/chengfengwenalan/article/details/79606351 基于FPGA实现的流水灯实验 一.开发环 ...

  2. 基于FPGA实现的流水灯项目

    基于FPGA实现的流水灯实验 一.开发环境 软件环境:Quartus Prime 17.1 ,notepad++,gvim,modelsim-SE,TimeGen3 硬件环境:DE2-115(Inte ...

  3. 基于 Nios II 的串口打印和流水灯设计【使用 Quartus 软件】【掌握 SOPC 开发流程】

    目录 一.前言 二.实验步骤 第一步:硬件部分设计 1)建立新项目 2)进行 Qsys 系统设计 3)完成 Qsys 设计的后续工作 4)原理图设计 5)编译工程及物理针脚分配. 第二步:软件部分设计 ...

  4. 黑金AX301开发板学习(1)——流水灯实验及黑金AX301开发板资料

    第一次尝试使用AX301开发板进行学习,本篇文章主要通过一个流水灯的小实验聊一下AX301这块开发板的使用. 一.黑金AX301是一款基础的学生实验板,用来学习FPGA是一个不错的选择.此款开发板是A ...

  5. 流水灯实验报告c语言,PLC流水灯实验报告.pdf

    PLC流水灯实验报告 基于WinPAC 的流水灯实验 实验目的 1.掌握PLC编程的基本流程,学会在ISaGRAF环境下编程和仿真. 2.学会在ISAGRAF创建工程.下载程序.调试方法. 3.掌握L ...

  6. Zedboard学习(三):PL下流水灯实验

    zynq系列FPGA分为PS部分和PL部分. PL: 可编程逻辑 (Progarmmable Logic), 就是FPGA部分. PS: 处理系统 (Processing System) , 就是与F ...

  7. 基于NIOS II的液晶显示设计——自定义图形库

    基于NIOS II的液晶显示设计--自定义图形库 下面是我写的简单图形库 // graphics.h / #ifndef GRAPHICS_H_ #define GRAPHICS_H_ #includ ...

  8. 流水灯c语言实验报告心得,嵌入式流水灯实验心得体会.docx

    嵌入式流水灯实验心得体会 嵌入式流水灯实验心得体会 篇一:嵌入式流水灯实验 实验三 GPIO输出控制实验 一. 实验目的 熟悉LPCXX系列ARM7微控制器的GPIO输入控制. 二.实验设备 ? 硬件 ...

  9. 基于proteus的花样流水灯的设计(仅供参考)

    要求: (1)第1轮:第1列自上而下逐一点亮.接着第2列自下而上逐一点亮.最后第3列自上 而下逐一点亮: (2)第2轮:按第1列.第2列.第3列,依次8个LED同时闪亮3次: (3)接着重复上述第1. ...

  10. zynq 7000 的流水灯实验

    流水灯实验是FPGA 的入门实验.最简单并且得到实在的体验,我们就从这里开始zynq 7000的体验吧. 本实验包括3部分:创建工程,添加和建立文件,比特流产生和编程. 1:创建工程:打开Vivado ...

最新文章

  1. leetcode--链表的设计--python
  2. Python:glob模块
  3. 编写高质量代码:改善Java程序的151个建议(第4章:字符串___建议52~55)
  4. 装饰者模式和适配器模式对比
  5. 在什么情况下,刘强东会丧失京东的控制权?
  6. Spring的REST分页
  7. mysql如何保证高可用_mysql怎么保证高可用
  8. 电视机鸿蒙os卡,开卖40天,搭载鸿蒙OS操作系统的华为电视就差评如潮?用户:亏了...
  9. Hbase安装使用与入门学习
  10. stm8s103k3 周期 捕获_stm8s103k3的UART发送数据问题
  11. matlab 12脉波变压器,12脉波整流电路MATLAB-Simulink仿真及谐波分析.pdf
  12. js中的cookie的读写操作示例详解
  13. Tomcat启动,提示 The JRE_HOME environment variable is not defined correctly 问题。
  14. 前端文档网站快速生成工具
  15. 3D模型欣赏:大眼短发战斗萝莉 游戏角色
  16. 如何将域名地址转换成对应的IP地址?
  17. android培训课程!Kotlin可能带来的一个深坑,不吃透都对不起自己
  18. RTKLIB相对定位部分算法梳理
  19. Storm学习——事务和案例
  20. 2015年手机分辨率整理

热门文章

  1. openstack-Keystone 服务部署基于centos 7
  2. v-model的底层原理
  3. Angular实战项目(1)
  4. 竞品分析之流程总结以及感悟
  5. 河北大学生命科学学院期末Biopython编程实践。利用Biopython包读取新冠病毒(id:NC_045512.2)序列(GenBank格式NC_045512.2.gb),将其中FEATURE的类
  6. 程序修行从“拔刀术”到“万剑诀”
  7. Linux下FTP;LFTP;TFTP;SFTP;NCFTP;RCP;SCP的使用
  8. 惊了!这是一篇《IOC》说明书?
  9. dateadd函数转成oracle,oracle dateadd函数
  10. 跟偶一起做:击退眼睛疲劳的五大运动