Vivado中vio的使用

参考教程:https://www.cnblogs.com/kingstacker/p/9810704.html

前言
使用场景:在使用In system debug时需要使用按键触发查看相关信号,但不想用板子上的按键。
VIO:Virtual input output,即虚拟IO。
主要用作虚拟IO使用;VIO的输出可以控制模块的输入,VIO的输入可以显示模块的输出值。

连接如下图:
 

Vivado中vio的使用_第1张图片

假设有一个模块的复位信号,需要由自己控制,则可以使用VIO核进行相关控制;
 
流程
本次需要一个信号的控制,使用VIO核的流程如下所示。
1.例化一个VIO核:VIO的输出对应于模块的输入,此次只需要一个output probe Count

 

Vivado中vio的使用_第2张图片

 2、设置vio输出端口的位宽与初始值:

Vivado中vio的使用_第3张图片

3、在代码中插入例化,把VIO的输出口连接到模块的输入。

vio_0 your_instance_name (
  .clk(clk),                // input wire clk
  .probe_out0(probe_out0)  // output wire [0 : 0] probe_out0
);

将信号probe_out0连接到模块的输入。

4、正常编译把bit文件和debug(Itx)文件下载到FPGA中。
自动弹出的界面vio中设置信号的值,则此信号就可以实现复位功能了。

注意:将bit文件下载到FPGA中之后,如果使用vio,必须将vio中所有的信号手动初始化,才能触发其它信号,进行数据采集。

你可能感兴趣的:(Verilog,FPGA学习笔记)