首页> 中国专利> 一种集成电路设计中优化连线约束的方法和系统

一种集成电路设计中优化连线约束的方法和系统

摘要

本发明公开了一种集成电路设计中优化连线约束的方法和系统,其中方法包括:对于连线中的至少一个子连线,确定该子连线的目标时序路径;计算确定的该子连线的目标时序路径上的TP参数和RP参数,其中,TP参数为该子连线所在的目标时序路径上时序收敛的可能性,RP参数为该子连线所在的目标时序路径上经过的物理绕线轨迹的解决拥塞问题的可能性;获得集成电路设计工具为该子连线设置的当前连线约束;以及根据在TP参数和RP参数组成的二维空间中,子连线的目标时序路径上的TP参数和RP参数在该二维空间中的空间位置的不同而设置的不同的连线约束调整策略,调整该子连线的当前连线约束。本发明能够使得连线的过程对时序的影响变小。

著录项

  • 公开/公告号CN102467582A

    专利类型发明专利

  • 公开/公告日2012-05-23

    原文格式PDF

  • 申请/专利权人 国际商业机器公司;

    申请/专利号CN201010532083.0

  • 发明设计人 汤晓峰;葛亮;徐晨;唐佳廉;李侠;

    申请日2010-10-29

  • 分类号G06F17/50(20060101);

  • 代理机构中国国际贸易促进委员会专利商标事务所;

  • 代理人付建军

  • 地址 美国纽约

  • 入库时间 2023-12-18 05:12:52

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-12-12

    专利权的转移 IPC(主分类):G06F17/50 登记生效日:20171123 变更前: 变更后: 申请日:20101029

    专利申请权、专利权的转移

  • 2014-08-13

    授权

    授权

  • 2012-07-04

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

    实质审查的生效

  • 2012-05-23

    公开

    公开

说明书

技术领域

本发明一般涉及集成电路芯片设计,更具体地,本发明涉及一种 集成电路设计中优化连线约束的方法和系统。

背景技术

目前的大规模集成电路经常包含超过百万个逻辑门。图1示出了 现有集成电路芯片的空间结构,由图1可见,芯片的底部是由晶体管 组成的基本层(Base Layer),上层是由金属连线组成的金属层。

集成电路的设计过程首先进行RTL编码(RTL coding),然后 通过使用集成电路设计工具(例如synopsys design compiler),将RTL 编码编译成门级的网表,网表中包含芯片的器件及连接关系,这个过 程称为综合,然后再进行芯片器件的摆放(Plcement),再进行连线(也 称绕线、布线或走线)。

在连线前,集成电路设计工具会基于连线,给出连线约束,包括 连线的长度、连线位于的层数以及连线的宽度,这样设计工具就可以 根据要求的连线约束,对整个设计进行自动连线。如果在芯片的特定 区域,金属层提供的连线资源少于需要的连线资源,就称为“拥塞”。 通常,使用拥塞矩阵、不同区域的拥塞数值或者拥塞图来描述拥塞的 严重程度以及拥塞在芯片上的位置。

在一般的集成电路芯片后端设计中,两个最重要的任务是时序收 敛和物理收敛。时序收敛指的是,电路中的所有逻辑单元能够满足预 先设定的全部时序要求,这些要求通常包括数字逻辑单元设计库中制 定的建立时间(setup time)和保持时间(hold time),还包括芯片前 端开发人员根据芯片的实际使用需求制定的特殊时序要求,这些要求 如果得不到满足,那么生产出来的芯片就不能在规定的温度和电压下 实现正确的逻辑功能。而物理收敛则是指所有布局布线必须满足设计 规则检查(DRC,Design Rule Check),这些设计规则需要检查所有 逻辑连接是否在物理级也被连接好,并且满足连线约束的要求,这些 要求一旦得不到满足,芯片在生产中就可能出现短路或者断路的现象, 致使芯片不能正常工作。

