中文 英语

焦点转移到浪费的能源上

低功率已经不够了。所有的电力都被有效地消耗了吗?低能耗是新的目标。

受欢迎程度

移动电话使该行业意识到能量,但现在的焦点正在转移到执行一项任务所需的总能量。对于执行预期任务来说不必要的活动是浪费能量的,减少它需要一些新的方法和开发团队中的结构变化。

人们对权力的认识正在扩大。公司产品管理总监罗布•克诺斯表示:“为移动设备开发soc的公司在电力感知方面处于领先地位节奏.“当你环顾四周,有人正在设计一个物联网从应用程序,到消费类移动设备,再到插在墙上的设备,再到服务器,功率正在成为一个区别和需求。”

这两个极端正变得同样令人担忧。在服务器级别,复杂性和热性是驱动因素。“人工智能正在使SoC的尺寸快速增长,”at公司SoC Power Continuum集团总监杰伊·罗伊(Jay Roy)说Synopsys对此.“对于亚马逊(Amazon)或Facebook等试图采用人工智能的公司来说,冷却要求在定价方面正成为主导地位。它们迫使设计人员更加注重节能。”

在另一个极端,一些设备需要保存每焦耳的能量。“battery-free低能耗蓝牙Atmosic Technologies的业务开发副总裁Srinivas Pattamata说:“这种设备非常适合低数据速率的应用。“在许多物联网应用中,蓝牙连接是系统的主要功耗部分。然而,几十毫瓦的功耗对于在小电池上运行多年的传感和数据应用来说太高了。”

在这一点上有广泛的共识。RTL产品管理总监普雷蒂•古普塔(Preeti Gupta)表示:“电力浪费的概念是一个重要的术语。有限元分析软件.“AMD的定义是,电源必须做功。闲置电力等于浪费电力。”

这种关注点有何不同?Cadence的Knoth解释道:“电力是即时的,能量是随着时间推移所做的实际工作。“如果你关心电池寿命或系统架构等问题,为了更有效地完成任务,能量是一个更好的分析和优化量。能源需要更复杂地使用功能刺激、功率分析和优化技术。”

传统技术
能量不可能在流动中的任何一点得到优化。它需要持续的关注。Synopsys的Roy指出:“在设计过程的不同阶段,功能的概念是不同的。“这并不局限于硬件。它也会进入软件团队,或者整合整个SoC.在一天结束的时候,他们都关心同样的事情,那就是我需要建造一些尽可能减少电力需求的东西。”

一些方面功率优化是行之有效的。“电源由三个主要元素组成:漏电、短路电源和开关电源,”ANSYS的Gupta说。对于这些问题,设计界已经找到了优化它们的方法。还有其他方面,如故障功率,这在某些类型的设计中变得非常重要——特别是包含大量异或函数的设计。因此DSP和算术类型的应用程序可能存在故障问题。电容、电压和频率都在设计者的控制之下。我们看到人们在玩弄电源电压,无论是将其缩小还是使用多个电压域或使用功率门控。我们听说动态频率缩放,时钟门控是关于停止多余的活动。有很多流行的技术。它们在早期通过算法考虑被应用到最后阶段,在最后阶段,你正在进行多vt优化或引脚交换,或路径平衡以降低功耗。”


图1:不同抽象级别的功率分析和优化。来源:节奏

每个阶段的流动都可以影响功率。Knoth说道:“在布局层面,你所谈论的是5%到10%。“当你退得更远一点,谈论合成,你从RTL到哪里,你可以得到高达20%的潜力。但如果你再回到架构层面,你实际上是在决定数据路径和多个内核运行并行处理算法,或者减慢时钟频率以降低完成任务的整体功耗,那么你谈论的是80%的功耗优化潜力。”

更进一步
30年前,功能验证是通过观察波形来完成的。“如果你一个周期一个周期地观察波形,你现在的验证方法会有多有效?Knoth问道。“你不会很快得到任何东西。与权力类似,团队必须应用更多的定量方法,在整个流程中进行多次检查,并使用回归测试等技术。”

