榨干芯片性能的 N 种方法

时间:2018-02-11 15:50来源:半导体行业观察

摘要:芯片性能优化真的是零和博弈吗?在设计过程中,我们应该赌注押在哪里才能获得性能的最优解决方案?

芯片性能优化真的是零和博弈吗?在设计过程中,我们应该赌注押在哪里才能获得性能的最优解决方案?

 

所谓零和博弈又称零和游戏(Zero-sum game),与非零和博弈相对,是博弈论的一个概念,属非合作博弈,指参与博弈的各方,在严格竞争下,一方的收益必然意味着另一方的损失,博弈各方的收益和损失相加总和永远为“零”。双方不存在合作的可能。

 

从芯片中榨出最后一点性能听起来是个不错的主意,但这会增加风险和成本,也延长了开发时间,降低了产量,甚至可能限制芯片的运行环境。

然而,鉴于开发过程的每一步所附加的裕度,显然我们可以做出很多改进。 Plunify公司业务发展副总裁Kirvy Teo表示:“只要时间足够,每个设计都可以进行优化,但时间是奢侈品。折衷是一种零和游戏,克服这种困难是一项挑战。”

 

在实践中,看似简单的理论远没有那么简单。

 

Open-Silicon公司芯片工程总监Sureshbabu Kosuru表示:“设计团队应该始终以实际性能指标为目标,并在设计的早期阶段对其进行定义。为了满足紧张的日程安排而投机取巧,会增加芯片日后遇到性能问题的风险。设计团队应该通过遵守代工厂和IP供应商的建议来开发和实践最好的方法,把裕度建立到芯片中,并在未来的项目进度中计入这些开销。”

这里的关键是,期望的性能水平必须是开发过程的一部分。

 

西门子公司设计验证技术部门营销总监Neil Hand表示:“在执行层面上推进性能极限是非常有限的,而且风险很高。此外,如果不考虑性能老化,那么就会像神话中的伊卡洛斯一样,飞得离太阳太近了。”

 

 

1: 产品折衷 (来源:哥本哈根商学院)

 

部分问题在于,更新的技术可能存在一些问题,这些问题没有被设计人员、工艺技术的开发人员,以及EDA行业的设计者完全理解并表述。Kosuru说:“设计团队应该意识到最新的技术变化及其不良影响。他们可能需要额外的分析或改进方法来应对这些变化。代工厂应定期更新客户关于工艺成熟度和裕度的信息,以便挑战设计裕度不会因为延长工艺周期而损害设计。”

 

裕度有很多来源。ANSYS半导体事业部首席技术专家Joao Geada列出了一个运营清单:

 

用于补偿设计角度之外出现的效应的裕度。例如,锁相环抖动、封装与电路板的RLC谐振。

允许制造工艺与工艺模型之间的差异的裕度。 “设计需要时间来创建,代工工艺也在不断发展。在设计周期后期采用最新的代工模型通常过于昂贵,所以要为模型与将要生产的产品之间的差异留出裕度空间。从基本上讲,你可以通过损失一些PPA来获得更可预测的制造工艺和产量。 ”

在传统的电源/地(pg)网格设计中进行的补充。 “传统方法假定pg需要均匀分布,而不考虑功率需求取决于设计的局部性质。例如,有些区域比其他区域更耗电。但是传统流程有pg和时序解耦, 因此两者都不能利用或影响另一个。 在传统流程中,整个pg网格被设计成特定的最大。

避免先前“遗漏的缺陷”的裕度。“大多数大公司都制造了糟糕的硅片,并对其进行了调试。在某些情况下,遗漏的缺陷不能用现有的解决方案来解决,因此,为了避免未来的缺陷,需要把悲观估计添加到流程中。随着工具变得越来越好,其中一些裕度变成了历史性的补充,从而不再合理。

用来解决效应之间的相互作用的补充。 “大多数现有的解决方案都是针对单个物理问题,而不是处理效应之间的相互作用。”

 

Geada还列举了一些经常不被考虑的相互作用的例子,包括:

依赖于波形效应的约束。 “静态时序分析(STA)无法模拟这些效应。现有的标准单元设计描述了约束条件,却没有任何关于设计效应的知识。(在低电压下,这种效应可以达到+-50%。)

