首页> 中国专利> 用所定义模式改善预布线和后布线网相关性

用所定义模式改善预布线和后布线网相关性

摘要

一种改善预布线和后布线相关性的方法可包括执行设计的初始布局、虚拟布线、和较低努力实际布线。可比较虚拟布线和较低努力实际布线的结果以标识具有误相关性的网。基于具有至少预定误相关性的网,可定义一个或多个模式。此时,可向匹配所定义模式的网指派网布线约束和/或缩放因子。可向设计中匹配该些模式的网应用这些网布线约束和缩放因子。可使用应用了网布线约束和缩放因子的网来执行对该设计的优化布局和较高努力实际布线。可生成经优化的、已布线的设计作为输出。

著录项

  • 公开/公告号CN102741848A

    专利类型发明专利

  • 公开/公告日2012-10-17

    原文格式PDF

  • 申请/专利权人 辛奥普希斯股份有限公司;

    申请/专利号CN201180007709.9

  • 发明设计人 乔长歌;C-M·楚;J·C·林;

    申请日2011-01-14

  • 分类号G06F17/50;

  • 代理机构上海专利商标事务所有限公司;

  • 代理人徐伟

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-18 07:02:10

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-05-06

    授权

    授权

  • 2012-12-12

    实质审查的生效 IPC(主分类):G06F17/50 申请日:20110114

    实质审查的生效

  • 2012-10-17

    公开

    公开

说明书

相关申请

本申请涉及由Kevin Croysdale和Jason Upton在2009年9月8日提交 且通过援引包括于此的题为“Automatic RC Pattern Scaling Generation(自 动RC模式缩放生成)”的美国临时专利申请61/240,574-1069。

发明背景

发明领域

本发明涉及集成电路设计优化,并且尤其涉及使用所定义模式来改善 预布线和后布线相关性。该改善的相关性致使更好的资源效率和更快的设 计完工。

背景技术

随着集成电路的技术节点变得更小,设计的不同部分可能对IC设计人 员造成重大挑战。例如在使用65nm及以下的工艺技术的设计中,线延迟 可能支配着单元延迟。线延迟误相关性可源于布线拓扑,诸如设计的高扇 出或拥塞区域。此外,对于28nm技术节点以及以下,通孔电阻导致的延 迟可能变成重要问题。目前,在设计开发的早期很难预计将要使用多少通 孔以及使用什么样的通孔。另外,在28nm技术节点及以下,较低金属层 与较高金属层相比可具有20-40倍的每单位长度电阻。因此,较上层中的 长网可具有悲观的延迟估计,而较低层中的短网可具有乐观的延迟估计。

常规布局和布线工具基于网引脚的初始布局来执行虚拟(粗略)布线 (在本文称之为“预布线”的阶段)。为了解决上述延迟估计问题,常规 布局和布线工具对线延迟、通孔计数、以及层电阻使用均值。相反,在实 际布线期间(在本文也称之为“后布线”的阶段),常规布局和布线工具 使用详细的线延迟、通孔计数、和层电阻,由此生成相当准确的延迟估计。 遗憾的是,为了生成这些延迟估计,需要相当多的系统和时间资源。因此, 为了确保向用户提供关于设计的快速反馈,在预布线阶段期间虚拟布线继 续使用较不准确的延迟模型。

由于上述问题,在预布线阶段的电路优化期间所设想的网的延迟可能 与布线后其实际延迟有很大不同,从而因此误导电路优化。这种误导还可 能造成在预布线优化期间关键网未被优化或者非关键网过度优化。

因此,需要一种改善预布线和后布线延迟相关性的方法以提供优化的 电路设计。由于预布线优化比后布线优化明显灵活很多,所以后布线优化 应使用有限的优化技巧来修正在预布线阶段不能轻易预测的定时和设计违 规以使设计完工。

发明概述

