中文 英语

在设计早期权衡功率和性能

复杂性,紧凑的时间表要求对整个设计流程有更深的理解。

受欢迎程度

优化消费电子产品的性能、功率和可靠性是一项工程壮举,涉及一系列权衡,这些权衡基于收集尽可能多的关于设计将在其中运行的用例的数据。

方法因市场、领域专业知识、既定方法和设计团队的观点而有很大差异。因此,一个团队可能会选择基于7nm CMOS的前沿设计,而另一个团队可能会选择22nm FD-SOI。

但是,由于芯片是针对特定市场和应用开发的,这种权衡正变得更加复杂,而且需要比过去更快地发生。而性能是至关重要的人工智能在汽车和医疗应用中,可靠性是一个同样关键的指标。随着不同的体系结构在不同的市场中获得吸引力,以及新需求的增加,这些优先级可以来回变化。

“通过使用优化的加速器硬件,今天已经可以看到这一点,”安德里亚斯Brüning,集成传感器电子组的成员弗劳恩霍夫IIS /东亚峰会.“从长远来看,健壮的系统将基于全新的硬件和软件架构。”

Brüning表示,在许多情况下,这将需要新的处理器架构,针对特定任务进行高度优化,并且更加节能。

哪个先来?
如何达到这一目标,需要结合从基层到基层的规划和从上到下的规划,关于哪一种方法是最好的,人们进行了很多讨论。

“从历史上看,有一种观念认为,我们可以自上而下地预测所有事情,然后从那里开始。节奏.“现实中发生的是事情在中间相遇。人们确实会在更高层次上进行预测,比如从建筑描述开始,使用线索,做非常高级的描述。然后你就到了你想要在混合中做一点软件的时候,所以你开始在那种情况下使用像Arm这样的快速模型,转向真正的软件,远离纯软件模型。然后进一步细化。因此,关注点的基本分离是,在某一时刻,你真的从高层次的、自上而下的描述脚本切换到自下而上的性能确认。”

和大多数人一样方法这个方向取决于设计团队想要走哪条路,它会对决定使用哪种类型的DRAM和哪种I/O协议产生很大的影响。但即使做出了这些选择,也没有快速的方法来确定哪种方法更好。

Schirrmeister说:“事实证明,协议已经变得如此复杂,以至于许多性能方面的问题只有在使用实际的实现模型时才能得到确认。”“这意味着,为了获得有意义的数据,你需要做一些元素模拟,并且尽可能地并行模拟。但是接下来你就需要做同样的分析了模拟,并查看更长的模拟和原型周期,在这些模拟和原型中,您可以运行更大的有效负载来正确地分析性能。这是一种自上而下的方法的组合,实际上是由系统人员完成的,有时是由软件人员完成的,软件人员总是说,‘为什么你们硬件人员这么奇怪?你为什么不能给我一个超快超准确的模型?这肯定是有可能的,对吧?“他们要求我们挑战重力,但这并不奏效。这就是我们引入模拟和原型等其他技术的原因。”

简而言之,挑战在于在越来越多有时相互冲突的因素的背景下做出这些决定。

Schirrmeister说:“如果你想看看像PCI Express这样的东西的性能,请记住,许多性能方面不再只是块。”“它们变得系统性。这个块实际上是如何相互作用的?我是否在正确的时间拥有正确的软件访问权限?缓存货币对我有什么影响?然后问题就变成了拥有正确的可用测试和能够编写正确的测试。这就是问对问题的意义。这也是便携式刺激来自动生成这些testbenches用于性能分析或集成。事实上,这真的是一个模糊的界限。还记得过去的美好时光吗?你做每件事都是自上而下的,优化你的表现,改进和实施。但是,分析、优化和随后的性能验证之间的界限正在模糊,因为您希望对所做的性能分析进行压力测试,以确定其实际上是正确的。我们需要的是一个可以将所有这些东西结合起来的基础设施。”


图1:使用各种技术验证系统。来源:节奏

