目前最新版本的Xilinx Software Development Kit(SDK),它既包含在Vivado Design Suite当中,也可以作为独立的软件免费下载,它增加了系统性能分析(SPA)工具箱,可以协助设计人员对基于处理器器件(比如Zynq-7000 SoC)的硬件和软件系统进行早期的研究。这些研究可以让您(系统设计者)清楚和了解到Zynq SoC两大部分之间数据流的相互作用,一部分是Zynq SoC PS(处理器系统)部分的两个ARM Cortex-A9 MPCore 处理器,另一部分是在PL(可编程逻辑)部分实现的硬件模块。Xilinx SPA工具箱提供给您所需的工具,在设计的关键阶段(PS. 甚至可以在设计的最初阶段)您便可以建模和观测系统的性能,因此您就可以在设计的过程中不断优化系统的性能。
下图显示了SPA工具箱怎样融入到SDK中:
SPA工具箱是对SDK其它工具如分析和调试工具、驱动、库的补充。SPA工具箱包含有检测框架、用户接口和可视化工具,支持两种重要的使用模式:一是早期研究环境,称为系统性能建模(SPM),二是监测和分析您自己的设计。
SPM是SDK的一个独特的功能,甚至在您的团队启动系统设计之前,允许您进行复杂的性能建模,使用实际的目标硬件和比特流配置文件,包含5个AXI流量生成器模块和一个AXI性能监视模块,这些是作为可配置的IP核在Zynq SoC的PL部分实现的,如下图所示:
AXI流量生成器产生的流量严格共享Zynq SoC资源,包括高速AMBA AXI 内部互联、多端口的DDR SDRA控制器以及两个ARM Cortex-A9 MPCore处理器共享的512Kbyte L2缓存。在设计不当的系统中,过多的系统流量占用共享资源会导致多点竞争,出现数据瓶颈。这种潜在瓶颈的一个典型的例子就是片上共享的L2高速缓存。因为ACP(加速器一致性端口)与ARM Cortex-A9 CPUs共享L2高速缓存,来自ACP或者处理器的高吞吐量的流量具有降低其他方面性能的潜在问题。您可以预见这种性能降低的问题,但是除非您有合适的仪器内置到系统中,否则您想理解其真实的性质和严重程度是很困难的。
如果您要进行这种类型的分析,AXI流量生成器正是您需要的那种仪器。在您的团队将系统硬件设计到Zynq SoC PL中之前,这些流量生成器可以作为系统硬件流量生成的代理。同时您可以运行Zynq PS部分的软件应用,允许您评估增加的系统流量对应用软件性能的影响。每个ARM Cortex-A9 MPcore处理器都有一个性能检测单元(PMU)来协助软件性能分析。集成SPM功能的SDK允许您使用您的实际设计,通过建模和验证数据流量的方法,进行端到端的性能分析流程。SDK提供了可视化功能,这帮助您更好的理解这些复杂的相互作用,即使是在一个研究探索,设计初期的环境。
这个过程包括四个步骤,如下:
需求评估—首先您要估计您的设计中的AXI流量需求,包括目标系统的多个PS—PL接口的数据吞吐量。
模型设计—基于这些流量需求,使用SPM对您的设计进行建模。使用实际的目标硬件意味着,在建模期间您可以获得实时性能。您可以获得比基于软件建模和仿真环境大为改善的运行时间和提升的建模精度,因为激活的实时系统是在实际的硬件下监测的。
性能验证—您可以在设计过程的每一步,通过监测和可视化您的实际设计来验证性能结果。
深入分析—SDK性能分析工具允许更深入的分析,因此您可以更加轻松的评估系统级设计方案和衡量设计“改进”带来的影响。(每个经验丰富的设计团队已经认识到哪怕是一个系统级“改进”或者软件的改变都会导致性能问题,这个工具帮助您快速捕捉和解决这些问题)
实现这样端到端的性能分析流程,具有如下多重好处:
减少了设计风险—通过基于SPM的建模实现期望的延迟和吞吐量可以提供更强的保证,最终的设计将会取得相同的期望性能。
设计上的改进—使用SDK的SPM运行流量场景,能够为系统性能提供有价值的见解(例如,延迟)。
情景假设—SPM是一个高度可配置的模型,所以您可 以使用它来试验不同的功能、特性和体系结构。
全部0条评论
快来发表一下你的评论吧 !