中文 英语

抽象:必要但邪恶

复杂性的增加打破了开发先进芯片的关键途径之一。

受欢迎程度

抽象允许设计的各个方面在流中更早地以可执行形式进行描述。但是一些抽象正在被打破,越来越多的低层信息必须被引入上游,以便提供足够接近现实的估计,以便做出明智的决策。

抽象在设计中的价值怎么强调都不为过。高层次的抽象支持分析,包括功能验证、性能评估和能力分析,并且支持软件的早期开发和集成。最新的抽象来自于使用事务级建模和语言,如SystemC。执行时间通常比RTL模拟快几个数量级,而且比模拟快得多,也便宜得多。该模型缺乏的细节在很大程度上并不重要。

从长远来看,如果没有抽象概念,电子行业将仍然在推动多边形,设计尺寸将仅限于几千个晶体管。它让数字设计得以跟进摩尔定律。如果没有它,数字设计将大致保持与模拟设计相同的水平,而模拟设计仍然很小,需要专家来设计。

这种崩溃开始与物理合成一起蔓延,而且从那时起就一直在增长。如今,性能和能力受到架构权衡的极大影响,如果没有实现细节,就无法准确评估架构权衡,通常一直到物理设计选择。

该公司工程总监布赖恩•鲍耶(Bryan Bowyer)表示,油气行业总是需要对数据进行反向注解Calypto。“Liberty文件中的细胞本质上是基于低水平测量和香料模拟的数据的反向注释。糟糕的是,当反向注释没有普遍化时,每个设计都需要在流中稍后提供关于自身的信息。即使在我们概括了今天使用的反向注释流之后,未来仍需要新的数据类型。我预计这个问题会一直存在下去。”

Amit Nanda,全球营销副总裁Silvaco.,同意道:“抽象总是必须‘校准’到实际表现。对抽象的打破不是一种新的或暂时的现象。只是在我们达到10nm以下工艺节点的过程中,将会出现更多不可忽视的问题。”

纳达解释说,必须选择性地使用精度,并且它具有最大的影响是校准更为关键的地方。“诀窍一直是为了牺牲功能检查的准确性,并获得非常准确的,在它最重要的地方,例如功率估计。”

不过,目前还没有人对抽象概念一笔勾销。

该公司产品管理总监克里希纳•巴拉钱德兰(Krishna Balachandran)表示:“在研究软件运行的真实场景时,我们别无选择。节奏。“但这并不提供了在实现中发生的事情的准确图片,这也很重要。考虑到前面的一些影响很重要,所以它不能是一个/或,你必须做两者。抽象级别是必要的,以便能够运行软件并执行系统,并且您必须尽可能地提出尽可能多的准确性。“

这些模型的应用也必须得到很好的定义。“我们已经定义了一个使用tlm2的松散时间模型的抽象级别,这将支持软件开发,”Tom DeSchutter指出,他是公司产品营销的高级经理Synopsys对此。“目前,业内大多数公司都在为这些公司提供模型,客户也越来越有信心为自己创造模型知识产权。创造这些虚拟原型对软件开发很有效。”

但这些模型可能不是其他任务的正确性。“对于架构勘探,权力和性能分析等任务,您开始需要更多信息,”仍然是Deschutter。“假设您可以重复使用相同的型号,是不可能的。有一个专用抽象级别和特定任务的信息集。市场推动的时间导致每个人向左转移,这就是导致抽象级别破坏的混淆。人们正在尝试做新事物,并看到他们不能使用与过去相同的型号和相同的信息。“

Balachandran表示同意,说:能力评估是同时需要抽象和细节的完美例子。您必须运行真实的系统场景,您需要有关时钟树的信息,以及在放置和路由期间实现将如何调整缓冲区的大小。所有这些信息都需要预先显示,以便估算功率。如果缺失了其中一个,你就大错特错了。”

那么权力模型是如何产生的呢?“权力,就像很多东西非母语英语课程技术方面,由于缺乏模型,从未取得进展。超音速。“并不是权力建模很困难。那就是权力的抽象不是唾手可得的。没有一种直接的方法可以将数据从先前的芯片中提取到抽象的功率模型中用于下一个设计。再加上强大的功能并不是一流的设计考虑因素,这就意味着那些尝试着开发方法论和工具的人往往会失败。”

问题仍然存在实际需要的准确性。“您无法使用事务级模型进行绝对功率优化,”Deschutter说。“但客户已经使用这些模型成功完成了相对功率优化。您必须使用正确的上下文并在流程中欣赏电源/性能权衡,其中包含定义的不准确级别,并且该趋势似乎非常准确。如果交易级别的功率降低,那么您可以期望最终芯片相对相对的降低。“

该行业在需要虚拟原型方面相当统一。“你如何早早地对建筑师提供反馈,以至于他们可以改变设计?”问Wayard。“您如何将数据送入架构设计过程?这是设计是最流体的,固定的最少的方面。建筑师改善的能力是最高的。“

