Vivado中VIO IP核的使用

这篇具有很好参考价值的文章主要介绍了Vivado中VIO IP核的使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、写在前面

  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核进行配置。
Vivado中VIO 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脚本进行生成。
Vivado中VIO IP核的使用

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

Vivado中VIO IP核的使用

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

Vivado中VIO IP核的使用
  对VIO IP核配置完成后,生成IP核。

三、VIO联调

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

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

Vivado中VIO IP核的使用

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

Vivado中VIO IP核的使用

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

Vivado中VIO IP核的使用

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

Vivado中VIO IP核的使用

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

Vivado中VIO IP核的使用
Vivado中VIO IP核的使用
  根据上述实验结果,对UART发送模块的验证通过。

四、写在后面

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

到了这里,关于Vivado中VIO IP核的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vivado DDS IP核的使用及仿真

    参考:https://blog.csdn.net/weixin_45303812/article/details/123704440 新人第一次写文档,有错误的地方请大佬指点。 文档:Xilinx官网搜DDS Configuration 可配置参数 : 1.Configuration Options,有如下三种模式 Phase Generator and SIN/COS LUT (DDS): 相位和sin和cos的数据都是IP核自己产生 Phase Generator only:

    2023年04月15日
    浏览(48)
  • 如何使用Synplify综合vivado带IP核的工程

    下面的说法来自网上: 综合时间更好,综合出来所使用的逻辑更少 综合的时序更好 在IC设计中,使用Synplify综合+Vivado组合比较多。synplify 用于生成网表,然后将网表倒入FPGA中,进行布局布线等操作。 Libero集成开发环境中Synplify应用与提高-Microsemi(Actel) FPGA开发工具——周

    2024年02月11日
    浏览(51)
  • vivado中时钟ip核的调用

    时钟ip核(MMCM PPL),MMCM(混合模式时钟管理)和PPL(锁相环)是FPGA内部的时钟资源。 作用:对时钟网络进行一个系统级的时钟管理和偏斜控制,具有时钟倍频、分频、相位偏移等功能 一、7系列FPGA高层次时钟结构视图     Clock Region :区域时钟。 Clock Backbone :全局时钟线

    2024年01月19日
    浏览(46)
  • 基于vivado DDS ip核的DDS信号发生器(可调频调相)

    基于Vivado DDS ip核的DDS信号发生器: 在Vivado软件中调出DDS ip核进行设置,很多参数可以参考xilinx官方手册,比较重要的是System Clock系统时钟和Phase Widh相位宽度的设置,这是最终得到波形的频率和相位所需要的基础参数,在这里我分别设置为50Mhz和16bit。 在implementation页面设置频

    2024年02月12日
    浏览(38)
  • FPGA中FIFO的应用(三)——Vivado FIFO IP核的调用

    ⭐️作者简介: 小瑞同学 ,一个努力精进的 FPGA 和通信学习者。 🍎个人主页:小瑞同学的博客主页 🌻个人信条:越努力,越幸运! ⏰日期:2023.12.6 🔍来源:自学经历 📖文章内容概述:简单介绍了 FIFO IP核 常用参数的配置,通过仿真分析了异步IP的 读写数据 过程。 连载

    2024年01月18日
    浏览(42)
  • systemverilog中的参数传递——ref、input、output

    sv中的静态数组、动态数组、队列都是用一块内存存放,而他们的名字作为该内存的地址,这点和c一致,但sv中没有指针的概念。 传递这种大片内存的值一般只有两种规则: 1.地址传递,函数内部修改可以改变函数调用的值。 2.值传递,将整片空间复制一份,函数内部修改不

    2024年02月15日
    浏览(45)
  • Vivado中的FFT IP核使用(含代码)

    本文介绍了Vidado中FFT IP核的使用,具体内容为:调用IP核配置界面介绍IP核端口介绍MATLAB生成测试数据测试verilogHDLTestBench仿真结果验证FFT运算。 该IP核对应手册pg109_xfft.pdf,首先按照图片找到IP核: 本小节主要介绍Fast Fourier Transform9.1这个IP核配置界面的一些选项: 第1页:Con

    2023年04月13日
    浏览(44)
  • VIVADO中FFT核的使用(FPGA计算FFT和IFFT)

             关于这方面的内容,有些文章已经写的很好很详细了。不过我在使用的过程中,还是踩了一些坑,我在这里详细的介绍了IP核每一个设置的作用,然后写了个fft计算和ifft计算的环路的测试程序。应该可以帮大家学会使用fft的同时,也对它有个较为全面的理解。

    2024年01月18日
    浏览(39)
  • linux 中的 nohup 命令(设置后台进程): nohup: ignoring input and appending output to ‘nohup.out’

    Unix/Linux下一般比如想让某个程序在后台运行,很多都是使用 在程序结尾来让程序自动运行。 比如我们要运行weblogic在后台: ./startWebLogic.sh 但是加入我们很多程序并不象weblogic一样做成守护进程,可能我们的程序只是普通程序而已,一般这种程序使用 结尾。 但是如果终端关

    2024年02月04日
    浏览(46)
  • Vivado之VIO原理及应用

    虚拟输入输出(Virtual Input Output,VIO)核是一个可定制的IP核,它可用于实时监视和驱动内部FPGA的信号,如图所示。 可以定制VIO的输入和输出端口的数量与宽度,用于和FPGA设计进行连接。由于VIO核与被监视和驱动的设计同步,因此应用于设计的时钟约束也适用于VIO核内的元件。

    2024年02月15日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包