安路好用的调试工具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即可。

相关推荐
chenlance21 小时前
基于FPGA的激光器多通道数据采集与波形控制系统设计
fpga开发
9527华安1 天前
FPGA实现GTP高速收发器2路视频传输,基于aurora 8b10b编解码架构,提供4套工程源码和技术支持
图像处理·fpga开发·aurora·高速收发器·8b10b·derdes
cjie2211 天前
lanczos插值引起的振铃现象
计算机视觉·fpga开发
liuluyang5301 天前
Verilog 中 wire 与 wor 的区别详解
fpga开发·verilog
GateWorld2 天前
LCD显示技术完全指南:原理·制造·驱动·FPGA实现之点屏五 miniLVDS
fpga开发·lcd显示·fpga点亮屏幕·minilvds
nuoxin1142 天前
WILX1200HC-5TG144I替代 LCMXO2-1200HC-5TG144I(富利威)
人工智能·嵌入式硬件·fpga开发·电脑·硬件工程·dsp开发
Bahair_3 天前
【FPGA】使用fdatool设计滤波器系数,使用FIR Compiler导入系数联合滤波
fpga开发
qq_411262423 天前
硬件是ESP32-P4连接LAN8720A,正常初始化之后,设备DHCP失败
stm32·单片机·fpga开发
第二层皮-合肥3 天前
【数据采集专栏】时钟同步(有时钟卡方案)
fpga开发