对于现有技术集成电路设计,不同的布线拓扑、层指派、和通孔计数 估计可很大程度地影响到预布线网延迟估计。一种改善预布线和后布线相 关性的方法可包括执行设计的初始布局、虚拟布线、和较低努力实际布线。 注意,术语“努力”指代优化的积极性,例如,用于消除设计违规的迭代 次数(其与运行时间直接相关)。此外,注意虚拟布线仅提供布线估计, 并因此不执行实际布线所执行的优化水平。

可比较虚拟布线和较低努力实际布线的结果以标识具有误相关性的 网。明显误相关性可由用户确定或由于超过所设阈值而被标识。在一个实 施例中,该结果可以是电子数据表的经排序的条目,由此帮助比较。基于 具有至少预定误相关性的网,可定义一个或多个模式。

此时,可向匹配所定义模式的网指派网布线约束。网布线约束可包括 布线层约束和/或非默认布线规则。布线层约束可涉及用于网实现的最小层 和/或最大层。非默认布线规则可涉及双宽度网、网间双间隔、锥形规则、通 孔切口数目、或另一非默认通孔配置。可向该设计中具有所定义模式的网应 用这些网布线约束。

可使用应用了网布线约束的网来执行对该设计的布局优化和较高努力 实际布线。经优化的、已布线的设计可被输出。所述方法还可包括比较虚 拟布线和较高努力实际布线的结果以精炼模式定义和网布线约束。

在一个实施例中,还可向匹配所定义模式的网指派缩放因子。指派缩 放因子可包括为网设置最小水平电容、最小水平电阻、最大水平电容、最大 水平电阻、最小垂直电容、最小垂直电阻、最大垂直电容、以及最大垂直电阻。 可向该设计中具有所定义模式的网应用这些缩放因子。在一个实施例中, 可设置通孔计数缩放因子,其中至少一个模式被定义用于通孔计数缩放。 可使用具有缩放因子的网来执行布局优化。

所定义模式可指扇出数目、边界框大小、边界框纵横比、网长度、拥塞、 余量、和/或坐标(即,定义芯片区域的具体坐标集)。在一个实施例中,所 定义模式可包括扇出阈值、扇出界限、边界框阈值、边界框界限、长度阈 值、长度界限、水平拥塞阈值、水平拥塞界限、垂直拥塞阈值、垂直拥塞 界限、余量阈值、余量界限、坐标(即,定义芯片的矩形区域的两个(x,y) 坐标)、边界框纵横比阈值、以及边界框纵横比界限中的至少一者。

在一个实施例中,可结合具体网模式使用更精确的延迟计算模型(例 如,AWE)来替代在虚拟布线中使用的常规默认延迟计算模型(例如,Elmore 模型)。一种存储用于对集成电路的设计进行布局和布线的计算机可执行 指令的计算机可读介质可包括用于执行上述步骤的指令。

包括网布线约束和/或缩放因子的基于模式的RC缩放技术可被用于改 善预布线和后布线网延迟相关性。其他应用包括通过强加悲观成本来优化 掉具有预定义模式的网和/或折衷缓冲相对布线约束指派。

附图简要说明

图1解说示例性数字IC设计流的简化表示。

图2解说包括基于模式的RC缩放的示例性技术。

图3解说可被用于对误相关性进行标识和排序的示例性电子数据表。

附图的详细描述

电子设计自动化(EDA)工具可被有利地用于在布局和布线阶段优化 集成电路设计。一般而言,在实际布线期间执行的优化将力图消除设计违 规并因此与在布局期间所执行的估计布线相比往往要求更多的迭代和更长 的运行时间。

根据本发明的一个方面,布局优化阶段的有限量的附加信息可被用来 明显地改善在布局期间执行的估计布线——称为虚拟布线(即,预布 线)——与实际布线(即,后布线)之间的相关性。此信息可包括基于模 式的RC缩放。如在下文进一步详细描述的,基于模式的RC缩放可被应用 于由布线拓扑、层指派以及其他设计方面所定义的模式。在一个实施例中, 可为显现较差的预布线和后布线相关性的网定义模式。在另一实施例中, 模式可进一步限于与关键网相关联的那些模式,关键网由用户所标识并且 通常占网总数的较小百分比(例如,少于5%)。