现有的集成电路设计中,为了满足时序收敛中的时序要求,芯片 在后端设计中通常需要做大量工作来优化电路以达到这些要求。这些 优化工作包括,改变数字逻辑单元的栅面积,来增大或缩小逻辑单元 的驱动能力以及延时;重新组合缓冲门(buffer)或者缓冲树(buffer  tree)的结构;插入更多更合理的缓冲树,来主要用于时钟树(clock  tree)的建立和优化;插入更多的缓冲门单元来满足物理线的传输时 间和负载约束要求;插入更多的缓冲门单元来满足保持时间甚至建立 时间的约束要求。这些行为中的百分之八十都是在向已有的逻辑设计 中添加更多的逻辑单元。事实上,在一块集成电路芯片的后端设计中, 原有的逻辑面积平均会被增大百分之十到二十。那么这些逻辑单元的 增加会带来两个直接的影响:第一,逻辑单元自身所占用的金属层(通 常是较低的金属层,也是布线密度最大的金属层)会急剧地增加;第 二,增加的逻辑单元所带来的新增的逻辑连线会消耗更多的布线资源, 这其中又有两个原因,一是因为原来的金属线会由于其上插入的缓冲 门单元而增加长度(布线走向发生变化),二是因为增加的逻辑单元 管脚连接需要更多的金属通孔。综上所述,时序收敛会带来空余布线 资源的减少,新增加的金属线和金属通孔在设计规则检查中又会遇到 新的问题,从而进一步加剧了布线资源的减少。除此之外,时序收敛 过程中增加的物理连线还要消耗EDA工具更多的时间来优化布线资 源。

另一方面,为了满足物理收敛中的设计规则检查,芯片在后端设 计中常常需要改变更多的金属层和金属通孔来满足物理规则的要求, 而有时候,这些金属层和金属通孔的改变会直接使得原有的金属线长 度增加或者缩短,从而带来金属线上的电阻和电容参数的变化,使得 金属连线上的信号传输时间和延时发生变化,这些变化(可能变快也 可能变慢)都会给时序收敛带来影响。特别是,在布线资源比较紧张 的区域,金属层和金属通孔的改变十分困难,由于这个区域原来的布 线资源就很紧张,所以牵一发则动全身的情况时常出现,很多时候为 了得到更多的布线资源,一些金属连线不得不绕开一些布线资源紧张 的区域,这将使得原来的金属线长度急剧增加,并且也很有可能带来 更多的金属通孔。这些增加将直接导致金属线上的电阻和电容参数的 变化,随之也将带来金属连线上的信号传输时间和延时的变化。综上 所述,物理收敛,特别是布线资源紧张区域的物理收敛,将会带来金 属连线上的信号传输时间和延时的变化,从而对时序收敛带来影响。

发明内容

现有集成电路设计过程中连线约束设置在连线上,而在连线级 别,时序和拥塞是混合在一起的,现有设计工具很难平衡这两个条件, 造成设置的连线约束具有这样或者那样的缺点,本发明提出了一种新 的集成电路设计中优化连线约束的方法和系统,该方法能够在设置连 线约束时根据时序和拥塞来优化设计连线约束,使得设计的集成电路 在满足时序收敛的条件下,拥塞区域更少。

根据本发明的一个方面,提供了一种集成电路设计中优化连线约 束的方法,包括:

对于连线中的至少一个子连线,确定该子连线的目标时序路径;

计算该子连线的确定的目标时序路径上的TP参数和RP参数, 其中,TP参数为该子连线所在的目标时序路径上时序收敛的可能性, RP参数为该子连线所在的目标时序路径上经过的物理绕线轨迹的解 决拥塞问题的可能性;

获得现有集成电路设计工具为该子连线设置的当前连线约束;以 及

根据在TP参数和RP参数组成的二维空间中,该子连线的目标 时序路径上的TP参数和RP参数在该二维空间中的空间位置的不同 而设置的不同的连线约束调整策略,调整该子连线的当前连线约束。

根据本发明的另一个方面,提供了一种集成电路设计中优化连线 约束的系统,包括:

目标时序路径确定装置,用于对于连线中的至少一个子连线,确 定该子连线的目标时序路径;

