FPGA_学习_15_IP核_VIO

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

前一篇博客我们提到在线调试的时候, 可执行文件只要烧进板子,程序它就会自己跑起来,不会等你点FPGA_学习_15_IP核_VIO,FPGA,fpga开发,学习 这个按钮,它才开始跑。我们测试的模块中,里面可能有几个我们关心的信号,它会在程序刚运行很短的时间内发生状态跳变。 当我们打算去捕获它的状态变化的时候,这个时候程序已经跑过了,这导致我们无法抓取到。那这个时候我们应该怎么办呢? 引入VIO这个工具,用VIO的输出信号作为我们测试模块的使能信号,这样我们就能控制待测试的模块什么时候运行。

 VIO是个特别简单的IP核,丝毫不用有畏难情绪。

1 VIO是什么

VIO是虚拟输入/输出(Virtual Input/Output),可以实时监测和驱动FPGA内部信号。 在线调试的时候,Vivado会提供一个VIO的界面,你可以修改VIO对待测模块的输出,也可以监测待测模块对VIO的输入。VIO和待测模块的信号如下图所示,就行串口通信一样,你的Tx要接到我的Rx,

FPGA_学习_15_IP核_VIO,FPGA,fpga开发,学习

2 VIO IP 配置

截图警告!

FPGA_学习_15_IP核_VIO,FPGA,fpga开发,学习

FPGA_学习_15_IP核_VIO,FPGA,fpga开发,学习

 我对下面这个截图稍微补充一下哈, 截图只是在介绍这个东西是什么,而我们的VIO例程里,这输入探针数量是1,输出探针数量是5。 IP核名称是vio_0。

FPGA_学习_15_IP核_VIO,FPGA,fpga开发,学习

  我对下面这个截图稍微补充一下哈, 截图只是在介绍这个东西是什么,而我们的VIO例程里,这输入探针位宽是4。

FPGA_学习_15_IP核_VIO,FPGA,fpga开发,学习

   我对下面这个截图稍微补充一下哈, 截图只是在介绍这个东西是什么,而我们的VIO例程里,这5个输出探针位宽是2。

FPGA_学习_15_IP核_VIO,FPGA,fpga开发,学习

 Ok之后直接Generate

FPGA_学习_15_IP核_VIO,FPGA,fpga开发,学习

 IP核生成完了之后,都要去抄一下怎么例化。

FPGA_学习_15_IP核_VIO,FPGA,fpga开发,学习

FPGA_学习_15_IP核_VIO,FPGA,fpga开发,学习

 3 VIO测试用例:4选1-选择器

