不论芯片的规模大小,自动芯片创建流程使得从RTL到最后出片的设计时间缩短到2天和2个小时
简介
下载白皮书(英文版)
当前的数字集成电路(IC)设计可谓规模极其庞大、复杂度极高、成本高昂,而且开发极其耗费时间。举例来讲,对于一个在90纳米技术节点环境中运行频率为500兆赫的上亿只门极电路设计而言,其硅片面积将达到18毫米×18毫米,功耗范围将在50瓦到100瓦之间,而且需要总数量超过2000的输入/输出电路(I/Os)。同时,这种规模的芯片设计还需要一千万行左右的寄存器传输级(RTL)编码,而且需要投入的开发工程师将高达八十多名。除了寄存器传输级(RTL逻辑)设计工程师之外,开发团队还需要配备跨广泛技术领域的专家,涉及的领域包括RTL和具有物理实现意识的综合、面向测试的设计(DFT)、时钟树综合、功率网格设计、布局和布线、信号完整性分析、功率分析以及设计的收敛。创造出这样一种器件最终可能需要高达八千万美元的投入。
创建这种类型的器件包括两个主要的层面。流程的逻辑设计部分涉及到获取所需的功能,并生成设计的RTL表述;而流程的物理设计部分则包括取得这一RTL表述、生成一个物理实施、执行签核级验证,并最终完成设计的出片。
利用传统的设计流程,执行整个流程中物理设计部分的单次过程可能就是相当耗时的;仅生成一个布局规划图及其相应的物理实施就能轻易地耗费掉个把月的时间。其中一个重要的问题就是对设计功能的变更-包括后期阶段的工程变更申请单(ECOs)-直至出片之前就一直在发生。这就意味着经常需要重新延长物理实施中的绝大部分任务,它们都耗时数周,而且必须重新延长整个设计并不是什么稀罕的事,事实上是经常发生的,包括从头开始创建一个全新的布局规划图。
事实上,问题的本质在于传统的电子设计自动化(DEA)工具能够提供的仅仅是“设计辅助”(如图1a所示)。通过比较我们不难发现,Talus产品籍由如图1b中展示的自动芯片创建(Automated Chip Creation)形式实现了真正的“设计自动化”。

