用所定义模式改善预布线和后布线网相关性的制作方法

文档序号:6359425阅读:139来源:国知局
专利名称:用所定义模式改善预布线和后布线网相关性的制作方法
技术领域
本发明涉及集成电路设计优化,并且尤其涉及使用所定义模式来改善预布线和后 布线相关性。该改善的相关性致使更好的资源效率和更快的设计完工。
背景技术
随着集成电路的技术节点变得更小,设计的不同部分可能对IC设计人员造成重大挑战。例如在使用65nm及以下的工艺技术的设计中,线延迟可能支配着单元延迟。线延迟误相关性可源于布线拓扑,诸如设计的高扇出或拥塞区域。此外,对于28nm技术节点以及以下,通孔电阻导致的延迟可能变成重要问题。目前,在设计开发的早期很难预计将要使用多少通孔以及使用什么样的通孔。另外,在28nm技术节点及以下,较低金属层与较高金属层相比可具有20-40倍的每单位长度电阻。因此,较上层中的长网可具有悲观的延迟估计,而较低层中的短网可具有乐观的延迟估计。常规布局和布线工具基于网引脚的初始布局来执行虚拟(粗略)布线(在本文称之为“预布线”的阶段)。为了解决上述延迟估计问题,常规布局和布线工具对线延迟、通孔计数、以及层电阻使用均值。相反,在实际布线期间(在本文也称之为“后布线”的阶段),常规布局和布线工具使用详细的线延迟、通孔计数、和层电阻,由此生成相当准确的延迟估计。遗憾的是,为了生成这些延迟估计,需要相当多的系统和时间资源。因此,为了确保向用户提供关于设计的快速反馈,在预布线阶段期间虚拟布线继续使用较不准确的延迟模型。由于上述问题,在预布线阶段的电路优化期间所设想的网的延迟可能与布线后其实际延迟有很大不同,从而因此误导电路优化。这种误导还可能造成在预布线优化期间关键网未被优化或者非关键网过度优化。因此,需要一种改善预布线和后布线延迟相关性的方法以提供优化的电路设计。由于预布线优化比后布线优化明显灵活很多,所以后布线优化应使用有限的优化技巧来修正在预布线阶段不能轻易预测的定时和设计违规以使设计完工。发明概述对于现有技术集成电路设计,不同的布线拓扑、层指派、和通孔计数估计可很大程度地影响到预布线网延迟估计。一种改善预布线和后布线相关性的方法可包括执行设计的初始布局、虚拟布线、和较低努力实际布线。注意,术语“努力”指代优化的积极性,例如,用于消除设计违规的迭代次数(其与运行时间直接相关)。此外,注意虚拟布线仅提供布线估计,并因此不执行实际布线所执行的优化水平。
可比较虚拟布线和较低努力实际布线的结果以标识具有误相关性的网。明显误相关性可由用户确定或由于超过所设阈值而被标识。在一个实施例中,该结果可以是电子数据表的经排序的条目,由此帮助比较。基于具有至少预定误相关性的网,可定义一个或多个模式。此时,可向匹配所定义模式的网指派网布线约束。网布线约束可包括布线层约束和/或非默认布线规则。布线层约束可涉及用于网实现的最小层和/或最大层。非默认布线规则可涉及双宽度网、网间双间隔、锥形规贝U、通孔切口数目、或另一非默认通孔配置。可向该设计中具有所定义模式的网应用这些网布线约束。可使用应用了网布线约束的网来执行对该设计的布局优化和较高努力实际布线。经优化的、已布线的设计可被输出。所述方法还可包括比较虚拟布线和较高努力实际布线的结果以精炼模式定义和网布线约束。在一个实施例中,还可向匹配所定义模式的网指派缩放因子。指派缩放因子可包 括为网设置最小水平电容、最小水平电阻、最大水平电容、最大水平电阻、最小垂直电容、最小垂直电阻、最大垂直电容、以及最大垂直电阻。可向该设计中具有所定义模式的网应用这些缩放因子。在一个实施例中,可设置通孔计数缩放因子,其中至少一个模式被定义用于通孔计数缩放。可使用具有缩放因子的网来执行布局优化。所定义模式可指扇出数目、边界框大小、边界框纵横比、网长度、拥塞、余量、和/或坐标(即,定义芯片区域的具体坐标集)。在一个实施例中,所定义模式可包括扇出阈值、扇出界限、边界框阈值、边界框界限、长度阈值、长度界限、水平拥塞阈值、水平拥塞界限、垂直拥塞阈值、垂直拥塞界限、余量阈值、余量界限、坐标(即,定义芯片的矩形区域的两个(x, y)坐标)、边界框纵横比阈值、以及边界框纵横比界限中的至少一者。在一个实施例中,可结合具体网模式使用更精确的延迟计算模型(例如,AWE)来替代在虚拟布线中使用的常规默认延迟计算模型(例如,Elmore模型)。一种存储用于对集成电路的设计进行布局和布线的计算机可执行指令的计算机可读介质可包括用于执行上述步骤的指令。包括网布线约束和/或缩放因子的基于模式的RC缩放技术可被用于改善预布线和后布线网延迟相关性。其他应用包括通过强加悲观成本来优化掉具有预定义模式的网和/或折衷缓冲相对布线约束指派。附图
简要说明图I解说示例性数字IC设计流的简化表示。图2解说包括基于模式的RC缩放的示例性技术。图3解说可被用于对误相关性进行标识和排序的示例性电子数据表。附图的详细描述电子设计自动化(EDA)工具可被有利地用于在布局和布线阶段优化集成电路设计。一般而言,在实际布线期间执行的优化将力图消除设计违规并因此与在布局期间所执行的估计布线相比往往要求更多的迭代和更长的运行时间。根据本发明的一个方面,布局优化阶段的有限量的附加信息可被用来明显地改善在布局期间执行的估计布线——称为虚拟布线(即,预布线)——与实际布线(即,后布线)之间的相关性。此信息可包括基于模式的RC缩放。如在下文进一步详细描述的,基于模式的RC缩放可被应用于由布线拓扑、层指派以及其他设计方面所定义的模式。在一个实施例中,可为显现较差的预布线和后布线相关性的网定义模式。在另一实施例中,模式可进一步限于与关键网相关联的那些模式,关键网由用户所标识并且通常占网总数的较小百分比(例如,少于5%)o除了改善预布线和后布线相关性,使用基于模式的RC缩放还可允许用户“优化掉”(即阻止)设计中的某些模式。而且,基于模式的RC缩放还可允许用户在缓冲与布线约束指派之间作更有效的权衡。基于模式的RC缩放的这些及其他方面在下文进一步详细地 描述。在进一步描述之前,将该基于模式的RC缩放技术置于上下文中可能是有帮助的。图I示出示例性IC设计流的简化表示。在较高层面上,该过程始于产品构想(步骤100)并且在EDA软件设计过程中实现(步骤110)。该设计在完成时可出带(tape-out)(事件140)。在出带后,发生制造过程(步骤150)和封装及组装过程(步骤160),最终得到完成的芯片(结果170)。EDA软件设计过程(步骤110)实际包括数个步骤112-130,出于简单起见这些步骤以线性方式示出。在实际的IC设计过程中,具体设计可能必须来回反复进行这些步骤直至通过某些测试。类似地,在任何实际的设计过程中,这些步骤可能以不同次序和组合发生。因此本描述是作为上下文和一般性解释而提供的,而不是特定IC的具体或推荐设计流。现在将提供EDA软件设计过程(步骤110)的组成步骤的简要描述系统设计(步骤112):设计人员描述他们想要实现的功能性,他们可执行假设分析规划以精炼功能性、检查成本等等。在此阶段可进行硬件-软件架构划分。在此步骤可使用的来自Synopsys公司的示例性EDA软件产品包括Model Architect、Saber、SystemStudio、以及 DesignWare 产品。逻辑设计和功能检验(步骤114):在此阶段,编写系统中模块的VHDL或Verilog代码并检查设计的功能成果。更具体地,检查该设计以确保产生正确输出。在此步骤可使用的来自Synopsys公司的示例性EDA软件产品包括VCS、VERA、DesignWare 、Magellan、Formality, ESP 以及 LEDA 产品。合成及测试设计(步骤116):这里,VHDL/Verilog被转译成网表。可针对目标技术对该网表进行优化。另外,发生对测试的设计和实现以准许对完成的芯片进行检查。在此步骤可使用的来自Synopsys公司的示例性EDA软件产品包括Design Compiler 、PowerCompiler、Tetramax> 以及DesignWare 产品。网表检验(步骤118):在此步骤,检查网表与定时约束的顺应性和与VHDL/Verilog源代码的一致性。在此步骤可使用的来自Synopsys公司的示例性EDA软件产品包括Formality> PrimeTime> 以及 VCS 产品。设计规划(步骤120):这里,构造芯片的整体平面布置图并分析其定时和顶层布线。在此步骤可使用的来自Synopsys公司的示例性EDA软件产品包括Astro和ICCompiler (编译器)产品。物理实现(步骤122):在此步骤发生布局(电路元件的定位)和布线(这些电路元件的连接)。在此步骤可使用的来自Synopsys公司的示例性EDA软件产品包括Astro和ICCompiler产品。在一个实施例中,IC compiler工具可执行基于模式的RC缩放技术。如在下文进一步详细描述的,基于模式的RC缩放技术可有利地使用来自实际布线的较低努力布线结果来在布局阶段定义和/或精炼基于模式的RC缩放。IC Compiler工具可执行集成电路设计的虚拟布线(在布局阶段完成)和实际布线两者。分析和提取(步骤124):在此步骤,在晶体管级检验电路功能,这又准许假设分析精炼。在此步骤可使用的来自Synopsys公司的示例性EDA软件产品包括AstroRail、PrimeRail、Primetime、以及 Star RC/XT 产品。物理检验(步骤126):在此步骤执行各种检查功能以确保制造、电气问题、平版问题以及电路系统的正确性。在此步骤可使用的来自Synopsys公司的示例性EDA软件产品包括Hercules产品。分辨率增强(步骤128):此步骤涉及对版图的几何学操纵以改善设计的可制造性。在此步骤可使用的来自Synopsys公司的示例性EDA软件产品包括Proteus、ProteusAF以 及PSMGen产品。掩模数据准备(步骤130):此步骤提供“出带”数据以用来产生光刻掩模,以用于产生完成的芯片。在此步骤可使用的来自Synopsys公司的示例性EDA软件产品包括CATS (R)广品系。基于模式的RC缩放在布局阶段执行的虚拟布线(S卩,预布线)网延迟估计可通过网布线约束和/或RC缩放(在电子设计自动化(EDA)行业中也称之为寄生缩放)来增强。一般而言,缩放因子是可与匹配一模式的网的电容和/或电阻相乘以促成更佳的设计优化的值。匹配一模式的网的寄生效应可以两种方式来操纵。首先,可基于与电容和电阻相关联的最小和最大以及水平和垂直变量来设置RC缩放因子。在一个实施例中,还可以设置关于通孔计数的RC缩放因子。在另一实施例中,还可以设置更精确的延迟计算模型,例如AWE。以下示出的伪代码可提供电阻/电容因子、通孔计数缩放因子、和延迟模型。设置_模式_延迟_估计_选项-最小_水平_电容_缩放因子(浮点数)-最小_水平_电阻_缩放因子(浮点数)-最大_水平_电容_缩放因子(浮点数)-最大_水平_电阻_缩放因子(浮点数)-最小_垂直_电容_缩放因子(浮点数)-最小_垂直_电阻_缩放因子(浮点数)-最大_垂直_电容_缩放因子(浮点数)-最大_垂直_电阻_缩放因子(浮点数)-通孔_计数_缩放因子(浮点数)-默认(布尔)-模式id■数)-延迟_模型(串)
在一个实施例中,设置电阻/电容和通孔计数缩放因子可以是用户定制的,即用户设置每个缩放因子的值(其中“浮点数”指示任何非零的正值,即整数或分数)。如在下文进一步详细描述的,对于与一所定义模式相关联的每组缩放因子,用户还可设置模式标识(id)。注意,用户也可以改为设置默认选项(布尔,即真或假),此举清除所有的RC缩放因子和通孔计数因子以及将虚拟布线中使用的延迟模型重置为较不准确的模型,例如Elmore。匹配一模式的网还可以受制于网布线约束,这可包括非默认布线规则和/或布线层约束。非默认布线规则可以指双宽度网、网间双间隔、锥形规则(对于具有变化的宽度的网)、通孔切口(其中默认通孔正常有一个切口并且任何附加切口可进一步降低通孔电阻)、非默认通孔、以及有特定兴趣的其他模式。布线层约束可以指最小布线层约束和/或最大布线层约束。在一个实施例中,网布线约束可以是用户生成的。以下伪代码可提供非默认布线规则以及最小布线层约束和最大布线层约束(其中“串”指示多个字母和/或数字,其可描述该非默认布线规则或布线层约束)。 设置_模式_延迟_估计_选项 -规则规则_名称(串)_最小_层_名称串(串)_最大_层_名称串(串)-模式id(整数)注意,规则_名称标识(由用户生成的)具体非默认布线规则,工具随后访问它以确定该规则是如何定义的。以下提供了用于定义规则的示例性伪代码。定义_布线_规则规则_名称[_参考_规则_名称参考_规则_名称I-默认_参考_规则][-览度{层_名称_和_览度_对}][-间隔{层_名称_和_间隔_列表_对}][-间隔_权重{层_名称_和_权重_列表_对}][_ 屏蔽][_屏蔽_宽度{层_名称_和_屏蔽_宽度_对}][_屏蔽_间隔{层_名称_和_屏蔽_间隔_对}][-快速_至_迹线][-通孔_切口{通孔_定义_列表}][-锥形_水平锥形_水平][-乘法器_览度层_览度][-乘法器_间隔层_间隔][-锥形_距离锥形_距离]在一个实施例中,布线约束指派并不显式地指派具体电阻和电容;然而对集成电路的非默认布线规则和/或最小或最大层的布线约束指派隐式地具有可从这些布线约束推导出的电阻和电容两者。
在一个实施例中,网布线约束可被给予高于缩放因子的优先级。在这种情形下,在模式匹配期间,当网与模式匹配时,则将应用网布线约束并忽略缩放因子。设计中的模式可使用例如扇出数目、拥塞、网边界框(最小或最大大小、或纵横比)、余量(slack)(最小或最大值)、以及以上因素的各种组合来定义。例如,可使用以下伪代码用扇出计数(例如,最小扇出计数(阈值)和/或最大扇出计数(界限))和网边界框(bbox)的大小(例如,最小大小(阈值)和最大大小(界限))来定义具体模式(I)。创建_网_模式-扇出_阈值〈扇出_计数>-扇出_界限〈扇出_计数〉
-bbox_ 阈值 〈bbox_ 大小 >_bbox_ 界限 <bbox_ 大小〉设置_模式_延迟_估计_选项-最小_水平_电容_缩放〈因子〉-最小_水平_电阻_缩放〈因子〉-最大_水平_电容_缩放〈因子〉-最大_水平_电阻_缩放〈因子〉-最小_垂直_电容_缩放〈因子〉-最小_垂直_电阻_缩放〈因子〉-最大_垂直_电容_缩放〈因子〉-最大_垂直-电阻_缩放〈因子〉-模式I注意,边界框可以通过其左下LL(x,y)坐标位置和其右上UR(x,y)坐标位置来定义(其中,芯片的坐标,(例如长度=最大X以及宽度=最大y)由系统定义)。一般而言,边界框(bbox)将网包围,该网由其所有已布局的引脚定义。有利地,通过使用扇出数目和边界框,大扇出的网可以被“优化掉”。具体而言,用户可通过对具有较大数目的扇出以及预定大小的边界框的模式设置高缩放因子来有效地对设计中的大扇出施加惩罚。关于拥塞,通过拥塞区域的网可具有弯路。因此,可设置拥塞值以定义模式,如以下的伪代码所示。注意,拥塞可被表示为需求对供应值。例如,被设为“0.80”的拥塞阈值可指示预定区域中至少80%的可能迹线(供应)将如预布线所估计地被网(需求)填充。在一个实施例中,该预定区域可使用网的边界框来确立,并且该拥塞可以是该边界框内的平均拥塞。注意,可在水平和垂直两者上设置拥塞,如下所示。创建_网_模式-水平_拥塞_阈值〈阈值>-水平_拥塞_界限〈界限〉-垂直_拥塞_阈值〈阈值〉-垂直_拥塞_界限〈界限〉设置_模式_延迟_估计_选项
-最小_水平_电容_缩放〈因子〉-最小_水平_电阻_缩放〈因子〉-最大_水平_电容_缩放〈因子〉-最大_水平_电阻_缩放〈因子〉-最小_垂直_电容_缩放〈因子〉-最小_垂直_电阻_缩放〈因子〉-最大_垂直_电容_缩放〈因子〉-最大_垂直_电阻_缩放〈因子〉-模式2通常,边界框将包括许多全局单元(其是由布线器在全局布线期间创建的小栅格,其中全局布线被限于全局单元之间(注意详细布线提供全局单元内布线))。在此情形中,网的拥塞可通过平均全局单元拥塞值(这考虑了包括该网的边界框的所有全局单元)来衡量。注意,同一全局单元栅格可以被虚拟和实际布线器所使用。关于网长度,长网通常被指派给具有较小RC值的较高层的金属层。因此,网长度可被用于定义模式,模式又可与布线约束相关联。例如,以下伪代码可被用于定义模式,其中所有50微米长以上的网被指派给金属层M5或更高层。创建_网_模式-长度_阈值50设置_模式_延迟_估计_选项-最小_层_名称M5-模式3通孔电阻估计可通过对模式使用定制通孔计数缩放来改善。对设计的预定区域中的通孔计数进行缩放的示例性模式可使用下文所示的伪代码来定义。该伪代码可使用坐标(左下x,y (10,10)和右上x,y (20,20))来标识拥塞区域,并使用缩放因子“2”来使该拥塞区域的通孔数目加倍。创建_网_模式-坐标"1010 20 20" 设置_模式_延迟_估计_选项-通孔_计数_缩放2-模式4关于网长度,具有较多扇出的长网需要较精确的延迟估计。因此,网长度和扇出可被用于定义模式,模式又可与较精确的延迟模型相关联。例如,以下伪代码可被用于定义模式,其中所有300微米长以上且5个或5个以上扇出的网被指派为使用AWE延迟模型。创建_网_模式-长度_阈值300-扇出_阈值5设置_模式_延迟_估计_选项-延迟_模型AWE-模式5
注意,还可以定义关于余量和边界框(使用纵横(例如宽度/长度即wl、W/L)比)的其他模式,如以下伪代码所示的创建_网_模式-余量_阈值〈浮点数 > 余量阈值
-余量_界限〈浮点数〉余量界限_bbox_wl_比_阈值〈浮点数〉bbox W/L比阈值_bbox_wl_比_界限〈浮点数〉bbox W/L比界限注意余量_阈值和余量_界限可以是负数(即,整数或分数)。余量阈值和界限可被用于强制对匹配该模式的网更有力地进行优化。在一个实施例中,对于bboX_wl_比阈值/界限定义,可检查宽高比以确保其在某一范围内。例如,若bbox_wl_比_阈值被设为2. 0,则bbox的宽度是bbox长度的至少两倍。另一方面,若bbox_wl_比_界限被设为0. 5,则bbox的长度是bbox宽度的至少两倍。图2解说用于生成基于模式的网布线约束和/或RC缩放因子、并随后向集成电路设计的网施加这些网布线约束和/或RC缩放因子的示例性技术200。步骤101可运行所访问设计的粗略布局和布线。注意,布局和布线工具一般可执行虚拟布线和实际布线两者。而且,实际布线可使用工具命令以不同努力程度(例如,低、中、或高)来执行。在一个优选实施例中,步骤201中执行的布线包括虚拟布线和低努力实际布线,由此最小化运行时间。步骤202可比较设计的虚拟布线和低努力实际布线的结果。该比较可通过分析真实(尽管低努力)和估计的寄生效应、电阻、及通孔计数来进行。在使用示例性布局和布线工具(例如IC Compiler)的一个实施例中,步骤202可使用比较_rc、比较_rc_电阻、以及比较_re-仅_通孔_计数命令。在一个实施例中,步骤202还可包括对特定模式执行比较_rc子例程(例如使用比较_rc-模式〈模式_id>命令)。在一个实施例中,比较数据可被显示在图3中所示的电子数据表300中,该电子数据表300允许分类和排序,由此促成对具有误相关性的网的标识(例如,通过对虚拟布线和低努力实际布线的结果之间的差异进行排序)。在步骤202中可标识具有至少预定误相关性(也称为不良相关性)的网。注意,图3还解说了记为“注解”的散布图301。散布图301指示估计值(电子数据表300的第一列)与注解或实际值(电子数据表300的第二列)之间的相关性。理想相关性应该由45度直线表示。因此,散布图301可有利地向用户提供对预布线和后布线之间的相关性的快速直观反馈。注意在图3中,电子数据表300提供电容值,而另一电子数据表可提供相同的网的电阻值。步骤203可确定是否存在具有不良相关性的网的一个或多个共同因素(例如,网长度、扇出数目等等),由此有效地标识模式。随后可定义所标识的模式以用于工具实现(例如,使用创建_网_模式命令)。注意,所定义模式可由用户手动生成、或者由诸如ICCompiler之类的布局和布线工具自动地生成。在一个实施例中,自动模式生成可通过比较寄生效应(比较_rc)并仅标识相关性低于(或误相关性高于)预定阈值的网来进行。在一个实施例中,用户输入可被用于优化自动模式生成。在步骤204,可指派用于所定义模式的网布线约束和/或RC缩放因子(例如,使用设置_模式_延迟_估计_选项命令)。在指派了用于所定义模式的网布线约束和/或RC缩放因子之后,步骤205可向设计中匹配这些所定义模式的网应用这些网布线约束和/或RC缩放因子。在一个实施例中,对照所定义模式的所有标准检查每个网。例如,为了满足扇出标准,扇出数目必须大于或等于所设阈值(当设置时)并且必须小于界限(当设置时)。换言之,若未指定一个参数,则不检查该参数。使用上文的扇出示例,若设置了扇出_阈值但未设置扇出_界限,则所有具有大于或等于扇出阈值的扇出的网被认为匹配。在步骤204的一个实施例中,对于每个网可以预定次序检查模式的匹配。例如,该预定次序可遵循模式标识(ID)的数值次序。一般而言,一旦发现与一个模式相匹配,则对该网的模式检查就结束。在一个实施例中,用户可指定用于模式检查的预定次序。例如,若定义了模式1-5且用户指定模式检查次序为"352",则模式检查次序将为"35214"。步骤206可使用网布线约束和RC缩放因子来优化布局和执行较高努力布线(即,高于较低努力实际布线的较高努力)。注意,RC缩放因子不用在实际布线期间,但是可有利地用在布局优化期间。步骤207可输出已布线的集成电路设计。相反,在步骤206,较高努力布线可有利地包括与匹配所定义模式的网相关联的网布线约束。例如,布线引导可有利地包括非默认布线规则和布线层约束。因此,若用户生成一具体网长度的模式并且为该定义的模式指派一具体层,则在步骤206中应贯穿布局和实际布线维持该布线层约束。由于布局和布线工具的操作,这类约束继承是合需的。即,基于某一网长度,布局和布线工具可插入一个或多个缓冲器以确保良好的信号传输。然而,此缓冲器插入可导致两个或更多个具有与原网相比短得多的长度的网。此时,使用这些较短的网,该网布线约束可能不被应用于这些新创建的网。因此,在步骤206中,对于诸如缓冲器插入、缓冲器移除、以及高扇出网合成之类的布线优化应该维持任何网布线约束。结果,这些非默认布线规则和布线层约束可被表征为“粘性的”,因为它们在步骤206中被维持并传递到布线器。注意,此类“继承的”网约束可与缓冲进行折衷以优化单元计数、密度、和/或拥塞。在一个实施例中,来自步骤206的布线结果可经由环208被反馈到步骤202。例如,若在步骤206 (第一实例)中执行的较高努力布线处于“中”努力水平,则环208可被用于通过在步骤202中将该较高努力实际布线与虚拟布线相比较来进行预布线和后布线相关性的进一步精炼。注意,网布线约束和/或RC缩放因子的精炼可改变当前布局,由此也改变步骤206中执行的实际布线。在一个实施例中,可重复步骤202-206直至达到预定相关性或者在步骤207中用户请求已布线的设计。在一个实施例中,步骤202中执行的较高努力实际布线保持在相同水平。例如,若在步骤202 (第一实例)中较高努力实际布线处于中等努力水平,则步骤202的任何后续实例也使用该中等努力实际布线来执行。注意在一些实施例中,一个设计的缩放因子、非默认布线规则和布线层约束可被用于多个设计(即,对一个设计执行步骤201-204以及对一个或多个其他设计执行步骤205-207)。这种多重使用对于具有共同技术节点、相似单元利用、和/或平面布置图的设计是可能的。注意,步骤202使用延迟模型进行虚拟布线。Elmore延迟模型由于较快的运行时 间而被常规预布线估计所采用。然而,Elmore延迟模型对于某些情形可能太过不利。因此,在一个实施例中,在步骤202中可使用较精确的延迟模型。示例性精确延迟模型包括但不限于Arnoldi和AWE (渐进波形估计器)。Arnoldi比AWE更精确,但是也慢。因此,当需要相对准确的解决方案而又关心运行时间时,AffE 一般优于ArnoIdi。在一个实施例中,AWE模型可仅被用于某些匹配预定模式的网。例如,AWE模型可仅被应用于关键网或具有大于预定阈值的延迟的那些网。在一个实施例中,该预定阈值可被设为0. OOlns0在一个实施例中,用户可设置该预定阈值。如上讨论地,基于模式的RC缩放技术可被用于改善预布线和后布线网延迟相关性。其他应用包括通过强加悲观成本来优化掉具有预定义模式的网和/或通过将模式与网布线约束相关联来折衷缓冲相对布线约束指派。基于模式的RC缩放技术可以有利地在一个或多个计算机程序中实现,该一个或多个计算机程序在包括至少一个可编程处理器的可编程系统上执行,该至少一个可编程处理器被耦合成从和向数据存储系统、至少一个输入设备和至少一个输出设备接收和传送数据和指令。每一种计算机程序都可以用高级过程或面向对象编程语言、或者在需要时用汇 编或机器语言来实现;并且在任何情况下,该语言都可以是经编译或经解释的语言。合适的处理器包括例如通用和专用微处理器以及其它类型的微控制器。一般地,处理器将从只读存储器和/或随机存取存储器接收指令和数据。一般地,计算机将包括用于存储数据文件的一个或多个大容量存储设备;这些设备包括诸如内置硬盘和可移动盘等磁盘、磁光盘和光盘。适于有形地实现计算机程序指令和数据的存储设备包括所有形式的非易失存储器,包括,作为示例,半导体存储设备,诸如EPROM、EEPROM和闪存设备;磁盘,诸如内置硬盘或可移动盘;磁光盘;以及CDROM盘。上述各项中的任一个可由专用集成电路(IC)补充或被结合在专用IC中。尽管本文已经参考附图详细描述了本发明的各说明性实施例,但可以理解,本发明不限于这些精确实施例。它们并不是要穷举本发明或将本发明限于所公开的精确形式。由此,许多修改和变体将会是明显的。例如,注意可贯穿布局和布线操作来更新基于模式的RC缩放技术。此外注意,尽管步骤202述及较低努力实际布线而步骤206述及较高努力实际布线,此区别也可被表征为第一类型实际布线和第二类型实际布线,其中第二类型实际布线使用的迭代大于第一类型实际布线使用的迭代。因此,本发明的范围旨在由所附权利要求书及其等效物来定义。
权利要求
1.一种改善集成电路的设计的预布线和后布线相关性的方法,所述方法包括 执行所述设计的初始布局、虚拟布线、和较低努力实际布线; 比较所述虚拟布线和所述较低努力实际布线的结果以标识具有误相关性的网; 基于具有至少预定误相关性的网来定义模式; 向匹配所定义模式的网指派网布线约束; 向所述设计中具有所述所定义模式的网应用所述网布线约束; 通过包括应用了网布线约束的网来对所述设计优化布局并执行较高努力实际布线;以及 输出已布线的设计。
2.如权利要求I所述的方法,其特征在于,还包括 向匹配所定义模式的网应用缩放因子; 向所述设计的网应用缩放因子;以及 使用具有缩放因子的网来优化所述设计的布局。
3.如权利要求I所述的方法,其特征在于,所述网布线约束包括非默认布线规则和布线层约束中的至少一者。
4.如权利要求3所述的方法,其特征在于,所述布线层约束涉及用于网实现的最小层。
5.如权利要求3所述的方法,其特征在于,所述布线层约束涉及用于网实现的最大层。
6.如权利要求3所述的方法,其特征在于,所述非默认布线规则涉及双宽度、双间隔、锥形规则、通孔切口数目、以及非默认通孔中的至少一者。
7.如权利要求2所述的方法,其特征在于,还包括比较所述虚拟布线和所述较高努力实际布线的结果以精炼模式定义和缩放因子指派。
8.如权利要求2所述的方法,其特征在于,定义模式包括使用扇出数目、边界框、长度、拥塞、余量、以及坐标中的至少一者。
9.如权利要求2所述的方法,其特征在于,定义模式包括扇出阈值、扇出界限、边界框阈值、边界框界限、长度阈值、长度界限、水平拥塞阈值、水平拥塞界限、垂直拥塞阈值、垂直拥塞界限、余量阈值、余量界限、坐标、边界框纵横比阈值、以及边界框纵横比界限中的至少一者。
10.如权利要求2所述的方法,其特征在于,指派缩放因子包括设置最小水平电容、最小水平电阻、最大水平电容、最大水平电阻、最小垂直电容、最小垂直电阻、最大垂直电容、以及最大垂直电阻中的至少一者。
11.如权利要求2所述的方法,其特征在于,还包括设置通孔计数缩放因子,其中至少一个模式被定义用于通孔计数缩放。
12.如权利要求2所述的方法,其特征在于,还包括设置虚拟布线的延迟模型。
13.如权利要求12所述的方法,其特征在于,所述延迟模型是AWE(渐进波形估计器)。
14.如权利要求I所述的方法,其特征在于,比较结果包括对电子数据表的条目排序。
15.一种存储用于对集成电路的设计进行布局和布线的计算机可执行指令的计算机可读介质,所述指令执行包括以下动作的步骤 使用处理器, 执行所述设计的初始布局、虚拟布线、和较低努力实际布线;比较所述虚拟布线和所述较低努力实际布线的结果以标识具有误相关性的网; 基于具有至少预定误相关性的网来定义模式; 向匹配所定义模式的网指派网布线约束; 向所述设计中具有所述所定义模式的网应用所述网布线约束; 使用应用了网布线约束的网对所述设计优化布局并执行较高努力实际布线;以及 输出经布线的设计。
16.如权利要求15所述的计算机可读介质,其特征在于,还包括 向匹配所定义模式的网应用缩放因子; 向所述设计的网应用缩放因子;以及 使用具有所述缩放因子的网来优化所述设计的布局。
17.如权利要求15所述的计算机可读介质,其特征在于,所述网布线约束包括非默认布线规则和布线层约束中的至少一者。
18.如权利要求17所述的计算机可读介质,其特征在于,所述布线层约束涉及用于网实现的最小层。
19.如权利要求17所述的计算机可读介质,其特征在于,所述布线层约束涉及用于网实现的最大层。
20.如权利要求17所述的计算机可读介质,其特征在于,所述非默认布线规则涉及双宽度、双间隔、锥形规则、通孔切口数目、以及非默认通孔中的至少一者。
21.如权利要求16所述的计算机可读介质,其特征在于,还包括比较所述虚拟布线和所述较高努力实际布线的结果以精炼模式定义和缩放因子指派。
22.如权利要求16所述的计算机可读介质,其特征在于,定义模式包括使用扇出数目、边界框、长度、拥塞、余量、以及坐标中的至少一者。
23.如权利要求16所述的计算机可读介质,其特征在于,定义模式包括扇出阈值、扇出界限、边界框阈值、边界框界限、长度阈值、长度界限、水平拥塞阈值、水平拥塞界限、垂直拥塞阈值、垂直拥塞界限、余量阈值、余量界限、坐标、边界框纵横比阈值、以及边界框纵横比界限中的至少一者。
24.如权利要求16所述的计算机可读介质,其特征在于,指派缩放因子包括设置最小水平电容、最小水平电阻、最大水平电容、最大水平电阻、最小垂直电容、最小垂直电阻、最大垂直电容、以及最大垂直电阻中的至少一者。
25.如权利要求16所述的方法,其特征在于,还包括设置通孔计数缩放因子,其中至少一个模式被定义用于通孔计数缩放。
26.如权利要求16所述的方法,其特征在于,还包括设置所述虚拟布线的延迟模型。
27.如权利要求26所述的方法,其特征在于,所述延迟模型是AWE(渐进波形估计器)。
28.如权利要求15所述的计算机可读介质,其特征在于,比较结果包括对电子数据表的条目排序。
29.一种改善集成电路的设计的预布线和后布线相关性的方法,所述方法包括 执行所述设计的初始布局、虚拟布线、和第一类型实际布线; 比较所述虚拟布线和所述第一类型实际布线的结果以标识具有误相关性的网; 基于具有至少预定误相关性的网来定义模式;向匹配所定义模式的网指派网布线约束; 向所述设计中具有所述所定义模式的网应用所述网布线约束; 通过包括应用了网布线约束的网来对所述设计优化布局并执行第二类型实际布线,所述第二类型实际布线执行比所述第一类型实际布线更多的迭代;以及输出经布线的设计。
30.如权利要求29所述的方法,其特征在于,还 包括 向匹配所定义模式的网应用缩放因子; 向所述设计的网应用缩放因子;以及 使用具有缩放因子的网来优化所述设计的布局。
31.如权利要求29所述的方法,其特征在于,所述网布线约束包括非默认布线规则和布线层约束中的至少一者。
32.如权利要求31所述的方法,其特征在于,所述布线层约束涉及用于网实现的最小层。
33.如权利要求31所述的方法,其特征在于,所述布线层约束涉及用于网实现的最大层。
34.如权利要求31所述的方法,其特征在于,所述非默认布线规则涉及双宽度、双间隔、锥形规则、通孔切口数目、以及非默认通孔中的至少一者。
35.如权利要求30所述的方法,其特征在于,还包括比较所述虚拟布线和所述第二类型实际布线的结果以精炼模式定义和缩放因子指派。
36.如权利要求30所述的方法,其特征在于,定义模式包括使用扇出数目、边界框、长度、拥塞、余量、以及坐标中的至少一者。
37.如权利要求30所述的方法,其特征在于,定义模式包括扇出阈值、扇出界限、边界框阈值、边界框界限、长度阈值、长度界限、水平拥塞阈值、水平拥塞界限、垂直拥塞阈值、垂直拥塞界限、余量阈值、余量界限、坐标、边界框纵横比阈值、以及边界框纵横比界限中的至少一者。
38.如权利要求30所述的方法,其特征在于,指派缩放因子包括设置最小水平电容、最小水平电阻、最大水平电容、最大水平电阻、最小垂直电容、最小垂直电阻、最大垂直电容、以及最大垂直电阻中的至少一者。
39.如权利要求30所述的方法,其特征在于,还包括设置通孔计数缩放因子,其中至少一个模式被定义用于通孔计数缩放。
40.如权利要求30所述的方法,其特征在于,还包括设置所述虚拟布线的延迟模型。
41.如权利要求40所述的方法,其特征在于,所述延迟模型是AWE(渐进波形估计器)。
42.如权利要求29所述的方法,其特征在于,比较结果包括对电子数据表的条目排序。
43.一种存储用于对集成电路的设计进行布局和布线的计算机可执行指令的计算机可读介质,所述指令执行包括以下动作的步骤 使用处理器, 执行所述设计的初始布局、虚拟布线、和第一类型实际布线; 比较所述虚拟布线和所述第一类型实际布线的结果以标识具有误相关性的网; 基于具有至少预定误相关性的网来定义模式;向匹配所定义模式的网指派网布线约束; 向所述设计中具有所述所定义模式的网应用所述网布线约束; 使用应用了网布线约束的网对所述设计优化布局并执行第二类型实际布线,所述第二类型实际布线执行比所述第一类型实际布线更多的迭代;以及 输出经布线的设计。
44.如权利要求43所述的计算机可读介质,其特征在于,还包括 向匹配所定义模式的网应用缩放因子; 向所述设计的网应用缩放因子;以及 使用具有所述缩放因子的网来优化所述设计的布局。
45.如权利要求43所述的计算机可读介质,其特征在于,所述网布线约束包括非默认布线规则和布线层约束中的至少一者。
46.如权利要求45所述的计算机可读介质,其特征在于,所述布线层约束涉及用于网实现的最小层。
47.如权利要求45所述的计算机可读介质,其特征在于,所述布线层约束涉及用于网实现的最大层。
48.如权利要求45所述的计算机可读介质,其特征在于,所述非默认布线规则涉及双宽度、双间隔、锥形规则、通孔切口数目、以及非默认通孔中的至少一者。
49.如权利要求44所述的计算机可读介质,其特征在于,还包括比较所述虚拟布线和所述第二类型实际布线的结果以精炼模式定义和缩放因子指派。
50.如权利要求44所述的计算机可读介质,其特征在于,定义模式包括使用扇出数目、边界框、长度、拥塞、余量、以及坐标中的至少一者。
51.如权利要求44所述的计算机可读介质,其特征在于,定义模式包括扇出阈值、扇出界限、边界框阈值、边界框界限、长度阈值、长度界限、水平拥塞阈值、水平拥塞界限、垂直拥塞阈值、垂直拥塞界限、余量阈值、余量界限、坐标、边界框纵横比阈值、以及边界框纵横比界限中的至少一者。
52.如权利要求44所述的计算机可读介质,其特征在于,指派缩放因子包括设置最小水平电容、最小水平电阻、最大水平电容、最大水平电阻、最小垂直电容、最小垂直电阻、最大垂直电容、以及最大垂直电阻中的至少一者。
53.如权利要求44所述的方法,其特征在于,还包括设置通孔计数缩放因子,其中至少一个模式被定义用于通孔计数缩放。
54.如权利要求44所述的方法,其特征在于,还包括设置所述虚拟布线的延迟模型。
55.如权利要求54所述的方法,其特征在于,所述延迟模型是AWE(渐进波形估计器)。
56.如权利 要求43所述的计算机可读介质,其特征在于,比较结果包括对电子数据表的条目排序。
全文摘要
一种改善预布线和后布线相关性的方法可包括执行设计的初始布局、虚拟布线、和较低努力实际布线。可比较虚拟布线和较低努力实际布线的结果以标识具有误相关性的网。基于具有至少预定误相关性的网,可定义一个或多个模式。此时,可向匹配所定义模式的网指派网布线约束和/或缩放因子。可向设计中匹配该些模式的网应用这些网布线约束和缩放因子。可使用应用了网布线约束和缩放因子的网来执行对该设计的优化布局和较高努力实际布线。可生成经优化的、已布线的设计作为输出。
文档编号G06F17/50GK102741848SQ201180007709
公开日2012年10月17日 申请日期2011年1月14日 优先权日2010年1月29日
发明者C-M·楚, J·C·林, 乔长歌 申请人:辛奥普希斯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1