变化幅度。这会影响摆动和延迟,而摆动幅度会影响延迟和延迟幅度,但是STA无法模拟它们之间的相互关系。

IR下降和时序的相互作用。它们相互依赖,但传统流程将它们模拟为非相关效应。

温度变化。在大型SoC中,温度变化不是恒定的数值,但在传统的基于角点特征的解决方案中,它就是这样模拟的。

 

重要的第一步是了解设计要适用在什么样的市场和环境中。Open-Silicon公司的Kosuru表示:“对于STA工程师来说,了解芯片的功能和设计需要适用的环境条件非常重要。例如,如果设计不是为了在0°C以下工作,那么让设计接近标准的-40°C温度就毫无意义。在较低的技术节点(28nm及以下)中,这意味着由于逆温现象,我们可以将设计性能提高至少7%至10%。这里的折衷是,IP供应商,包括标准单元的IP供应商,愿意为我们所希望的温度提供特征库,而他们仅仅是为了大量投资而已。这通常会对设计收敛造成不利影响。”


关注点分离

EDA流程中的许多工具都是随着遇到特定问题和发现解决方案而演变的。这导致工具常常用来单独处理每个问题。设计团队也是如此。
 

ANSYS公司CPS解决方案高级产品经理Youngsoo Lee表示:“按照传统的基于各自独立的设计方法,芯片、封装、电路板和系统设计人员使用预先确定的裕度来设计其特定组件。这些设计是由单独的团队,甚至单独的公司完成的,他们之间的沟通很少。另外,现有的工具限制了每个设计团队每次只能分析和解决单一物理量(时间、功率、温度等),而不会看到多个物理量之间的相互作用。单独设计和分析每个组件显然是不够的,一次只考虑单一的物理量同样也不可取。”

 

许多工具也简化了这个过程,或者做出了可能的悲观假设。ANSYS半导体事业部产品营销经理Annapoorna Krishnaswamy表示:“传统的统一过度设计电网的方法,在较老的工艺技术中运行良好,但由于严格的布线限制,在先进的技术节点上无法使用。这可能会导致未来的时序收敛问题。对于高级finFET技术工艺,电网节点数量很大,任何节点数量的减少都会导致精度损失。由于设计裕度非常小,因此,功率验收解决方案必须非常精确,否则可能导致产品失败。对整个电网进行分析是非常重要的,不能采用‘分而治之’的方法来分割设计,否则会导致不准确。这种分析完全忽略了电网覆盖的完整芯片环境。”

 
改变模型

随着时间的推移,行业使用的模型已经改变。考虑到在20世纪80年代,所有重大的延迟都与门有关,导线是不受约束的。如今,情况几乎完全相反。于是导线被模拟为RC模型,今天我们发现这可能还不够好。拥有旧范式最畅销工具的公司不愿改变,用户同样不愿改变,直到有错误出现。
 

互连的重要性不可忽视。Helic公司营销副总裁Magdy Abadir指出:“嵌入所有缓冲中继器的全局互连往往消耗芯片总功率的60%,主要的互连网络,如电源和时钟分配网络和宽总线,是故障机制的来源,包括抖动、电迁移、功率分配的下降和耦合噪声。因此,尖端芯片的性能和风险规避都是互连建模和设计的非常强大的功能。”

 

在芯片设计方面,电感是个丑小鸭。开罗美国大学纳米电子学和器件中心主任Yehea Ismail解释说:“从历史上看,互连已经被广泛地建模为RC网络。磁效应(电感和电感耦合)在很大程度上被忽略和抑制,因此可以使用现有的工具。忽略磁效应主要是一种简化思考和追赶上市时间的决定,通常是由极端的裕度和抑制感抗效应的设计方法来进行验证。然而,这种设计方法正变得越来越难以验证,甚至难以维持,因为频率的提高几乎肯定会很快发生,SoC也越来越复杂。”

 