图1:传统的物理实施流程与Talus流程比较
为了更详尽地描述问题,表述如下,Talus自动芯片创建方法以设计的RTL为输入,然后执行下列任务:
- 自动化的RTL综合、DFT(面向测试的设计)综合以及物理综合。
- 自动化的逻辑到物理分区映射、功能块构图形成以及平面布局规划。
- 自动化的时钟树综合。
- 自动化的功率网格设计。
- 由信号完整性(SI)推动的自动化布线。
利用并行的、分布式的协同处理技术,实现跨多处理器的自动化分区物理实施任务意味着执行一次完整的从RTL到GDSII的流程(包括综合、布局规划、时钟树综合、功率网格设计以及详细的布线)只需要两天的时间,而无需考虑设计的规模大小。同时紧接着最后的流程,执行出片之前的自动化签核设计只需要两个小时。
这一创新的革命性技术衍生了很多分支,包括-但不仅限于-下列各项:
- 设计流程的物理实施部分可在流程的早期就着手开始。
- 全部物理实施的快速周转时间实现了设计的可预见性以及对可实现性能的更早反馈。
- 全部物理实施的快速周转时间使得系统设计师能够在物理实施层面针对功能成本比执行“假设分析式”的探讨;比如,减少金属层的数量或者评估使用各种不同技术节点的可行性等。
- 全部物理实施的快速周转时间同时也允许系统和设计工程师能够充分利用现代化的电子系统标准(ESL)设计工具,该设计工具能够用来研究各种可替换的设计结构。
- 为满足RTL功能变更的物理实施所需要的周转时间有效地缩短了50%到90%,这一事实意味着在后期阶段进行设计需求的变更是可行的,而且也不会导致项目进度的延迟。
- 流程中物理实施部分所需要的工程资源数量能够缩减到一个项目仅需要分配一到两名工程师。这意味着整体设计成本能够有效地减少30%到50%,同时额外的物理设计工程资源能够被分配到其它项目中。
- 与传统的流程相比,Talus生成的实施在时序、面积、功耗以及信号完整性等方面提供了更好的性能(例如,与利用传统流程生成的物理实施相比,一个Talus生成的参考设计所占用的硅片面积将缩小17%)。这意味着制造成本将大幅度减少。
- 设计的面市时间得以极大地缩短。
尽管Talus是革命性的创新,然而在使用时它非常容易采纳,原因是该系统以微捷码(Magma)经行业验证的著名架构和技术为基础构建而成。而且,Talus可用于实现完整的从RTL到出片的解决方案(推荐使用),或者从门极网表到出片的解决方案,抑或是作为一种混合解决方案的一部分,仅仅简单地提供自动化的布局规划(稍后,本文将更为详细地论述所有这些选择)。
传统物理实施流程存在的问题
勿庸置疑,传统的实施流程中存在着很多问题。第一个问题,同时也是首要的问题就是创建初始的实施以及实施的后续修改和细化所耗费的时间。如图2所示,从设计开始一直到出片结束,RTL以及设计的时序约束等一直都在发生变化的事实更加加剧了上述问题-包括对设计功能需求和后期阶段工程变更申请单(ECOs)的修正。
图2:传统的设计流程(以一个含一千万只门极电路的设计为例)
在传统的流程中,当RTL完成到90%时,物理设计工程师才能够开始投入到工作流程中。原因是他们深知,即便他们能够更早的投入进去,他们所作的任何工作到最后几乎都会被全部推倒重来。一旦物理设计工程师开始投入工作,生成最初的布局图,并实现相应的物理实施往往需要大约四周的时间。(注意图2和我们讨论的部分反映了具有典型意义的1000万门极电路设计的流程;相应的,对100万门极电路器件预估的时间会缩短,同时,1亿门极组件预估时间也会相应增加。)
当RTL完成95%的时候,大部分原始物理实施毫无疑问将会被修改并升级;当达到布局图最终完成被锁定(当然是理想的状态了)的阶段往往需要耗费四周的时间。而且,即便RTL最终百分百完成了之后,在物理实施最终完成可以准备出片之前,仍然需要耗费九周甚至更多的时间在密集的资源和耗时的活动上。
与这些耗时的物理实施迭代相关的副产品有很多,分别是:
- 设计的物理实施部分必须在流程的逻辑(RTL)设计部分完成之后。
- 全部物理实施的漫长周转时间将导致可预见性的缺失,以及可实现性能的延迟反馈。
- 全部物理实施的漫长周转时间妨碍了系统设计师在物理实施层面针对功能成本比执行“假设分析式”的探讨。
- 全部物理实施的漫长周转时间意味着后期阶段对设计需求的变更无疑将导致项目进度的延迟,延长面市的时间(通常会导致最终的产品推迟上市,甚至干脆失去了所有的市场机会)。作为一种解决方法,管理层可能会做出这样的决策,采用次优化的布局规划图,尽管该布局会导致叠片尺寸的加大、功率损耗的增加、制造成本的增加、性能的降低,最后是良率的降低。
与传统的实施流程相关联的另一个重要问题是设计所耗费的工程资源数量。以典型的设计为例,通常一个物理实施工程师只能被分配到一到两个大型的功能块中;而且,一个工程师所分配的全部任务只能是设计的物理实施部分。因此,以一个包含十个大型功能块的层次化芯片设计为例,至少需要六名物理实施工程师。此外,还需要为设计的时钟树综合、功率网格部分特别增加资源;而且可能还需要为解决信号完整性问题增加更多的资源。将所有这些资源都投入到一个项目中,无疑将大幅度增加设计的成本,同时也制约了可同时进行的设计数量。
而且,一个必然的事实是,在现实设计中情况还会发生变化。在一个现实的设计实例中,从物理设计工程师开始介入的角度来看,当设计需求从800个存储宏变更到1300个存储宏,而且全部设计涉及到的门极电路从250万变更到350万时,利用传统的流程,在创建物理实施的第一次通路过程中,上述变更无疑将导致项目进度的延迟。而且,设计团队预计叠片的尺寸将从最初的15毫米×15毫米,发展到17毫米×17毫米左右。而利用Talus 系统,这些变更能够与物理实施过程轻松地融合到一起,同时不会影响项目进度;更为重要的是由Talus生成的新布局规划图非常有效,以至于叠片的尺寸不会发生任何变化。
解决方案:Talus自动芯片创建( Automated Chip Creation)
能够解决传统物理实施流程所产生的所有问题的解决方案就是由Talus提供的自动芯片创建系统(Automated Chip Creation),从根本上改变了流程的物理实施部分(如图3所示)。

