主要内容

从FPGA执行内存性能信息

类似于模拟生成的记忆表现情节,你可以收集记忆互连交通信息从设计的FPGA上运行。然后您可以生成类似的性能图。您也可以捕获内存中查看交易信息逻辑分析仪工具类似于破裂事务内存控制器的模拟。使用这些情节来监控实际内存性能、调试和改进设计,内存性能做比较,获得的模拟。

包括一个AXI互连监控(AIM) IP在你的设计中,在模型的配置参数,选择包括AXI互连监控选择下硬件实现>目标硬件资源>FPGA设计(调试)。的AXI互连监控IP收集信息从设计虽然在FPGA上运行。你可以查询这个信息从MATLAB®利用JTAG连接。你所有记忆大师FPGA的连接AXI互连监控IP。这些大师可以包括内存通道内存流量发生器你块生成的HDL代码或任何其他设计硕士学位。

FPGA框图。几个主模块连接到一个AXI互连。AXI互连连接到一个内存控制器和DDR内存,以及一个AXI经理通过JTAG IP连接到主机。

SoC建设者工具生成一个JTAG试验台脚本为您设计。脚本收集的性能指标AXI互连监控和启动性能分析应用程序,该块内存性能情节带宽,破裂,事务延迟。这些情节记忆的情节相似性能的模拟。您还可以修改脚本收集和显示内存事务波形类似于破裂波形存储控制器的模拟。模拟内存性能的更多信息,请参阅仿真性能的情节缓冲区和破裂波形

例如,看到的分析内存带宽使用流量发电机,这显示了如何监视内存性能仿真和FPGA上运行。脚本生成的SoC建设者任何交通工具使用JTAG连接,使发电机在你的设计中,然后样品的记忆性能信息AXI互连监控IP尽可能快。采样间隔取决于JTAG延迟,女士通常从10到20毫秒。脚本然后显示情节相似性能的情节内存控制器块在你的模拟。情节显示带宽,爆发,为每个主事务延迟。

请注意

AXI经理本身并不是连接到AXI互连监控。因此,硬件诊断不包括test-bench-only大师的内存使用阴谋与预定的数据初始化的内存。

内存性能的情节

脚本收集的性能指标AXI互连监控和启动性能分析应用程序。

内存带宽的情节

带宽选项卡上,选择您想要的大师图带宽。点击创建图的带宽,以兆字节每秒为选定的主人在运行时的持续时间。这个图显示的带宽分析内存带宽使用流量发电机的例子。

情节显示例子带宽题为“分析内存带宽使用流量生成器”。基于FPGA的测试数据得到执行。

内存爆炸阴谋

爆发选项卡上,选择你想图的主人。点击创建图看到执行的脉冲数为选定的主人在运行时的持续时间。这图显示了破裂的计数分析内存带宽使用流量发电机的例子。

情节显示例子破裂计数题为“分析内存带宽使用流量生成器”。基于FPGA的测试数据得到执行。

内存延迟的情节

延迟选项卡上,选择您想要的主图延迟。点击创建图看到的延迟,为选定的主人在运行时的持续时间。这张图片显示的总延迟硕士1分析内存带宽使用流量发电机的例子。你可以放大分析瞬时峰值延迟。

情节显示总延迟主1示例中题为“分析内存带宽使用流量生成器”。基于FPGA的测试数据得到执行。

你可以选择这些选项:

  • 突然请求先转移完成——此选项显示的时间从主问题第一个传输数据的事务请求。这延迟占仲裁或互连延迟。

  • 破裂的执行——此选项显示的时间从第一个传输数据到最后破裂转移。

  • 最后破裂转移完成——此选项显示了最后的时间转移来完成交易。读事务,它是0。

  • 瞬时总延迟——此选项显示离散总延迟测量每破裂。

每个延迟值绘制是各自的平均延迟,测量从内存事务在一个采样间隔。下面的图显示了一个AXI4主协议读写事务在硬件上显示这些延迟。

写事务

AXI4写事务的时序图。

读事务

一个AXI4读事务的时序图。