今天,我们只是在定义这些流程的早期阶段。“任何概念要站稳脚跟,现有工具的背景或基础方法需要在场,”罗伊说。这可以归结为仿真、虚拟原型和合适的向量集等技术。

为什么模拟重要吗?“仿真使人们能够吸收整个SoC,并且是可扩展的,因此他们能够运行真实的场景,”Roy继续说道。“这在10年前是不可能的。首先是用于功能验证,但现在他们也想用它来看看电力发生了什么。软件很重要,它对耗电量有很大的影响。硬件和软件之间的交互正逐渐成为人们关注的焦点。”

卡齐·艾哈迈德,产品营销经理Mentor是西门子旗下的企业,提供了这些交互的示例。“汽车、ML和AI应用程序往往有大量的内存访问。这些可以是分析,然后您可以将最频繁访问的地址映射到另一个较小的内存,或者通过分割内存,或使用寄存器而不是内存。诸如此类的技术可以节省大量电能,有时可以节省30%以上的动态内存电量。”

有时,这种分析可以使用虚拟样机这种方法可以提供比现在使用的技术更准确的数据。克诺斯说:“许多人仍在使用电子表格来分析功率,他们只是胡乱猜测。”“这是最大的收益来源,紧随其后的是优化高级合成(HLS)。”

这种方法的影响正在得到越来越多的认可。“他们可能有SystemC关键部件的模型或ISS模型,所以我们开始进行这个讨论,”罗伊说。“在建筑层面上,你有更多的空间来玩这种东西。为了使这种分析更有成效,估计功率的潜在引擎需要合理地相互关联。”

将功率分析与高级综合结合是另一个取得重大改进的领域,随着越来越多的东西被添加到物联网中,随着边缘开始成型,这将变得更加重要。这些类型的问题已经开始从传统的HLS类型的应用程序溢出到功能中,HLS可以提供一个高级的权衡视图。

公司CEO Max Odendahl表示:“你想要提高吞吐量,减少面积,最终你想要降低功率,这与吞吐量和面积有关。Silexica.“我们已经就集中式计算进行了多次讨论。大量的电池电量将用于集中计算。所以你需要一个集中的架构,出于性能考虑,你需要集中计算,但这样你就浪费了所有的电池电量。”

最大的区别
有一个基本的部分使功率和能量之间的区别-矢量。克诺斯说:“为了让你的心流更加注重能量,你需要功能性刺激。”“但是人们只会抓住一些刺激措施,而不完全了解这些措施的质量以及这些措施代表什么。实现工程师通常会做静态分析,这对于优化电源很好。如果你从静态分析转向实际使用函数向量,那么你就从功率转向了能量。”

这就需要改变团队结构。古普塔说:“活动对电力消耗有一级影响。然而,验证团队负责生成活动场景,功耗方法团队负责运行不同的功耗分析工具,并向设计人员建议如何更改设计以纳入功耗降低技术。这是一种脱节。一些公司正在通过创建拥有矢量生成以及功率分析和减少的功率方法学小组来缩小这一差距。他们在整个流程中都在照顾这个问题。”

必要的活动可能很大。Synopsys公司的罗伊说:“活动是由软件场景控制的,过去存在的执行平台无法扩展,因此他们无法看到功率配置是什么。”“这种情况正在改变。电动工具用于目标块级设计,1万至2万次循环。但现在我们必须能够处理完整的SoC设计和数十亿个周期的更大活动。下一代真正的soc级电力平台需要规模化,并有能力处理大型活动和更大的设计。”

活动如何影响设计工具?“映射就是一个例子,”Knoth说。“在合成您有一个细化步骤,一个映射步骤,然后开始处理涉及门和线路的不同优化阶段。在映射阶段,您将从一个非常高级的详细RTL版本过渡到选择乘数和加法器体系结构之类的东西。功能性刺激会推动这种优化。以自动化的方式在合成中做出正确的选择,确实有助于减少产品的整体能源足迹。我们已经从‘让我们满足频率或面积,然后评估功率’转变为功率是整体成本函数中的驱动因素,这样你就知道你在流程的早期做出了正确的选择。”

