系统仿真、架构探索、电源管理、性能分析

文摘   2024-11-02 07:03   上海  
如何进行系统级 SoC 功耗建模
在复杂的片上系统 (SoC) 设计领域,优化功耗至关重要。本文首先介绍多功能仿真工具,它是 SoC 功耗建模和优化领域的有力竞争者。虚拟仿真甚至在深入研究寄存器传输级 (RTL) 开发的复杂性之前就能够进行系统级 SoC 功耗建模。在这个由两部分组成的系列文章中,我们提供了一种功耗建模方法,并提供了一个实际用例来展示功能,同时还讨论了替代方法的缺点。这为理解虚拟仿真 在 SoC 功耗优化中的作用奠定了基础。

影响 SoC 功耗的硬件和软件因素:
我们的探索从研究显著影响 SoC 功耗的有形硬件和软件选择开始。
这些包括:
  • 使用案例
  • 架构细节(内核数量、加速器选择)
  • 节能功能(DVFS、时钟门控、电源门控)
  • 固件/软件算法
  • 工作频率和电压模式

影响功耗的工艺技术方面
使用电子表格进行系统级建模的问题:
在系统级做出的选择对节能影响最大。为了确定 SoC 将使用多少电量,公司经常使用电子表格。但这种方法有其问题。它需要大量时间,而且很容易出错,尤其是当 SoC 很复杂并使用节能技术时。
另一个问题是,这些电子表格无法准确告诉我们软件将如何影响功耗。
在较低抽象级别进行功率模拟的缺点:
目前,由于担心系统级的准确性,成熟的功率分析大多从 RTL 级开始。但是,这种方法也有一些缺点,例如:
  • 设计探索时间有限:RTL/门级功率模拟耗时,因此探索设计替代方案和优化的机会有限。
  • 模拟时间更长:基于 RTL 的验证通常会导致更长的模拟时间,这会减慢设计过程并阻碍有效的功率优化工作。
  • SoC 复杂性增加:有时,复杂性使得在 RTL 级别进行功率模拟变得具有挑战性。

机器学习模型的挑战:
ML 模型虽然功能强大,但数据密集型。它们需要大量数据进行训练,并且可能无法跨多个内核扩展。收集此类数据的过程通常很耗时,有时也不切实际。上述因素强调了对准确的系统级功率建模方法的需求。
虚拟仿真允许我们在 3 个抽象级别上对 SOC 进行建模:
  • 随机
  • 混合
  • 周期精确

在演示模型中,我们可以使用随机方法,其中处理器核心被建模为资源。流程如下:
  • 对示例用例进行建模,其参数可以变化(例如:帧速率、比特率、分辨率)
  • 用例中的每个功能都映射到 SystemResource(例如:CPU、DSP、内存作为共享资源)。
  • 当参数发生变化时,我们观察系统资源的功耗。
  • 模型中的 PowerTable 支持这些资源的不同 PowerState(例如:空闲、等待、活动)
  • 可以使用用户可用的数据通过对核心进行表征来获得功率、电压和频率之间的关系。(例如:P = CV^2f)
  • 每个 PowerState 的功率值将有所不同(例如:空闲状态可能有泄漏和时钟树功率,活动状态可能有泄漏和动态功率)
  • 由于 DVFS 和其他省电技术导致的电压和频率变化使用一种简单的算法建模,该算法跟踪资源利用率并决定操作点(V 和 f)
  • 可以合并有关实时应用程序的其他用户数据。在这种情况下,我们合并了一个示例 PTPX 数据,其中包含应用程序在每个 SystemResource 上花费的时间百分比
  • 应用程序参数(如分辨率、帧速率等)的变化将影响应用程序在资源上花费的时间,从而改变功耗

图 1:显示示例用例的框图
尽管所呈现的用例采用了一种基本方法,但它旨在建立该方法对更实际应用的可扩展性。该系统还可以通过包括其他组件(如缓存、总线等)来精确建模以复制完整的 SoC。

微调模型:
这些是整合用户团队数据的可能方法:
  • PTPX[2] 数据 - 如果用户拥有有限数量的应用程序的 %time 或 %power 数据,则可以将其作为模型中的输入,并可以根据应用参数的变化进行缩放。
  • 特性曲线/方程[1] - 此信息可用于定义功率与其他设备参数(如电压、频率、温度等)之间的关系
  • 平均门级活动 - 这可以用作为内核定义的动态功率方程中的缩放因子。
  • UPF 格式 – UPF 中的信息可以使用可用的基础架构(如 PowerTable、PowerStates 等)在 VisualSim 上建模

验证:
如果用户拥有一组有限测试用例的实际功率测量数据,我们可以使用这些数据来比较模拟结果并计算 % 误差和标准偏差。因此,该工具在提供模拟环境中发挥着重要作用。它通过改变应用参数并观察它们对功耗的影响,帮助用户实现权衡并做出电源管理决策。
提出的方法旨在解决系统级功率建模中的两个主要问题——缺乏商业模拟工具和较低的准确性。它试图通过提供一个选项来整合来自较低抽象级别的一些用户信息来解决准确性问题。

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