路科验证的个人空间 https://blog.eetop.cn/1561828 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

模拟器入局功耗分析所带来的新气象

已有 994 次阅读| 2018-6-14 21:22 |个人分类:验证前沿资讯|系统分类:芯片设计

将模拟(emulation)扩展到新的领域,不仅仅是功能验证上,这样可以在更长的时间范围内去进行功耗分析。这也成为分析现实场景的快速而有效的方式。 

这是一个新的领域,它标志着这项技术的新用途。它在不断发展,不过在最好的方法论和使用模拟器的最佳方式上已经出现了一些新的想法。

功耗验证有两个方面。第一种更类似于功能验证,这里的验证与电源域开关(power aware)相关联,如统一功率格式(UPF)文件或类似格式中所述。第二个是动态功耗分析,它用于在一段时间内发现峰值功耗和平均功耗,这比使用仿真可以实现的要多的多。

每一个使用的用例中的功耗意图、峰值和平均功耗,都需要模拟器和执行分析的软件具有不同的功能。业界仍在寻找最好的方式让用户能用最有效的方式解决这些问题。


验证电源域开关

功耗意图通常在UPF文件中指定。 Cadence系统开发套件产品营销总监Frank Schirrmeister说:“它阐明了你在设计中处理的所有区域,您想要开关的区域或怎样进行电压调节。”“我们所做的是在仿真过程中模拟电源开关的影响。如果设计关闭五个区域,则我们仿真这个设计,并确保切换正常进行。做模拟时也是一样的。我们按照要求去编写逻辑,为你提供每个功耗区域的功耗隔离。当它被关闭时,模拟的逻辑会去仿真效果,即使深度关机,也出现相同的效果。那么数据会发生什么呢?它是初始化的还是随机的?这是电源域开关的验证。


功耗分析

目前在使用模拟器进行功耗分析方面取得了很大的进展。验证专家Lauro Rizzatti说:“功耗分析或功耗评估是基于跟踪设计中所有元件的开关活动的。平均功耗是通过累积收集开关活动来估算的,并不管开关活动实际发生的时间或周期。峰值功耗是通过逐周期地跟踪开关活动来计算的。”

过去仿真也是可能完成这些的,设计的大小和复杂性意味着设计的重要方面只能通过长时间运行来实现,通常会使用在一些产品软件上,用以在芯片的处理器上执行。因此,仿真的局限性会使得芯片处于危险之中,因为它们可能无法找到所有问题或者一些进一步节省功耗的机会。

模拟可以使设计变得更好。 Ansys公司RTL产品管理总监Preeti Gupta说:“有一些设计的应用程序比其他设计应用程序更关注长运行的时间。”“例如,考虑对完整视频帧的功耗感兴趣的图形。这是几十毫秒。之前,他们不得不从框架中的一个子集中推断。现在他们正在通过模拟来了解功耗是多少。“ 

有不同视角可以帮助我们理解功耗。“你可以创建一个动态绘图,用一个用来表示翻转率的可视界面,”Mentor Graphics模拟部门营销总监Jean-Marie Brunet说,“动态绘图向你显示可能需要进行峰值分析的窗口,这将通过创建一个包含每个网络活动的文件来完成。在这里,你可以实时捕获整个SoC上的活动。将其传递给分析工具。”

对于不同终端应用也拥有不同的流程。“移动电话关注他们的电池寿命,所以他们关心测试期间的总功率,”Marie Brunet说。“他们也关心峰值电流,并试图了解由于电迁移(EM)和IR下降以及芯片适合的封装限制而导致的功耗预算。这也取决于峰值电流。”

从翻转活动中获取功率数字非常简单。“只要我们继续使用CMOS逻辑,功耗方程就非常简单,”Sonics首席技术官Drew Wingard说。“这不过是活动数目乘上CV2加上泄漏电流。因此,你需要平均节点上的平均活动或每个节点上的特定活动。”

如图1所示,选择合理的测试场景,可能会帮助发现功耗的问题,使其在流片之前得以解决。Wingard说:“大多数人使用他们性能分析的用例,并添加了一些额外的用例。“有些情况可能与待机模式有关,与性能无关。这些功耗通常较低,但对于平均能耗和总能耗,它们已经有适合的性能分析用例。”


 图1.模拟扩展了功率分析的范围

Mentor的Marie Brunet认为这种方法可能存在问题。“为了捕捉活动,你可以通过以前的方式来观察功能测试平台,并尝试使其适应功耗。但结果通常是灾难性的。”

Brunet建议应该在模拟器上进行基准测试。“这是实际的用法。它使你能够在芯片真正使用的情况下准确捕获活动。在移动端和多媒体,大多数最终设计都将通过诸如AnTuTu(安兔兔)等进行基准测试(benchmark)。在一天结束时,芯片将根据这些基准进行选择。这些基准的某些方面关注于功耗。这是一种方法的变化,需要启动操作系统,这意味着需要运行很多周期,通常是数亿周期。“

还有一种新兴的方法可用于创建与Accellera便携式激励工作组相关的测试用例。“在这里,您可以定义在设计上执行的场景,这些场景会检查以下问题:'如果我在同一时间访问某些内容或关闭设计的某个区域,我的缓存一致性是否会受到影响?”Schirrmeister解释说,“便携式刺激有助于创建这种场景,然后可以在模拟器上执行以获取动态活动数据。