`timescale 1ns / 1ps

module lab_vio(
    input wire clk
);

reg     [3:0]   out;            // 待测模块的输出 VIO的输入
wire    [1:0]   a, b, c, d;     // VIO的输出 待测模块的输入 
wire    [1:0]   sel;            // VIO的输出 待测模块的输入 

always @(*) begin
        case(sel)
                2'b00:  out <= a;
                2'b01:  out <= b;
                2'b10:  out <= c;
                2'b11:  out <= d;
                default: out <= 2'bx;  
        endcase
end        

vio_0 vio_0_inst (
  .clk(clk),                // input wire clk
  .probe_in0(out),    // input wire [3 : 0] probe_in0
  .probe_out0(a),  // output wire [1 : 0] probe_out0
  .probe_out1(b),  // output wire [1 : 0] probe_out1
  .probe_out2(c),  // output wire [1 : 0] probe_out2
  .probe_out3(d),  // output wire [1 : 0] probe_out3
  .probe_out4(sel)  // output wire [1 : 0] probe_out4
);
endmodule

管脚约束代码,我们只用到了clk

create_clock	-period		20.000		[get_ports	clk]
set_property	PACKAGE_PIN	N18			[get_ports	clk]
set_property	IOSTANDARD	LVCMOS33	[get_ports	clk]

4 在线调试

截图警告!

FPGA_学习_15_IP核_VIO,FPGA,fpga开发,学习

FPGA_学习_15_IP核_VIO,FPGA,fpga开发,学习

FPGA_学习_15_IP核_VIO,FPGA,fpga开发,学习

FPGA_学习_15_IP核_VIO,FPGA,fpga开发,学习

FPGA_学习_15_IP核_VIO,FPGA,fpga开发,学习

FPGA_学习_15_IP核_VIO,FPGA,fpga开发,学习

假设我设置 a b c d 分别为3 2 1 0, 然后分别设置sel为0 1 2 3,检测out的变化

FPGA_学习_15_IP核_VIO,FPGA,fpga开发,学习 FPGA_学习_15_IP核_VIO,FPGA,fpga开发,学习
FPGA_学习_15_IP核_VIO,FPGA,fpga开发,学习 FPGA_学习_15_IP核_VIO,FPGA,fpga开发,学习

 通过以上的小实验呢,我们就算是基本掌握VIO的用法了,是不是很简单呢?

参考文献

Vivado调用VIO核_vio vivado_素年锦什的博客-CSDN博客文章来源地址https://www.toymoban.com/news/detail-661847.html

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

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

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

相关文章

  • FPGA 中 IP基础学习

    首先,要知道什么是IP。Intellecture Property,相当于软件领域的API函数库,三方开源项目。要开发一个真正可用的电路设计,不管什么领域,总会使用到一些IP,不太可能从头开始。IP分为硬核和软核,我们今天讲的是软核IP。 IP 为了方便使用,业界对于IP 约定了封装的关键格式

    2024年02月16日
    浏览(31)
  • 【Lattice FPGA 开发】IP核的调用

    本文介绍Diamond开发软件进行IP核调用与对应官方文档查找方法。 Diamond软件中,根据所选目标FPGA器件型号的不同,调用IP核的方式不同。共两种:一种是“IPexpress”;另一种是“Clarity Designer”。 IPexpress调用IP核: Clarity Designer调用IP核: 接下来分别对两种情况的调用进行说明

    2024年04月12日
    浏览(49)
  • FPGA的学习分享--03 时钟IP核

    需要掌握: 1.博宸电子ZYNQ7020DEV开发板 2.Vivado 2018.3 3.一定的verilog语法基础 1.2.1 个人理解 在我看来,时钟IP核就是产生多个时钟的“芯片”。将系统时钟输入此芯片,时钟IP核会根据每个人配备的要求,生成不同的时钟。 不同点在于:1. 时钟频率 2.占空比 “当然,特别专业的

    2024年01月24日
    浏览(34)
  • 学习笔记之FPGA的IP核及其应用

          目录 1. FPGA的IP核定义和分类 2. PLL锁相环  2.1 PLL的基础知识 2.2 PLL核的调用 3. ROM IP核 4. RAM IP核 5. FIFO IP核         FPGA的IP核是在可编程逻辑器件(FPGA)中可以实现特定功能的可重用模块,它们以形式化的方式描述了硬件的功能和接口。如图所示为 PLL 大体的一个结

    2024年03月22日
    浏览(44)
  • FPGA原理与结构——时钟IP核原理学习

    系列文章目录:FPGA原理与结构(0)——目录与传送门         在之前的文章中,我们介绍了FPGA的时钟结构 FPGA原理与结构——时钟资源 https://blog.csdn.net/apple_53311083/article/details/132307564?spm=1001.2014.3001.5502         在本文中我们将学习xilinx系列的FPGA所提供的时钟IP核,来帮助我

    2024年02月10日
    浏览(38)
  • FPGA学习笔记(六): FIR IP核的使用

    1. 打开VIVADO,点击IP Catalog   2.搜索DDS,选择DDS Compiler,按照上节配置频率为3MHz和4MHz的DDS IP核。    这里注意不勾选Has Phase Out 这里注意不勾选Output TREADY     输出频率为3MHz 按照上述步骤,配置4MHz的DDS,同样不勾选Has Phase Out以及不勾选Output TREADY。 3. 点击IP Catalog,搜索mu

    2024年02月03日
    浏览(46)
  • FPGA学习笔记(五):DDS IP核的使用

     1. 打开VIVADO,点击IP Catalog    2.搜索DDS,选择DDS Compiler    3. 配置参数 (1) 设置主频频率 50MHz   (2) 选择sine,并且勾选Has Phase Out(相位输出)    (3) 勾选Output TREDAY  (4) 输入频率    (5) 同上述步骤,再加一个DDS IP核 4. 测试文件   5. 结果展示        

    2024年02月11日
    浏览(59)
  • FPGA学习笔记(二):clk IP核的使用

     1.打开VIVADO,点击IP Catalog   2. 搜索clk,选择Clocking Wizard   3. 配置参数 (1) 选择MMCM      (2) 设置主频50Mhz  (3) 设置输出的4个clk的参数,分别是50M,25M,100M,100M反相。Phase表示相位,0表示同相,180表示反相。      (3) 其他参数  4. 测试文件 其中clk_wiz的例化可参考模板。点击

    2024年02月12日
    浏览(51)
  • FPGA原理与结构——FIFO IP核原理学习

    系列文章目录:FPGA原理与结构(0)——目录与传送门         FIFO是英文First-In-First-Out的缩写,是一种先入先出的数据缓冲器,与一般的存储器的区别在于没有地址线, 使用起来简单,缺点是只能顺序读写数据,其数据地址由内部读写指针自动加1完成,不能像普通存储器

    2024年02月11日
    浏览(49)
  • FPGA原理与结构——RAM IP核原理学习

    系列文章目录:FPGA原理与结构(0)——目录与传送门 目录 一、什么是RAM 二、RAM IP介绍 1、RAM分类简介  2、可选的内存算法 (1)Minimum Area Algorithm(最小面积算法) (2)Low Power Algorithm (低功耗算法) (3)Fixed Primitive Algorithm (固定模块算法) (4)小结 3、位宽 4、工作模

    2024年02月12日
    浏览(41)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包