Vivado中VIO IP核的使用

Vivado中VIO IP核的使用

  • 一、写在前面
  • 二、VIO IP核配置
  • 三、VIO联调
  • 四、写在后面

一、写在前面

  Vivado中的VIO(Virtual Input/Output) IP核是一种用于调试和测试FPGA设计的IP核。它允许设计者通过使用JTAG接口读取和写入FPGA内部的寄存器,从而检查设计的运行状态并修改其行为。VIO IP核提供了一个简单易用的接口,使得用户可以轻松地与FPGA内部寄存器进行交互。通过使用VIO IP核,用户可以实时监视和修改设计中的信号,以便进行调试和验证。此外,VIO IP核还可以与其他IP核和设计组件配合使用,从而帮助设计者更好地理解和调试整个系统。
  总之,VIO IP核是一个非常有用的调试工具,它可以帮助FPGA设计者快速、准确地调试和测试他们的设计,并加快整个开发流程。

二、VIO IP核配置

  在Vivado的IP Catalog界面中,搜索VIO,即可找到我们需要使用的VIO IP核,双击对IP核进行配置。
在这里插入图片描述
  首先是对VIO的虚拟输入/输出引脚的个数的配置

  • Input Probe Count:VIO输入探头个数,即输入到VIO,需要查看实时数据值的信号个数;
  • Output Probe Count:VIO输出探头个数,即输出给其他模块的信号个数;
  • Enable Input Probe Activity Detectors:输入探头变化检测。若勾选,则在后续调试过程中,某个输入信号发生变化时,则会出现数据变化的提示;若不勾选,则无输入数据变化提示(注意,这里输入数据是指输入到VIO模块中的数据);

  另外,在这里有一点值得注意:输入/输出探头的最大个数为256,而在该界面下,最多可以生成64个输入/输出探头的VIO IP核,如果要生成大于64的VIO IP核,则需要通过Tcl脚本进行生成。
在这里插入图片描述

  然后是对输入探头的位宽进行设置,即我们需要观察的信号的位宽。

在这里插入图片描述

  然后是对输出探头的位宽进行设置,即输出到其他模块,用于计算或者控制的信号的位宽。

在这里插入图片描述
  对VIO IP核配置完成后,生成IP核。

三、VIO联调

  本次以UART发送为例,通过VIO输出串口需要发送的8比特数据data和1比特的发送使能信号,同时将串口发送结束信号tx_done接入到VIO的输入端,观察其值和变换。
  首先,在IP Sources窗口下找到vio_0.veo,该文件为生成的VIO IP核的例化模板,将该例化模板复制到UART发送模块的顶层文件中,对例化名称以及VIO的输入输出进行连接。
在这里插入图片描述
在这里插入图片描述

  在这里,对VIO输出的信号tx_signal做边沿检测,当tx_signal发生变化时,则将串口发送信号uart_tx_en拉高一个时钟周期,表示发送1Byte的数据。

在这里插入图片描述

  对顶层文件综合实现后,生成比特流文件,将生成的.bit文件和.ltx文件下载到FPGA开发板。

在这里插入图片描述

  此时会出现VIO调试窗口,在该窗口下可以看到接入VIO输入/输出探头的各个信号的信号名称Name、当前值Value、是否发生变化Activity等信息。

在这里插入图片描述

  同时,打开串口助手,可以看到串口助手中无任何接收信息。

在这里插入图片描述

  然后,在VIO调试窗口中修改tx_signal的值为1,即给出一个发送信号,可以看到在串口助手中,接收到了8’h00,这是由于我们给uart_tx_data赋的初始值为8’h00。同时,在调试窗口中可以看到uart_tx_done的Activity栏出现一个上下箭头的蓝色标志,表示出现了上升沿和下降沿,在这里由于uart_tx_done只有保持一个时钟的高电平,表示一帧数据传输结束,所以在这里会出现上升沿和下降沿。
