中文 英语

5/3nm工艺的IP管理与开发

仅仅因为IP在过去有效,并不意味着它在新节点的衍生设计中也有效。

受欢迎程度

迁移到新的流程节点的复杂性日益增加,这使得创建、管理和重用IP变得更加困难。

随着密度的增加,有更多的规则、更多的数据需要管理,以及更多的潜在交互,无论是在平面实现中还是在先进的包装.随着设计转向5nm和3nm,以及加速器和不同连接协议等更多异构组件被添加到日益定制的芯片架构中,问题只会变得更糟。

Calibre DRC应用程序营销总监John Ferguson表示:“拥有多个版本的IP可以帮助解决这个问题,但它加剧了如何管理所有IP的挑战Mentor是西门子旗下的企业.“当我们在等式中加入弃权时,情况会变得更加复杂。每个版本的IP都需要与相应版本的弃权相关联。”

在复杂的设计中有数百个知识产权区块、固定的功率预算、更薄的介质以及更容易受到噪音和其他物理效应的影响,即使是衍生芯片,这也会迅速失控。将优化设计移动到新的流程节点意味着,当PDK和单元库由供应商开发时,设计功能基本保持不变。在许多情况下,唯一的解决方案是开发测试芯片并找出可能出现问题的地方。

“这是一种典型的共生关系,设计公司和供应商合作工作,”Amit Varde解释道ClioSoft.为了带来协同作用和缩短设计周期,PDK和/或库供应商经常提供一系列计划发行版。对于设计公司来说,在测试芯片上重新定位多个设计是很典型的,以最大限度地利用优化练习。”

在此基础上,设计团队在评估新流程节点的设计性能时,将厂商发布的pdk和库结合在一起进行评估。“管理来自供应商的pdk和/或库的发布,并将其用作只读引用,以确保设计团队不会意外修改供应商数据,这是必要的,”Varde说。“有效使用分支方法可以使设计团队使用库的不同变体来确定新流程节点中的最佳选项。最重要的是,设计管理系统可以准确地报告测试芯片上的哪些设计使用了哪些库的变体。”

但弗格森指出,这与几年前的设计不同。“以前,你可以自信地认为,如果一个IP被封锁刚果民主共和国-干净的独立,当放在一个更大的设计背景下,它仍然可以通过。如今,这要困难得多。在这方面,密度和天线规则总是有点棘手,但现在有了多模式要求。可以将一个块单独划分为两个单独的层,但如果放在其他设计组件旁边,它们可能会强制使用不适合特定块的着色序列。”

要求连通性的规则日益复杂,这又增加了这一过程的复杂性。“考虑一下那些依赖电压的间距规则,”他说。“从历史上看,设计师将IP块用于不同于最初意图的场景。现在,如果IP引脚都像最初预期的那样连接到电压域,应该没有问题。但如果它们连接到一些意想不到的电压,就可能会出现新的间距违规。”

对IP的不同思考
当今复杂设计的关键挑战之一是不断变化的变量数量——流程技术、算法、通信协议和围绕许多用例的规则等等。

在这种情况下,IP扮演着越来越重要的角色,如何在所有其他变化中保持IP当前的规则也是如此。

“问题应该是如何根据PDK的更新和一半的部署来管理IP开发节点这两个挑战中的任何一个都将影响IP开发、IP更新,并最终影响IP管理,”设计IP的营销总监Tom Wong说节奏他指出,节点到节点的转换正在加速,特别是当节点被添加到组合中时。“从节点到节点的转变越来越快。从40纳米到28纳米过去需要18个月到2年的周期。现在,我们看到从16nm到12nm的转变在一年多一点的时间内从16nm部署。从7nm迁移似乎更短,所以在解决IP管理问题之前,我们需要了解这一现象。”

在40nm时代,只有在工艺开发完成并稳定之后,才会从晶圆代工厂获得PDK香料模型可用。因此,由于SPICE模型与硅相匹配,PDK刷新次数较少。在IP管理方面的工作很少,一旦开发出来,IP就可以使用几年。不需要新的SPICE模型、设计规则或库计时。

在7nm及以下,这种情况发生了显著变化。晶圆代工厂希望从新工艺的0.1版本开始就与IP供应商合作。

Wong说:“他们愿意为库和I/ o发布早期版本的pdk、设计规则和早期计时模型,更不用说内存位元了。”“这些时间和SPICE模型充其量是令人向往的。它们是设计规格。一旦铸造厂开发了工艺,运行了一些测试芯片,在工艺学习中考虑因素并改进工艺,使其具有生产价值,他们就会发布更新的pdk、SPICE模型和库。该过程可能会变得更快或更慢,或者设计目标可能过于激进,从而影响硅产量。那怎么办呢?嗯,做一个更新的PDK和SPICE模型来反映实际情况,并告诉所有使用早期版本设计的上游客户做一个刷新。或者增加设计规则来约束设计,以获得更好的硅收率。这些都是有道理的观点,但我们不会无缘无故地称其为最前沿。”

