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

相关推荐
8125035331 小时前
DNS监控:生产实践
linux·网络·网络协议·tcp/ip·计算机网络
罗技1231 小时前
记一次硬盘满了导致 Coco Server 无法启动的排查
网络·网络协议·rpc
NEXT062 小时前
从输入 URL 到页面展示的完整链路解析
网络协议·面试·浏览器
8125035335 小时前
第2篇:为什么要有分层?从工程实践到架构设计
linux·网络·网络协议·计算机网络
hhzz5 小时前
云服务器ECS的高可用部署方案----弹性公网IP和负载均衡的操作
服务器·tcp/ip·负载均衡·ecs·云服务器
白太岁5 小时前
Muduo:(4) 主从 Reactor、事件循环、跨线程无锁唤醒及其线程池
c++·网络协议·tcp/ip
古译汉书5 小时前
【IoT死磕系列】Day 3:学习HTTP!实战:STM32手写GET请求获取天气实战(附源码+八股文)
数据结构·stm32·物联网·网络协议·学习·算法·http
白太岁6 小时前
Muduo:(5) 主 Reactor 之 Acceptor 与 SubReactor 的分发
服务器·网络·c++·网络协议·tcp/ip
Bruce_Liuxiaowei6 小时前
从域名到IP:DNS解析过程与安全防护详解
网络协议·tcp/ip·安全
芯门6 小时前
FPGA商用级ISP(三):自动白平衡(AWB)算法实现与 FPGA 架构解析
图像处理·计算机视觉·fpga开发