原创 百万门级ASIC的分层物理设计

2007-6-24 15:05 2446 5 5 分类: FPGA/CPLD

百万门级ASIC中的原始设计尺寸可能会影响物理设计和时序收敛,较好的解决方案是采用物理分层设计。本文为正从事ASIC设计的(中国)工程师提供了一些新的思路和技巧。


先进ASIC项目的设计、验证和测试过程正面临多方面的挑战。随着制造工艺向0.25μm以下发展,设计的复杂性迫使设计师采用复用技术以适应硅密度的提高。为应对前端ASIC设计的复杂性,物理设计问题也随着设计尺寸和性能的提升变得愈加严重。同时,时序和区域(area)收敛,以及信号完整性等问题也成为后端设计的瓶颈。这些在物理层设计中新出现的问题会极大地延长ASIC产品的上市时间。


物理设计的挑战


为了更好的应付物理设计中的挑战,CAD工具供应商开始全面提升其CAD工具的性能和处理能力,同时还增加了集成化综合和布局等新的功能以获得更快的时序收敛。这样可让大型ASIC设计在后端保持顺畅,从而进一步简化CAD流程并最大限度地降低工具成本。尽管有了这些改进,但由于设计规模的扩大,综合与布局布线间的迭代时间(获得时序及区域收敛的关键因素)仍在不断增加。更大型的设计需要花费更长的时间才能完成布局布线后的综合工作。


因此,后端可能需要许多次迭代才能完成时序收敛,如果迭代周期较慢可能严重影响设计进度。在某些情况下,设计人员可能遭遇设计区域或时序(或两者都)不能收敛的尴尬境地,这对项目进度的影响将是致命的。


另外,UDSM工艺技术经常会给VLSI版图设计带来新的复杂问题,即由容性耦合和感性效应引起的信号完整性问题。随着耦合电容与线间总电容的增加,全局布线的时延和噪声问题将更加突出,从而严重妨碍后期的设计调试。因此CAD工具需要进一步增强分析与故障诊断的性能。



点击看大图


物理分层技术将设计分为二个或更多的版图层,它将给物理设计流程带来诸多益处。


分层版图设计的优缺点


采用分层版图的最大好处是“分而治之”。设计模块可以独立创建,而且模块的时序收敛可以相互独立完成。全部模块的互连及芯片的组装都在设计顶层实现。


一旦得到初始化顶层网表,就可马上进行顶层时序收敛设计,即使模块的RTL设计仍在不断修改或尚未设计完成也可以进行时序收敛设计。通过对RTL未完成部分的模块大小进行估计,可以及早提供设计区域的反馈信息。


必须用顶层布局布线来说明及互连分层结构中的所有模块,一般总要涉及到通道中丢失的一些区域,这些区域可用于布放模块之间的连线。这是分层版图设计的一个缺点,但通过采用六层或更多层金属工艺,智能层分配功能可以减轻甚至消除这种缺陷。另外,通过去除向模块供电的电源环,还可以消除产生通道空间(channel space)的另一个原因。


点击看大图


许多设计师认为,在后端设计中,不需要进一步的物理分层和采用CAD工具进行设计。对于10万到75万门数量级的ASIC来说,这种说法确实是对的。然而,随着设计规模的扩大及更富挑战性的时序设计目标的出现,分层版图设计越来越重要。而且新的物理综合工具最适合20万到30万门的设计范围,典型模块的大小也在20万到30万门之间,因此分层版图设计能充分利用这些新工具的优越性。


开发分层后端CAD流程的一个缺点是需要专门技术。但是一旦开发完成,这种技术可用于后续新一代分层ASIC的设计,能使时序收敛更快,后端的可预测性也更好。


设计流程


分层物理设计中,一个设计可分成二层(或多于两层),即顶层和模块层。这二个层次的工具要求和处理的问题不同,它们会影响从RTL到时序清理版图(time-cleaning layout)的整个过程。模块网表的版图采用标准单元布局布线和新的物理综合方案,这些工具非常容易理解和使用,只要获得RTL就可以对各层中的每个模块着手时序收敛设计,相当于把每个模块当成一个“微型芯片”。每个模块都可能包含硬宏,有时甚至包含物理层的其它层。