一个逻辑问题是,在功率和延迟方面,忽视感抗效应的成本有多大?Abadir说:“我们已经看到设计需要付出巨大的功率和性能损失,以适应现有的基于RC的工具。例如,在总线上使用差分开关,并把携带相反的开关信号的线路布线在彼此相邻的位置。这种方法有效地减少了电感耦合的范围和幅度。因为相反的电流彼此接近会产生相反的磁场,从而相互抵消。然而,相对于单线开关或两根有源耦合导线的平均开关的情况,彼此相邻的反向开关导线消耗的功率是它们之间的耦合电容消耗功率的4倍。此外,延迟是单线开关的两倍。”

 

Ismail说得很直白。“电感实际上是一种有用的元件,电阻对性能是有害的。电感是一种本身不消耗功率的电抗元件,而电阻是一种消耗功率的有源元件。两种元件总是在互连网络中串联出现,抑制电感总是会因为电阻效应的提升而导致更多的损耗。”


新方法

放宽其他约束可以克服许多性能极限。Movellus公司首席执行官Muhammad Faisal表示:“我们正在讨论给定功率的抖动,这永远是一种折衷。如果你想要更小的抖动,那就消耗更多的能量。客户希望优化他们的SoC,并愿意放弃一点抖动,如果这样能让他们在其他方面不受约束,并带来潜在的功率优化的话。在SoC中,你可能会在角落里有一个锁相环,然后你在芯片上传输高频信号,结果是,你在时钟树中积累了大量的抖动。所有与开关有关的噪声都被添加到时钟中。如果你可以合成锁相环,你就可以把它们放在使用时钟的模块旁边,这样就可以消除抖动了。”

 

你知道的越多,设计就会表现得越好。 Moortec公司首席执行官Stephen Crosher表示:“一种推动性能极限的方法是,通过对影响器件性能的动态变量进行嵌入式监控来最小化风险,例如PVT(工艺、电压、温度)。IC和SoC设计人员拥有了监控影响芯片性能的参数,以及监控在温度和电压应力下的电路失效的能力,便可以构建更加高效、高性能和高性价比的产品。”

 

Crosher解释了提高性能的方法。“嵌入式监控为片内控制器提供更新,这有助于记录和解释结果。许多应用都可以使用这种两级体系结构,从产品测试中的片内参数的一次性分析,到处理器核心和内存的实时主动管理,从而避免局部老化效应,并在给定的电压和温度点上最优化性能。”

 

工具也可以改变。Plunify公司的Teo表示:“一种解决办法就是机器学习。使用机器学习实际上类似于使用蛮力来处理大量数据。然而,机器学习的关键区别在于,你可以更早地训练模型,以提高它的准确性并进行保存,并在需要的时候使用它。坐标轴开始从‘运行时间vs QoR’演化为‘数据vs QoR’。能够积累和分析的数据越多,预测模型就越好。可以预测问题或预测性能的工具可以在糟糕的设计选择上节省宝贵的迭代。最终,这将是优秀设计和平庸设计之间的区别。”

 

新的电路技术也可以改变一些长期以来的看法。Faisal表示:“数字设计师总是用固定频率和电压设计他们的模块,因为频率来自于锁相环的设计,而模拟被认为是黑魔法。你必须假定这个频率,然后用这个频率进行时序收敛。当你可以使用数字方法来实现数字锁相环时,你便可以开始对约束数字模块的因素(即频率和裕度)进行协同优化,并且可以对它们一起进行协同优化。这就开辟了额外的设计空间,从而实现更多的优化。”

 

有时候最艰难的教训是我们不愿意听到的。西门子公司的Hand表示:“作为一个行业,我们一直被推动接近裕度——这是人之常情。但是,这并不是要取得巨大收益的地方。正如他们所言,‘在裕度边缘徘徊。’真正的性能是在系统级别设计和验证的。”

 

Hand表示:“系统级的性能分析,以及一个跨越模拟、仿真和原型的统一验证和验证平台,可以在设计过程中尽早考虑性能折衷,并随着设计实现的不断完善在软硬件方面不断进行完善。”

 

他们都有一个共同点:你的知识越多,做出的决定就越好。当信息被故意忽略时,其含义必须是清楚的。否则,你最好增加足够的裕度来弥补。


本文由半导体行业观察翻译自 semiengineering

原文链接:https://semiengineering.com/pushing-performance-limits/

 

我要投稿
帖子推荐更多

Copyright 2008-2018 21dianyuan.com All Rights Reserved 备案许可证号为:津ICP备10002348