TP参数和RP参数确定装置,用于计算该子连线的确定的目标 时序路径上的TP参数和RP参数,其中,TP参数为该子连线所在的 目标时序路径上时序收敛的可能性,RP参数为该子连线所在的目标 时序路径上经过的物理绕线轨迹的解决拥塞问题的可能性;

当前连线约束获得装置,用于获得现有集成电路设计工具为该子 连线设置的当前连线约束;以及

连线约束调整装置,用于根据在TP参数和RP参数组成的二维 空间中,该子连线的目标时序路径上的TP参数和RP参数在该二维 空间中的空间位置的不同而设置的不同的连线约束调整策略,调整该 子连线的当前连线约束。

附图说明

通过对附图中本发明示例实施例方式的更详细描述,本发明的上 述、以及其它目的、特征和优势将变得更加明显,其中,相同的参考 标号通常代表本发明示例实施例方式中的相同部件。

图1示出了现有集成电路芯片的空间结构;

图2示出了现有的集成电路设计工具对于一部分电路设置的连线 约束示意图;

图3示出了下一级输出的路径中存在拥塞区域造成连线过长的示 例;

图4示出了一种集成电路设计中优化连线约束的方法的流程;

图5示出了设计的部分集成电路的器件连接关系;

图6示出了一个拥塞区域;

图7示出了二维RP-TP参数空间的双曲划分图;

图8示出了另一种空间划分的实施方式;

图9示出了增加RP-TP空间划分的区域的数量的一种空间划分 的实施方式;以及

图10示出了一种集成电路设计中优化连线约束的系统的结构框 图。

具体实施方式

将参照附图更加详细地描述本发明的优选实施方式,在附图中显 示了本发明的优选实施例。然而,本发明可以以各种形式实现而不应 该理解为被这里阐述的实施例所限制。相反,提供这些实施例是为了 使本发明更加透彻和完整,并且,完全将本发明的范围传达给本领域 的技术人员。

对于一个集成电路,只有同时达到时序收敛和物理收敛,才是一 个成功的设计。在设计过程的任何一个步骤中,都可以进行时序分析, 判断设计的集成电路时序受否收敛,时序分析在设计的初期比较初略, 越到设计的后期,时序分析越精确,越接近于真实的集成电路的时序。 而设计过程中每加入一个步骤,可能对上一个步骤分析出的时序又有 了新的影响,使得集成电路的设计变成一个迭代的过程。

本发明中,主要考虑连线过程对时序的影响,即如何在设计连线 约束时考虑时序的需求,使得连线的过程对时序的影响很小,更容易 同时达到时序收敛和物理收敛。

图2示出了现有的集成电路设计工具对于一部分电路设置的连线 约束示意图。这里的连线包括从上一级的输出(源器件)到下一级的 三个输入(分别为负载器件0、负载器件1和负载器件2)的三条子连 线。现有的集成电路设计工具设置的连线约束是基于连线的,也就是 说,对于三条子连线的连线约束是相同的,即,这三条子连线具有相 同的较宽的线宽,并且在第5或第6金属层。而通常,这三条子连线 并不一定都是时序关键的,可能只有一条子连线是时序关键的,而其 它两条子连线是存在足够的时序空间的,例如,如果只有到第一个下 一级输出(负载器件0)为时序关键路径,而其它两条路径为非时序 关键路径,那么设置同样的连线约束对于其它两条子连线就过于严格 了,使得这两条子连线就占据了更多的连线资源。

如果当到第三个下一级输出(负载器件2)的路径中存在拥塞区 域时,采用现有的集成电路设计工具设置的基于连线的连线约束会使 得到第三个下一级输出的路径需要绕过上述拥塞区域,造成连线过长, 图3示出了下一级输出的路径中存在拥塞区域造成连线过长的示例, 本来该路径不是时序关键的,其时序是满足设计要求的,但是该弯曲 的连线使得连线过长,电阻电容参数加大,加大了信号传输时间,使 得本来非时序关键的路径变成了时序关键路径,就可能使得根据现有 的集成电路设计工具设置的连线约束的最后连线不满足时序要求。