这包括性能分析工具、编写测试的能力、调试设计中正确部分的能力,以及在静态引擎之下使用各种形式的执行引擎。最后,它包括模拟、仿真和原型。

例如,考虑内存控制器。众所周知,闪存制造在较小的工艺几何上变得更具挑战性,但没有单一的方法来解决这些挑战。

公司营销副总裁克里斯•琼斯表示:“缓解内存漏洞的最简单方法是使用复杂的纠错和数据压缩软件。Codasip.“但这些算法足够复杂,需要显著的处理性能,这对于ssd等低功耗和成本敏感的应用程序来说可能是个问题。从功率和经济的角度来看,仅仅增加一个高性能的嵌入式核心并不总是可行的。因此,许多工程团队现在都在寻找具有针对这些校正和压缩例程定制的指令集的定制处理器,以及广泛的专用接口,以最大限度地减少总线流量。”

权衡的问题
在发展中市场,比如边缘计算和将位于边缘的设备,这种权衡至多是模糊的。甚至还不知道该设备的部分或全部是否会一直开机,它将以何种电压运行,或者如何在设备中构建各种功率域。

“有一家公司正在开发一款蓝牙低能耗应用,该公司希望在连续读取模式下使用它。Paul Hill,产品营销总监Adesto技术.所以他们一直在读取设备。他们获取软件,将其放入缓存并执行代码。因此,它们在读取模式下存在功耗问题。但偶尔,当设备处于休眠状态时,他们想关闭存储设备,并希望它进入超低功耗模式。问题是超低功耗模式的唤醒时间较长,所以当它再次激活时,在获得下一条读取指令之前会有较长的延迟。”

与固态硬盘相比,固态硬盘的终端市场已经很明确。权衡的数量可能比发展中市场还要多,但目标和方法更明确。

“比如我在设备上计算,非常简单的任务,通常是读和写,”仿真公司的高级营销总监让-玛丽·布鲁内说Mentor是西门子旗下的企业.“我关注的是IOPS(每秒输入/输出操作),这是我稳定设备并在其上执行功能的速度。这仍然是存储设备以及物联网设备的主要功能。但不同的是,它们必须进行大量的计算。这很重要,因为当你计划性能时,当你计划质量时,他们必须很早就测量一些关键的性能指标,在硅完成之前。如果你看看SSD发展的主要需求,也就是CSD,他们必须在消耗的基础上确定地测量延迟和性能指标。这实际上是他们的终端客户衡量设备是否正常运行的方式。”

由于SSD竞争激烈,供应商必须在开发周期的早期提供性能指标。Brunet说:“如果你很早就提供了指标,你就需要有一个环境来进行这些绩效指标。”“所以,你需要提供这个系统,他们需要提供的一件非常重要的事情是,从确定性上讲,无论它要计算或评估前硅技术,都必须与后硅技术非常相似。对性能有很多要求。对质量有很多要求。设备正在进入数据中心在数据中心或云计算的边缘,它们高度依赖于性能,因为它们正在计算大量的数据。性能要求非常重要。他们需要非常好地展示这一点,这也是如今大多数公司所做的。”

这里的质量也很重要,因为SSD/CSD控制器位于来回传递信息的中心,因此不存在可靠性问题。为了提高可靠性,遵循产品生命周期并在任何时间点将额外的可靠性插入到流程中是越来越普遍的做法。所以在7nm及以下,这可能包括更大的缓冲,例如,因为有太多的逻辑可用。

动力、性能、可靠性
考虑到动力、性能和可靠性之间的相互联系,动力的作用也必须得到解决。“可靠性是通过测量平均故障间隔时间来确定的——这就是你开始的方式,”在验证组的电力产品AE Shailander Sachdeva说Synopsys对此.”“那么,你呢功能验证设备够吗?你验证了所有的向量,所有的情境了吗?你错过什么了吗?随着时间的推移,大多数设计团队都发现了这一点,但多年来,重点主要集中在性能上——提高时钟速度,使设计达到兆赫到千兆赫。现在,焦点又回到了塞满越来越多的晶体管,而功率通常是事后才想到的。在设计流程的后期,通常会有人通过在门级的终止级工具运行矢量或场景来检查设计是否满足电源预算,但不幸的是,到那时已经很晚了。调整可以在这里和那里,但不是大的变化,因为它太迟了。此外,还有市场压力,所以他们必须提供现有的产品。”

