中文 英语

RTL降低功率

依赖关系、不同的方法和越来越多的变量使这个问题变得越来越具有挑战性和复杂。

受欢迎程度

随着越来越多的异构元素被添加到高级设计中,越来越多的组件依赖于与其他组件的交互,寄存器传输级别的电源管理和减少变得越来越成问题。

在过去的几个工艺节点的前沿设计中,这一直是一个日益严重的问题,但随着总体功率预算的降低,类似的问题已经开始蔓延到不太复杂的设计中。在纳瓦或微瓦范围内的设备中,平衡权衡和理解相互作用的环境尤其困难,因为电池电量极其有限,能量收集是一个必不可少的组成部分。例如,在这里,非常小的泄漏电流乘以设备数量可能会导致显著的功率损失,即使在空闲模式下也是如此。

“只有用一个准确的能力评估可以安全地设计超低功耗系统,”Björn Zeugmann,集成传感器电子研究小组的成员夫琅和费IIS自适应系统工程部.“有必要考虑最坏的情况,这意味着最大的电流流动,以建造有弹性的结构。由于随着时间的推移,这将不是大多数应用程序中最常见的用例,因此需要一个真实的模拟用例来获得真实的功率分析。这个真实的案例可以从以前工作的任务配置文件中获得,并且需要在具有电池单元的系统中估计生存时间。在系统设计中,精确的功率分析并不重要,因为功耗、自热和其他相关影响起着次要作用。”

功率是一个复杂的话题,充分理解其在设计中的含义取决于需要考虑的大量变量。

英特尔RTL产品管理总监Preeti Gupta表示:“低功耗设计会影响芯片的功能有限元分析软件.“就像时钟门控作为一项技术,当插入时钟门时存在挑战,因为如果处理不当,可能会导致故障。或者考虑将电源门控作为一种在设计中添加开关的技术。这些转换、隔离策略和留存策略是如何运作的?这些增加了总验证周期,当有电压岛和动态电压和频率缩放(DVFS),所有这些都增加了对特定芯片的总验证要求。因此,毫无疑问,我们必须为低功耗设计做更多的工作。”

商业工具供应商提供了各种专门用于降低RTL功能的选项。没有万能的工具,也没有万能的工具。例如,有一些工具可以指导降低RTL功率,而不是自动降低功率。但无论哪种情况,人们都认识到,最大的节能发生在设计周期的早期。

该公司产品管理总监罗布•克诺斯(Rob Knoth)表示:“这催生了一套围绕RTL电源效率的强大工具和方法。节奏.“在c代码架构级别上的电源效率分析甚至更有影响力。利用现代数字实现和分析工具的定量方法有助于更好地理解频率/带宽和功率之间的权衡。对于大型架构决策来说,这是相对简单的,但在整个设计中攻击电源效率改进的‘长尾’就变得更加困难了。”


图1:整个设计周期的功率优化潜力(Delp, 2009)来源:Accellera/ISQED

功率效率分析的质量与所使用的功能刺激的质量直接相关。但它也在很大程度上取决于验证和RTL设计工程师的能力。

克诺斯说:“在他们的任务清单上增加能源效率必须谨慎行事。”“这就引出了一个问题,‘EDA能提供什么帮助?“在这个领域有很多工作,分为两大阵营——引导优化和自动优化。这种优化可以在RTL级别上完成,也可以集成到实现中。你怎么决定?”

导向性RTL优化是一种工具为设计人员提供建议以提高其电源效率的过程。在有指导的RTL优化中,人类仍然负责做出最终决定。自动RTL优化将人工从循环中移除,EDA工具直接对RTL进行更改。在时间至关重要的情况下,这是有用的,但在结果的质量、RTL的可读性和对系统的总体信任方面,这是有代价的。

基于这些原因,Cadence与客户合作创建了第三种方法——使用引导RTL优化来实现最大的变化,并使用自动优化作为综合流程的一部分来攻击长尾问题,Knoth说。“这确保了机会分析与在功率、性能和面积(PPA)方面的实施之间没有错误关联。这也是对关键人力资源和计算资源的最佳利用。”