因此,现有的集成电路设计工具设置的基于连线的连线约束不能 够很好地解决平衡时序和减少拥塞区域。对于图2中的过于严格的连 线约束,本发明注意到可以通过保持到第一个下一级输出(负载器件 0)路径的线宽以及连线所在的层数,而将非时序关键路径在更低的金 属层连线,并且采用较细的线宽来释放一些连线资源,也就使连线约 束降低。也就是说,对于图3中的过于严格的连线约束,可以通过减 小连线的宽度,并且选择不同的层来减少连线约束。

针对上述类似的连线约束和平衡时序的矛盾,本发明提出了一种 集成电路设计中优化连线约束的方法,在该方法中,首先时序约束不 再对应整个连线,而是每一个子连线都有一个对应的连线约束,例如 对于图2中所述的连线包括三个子连线的情况,就会对应有3个子连 线的连线约束,这样,连线约束的力度变小,对于每一个子连线,可 以根据其子连线的时序要求,设置不同的约束。

现有的集成电路设计工具已经对连线有一套系统的设置连线约 束的方法,可以通过现有技术得到每一个子连线的当前子连线约束, 然后对这个当前子连线约束进行修正。

本发明对于任意一个子连线(或者称为子线,本文全文中子线和 子连线混用,表示的含义相同),把子连线分为四种类型,即第一类 型为时序关键并且很难绕线的子线;第二类型为时序关键并且很容易 绕线的子线;第三类型为时序不关键并且很难绕线的子线;第四类型 为时序不关键并且很容易绕线的子线;

针对上述四种不同类型的子线,修正的策略分别为:对第一类型 子线,不处理,也就是保持原来的连线约束不变;对第二类型子线, 对绕线的宽度加宽,将绕线放置到更高层的金属层;对第三类型子线, 对绕线的宽度减少,将绕线放置到更低层的金属层;对第四类型子线, 不处理,也就是保持原来的连线约束不变。

上述修正策略的主要原因是:对于第一类型的子线,是通过对第 二类型和第三类型的子线的连线约束进行修正后,会影响到第一类型 的子线,从而将第一类型的子线改变为第二类型或者第三类型的子线; 而对于第四类型的子线,因为该子线已经同时满足时序收敛核物理收 敛,所以无需处理。第二类型的子线通过对绕线的宽度加宽,将绕线 放置到更高层的金属层可以促进时序收敛;对第三类型的子线,通过 对绕线的宽度减少,将绕线放置到更低层的金属层可以减少对绕线资 源的要求。

如何判别一条子线属于上述四种类型的那一类型呢?本发明定 义了两个新的参数,TP参数和RP参数,确定一条子连线的TP参数 和RP参数之前,需要确定该子连线的目标时序路径。TP参数为该子 连线所在的目标时序路径上时序收敛的可能性,RP参数为该子连线 所在的目标时序路径上经过的物理绕线轨迹的解决拥塞问题的可能 性。TP参数和RP参数组成了一个二维TP-RP参数空间,对于任意 一个子连线,其TP参数和RP参数可以计算出具体的值,那么就可 以确定该子连线的参数在二维TP-RP参数空间中的位置。二维TP-RP 空间中,子连线位于不同的位置,对应着子连线属于不同的类型,从 而将采用不同的连线约束调整策略。

因此,本发明的一种集成电路设计中优化连线约束的方法,其流 程如图4所示,包括:

在步骤S401,对于连线中的至少一个子连线,确定该子连线的 目标时序路径;

在步骤S402,计算该子连线的确定的目标时序路径上的TP参数 和RP参数,其中,TP参数为该子连线所在的目标时序路径上时序收 敛的可能性,RP参数为该子连线所在的目标时序路径上经过的物理 绕线轨迹的解决拥塞问题的可能性;

在步骤S403,获得现有集成电路设计工具为该子连线设置的当 前连线约束;