最重要的是,市场上I/O选项的数量和各种协议意味着,除非设备非常有针对性,否则它们通常必须支持所有选项的倍数。这给整个供应链带来了负担,从系统公司到知识产权供应商,这可能会增加另一组权衡。

“我们必须支持的指标的数量,我们必须支持的协议的数量,肯定是在上升,”Hemant Dhulla说,IP核心事业部总经理Rambus.“这增加了复杂性。这也增加了风险。根据定义,任何时候复杂性的增加都会增加风险,因此验证变得更加重要。这就是为什么已经建立的一级系统公司或芯片公司很难与初创公司合作。初创公司可能拥有新技术和更独特的做事方式,但如果你没有在几年里建立起自己的数据,就很难验证它。”

因此,设计团队又一次陷入了极端的境地,这也延续到了设计流程中的测量。Synopsys的Sachdeva说:“一个极端是在设计周期的最后阶段进行衡量。“但他们在最开始做的第一件事通常是使用Excel电子表格进行非常粗略的近似。“多少个晶体管?”技术节点是什么?交通流量是多少?大致来说,这就是我的电力预算。让我们来看看我们是否满足这个要求。’这是一种非常模糊的做法。”

Sachdeva说,这就像在设计周期结束时,其中一个设计团队可能会要求得到一个幂数,以确定它是否符合预算。“如果不能,他们将不得不降低频率来降低性能,我们注意到一些公司确实降低了性能。他们经常这样做,因为目前的技术超出了电力预算,所以他们降低频率,因为频率、电压等会增加功率,所以他们降低频率并交付产品。”

Sachdeva通常建议,与其走极端,不如做一些中间的事情。“首先,从一个适当的估计开始,而不是一个粗略的数字。使用架构功率探索和/或RTL功率探索等工具来获得更好的想法。这将给你一个更现实的数字,你是否会满足预算。这可能是一个非常近似的数字,但它仍然比电子表格或粗略的估计要好得多。它让我们更好地知道从哪里开始。”

另一个极端通常是在一个场景或一个特定的情况下测量功率,例如高流量或低流量场景。“虽然这并不能涵盖设计所面临的所有情况,但为了获得更现实的想法,你需要在你所抛出的向量方面做得更好能力评估工具,或者说是芯片。这就是基于仿真的功率分析出现的地方,它可以在RTL和门级上完成。这更像是一个现实的场景。而不是在测试条件下运行,你实际上是在运行,例如,一辆汽车。这次你不是在测试赛道上测试引擎的速度和性能,而是在真正的道路上。你把它拿出来,看看它是否按预期的方式运行。当它运行时,它可以告诉你行驶里程。”

他强调,这很重要,因为在这些情况下很可能会遇到更多的bug。“即使这是在门级执行的,这是非常准确的,它也足以创建一个趋势分析。这足以识别装甲上的裂缝——那些消耗太多能量并影响性能的设计部件。”

有关的故事
安全、保障和PPA权衡
关键设计指标的数量正在扩大,但行业仍在努力应对它们的影响。
考虑能源
在集成电路设计流程中,能量与功率同样重要。
降低软件功耗
软件在整体功耗中扮演着重要的角色,但到目前为止,在这方面几乎没有进展。
目标:减少50%的内存容量
有可能将内存的功耗降低50%吗?是的,但是它需要在内存和体系结构级别上进行工作。
在同一节点使用更少的电力
当更小的节点不再是一个选择时,如何获得更好的电源性能?有几种技术是可行的。



留下回复


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

Baidu