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

相关推荐
科恒盛远7 小时前
ZU902 FMC194 可编程宽带信号源实测
fpga开发·硬件工程·信号处理
大盛供应链·卢生11 小时前
哪些国产芯片可以替代进口芯片,哪些替代不了
fpga开发·容器
ALINX技术博客18 小时前
跨越 1819 公里,ALINX 携 AI 异构平台、电子后视镜及 HIL 仿真方案亮相深圳国际电子展
ai·fpga开发·汽车
Enclustra_China19 小时前
FMC为何成为FPGA生态的“万能扩展接口”?
fpga开发·fpga解决方案
tju新生代魔迷1 天前
Verilog HDL 学习笔记(十七)| 附录B:PLI子程序清单
fpga开发
tju新生代魔迷1 天前
Verilog HDL 学习笔记(十五)| 第15章 高级验证技术
fpga开发
国产化嵌入式平台解决方案1 天前
从通用计算到实时协同:基于飞腾D3000M+FPGA的国产VPX计算平台设计
fpga开发·硬件架构·vpx6u
tju新生代魔迷1 天前
Verilog HDL 学习笔记(十六)| 附录A:强度建模与高级线网类型
fpga开发
minglie12 天前
j2b描述smp协议
fpga开发
FPGA开源工坊2 天前
FPGA开发技巧–BRAM资源优化
fpga开发