专利名称:互连布局方法
技术领域:
本发明涉及到用确定诸如LSI设计所用的互连和电路元件的布置之类的布局的CAD(计算机辅助设计)来设计LSI逻辑电路的方法,确切地说是涉及到用于LSI逻辑电路中的互连的布局。
在用含有诸如触发器、倒相器之类的各种逻辑元件的CAD系统来设计LSI逻辑电路时,出现了各种问题。例如,各个待要与时钟信号同步地被激活的逻辑元件必须设定成使时钟信号传送给它时不带有信号延迟变化所造成的时钟相位偏移(或在可允许的范围内)。此时,用来将从外部输入到LSI逻辑电路的时钟信号传送到与时钟信号同步地被激活的各个逻辑元件的各个时钟互连的布线电容,以及其布线电阻所引起的时钟相位偏移就尤其成为问题。
因此,迄今已采用过各种各样的互连布局方法。
图18-21分别示出了迄今已被采用过的布线布局方法。顺便说一下,图18-21被示为各由一个门阵列LSI组成的LSI逻辑电路。
图18和19分别说明了一种称为“干线系统”的布线布局方法。在图18和19中,专用于时钟信号的互连(以下称为“干线”)4基本上被布置在被位于LSI逻辑电路1的LSI芯片周围的输入/输出元件区3所围绕的核心区(其中构成逻辑电路)2的中心。在图18中,从外部输入的时钟信号经由制作在输入/输出元件区3之中的驱动元件(以下称为“驱动器”)5-1或5-2而被传送到干线4。若此时时钟信号从驱动器5-1和52二者被传送到主干线4,则即使时钟信号从干线4的任一位置取出或选取,仍可降低信号延迟和时钟相位偏移。在图19中,驱动器8-1—8-4被制作在核心区中,且时钟信号从主干线4的各种位置被传送到主干线4。在图19所示的方法中,借助于将驱动器8-1—8-4布置成彼此之间完好地平衡,可减小信号延迟和时钟相位偏移。在这样做时,时钟信号可经由从干线4分支出来的子干线互连6而传送到各个逻辑元件7。
图20和21分别示出了所谓“树形系统”。图20说明了一个H型树形系统。在图20中,H形互连51决定了接收外部输入的时钟信号的主驱动器11。此时,主驱动器11基本上置于H型互连51的中心。时钟信号经由制作在互连51前端处的驱动器12-1—12-4而被传送到各个H型互连52-55。于是,待要排列在H型互连52-55前端的各个逻辑元件与主驱动器11在布线长度和驱动级数目二个方面都可变成彼此完全相同。参照图21,其它驱动器14-1—14-4基本上被排列在组成从主驱动器13所看到的以主驱动器13为中心的菱形的各边的中心。主驱动器13和各驱动器14-114-4分别用互连61彼此电连接。若有需要,则例如以驱动器14-4作为中心而组成菱形,且执行如上所示的相同处理。然后,用互连62分别将驱动器14-4和其它驱动器15-1—15-3彼此电连接。由于这样做能够均匀地设定主驱动器11或13和各个逻辑元件之间的布线长度和驱动器级数,故可降低信号延迟和时钟相位延迟。
但上述各方法各有下列问题。图22和23解释了这些问题。
可能有这样情况,例如在图22的核心区2中排列称为“宏单元”的结构20-1和20-2。各个宏单元是一个预先设计并寄存在计算机中的电路结构,而且是存储器或CPU之类的器件。由于布置了大的宏单元20-1和20-2,它们就大范围地占据着图22中的核心区。因此,无法设置干线4,且用来构成树形的区域如图22所示变成3L状的变形形状,例如不规则四边形。于是,对布线布局就加上了很大的限制。
参照图23,当宏单元20-3必须离开输入/输出元件区3布置时,在宏单元20-3和输入/输出元件区3之间确定了一个小区21。当与其它逻辑元件同步地接收时钟信号的逻辑元件必须布置在区域21之中时,提供使宏单元20-3旁路的互连就最终成为必不可少的,即使采用干线和树形系统也是如此。
考虑到上述各问题,因此,本发明的一个目的是使与一个预定信号同步激活的各个逻辑元件在即使以任何形式布置了像宏单元这样的结构时也能够容易地得以布局和布线,而且将布线延迟和时钟相位偏移降到最低限度。
根据本发明的一种情况,为了达到上述目的,提供了一种用于LSI芯片的预设区中带有多个逻辑元件的LSI逻辑电路的互连布局方法,上述逻辑元件经由一个或更多个驱动元件,与至少一个预定的信号同步地被分别激活,此方法包含下列步骤将此区域分成多个子区;设定用于在区域中传送信号的布线区;在各个子区中设定待要用于调停对各子区的信号输入与对区域中各逻辑元件的信号传送的驱动元件的数目以及各驱动元件的布局;根据在设定各子区时的有关驱动元件数目和布局的信息,设定用来在相邻各子区之间传送信号的驱动元件的布局以及用设定的布线区在驱动元件之间的布线;以及用各子区及设定布线区中各驱动元件的布局来设定驱动元件之间的布线。
根据本发明的另一种情况,提供了一种互连布局方法,其中各子区中驱动元件的布局和驱动元件之间的布线,用H型时钟树来进行。
根据本发明的又一种情况,提供了一种互连布局方法,它还包括下列步骤在沿垂直或水平方向可分成2n的基本上为正方形的区域中构成H型时钟树;以及只选取包含所构成的H型时钟树的主驱动元件的一个分区。
根据本发明的再一种情况,提供了一种互连布局方法,它还包括下述步骤将参考电位馈线区与传送信号的布线区对准,并将参考电位馈线区置于不同于布线区布局的布线层的一个布线层中。
根据本发明的另一种情况,提供了一种互连布局方法,它还包括下述步骤设定连接在布线区附近的其它信号互连,以便在用来传送信号的布线区被设定之后以离布线区的预定间距来布置。
已简要示出了本申请的各种典型发明。但将从下列描述中了解到本申请的各种发明及其构造。
虽然本说明书确切地指出并明确地对本发明有关的主题提出权利要求的各项权利要求进行了总括,但相信,从结合附图的下列描述中,将更好地了解本发明及其目的和特点及优点,其中图1布线布局流程图示出了本发明的一个实施例;图2示出了用在本发明实施例中的一个LSI逻辑电路的芯片的底平面;图3描述了在图2所示底平面分割的子区中的时钟网格设定;图4是图3的局部放大图;图5说明了本发明实施例中所用的子区之间的布线布局;图6解释了本发明实施例中所用的用来设定用于在子区之间布线的各驱动器的过程;图7描述了本发明申请中所用的子区中主驱动器的设定;图8解释了布线布局,其中应用了本发明另一申请中所使用的一种H型时钟树形系统;图9示出了由现有技术方法制造的一种H型时钟树,此图用来说明本发明的H型时钟树形系统的改进;图10说明了由现有技术方法制造的另一种H型时钟树,用来说明本发明的H型时钟树形系统的改进;图11描述了基于本发明的改进了的H型时钟树形系统的布线布局;图12示出了根据基于本发明的改进了的H型时钟树形系统的布线布局而制造的一种时钟树;图13描述了基于本发明改进了的H型时钟树形系统的布线布局的另一个例子;图14示出了由基于本发明改进了的H型时钟树形系统的另一例布线布局所产生的一种时钟树;图15说明了应用基于本发明改进了的H型时钟树形系统而制造的一种时钟树;图16示出了应用基于本发明改进了的H型时钟树形系统而制造的另一种时钟树;图17是用来实现本发明布线布局方法的一种系统的示意图;图18说明了根据一种常规布线布局方法的一种干线系统;图19说明了根据一种常规布线布局方法的一种干线系统;图20说明了根据一种常规布线布局方法的一种H型树形系统;图21描述了根据一种常规布线布局方法的一种菱形树形系统;图22描述了常规布线布局方法的问题;图23描述了常规布线布局方法的问题。
以下参照附图来详细描述本发明的最佳实施例。图1流程图描述了本发明应用于CAD系统器件时的布线布局工艺的过程。在本实施例中,待由各个逻辑元件同步的信号解释为时钟信号。
现考虑步骤S0,其中已出现要求设计一种逻辑电路布线布局。此时,预先输入布局设计所需的信息。此信息包括例如诸如对多个逻辑元件或宏单元之间电连接的限制之类的连接信息、关于带有多层互连结构的逻辑电路的决定的信息、关于确定布线路径即通道应设定到哪一层的信息、关于布线区应布置在下层中的何种位置的信息、关于应该使用多少个时钟信号的信息、以及用来设定必要互连的连接路径的方法(树形系统或干线系统)等等。顺便说一下,这些信息并不一定需要在步骤S0中输入。可以在任何需要的时刻将它们输入。
然后,在步骤S1中输入关于底平面的信息。底平面是用来确定在逻辑电路芯片上排列多少个宏单元或其它电路块的步骤。
现用图2来描述此处输入的底平面设计。图2示出了底平面相对于门阵列LSI1的芯片表面的一个例子。在图2中,底平面被设计成一个被输入/输出元件布局区3所围绕的相当于互连布局区的核心区2。参考号120表示一个宏单元。一个核心区而不是一个排列有宏单元120的区,相当于其中排列用标准单元设计的逻辑结构的区域。此区被分成相当于子区的矩形区#1-#6。在图2中,做出分区以设计矩形区各电路结构,例如在区域中设计串-并转换电路以及在区域中设计译码器的情况。在部分各较精细的电路结构中可完成这一分区。但当互连被布置在此区之中时,用H树形系统之类在后续工序中来设定矩形区是合适的。在图2中,在各区域#1-#6之间确定了少许间隔。但上述区域即使被分成彼此相连的各个区也不会出现问题。由于各区之间间隔的清晰度,可以引起这样的效果,使这些间隔可确保成为排列用来在各区之间馈送时钟信号的驱动器的区域(稍后描述)。由于其间的间隔不清晰,则用来在相邻区域之间馈送时钟信号的驱动器就被设置在任何相邻区域之中。但可引起这样的效果,即更有效地利用核心区。
然后在步骤S2中设定时钟网格。在本实施例中,时钟网格表示用来将时钟信号传输到组成逻辑电路的各个逻辑元件的专用布线区。
现参照图3和4来解释时钟网格的设定。图3示出了图2所示的区域#1。现考虑本实施例中所用的逻辑电路中,在步骤S0中于四层结构的第三和第四层处制作了金属层,且这些层被设定为用来在各逻辑元件之间提供电连接的布线专用层。于是,沿水平方向延伸的布线布局区130-1-130-6将被确定为对应于第三层的金属层,而沿垂直方向延伸的布线布局区140-1-140-6被确定为对应于第四层的金属层。顺便说一下,细长矩形中所示的分别表示形成衬底或衬底中阱区与地电位或电源电位之间的接触的接触部位。现设定用来布置专用于时钟的互连的区域。在图3中,由h1-h4表示的布线区130-2、130-3、130-5和130-6以及由v1-v4表示的布线区140-1、140-3、140-5和140-6分别沿水平和垂直方向被设定为时钟信号的布线专用区。
图4是图3中虚线所示部分145的放大图。如图4所示,根据在步骤S0中输入的布线布局信息,分别将沿水平方向延伸的布线区130-1和130-2排列在大致跨越单元137中心的位置,同时将沿垂直方向延伸的布线区140-1-140-3分别排列在跨越接触部分135的位置。在这些布线区中,130-2、140-1和140-3被设定为时钟布线专用区,而其它布线区130-1和140-2被设定为例如不用作其它布线区域在逻辑元件之间提供连接的互连。设定信息被储存作为后续布线时要用到的信息。现考虑用单元来设计逻辑元件的条件被设定于在上层(第三层或第四层)没有互连的区域。若此时专用于时钟信号的布线区之类被预先设定,则可自由地设定对应于到各逻辑元件距离最短的时钟布线路径而不受各单元布局的影响。虽然在本实施例中描述的是区域#1,但在区域#2-#6的各个区域中都可相似地设定时钟布线通路。作为变通,如上所述,时钟布线专用区可设定为整个核心区2。此时,上述的设定不能用于宏单元布局区。于是,借助于将在宏单元布局区中用来设定各时钟网格的信息确定为不能使用或将其删去,就可处理这种情况。
然后,在步骤S3中设定步骤S2所设定的各时钟布线区的特征。这里的特征一词表示二个分立的时钟信号在本实施例中作为时钟信号被馈送时各自的类型。作为变通,特征被确定为用来在各个区域#1-#6中提供电连接的各个时钟互连区,或者用来在各个区域#1-#6之间提供电连接的时钟互连区。当如本实施例那样将预定信号用作时钟信号时,此特征可定义为信号的类型。若布线区被用来向h1、h3、v1和v3馈送一个时钟信号C1,或作为连接图3中各区中互连的时钟信号,则布线区130-2、130-5、140-1和140-5用作各区域中的时钟信号C1的专用区或时钟布线专用区。另一方面,若布线区被用来向h2、h4、v2和v4馈送一个时钟信号C2,或作为在各区域之间提供电连接的时钟布线专用区,则布线区1303、130-6、140-3和140-6用作时钟信号C2的专用区或用来在各区域之间提供连接的时钟布线专用区。于是,若特征被设定,则特征不同的各个时钟信号在时钟信号专用布线区上彼此不相碰。有可能进一步改善为多个时钟信号的布线自由度并使为时钟信号的布线更容易。
然后,在步骤S4中设定各区域#1-#6中的主驱动器。主驱动器是用来先接收各区域#1-#6中的时钟信号的驱动器。当用来在各区域#1-#6之间传输时钟信号的驱动器被设定在其相应的区域中时,它们被视作用来先接收为传输时钟信号的驱动器所专有的时钟信号。参照图5,主驱动器111、112、113、114、115和116分别被设定在区域#1、#2、#3、#4、#5和#6中。
然后,在步骤S5中设定各区域#1-#6中的驱动器级的数目。驱动器级数目相当于为那些待要与时钟信号同步地被激活的离主驱动器最远的逻辑元件(诸如触发器之类)所必须的驱动器的数目。驱动器级数等于包括主驱动器的数目。驱动级的数目根据各区域#1-#6的尺寸和待要与时钟信号同步地激发的诸如触发器之类的逻辑元件的数目而设定。在本实施例中,驱动级的数目在区域#1中被设定为3,在区域#2中被设定为2,在区域#3中被设定为2,在区域#4中被设定为2,在区域#5中被设定为2,在区域#6中被设定为3。相邻区域之间的驱动级数目的差值最好可设定为0和1等。当采用稍后要描述的根据本发明的方法时,同时考虑到各区中所对应的驱动级数目,上述步骤S0中的区域划分可更好地进行。
然后,在步骤S6中设定各区域#1-#6中的时钟树。现参照图6来说明时钟树的设定方法。
如图6(a)所示,首先从相邻的区域中找出驱动级数目彼此完全相同的那些。相邻的二个区域被定义为一个虚拟区。例如,驱动级数目为2的区域#2和#3被定义为一个虚拟区151。而且,驱动级数目为2的区域#4和#5被定义为一个虚拟区152。用来提供各区域之间的电连接的驱动器161和162按此方式分别被设定于区域151和152。驱动器161和162被分别排列在用来形成虚拟区151和152的二个区域之间的边界处或在其邻近。若它们以这种方式布局,则它们在相邻各区域(例如对应于虚拟区151中的区域#2和#3)中呈现一致的位置。相对于虚拟区151和152中驱动级的数目,组成虚拟区的各区域中的驱动级的数目(在本实施例中,区域#2-#5被设定为2级)分别包括驱动器161和162所增加的数目。于是,在虚拟区151和152中的驱动级数目可认为都是3。当相邻区域的驱动级数目彼此不同时,在驱动级已设定为小数目的区域中的驱动级的数目可以增加,以产生驱动级数彼此相同的相邻区域。
而且,用与上述相同的方法,在虚拟区151、152和其余的区域#1和#6中找到了相邻区域中驱动级数目完全相同的那些,以产生图6(b)所示的虚拟区。例如,驱动级数目为3的虚拟区151和区域#1被定义为一个虚拟区153,而驱动级数目为3的虚拟区152和区域#6被定义为一个虚拟区154。用来在各区域之间提供电连接的驱动器163和164按这种方式分别被设定于区域153和154。驳动器163和164被分别排列在用来组成虚拟区153和154的二个区域之间的边界处或其邻近中。相对于虚拟区153和154中的驱动级数目,组成虚拟区的各区域中的驱动级的数目(在本实施例中,虚拟区151和152以及区域#1-#6分别被设定为3级)分别包括驱动器163和164所增加的数目。于是,虚拟区153和154中的驱动级数目可认为都是4。在以这种方式加大各区域之后,若其余二个区域中的驱动级的数目彼此完全相同,则驱动器165被排列在二个区域之间的边界处或在其邻近。此驱动器165被设定在不包括宏单元的核心区作为先被馈以外部时钟信号的驱动器。当各区域加大后二个区域的驱动级数目彼此不同时,如上所述,这些驱动器只能加至驱动级数目小的区域。于是,在各区域加大之后最终留下的各区域间驱动级数目的差别被设定为加大这类区域时不存在(或达到1级等)。
由于驱动器161-165可以用这种方式排列,故各区域#1-#6之中的时钟树可如图5所示构成。亦即,驱动器165接收来自外部的时钟信号并通过互连171将它传送到后面的驱动器163和164。驱动器163经由互连172将时钟信号传送到驱动器111和161。而且,驱动器161经由互连173将时钟信号传送到驱动器112和113。同样,驱动器164经由互连175将时钟信号传送到驱动器116和162。而且,驱动器162将时钟信号经由互连176传送到驱动器114和115。于是,借助于在各区域中产生时钟树,就可调整各区域#1-#6之间驱动器级数目的差值。因此,从驱动器165看到的各个区域#1-#6中从主驱动器延伸到更远逻辑元件的驱动器各级的数目可彼此完全相同。顺便说一下,用步骤S2和S3中设定的时钟网格区将互连171-176布线。在这一布线工序时,根据布线延迟之类,互连基本上被设定在最短距离并同时调整驱动器之间的布线长度。而且,当各布线长度过长时,则进行下述调整。首先在步骤S0中预先输入驱动器之间各互连的最大长度为L。当由这一信息发现相邻驱动器之间的布线长度已超过最大长度L时,在驱动器之间再加入一个驱动器。于是,布线长度被设定为不超过最大布线长度L。这样就可使相邻驱动器之间的布线长度被设定得更一致。于是,可降低布线电容或电阻所造成的布线延迟。因此,可毫无问题地排列宏单元120,且驱动级的数目可容易地设定成一致的数目。
然后,在步骤S7中输入有关各区域#1-#6中单元和触发器之类的布局的信息。在输入布局信息时,预定的单元或触发器被布置在根据步骤1中底平面所分割的子区中。而且,布局信息被输入,使单元或触发器被排列成这样一种状况,其中在步骤S4和S6中所设定的驱动器位置保持不变。由于时钟互连所专用的各个区域被如上确定,故单元和触发器可容易地布局并在输入布局信息时被设定。
然后,在步骤S8中设定各区域#1-#6中的时钟树。各区域中的时钟树可根据常规方法设定。但由于建立了矩形区域,故可容易地采用H型树形系统或菱形树形系统。此时,用步骤S2和S3中设定的时钟网格区来安置布线。在这样做时,可在最短布线长度和最小驱动级数目的情况下甚至在各区域之中将时钟信号传送到待要与时钟信号同步地激活的相应逻辑元件。于是,时钟信号的传送可容易地完成,在整个LSI逻辑电路上得到良好的平衡。
然后,在步骤S9中输入有关其余互连(诸如不同步逻辑元件之间的互连)的信息。利用布线区而不是步骤S2所设定的时钟网格区来安置这一布线。于是,可容易地安置布线而无需担心与时钟信号冲突。即使将布线设定为时钟网格,不被用来传送时钟信号的时钟网格区也可用作其余互连区。现在可留下子区之间的时钟网格区(它们不被用作其余互连区)。这样做时,在相当于下一工序的步骤10中将时钟相位偏移调整到不满足其允许范围的数值时,就可用子区之间的时钟网格容易地调整时钟布线。
然后,在步骤10中,对各区域#1-#6中时钟信号到与时钟信号同步地激活的相应逻辑元件的传送状态进行检查,以确定是否存在时钟相位偏移。若整个LSI逻辑电路1的工作没有问题(时钟相位偏移在可允许范围以内),甚至不出现时钟相位偏移或存在时钟相位偏移,则在步骤S0-S9中所设定的时钟树中不出现问题。因此,常规过程被终止而在时钟信号的布线布局中没有任何问题。若出现某种问题(时钟相位偏移超出允许的范围),则常规过程返回到步骤S6,重新执行上述步骤并设定时钟相位偏移以便落于允许的范围。此时,在步骤6中先调整区域#1-#6之间时钟树的布线长度以调整到相位偏移值。若如上所述留下相邻子区之间的各个时钟网格区,则可容易地调整布线长度。当即使在这种情况下时钟相位偏移值仍不满足允许范围时,则借助于改变用于区域#1-#6之间的时钟树和驱动器之间的连接的驱动器(相当于本实施例的驱动器161-165)的布局来调整布线长度。基本上,这是由于各区域#1-#6中的时钟树通常是预先确认的延迟和时钟相位偏移值被组成一个数据库且各区域#1-#6中的时钟树不需要上述调整。于是,由于时钟相位偏移值的调整对整个LSI逻辑电路1都不需要监视,故此调整也可容易地进行。
下面参照附图来描述应用本发明的一些例子。图7和8示出了这些应用。图7示出了LSI逻辑电路1的一个芯片。图8说明了应用产生的H型时钟树。
现考虑图7,其中在步骤S4中设定在图7各区域中的主驱动器中,需要例如其输出根据控制信号而被控制的驱动器。图7的区域#11和#16中的主驱动器211和216分别由信号CS1控制,而区域#18中的主驱动器218由控制信号CS2控制。而且,其它区域#12、#13、#14、#15和#17分别包含不受其相应控制信号所控制的主驱动器212、213、214、215和217。在本发明中,即使在这种情况下,若用来传送控制信号CS1和CS2的布线区在步骤S3中被简单地设定,且主驱动器的类型(输出是否由一个控制信号控制)在步骤S4中被寄存,则可容易地处置这种情况。若在步骤S3中不需要设定控制信号的布线区,则可采用布线区而不是时钟网格区。
当如图8所示采用分立的时钟信号C1和C2时,各时钟网格区的特征可如上所述在步骤S3中设定。若这样做,则可容易地设定布线而不会在时钟信号C1和C2之间发生冲突。现考虑本实施例中例如时钟信号C1经由图3所示h1、h3、v1和v3传送而时钟信号C2经由h2、h4、v2和v4传送。此时,h1和h3所示的布线区130-2和130-5被用作对应于从馈有时钟信号C1的驱动器220延伸到经由224驱动器221-224的互连的横向延伸互连231,而v1和v3所示的布线区140-1和140-5分别被用作纵向延伸的互连232和233。同样,h2和h4所示的布线区130-3和130-6被用作对应于从馈有时钟信号C2的驱动器240延伸到各驱动器241-244的互连的横向延伸的互连251,而v2和v4所示的布线区140-3和140-6分别被用作纵向延伸的互连252和253。于是,步骤S3中特征的设定可容易地响应分立的时钟信号。
图9-16分别示出了H型时钟树形系统的改进的例子。图9和10各为迄今曾用过的H型时钟树。图9示出了一个例子,其中在纵向区301中形成了一个H型时钟树311。图10说明了一个例子,其中在横向区302中形成了一个H型时钟树312。逻辑元件分别制作在图9所示H型互连的前端引4和图10所示H型互连的前端315处。正常H型时钟树产生成使互连彼此以H的形式线性对称。因此,即使驱动器的数目可能为3,例如(连接成H型时钟树的逻辑元件的数目为8),如9和10所示,也可产生对应于16个逻辑元件的互连。这就导致不必要的互连占据区域#1-#6,并使布线负载增大。
因此,本发明将说明下列改进。图11描述了表明其改进例子的H型时钟树的产生。现考虑在图11中其垂直长度为y而水平长度为x(=2y)的区域322那样的一个横向长的区域中,希望在何处形成H型时钟树。用这一区域先产生一个H型时钟树作为垂直和水平长度为x的正方形区域320。亦即,区域321设定为虚拟区。由于产生在区域320之内的H型时钟树如常规方法中所示那样形成,故这是一个其中互连彼此以H形式线性对称的时钟树。然后只从区域320中取出其中排列有这一时钟树的主驱动器323的区域322。借助于删除有关区域321和驱动器的互连的信息,可执行这一取出工序。此时,必须留下有关边界处互连324的信息。结果,可如图12所示产生带有3个驱动器的时钟树325。
而且,即使当希望在像图13所示的垂直长度为y而水平长度为x(=4y)的区域353的一个横向长的区域之内产生一个H型时钟树时,也可以完成与上述相似的处理。用这个区域先将H型时钟树产生成垂直和水平长度都为x的一个正方形区域350。亦即,区域351、352和354被设定为虚拟区。由于在区域350中产生的H型时钟树如常规方法所述那样形成,故这是一个其中互连彼此以H形式线性对称的树。然后,从区域350中只取出其中布置了此时钟树的主驱动器355的区域353。借助于删除有关区域351、352和354以及驱动器的互连的信息,可以完成这一取出工序。此时,必须留下有关边界处互连356的信息。结果,如图14所示可产生带有3个驱动器的时钟树357。
图11-14示出了水平长度x和垂直长度y表明以公式x=2n*y(其中n为≥1的整数)表示的一个区域的情况。但用相同于上述的方法也可处置y=2n*x所表示的区域。若此时y=2x,则可产生图15所示的树365。若y=4x,则可产生图16所示的树375。
于是,H型时钟树的改进可防止区域#1-#6被占据以及布线负载由于不必要的互连而增大。而且,当在步骤S1中设计底平面时,可增加其各区结构的自由度。
而且,在本发明中,借助于使参考电位馈线(例如接地电位馈线)区域和与其相应的时钟网格区域对准并将其置于另一层中,可限制相对于各时钟互连的平行板电容和散射场电容的变化。于是可望进一步降低其时钟信号延迟和时钟相位偏移。当时钟网格区由图3中沿水平方向看第三层的区域130-2和沿其垂直方向看第四层的区域140-1确定时,则例如接地电位馈线区域可由沿水平方向看第一层中与区域130-2相同的位置和沿垂直方向看第二层中与区域140-1相同的位置确定。这可以在设定各时钟网格区之后的适当步骤中进行确定。
在步骤S2中设定时钟网格区之后,进一步具体确定布线在时钟网格区附近的其它信号互连,以便使它们与时钟网格区离开一个预定间距放置。作为变通,在步骤S6和S8之后设定了时钟互连后,可具体确定其它的信号互连,从而以到各时钟信号互连的预定间距来放置。这一清晰度可限制相对于各时钟信号互连的耦合电容。即使用这一清晰度,其时钟信号延迟和时钟相位偏移也可望进一步降低。这也可在设定各时钟网格区之后的适当步骤中确定。
若使用CAD系统,则借助于程序处理,用CPU和存储器之类可基本上处置本发明。但每一步骤的处理装置可提供为硬件。
例如,图17所示的CAD系统配备有一个输入装置505、一个时钟网格设定装置507、一个驱动器排列或布局装置509、一个布线装置511、一个相位偏移值验证装置513和一个储存装置515,都通过用来传送各种控制信号和信息之类的信号线组501而由控制装置503控制。输入装置505用来在步骤S0中输入信息并设定底平面,在步骤S7中输入有关各单元和触发器位置的信息,以及在步骤S9中输入用来设定其它互连的信息。输入信息根据需要可在控制装置503的控制下储存于储存装置515中。时钟网格设定装置507用来在步骤S2和S3中设定各时钟网格及其特征。时钟网格设定装置507执行上述处理。此时,根据需要,时钟网格设定装置507可使用储存在储存装置515中的信息。此处所设定的内容可储存于储存装置515中并在需要时简单地在显示装置517上显示。驱动器布局装置509用来放置即布局各驱动器并在步骤S4、S5、S6和S8中设定驱动器级数目。以相似于时钟网格设定装置507的方式,驱动器布局装置509在需要时可用输入装置505来使用储存于储存装置515中的信息。时钟布线装置511被用来在步骤S6和S8中在各驱动器之间连线。如有需要,时钟布线装置511也可利用输入装置505来使用储存于储存装置515中的信息。相位偏移值验证装置513用来在步骤S10中验证相位偏移值。虽然图中未示出步骤S1和S9中所用的装置,但已描述了图17所示的系统,以致步骤S1中的底平面和步骤S9中的其它互连的设定由一个外部器件之类执行,而且从外部器件之类送出的信息通过输入装置505被输入。即使提供了步骤S1和S9所用的装置,也不会发现问题。
由于上述的各处理装置硬件的构成,可完成根据本发明的方法而不需要程序。
虽然作为例子本实施例已描述了时钟信号,但显然可适用于时钟信号之外的信号。而且,本发明可用来设计不带宏单元之类结构的逻辑电路。
根据本发明布线布局方法的应用,如上面已详述的那样,其中放置了待要与预定信号同步地被激活的逻辑元件的一个区域被预先分成为多个子区。结果,在子区中和在各子区之间可独立地一致地设定互连的数目和驱动元件的数目。借助于预先确定预定信号的布线区,可容易地确定最短布线路径。于是,即使排列了宏单元这样的结构,也可以容易地布局并连接待要与预定信号同步地激活的各个逻辑元件,并可尽可能小地降低此信号的布线延迟及其时钟相位偏离。
而且,借助于预先将待要布线布局的一个区域分成多个矩形区,可容易地在各个矩形区中使用常规树形系统那样的布线系统。由于H树形系统可特别适用于各子区中,故延伸到下一级各驱动器单元的互连布线长度一致性可容易地设定。
而且,由于常规树形系统被改进成H型树形系统,且设计在H型树形系统中的驱动器之间的互连可选择性地采用,故可容易地删除不必要的互连和驱动器。于是,使用H型树形系统布线布局的那些区域就不会被不必要的互连和驱动器占据。而且可进一步改善互连和驱动元件布局的自由度,并可降低由不必要的互连和驱动器所造成的负载。
而且,由于参考电位馈线区域与用来传送预定信号的布线区域进行了对准,且此区域被置于与用来排列布线区域的布线层不相同的一个布线层中,故可抑制预定信号下各互连的平行板电容和散射场电容的变化。结果,可较小地降低预定信号的延迟及其相位偏移。
由于连接在布线区附近的用来传送预定信号的其它信号互连被设定成位于离用来在设定布线区之后传送预定信号的布线区为一预定间距的地方,故可抑制预定信号互连的耦合电容。于是可望较少地降低预定信号的延迟及其相位偏移。
虽然参照所示实施例已描述了本发明,但这种描述不是为了限制的目的而进行的。对于本技术领域的熟练人员,参照这一描述显然可对实施例作出各种修改并提出本发明的其它实施例。因此预期所附权利要求将覆盖本发明实际范围内的所有这种修改或实施例。
权利要求
1.一种应用于在LSI芯片预定区域中带有多个逻辑元件的LSI逻辑电路中的互连布局方法,上述多个逻辑元件通过一个或更多个驱动元件分别与至少一个预定信号同步地被激活,此方法包含下列步骤将此区域分成多个子区;在此区域中设定用来传送信号的布线区;在上述各子区中设定在将信号输入到上述各子区和将信号传送到此区中逻辑元件之间进行调停的驱动元件的数目以及驱动元件的布局;根据有关上述各子区中驱动元件数目和布局的信息,用设定的布线区来设定用来在相邻各子区之间传送信号的驱动元件以及驱动元件之间的布线的布局;以及用各子区中各驱动元件的布局来设定驱动元件之间的布线并设定布线区。
2.根据权利要求1的方法,其中各子区中驱动单元布局以及驱动元件之间的布线用H型时钟树来进行。
3.根据权利要求2的方法,还包含下列步骤在沿垂直或水平方向可分成2n的基本上正方形的区域中构成H型时钟树;以及只选择一个包含上述构成的H型时钟树的主驱动元件的分割区。
4.根据权利要求1的方法,还包含下述步骤将参考电位馈线区与用来传送信号的布线区进行对准,并将参考电位馈线区置于和布置布线区的布线层不同的一个布线层中。
5.根据权利要求4的方法,其中各子区中驱动元件的布局和驱动元件之间的布线用H型时钟树来进行。
6.根据权利要求5的方法还包含下列步骤在沿垂直或水平方向可分成2n的一个基本上正方形的区域中构成H型时钟树;以及只选择一个包含上述构成的H型时钟树的主驱动元件的分割区。
7.根据权利要求1的方法,还包含下述步骤设定连接在布线区附近的其它信号互连,以便在已设定用来传送信号的布线区之后置于离布线区为一预定间隔的地方。
8.根据权利要求7的方法,其中各子区中驱动元件的布局和驱动元件之间的布线用H型时钟树来进行。
9.根据权利要求8的方法还包含下列步骤在沿垂直或水平方向可分成2n的一个基本上正方形的区域中构成H型时钟树;以及只选择一个包含上述构成的H型时钟树的主驱动元件的分割区。
全文摘要
为了实现可最大限度地降低预定信号的相位偏移值和延迟的互连布局方法,用于CAD系统布线布局的区域被分成多个子区,并在各子区中设定为预定信号专用的布线区。在各子区中设定驱动器的级的数目,且此区与具有相同数目驱动器级的相邻的子区扩大成虚拟子区。于是在子区之间设定布线的布局。
文档编号H01L21/82GK1186280SQ97125659
公开日1998年7月1日 申请日期1997年12月25日 优先权日1996年12月27日
发明者田所宏文, 新井健嗣 申请人:冲电气工业株式会社