安路好用的调试工具VPI

文章目录

  对于FPGA调试人员,最希望的就是能够监控内部信号和动态控制内部信号。

  监控内部信号常用方法有两种,一是将内部信号引到管脚,使用外部逻辑分析仪查看。二是使用FPGA自带的逻辑分析仪,用JTAG下载器就可以完成内部信号查看。

  动态控制内部信号则需要有串口UART或其他总线连到FPGA,然后通过上位机发送命令控制内部寄存器。但这需要FPGA内有总线模块,上位机还需要串口助手这些调试软件,如果没有的话就很不方便。现在安路有个VPI(Virtual Probe Interface)调试工具,可以很方便的动态控制内部信号。

1.VPI简介

  Virtual Probe Interface 可以实时监控和驱动 FPGA 内部信号,不过最好用的还是驱动内部信号,本文只讲驱动内部信号功能。VPI需要通过实例化添加到设计中,用户可定制VPI输入输出信号的位宽和数量。VPI可以代替外部管脚向FPGA 内部输入信号,从而控制 FPGA 内部信号。其连接框图如下图所示。

2.VPI插入方式

  Virtual Probe Interface 需要通过在工程源码中进行实例化添加,并将所需的控制信号连接VPI的 outprobe,将想要监测的信号接入 VPI的 inprobe。最多支持插入 32 个 VPI IP。如果工程中除了添加 VPI还添加了 Chip Watcher,那么 Chip Watcher 和 VPI 相加不能超过 32 个。

2.1IP生成

  打开的工程,单击菜单栏 Tools -> IP Catalog,打开 IP 选择界面,选择 Debug 分类下的 Virtual Probe Interface。如下图所示:

  双击 Virtual Probe Interface IP,用户可以自定义选择路径和名称,如下图所示:

  单击 OK 后,即可打开 VPI IP 设置界面,如下图所示。

  General Options 界面相关参数设置如下:

Input Probe Count:设置需要观测的探针个数,支持范围为 1~64 个,默认值为 1。

Output Probe Count:设置输入到 FPGA 内部的探针个数,支持范围为 1~64 个,默认为 1。

  General Options 相关参数设置完成后,即可单击 Probe In Ports 界面,用于设置每个 Input Probe 的位宽。Probe In Ports 个数和 General Options 界面设置的 Input Probe Count 的值一致。如下图所示:

  Probe In Ports 界面相关参数设置如下:

In width:输入探针位宽,可根据实际位宽进行设置,支持范围 1~256,默认值为 1。

  Probe In Ports 相关参数设置完成后,即可单击 Probe Out Ports 界面,用于设置每个 Output Probe 的位宽。Probe Out Ports 个数和 General Options 界面设置的 Output Probe Count 的值一致。如下图所示。

  Probe Out Ports 界面相关参数设置如下:

Out width:输出探针位宽,可根据实际位宽进行设置,支持范围 1~64,默认值为 1。

Out Initial Value(in hex):指定输出探针初始值,支持 16 进制格式,默认值为 0。

  完成所有设置后,即可单击 OK 按钮,生成相应的 Virtual Probe Interface IP。

2.2IP例化

  Virtual Probe Interface 生成后,可以通过右键单击 Show Instantiation Template 查看实例化模板,如下图所示:

  在工程源文件中粘贴实例化模板,同时将 clk 接入需要观测的信号所使用时钟,inprobe、outprobe接入需要观测的信号,如下图所示:

  最后综合编译即可。

3.VPI下载和控制

3.1下载

  编译完成 Generate Bitstream 后,打开 ChipWatcher 界面,单击界面上方的 Watch 按钮,如下图所示。

  即可进入 Watch 主界面进行下载,点击如下图中1下载按钮进行下载。

3.2控制

  进入 Watch 界面后,即可打开 Virtual Probe Interface Instance 界面进行控制。VPI界面默认没有打开,需通过标题栏"+"进行勾选打开,如上图2所示。

  打开后,Virtual Probe Interface Instance 控制界面如下图所示。可以通过加号和减号添加或删除所需信号。

  如果Watch 界面存在其他 ChipWatcher Instance 的情况下,Virtual Probe Interface Instance 界面处于触发条件设置窗口位置。如下图所示。

  最后修改信号的值,点击Send即可。

相关推荐
unicrom_深圳市由你创科技10 小时前
板上调试,先抓哪些信号?排查顺序是什么?
fpga开发
北城笑笑12 小时前
FPGA 55 ,FPGA 行业 2026 发展分析与报告
fpga开发·fpga
Jason_zhao_MR13 小时前
新一代电能数据采集终端方案
linux·人工智能·嵌入式硬件·fpga开发·嵌入式
ERROR:992 天前
AMD Ross没有介入Vivado的私生活
fpga开发
Riwuarua2 天前
从近似 0 基础开始 FPGA 开发——Part.18:FPGA 复位系统与可靠启动设计
fpga开发
智感子3 天前
测控链路:从传感器到上位机
人工智能·嵌入式硬件·fpga开发
szxinmai主板定制专家3 天前
基于Zynq的高精度多通道数据采集卡完整解决方案(工业振动/高速采集/边缘传输)
fpga开发·zynq·数据采集卡
szxinmai主板定制专家3 天前
基于TI AM62x+FPGA的24bit高精度数据采集卡设计(振动/风电/发动机监测)
人工智能·fpga开发·arm+fpga·rk3588+fpga
szxinmai主板定制专家4 天前
基于 ARM+FPGA 雕刻机控制系统的设计
arm开发·人工智能·fpga开发·rk3576·半导体设备
吉他英雄一里5 天前
zynq入门教程
fpga开发·zynq