然而,前沿不仅仅是关于流程节点。它还包括新技术,如汽车传感器和人工智能,这些类型的芯片的IP需要适应不断变化的安全关键电子产品规格和新的安全规则。

微软嵌入式视觉产品的产品营销经理戈登·库珀说:“有些设备是一直开着的,但即使在它们里面,也不是所有的东西都是一直开着的。Synopsys对此.“以卷积神经网络(CNN)为例。在超低功耗应用中,嵌入式视觉引擎可能没有打开。它可以在所有视觉都关闭的情况下运行深度神经网络加速。”


图1:视觉处理器的不同用途。来源:Synopsys对此

到目前为止,许多正在开发的IP都是如此软IP.理论上,这应该使其与流程节点无关。但是IP的用例可能会发生重大变化,这将更加强调IP的架构方式。

库珀说:“如果你看CNN,它只看到它前面的东西。“深度神经网络将支持美国有线电视新闻网批量大规模深度神经网络(LSDNNs)和循环神经网络(RNNs)。但随着时间的推移,rnn会保存大量数据,所以如果你将rnn和lsdnn分组在一起,你就可以利用批处理的优势。”

让事情变得更复杂的是,随着市场开始采用一种chiplet方法,以及更先进的包装风格,所有这些都必须在从应用程序到用例的各种标准中进行描述。

半节点和节点删除为这个问题增加了另一个维度。三星和台积电宣布了从12纳米到4纳米的每个数字的节点或节点。在这里,流程和设计规则没有太大变化,但是有一些轨道更少的新库可用。

Wong说:“如果你有一个用9T设计的数字设计,并且你认为可以通过使用新的7.5T库来获得面积和功率优势,那么你可以考虑使用新的7.5T库来刷新IP(或SoC)。”“然而,这是一项昂贵的工作,因为它相当于重新设计。从设计的角度来看,您必须权衡利弊,以确定这样的重新设计是否合理。IP相对于SoC的面积是多少?在重新设计IP时,你将节省多少面积和功率?这真的值得做吗?幸运的是,大多数高级协议的运行速度都非常快,你可能无法在7.5T库中获得所需的性能,而你可靠的9T设计就可以了,所以半节点流程改进不会对你的IP设计产生影响。”

类似地,SPICE性能的转变可能需要重新设计,也可能不需要重新设计。“如果原始设计有足够的设计余量,那么SPICE模型的变化可能根本不会影响设计。然后只需对IP进行简单的重新描述。另一方面,如果您的原始设计没有足够的裕度,那么SPICE计时的更改将使您的IP无法满足目标规格。那你就有麻烦了。您可以重新配置IP以适应性能/利润的下降,或者进行完全的重新设计。根据IP类型和性能频带的不同,有可能不使用它。最终,这些都是SoC设计人员在SoC设计之初需要理解和考虑的因素。你必须试着预测所有的情况并做出相应的计划。经验丰富的设计师无可替代。”

最佳实践
不过,Mentor的Ferguson强调,在实施层面有一些具体的最佳实践需要牢记。“对于多模式,一些设计师会对IP块进行预着色,以确保它们放置时能够正常工作。有些甚至为同一个IP设置多个着色选项,以尝试在位置中启用选项。当不可能时,最好的方法是在相邻块或IP之间提供足够的空间。用户还应该为跨越多个ip的电源和地面等选择一致的配色方案,以避免出现问题。”

另一个技巧是避免在设计过程的早期运行所有这些复杂的规则。弗格森说:“当设计很脏的时候,这些规则运行得很慢,会产生成千上万的错误。”“因为这些错误严重依赖于上下文,错误的位置不太可能指向问题的根本原因。相反,鼓励用户运行规则的子集,重点关注具有本地作用域的检查。这些系统运行速度快,规模大,产生的结果更有可能查明系统问题。一旦清理干净,困扰上下文特定规则的问题将大大减少,从而大大减少整个迭代周期时间。”

另一种常见的方法是在顶级路由、块设计和IP合并仍处于活动阶段时并行地进行更多检查。例如,可以大大减少块或IP的详细检查,只关注顶级路由结果。通过在进行全面检查之前确保各个部件是干净的,可以节省大量时间来解决通常难以定位和/或修复的常见设计问题。

放弃已知的违规行为同样重要,这可以包括放弃IP块中的已知错误,这些错误预计在以后会被修复,预计在上下文中会被修复,或者预计不会被修复,并且设计师将在带出到代工时放弃。

灰色的盒子
在某些情况下,第三方IP提供商不向设计人员提供完整的布局。这真的会让事情变得很有挑战性。在这种情况下,块是独立的干净的,但当放在上下文中时可能会有问题,如果几何图形对PV工具套件不可见,如何识别它?