除了改善预布线和后布线相关性,使用基于模式的RC缩放还可允许 用户“优化掉”(即阻止)设计中的某些模式。而且,基于模式的RC缩 放还可允许用户在缓冲与布线约束指派之间作更有效的权衡。基于模式的 RC缩放的这些及其他方面在下文进一步详细地描述。

在进一步描述之前,将该基于模式的RC缩放技术置于上下文中可能 是有帮助的。图1示出示例性IC设计流的简化表示。在较高层面上,该过 程始于产品构想(步骤100)并且在EDA软件设计过程中实现(步骤110)。 该设计在完成时可出带(tape-out)(事件140)。在出带后,发生制造过 程(步骤150)和封装及组装过程(步骤160),最终得到完成的芯片(结 果170)。

EDA软件设计过程(步骤110)实际包括数个步骤112-130,出于简单 起见这些步骤以线性方式示出。在实际的IC设计过程中,具体设计可能必 须来回反复进行这些步骤直至通过某些测试。类似地,在任何实际的设计 过程中,这些步骤可能以不同次序和组合发生。因此本描述是作为上下文 和一般性解释而提供的,而不是特定IC的具体或推荐设计流。

现在将提供EDA软件设计过程(步骤110)的组成步骤的简要描述:

系统设计(步骤112):设计人员描述他们想要实现的功能性,他们 可执行假设分析规划以精炼功能性、检查成本等等。在此阶段可进行硬件- 软件架构划分。在此步骤可使用的来自Synopsys公司的示例性EDA软件 产品包括Model Architect、Saber、System Studio、以及产品。

逻辑设计和功能检验(步骤114):在此阶段,编写系统中模块的VHDL 或Verilog代码并检查设计的功能成果。更具体地,检查该设计以确保产生 正确输出。在此步骤可使用的来自Synopsys公司的示例性EDA软件产品 包括VCS、VERA、Magellan、Formality、ESP以及LEDA 产品。

合成及测试设计(步骤116):这里,VHDL/Verilog被转译成网表。 可针对目标技术对该网表进行优化。另外,发生对测试的设计和实现以准 许对完成的芯片进行检查。在此步骤可使用的来自Synopsys公司的示例性 EDA软件产品包括DesignPower Compiler、Tetramax、以及 产品。

网表检验(步骤118):在此步骤,检查网表与定时约束的顺应性和 与VHDL/Verilog源代码的一致性。在此步骤可使用的来自Synopsys公司 的示例性EDA软件产品包括Formality、PrimeTime、以及VCS产品。

设计规划(步骤120):这里,构造芯片的整体平面布置图并分析其 定时和顶层布线。在此步骤可使用的来自Synopsys公司的示例性EDA软 件产品包括Astro和IC Compiler(编译器)产品。

物理实现(步骤122):在此步骤发生布局(电路元件的定位)和布 线(这些电路元件的连接)。在此步骤可使用的来自Synopsys公司的示例 性EDA软件产品包括Astro和IC Compiler产品。在一个实施例中,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缩放

在布局阶段执行的虚拟布线(即,预布线)网延迟估计可通过网布线 约束和/或RC缩放(在电子设计自动化(EDA)行业中也称之为寄生缩放) 来增强。一般而言,缩放因子是可与匹配一模式的网的电容和/或电阻相乘 以促成更佳的设计优化的值。

匹配一模式的网的寄生效应可以两种方式来操纵。首先,可基于与电 容和电阻相关联的最小和最大以及水平和垂直变量来设置RC缩放因子。 在一个实施例中,还可以设置关于通孔计数的RC缩放因子。在另一实施 例中,还可以设置更精确的延迟计算模型,例如AWE。以下示出的伪代码 可提供电阻/电容因子、通孔计数缩放因子、和延迟模型。