分层版图的顶层具有与模块层不同的功能要求。顶层主要包括大的设计模块及所有关键的顶层功能,如PLL、I/O焊盘和信号增强器(repeater)。我们在最新的ASIC产品中采用了Synopsys公司的Flexroute顶层布线器预布局器并获得了极大成功,该布线器是基于区域的无网格顶层布线器,具有新增的预布局功能,能够很好地满足密度及进度目标要求。


典型的设计流程包括许多工具(如图1所示)。RTL被综合为门级网表以及包括顶层模块及其互连关系的顶层网表。在综合和版图设计过程中也采用了时序约束以加速时序收敛。模块层预布局由顶层预布局器与影响模块预布局的模块级设计决策过程互动产生。设计的每一部分都要处理时序分析、迭代以及用于COT设计的最终物理验证级。


预布局很关键


在分层版图设计流程中预布局是一个很重要的步骤。由于模块必须在顶层连接,引脚分配、预布局评估和布线质量就非常重要。Flexroute工具提供了一系列强大的功能,能够产生性能优异的顶层预布局。


通过最小化连接模块引脚间的布线网络长度,布线驱动的引脚分配功能使顶层所需的布线资源最少。该处理过程的对象是每个模块的软引脚,亦即在预布局阶段可以自由移动的引脚。由于可让顶层设计师将通道大小减小到仅供穿越通道的网络所用,该技术实际上可用于去除顶层设计中的通道。


快速全局布线器可用来评估通道的引脚分配和布线密度,然后根据评估结果或者增加过分拥挤区域的通道空间,或者给重要或密度过大的模块分配更多的空间。将引脚分配与全局布线驱动的预布局评测结合起来,可以提高以前设计的密度,与以前的分层设计相比密度提高了20%。这种密度增加是通过去除未用通道区域获得的,因此允许加入更多的功能。其关键是评测预布局并加快向逻辑设计小组提供反馈信息的速度,以进一步提高区域优化效果。利用引脚分配功能可以完全消除以前大多数设计中存在的不必要的顶层通道。


通过联合使用布线优化与信号增强插入功能,可以对顶层网络的时序做出评估与优化。布线优化功能可以提高网段(net segment)的RC时延特性,而信号增强插入可以把随长度而增加的二次RC分为多个时延优化的段,这些段可提供相对于已布线网长(net length)呈近似线性的时延函数。


信号完整性与时序


物理分层的顶层包括相对较长的布线网络,因为它们在连接模块时需要穿越芯片的大部分区域。这可能在相同或同一方向的相邻布线网络间产生较大的耦合电容,从而形成依赖于噪声与伪数据的信号时延(如图2a和2b所示)。根据拓扑及与干扰驱动源距离的不同,一个“入侵”信号将使“受害”线发生较快或较慢的信号变化。当受害线空闲时,入侵信号会在受害线上产生噪声脉冲,这时如果刚好对脉冲取样,就会获得错误的取样值,或者产生后续逻辑错误。



点击看大图


影响大小取决于耦合电容及驱动源阻抗。因此,为了解决这些较长及并行布线的网络上的信号完整性问题,可以采取下列措施:改变线间距(即调整耦合电容)、增加线宽(即减小信号源阻抗),或者增加信号增强器(减小到信号源的距离)。Flexroute的无栅格布线方法可以精确控制设计中所有布线网络的宽度和间距,可同时优化信号完整性、时序和顶层密度。而栅格布线器就无法做到这一点,因为它需要一整套更具约束性的布线规则,以对时延、信号完整性或设计密度进行折衷。


分层自动布线


物理分层设计包含许多相互依赖且并行的任务。为了消除物理版图设计过程所带来的“黑箱操作”,所有的工具流程都应与脚本(用于工具的功能性)和生成文件(Makefiles,用于工具流程)隔离。


