追踪并优化 SoC 性能

文摘   2024-11-16 07:01   上海  
SoC 架构调整的结果可以将基本相同的构建块的系统性能提高四到五倍。
当今的异构片上系统 (SoC) 架构包含各种不同的构建块,如 CPU、DSP、外设 IP 和子系统。其中还包括现代片上网络 (NoC),它充当这些块的中央通信粘合剂。
SoC 的架构师必须想出将所有东西连接在一起的最佳方法,以确保所需的应用程序可以运行。架构师将拼图的各个部分拼凑在一起,以便从系统中所有可用的构建块中挤出所需的性能。
事实上,SoC 开发这一阶段的结果不容小觑。SOC 架构调整的结果可以将基本相同的构建块的系统性能提高四到五倍。这可能意味着不必采用最新的技术节点或能够排除昂贵的专用硬件块。因此,产品有更好的机会更快地进入市场并具有竞争优势。
组装 SoC 时,弹药袋中的一个主要武器是使用基于套接字的机制的机会。基于套接字的协议的优势意味着,在组装架构时,块可以完美地插入和使用。
具有本机套接字接口的块意味着当它们与其他接口插入在一起时,性能会得到优化。最全面的基于套接字的协议是 OCP International 的 OCP 套接字。套接字的好处是巨大的,不仅对于组装如此,而且对于事务和性能验证也是如此,因为现在整个系统中都有具有通用通信协议的探测点。性能调优的开始和结束都始于 NoC 结构。
SoC 开发阶段生命周期中的性能分析和调优不仅存在于 SoC 开发的高级 ESL 空间中,还存在于其他级别。由于 SoC 的开发阶段已成为高度并行的迭代过程,系统中不可避免的调整和更改(通常在架构级模型中发起)需要向下反馈到设计流程的 RTL 和仿真级。换句话说,性能分析不仅仅是在 ESL 级进行的游戏。因此,在 SoC 开发阶段的生命周期中,需要不断检查和更新关键性能指标。
图 1. SoC 开发流程。
如图 1 所示的开发流程中所示,一组以测试用例或压力场景形式呈现的性能标准有助于关闭不同开发学科之间的循环。架构团队将关键架构 TC 或压力场景传递给 RTL 验证团队,并附带关键指标,如关键延迟、带宽、吞吐量和总线占用率数字。
随着高度并行的开发引擎运行和迭代,图 1 中的级别 a、b、c 和 d 会不断验证性能。但是,这些关键性能指标的共享和报告很困难。查看和理解来自每个领域的模拟系统信息也很困难。此外,每个级别需要检查的指标可能会有所不同。显然,有必要了解架构在不同类型的实际流量下的表现。
通过了解系统中的实际瓶颈,架构师可以做出明智的架构决策和权衡,以改善系统中数据类型的系统性能。图 2 显示了典型异构片上系统 (SoC) 的组织方式。NoC 包含从发起者到目标系统的地址映射。红点是可能的监控点,可以在这些点分析有趣的流量。
图 2 典型的异构 SoC。

介绍 OCP-Tracker
OCP Tracker 是一个监控和分析工具集,允许对 OCP 接口进行性能、统计和事务分析。基于 OCP 的事件受到监控并写入标准 OCP 跟踪格式。事务重建器从跟踪文件中重建 OCP 事务并建立数据存储。然后,可以通过 3D 360° 导航引擎分析 OCP 交易数据。可以在 3D 360° 导航引擎和报告工具中创建、保存和使用用户查询。
根据用户查询计算性能统计数据。然后自动格式化并生成报告。

可视化
与大多数复杂且异构的 SoC 一样,可视化和分析性能指标的能力对于理解和验证系统行为以及随后微调系统以实现最佳性能至关重要。这可能不仅意味着查看随时间变化的指标,还意味着具有过滤系统各个细粒度方面的能力。OCPTracker 的 2D 和 3D 查看功能使指标能够以自然、直观的方式查看。图 3 显示了典型的 3D 分析。可以非常简洁地查看系统中的瓶颈,并可以非常快速地识别和理解问题区域。
在此示例中,3D 尺度上是时间与指标与通道。可以轻松完成数据的缩放和过滤,并且可以轻松更改指标,从而提供无限的方式来查看数据,具体取决于需要理解或验证的参数。

查询
由于在性能降级的模拟中必须模拟大量数据,因此必须有一种从数据存储中查询不同类型数据和指标的方法。不仅如此,在不同团队之间以及同一团队内高效共享查询的能力,也降低了误解的风险,确保了更顺畅的沟通。
OCP-Tracker 拥有多种查询选项,允许快速轻松地访问最关键的关注领域。查询不仅限于查找高于或低于某个阈值的延迟、带宽和其他指标,还具有深入细粒度分析直至事务级别的能力。例如,可以轻松、轻松地挑选出受监控通道上的特定 OCP 事务类型并进行快速分析。
图 3. OCP-Tracker 3D 查看器。
图 4. OCP-Tracker 查询生成器的屏幕截图。
由于压力测试用例涉及在较长时间范围内模拟或捕获数据,因此有效的性能测量应仅在特定时间进行,并由模拟中的某些事件引导。例如,只有当特定套接字上的源流量设置正确且流动时,带宽和延迟测量才真正有意义。在整个模拟过程中对带宽进行平均测量可能会使结果产生偏差。
模拟中的事件触发器通常在模拟本身中设置,以指示有效测量。
通常,模拟中的嵌入式处理器或测试台控制何时设置条件并准备好进行计算。处理器或测试台将初始化系统、配置外围设备和子系统并启动各种多媒体块中的数据传输。
一旦条件成熟且模拟活动处于最佳启动位置,就应该测量性能指标。这些受控条件允许分析确切的场景,使测试用例变得确定。在 OCPTracker 中,这些类型的查询称为基于事件的查询。图 5 更详细地显示了如何配置这些查询。
图 5。事件查询。
总体而言,OCP Tracker 查询生成器支持三类事件。OCP 事件包括模拟期间发生的所有 OCP 事务。OOB(越界)事件包括 DMA、SoC 和中断事件。最后一类事件是时间事件,它只是模拟过程中用作触发器的指定时间。查询生成器允许用户为事件查询指定三种不同的触发器。它们是“开始于”、“测量自”和“测量至”。这些触发器中的每一个都可以是指定的事件类之一。

