VARON支持的图表类型及其所指标的性能

1. VARON支持图表类型

VARON支持3种类型的图表,数据直方图”Data Histograms”、时序图”Time Series”和总量” Total Amount “。本文解释了每种图表类型。

1.1 数据直方图

数据直方图有以下3种类型。 要打开,请从VARON监视器窗口中选择“Charts-> Data Histograms”菜单。 图1显示了数据直方图图表选择的示例。

本示例的所有菜单均显示“by port”,但是可以通过从“Selection Dialogue”中更改为“by AXI ID”。

图1  数据直方图图选择
图1  数据直方图图选择

(1)按端口读取/写入延迟数字直方图

        该图表示整个仿真过程中各端口延迟的分布情况。水平轴是延迟数,垂直轴是事务计数。

(2)读/写突发长度直方图

        该图表示整个仿真过程中突发长度的分布。 水平轴是突发长度,垂直轴是事务计数。

(3) AXI单位时间读/写数据传输直方图

        该图表示每单位时间数据传输周期数的分布。 水平轴是每单位时间的数据传输周期数,垂直轴是其发生次数。

1.2 事务时序图

事务时序图有以下3种类型。 要打开,请从VARON监视器窗口中选择“Charts-> Time Series”菜单。 图2显示了选择的时间序列图示例。本示例的所有菜单均显示“by port”,但是可以通过从“Selection Dialogue”中更改为“by AXI ID”。

图2  时间序列图选择
图2  时间序列图选择

(1)按端口/ID读写事务时序图

        这是事务时序图,以可视方式显示事务开始时间,结束时间。如果用户设计支持多个outstanding,则VARON将多个事务显示为不同的行。

(2)按端口/ AXI ID的单位读取/写入数据传输的数量

        该图表显示了每单位时间单独端口或AXI ID的数据传输量。

(3)按AXI ID堆栈视图的每单位 读/写数据传输数

        该图表示每个ID的纵向累积条形图表示的每单位时间的数据传输周期数。 图表的垂直轴是数据传输周期的数量,水平轴是时间(仿真周期的数量)。 1个标度是1个单位时间(对于样品设计,这是200个周期)。

1.3 总量图表

总量图表有以下4种类型。 要打开,请从VARON监视器窗口中选择“Charts-> Total Amount”菜单。 图3显示了总量图表选择的示例。 本示例的所有菜单均显示“by port”,但可以通过从“Selection Dialogue”中更改为“by AXI ID”。

图3  总量图表选择
图3  总量图表选择

(1)按端口/ AXI ID进行的读/写数据传输数

        整个仿真时段的数据传输周期数由每个ID的条形图表示。 图表的垂直轴是AXI ID,水平轴是数据传输周期数。

(2)数据传输量饼状视图

        整个仿真时段的数据传输周期数通过每个ID划分的饼状图表示。

(3)通过端口最小/最大视图读取/写入延迟编号

        此图表显示了最小/平均/最大延迟。

(4)通过AXI ID最小/最大视图读取/写入每单位时间的数据传输

        垂直轴为数据传输周期数,水平轴为AXI ID。

2. 数据直方图

本节详细介绍了“数据直方图”菜单中的图表。

2.1 按端口读取/写入延迟数据直方图

该图显示了整个仿真时间内每个端口的延迟分布。横轴是等待时间(范围)的数值,纵轴是事务发生计数(在该范围内有多少个事务的等待时间值)。该图表对于查找具有较大延迟的事务很有用。

图4  读/写延迟数据直方图
图4  读/写延迟数据直方图

        通过查看此图表和“最小/平均/最大视图”图表(4.3),对检查延迟值分布很有用。 当延迟大于预期时,可以针对事务时序图使用“查找超出范围的值”功能。 此功能可以高亮显示红色,表示等待时间值超出范围。

图4是捕获示例设计的主端口时的图表示例。

在此示例中,通过检查“最小/平均/最大”图表,端口0的最大延迟为169。 通过此图表的工具提示168-173范围,只能找到一个具有此169延迟的事务。

图5  端口0的放大视图
图5  端口0的放大视图

2.2 读/写突发长度直方图

该图指示了整个仿真时间的突发长度的分布。 横轴是突发长度(范围),纵轴是事务发生计数(多少个事务的突发长度值在该范围内)。 该表对于检查突发长度分布参数AXI ID很有用。

高性能应用程序可能会使用较大的突发长度。 此图表可帮助用户找到意外的小突发长度事务,这通常会使总线利用率降低。

