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表示结束发包。

相关推荐
lunzi_082638 分钟前
《图解HTTP》--第6章-HTTP首部
网络·网络协议·http
BINGCHN1 小时前
CVE-2026-49975(HTTP/2 Bomb 远程拒绝服务漏洞)
网络·网络协议·http·cve
xlq223222 小时前
64.TCP 可靠性与效率
网络·网络协议·tcp/ip
Cx330❀2 小时前
【Linux网络】一文吃透 TCP Socket 编程
linux·运维·服务器·开发语言·网络·tcp/ip
J-Tony113 小时前
【计算机网络】TCP粘包和拆包
网络·tcp/ip·计算机网络
Bruce_kaizy3 小时前
c++网络编程——解析主机字节序、网络字节序以及深入剖析tcp编程中万恶的结构体(爆肝)
linux·服务器·网络·tcp/ip·ubuntu
博览鸿蒙3 小时前
[特殊字符]AI+FPGA 全栈学习大纲【就业版】定位
人工智能·学习·fpga开发
程序猿阿伟4 小时前
《从TCP到WebSocket:Discord静默断流的七层排查指南》
websocket·网络协议·tcp/ip
逆境不可逃4 小时前
【WebSocket 01】 入门原理剖析,手写群发消息、私聊会话功能
网络·websocket·网络协议
awu的Android笔记4 小时前
限速/丢包/乱序/重复/篡改:Android 弱网模拟的 5 把利刃
android·tcp/ip