在这里插入图片描述
在这里插入图片描述
  然后在VIO调试窗口中修改串口发送的8bit数据uart_tx_data为AA,然后再修改tx_signal的值为0,即给出一个发送信号,可以看到在串口助手中,接收到了8’hAA。
在这里插入图片描述
在这里插入图片描述
  再比如发送数据8’hDD,在串口助手中接收到数据8’hDD。

在这里插入图片描述
在这里插入图片描述
  根据上述实验结果,对UART发送模块的验证通过。

四、写在后面

  在本文中,学习了Vivado中VIO IP核的使用,结合串口发送程序进行上板实验,使用VIO产生串口需要发送的8比特数据和控制串口发送的使能信号。在这里,只是对VIO的使用进行简单的演示,在具体设计中应根据项目需求进行配置。
  好了,上面就是关于Vivado中VIO IP核的一些学习笔记,如果有疑义的地方欢迎评论区友好探讨学习!!!!!
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/13418.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

复旦大学郁喆隽:网络制造出人的“幻象”,深度思考如何可能?

“人是什么?”这是亘古以来人们反复追问的一个古老命题。从元宇宙到ChatGPT,这个人人都在讨论、理解和实践互联网的时代,对“人”的自我定义和认知产生了哪些影响?    在3月12日复旦大学-华盛顿大学EMBA项目主办的“复调艺文沙龙”上&am…

Keil生成.bin文件

1. 打开OptionsforTarget 对话框: 2 选择User: 3. 根据User页的配置还要配置Output页面,具体如下: 4. 点击OK确定,然后再重新编译则会按照上图中的配置路径生成.bin格式的文件了: Keil自带的fromelf.exe工具…

Python3 OpenCV4 计算机视觉学习手册:6~11

原文:Learning OpenCV 4 Computer Vision with Python 3 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自【ApacheCN 计算机视觉 译文集】,采用译后编辑(MTPE)流程来尽可能提升效率。 当别人说你没有底线的时候&a…

Git 时间线管理

Git 时间线管理 这一部分主要讲的是 取消(undo) 变化 和在不同的时间锚点跳来跳去,以 command 为主。 设计到的commits有: checkoutrestoreresetrevert checkout checkout 的一部分作用,即切换分枝在 git 分支操作 中有提到过&#xff0…