图6  读/写突发长度直方图

可以通过工具提示检查有多少个事务具有突发长度范围(使鼠标指针靠近图表)

图7是围绕AXI ID = 00,突发长度= 8的突发长度直方图的放大图。 可以看到工具提示,显示范围:8,值:374。 这意味着374个事务在ID = 00上的突发长度= 8。 可以确认8×374 = 2992,并且“按AXID读取/写入数据的传输次数”图表也显示相同的值。

图7  突发长度直方图的放大视图

 

2.3 AXI每单位时间的读/写数据传输直方图

该图表示每单位时间的数据传输周期数的分布。横轴是每单位时间(范围)的传输周期数的数值,纵轴是其发生的次数。

该图表对于检查每个AXI ID中如何进行大量数据传输非常有用。

 

图8   AXI单位时间的读/写数据传输直方图

典型的图像处理应用是控制每1帧的数据传输量。 VARON IP可以使用输入引脚控制单位时间间隔。可以分析一帧内完成的系统数据传输。

当发现意外的冗余数据传输时,“查找超出范围值”的突出显示功能会有所帮助。首先,从“最小/平均/最大视图”图表(第4.4节)中获取最大值,然后从该图表中获取发生时间。

图9  放大视图ID=00

通过确认最小/平均/最大视图,示例设计案例ID = 00最大值为18。 可以在18-19栏确认仅出现一次的该最大值(图4-14放大图)。

3. 时间序列图

本节详细介绍了“Time Series”菜单上的图表。

3.1 不同端口/ ID的读/写事务时序图

从HDL仿真器波形视图中很难看到AXI总线的每个并行事务。 VARON监视器可帮助用户提供此图表,将每个事务显示为不同的线。

图10  通过端口/ID划分的读取/写入事务时间图表

        该图(图10)是时序图,其横轴是仿真时间,并显示了每个主端口和每个ID的事务。 缩小整个图表时,是帮助用户可视化整个事务趋势。

图表包括,读取等待(蓝色)—>访问(黄色)—>数据(绿色)—>写入等待(蓝色)—>数据(绿色)—>访问(黄色)。

图11 放大图

图11上三行—读取事务的放大视图

·  等待周期(“Wait”)以蓝色显示(cycle=0,因此在本例中没有看到)。

·  访问周期(“访问”)用黄色表示(56个周期)。

·  读取数据周期(“Data”)用绿色表示(8cycle)。

图11下两行—写事务的放大视图

·  地址等待周期(“wait”)以蓝色显示(cycle=0所以在这个例子中没有看到)。

·  写数据周期(“Data”)用绿色表示(8cycle)。

·  响应周期(“Access”)用黄色表示(37cycle)。

 

VARON允许把所有的端口组放在一个图表中,并自动更改端口组列(标题)的背景颜色。

图12  端口组图像和时间序列图

 

3.2 按AXI ID划分的单位读取/写入的数据传输量

该图表是条形图,显示了每单位时间的数据传输量,由AXI ID划分。该图表有助于可视化每个AXI ID的数据传输强度。

图13   AXI ID每个单元的读/写数据传输量

该图表有助于查找每个AXI ID意外的数据传输。 这也是帮助分析发现的单位时间周围的“堆叠视图”和“交易时序图”的帮助分析。

图14  放大图

图14是图13的放大图,显示了已标记的区域。 可以发现Time = 34000,ID=00附近的数据传输量更大。 可以通过工具提示栏获得更多详细信息。

3.3 不同AXI ID的每单位堆叠视图的读/写数据传输量

该图表表示堆叠的每单位时间的数据传输周期数。 横轴是数据传输周期数,纵轴是时间(仿真周期数,1个标度是1个单位时间)。 在这种情况下,1单位时间为200个周期。

此图表可帮助分析总线利用率。 此图表显示了单位时基的准确性,因此比较应用程序/总线主控器的行为并了解它们之间的关系可能会更容易。

图15 AXI ID单位读/写数据传量的堆叠视图

本示例使用单位时间= 200,并显示2个AXI从总线的结果叠加。 100%的总线利用率将为200 x 2 = 400个周期。 示例图表峰值似乎在300左右,这意味着总线利用率峰值在75%左右。 可能会关注多个总线主控器同时访问总线的时间,以及典型的系统性能峰值。

图16放大图

图16是图15的放大图。

每个AXI ID条形图都用不同的颜色绘制。 可以通过工具提示获取ID,值和时间。 值显示每单位时间的数据传输量,时间表示周期。 本示例使用单位时间= 200个周期,因此第一条时间为0,第二条时间为200。

 