影响这种方法的因素可以归结为验证、带宽/调度、重用(IP和物理设计流)和集成。如果验证不能确保优化不会改变产品的关键任务功能,那么功耗降低是毫无价值的。

Knoth指出,这对于引导优化和自动优化,以及函数验证和形式验证方法都是正确的。如果只使用有指导的更改,并且更改的数量很少,则可以是一个易于处理的手工问题。随着更改数量的增长,需要在优化和验证技术之间建立健壮的连接。这就是为什么综合技术和正式技术在开发周期中相互测试的原因。确保一个正式的工具能够验证复杂的数据路径和控制转换,对于实现它们所能提供的电源效率至关重要。

但这一切也存在风险。由于设计师正处于产品的关键阶段,RTL电源效率分析认为的机会与最终将在硅上实现的产品之间缺乏很强的相关性,可能会导致未来的问题。

引导还是自动?
如果RTL是来自第三方的IP,或者计划在其他项目中重用,那么对RTL的任何修改都不是简单的。更改RTL可能会造成验证的噩梦。综合流程中的自动优化被认为是最好的解决方案——由门级网表和rtl之间的强形式验证支持。

对于向客户(内部或外部)交付RTL IP的团队来说,他们有动力生产尽可能高质量的RTL,而功率通常是一个关键的卖点。能够帮助IP设计师从RTL中挤出所有浪费能量的工具是至关重要的。可读性也很重要;渲染自动RTL优化行不通的。这个模型不能依赖于实现团队使用的合成流。引导RTL优化是最合适的,Knoth相信。

Shailandar Sachdeva,高级员工应用工程师Synopsys对此他对此有不同看法。自动简化工作是在设计师没有编写RTL的情况下,例如机器编写的RTL可能来自HLS(高级合成)。假设一个设计工程师写了C代码,它是通过一些HLS工具生成的,然后这个工具吐出RTL。因此没有用户干预,因此没有RTL设计人员实际维护这些代码。这种情况有助于自动RTL功率降低。原因是代码是由工具编写的。实际上,没有人会在这个过程中维持它。”

此外,有时设计团队会拥有许多他们无法控制的第三方IP。“这个IP可以是现成的,可以从供应商那里购买,也可以由HLS由一个独立的团队生成,”Sachdeva说。“他们可能有也可能没有RTL,即使他们有RTL,他们也必须理解它。但即便如此,他们也没有它的原始设计。这是一种自动节能的方法。”

没有捷径,这不是一个简单的问题,萨赫代瓦断言。“当工具修改RTL时,谁将维护该RTL?假设运行该工具的强大设计人员获得了RTL。他们修改它,然后说,‘这是RTL。’但是RTL设计师会说,‘我不能维护这个RTL,因为我不知道你做了什么。“这成了一个大问题。RTL和eco的所有权是一个大问题,因为没有人知道RTL,所以它变得很棘手。另一方面,假设设计人员实际编写了RTL。他们拥有它,并能说出做了什么修改。然后,如果下游意识到存在问题,设计师就能更好地理解问题,从而更明智地控制问题,而不是强行解决问题。”

其他问题
集成也是一个考虑因素。“电源效率分析的准确性对这两种技术都至关重要,”Knoth说。“RTL功率估计工具认为综合工具会做什么,位置和路由工具将为时钟树构建什么,或者签名功率工具将计算什么,您不能承受这些之间的错误关联。如果你有四个不同的EDA供应商提供的四个不同的工具,当这些工具不相关时,谁来负责?在导向RTL缩减中,不相关会导致关键路径滑移。你在浪费时间从最重要的时间资源去追捕幽灵。对于自动缩减,您需要将功率效率分析和优化引擎嵌入到综合和实现流程中。重要的是,不仅要考虑功耗降低,还要考虑更改的时间/区域/拥塞影响。一个例子是使用异或门的组合时钟门控。展示它如何降低时钟功率相对容易。 It is much harder to make sure it doesn’t introduce new implementation issues with area/congestion/timing. Only a tightly integrated solution will be safe when considering these tradeoffs.”

