vivado中vio使用教程,vivado综合实现详细流程

首页 > 实用技巧 > 作者:YD1662024-01-30 02:08:49

debug,尤其是通信芯片的debug,可以有很多的方法。一个数据帧从进入到输出,可以在通路上的关键节点处设置监测如各种计数器等,可通过VIO(xilinx)定时上报实时状态。可以把VIO的各个信号线设置成类似于CPU总线的结构,监测计数器或者状态寄存器编成相应的地址,轮询读取回PC,在PC上通过TCL或者其它语言捕获数据。甚至可以将多个FPGA芯片都通过VIO进行调试,远程操作,效率也可以大大提升。另外,也可以设置专门的测试帧,在里面打各种不同大小的闭环,层层检测,发现问题。

这个VIO比chipscope有多大优势?

原理是一样的,不同的就是可以方便操控,可以写脚本抓取数据,还可以远程操控。VIO有输入也有输出,可以实时的配置寄存器。 http://xilinx.eetrend.com/blog/11987,Vivado VIO (virtual input output)虚拟IO使用;

一、使用方法概述

一般情况下VIO用在设计中,可以提供模拟IO(我们主要用到模拟输出接口的功能)。如图1所示,红框内vio_0模块的两个输出probe_out[0:0]和probe_out[7:0]都可以接到其他模块直接使用,但是我们不需要用到板子上的实际接口(比如按键)。那么为什么我们在电脑上点一点鼠标,就可以将数据传递到FPGA内部呢?数据是通过什么传输到FPGA内部?答案是JTAG,电脑上的VIVADO软件可以通过JTAG软件与FPGA实现通信,这就是VIO模块在FPGA内部模拟IO引脚的原理。

vivado中vio使用教程,vivado综合实现详细流程(1)

图1 VIO IP核

1、VIO IP核的配置

下面用实际例子说明VIO IP核的配置过程:

在某设计中,需要使用按键出发,但是板子上没有设计按键,所以需要使用VIO模拟按键输入还有其他信号的输出。具体过程如下:

(1)例化VIO IP核 ;

(2)参数配置,配置输入探针数量和输出探针数量,如图2所示。分别可以设置0-256个。(一般输入探针用不到,最常用的是输出探针,在这里这两种探针都在图里体现了)。

vivado中vio使用教程,vivado综合实现详细流程(2)

图2 探针数量设置

(3)配置输出探针数据位宽及初始值

输出探针的数据位宽,及初始化数据(in hex)配置如图3所示

vivado中vio使用教程,vivado综合实现详细流程(3)

图3配置输出探针数据位宽及初始值

3、 VIO IP核的例化

VIO IP核代码实例化如下图所示。

ILA_wrapper ILA(

.clk ( ),

.probe0 (),

.probe1 (),

.probe_out0 (),

.probe_out1 (),

.probe_in0 ()

);

4、 VIO IP核的使用

在hw_vio界面加入输出探针,并且配置对应的参数,此时FPGA内部的输出探针就会相应地发出信号,如图4所示。

vivado中vio使用教程,vivado综合实现详细流程(4)

首页 123下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.