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

相关推荐
坏孩子的诺亚方舟13 天前
FPGA系统架构设计实践15_高云Arora V系列时钟体系
fpga开发·系统架构
FPGA小徐13 天前
入门 CNN 结构全解析|从流程图理论到 FPGA Verilog 硬件实现(含习题带讲解)
fpga开发
FPGA小徐13 天前
FPGA 数字信号处理:并行 FIR 与串行滤波器设计原理、对比与完整 Verilog 实现
fpga开发
Saniffer_SH14 天前
【高清视频】Gen6 服务器还没到,Gen6 SSD 怎么测?Emily 现场演示三种测试环境
人工智能·驱动开发·测试工具·缓存·fpga开发·计算机外设·压力测试
zlinear数据采集卡14 天前
双核架构深度解析:ARM+FPGA如何让数据采集卡实现500Ksps高性能?
arm开发·fpga开发·架构
9527华安14 天前
FPGA实现GTH Transceivers Wizard传输2路视频,基于aurora 8b10b编解码架构,提供4套工程源码和技术支持
fpga开发·gth·aurora 8b10b·transceivers
FPGA小徐15 天前
FPGA 数字信号处理(二):并行 FIR 滤波器的 Verilog 全流程设计与实现
fpga开发
国科安芯15 天前
基于AS32S601ZIT2型抗辐照MCU的商业航天卫星姿态确定与控制系统研究
单片机·嵌入式硬件·安全·fpga开发·架构·risc-v
ALINX技术博客15 天前
【黑金云课堂】FPGA技术教程FPGA基础:I2C 总线通信技术
fpga开发·i2c
Hello-FPGA15 天前
Xilinx KU040 FPGA Camera Link 图像采集
c++·fpga开发