图3:以Talus自动芯片创建为基础的设计流程
新流程最重要的影响是-无论设计规模的大小-每个项目只需要分配一名(或者两名,最多两名)物理实施工程师就足够了。抛开其它的因素不管,这意味着整体设计成本将降低差不多30%到50%,而且余下的工程师能够获得解放,进而补充到其它的项目中。
更为重要的是,由于物理实施工程师能够尽早地投入到项目中,因此物理实施不再是一个瓶颈。在某些情况下,物理实施甚至可以在RTL已经编码之前开始(即初始的规范定义之后)。此时,物理实施工程师能够利用Talus的黑盒子原型生成功能来估计各种功能块的尺寸,创建初级的布局图,开始规划时钟方案,等等不一而足。在有些情况下,物理实施可能在RTL只完成30%之前就开始了。在项目的这一阶段,Talus只需要一天甚至更短的时间就能够自动生成完整芯片物理实施的事实(包括创建布局图,而且与设计规模无关),提供了可实现性能的早期反馈。而且,每个后续迭代都是在前一结果之上创建的,因此能够保证每个新的实施都拥有与前一实施一样甚至更优秀的质量。此外,全部物理实施的快速周转时间使得系统设计师能够在物理实施层面执行功能和成本比的“假设分析式”探索;例如,减少金属层的数量,抑或是评估利用各种技术节点的可行性等。
当RTL完成95%的时候,无论设计的规模大小,从头开始到生成一个全新的完整芯片实施仅需要两天甚至更少的时间。满足RTL重要功能变更的物理实施所需要的周转时间缩短了50%到90%,这意味着设计需求后期阶段的变更能够实现,而且不会导致项目进度的延迟。一旦RTL百分百完成时,紧随其后出片之前的自动签核验证只需要两个小时就能完成。
自动分区和初始的布局规划
当设计进展到分区阶段,在决定逻辑层次部分与物理层次部分的一一对应关系时,Talus实现了智能决策。而且,当执行分区操作时,Talus同样能够力争最小化每个功能块引脚的数量,以简化时序的预算(如图4所示)。(注意:当涉及到诸如功能验证等活动时,Talus的分区活动不会影响初始的设计层次。)

图4:Talus自动执行智能的分区
在某些情况下,如果Talus认为有必要(如果需要的话,用户可用利用简单的约束锁住功能块),那么含有胶连Glue逻辑(或者相似逻辑)的逻辑块内容能够分布到贯穿整个物理层次。例如,当考虑到时钟系统中的多路复用器时。如果必须存在相同的物理块,或者强制保留特殊的布线通道,那么在时序和拥塞层面的结果将是极其难堪的。在这种情况下,Talus将自动分割逻辑,因此胶连Glue逻辑能够符合逻辑地分布到适当的分区中(如图5所示)。

图5:Talus 自动地跨区分配胶连glue逻辑
自动软宏构图Talus也具备自动化的软宏构图功能,能够利用成熟的具有拥塞意识和时序意识的算法同时构图并布局宏。在这种情况下,Talus在处理芯片平面时实现了相似的结果质量(QoR),而且与利用传统的自底向上布局规划方法相比,运行时间从数天和数周,缩短到了数个小时(参见图6)。
 图6:Talus自动形成软宏构图
观察Talus在核心内创建直线块,它能够根据需求在芯片外围使用任意形状(无法自动创建任意形状的特点一直以来都是这个行业的不足之处)。构图和布局包括边界逻辑和关键的输入/输出(I/O);即,如果有必要,小的单元组可能被分配到与它们相应的I/Os 邻近的位置。
自动硬宏布局
同时,Talus也能够执行自动的硬宏布局;而且,当然也是根据拥塞和时序来推动的。硬宏布局与功能块构图算法完整地整合在一起,如果需要的话,也包括了阻塞的自动创建(如图7所示)。

图7:Talus 自动地执行硬宏布局
与Talus硬宏布局相关联的一个非常重要的特征是算法规则最小化标准单元域周长的方法,以及为了避免拥塞问题形成这些域的方法。Talus使用的另一个成熟的技术是分析所有的逻辑锥体,并提取其连通性以决定各种存储块彼此之间的关联性。然后,Talus利用这些知识来实现最优化的功能块布局。
关联布局约束
整个过程中一个非常重要的方面是Talus的关联布局约束概念。在这里,布局图中功能块的位置分配与其它的功能块相互关联,举例说明,右边的“功能块n”可能被定义为与左边的“功能块m”相邻,或者说一个PLL的位置被定义为与某个特定的金属焊垫相关联。
图8示例了一个非常简单的例子,功能块B2被定义为与芯片的左上角相关。功能块B4的左边线与功能块B3的右边线相关联,依此类推。