Breker Verification Systems首席执行官Adnan Hamid补充说:“便携式刺激使模拟开发和调试的场景模型能够在仿真中重复使用,以生成更大的测试。对于功耗分析,复杂的场景首先会作为模拟的小测试生成。然后,通过微调,可以为仿真生成更强大的测试。便携式激励可以协调软件驱动测试中发生的事情与测试平台中正在发生的事情,并在其可用时轻松覆盖到软件的各个实际部分。“

所有这些活动都可能意味着会有耗费大量磁盘空间的大文件,并需要花费时间进行写入和读取。 Wingard认为还有其他方法可以减小文件大小。“你不必在每个周期都观察每个节点,可以使用一些智能抽样技术来了解正在发生的事情。” 

模拟器供应商确实正在寻找多种方法来缩短运行时间和减小文件大小。“如果你试图捕捉所有的活动,那就是大量的数据。”Schirrmeister说,“相反,你可以有一种方法,允许用户从加权跳转功耗分析中磨练出来。然后你可以做一个完整的活动分析。所以你可以找到你想要的更多细节的窗口。“ 

还有其他方法可以尝试解决文件大小问题。“当你在一个完整的SoC的每个周期捕获每个网络时,你可能有2亿个网络,而基准可能会运行5到6亿个周期。这是一个巨大的文件,需要很长时间。”布鲁内特承认。“如果我只是围绕一个高峰进行详细分析,那么该文件并不是那么大。所以它真正关系到的是使用的模型。但有时候您确实需要完整的数据集,这就是为什么我们创建了一个绕过这个问题的串流式API。串流式(streaming)API使模拟器能够将数据直接发送到功耗分析工具,节省了与文件读写相关的时间。”

在一天结束时,还可以做出权衡,以准确地折衷速度和文件大小。 Cadence提供了三种不需要完整数据转储的选择。


图2.减少文件大小的一些可能性

许多技术不能提供实际的功耗数据,但这可能不是必需的。“有些人想知道芯片在一段时间内寻找功率峰值的过程中如何表现。”Ansys的Gupta说“这不一定是功耗的大小,但是到底是什么导致了高峰和低谷的发生。一旦你找到了峰的位置,那么你可以做更多的细粒度分析。如果你不想提出一个数字,你可能会惊讶你能在运行时获得多少,且不会放弃那些文件的准确性。该文件解决了被压抑的需求,并以多种方式应用。“ 

另一个准确性的折衷与模型抽象相关联。“直到两三年前,你都必须等到你有门级测试平台了,才能接近硅,”布鲁内特说。“这使得很难做出反应。如果您有完整的RTL并通过基准测试找到某些东西,那么您就有一些时间来做出反应。但有些客户希望在RTL完成之前开始分析,其中一些模块可能只存在于高度抽象层次。“

通过模拟器,可以集成虚拟组件等块。“一个例子可能是CPU,”布鲁奈特继续说道。“现在讨论的是你需要的准确度。它的运行速度要比RTL快得多,大概是10到50倍,但并不是没有代价的,因为你失去了准确性。如果您从更抽象的模型开始,那么您无法获得准确的数字。但大多数人不会试图获得一个数字。他们会停止在更高层次的分析,这实际上是结构级分析。“ 

如果期望获得准确的数字,你必须等到第一个布局(layout)完成后。“一旦你尝试布局,你可以获得更准确的功耗估计。”Wingard说,“模拟器上的RTL具有不同的网表,它没有布局数据和连线长度,时钟网络也是预设计结构。但是在布局之后,我可以计算出时钟树正在发生什么。进行架构选择可能为时已晚,但它可以提前警告您有关电源或散热的问题。


Gupta完整解释了这是如何工作的。“RTL没有时钟树或寄生效应,它不考虑毛刺,没有功耗,也没有时钟门控。这些事情由后端决定。模拟器为每个命名的RTL网络创建一个逻辑活动的跟踪(trace)。然后功耗分析工具模拟时钟树和所有其他物理效应。功耗分析工具必须完成所有的建模才能获得完整的活动模型。这包括处理可能来自UPF文件的所有功率意图信息。从UPF约束中,我们可以确定块何时开启和关闭,并通过监视这些控制信号的活动,我们可以为已关闭的逻辑计算零功率。我们必须对隔离单元和保持单元以及电平转换器进行建模,因为即使这些模块关闭,这些逻辑中的一部分仍会保持开启状态并消耗功率。所以模拟器不必担心物理设计方面的问题。“ 

布局后的数据也使得其他类型的分析成为可能。“在RTL中,我们不知道电源开关的大小,因此计算浪涌电流等事情很困难。”Gupta继续说道,“你不能在RTL上进行瞬态分析,但是你可以做循环平均分析。如果已经执行了后端运行,那么可以回注更准确的数字。当物理设计数据可用时,我们会读取这些数据,并使用它来增加RTL功率精度。物理设计数据是一个推动因素,因为您可以提取大量数据,不过使用这些数据很重要。”


结论

功耗分析变得比以往更重要,并且这些是仿真器不能很好胜任的模拟器更能完成此项任务,并且在准确性、数据收集和分析的速度、以及开始分析的起点之间提供多种折衷。目前存在的功耗分析解决方案可以从结构级解析、到RTL级再到后端门级,继而在不同开发阶段,提供不同精度级别的功耗数据估算。这是EDA的一个重要领域,而且一直在有很多积极的创新涌现。


原文摘自:

https://semiengineering.com/toward-real-world-power-analysis/


关注路科验证,打开IC名企的大门




点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 253

    粉丝
  • 25

    好友
  • 33

    获赞
  • 45

    评论
  • 访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-4 06:27 , Processed in 0.015920 second(s), 12 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部