原创 设计规划综合方法可以对付复杂集成电路设计带来的挑战

2007-6-24 15:12 2657 5 5 分类: 消费电子

据美国半导体工业协会预测,未来几年中集成电路设计的复杂度将更高,每个芯片将包含数亿个晶体管,现有的人工或半自动设计方法将难以对付复杂集成电路设计带来的挑战,本文介绍的基于模块规划综合的设计新方法可减少25%到30%的开发时间,而且可实现更为优化的设计。对(中国)集成电路设计工程师来说,掌握模块规划综合方法的新思路有助于开发更大规模的芯片。



Jacob Greidinger

行政副总裁兼首席技术执行官

Arito Technology公司



目前,对大规模集成电路设计的需求正在促使设计技术面临新的变革。由于门级物理实现方法对高速或百万门集成电路设计来说已经达到了极限,因而人们正向基于模块的设计方法转移。模块设计方法减少了逐渐变更设计对整个设计的影响,有助于建立每个模块的局部时域特性,从而让时序收敛更易管理和预测,它使设计工程师能够并行设计各自的模块,最后进行集成,从而发挥群体的作用。基于模块的设计方法将复杂的集成电路作为一个较小的或更易管理的模块来处理,但是,现在基于模块的设计工具有许多不足,从而限制了它的应用。



目前,设计规划工具可提供大量的门级实现服务来完善逻辑综合,这些工具使集成电路设计工程师能够划分门级网表和实现布线后的优化并进行逐级综合。但是在得到门级网表之前,IC设计工程师难以充分发挥设计规划工具的作用,甚至即使在设计初期使用设计规划工具,也要到设计后期才可能感受到设计规划工具的好处。





因此,当进行纯粹基于模块的设计时,现有的设计规划工具的自动化程度很低,IC设计工程师仍然要对模块进行手工布局、设置模块大小和确定模块的形状,以便充分地利用现有的顶层布线资源。另一方面,尽管大量反馈和分析工具可帮助设计工程师识别布线拥挤和端口布局不良等问题,但是自动化和快速程度都很低,这就需要繁琐的手工设计。



实际上,基于模块的设计方法很难从结构参数到芯片设计完成的整个过程达到协调地配合。模块布局、模块形状优化和系统级布线的物理复杂性使手工组合模块的芯片设计方法难以达到理想的效果。除非设计工程师在研发早期就把问题考虑周全,否则,现有的方法设计出来的芯片根本无法投片。



集成电路设计专家表示,在深亚微米芯片开发过程中,物理设计的关键在于把模块组装成一个可运作的系统并将时钟及电源信号在芯片上做恰当的分配。随着数百模块级设计的出现,复杂集成电路设计的成功将取决于新的方法。这就是本文将要介绍的“设计规划综合方法”,该新方法将在由物理和电气设计约束下的含参环境中进行基于模块的设计(图1)。



设计规划综合



在设计规划综合方法中,设计工程师要早在物理实现开始之前,就预测和控制芯片的性能、面积和功耗特性。它要求设计工程师具备结构部分的物理设计经验,因为设计工具会自动地产生和传送所需要的结构信息。实际上,设计规划综合方法是一个双向过程,它不但向结构工程师提供设计所需的物理信息流,而且向物理设计工程师提供芯片结构信息流。



利用这种方法,芯片结构工程师能快捷地创造出多个底层规划,并成功地避免过早地锁定在欠最佳设计方案上。因而结构设计就可保持弹性,直到设计组对时序、芯片大小、功耗等关键问题进行充分分析和评估之后,才最后决定结构。这种技术可使设计工程师对设计要求的可行性作出判断,并确定达到这些设计要求所需的时间。





最重要的是设计规划综合方法使设计工程师跳出了传统的“设计——测试——故障定位”设计模式,传统模式在复杂的模块化设计过程中存在致命的缺陷。尤其重要的是,在开发初期提供的物理设计数据对那些缺少物理设计专门知识的设计工程师帮助很大,这些物理设计数据可让工程师在设计初期就评估功率、时钟分配、压降和电子迁移特性等关键物理设计特性,因而,设计工程师可高效率地创建出经过功耗、芯片大小和时序优化的正确和可选择的多个设计规划方案。



模块设计方法



设计规划综合方法应用于芯片设计过程初期的芯片结构设计阶段。芯片结构工程师设计多个可供选择的芯片结构图以便确定最佳的设计规划(图2)。在结构设计的初期,设计的大多数细节还是未知数,但设计的可制造性约束条件是客观存在的,这是因为模块的布局、时序要求、芯片的大小范围以及各种可能用到的工艺早已确定。对大型开发项目来说,这样就可能尽早地开始详尽地分配某些金属层用于互连或限定某些金属层只用于模块设计。另外,在设计项目开始的时候,设计规划综合方法使设计工程师能够获得大量可复用模块和IP模块的信息。过去的类似设计通常就是新设计的开始。



在这个设计阶段,设计工程师要规定时序、芯片面积和功耗的约束条件,并有效地满足两个设计原则:1. 影响底层规划的生成和优化;2. 测量和给出时序报表、芯片面积和功耗的约束条件与实际的测定值之间的差异。设计工程师然后可将芯片划分为几个高级功能模块并建立这些模块之间的互连关系,并自动地生成多个底层设计规划。上述的设计步骤增强了设计策略的作用。