设置_模式_延迟_估计_选项

-最小_水平_电容_缩放因子            (浮点数)

-最小_水平_电阻_缩放因子            (浮点数)

-最大_水平_电容_缩放因子            (浮点数)

-最大_水平_电阻_缩放因子            (浮点数)

-最小_垂直_电容_缩放因子            (浮点数)

-最小_垂直_电阻_缩放因子            (浮点数)

-最大_垂直_电容_缩放因子            (浮点数)

-最大_垂直_电阻_缩放因子            (浮点数)

-通孔_计数_缩放因子                 (浮点数)

-默认

(布尔)

-模式id

(整数)

-延迟_模型

(串)

在一个实施例中,设置电阻/电容和通孔计数缩放因子可以是用户定制 的,即用户设置每个缩放因子的值(其中“浮点数”指示任何非零的正值, 即整数或分数)。如在下文进一步详细描述的,对于与一所定义模式相关 联的每组缩放因子,用户还可设置模式标识(id)。注意,用户也可以改为 设置默认选项(布尔,即真或假),此举清除所有的RC缩放因子和通孔 计数因子以及将虚拟布线中使用的延迟模型重置为较不准确的模型,例如 Elmore。

匹配一模式的网还可以受制于网布线约束,这可包括非默认布线规则 和/或布线层约束。非默认布线规则可以指双宽度网、网间双间隔、锥形规 则(对于具有变化的宽度的网)、通孔切口(其中默认通孔正常有一个切 口并且任何附加切口可进一步降低通孔电阻)、非默认通孔、以及有特定 兴趣的其他模式。布线层约束可以指最小布线层约束和/或最大布线层约束。 在一个实施例中,网布线约束可以是用户生成的。

以下伪代码可提供非默认布线规则以及最小布线层约束和最大布线层 约束(其中“串”指示多个字母和/或数字,其可描述该非默认布线规则或 布线层约束)。

设置_模式_延迟_估计_选项

-规则 规则_名称    (串)

-最小_层_名称 串   (串)

-最大_层_名称 串   (串)

-模式id          (整数)

注意,规则_名称标识(由用户生成的)具体非默认布线规则,工具随 后访问它以确定该规则是如何定义的。以下提供了用于定义规则的示例性 伪代码。

定义_布线_规则

规则_名称

[-参考_规则_名称 参考_规则_名称

|-默认_参考_规则]

[-宽度{层_名称_和_宽度_对}]

[-间隔{层_名称_和_间隔_列表_对}]

[-间隔_权重{层_名称_和_权重_列表_对}]

[-屏蔽]

[-屏蔽_宽度{层_名称_和_屏蔽_宽度_对}]

[-屏蔽_间隔

{层_名称_和_屏蔽_间隔_对}]

[-快速_至_迹线]

[-通孔_切口{通孔_定义_列表}]

[-锥形_水平 锥形_水平]

[-乘法器_宽度 层_宽度]

[-乘法器_间隔 层_间隔]

[-锥形_距离 锥形_距离]

在一个实施例中,布线约束指派并不显式地指派具体电阻和电容;然 而对集成电路的非默认布线规则和/或最小或最大层的布线约束指派隐式地 具有可从这些布线约束推导出的电阻和电容两者。

在一个实施例中,网布线约束可被给予高于缩放因子的优先级。在这 种情形下,在模式匹配期间,当网与模式匹配时,则将应用网布线约束并 忽略缩放因子。

设计中的模式可使用例如扇出数目、拥塞、网边界框(最小或最大大 小、或纵横比)、余量(slack)(最小或最大值)、以及以上因素的各种 组合来定义。

