主要内容

来自FPGA执行的内存性能信息

类似于模拟中生成的内存性能图,您可以从FPGA上运行的设计中收集存储器互连流量信息。然后,您可以生成类似的性能图。您还可以捕获内存事务信息以查看逻辑分析仪类似于模拟中来自内存控制器的突发事务的工具。使用这些图来监控实际内存性能、调试和改进设计,并将它们与仿真中获得的内存性能进行比较。

包括AXI互连监视器(AIM)IP在您的设计中,在模型的配置参数中,选择包括AXI互连监视器选项硬件实现>目标硬件资源>FPGA设计(调试).这个AXI互连监视器它是在FPGA上运行,而IP从设计收集信息。您可以查询从MATLAB此信息®通过使用JTAG连接。FPGA中的所有内存主机都连接到AXI互连监视器IP。这些主人可以包括内存通道内存流量生成器生成HDL代码的块或设计中的任何其他主块。

这个SoC构建器该工具为您的设计生成一个JTAG测试台脚本。该脚本从数据库收集性能指标AXI互连监视器并启动performance plot应用程序,该应用程序将绘制内存性能曲线图,以显示带宽、突发数和事务延迟。这些曲线图类似于模拟中的内存性能曲线图。您还可以修改脚本以收集和显示内存事务波形,类似于内存的突发波形模拟中的troller。有关模拟内存性能的信息,请参阅模拟性能图缓冲和突发波形.

例如,看到使用流量生成器分析内存带宽展示了如何在模拟中监视内存性能以及在FPGA上运行时。由此生成的脚本SoC构建器工具使用JTAG连接启用设计中的任何流量生成器,然后从中采样内存性能信息AXI互连监视器IP尽可能快。采样间隔取决于JTAG延迟,其通常为10 ms至20ms。然后脚本显示类似于性能图的曲线内存控制器块在模拟中。该曲线显示每个主站的带宽,突发数和事务延迟。

笔记

Axi Master本身没有连接到AXI互连监视器.因此,硬件诊断不包括测试台,仅主人翁的初始化与预定的数据存储器中的内存使用情况图。

记忆性能图

该脚本从数据库收集性能指标AXI互连监视器并启动性能绘图应用程序。

内存带宽图

在里面带宽选项卡,选择要为其图形带宽的主机。点击创建情节要在运行时的持续时间内看到每秒兆字节的带宽,对于所选主人。这个数字显示了带宽使用流量生成器分析内存带宽例子。

内存突发图

在里面爆发选项卡,选择要为其格式突发的Masters。点击创建情节要在运行时持续时间查看所选主服务的突发数。这个数字显示了突发计数使用流量生成器分析内存带宽例子。

内存延迟图

在里面潜伏期选项卡,选择您要绘制的等待时间的主人。点击创建情节要查看延迟,在运行时的持续时间内为所选主机。此图像显示总延迟大师1在里面使用流量生成器分析内存带宽实例然后可以放大以分析峰值瞬时延迟。

您可以选择以下任何选项:

  • 第一次转移完成的突发请求- 此选项显示了主服务器对第一次传输数据传输的时刻所需的时间。此延迟帐户占仲裁或互连延迟。

  • 突发执行- 此选项显示从第一次将数据传输到突发上一次传输所花费的时间。

  • 最后一次传输完成- 此选项显示从上次传输到完整事务所需的时间。在读取事务的情况下,它是0。

  • 瞬时总延迟- 此选项显示每个突发的离散总延迟测量值。

绘制的每个延迟值是各个延迟的平均值,从采样间隔内的内存事务中测量。下图显示了硬件上显示每个延迟的AXI4主协议写入和读取事务。

写事务

读取事务

在阅读交易中,突发最后转移到完全延迟是零。

数据溢出

轮廓模式集合记忆统计学函数对内存度量值进行采样:每次采样后硬件的带宽、突发和延迟值。之后,函数重置度量计数器,然后为下一个采样再次启动计数器。如果任何度量计数器超过2的限制32- 在采样间隔内,计数器溢出,并指示相应的样本*在情节中。