对未完成设计的模块的尽早评估也很重要,因为时序设计工程师可根据评估构造出一个基本的时序壳(shell)。随着设计进展及更佳数据的不断涌现,设计工程师可不断优化设计数据,从而逐渐得到芯片速度、芯片大小和可布线性的更精确数据。



设计规划综合方法把每个模块现有的最佳数据和芯片级约束条件结合起来,让设计工程师充分地利用可复用模块和IP内核(图3)。例如采用硬模块,在设计初期,设计工程师就可将模块时序壳的详细性能数据与布局或各层使用情况的现有约束条件结合起来,使设计更快、更有效。此外,结构工程师可通过设计规划综合方法研究不同存贮器配置的可选内核对芯片性能的影响。



通过在开发集成电路初期考虑关键物理效应的影响,设计工程师可以高效率地将设计重点集中在最佳设计候选方案上。根据现有最佳的物理设计信息,芯片结构设计工程师可以建立更可靠的“what-if”流程图。在此,设计规划综合方法还能揭示各种工艺技术、拓扑结构、金属层使用情况和模块规划等高级设计决策对芯片性能的影响,所以,设计工程师在整个设计过程初期就能更准确地识别最佳的设计方案,从而在利用各种设计资源之前就可避免采用根本行不通的设计思路,这些设计方案也可用来评估时序。



毫无疑问,此时基于设计规划的各种参数评估只能是粗略的,但是,这样的评估却比纯粹的统计评估更容易获得较好的设计方案。在获得每个模块的结构和物理信息之后,就可以不断地逐渐更新设计数据,从而获得更精确的时序、芯片大小和功耗的估值以便评估方案的优化程度。



这种设计探索和规划方法使结构工程师可以获得所需要的改进数据,进而促成对工艺选择、各层用途的分配、接口/焊盘的布局等关键芯片实现方案的决策。另外,结构工程师可对芯片级时序、大小、功耗进行初步评估,同时也可根据模块层来微调约束条件的波动范围。结果为单个模块的设计实现提供了极佳的设计起点,这是现行的手工或半自动方法所无法企及的。



模块的实现



通过循序渐进地定义每个模块,所有的模块最后都将“固定”下来(完成布局和特征参数提取)。例如,模块在设计开始时是一个只具有接口的“未确定”模块,从某一时刻开始,该模块得到设计工程师的定义,随着模块定义的不断细化,这个“未确定”模块最终就可能变成“固定”模块。再如,假如某一模块包含子模块,那么要对这些子模块进行布局、压缩然后布线,假如这个模块要用标准单元实现,那么就需要进行综合和布线处理,然后在某一时刻,该模块的物理定义完备并达到“固定”模块状态。



该方法及使其简便易用的新工具可弥补传统的RTL和门级模块构建工具的不足。由于单个模块受到传统建模工具的很大限制,因而设计工程师除了必须具备RTL和门级设计经验之外,还要掌握顶级建模工具。从模块设计开始,设计工程师就要利用从设计规划阶段获得的特定约束条件,以便驱动模块开发工具的工作。对项目管理人员来说,这种方法极大地改进了芯片时序、大小和功耗特性的管理。



事实上,在这个过程中的任一时候,设计工程师都可以对时序、大小和功耗进行评估和分析。分析进行得越晚,所得的结论就越精确。采用这种循序渐进的设计方法,设计工程师就具备了一定的预见能力,而依靠传统的基于逻辑的综合以及门级布局和布线方法就不具备设计的预见性。然后,设计工程师就可以确定达到所有设计要求的可行性以及实现这些设计要求所需要的时间。



设计规划综合方法可逐渐地更新模块设计的物理和电气性能指标,并对其进行自动调整以适应模块设计的要求,从而使协同设计工程更为顺利。例如,一个新的设计规划通常要评估模块的物理和时序特性,这些评估信息然后可能要送到一个独立的设计组,该设计组的任务就是在严格的约束条件下完成实现模块的设计。不同的模块可能分配到不同的设计组,经过设计规划综合之后,可以获得每个模块的更精确信息,因而其他设计组就有机会采用这些信息。同时,即使模块仍然处于开发之中,芯片设计工程师也能不间断地调整芯片总体设计。



在模块设计的最后阶段,版图设计工程师将设计完成的模块集成起来,并进行最后的全局节点布线和模块互连。与早期的设计方法不同,在这个关键设计阶段,设计规划综合方法可以保证不出现诸如不可布线的节点或不能布局的模块。模块规划综合方法的基础是持续不断地优化设计数据来向设计团队提示各种实现方案对芯片性能的影响。只有这样,一个复杂的集成电路设计才能达到版图设计这个最后阶段,因为所有的布线约束条件早在RTL预规划阶段就已经提出了。



显然,现有的人工或半自动设计方法难以战胜当今复杂集成电路设计所面临的挑战,它设计效率低下,设计周期漫长。与此形成鲜明对照的是基于模块的设计新方法不仅能满足复杂集成电路和系统级芯片设计所面临的挑战,还比传统的门级设计方法速度更快、效率更高。实际上,基于模块的设计方法可减少25%到30%的开发时间,而且可实现更为优化的设计。

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
5
关闭 站长推荐上一条 /3 下一条