首页 > 技术 > 内容

如何把FPGA调试中的数据给捕获出来并保存为文件

时间:2025-11-30  作者:Diven  阅读:0

FPGA调试过程中,经常遇到这样的情况:出现BUG时,想采用仿真环境把FPGA调试中遇到的BUG给重现出来,但无论怎样改变仿真环境中的激励,都无法重现FPGA上的出现BUG的情况。
此时,如果有方法,能够把FPGA正在运行时产生BUG前所有的输入变量状态给捕获下来,然后作为激励,添加到仿真环境中去,这样以来,就能够重现FPGA运行时出现的BUG,就可以在仿真环境中去解决这个BUG,调试的复杂度瞬间降低很多,也能大大的提高FPGA调试的效率。  
本文介绍利用Vivado进行FPGA调试时,如何把FPGA调试中的数据给“捕获”出来,并保存为文件,转换到仿真环境中进行仿真,“重现”FPGA调试运行场景的方法。    

1、背景

从一个RTL代码描述的电路到FPGA样机的过程可以分为两个阶段,第一阶段为仿真验证,第二阶段为FPGA验证。仿真验证是激励数据源常常由自己编写,往往与板级验证数据源(如TestCenter等网络测试仪产生的以太网数据包)存在较大区别,因此在这里介绍将板级验证数据导入仿真Testbench中的方法。使用这种方法,可以使仿真验证数据源最大限度地接近板级数据源,可以辅助排除绝大部分的逻辑错误。  

2、操作流程

这里我们还以Zedboard Debug数据导出到Testbench为例,对具体实施流程进行介绍,如图1所示,该流程可以分为3个步骤: (1) Zedboard,抓取感兴趣的数据,并通过jtag线传输到上位机; (2) 在上位机Vivado软件的Tcl Console中输入命令,将抓取的数据另存为wave.csv文件; (3) 将wave.csv文件中的数据导入Testbench中,最终输出波形。  
 
图1 操作流程  

3、 操作实例

下面给出一个实例,针对图1的三个步骤,对操作流程进行详细介绍。
(1) 抓取感兴趣的数据,如图2所示。
   
图2 抓取感兴趣的数据  
(2) 如图3所示,在tclconsole中输入命令,将抓取的数据转存为wave,csv,转存后的文件如图4所示。  
图3 tcl console输入命令  
 
图4 wave.csv文件  
(3)将图4中的数据存入RAM中,并在Testbench中循环读取,获得波形数据,如图5所示。  
 
图5 波形数据
通过这样的方法,就可以把FPGA运行时的输入激励数据捕获到文件中,进而转换到仿真环境中进行调试。
按照惯例,我们给出上述过程的源码。

FPGA工程源代码

Zedboard开发板约束文件

仿真环境TESTBENCH文件


审核编辑:刘清

猜您喜欢


想知道贴片电阻的精度?只需查看其表面的数字和字母代码!对于三位数的代码,前两位数字代表有效数字,最后一位数字表示在其后加多少个「0」。例如,「103」表示100...
2024-11-26 11:29:29
磁敏传感器,是将磁场信息转换成各种有用信号的装置。它是各种测磁仪器的核心。为了检测并利用磁砀,人们研制了各种测磁仪器。到目前为止,已形成了十多种常用的测磁方法...
2023-09-06 08:40:00
现代电子产品中,连接器的作用不可忽视。CONN_30.6X6.2MM_SM作为一种重要的连接器型号,因其独特的设计和优越的性能,广泛应用于各种电子设备中。本文将...
2025-03-07 23:47:01
选择合适的贴片电阻对于电子产品的性能和可靠性很重要。市面上贴片电阻品牌众多,如何选择性价比高的品牌呢?我们综合考虑了品牌知名度、产品质量、价格以及市场口碑等因素...
2024-11-29 10:25:29
保险丝作为电路保护的重要元件,有着着不可替代的作用。共禾6保险丝因其优良的性能和可靠的质量,受到众多用户的青睐。本文将围绕“共禾6保险丝电压参数多少品牌”这一主...
2022-06-03 15:25:30
贴片电阻作为电子电路中不可或缺的元器件,其封装尺寸和型号选择直接影响电路性能和空间布局。本研究旨在帮助读者快速识别常见贴片电阻封装并了解其典型应用场景。我们将从...
2025-04-14 15:03:50
键盘分编码键盘和非编码键盘。键盘上闭合键的识别由专用的硬件编码器实现,并产生键编码号或键值的称为编码键盘,如计算机键盘。而靠软件编程来识别的称为非编码键盘。在...
2018-05-31 05:23:00
贴片电阻上的01D并不是直接表示阻值,而是代表1欧姆。贴片电阻通常使用三位数字或字母数字组合来表示阻值。 其中,前两位数字代表有效数字,第三位数字或字母代表乘数...
2024-11-29 10:25:46
XC7010是一款高性能的DCDC隔离电源芯片,为各种应用提供稳定可靠的电源解决方案。采用先进的隔离技术,能够有效隔离输入和输出电路,确保系统安全稳定运行。无论...
2023-12-31 00:00:00
贴片电阻上的数值并非直接标注阻值,而是采用数字或字母数字组合来表示。理解这些代码的关键在于掌握标识方法。三位数字标识法最为常见:前两位数字代表有效数字,第三位数...
2024-11-29 10:25:44