这只会增加移动到新流程节点的复杂性。“有一大堆因素在起作用,”迪安德拉科,首席执行官IC卡管理.“如果你要在一个新的节点上做一个全新的设计,这是一回事。如果你打算把一个设计移植到一个新的节点上——缩小它,使它更好、更快、更强——那是另一回事。但这一切都与适当的设计管理(DM)实践有关。做DM的最佳实践是什么?如果我正确地进行DM,那么将设计移动到新节点就非常容易。设计重用实践必须同时考虑,这可能是在同一节点上重用,在不同节点上重用,在不同供应商的另一个节点上重用,或在同一节点上重用另一个芯片或在不同节点上重用。”

设计重用的最佳实践以及一般的设计管理有助于尽可能高效地迁移到新节点。

设计重用的第一步是确保IP被划分为良好的功能块。德拉科说:“这很明显,但你会惊讶于有多少人把它搞砸了。”“另外,对于设计师放置和组织文件的位置,有一个标准的方法也很重要。假设我有一个块IP,假设它是一个CPU或缓存。它会有HDL, SPI, LIB, leff - def, SPF, GDS,这些都是block的一部分。如果每个工程师都以不同的方式命名它们,将它们放在不同的目录中,这将使执行将其转移到下一个流程节点所需的脚本和工具变得更加困难,或者使一个工程师从另一个工程师那里接管它。”

另一个经常出现的问题是,一些团队将一些IP放在存储库中,而其他IP则没有。“他们可能会从第三方供应商那里获得一些外部IP,然后说,‘我们不会改变它,所以我们不需要进行版本跟踪。“但他们很快就知道,当转移到一个新的流程节点时,他们需要一个不同版本的模块,并且必须弄清楚如何将其纳入设计,因为他们没有版本,所以他们最终会一团糟。出于这个原因,我们的规则之一是确保你所有的IP,无论是内部的还是外部的,都被放入存储库并被跟踪,”他解释道。

虽然这可以归结为很多常识,而且在事后很明显,但当设计时间处于巨大的时间压力之下时,它就不那么明显了。“出于这个原因,”Drako说,“我们非常相信将IP存储库与错误跟踪系统绑定在一起,这样如果你有一个错误,你就知道这个错误绑定到哪个块的哪个版本。当你修复bug时,你知道哪个版本的代码块修复了这个bug,所以你也有依赖跟踪。”

在这里,可以使用程序集概念来捕获IP依赖项。“类似于物料清单(BOM),你有所有的IP块,然后你有一个BOM,上面写着这些都是要进入芯片的所有东西,这里是每个东西进入芯片的版本,这是非常重要的,比如,这个块的1.0版本,这个块的27.8版本,这个块的33B版本——这是我想要的东西。但对一些人来说,这种组装/BOM流程有点难以理解,也很难协调,因为它有点陌生。他们习惯于说,‘让我们加入一个链接。我们会指向这个。把它拉进去。“但如果你对此很好,你可以非常有条理,确切地知道你得到的是什么,然后当你拿出芯片时,该区块的下一个版本,你可能必须为下一个流程节点修改该区块,但你有与旧流程节点相关的所有历史,你正在使区块更好,然后在新的流程节点中,你引用新区块。但是仍然在旧块上工作的旧版本引用了旧版本,这是没有问题的。一切都很清楚。”他说。

另一个常见的问题是为衍生芯片克隆或复制IP。

德拉科说:“问题是我在a +上做了改动,而芯片a里没有人知道我做了改动。”“现在我的存储库中有一份副本和两份副本,我已经把所有东西都分叉了。这意味着如果设计师去改变芯片a,我不知道。如果有人改变了芯片A+,芯片A上的工程师不会知道。所有这些东西都搞砸了,唯一能解决的方法基本上就是工程师们在每个模块上互相交流,当有数百个工程师的时候,这是行不通的。你要做的是分支。在DM系统中,分支基本上只更改您更改的文件的副本,并且它是自动完成的。你说‘我要分支我设计一个创建设计+和它给你一个工作目录和所有你需要的文件,但版本控制系统(DM系统),基本上是跟踪所有的文件是一样的。然后,当你改变了一个文件,的1000万文件,跟踪只有这7个文件已经改变,这是旧的,这样你就可以看到之间的变化和A +。这让你能够:A)不复制所有数据;B)不要犯错误而不得不两次改正; and C) get your design on the new process node faster.”

结论
跟踪IP、可以重用的内容、它与以前的实现有什么不同,以及它与新进程技术和其他组件的配合情况,这些都变得越来越困难。而针对特定市场或用例定制的设计则更加困难,例如汽车或5G芯片,这些领域的终端技术仍在发展,规则也在不断变化,而人工智能芯片的算法几乎处于不断变化的状态。

在许多设计中,IP仍然可以节省大量时间,但管理IP变得更加困难和复杂,在电子表格上跟踪IP的日子已经一去不复返了。现在,它需要专门的工具、强大的方法,以及在现实应用中对IP的物理和电气特性的更深入的理解。



1评论

维克多阿根廷 说:

好文章!

留下回复


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

Baidu