例如,可使用以下伪代码用扇出计数(例如,最小扇出计数(阈值) 和/或最大扇出计数(界限))和网边界框(bbox)的大小(例如,最小大 小(阈值)和最大大小(界限))来定义具体模式(1)。

创建_网_模式

-扇出_阈值    <扇出_计数>

-扇出_界限    <扇出_计数>

-bbox_阈值    <bbox_大小>

-bbox_界限    <bbox_大小>

设置_模式_延迟_估计_选项

-最小_水平_电容_缩放<因子>

-最小_水平_电阻_缩放<因子>

-最大_水平_电容_缩放<因子>

-最大_水平_电阻_缩放<因子>

-最小_垂直_电容_缩放<因子>

-最小_垂直_电阻_缩放<因子>

-最大_垂直_电容_缩放<因子>

-最大_垂直-电阻_缩放<因子>

-模式1

注意,边界框可以通过其左下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”来使该拥塞区域的通孔数目加倍。

创建_网_模式

-坐标"10 10 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可确定是否存在具有不良相关性的网的一个或多个共同因素 (例如,网长度、扇出数目等等),由此有效地标识模式。随后可定义所 标识的模式以用于工具实现(例如,使用创建_网_模式命令)。注意,所 定义模式可由用户手动生成、或者由诸如IC Compiler之类的布局和布线工 具自动地生成。在一个实施例中,自动模式生成可通过比较寄生效应(比 较_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更精确,但是也慢。因此,当需要相对准确的解决 方案而又关心运行时间时,AWE一般优于Arnoldi。

在一个实施例中,AWE模型可仅被用于某些匹配预定模式的网。例如, AWE模型可仅被应用于关键网或具有大于预定阈值的延迟的那些网。在一 个实施例中,该预定阈值可被设为0.001ns。在一个实施例中,用户可设置 该预定阈值。

如上讨论地,基于模式的RC缩放技术可被用于改善预布线和后布线 网延迟相关性。其他应用包括通过强加悲观成本来优化掉具有预定义模式 的网和/或通过将模式与网布线约束相关联来折衷缓冲相对布线约束指派。

基于模式的RC缩放技术可以有利地在一个或多个计算机程序中实现, 该一个或多个计算机程序在包括至少一个可编程处理器的可编程系统上执 行,该至少一个可编程处理器被耦合成从和向数据存储系统、至少一个输 入设备和至少一个输出设备接收和传送数据和指令。每一种计算机程序都 可以用高级过程或面向对象编程语言、或者在需要时用汇编或机器语言来 实现;并且在任何情况下,该语言都可以是经编译或经解释的语言。合适 的处理器包括例如通用和专用微处理器以及其它类型的微控制器。一般地, 处理器将从只读存储器和/或随机存取存储器接收指令和数据。一般地,计 算机将包括用于存储数据文件的一个或多个大容量存储设备;这些设备包 括诸如内置硬盘和可移动盘等磁盘、磁光盘和光盘。适于有形地实现计算 机程序指令和数据的存储设备包括所有形式的非易失存储器,包括,作为 示例,半导体存储设备,诸如EPROM、EEPROM和闪存设备;磁盘,诸 如内置硬盘或可移动盘;磁光盘;以及CDROM盘。上述各项中的任一个 可由专用集成电路(IC)补充或被结合在专用IC中。

尽管本文已经参考附图详细描述了本发明的各说明性实施例,但可以 理解,本发明不限于这些精确实施例。它们并不是要穷举本发明或将本发 明限于所公开的精确形式。由此,许多修改和变体将会是明显的。例如, 注意可贯穿布局和布线操作来更新基于模式的RC缩放技术。此外注意, 尽管步骤202述及较低努力实际布线而步骤206述及较高努力实际布线, 此区别也可被表征为第一类型实际布线和第二类型实际布线,其中第二类 型实际布线使用的迭代大于第一类型实际布线使用的迭代。因此,本发明 的范围旨在由所附权利要求书及其等效物来定义。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号