图4 VIO IP核的使用
二、使用VIO实现大量寄存器读写
1、背景
在FPGA调试中,如果没有CPU接口及操作系统,但同时希望能够有一种类似于有CPU且可以实时在线读写FPGA内部状态寄存器或者配置FPGA内部寄存器的功能,就可以采用VIO来实现一个模拟的CPU接口,以下进行详细的介绍。
2、 原理框图及VIO字段定义
在Vivado 2016.2 软件环境,Zedboard硬件平台下,实现了一个示例工程,该工程的功能是,电脑运行Vivado软件,并通过Jtag与zedboard相连,利用VIO模拟CPU接口,实现寄存器读写功能(寄存器数量为32个,位数为32位),如图5所示。
图5原理框图
其参数配置说明如下:
如图6所示,vio_out_1的前32位是写地址,后32位是写数据;
图6 VIO 写地址与写数据
如图7所示,vio_rd_addr代表读地址;
图7 VIO 读地址
如图8所示,vio_rd_data代表读数据