实际上,很多时候选择取决于可用的时间导师,西蒙的生意.如果您有足够的时间仔细查看所有建议,并非常仔细地执行工具建议的更改,那么您将采用指导方法。但如果你手头没有足够的时间,而上市时间窗口即将关闭,那么你就会自动减少。两者肯定都有很多优点和缺点。例如,在手动流程中,如果您希望保留对RTL的控制,但是设计人员需要在RTL中进行额外的更改(这不是他们的任务的一部分,但工具正在建议一些东西),那么他们将不得不这样做。其余的下游验证流是附加的。在自动优化的情况下,如果它同时给出了快速的功耗降低,比如,‘这是一个工具生成的RTL,你需要关注RTL的可控性、RTL的可信度,然后是验证。’”

此外,当一个工程团队正在实施引导缩减时,如果他们做了建议的更改之一,但不喜欢结果,他们有能力备份到前一步。但这也带来了一系列挑战。

Fahad说:“假设用户正在查看工具提供的建议,并自行实现更改。”“当然,这是机器的建议,所以可能有多种方法来做同样的事情。有时用户会得到提示,某个触发器是可调的,并且具有冗余功耗。他们可能会提出自己的优化逻辑,这是完美的。整个想法是暗示特定触发器消耗的能量比必要的要多,所以它们有时会实现自己的更改。有时他们只是看看我们的变化,看看我们的位置,然后实施这些变化。但一个重要的考虑是,在自动优化中是否真的容易回到原来的RTL。如果机器更改了RTL,如果我不喜欢它,或者在验证中出现错误,如何返回到原始的RTL ?我如何撤销机器已经完成的事情?这是设计师最关心的问题。”

他指出,幸运的是,解决方案是机器总是用重写信号写入优化的RTL。“所有这些建议,所有工具自动实现的变化,都是通过一个OR门实现的,有一个覆盖信号,我们称之为CG覆盖(时钟门控覆盖)。因此,如果您不喜欢我们的更改,就把它放进去,RTL和原始版本一样好。这个工具所做的事情很容易就会被撤销。”

更大的图景
RTL功耗降低的主要问题之一可以归结为自动编写功耗优化的RTL,这是一个非常复杂的问题。

Fahad说:“我们面临的最大挑战是糟糕的逻辑问题,即我们实现了一些东西,却导致了芯片故障。”“幸运的是,我们从未遇到过芯片故障,但我们在下游验证过程中被发现了。限制验证能够捕捉原始功能和新功能优化功能之间是否存在同化不匹配的问题。糟糕的逻辑是我们面临的最大问题,即使我们有一个正式的验证手段来检查新RTL和旧RTL之间的等价性,并且我们有客户使用的验证方法。一切就绪。但是尽管如此,在一些下游流中,错误的逻辑被捕捉到切换,这本质上是由工具执行的错误实现导致功能更改。这是我们目前面临的最大挑战。”

因此,电力是市场上亟待解决的问题。“我们从来没有把功耗作为芯片的一个问题,但在过去的十年左右——自从手机和笔记本电脑等手持设备出现以来——电池的效率已经成为设备最重要的方面。我们过去有频率、速度和许多其他因素。这场比赛的模式完全不同。现在,竞争的焦点是电池的续航时间。”

结论
考虑到设备功能之间的所有交互,以及如何获得最优化的电源解决方案的权衡,围绕功耗降低的讨论和活动将继续挑战参与该领域的所有设计团队和工具提供商。

“权力是不同的,”法赫德说。“权力是非常复杂的。权力是不可预测的。电力严重依赖于投入。功率严重依赖于流量。权力依赖于过程。功耗降低依赖于功能。基于所有这些原因,功耗降低并不是一个简单的问题,能够找到解决难题的方法总是很有趣的。”



留下回复


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

Baidu