拥有模型只是必要方法的一部分。必须使用这些模型,而这需要另一种模型。

一个新的流动出现了
在考虑软件验证、性能分析和功率优化时,经常讨论的一种技术是用例或场景。的Accellera便携式刺激工作组一直致力于将这些描述的方式标准化,但这只是定义方法的第一步。

考虑虚拟原型。DeSchutter说:“这确实是一种早期发现问题的方法,但它不能提供一个自动反馈循环,帮助设计师完成设计任务。”“它提供了一个进行仿真、分析和优化的结构。最后,由架构师来找到应该关注的重要场景,以找到最坏的情况。”

但性能优化只是一个任务。“性能通常是从一系列最坏情况的情况下驱动,而不是典型的用例”,指向Wayard。“电力是关于一组用例的平均值。具有性能,我不必在所有模式中优化,只能在顶级性能模式下。“

这就是该方法的漏洞开始显现的地方。Balachandran说:“如果你不了解情况,你就不会发现最坏的情况。”“这没有什么神奇的。没有工具可以帮助您找到最大功率消耗的场景。这必须来自用户输入。设计芯片或系统的人必须预见到这一点。这取决于系统设计师。”

即使找到了最坏的情况,这也可能不是理想的输入集。DeSchutter解释说:“这需要一些经验,你需要一个了解终端产品将运行何种流量配置文件和何种场景的架构师。”“你必须在软件的环境中看待它,但是很难找到关键的用例。关键部分是将软件抽象化,因为软件使瓶颈难以隔离。作为一名架构师,您需要关注在最坏情况下聚集在一起的特定流量模式。通过关注最坏的情况,捕获这些场景并单独控制它们,您可以创建非理想的环境,并研究它如何影响权力和性能。虽然你可能无法为此进行优化,但你可以确保设计能够处理这一问题。”

因此,一个完整的方法需要对硬件模型、输入场景和软件进行正确的抽象。

在块级验证中,业界开发并促进了伪随机测试模式生成,因为人们觉得要想出所有正确的测试用例太困难了。自动创建测试可以填补漏洞,并在磁带退出前发现更多的bug。然而,当涉及到性能和能力时,系统设计师仍然处于困境中。没有任何东西可以帮助他们找到最坏情况下的能量,或者某个任务将消耗的能量,或者设计的任何部分将达到的最高温度。

改变会让事情变得更糟
尽管这个行业喜欢关注方法的新方面,但其他变化正在加剧这个问题。

鲍耶说:“设计师非常擅长重复他们在最后一个芯片上所做的事情,但可能直到出现问题时才会意识到技术变革的影响。”“我听说过一些finFET设计比预期的要热,因为设计师没有考虑到动态功耗的变化。但finFET的功耗是可以预测的,这些类型的问题至少与工程文化和工具流程有关。”

部分挑战在于,这些新技术几乎没有硅的历史。Nanda说:“基于以前硅收缩平面器件历史的启发式技术有助于减轻对迁移到新节点的恐惧。”“一种全新的3D设备结构,带有更多不确定的MEOL寄生,而且没有历史数据,这让问题变得更可怕。更大规模的设备,例如静态存储器,已经将位细胞的产量目标推动到子16nm节点的七个ΣIigma水平。所以问题变得更糟。当设计师不知道悬崖边缘在哪里时,很难推动设计性能。如果你有一个蒙着眼睛,并且感觉到你向悬崖边缘向前的方式,你将采取非常精心校准的步骤。“

因此,尽管我们试图优化架构,但电力仍在整个流程中浪费。巴拉钱德兰说:“设计师通常会设计护腕,这就是做事的方式。”“没有人有时间去调整RTL.在很大程度上。产品周期正在缩短,这不是一个选择。还有很多IP重用,所以他们使用的IP可能不是功率的最佳优化。当在设计中加入一个新区块时,它就可以变得更节能,所以这传递的信息是,我们还有希望。”

桌上还剩下多少钱?鲍耶估计:“大多数设计比实际需要多使用了约5%的面积和10%的电力。”“这一成本接近20%的面积和功率的IP是设计在一个旧的过程,并重复使用在finFET技术。许多设计师甚至期望随着finfet的增加而增加,但却没有时间回去重新优化他们的RTL。”



1评论

戴森威尔克斯 说:

有趣的项目Brian。我想知道我们对RTL抽象的做法是否可以告知如何处理更高的抽象。RTL假设数据在时钟边缘的好时机到达触发器。然后,我们通过进行时序分析等确保这一假设是有没有办法推动假设前进的,例如。假设块X具有给定的功耗配置文件:因此,下游,我们将其设置为必须满足的要求(或者我们必须返回并重新执行电源预算)。

留下一个回复


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