【SCI电气】考虑不同充电需求的电动汽车有序充电调度方法(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

从单兵作战到生态共创,纵目科技打响智驾2.0新战役

4月18日,第十二届上海国际汽车工业展览会(简称:2023上海车展)在上海国家会展中心盛大启幕。纵目科技携最新自动驾驶解决方案——Amphiman 3000、8000行泊一体解决方案、Trinity 3000、8000舱行泊一体解决方案以及众多摄像头产品强…

V2.4版本商超标签专用路由器

PICK_Router_V2.4 产品参数 产品型号 PICK_Router_V2.4 尺寸(mm) 21*14*4.3mm 工作温度 -10-70℃ 产品重量 465g 供电方式 DC12V or POE 工作频率 2.4G 通信速率 50-250kbps 通信方式 10/100Mbps有线网络&2.4G 通信半径 30m 支持标签数量 >10000…

opengl绘制三角形

1.绘制两个三角形 GLfloat vertices1[] { 0.5f, 0.5f, 0.0f, 0.5f, -0.5f, 0.0f, -0.5f, 0.5f, 0.0f } GLfloat vertices2[] { 0.5f, -0.5f, 0.0f, -0.5f, 0.5f, 0.0f, -0.5f, -0.5f, 0.0f } 也可以用索引的方式: GLfloat vertices[] { 0.5f, 0.5f, 0…

浅谈数字化工厂五大核心系统

一、什么是数字化工厂 数字化工厂是将数字技术应用于工厂生产、管理和运营中的一种方式,可以帮助企业提高生产效率和质量,降低成本和风险,提高竞争力和市场份额。数字化工厂是中小制造业企业自主建设制造业信息化的途径。 简道云数字化工厂解…

电脑开机出现英文字母开不了机U盘重装系统教学

电脑开机出现英文字母开不了机U盘重装系统教学。有用户电脑开机之后出现了错误代码字母,无法正常的开机了。遇到这个问题要怎么去进行系统的重新安装呢?一起来看看以下的具体解决方法教学吧。 准备工作: 1、U盘一个(尽量使用8G以上…

WiFi 时钟

WiFi 时钟有很多开源项目的。但是,成品往往代码一大篇,看起来有些上头。加上有些库和环境的版本变迁,编译报错排查起来很是费劲。于是从头捋一遍,一步一步的过程,容易上手: 准备工作: a 零件&…

【天梯赛补题】

175对我这种蒟蒻好难,,, L1-6剪切粘贴 题目详情 - L1-094 剪切粘贴 (pintia.cn) 天梯赛:L1-094 剪切粘贴_scarecrow133的博客-CSDN博客 本蒟蒻看到字符串就害怕,一看就没思路,果断跳过了…… 等佬佬讲…

《面试1v1》java注解

我是 javapub,一名 Markdown 程序员从👨‍💻,八股文种子选手。 面试官:接下来,聊聊Java的注解,它们到底有什么用? 候选人: 注解的用处主要三个: 第一个,编译期使用。比如Override确保你正确重…

Vue 条件语句

文章目录 Vue 条件语句条件判断v-ifv-elsev-else-ifv-show Vue 条件语句 条件判断 v-if 条件判断使用 v-if 指令&#xff1a; v-if 指令 在元素 和 template 中使用 v-if 指令&#xff1a; <div id"app"><p v-if"seen">现在你看到我了<…

自阿里P8爆出内部1031道java面试题后,在Boss直聘狂拿千份Offer

开始之前我问大家几个问题&#xff0c;看大家是如何思考的&#xff1a; 1.程序员一定要去一线城市漂泊吗&#xff1f;在自己家乡如何拿到一份满意的薪水&#xff1f; 2.程序员被裁员、找不到工作&#xff0c;代表什么&#xff1f; 3.程序员一定要进一线大厂吗&#xff1f;你…

LeetCode热题HOT100:单词拆分、环形链表 II、LRU 缓存

LeetCode热题HOT100 139. 单词拆分 题目&#xff1a;给你一个字符串 s 和一个字符串列表 wordDict 作为字典。请你判断是否可以利用字典中出现的单词拼接出 s 。 注意&#xff1a;不要求字典中出现的单词全部都使用&#xff0c;并且字典中的单词可以重复使用。 示例 1&#xf…

一个从培训学校走出来的测试工程师自述....

简单介绍一下我自己&#xff0c;1997年的&#xff0c;毕业一年了&#xff0c;本科生&#xff0c;专业是机械制造及其自动化。 在校度过了四年&#xff0c;毕业&#xff0c;找工作&#xff0c;填三方协议&#xff0c;体检&#xff0c;入职。我觉得我可能就这么度过我平平无奇的…

D. Ehab and the Expected XOR Problem(构造 + 异或和)

Problem - D - Codeforces 给出两个整数nn和xx&#xff0c;构造一个满足以下条件的数组&#xff1a; 对于数组中的任何元素aiai&#xff0c;1≤ai<2n1≤ai<2n&#xff1b; 没有非空的子段&#xff0c;其位数XOR值等于00或xx、 它的长度ll应该是最大的。 一个序列bb是一个…

Spring更简单的读取和存储对象

1.存储对象 通过注解来替代配置&#xff0c;依然需要配置扫描包的类对象 1.配置扫描路径 <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/beans"xmlns:xsi"http://www.w3.org/2001…

Amazon Linux2部署安装Jenkins

先决条件 服务器配置要求 256 MB of RAM 1 GB of drive space (although 10 GB is a recommended minimum if running Jenkins as a Docker container) 需要部署安装JDK环境部署安装的Jenkins版本为Version 2.400 部署安装JDK 1. 下载JDK软件包 wget https://corretto.aws/…