图8:Talus 利用关联布局约束
与传统的流程不同的是,传统流程以固定的X/Y坐标的应用为基础,由于取自一个迭代的关联布局约束被用于下一个迭代,因此Talus被赋予了递增的变更功能。这意味着后续的迭代基于前一个迭代的结果而创建,因而能够保证每个新的实施都和前一个实施一样(或者更好)。
自动功率网络生成
Talus解决方案的另一个重要特征是完全自动化的功率网络生成。Talus首先生成金属焊垫环,其次是核心环,然后利用自动生成金属化层M6到M9层的丝网完成网络(参见图9)。当实施这些丝网时,Talus利用成熟的算法来平衡拥塞和IR电压降。Talus分析整个芯片的IR电压降,并根据情况实施不一致的功率网格:IR电压降稍微高一点儿的区域将提供较高的功率网格密度,同时将被逐层优化。而且,随着信息更加细化,Talus根据布线之后的时钟树和信号密度消耗的功率,逐步更新功率丝网。
值得注意的一点是Talus在整个芯片级实施功率网格,然后将其下推到物理功能块中。这样,在Talus实施功能块时,它对功率分布已经有了一个非常透彻的理解,因而消除了意料之外的功率问题。

图9:Talus 自动执行功率网格生成
自动时钟树综合
在芯片设计项目中,经常发生的事情是进度的延迟,原因是直至设计的其它部分都完成之后,才能够进行时钟树的部分。为了避免这样的延迟,Talus将自动执行时钟树生成的方方面面(参见图10)。

图10: Talus自动地执行时钟树综合
首先,Talus在开始实施功能块本身之前,先实施每个功能块内部的时钟网络原型。这种方式使得Talus能够决定为了实现准确的时钟平衡而不得不使用的各种插入延迟(这些原型最终将被丢弃,而且时钟树将在最后的实施阶段自动创建)。
同时,Talus 也确保了功能块中时钟引脚的布局位置,以实现通用路径的最大化。例如,如果一个时钟树的分支驱动五个功能块中的五个时钟引脚,Talus将会为这些引脚安排位置,以确保这些时钟信号尽可能多地共享通用路径,从而最小化了片上差异(OCV)的影响。
重复的功能块
在传统的流程中,重复的功能块通常是“唯一化的”(每个示例都被看作是独一无二的实体,个别实施)。在某些情况下,可能会导致稍微好一点儿的面积利用,但是同时也意味着上层母表述的任何变更都将导致每个子示例重新实施。Talus使得用户能够在需要时采用这一技术;作为可选项,Talus也完全支持重复功能块的概念(如图11所示)。