这也产生了一个潜在的问题。Roy说:“你可能知道一个区块的平均或典型活动概况,这些模式为综合、放置和路由工具提供信息。”“这样他们就可以更好地降低权力实现.但是,如果您基于以前设计的经验提供活动指导,那么我将支持的系统级任务可以显著地改变活动概要。如果我没有考虑到这一点,我就是在错误的条件下进行优化。”

Knoth表示同意。“这里存在很大的陷阱,因为人们可能会针对一个不代表最终使用案例的案例进行优化。所以他们可能会优化不足,你可能会错过一个高峰事件。或者他们会使用最终用户永远不会看到的最坏情况,你可能会过度优化设计,影响进度。你需要确保不只是用功能向量来扩充你的方法,而是让实现和验证人员和架构师坐下来相互交谈,了解用例、刺激,以及它的代表性等等。”

但你不能只创建一个向量集。古普塔说:“目标不同,情况也不同。“你可能有不同的操作模式。考虑启动操作系统或运行某些应用程序。有时你可能对平均值感兴趣电力消耗因为这显示了热冲击。当你考虑像电压降这样的事情时,你对基于周期的功率不感兴趣,而是对瞬态功率感兴趣。电流峰值是多少?”

有时候这些概念比实际的向量更高。“我们将每个子块用于整个设备操作范围,包括睡眠、唤醒、发送和接收。Atmosic的Pattamata说道。“这意味着每一微安的功耗都可以得到适当的考虑。”

策略出现
各公司仍在落实最初的方法。古普塔描述了高通GPU小组用来发现浪费电力的策略。“为了执行某种功能,你需要消耗一定量的能量。如果我想在t时间内完成这个函数,相对于2t时间,能量应该是相同的。电力消耗会有所不同,因为电力消耗是能量/时间。如果你有更多的时间来完成一项功能,你消耗的电量将会减少,但完成该功能所需的能量将保持不变。然而,如果你看到执行该功能所花费的时间之间的能量变化,这可能意味着电力效率低下。”


图2:高通公司采用的能源方法。来源:有限元分析软件

另一种策略是在设计中使用更有序的分析。Mentor公司的艾哈迈德解释说:“公司可以进行顺序分析,以检查一系列失败的输出在给定条件下是不可观察的还是稳定的。”“这使得工具能够为这些失败提供更强的enable表达式,这可以将CPU/GPU设计的动态功耗降低5%到10%,而对于网络和通信设计,在某些情况下,节省的功耗可以超过50%。内存也存在类似的细粒度门控条件,称为内存门控,它还可以节省25%以上的内存动态功率。数据操作符输入也可以被门控,称为操作数隔离,并节省5%至10%的动态功率。当内存被禁用以节省电力时,可以对内存输入上不需要的切换进行门控,尽管很小。”

这种分析在更高的层次上也存在。“考虑跨块边界的数据流动,”Roy说。“如果我有一个生产者和几个消费者,你可能会注意到生产者非常活跃。但是,如果应该消耗数据的块是空闲的,您也可以停止传输。在活动方面,跨IP互动还有很大的探索空间。”

结论
改变需要时间。古普塔警告说:“缺乏对场景对电力的重要性的理解是团队正在犯的最大错误。”“这不仅仅是为了测量功率,而是为了创造一个节能的设计。如果设计将空转90%的时间,你需要设计为这种操作。这一点还没有得到很好的理解。”

电源和能源是贯穿系统开发所有方面的关注点。开发团队必须团结起来解决这些问题,因为没有一个人或组织的一部分可以单独完成这些工作。设计和验证团队都扮演着重要的角色。设计的每个阶段都有一组适当的分析和优化的职责,但矢量生成传统上一直是验证团队的角色。这现在通过提供流的每个阶段所需的向量集来驱动优化策略。



留下回复


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

Baidu