基于Nios II软核的流水灯

文章目录

  • 一、PIO的介绍
  • 二、Nios II软核实现流水灯
    • (一)硬件部分设计
    • (二)软件设计
    • (三)下载硬件和软件
  • 三、实际结果
  • 四、参考资料

一、PIO的介绍

  1. 定义
    PIO IP核:Avalon-MM从端口和通用I/O端口提供了一个存储器映射(memory-mapped)接口
  2. 用途
    用户逻辑或外围器件提供了简单的I/O控制
    例如
    ①控制LED灯
    ②获取按键的电平变化信息
    ③控制显示设备
    ④与片外器件通信(SPI, I 2 C {I^2C} I2C
  3. 寄存器
偏移量 寄存器名称 读/写 含义
0 data 读/写 读的时候,获取当前PIO输入的端口值,写的时候,输出到PIO端口的值,可配置单向功能
1 direction 读/写 控制每个I/O的数据方向,0为输入,1表示输出
2 interruptmask 读/写 各输入端口的中断使能信 ,1表示使能中断
3 edgecapture 读/写 各输入端口的边沿触发中断
4 outset 设定输出位位1
5 outclear 设定输出位为0

二、Nios II软核实现流水灯

(一)硬件部分设计

  1. 完成基本的硬件部分设计
    请先参考下面链接中的硬件部分设计,完成相应的硬件部分设计
    https://blog.csdn.net/qq_43279579/article/details/115933154

  2. 添加其他IP核
    添加PIO
    在搜索框上输入pio,选择PIO(Parallel I/O),点击Add

  3. 连接时钟和复位

  4. 系统分配地址
    选择System->Assign Base Address

  5. 使用FPGA资源
    选择Generate->Generate,保持默认设置,点击Generate,选择Save

  6. 创建顶层文件
    回到Quarters,选择New->Verilog HDL File
    顶层文件内容

    保存文件,并编译

    问题描述:

    解决方法:
    手动添加上面创建的系统

  7. 芯片引脚设置
    菜单里选择 Assignments-device,点击 Device pin options
    进行 unused pin 设置,可能会收到外部信 的干扰,将未用引脚设置为 As
    input tri-stated

  8. 编译完成后,分配管脚

  9. 保存编译
    点击保存,选择hello_wold_bsp,右键后,选择Nios II中的Generate BSP,编译应用文件,选择hello_world右键后,点击Build Project

(三)下载硬件和软件

三、实际结果

基于Nios II软核的流水灯

四、参考资料

https://www.bilibili.com/video/BV1kh41127Qm=3

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年3月18日
下一篇 2021年3月18日

相关推荐