软件驱动功耗分析:优化半导体设计能效
功耗是半导体设计中单一最大成本驱动因素。耗能更高的芯片需要更大、更贵的电池供便携设备,更高规格散热方案、更健壮电源分配系统。这些额外组件推高制造成本、压缩利润率、阻碍市场成功。即使墙电供电系统——服务器、存储阵列、网络设备——也支付巨额运营账单;部分数据中心电费超硬件寿命内价值。极端功耗下,液冷等复杂基础设施成强制,进一步推高资本和运营支出。因此,降低平均功耗是普遍目标,抑制峰值功耗常为防热失效的关键要求。
功耗分析挑战
为达成这些目标,业界采用从电路级优化到应用感知软件功耗管理的低功耗技术谱系。然而,评估这些措施真实影响需在设计验证阶段准确估算平均和峰值功耗。依赖流片后数据不可接受;产品可能已不可行或不可逆损坏。因此,稳健的预硅功耗分析——理想情况下在多个项目里程碑——至关重要。
传统EDA流程用仿真做功能验证。测试平台运行测试套件执行特定特性,生成开关活动文件供功耗签核工具。这些工具将活动数据与工艺库功耗模型结合,产出平均和峰值消耗估算。该方法准确性完全取决于仿真测试的代表性。功能验证套件刻意聚焦,罕见捕获真实工作负载全貌。约束随机测试虽增加并行活动,仍不足以反映真实使用模式。唯一真正可靠的开关活动来源,是在设计上运行生产软件——含操作系统和用户应用。
在仿真中运行完整操作系统启动和多应用需数十亿时钟周期,不切实际。仿真器则常规执行从操作系统启动到用户负载的数十亿周期。仿真器提供必要的真实软件活动,但传统功耗签核工具设计用于数千而非数百万或数十亿周期。需要新方法论从仿真运行中提取有意义的高活动窗口,聚焦功耗分析于这些片段(见图1)。
点击查看大图
图1. 使用功率窗口的功耗分析 (来源:Synopsys)
迈向软件驱动功耗分析
图1所示流程始于仿真器生成活动概况,高亮设计哪些部分随时间活跃。此概况可作为波形或在任何硬件调试工具中查看。因功耗签核无法在数十亿周期执行,用户必须识别一个或多个关键窗口——活动和功耗最高的片段。若每窗口跨度百万周期,可用于精确功耗分析。基准上,仿真器应在约三小时内产出十亿周期活动概况。
嵌入式