生成文件可让所有创建文件和源文件明确表示为创建过程的一部分,同时提供了大量关于物理设计过程的自身文件管理。由于所用工具需要一定的约束条件以设计用户定义的目标项目,可以用原稿描述大部分设计流程(如布局、时钟、布线和参数提取)。然后生成文件跟踪这些任务的相关性,并自动生成经过验证的版图加工所需要的网表。顶层生成文件可用来并行生成所有元素,从而将工具的互动操作降至最小,也使更多有能力的设计师挤出时间去改进工具流程、分析与改进设计,以及排除故障。最终设计输出的RTL到网表、网表到版图及版图验证过程全部实现了自动化,因此我们能集中精力去解决工具问题和时序区域收敛问题。


ASIC设计实例


在称为Krypton的SGI ASIC设计中,我们采用了上述技术(信号增强器插入除外)。该设计包含1,500万个晶体管,并在13.6mm×13.6mm的裸片上采用六层金属0.25μm CMOS工艺和倒装突起封装技术。


以前的项目已经采用分层物理设计,但Krypton是第一个采用Flexroute工具的设计。在不改变裸片尺寸或工艺的情况下,利用该工具和模块级布局布线流程改进工艺,可以在以前设计的基础上将晶体管数量增加50%,同时将时钟速率提高33%,达到133MHz。


我们采用了许多优化顶层版图设计的技术,其中最主要的是引脚分配和密度改进技术(图3)。在顶层设计中我们优化了几乎全部1.7万个引脚,其中引脚分配采用的是自下向上和自顶向下的方法。同时,我们还采用了模块级优化工具来改进硬IP模块及时钟等关键布线网络的可布线性,然后在顶层采用该工具的布线驱动引脚分配功能对其它引脚进行优化。


人工布线功能一般用于对穿越内核区域关键顶层的布线网络进行预布线。连接到这些布线网络的模块就直接连到这些预布线上。人工预布线可完全控制整个布线网络的拓扑及每个预布线段的布线网络宽度和间距。因此,当出现通道拥挤问题时可以适当调整通道中的宽度和间距。


时序收敛在模块层相对容易些,可以广泛地采用时序驱动的布局布线,通过改变物理时序约束条件,将预布局改用布局布线工具或进行综合优化,可以解决大多数时序问题。当连接到大型IP模块时还会出现一些较难处理的时序问题,因为线载模型并不代表布线网络的长度,这时就需要IP0技术或门设计实例来解决时序问题。


顶层时序收敛要稍微困难些,许多问题涉及到综合与物理时序约束之间不一致的边界约束,其实这些约束也很容易解决和评估。最后,时序问题还包括顶层具有大扇出系数(大于4)的特定引脚,它们会导致较长的布线网络长度和由这种拓扑结构引起的时延问题,以及较长的模块间布线路径,这些问题可以通过布线路径中断、信号增强器插入或改变顶层布线结构(有时采用引脚优化)加以解决。


快速时序收敛的关键是物理分层所提供的迭代周期的速度。包括时序分析在内的顶层模块创建时间总共为4到24小时。顶层的内在分析需要花8到24小时,分析完后会生成一份顶层时序报告。因此完成芯片设计的全部时间最多为两天。而自动化方法可以使设计师的设计参与量最少,同时可以采用多个CAD许可进行模块的并行创建。因此尽管每次设计迭代都会改变许多模块,但迭代时间仍可保持不变。


时序收敛后,并行物理验证可以在24小时内输出最终GDS II文件,并可做好向代工厂输送的准备。


本文结论


通过改进模块层的分层版图设计流程并采用新的布局布线方案可以使设计达到更高的密度。


在电源与顶层布线间,甚至在某些模块层布线间共享上面的层可以更好地去除设计中的通道,并能持续提高密度。这次设计中我们并没有实现层的共享,而是采用专门的电源/接地层为所有的模块供电。


Flexroute环境下的时序分析与优化可以让我们更快地着手顶层时序收敛工作,而无需进行参数提取、时延计算和分析环路。另外,在处理模块网表的同时还可以在设计流程中尽早插入信号增强器以诊断时序冲突。CAD内部的改进将使我们在新设计中更快地达到时序收敛,而且我们需要一个明确的途径将顶层时序分析从模块层结果中分离出来,从而更快地进行顶层设计。

PARTNER CONTENT

文章评论0条评论)

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