中文 英语

下一个重大飞跃:能源优化

优化你的能源设计需要什么?简单的答案是一个从概念到实现的新EDA流。

受欢迎程度

功率和能量之间的关系在技术上是简单的,但它对EDA流的影响是巨大的。目前还没有工具或流程允许您分析、实现和优化能耗设计,要达到这一点,需要半导体行业的范式转变。

业界经常谈论功率,在某些市场,功率可能已经成为比性能更重要的设计指标。权力很重要,因为关于它的知识可以用来正确地衡量配电网。它还可以帮助预测热问题,并为许多类型的优化提供指导。

很多时候,我们谈论权力是因为我们知道如何衡量、分析和优化它。但现实是,许多人真正关心的是能源,这带来了更多的挑战。

Calypto group的首席产品经理卡齐•艾哈迈德(Qazi Ahmed)表示:“多家设计公司告诉我们,他们想做能源分析,而不仅仅是电力分析。Mentor,西门子旗下公司。“权力已经成为一流的衡量标准。事实上,它已经取代了性能作为设计目标的主要指标。但真正的目标是开发节能的ip。在设计中,能效可能等于也可能不等于低功耗。”

功率告诉你每单位时间消耗了多少能量。在进行电源优化时,会尝试删除不必要的活动,这很好。但它不能告诉你所消耗的能量是否有用,或者同样的任务是否可以用更少的能量来完成。

“我们经常把电力作为能源的代表来谈论,偶尔会忘记两者的区别,”美国电气公司(electric company)杰出工程师詹姆斯•迈尔斯(James Myers)表示手臂。“当然,不同之处在于随着时间的推移整合权力——但花多少时间做什么呢?”

权力、能量和表现往往以复杂的方式交织在一起。“虽然功率是衡量设计如何有效利用可用能源的关键指标,但总体能耗决定了设计是否能在热限制下以预期的性能运行,”Arti Dwivedi说有限元分析软件。“最大化设计性能需要最大化能源效率。”

权力的定义中缺少的是什么构成了有用的任务。一旦定义了能量,就可以分析执行该任务消耗了多少能量。现在可以判断一个架构或实现是否更有效地产生相同的结果。你的系统在家务功能上浪费了多少能量?比起在更快的处理器上运行相同的任务,使用更小、更慢的处理器真的能减少总能量吗?该处理器扩展是否允许您的软件变得更加节能?

对权力的关注贯穿于整个发展过程。当您运行place-and-route时,您主要是在优化性能。但是如果你对功率进行优化,布局会有什么不同呢?如果你对能量进行优化它又会如何改变呢?优化功率和能源之间的差异意味着所有工具都需要成为任务驱动型。这需要了解哪些任务对设备来说是最重要的,然后利用这些信息来确保这些任务消耗最少的能量。

这种方法需要与生态系统进行深度合作。“这不是小事,”苹果产品管理总监罗布•克诺斯(Rob Knoth)表示节奏。“我们很多人一直在做的最简单的事情就是间接地解决这个问题。而不是确定工作单元,我们正在做的是更普遍地尝试优化功率,因为我们今天有这些工具。我们不会因为优化功率而浪费工作。最终,当我们确定这些工作单元时,我们将需要所有这些相同的工具——我们在流程中构建的工具,我们正在使用这些工具来普遍优化功率。”

这在权力方面可能会变得非常复杂。“在架构阶段,有几个对评估和投射功率感兴趣的缩放向量,”Ambiq Micro架构和产品规划副总裁丹·瑟马克(Dan Cermak)说。“有架构缩放来解释新的架构和设计特性,如频率变化,新的硬件功能,如加速器,功率域划分,以及潜在的电压变化。有工艺缩放,以考虑新的或更新的工艺参数,以确定Ceff(有效电容),线负载效应,VT电压变化等。然后还要考虑与设计相关的优化。所有这些扩展向量都需要在代表性工作负载的背景下进行评估。”

缺少的是一种行业标准方法来定义对正在设计的系统很重要的任务、场景和工作负载。的便携式刺激标准(PSS)是一种定义能力的尝试。它是一种基于控制和数据流设计的高级测试平台语言。但目前尚不清楚,该标准是否在某些方面存在缺陷,使其难以发挥这一作用,还是只是需要时间才能被行业接受。PSS的目标是有一个单一的方法来定义可以在整个开发流程中使用的测试平台场景,因为输入描述与设计要运行的执行引擎无关。

能源vs电力
能量包括有功功率和漏电功率。Arm的Myers表示:“移动和物联网设备通常具有很强的占空比,因此待机电源很重要,因为它将在长时间的待机时间内集成。”“但即使在物联网中,有功功率和计算吞吐量也同样重要。例如,执行TinyML用于语音或图像分类的神经网络。如果产生结果的时间大大减少,那么功率的提高将是能源的胜利,这就是为什么我们看到这些设备的处理能力不断提高。”