工具栏提示:

  • 显示具体信息:单击鼠标左键
  • 更改信息位置:左击单击拖动
  • 清除指定信息:再次单击鼠标左键

 

该图表支持将每个端口组图表的所有端口组显示为1个窗口。

图17端口组和堆栈视图图的图像

 

4. 总量图

本节介绍“总量”菜单上图表的详细信息。

4.1  AXI ID的读/写数据传输量

该图显示了每个AXI ID整个仿真过程中的总数据传输周期的条形图。 图18显示了此示例的整体视图。

图18  不同AXI ID读取/写入数据传输量

该图表有助于用户找到传输量最多数据的AXI ID。 如图19所示,可以轻松地找到AXI ID00至ID06的数据传输量最大值点。 可以通过工具提示到图形找到“值”数字。

图19   数据传输放大图

通过工具提示到ID00图形栏,可以得到value = 2992,这意味着ID00的总数据传输周期为2992个周期,它等于WVALID和WREADY =’1’,WID = 0周期计数。

4.2 数据传输数量饼图

该图显示了每个AXI ID(包括IDLE周期)的整个模拟的总数据传输周期的饼图。此图表可以帮助了解总线利用率。

图20是示例设计饼图。 您可以检查总线利用率性能,IDLE周期百分比,每个AXI ID的百分比,可以获取数据传输的“value”。

图20  饼状视图

所有端口组的饼状视图可以显示在一个窗口中。每个饼状图对应于每个端口组。

图21  各端口组的饼状视图

 

4.3 不同端口的读取/写入延迟编号最小/最大视图

该图表显示了最小/平均/最大延迟周期。 通常,此图表用于主端口确认等待时间值的最小值/平均值/最大值,它是总线主控器性能参数之一。

图22  通过端口最小/最大视图读取/写入延迟数

直方图可以帮助您理解延迟的分布,但是很难从直方图中找到最小/平均/最大值。可以使用2.1章的柱状图的最小/最大视图。

图23 port0附近的放大图

可以通过工具提示确认主端口00的延迟最小值=30,最大值=169。

4.4 不同AXI ID读取/写入数据传输单位时间的最小/最大视图

此图显示单位时间的数据传输周期。 垂直轴是每单位时间的数据传输周期数,水平轴是AXI ID。 该图表有助于查找每个主设备的AXI ID的每单位时间间隔的最小/平均/最大数据传输量(周期)。

图24  单位时间内通过AXI ID的最小/最大视图读取/写入数据传输

 

5. 具有多个图表的分析示例

将第2至4节中解释的每个图表组合起来将帮助您分析延迟和数据传输量,这是AXI总线性能的基本参数。 本节将显示使用多个VARON图表进行总线性能分析的示例。

5.1 发现超出范围的较大延迟

图25显示了查找延迟大于120的事务的示例。第一步是通过读取/写入延迟时间数字直方图图表的“查找超出范围的值”功能来发现延迟时间大于120的事务。

事务具有较大延迟的原因之一是仲裁等待,等待另一个主机的数据传输完成。 您可以使用“读/写事务时序图”进行确认。

图25  发现超出范围的较大延迟

 

5.2 确认单位时间内的数据传输量

图26显示了一个示例,该示例使用图表“不同AXI ID单位时间读取/写入的数据传输量堆栈视图”和“不同AXI ID单位时间读取/写入的数据传输直方图”图表确认 。

检查直方图的ID = 00,此示例决定检查数据量是否超过1到17。堆叠视图可以使用“查找超出范围的值”功能作为红色突出显示ID = 00和数据量超过1到17的时间。 。 堆叠视图可以检查其他端口或ID的数据传输量。

可以使用“读取/写入事务时序图”更详细地检查事务时序。

图26  确认单位时间内的数据传输量(1)

图27是下一个示例,该示例使用“Number of Read/Write Data Transfers per Unit Time by AXI ID Stacked View”,“Number of Read/Write Data Transfer per Unit by AXI ID”和“Read/Write Transaction Timing Chart by AXI ID”。

可以通过先前的操作(图4-31)在堆叠视图中找到突出显示为红色的数据量。 仿真时间约为34000。可以通过检查“Number of Read/Write Data Transfer per Unit by AXI ID”来确认单位时间的数据传输量。 也可以在34000左右的时间使用“Transaction Timing Chart”继续分析,以查找AXI总线上发生的情况。

图27  确认单位时间内的数据传输量(2)

发表评论