报告生成器
报告性能统计数据需要从模拟运行中推断结果,这是一项众所周知的费力且容易出错的任务。OCP-Tracker 导出图形图像并根据模拟活动自动生成报告。拥有这些功能意味着可以从实际模拟中获得数据,而不仅仅是结果的解释。
图 6。报告管理器。
然后,这些报告可以自动插入到更高级别的架构报告中,并传递给技术管理部门进行分析。生成的每个报告都显示数据范围内发起者和目标之间的活动。报告可以基于查询,而不是报告完整的模拟,并且报告可能更短更简洁。报告可以导出为:富文本格式、MS Access 数据库格式、MS Excel 工作表格式、快照格式、纯文本、HTML 和 XML。

性能回归
由于 SoC 开发的高度迭代并行过程正在全面展开,因此需要持续监控关键性能指标。不仅在 ESL 级别,而且在图 1 所示的所有级别。因此,有必要建立一种机制来持续检查这些指标是否仍然有效,因为系统会不断发生变化。
性能回归可在系统发生修改时验证这些指标的合规性。专门针对关键指标的测试用例可确保已修复错误、未引入新错误且新功能不会导致现有功能失败。
OCP-Tracker 的回归管理工具可以非侵入方式轻松融入现有的模拟环境。模拟监视器在性能回归测试用例中打开,回归管理器轮询目标模拟;一旦检测到模拟结束,就会读取黄金文件并从文件中提取查询和预期结果。
黄金文件中的每个查询都针对模拟数据运行,并根据黄金结果检查查询结果。此测试将生成查询的通过或失败结果。运行完所有查询后,如果未出现任何查询失败,则回归测试将总体通过。如果黄金文件中的任何查询失败,则回归测试的总体结果为失败。回归结果(包括每个单独的查询结果)存储在文本文件中。
图 7. 回归仪表板。
测试用例获得结果后,可以查看测试用例的大量详细信息。双击每个已完成的测试用例行,将出现一个选项弹出屏幕,如图 8 所示。
图 8. 回归选项。
可以从此测试用例选项对话框中执行多项任务,如下所示:
  • 查看回归结果:此文件中的信息包含多项内容,包括解析并导入数据库的每个跟踪文件的名称,以及针对数据库应用的每个查询的名称和结果。除此之外,该文件还列出了数据解析和导入的每个阶段的成功情况以及实际查询结果。
  • 打开 OCP Tracker 数据库:正如预期的那样,此选项将打开特定的 OCP Tracker 测试用例数据库。这对于更详细地查看特定结果很有用。
  • 查看错误消息:如果回归失败,失败代码为 ERR,则会在测试用例文件夹的根目录中创建一个错误文件。选择此选项即可查看错误日志文件。
  • 查看(编辑)黄金文件:回归测试用例完成并且结果可用后,您可以决定在再次运行测试用例之前更改规则。
  • 重复黄金测试(新规则):使用上述选项修改黄金文件规则后,这将重新将测试用例提交到回归队列。
  • 重复测试用例(新日志文件):作为使用新规则重复测试用例的替代方法,您可以使用新日志文件重复测试用例。

总结
SOC 架构调整的结果有可能将系统性能提高四到五倍。OCP-IP 国际的 OCP Socket 具有巨大的优势。拥有一个可以在 SoC 中的通信通道上提供通用协议的综合套接字,使调试和性能分析变得更加容易。
随着 SoC 开发的高度迭代并行过程在不同的功能阶段中推进,性能和功能都需要不断测量和检查。尽管系统可能在功能上是正确的,但一个未检测到的性能相关错误可能会导致昂贵的重新设计。
OCP-Tracker 是一个监控和分析工具集,允许对 OCP 接口进行性能、统计和事务分析。性能相关数据的可视化是了解系统如何应对不同类型流量的关键之一,从而能够及时识别和了解 SoC 架构结构中的弱点。
在有意义的情况下,能够确定性地制作测试流量并计算和测试性能指标,这是复杂性能分析所需的效率。OCP-Tracker 的查询功能可轻松高效地提取和查看模拟中的性能数据。随着 SoC 开发过程的进行,需要不断验证关键性能指标的合规性,以确保已修复的错误保持修复状态,不会引入新的错误,并且新功能不会导致现有功能失效。
如果你对这个技术感兴趣,希望了解更多,欢迎后台和我们联系,也可以添加微信 machinewarevp 和我们交流。添加微信请备注公司姓名和职位。

软硬件协同设计 HW-SW Co-Design
欢迎后台留言,AI 客服全天在线。脱离物理硬件,开发测试和调试软件。基于虚拟原型的软硬件协同设计,提前一年实现产品上市创收,降低一半开发时间。
 最新文章