Vitis IDE下DUMP的功能使用简介

作者: Lihong Jian,文章来源:Comtech FPGA

在ZYNQ-7000或MPSOC的调试过程中,当我们打算通过JTAG把PL中的一些运行状态显示出来,通常会在PL中加上Debug ILA的方式来解决。在使用这种方式的情况下我们每次都要去根据触发条件来获得相关数据波形并进行分析,同时抓到信号的多少及深度也会同FPGA芯片中的BRAM资源有关。

在如下这些应用场景中,我们都可以利用Vitis IDE下面的dump/restore memory功能来实现对应的需求。

1、当我们在使用ILA抓取波形时由于芯片中的BRAM有限或已经被用完,我们有没有办法获取更多或更长的数据时,这时我们会想如果能把PS的DRAM用上的话就能获取更多的数据;

2、当我们在用RTL去实现一些算法时,我们想把实际输入和输出的数据都保存起来进行分析比对;

3、当我们在ZYNQ-7000中开发调试中想通过图形化界面读回烧写到FLASH中的配置数据;

4、当我们想获取一些数据作为仿真的测试激励,以及想把一些逻辑中运行的结果让PC机来辅助分析;等等………

Vitis IDE下面的dump/restore memory功能主要是把PS存贮空间中已经选择了的起始位置和数据长度之间数据通过JTAG接口传输到PC环境下,从而达到SOC的PL/PS和PC之间共享存储空间,为Xilinx SOC提供了很高的开发灵活性,也为FPGA以及系统的开发提供了一条高效便捷通道。

下面基于ZYNQ-7000来做示例来讲解操作过程;其主要步骤就是规划一个把PL部分的数据先存入DRAM上的空闲空间,然后再通过dump到PC机上后给PC上的其他软件来查看或分析数据的过程。

1、首先在Vivado中Block Design的建立,因为要用到DRAM空间,所以要把PS的HP口引出来;其他的需求可以根据自己单板的硬件环境和自己的使用习惯和调试的需要来设置:


2、完成Vivado上的设置后建立Vitis IDE下的软件环境;

3、当系统跑起来后,在把数据存入到DRAM空间后,打开dump/restore memory的对话框;

4、在对话框中填入数据存放地址和数据长度,这个地方按照相关提示要求填写;

5、后面保存好文件后在Vitis log下面会有打印信息:

6、本次演示中我用PL产生了一个测试pattern图片,通过DUMP保存文件后再在MATLAB中进行读取显示出来,结果如下图所示:

根据上面介绍的流程,可以在自己的Xilinx SOC平台上来借助Vitis上的工具来实现PC和FPGA的交叉验证或其他应用的需要。

如果您在DUMP的功能使用方面有问题,欢迎联系:
simonyang@comtech.com.cn
charlesxu@comtech.com.cn

最新文章

最新文章