突发波形

您还可以修改生成的脚本配置AXI互连监视器为每个突发事务收集事件数据。您可以查看这些事件逻辑分析仪波形查看器来检查仲裁行为。指定要捕获的事务数,跟踪捕获深度,在模型的配置参数中,下硬件实现>目标硬件资源>FPGA设计(调试).

波形显示事件类型(担架,Burstrequest.,破擦声巴斯顿)和突发事务的这些参数:

  • MasterID–发出请求的内存主机的ID号

  • DataWidth.- 位中的数据宽度

  • BurstLength- 突发请求中的数据字数

  • 破裂了- 此请求中的突发次数(仅限有效巴斯顿事件)

  • Bytstransferred.–此请求中的字节数(仅在巴斯顿事件)

您可以将这些波形与从计算机中捕获的波形进行比较内存控制器模拟中的块。

配置和查询AXI互连监视器

这个AXI互连监视器(AIM)是一个IP核心,用于收集基于AXI的FPGA设计的性能指标。创建一个社交中心对象来设置和配置AIM IP,并使用SocMemoryProfiler.对象检索并显示数据。

有关如何使用MATLAB作为AXI Master在设计中配置和查询AIM IP的示例,请参阅使用流量生成器分析内存带宽。具体而言,请审查soc_memory_traffic_generator_axi_master.m.配置和监视设备上设计的脚本。

选择内存监视器模式

这个AXI互连监视器可以收集两种类型的数据。选择轮廓模式收集平均事务延迟,以及字节和突发的数量。在此模式下,您可以打开“性能绘图”工具,然后配置工具以绘制带宽,突发计数和事务延迟。选择痕迹模式以收集详细的内存事务事件数据并将数据视为波形。

perfMonMode='Profile';%或'Trace'

配置AXI互连监视器

要从生成的FPGA设计中获得诊断性能指标,必须从MATLAB设置与设备的JTAG连接小地毯包含从电路板配置参数派生的结构的文件。此文件由此生成SoC构建器工具。这些结构描述了存储器互连和主节点配置诸如缓冲器大小和地址。使用硬纸板对象来设置JTAG连接。

装载(“soc_内存_流量_生成器_zc706_aximaster.mat”);hwobj = sochard软件板(“Xilinx Zynq ZC706评估套件”,'连接',false);AXIMasterObj=socAXIMaster(hwObj);
配置目标社交中心对象提供执行此初始化的函数。接下来,设置一个SocMemoryProfiler.对象收集指标。
apmcoreobj = socipcore(aximasterobj,perf_mon,'表演者',“模式”,perfMonMode);初始化(apmCoreObj);profilerObj = socMemoryProfiler(hwObj,apmCoreObj);

检索诊断数据

从在FPGA上运行的设计检索性能度量或信号数据,使用SocMemoryProfiler.对象功能。

对于轮廓模式,打电话给集合记忆统计学在循环中的函数。

NumRuns = 100;对于n = 1:numruns collectmemorystatistics(profilerobj);终止
JTAG设计安装时间长相对于FPGA的交易时间,如果你在你的设计中的少数交易,他们可以通过您查询监视器的时间内完成。在这种情况下,带宽积仅示出一个样品,吞吐量计算是不准确的。如果出现这种情况,增加交易设计执行的总数。

对于痕迹模式,打电话给集合记忆统计学函数一次。这个函数从交易写入到FIFO中停止IPAXI互连监视器IP,尽管事务在互连上继续。设置事务FIFO的大小,跟踪捕获深度,在模型的配置参数中,下硬件实现>目标硬件资源>FPGA设计(调试).

集合记忆统计(profilerObj);

可视化性能指标

可视化使用性能数据plotMemoryStatistics功能。在轮廓模式下,此函数打开性能绘图工具,您可以配置该工具以绘图带宽、突发计数和平均事务延迟。在痕迹模式,此功能打开逻辑分析仪工具视图突发交易事件数据。

plotmemorystatistics(profilerobj);

另见

|||

相关话题