文章目录

  • 1、SOPC和Nios
    • 1.1、SOPC简介
    • 1.2、Nios Ⅱ
  • 2、创建工程项目
    • 2.1、Qsys设置
    • 2.2、创建顶层文件
    • 2.3、软件设计
  • 3、工程测试
    • 3.1、硬件下载
    • 3.2、软件下载
    • 3.3、运行结果

1、SOPC和Nios

1.1、SOPC简介

1、SOPC(System On Programmable Chip,可编程的片上系统)是Altera公司提出来的一种灵活、高效的SOC解决方案。它将处理器、存储器、I/O口、LVDS、CDR等系统设计需要的功能模块集成到一个可编程器件上,构成一个可编程的片上系统。

2、Qsys:
Altera公司在Quartus II 11.0 之后推出了Qsys集成开发工具从开始流程上看,与之前的SOPC builder没有太大的区别,但是在实际开发中有很多的不同点,Qsys取代SOPC builder也将成为一个趋势。Quartus II 11.0版本还没有取消SOPC builder,不过取消了之前版本的快捷方式,取而代之的是Qsys快捷方式,具体在菜单Tool->SOPC builder启动。

3、Qsys作用:
①通过集成IP核快速实现SOPC系统
②自动创建IP核之间的互联逻辑
③自定义IP核

1.2、Nios Ⅱ

1、Nios II系列软核处理器是Altera的第二代FPGA嵌入式处理器,其性能超过200DMIPS

2、产品:
Nios II/f(快速)——最高的系统性能,中等FPGA使用量
Nios II/s(标准)——高性能,低FPGA使用量
Nios II/e(经济)——低性能,最低的FPGA使用量

3、作用:
    使用Nios II软件开发工具能够为Nios II系统构建软件,即一键式自动生成适用于系统硬件的专用C/C++运行环境。Nios II集成开发环境(IDE)提供了许多软件模板,简化了项目设置。此外,Nios II开发套件包括两个第三方实时操作系统(RTOS)——MicroC/OS-II(Micrium),Nucleus Plus(ATI/Mentor)以及供网络应用使用的TCP/IP协议栈。

2、创建工程项目

2.1、Qsys设置

1、启动 Quartus II 软件,选择File->New Project Wizard,在出现的界面下先Next,填写工程的路径和名称,然后接着Next,直到出现下面界面并进行相应操作。接着一路Next,直到Finish,完成工程的创建。
    2、使用Qsys,选择Tools->Qsys

3、双击System Contents中的clk_0进行系统时钟的设置,默认为50MHz,可根据实际情况进行更改

4、在搜索框中,输入nio,找到Nios II Processor,点击Add进行添加

5、得到如下界面,保持默认设置,点击Finsh完成

6、在搜索框中,输入on_chip,找到On_Chip Memory,点击Add进行添加

7、设置大小为10K,其他保持默认设置

8、在搜索框中,输入jtag,找到JTAG UART,点击Add完成JTAG UART的添加(作用:利用JTAG完成,URAT通信功能),其它的同样保持默认设置

9、在搜索框中,输入sys,找到System ID Peripheral,点击Add完成System ID Peripheral的添加(作用:为Nios II生成一个ID号)

10、窗口输入 pio 找到”PIO”后点击
Add,设置Width 为 8bits,Direction 选择 output,其余选项保持默认,点击
Finish

11、IP核的连接clk,reset,datamaster需要和其他所有IP核连接,nios ii的指令端口(instruction_master)只与存储器进行连接,nios ii中jtag_debug_model_reset与外部IP核进行连接 。jtag端口的中断信号的连接,其中0表示中断的优先级(可以进行设置)

12、从”System Contents”标签栏双击建立好的 cpu 进入 Nios II Processor 的配置界面,配置 Reset Vector 和 Exception Vector 为””onchip_ram.s1”,点击 Finish

13、系统分配地址选择System->Assign Base Address

14、选择Generate->Generate,保持默认设置,点击Generate,选择Save

保存文件

生成成功后关闭就行

2.2、创建顶层文件

1、创建顶层文件,在原理图(BDF)文件中添加 PD 生成的系统符号,如图 1.36 在空白处双击将已生成的qsys_led.bsf加入 顶层文件中。如下图所示

2、为了之后能编译成功,还需要将对应的 Quartus II IP File (.qip) 加入项目中。步骤如下:
①点击 Assignments-Settings,添加 kernel.qip 文件,如下图所示。

②选中该文件后,点解 OK 按钮加入 kernel.qip 文件,然后添加

3、引脚连接

4、菜单里选择 Device…——>Device and pin options进行 unused pin 设置,可能会收到外部信号的干扰,将未用引脚设置为 As input tri-stated

5、

6、编译工程成功

7、进行物理引脚配置并再次进行编译

2.3、软件设计

1、打开Tools——>Nios II Software Build Tools for Eclipse

2、点击File->New->Nios II Application and BSP from Template创建文件

3、选择硬件设计部分的文件,填写工程名称以及工程Template

4、BSP是板级支持包,把软件与底层硬件隔离开,直接点击Finish

5、打开hello_world中的.c文件,修改里面的内容如下

#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;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;
}

6、点击保存,选择hello_wold_bsp,右键后,选择Nios II——>Generate BSP