图11:Talus完全支持重复功能块的概念
图11中的左上角和右上角显示了八个重复的功能块,共分两个组,每组四个功能块(每组中的四个功能块与其相邻功能块的关系是旋转90度角)。Talus确保了这些重复功能块的构图是一致的,同时,他们的功率丝网也是一致的,信号以及时钟引脚分配都是一致的。所有这些都使得下游的任意ECOs都能够快速地、一致地传递到每个重复的功能块中。
并行的、分布式的协同处理
使Talus能够在两天或者更短的时间内执行全芯片级物理实施的关键特征是采用了并行的、分布式的协同处理技术。这意味着能够跨多处理器自动分区并智能地分配综合和实施任务,同时在过程结束时,各个分区的结果将自动地整合在一起。
例如,一个拥有两个大型功能块和两个小功能块的设计,其物理实施环境是三个处理器,两个小规模的功能块可能在一个处理器上顺序处理,而且该处理器将于其它两个处理器并行运行,另外两个处理器将分别处理两个大型功能块。
尽管如果希望的话,用户能够提供输入(诸如指定最小/最大的分区尺寸,这一点稍后将在本文中予以论述),而实际上需要的是用户指明使用的机器数量(指明名称)。设计规模越大,将有更多的计算资源应用到这一问题上。
特别需要指明的是不论用来执行物理实施的处理器数量多少,QoR(成果质量)都能够得以保持。以一个800万门极电路测试芯片为例,在一个处理器上执行将导致设计运行在523兆赫。比较发现,运行在三个分布式处理器的同一项目将导致设计运行在524兆赫,由于差别只有0.002%,可以视为结果相同。
Talus值得夸耀的特征还有很多很多,在这种介绍性白皮书上无法一一表述,但是仍然存在一些重要的特征值得特别说明如下:
- OCV 多模式多角度时序分析:Talus基础的时序分析引擎(与其它引擎紧密整合在一起)利用成熟的片上变异(OCV)分析来弱化不利的层面。时序引擎也具备多模式、多角度优化特征,意味着该产品有能力从各个角度同时分析设计,以决定并分析占主导优势的角度。
- 顶层的收敛:除了上文所描述的所有活动之外,Talus还能够自动执行顶层设计收敛。在所有其它事项中,收敛涉及到对时钟插入延迟做任意必须的修正,以及完成围绕此类修改的详细布线。
- 先进的功能:Talus能够处理特征极其复杂的设计,包括电压岛、倒装晶圆以及有封装意识的金属凸块布局。
- 设计师保留控制:即便是完全自动化的流程,一样有必要为设计师保留控制。这是由于团队由大量的专业设计专家组成,对关键的布局规划需求非常了解,诸如PLL布局以及具有特殊I/O需求的知识产权(IP)功能块,比如SERDES。因此,Talus允许设计师就这些需求进行沟通、试验比较最大和最小的分区尺寸、锁定布局图(或者锁定其中的部分),等等不一而足。
- 有封装意识的设计:Talus解决方案非常重要的一个特性是有封装意识的设计技术。Talus协同进行芯片和封装的设计,在芯片层面上执行I/O布局和金属凸块分配,并在封装层面上进行迂回分析以及迂回布线等。作为过程的一个组成部分,Talus 继续开发各种不同的设计方案,同时分析功率完整性以及信号完整性对任意设计决策的影响。芯片设计过程的结果是最优化的金属凸块布局和凸块分配,以匹配封装以及最优化的叠片尺寸。封装设计过程的结果利用最经济的封装以及最少量的层,并以最小化任意功率完整性和信号完整性的方式来执行所有的分配。
Talus 与现有流程的整合
建议将Talus与现有的流程整合使用,这样它在RTL创建之后就能够立即投入使用了。由于Talus中整合的综合引擎能够作出决策,从而在进行到流程的其余部分时可以确保可重复性和可预见性。
另外,Talus也可以用于获得由外部RTL综合或者有物理实施意识的综合引擎生成的门极电路网表。尽管依然能够提供一个极其有效的解决方案,但是这种方法意味着Talus实现的可重复性和可预见性的水平将会打些折扣。
最后,Talus也可用于混合流程,其中Talus只用于布局图的自动生成;设计的其余部分(包括逻辑综合、时钟树整合以及功率网格生成)可以通过利用现有的设计环境来执行。再次重申,这种用法极大地推动了现有的设计环境,但是它也的确意味着设计人员不会实现快速、有效、准确、高质量的结果,而采用Talus自动执行整个物理实施过程就能获得上述结果。
总结
由Talus提供的自动芯片创建方法为大型数字集成电路(IC)设计的实施提供了革命性的方法.Talus 使得设计的物理实施部分能够在流程的早期就开始进行,而且每个设计只需要分配一名到两名物理实施工程师,这意味着设计的整体成本将减少30%到50%,余下的物理设计工程资源能够被分配到其它的项目中。
Talus实现的快速周转时间带来了可预见性,以及可实现性能的尽早反馈。这也使得系统设计师在物理实施的功能与成本比上执行“假设分析式”的探索。更为重要的是,Talus使得设计团队都将更多的时间用在设计架构阶段的试验上,并充分利用现代的电子系统标准(ESL)设计工具。物理实施为满足RTL中的功能变更所需要的周转时间能够被缩减50%到90%的事实意味着设计需求后期阶段的变更能够实现,而且不会导致项目进度的延迟。
最后一点,但是可以肯定的不是最小的一点,Talus生成的实施在时序、面积、功耗以及信号完整性等层面,与传统的流程相比实现了更好的性能(例如,与利用传统流程生成的物理实施相比,Talus生成的参考设计占用的硅片面积减小了17%)。这意味着制造成本得以大幅度地下降。 |