还有其他方法可以实现极低功耗设备的运行。迈尔斯补充说:“我们可以在接近阈值的电压下进行设计,以利用平方定律功率降低的优势。”“但是有可能将电压和频率降低到这样的程度,即在功率下降的同时,由于在更长的时间内更低的泄漏,有功能量最终会增加。(参见图1)。

图1:功率与能源考虑。来源:手臂

图1:功率与能源考虑。来源:手臂

即使集中于有功功率,能量和功率之间的权衡也可能是非直观的。“如果你的SoC有两个核心——一个高性能核心和一个低性能核心——高性能核心做更多的工作,消耗更多的电力,”Mentor的Ahmed说。“与高性能核心相比,低性能核心的吞吐量可能只有50%,功耗可能降低30%到40%。在这种情况下,低性能核心不如高性能核心节能,在该核心上运行任务将导致更低的功耗,但总能量更多。”

挑战在于如何将其转化为设计。“你需要大量关于系统的高质量数据来分析和推动探索和实施,”Cadence的Knoth说。“如果你没有这些数据,你就会做出非常短视的决定,这可能是错误的。这是因为你处理的可能是局部极小值,而不是全局极小值。”

了解功率和能量之间的关系有助于围绕最小值进行改进。Ansys的Dwivedi表示:“针对不同用途的不同工作负载的功率回归在功率方法中被采用,以识别导致冗余能耗的电源缺陷。”高通公司的黄亚东分享了他们的使用方法差能分析使用相同的测试,但不同的工作负载来测量能源消耗的变化并确定设计的低效率。在同样的测试中,设计的能耗增加,但利用率较低,表明在没有完成有用的工作时,数据和时钟的冗余切换。”

能源驱动
有一些特定的市场会推动这一趋势。诺斯说:“他们是要投资的人。”“当我们最初开始谈论功率,而不仅仅是频率时,手机芯片正在推动它,而构建数据中心服务器的人并不关心,因为它们是插在墙上的。它们没有那个小电池来约束它们。但现在,数据中心担心他们需要的冷却量。如果他们能够优化其中一个芯片的功率效率,当他们将其乘以数千倍时,这将对他们的运营成本产生重大影响。”

市场之间的一个共同组成部分是处理器核心。“对能源的关注主要是由IP供应商推动的,”艾哈迈德说。“有cpu和gpu。有人在研究机器学习和人工智能加速器,也有人在研究网络公司——任何有大型设计、运行不同类型模式、希望获得低功耗、能效或需要满足环境要求的人。”

关键驱动程序是为处理器设置度量的能力。艾哈迈德解释说:“它可以看指令和每瓦能做多少功。”“你可以专注于不同的运算,比如算术运算,你可以实际观察它们的利用率和消耗的电量。所以人们可以绘制一些像能量线性检查这样的图,这基本上意味着在给定的性能或利用率下消耗了多少能量。为了达到100%的利用率,可能会消耗一定的能量。如果减少操作,可能会导致CPU性能下降50%。能量还是50%还是60%?可能有不同的方法可以做到这一点。”

定义任务、场景和工作负载
困难之一是现代soc很少一次执行一个任务。当多个任务在一个设备上运行时,它们彼此交互。那么问题就变成了你如何定义一项特定任务所消耗的能量。它与其他任务的交互消耗了多少额外的能量?如果没有这些知识,就很难知道并行运行它们是正确的选择,还是应该在没有其他约束的情况下串行运行它们。

迈尔斯说:“我们系统的扩展组件也是如此。”“较大的系统可能会在其他组件上造成性能和能源瓶颈。假设可以用现有的功率分析工具在设计流程的最后进行验证,但更早的洞察将非常有益。”

用例也很重要。“在理想条件下,人们很可能会开始测量每项任务所消耗的能量,”艾哈迈德说。“然后他们可能会有不同的场景,比如有人一边玩游戏一边看视频,同时在后台也有其他应用在运行。或者设备可能同时做两到三件不同的事情,所以需要有一个综合方案。必须有一种方法来运行大量的工作负载,然后为权力做出决策。”

场景必须足够长,这样运行场景产生的任何热量都可以被考虑在内。例如,虽然一款游戏一开始可能每分钟消耗一定的能量,但随着设备升温,它可能会增加,从而消耗额外的能量。

代表性工作负载很重要。“假设工作负载是已知的——这是一个很大的假设,因为这通常是功率分析中最困难的方面之一——下一个挑战是如何有效地预测/建模这些缩放向量,以估计给定工作负载的功率,”Ambiq的Cermak说。“也许最简单的方法,或者至少是最容易获得的方法,是使用电子表格模型或类似的方法。这些模型往往极其复杂和笨拙。然而,如果管理得当,它们可以非常有效。”

