文章目录
- 一、PIO的介绍
- 二、Nios II软核实现流水灯
-
- (一)硬件部分设计
- (二)软件设计
- (三)下载硬件和软件
- 三、实际结果
- 四、参考资料
一、PIO的介绍
- 定义
PIO IP核:Avalon-MM从端口和通用I/O端口提供了一个存储器映射(memory-mapped)接口 - 用途
用户逻辑或外围器件提供了简单的I/O控制
例如
①控制LED灯
②获取按键的电平变化信息
③控制显示设备
④与片外器件通信(SPI, I 2 C {I^2C} I2C) - 寄存器
偏移量 | 寄存器名称 | 读/写 | 含义 |
---|---|---|---|
0 | data | 读/写 | 读的时候,获取当前PIO输入的端口值,写的时候,输出到PIO端口的值,可配置单向功能 |
1 | direction | 读/写 | 控制每个I/O的数据方向,0为输入,1表示输出 |
2 | interruptmask | 读/写 | 各输入端口的中断使能信 ,1表示使能中断 |
3 | edgecapture | 读/写 | 各输入端口的边沿触发中断 |
4 | outset | 写 | 设定输出位位1 |
5 | outclear | 写 | 设定输出位为0 |
二、Nios II软核实现流水灯
(一)硬件部分设计
-
完成基本的硬件部分设计
请先参考下面链接中的硬件部分设计,完成相应的硬件部分设计
https://blog.csdn.net/qq_43279579/article/details/115933154 -
添加其他IP核
添加PIO
在搜索框上输入pio,选择PIO(Parallel I/O),点击Add
-
连接时钟和复位
-
系统分配地址
选择System->Assign Base Address -
使用FPGA资源
选择Generate->Generate,保持默认设置,点击Generate,选择Save -
创建顶层文件
回到Quarters,选择New->Verilog HDL File
顶层文件内容保存文件,并编译
问题描述:
解决方法:
手动添加上面创建的系统
-
芯片引脚设置
菜单里选择 Assignments-device,点击 Device pin options
进行 unused pin 设置,可能会收到外部信 的干扰,将未用引脚设置为 As
input tri-stated
-
编译完成后,分配管脚
- 保存编译
点击保存,选择hello_wold_bsp,右键后,选择Nios II中的Generate BSP,编译应用文件,选择hello_world右键后,点击Build Project
(三)下载硬件和软件
三、实际结果

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