在步骤S404,根据在TP参数和RP参数组成的二维空间中,该 子连线的目标时序路径上的TP参数和RP参数在该二维空间中的空 间位置的不同而设置的不同的连线约束调整策略,调整该子连线的当 前连线约束。其中,步骤S403只要在步骤S404之前执行即可,与步 骤S401和步骤S402之间没有一定的前后关系,而步骤S402需要依 赖于步骤S401,步骤S404需要前三个步骤都执行完毕。

目标时序路径的确定是唯一的,取决于网表的结构和设计的约 束,一旦这两者确定下来,那么子连线和目标时序路径的对应关系就 确定下来了,下面以图5所示的设计的部分集成电路的器件连接关系, 给出一种子连线的目标时序路径的确认方法:图5上标的数值为当前 连接点的收敛程度,即定义为当前点的要求到达时间(requiredAT)和 到达时间(AT)的差值,此值总是小于等于其所在时序路径的收敛程度。 如果当前连接点的收敛程度大于0,则表示当前连接点时序已经收敛, 如果当前连接点的收敛程度小于0,则当前连接点的收敛程度小于0 的程度越大,当前连接点时序越不收敛。例如对于子线A,首先获得 该子线的所有时序路径,图5中子线A所在的时序路径有两条,分别 为:

Reg_a→Inv_a→Inv_b→And_a→And_b→Reg_;和

Reg_b→And_a→And_b→Reg_d

对每一条时序路径计算出路径时序收敛程度,然后将获得的子线 的每个时序路径上的所有当前连接点的收敛程度代数相加得到的每个 时序路径收敛程度值,选取时序路径收敛程度值最小的那条时序路径 作为这条子线的目标时序路径。上述两条时序路径中,第一条时序路 径收敛程度值为-10,第二条时序路径收敛程度值为-3,因此,选取第 一条时序路径作为目标时序路径。

另外也可以用数据发射点和数据接收点的收敛程度值来确定子 线的目标时序路径,时序检查点都为数据存储器件,如上图中的reg, 对于上图中的子线A,先找出所有数据经过子线A到达的数据接收点, 选取时序收敛程度最小的,如上图中只有一个Reg_d,再找出所有数 据经过子线A出发的数据发射点,如上图中有Reg_a和Reg_b,选取 时序收敛程度最小的,从而得到这条子线的时序路径,在上图中为 Reg_a→Inv_a→Inv_b→And_a→And_b→Reg_d,或者 Reg_b→And_a→And_b→Reg_d,取决于Reg_a还是Reg_b的时序收 敛程度小。

TP参数和RP参数都是在子连线的目标时序路径上计算的。如 何计算TP参数有多种方法,下面以图5所示的设计的部分集成电路 的器件连接关系,给出多种计算TP参数的方法,找出每一条子连线 所在的目标时序路径后,根据不同时序检查的时序收敛程度值获得TP 参数值,具体来说,根据不同时序检查的时序收敛程度值获得TP参 数值有以下不同计算方法:

(1)使用确定的该子连线的目标时序路径上的建立时间(setup) 检查时序收敛程度值作为这条子连线的TP参数值,即

setup slack=clock arrival time+clock adjust-data arrival  time-guard time

TP=setup slack,

其中,setup slack为该子连线所在的目标时序路径上的建立时间 检查时序收敛程度值;clock adjust为根据频率得出的时钟周期;data  arrival time为该子连线所在的目标时序路径上的数据到达时间; guard time为器件模型库中定义的为了保证器件正常工作而必须要留 出的时间裕量。其中前三个参数由时序分析工具算出,这是数字集成 电路设计中时序分析的常规方法。

(2)使用确定的该子连线的目标时序路径上的建立时间(setup) 检查时序收敛程度值和保持时间(hold)检查时序收敛程度值的加权平 均值作为TP参数值,即

hold slack=data arrival time-guard time-clock arrival time- clock adjust

TP=setup slack*C+hold slack*(1-C)

