Vivado VIO IP核(Virtual Input/Output)的使用

前言

在Aurora通信工程中,有一个专门产生Aurora数据包的模块,该模块在Aurora ip准备好后会自动根据计数器产生发送的数据包。

但现在希望能实时地控制数据包的发送以及中断,这时候可以采用vivado的vio ip核处理。

VIO IP

调用VIO IP核可以实时监控和驱动FPGA内部的信号,另外输入和输出端口的数量和宽度是可以设置的,其中输入输出端口的数量支持0-256;位宽支持1-256。

注意VIO IP核时钟与被监控或驱动信号的同步,即时钟应该连接被监控或驱动信号的时钟域。

比如我们输出一个监控信号package_vio,用于驱动实时发包。因此在IP核中配置输出数量=1.

在Probe width配置该信号的位宽 = 1.

在vio ip核模板上进行实例化,其时钟与Aurora发包时钟域相同,输出的package_vio作用发包的使能信号即可。

bash 复制代码
//vio_0 u_vio_0
//  (
//   .clk                                 (sCLK_50M                          ),
//   .probe_out0                          (package_vio                       )
//  );

至此,即可生成bit文件,并下载到板卡中,然后手动调节package_vio信号,来实现数据包的实时发送和关闭。默认为0,调至1表示发包,调回0表示结束发包。

相关推荐
fantasy_arch9 小时前
fpga demo测试hello world
fpga开发
黑猫学长呀10 小时前
存储宝典第6篇:测试机台的PE板和PPB板有什么区别?
测试工具·fpga开发·ssd·芯片测试·ate·存储芯片·测试机台
山栀shanzhi10 小时前
TCP 三次握手四次挥手
服务器·tcp/ip·php
汤愈韬11 小时前
hcip-security_防火墙高可靠技术3_防火墙链路高可靠技术
网络·网络协议·网络安全
(Charon)12 小时前
【C++/Qt】Qt 网络工具中的输入校验设计:IP、端口、URL 和空内容判断
服务器·c++·tcp/ip
liulilittle12 小时前
TCP UCP v1.0:当 BBRv1 遇上卡尔曼滤波
网络·网络协议·tcp/ip
小娄~~13 小时前
TCP/IP协议和TFTP协议
网络·网络协议·tcp/ip
xiaoxue..13 小时前
HTTPS:更安全的HTTP,从加密原理、数字证书到TLS 握手全解析
网络协议·面试·https
liulilittle14 小时前
TCP UCP v1.0 拥塞控制算法(Linux Kernel CC-A)
linux·网络·网络协议·tcp/ip·c·通信·拥塞控制
政沅同学14 小时前
C# TCP通讯(客户端)
网络·tcp/ip·c#