7、编译应用文件,选择hello_world右键后,点击Build Project

编译完成

3、工程测试

3.1、硬件下载

1、在quartus Ⅱ中选择下载工程

2、选择生成的.sof文件进行下载,完成后显示进度100%

3.2、软件下载

1、找到刚刚编译成功的大文件,右键选择Run as——>Nios II Hardware

2、等待下载完成

3.3、运行结果

参考:
https://blog.csdn.net/qq_43279579/article/details/115933154

NIOSII 软核的流水灯相关推荐

  1. 基于 NIOS-II 软核的流水灯

    基于 NIOS-II 软核的流水灯 一.实验介绍 (一)实验目的 (二)实验内容 (三)实验原理 (四)实验器件 二.硬件设计 (一) 新建一个工程 (二) Qsys 系统设计 (三)完成 Qsys ...

  2. 【Nios II】以SOPC开发流程完成流水灯以及串口输出实验

    一.前言 实验内容及步骤 使用 FPGA 资源搭建一个简单 Nios II 处理器系统,具体包括: (1) 在 Quartus Prime 中建立一个工程: (2) 使用 PD 建立并生成一个简单的基 ...

  3. 第八周---FPGA流水灯显示和串口循环输出实验

    文章目录 前言 1.流水灯显示 2.串口循环输出"Hello Nios-II"字符串到笔记本电脑 前言 学习 Quartus-II .Platform Designer.Nios- ...

  4. NiosII软处理器快速入门- 10分钟学会NiosII(1)

    http://hi.baidu.com/hieda/blog/item/7f69080e9efb80ce7bcbe13d.html Nios简单介绍: Nios II是一个用户可配置的通用RISC嵌入 ...

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

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

  6. (原创)LEON3入门教程(三):基于LEON3的SOPC设计以及HELLOWORLD和流水灯

    摘要:通过前两篇博客的介绍,Windows下基本的LEON3开发环境就已经搭建好了.这篇博客将要介绍LEON3 SOPC平台的搭建(使用Cygwin+GRLIB)和 LEON3 IDE(eclipse ...

  7. MicroBlaze:Xilinx官方软核学习与一些实验测试

    目录 一.引言 二.HelloWorld实验 三.AXI_GPIO实验 四.一些注意 一.引言 1.MicroBlaze简介. 用于做嵌入式处理操作的软核,来加速系统设计.与传统独立CPU相比,软核嵌 ...

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

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

  9. 51单片机入门学习小结(流水灯与数码管)

    51单片机入门学习小结(流水灯与数码管) 对原理图的分析 以下是我所用单片机的原理图 这块51单片机一共有4个I/O口(意思为input/output),也代表着如果我们后续都要用到这四个的话那么功能 ...

  10. EBAZ4205矿板使用PS端时钟,给PL端,LED流水灯功能

    EBAZ4205矿板使用PS端时钟,给PL端,LED流水灯功能. 矿板PS CLK端口 E7 33.333MHZ 第一步:点IP INTEGRATOR 里面 Create Block Design 然 ...

最新文章

  1. 解读谷歌事件中的失语症现象
  2. P7909 [CSP-J 2021] 分糖果 方法二
  3. 12 个实用的前端开发技巧总结
  4. 思科警告: Nexus 交换机受严重缺陷影响
  5. python学习day02
  6. android屏蔽电话号码,手机屏蔽骚扰电话的方法【推荐方法】
  7. 含参积分求导/积分上限函数求导/
  8. 修改Apache配置文件httpd.conf,引入PHP模块;后无法启动
  9. 元白:欲买桂花同载酒,终不似,少年游。
  10. 《形式感+——网页视觉设计创意拓展与快速表现》
  11. linux下的qt没有qpixma类吗,Qt基础教程之QTreeWidget和QDockWidget用法详解
  12. SVN迁移至GIT,并附带历史提交记录
  13. 译《Office商业应用程序入门》
  14. 机电一体化T6113电气控制系统的设计(论文+DWG图纸)
  15. SQL注入之order by注入与limit注入
  16. CocoaPods的使用和安装
  17. “海底数据中心”被打捞出水,故障率仅为陆地1/8;京东超大规模联邦学习平台开源...
  18. jenkins+maven+docker java项目编译、打包、构建镜像、上传私有仓库、web容器部署
  19. 计算机网络文件丢失怎么找回,电脑上的数据误删除了怎么恢复?教你几招!
  20. 宋晓丽20190912-2 命令行

热门文章

  1. OCP4.4 部署EFK-使用local-volume持久化
  2. 推荐16本平面设计书籍,学平面设计必看的书不要错过哦
  3. 计算机网络安全基础复习(第四版)袁津生主编(转载请注明出处---https://www.cnblogs.com/qingl)...
  4. Linux 4G模块pppd拨号上网脚本解析
  5. 塑料壳上下扣合的卡扣设计_卡扣结构设计常识,结构设计中扣合量如何留
  6. 微信注册验证成功之后不跳转_微信公众号申请教程,怎么创建公众号?
  7. 什么是十六进制法_十六进制计算方法是什么?
  8. XP安装SQL2000个人版
  9. 如何用 css 画一个正方体
  10. 中国室内定位系统LBS市场现状研究分析与发展前景预测报告(2022)