其中,hold slack为该子连线所在的目标时序路径上的保持时间 检查的时序收敛程度值,由时序分析工具算出,上述其它参数的含义 与第一种方法相同,并且C为某常数,可以由设计人员根据经验设定。

(3)使用确定的该子连线的目标时序路径上的建立时间检查时 序收敛程度值与目标时序路径上的逻辑级数的倒数的和作为TP参数 值;即

TP=setup slack+C*level-1

其中,level为该子连线所在的目标时序路径上的逻辑级数,由 时序分析工具算出,其它参数的含义与第一种方法相同,C为某常数, 可以由设计人员根据经验设定。

(4)使用确定的该子连线的目标时序路径上迟时间(late)和早时 间(early)的差异(variation)作为TP参数值;即

TP=AT(late)-AT(early)

其中,AT(late)为该子连线所在的目标时序路径上的迟时间, AT(early)为该子连线所在的目标时序路径上的早时间,由时序分析 工具算出。

还有很多其它方法,这里就不再一一用赘述。这样,使用上述任 何一种方法都可以得到该子连线所在的目标时序路径上TP参数。

找出每一条子连线所在的目标时序路径后,就可以计算RP参数。 如何计算RP参数也有多种方法,下面以图6所示的拥塞区域,给出 多种计算RP参数的方法。在计算RP参数之前,将该子连线所经过 的拥塞区域划分成一定大小的网格(如图6为12个小格),每个网格 根据所经过的绕线的数量标记一个拥塞程度。网格的拥塞程度在现有 的拥塞分析工具中可以提供该数值,一般来说,这些拥塞分析工具是 根据小格的物理边长TW,以及实际经过小格区域的走线已经占用的尺 寸(包括连线宽度NW和连线物理最小间距Pitch,可以确定该小格的拥 塞程度:

Coni=Σj=0nNWj+Σj=0n-1Pitchj,j+1TW

具体来说,如果小格的宽度为11um,连线的最小宽度为1um, 连线之间的最小允许间距为1um,则可以确定该区域最多允许6条最 小宽度连线存在;如果该区域的实际存在4条最小宽度连线,并且其 间距为最小允许间距,那么该网格的拥塞程度为7/11=63.63%。

计算每一条子连线所在的目标时序路径的RP参数需要利用各小 格的拥塞程度数值,具体来说,可以有以下不同计算方法:

(1)使用公式计算出该子连线经过的超 过阈值A的拥塞网格的拥塞度差值平方。其中,Coni为每个子线经过 的拥塞区域的拥塞数值,是一个相对值,可以将图5所示的拥塞数值 全部线性化成0-100的整数,以下方法中都采用线性化成0-100的整 数作为拥塞数值,例如,如果设定A=80,则子线1的RP参数为254, 子线2的RP参数为1164。

(2)使用该子连线经过的最拥塞网格的拥塞值作为该子连线 的RP参数值,则子线1的RP参数为95,子线2的RP参数为105。

(3)使用该子连线经过的一个输出端和一个输入端为顶点所 构成的矩形包含的网格的拥塞值之和作为该子连线的RP参数值,则 子线1的RP参数为177,子线2的RP参数为367。

还有很多其它方法计算RP参数,这里就不再一一用赘述。

步骤S404根据在TP参数和RP参数组成的二维空间中,子连线 的目标时序路径上的TP参数和RP参数在该二维空间中的空间位置 的不同而设置的不同的连线约束调整策略,调整该至少一个子连线的 当前连线约束中,TP参数和RP参数组成的二维空间可以采用不同的 空间划分方法。

在一种空间划分实施方式中,使用双曲线 Ci=(RP-RP0)*(TP-TP0)将二维RP-TP参数空间划分,图7示出 了二维RP-TP参数空间的双曲划分图。C0和C1是Ci的两个阈值, 通过这两个阈值,就可以得到两组双曲线,将RP-TP参数空间分隔 成五部分,分别为区间A0、区间A1、区间B0、区间B1和区间O。 各区间所占的二维RP-TP参数空间如表1所示。

表1各区间所占的二维TP-RP参数空间

对于上述空间划分方法,其连线约束调整策略可以考虑为:

1.位于区间A0,A1的子线没有绕线问题,但是时序很难收敛, 对应为前面的第二类型的子线,其中,A1的时序问题比A0的时序问 题更严重,因此,在A1区域的子线线宽要更宽,所在的金属层层数 更高;

2.位于区间B0,B1的子线没有时序问题,但是所在区域的绕线 拥塞问题严重,对应为前面的第三类型的子线,其中,B1的绕线拥塞 问题比B0的问题更严重,因此,在B1区域的子线线宽要更窄,所在 的金属层层数更低;

3.位于区间O的左上角的子线对应第四类型的子线,无需处理;

4.位于区间O的右下角的子线对应第一类型的子线,同时存在 时序收敛问题和绕线拥塞问题。不能为了满足一个而牺牲另外一个。 这些线无需处理,而是通过对位于优化同一路径上的其他无绕线拥塞 问题的子线段-位于区间A0,A1,以及优化位于同一区域内的其他无 时序收敛问题的子线段-位于区间B0,B1,来间接的优化此子线段的 时序情况和绕线环境。

在本发明中,所有的连线约束调整策略都基于现有的的EDA工 具,因此在步骤S403,需要获得现有集成电路设计工具为该至少一个 子连线设置的当前连线约束,然后连线约束调整策略再利用获得的现 有集成电路设计工具为该至少一个子连线设置的当前连线约束进行调 整。在业界的其他EDA工具中,同样也有类似的变量或者参数来控 制sub-net的布线宽度和金属层,当加宽金属并使用更高的金属层, 目的是为了减小这根线的延时,加快这部分电路,这么做的原因一定 是是因为这根线的C值在上面的曲线图中落在了时序紧张但是布线空 间充裕的区域,也就是C0曲线的左下方;相反的,当缩窄金属并使 用更低的金属层,目的是为了减小布线拥挤,但是适当放慢了这部分 电路,这么做的原因一定是因为这根线的C值在上面的曲线图中落在 了布线拥挤但是时序并不紧张的区域,也就是C0的右上方。

二维TP-RP参数空间划分还有其它的方法,图8示出了另一种 空间划分的实施方式。图8中,将二维TP-RP参数空间组成的平面, 按照RP参数值和TP参数值的不同,分成若干的矩形区间。在每一 个小区间中,定义一个适当的连线约束调整策略。整体方向上,与双 曲线划分二维TP-RP参数空间的连线约束调整策略类似,连线约束调 整策略为:越接近二维TP-RP参数空间右上角的区域,把连线变得越 细,以及和/或降低该连线所在的金属层层数;越接近二维TP-RP参 数空间左下角的区域,把连线变得越粗,以及和/或提高该连线所在的 金属层层数。对于每一条子线段,都可以根据它自身的RP和TP参 数值,落到某一个格子中,就按找这个格子所定义的连线约束调整策 略优化。具体每一个格子所定义的优化策略可以使用适当的数据结构 来存储,包括但不限于表、数组等等。

这种分区间定义每一个格子所定义的优化策略的方法相比于之 前提到的解析式法,有更高的灵活性,可以根据具体的设计需要,灵 活并且独立的配置每一个方格。

另外,根据不同工艺所能允许调整线宽的级别数量不同,还可以 进一步增加RP-TP空间划分的区域的数量,即可以设置多个阈值,将 RP-TP空间分成更多的区域,增加优化的精度。如图9所示。或者, 将按照RP和TP参数值的不同,分成若干的矩形区间的二维参数空 间划分成更细的空间,每一个小格更小。相应的,连线约束调整策略 还是越接近二维TP-RP参数空间右上角的区域,把连线变得越细,以 及和/或降低该连线所在的金属层层数;越接近二维TP-RP参数空间 左下角的区域,把连线变得越粗,以及和/或提高该连线所在的金属层 层数。具体每一个格子所定义的连线约束调整策略可以使用适当的数 据结构来存储,包括但不限于表、数组等等。

在同一个发明构思下,本发明还公开了一种集成电路设计中优化 连线约束的系统,其结构如图10所示,根据图10,该系统1000包括: 目标时序路径确定装置1001,用于对于连线中的至少一个子连线,确 定该子连线的目标时序路径;TP参数和RP参数确定装置1002,用 于计算该子连线的确定的目标时序路径上的TP参数和RP参数,其 中,TP参数为该子连线所在的目标时序路径上时序收敛的可能性, RP参数为该子连线所在的目标时序路径上经过的物理绕线轨迹的解 决拥塞问题的可能性;当前连线约束获得装置1003,用于获得现有集 成电路设计工具为该子连线设置的当前连线约束;以及连线约束调整 装置1004,用于根据在TP参数和RP参数组成的二维空间中,该子 连线的目标时序路径上的TP参数和RP参数在该二维空间中的空间 位置的不同而设置的不同的连线约束调整策略,调整该子连线的当前 连线约束。

在一种实施方式中,所述目标时序路径确定装置1001包括:用 于获得该子线的所有时序路径的装置;用于将获得的子线的每个时序 路径上的所有当前连接点的收敛程度代数相加得到的每个时序路径收 敛程度值的装置;以及用于选取时序路径收敛程度值最小的那条时序 路径作为这条子线的目标时序路径的装置。在优选的实施方式中,系 统1001还包括拥塞区域划分装置(图10未示出),用于在计算RP 参数之前,将该子连线所经过的拥塞区域划分成一定大小的网格,每 个网格根据所经过的绕线的数量标记一个拥塞程度。

目标时序路径确定装置1001确定子线的目标时序路径后,系统 中的TP参数和RP参数确定装置中,TP参数值采用以下之一:

(1)使用确定的该子连线的目标时序路径上的建立时间(setup) 检查时序收敛程度值作为这条子连线的TP参数值;

(2)使用确定的该子连线的目标时序路径上的建立时间(setup) 检查时序收敛程度值和保持时间(hold)检查时序收敛程度值的加权平 均值作为TP参数值;

(3)使用确定的该子连线的目标时序路径上的建立时间检查时 序收敛程度值与目标时序路径上的逻辑级数的倒数的和作为TP参数 值;

(4)使用确定的该子连线的目标时序路径上迟时间(late)和早时 间(early)的差异(variation)作为TP参数值。

目标时序路径确定装置1001确定子线的目标时序路径,并且拥 塞区域划分装置划分好拥塞区域后,所述TP参数和RP参数确定装 置中,RP参数值采用以下之一:

(1)使用该子连线经过的超过规定阈值的拥塞网格的拥塞度差 值平方作为该子连线的RP参数值;

(2)使用该子连线经过的最拥塞网格的拥塞值作为该子连线的 RP参数值;

(3)使用该子连线经过的一个输出端和一个输入端为顶点所构 成的矩形包含的网格的拥塞值之和作为该子连线的RP参数值。

本发明中,TP参数和RP参数组成的二维空间被划分成不同的 部分,一种实施方式中,使用双曲线划分成不同的部分;在另外一种 实施方式中,二维TP-RP参数空间中,按照RP和TP参数值的不同, 分成若干的矩形区间。在上述两种划分方式中,都可以根据不同工艺 所能允许调整线宽的级别数量不同,近一步增加RP-TP空间划分的区 域的数量。划分后的区域中,连线约束调整装置中的连线约束调整策 略可以为:越接近二维TP-RP参数空间右上角的区域,把连线变得越 细,以及和/或降低该连线所在的金属层层数;越接近二维TP-RP参 数空间左下角的区域,把连线变得越粗,以及和/或提高该连线所在的 金属层层数。

虽然这里参照附图描述了本发明的示例性实施例,但是应该理解 本发明不限于这些精确的实施例,并且在不背离本发明的范围和宗旨 的情况下,本领域普通技术人员能对实施例进行各种变化的修改。所 有这些变化和修改意欲包含在所附权利要求中限定的本发明的范围 中。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号