读事务,去年转会完成延迟破裂是零。

数据溢出

配置文件模式下,collectMemoryStatistics函数内存指标样本:带宽、破裂,从每个样本后硬件延时值。之后,该函数重置度规计数器,然后再次启动计数器样本。如果任何度量计数器超过2的极限32- 1在采样间隔内,计数器溢出和相应的样本与指示*的阴谋。

破裂的波形

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

逻辑分析仪的情节显示AXI4破裂请求波形。

波形显示的事件类型(BurstIdle,BurstRequest,BurstExecuting,或BurstDone突发事务的),这些参数:

  • MasterID——身份证号码的记忆大师的请求

  • DataWidth——在位数据宽度

  • BurstLength——数据爆炸中单词的数量要求

  • BurstsTransferred——这个请求的脉冲数量(只与有效BurstDone事件)

  • BytesTransferred——在此请求的字节数(只有有效BurstDone事件)

你可以比较这些波形的波形从你内存控制器在模拟块。

配置和查询AXI互连的班长

AXI互连监控(目的)是一个IP核心收集AXI-based FPGA设计的性能指标。创建一个socIPCore对象设置和配置目标IP,并使用socMemoryProfiler对象检索和显示数据。

的例子如何配置和查询目的IP设计中使用SoC AXI经理看分析内存带宽使用流量发电机。具体地说,回顾soc_memory_traffic_generator_axi_master.m脚本配置和监控设备上的设计。

选择内存监控模式

AXI互连监控可以收集两种类型的数据。选择配置文件模式收集平均交易延迟,和数量的字节和破裂。在这种模式下,您可以打开一个表现阴谋的工具,然后配置工具绘制带宽,计数,和事务延迟。选择跟踪模式收集详细的内存事务事件数据和查看数据波形。

perfMonMode =“配置文件”;%或“跟踪”

配置AXI互连的班长

获得诊断性能指标从生成的FPGA设计,你必须设置一个JTAG从MATLAB连接到设备。加载一个.mat文件,其中包含来自董事会结构配置参数。这个文件是生成的SoC建设者工具。这些结构描述内存互连和大师配置如缓冲区大小和地址。使用socHardwareBoard对象设置JTAG连接。

负载(“soc_memory_traffic_generator_zc706_aximaster.mat”);hwObj = socHardwareBoard (“Xilinx Zynq ZC706评估工具”,“连接”、假);AXIManagerObj = socAXIManager (hwObj);
配置目标。的socIPCore对象提供了一个函数,执行初始化。接下来,设置一个socMemoryProfiler对象收集度量标准。
apmCoreObj = socIPCore (AXIManagerObj perf_mon,“PerformanceMonitor”,“模式”,perfMonMode);初始化(apmCoreObj);profilerObj = socMemoryProfiler (hwObj apmCoreObj);

检索诊断数据

检索性能指标或信号数据从设计的FPGA上运行,使用socMemoryProfiler对象的功能。

配置文件模式,调用collectMemoryStatistics函数在一个循环中。

NumRuns = 100;n = 1: NumRuns collectMemoryStatistics (profilerObj);结束
JTAG设计相对于FPGA事务时间设置时间长,如果你有一个小数量的交易在你的设计中,他们可以当你完成查询监控。在这种情况下,带宽图显示了只有一个示例,吞吐量计算不准确。如果出现这种情况,增加交易设计执行的总数。

跟踪模式,调用collectMemoryStatistics函数一次。这个函数阻止IP写事务的FIFOAXI互连监控IP,尽管交易继续互连。设置事务FIFO的大小,跟踪捕捉深度在模型的配置参数,硬件实现>目标硬件资源>FPGA设计(调试)

collectMemoryStatistics (profilerObj);

可视化性能指标

使用可视化性能数据plotMemoryStatistics函数。在配置文件模式中,这个函数打开一个性能图工具,你可以配置工具绘制带宽,冲数,平均事务延迟。在跟踪模式中,这个函数打开逻辑分析仪工具来查看交易破裂事件数据。

plotMemoryStatistics (profilerObj);

另请参阅

|||

相关的话题