不过,还有很多需要理解的地方。“这一切都因为在工作模式之间转换的时间和精力而变得复杂,无论是待机模式还是激活模式还是恢复模式dvf“操作点,”迈尔斯说。“考虑从触发事件,通过系统控制处理器,到电压调节器输出变化,通过电源门控制,遵循任何宏观特定控制顺序,释放时钟和重置的路径,然后我们准备好了。这需要多长时间,消耗多少能量?我们多久要做一次这样的改变?尽管ULPMark核心配置文件在物联网领域是一个明显的例外,但这并不包括在专注于有功功率和避免设备特定电源管理的标准基准测试中。”

这一切都要归结为定义代表性工作负载。Knoth说:“您正在研究如何有效地使用功能验证来驱动实现和优化。”“如果我们谈论的是攀登金字塔,而金字塔的顶端是能源,那么我们已经非常接近了。当我们讨论功的单位时,我们必须讨论系统的功能。我们必须讨论这个小部件在做什么。因此,人们普遍认识到,在设计实现的同时,需要广泛使用功能验证。”

工具需求
虽然仍然有些学术性,但工具供应商正试图解决能源问题。“对于每个用例,他们需要一个能量数,以及功率数,”Ahmed说。“然后他们可以做一个覆盖,并试图通过数据分析提取信息。人们希望看到的是带有强大可视化效果的详细报告,这样他们最后看到的内容才有意义。有必要在这些工具中内置一些标准的智能。(参见图2。)

图2:将能源智能构建到工具流中。来源:Mentor, A Siemens Business

图2:将能源智能构建到工具流中。来源:Mentor, A Siemens Business

根据Knoth的说法,Cadence通过三步来解决这个问题。“第一是理解,第二是探索,第三是实施。在你开始做任何工作之前,理解是至关重要的。至关重要的是,整个生态系统都退一步说,‘对于我正在构建的这个东西,我需要了解它的功能。工作负载是什么?然后我们就可以开始探索高级合成、早期原型RTL合成、RTL功率估计等内容。你在探索阶段花了很多时间,尝试不同的架构,尝试不同的数据流,尝试不同的产品组件。然后进入实施阶段,我们继续使用与探索阶段相同的引擎。我们使用同样的刺激使我们能够理解设计。我们用这个刺激来驱动所有的合成,以及定位和路线。 We’re choosing the right architecture and micro-architectures, we’re optimizing the clock network, etc.”

所涉及的分析量比过去高得多。“你的设计可能有1000种不同的使用场景,有些可能更重要,有些则不重要,”艾哈迈德说。“我们需要获得所有这些场景的功率数字和能量指标,并以某种方式能够生成所有这些场景的平均值。然后,你需要以一种有意义的方式将这些反馈给RTL设计师,帮助他们专注于优化功率,从而实现能源效率。”

后端工具也必须改变。Ahmed补充道:“目前大多数工具都是为了性能优化而构建的。“地点和路线必须从能源效率的角度出发,而不是从性能的角度出发。从电力或能源的角度来看,没有任何下游物理工具有能力进行任何路由或放置。这仍然需要内置。这将需要新技术、新方法以及与上游工具的新型集成。”

与上游工具的集成非常重要。“在设计阶段,物理设计的具体细节是未知的,”cermark说。时钟树不存在,电线负载未知,门延迟/传播的内在影响也不清楚。然而,需要某种方法来有效地投射能力,以反馈可能需要架构更改和额外设计优化的任何问题。一般来说,这些工具在预测物理设计效果方面是非常不准确的,根据设计的复杂性,最终要么悲观,要么乐观。”

结论
虽然电源优化已经是行业向前迈出的重要一步,但它并不是金字塔的顶端。该行业已经开始评估如何实现能源意识,但这不是一件容易的事情。我们已经开始从任务、场景和工作负载的角度来看待电力,但业界必须就实现这一目标的方式达成一致。如果不打算使用PSS,则需要快速开发替代方案。这是一个门控函数。

油气行业必须在整个开发流程中做出协调一致的努力,因为如果没有对流程的所有阶段都进行能源意识,那么准确性就会受到影响。这意味着该行业采用它的速度很慢。在相当长的一段时间里,精度一直阻碍着功率优化,用户通常仍然发现在硅的预测和实际情况之间存在很大差距。也许对能源的关注会带来更好的理解和更多的可预测性。



1评论

凯文·卡梅隆 说:

经过20多年的努力,Verilog-AMS在时序和电源设计方面成为EDA的主流,我可以相当自信地说,就大型EDA公司而言,我们现在比十年前更接近了一点。

有利的一面是:这意味着任何拥有这些工具的人在设计AI和HPC所需的前沿电路时都具有明显的优势。

留言回复


(注:此名称将公开显示)

Baidu