CN1291478C - 集成电路布线设计装置和方法 - Google Patents
集成电路布线设计装置和方法 Download PDFInfo
- Publication number
- CN1291478C CN1291478C CNB031648754A CN03164875A CN1291478C CN 1291478 C CN1291478 C CN 1291478C CN B031648754 A CNB031648754 A CN B031648754A CN 03164875 A CN03164875 A CN 03164875A CN 1291478 C CN1291478 C CN 1291478C
- Authority
- CN
- China
- Prior art keywords
- wiring
- logical block
- group
- mentioned
- integrated circuit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L21/00—Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/394—Routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Geometry (AREA)
- Evolutionary Computation (AREA)
- Computer Networks & Wireless Communication (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Manufacturing & Machinery (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Power Engineering (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
一种集成电路布线设计装置和布线设计方法,具有:逻辑单元配置信息取得单元,取得芯片上的逻辑单元配置信息;布线分组单元,基于上述取得的逻辑单元配置信息预想逻辑单元端子间布线,将该预想的各布线按布线层区域进行分组;通路设定单元,为了将在最下层布线层区域以外的布线层区域布线的逻辑单元端子提升到应布线的布线层区域,进行通路布线的设定;布线信息提取单元,提取上述各布线组的布线信息;布线执行单元,基于提取的信息,按各布线层区域执行逻辑单元端子间的布线。
Description
本发明基于并要求2002年5月14日在先日本专利申请No.2002-138399的优先权,本发明引用了该申请的全部内容作为参考。
技术领域
本发明涉及半导体集成电路设计,特别是涉及逻辑单元间的布线布局设计工艺中使用的半导体集成电路设计装置、半导体集成电路设计方法和半导体集成电路设计程序。
背景技术
作为***LSI设计中的重要工艺的布局设计工艺,要求采用由逻辑设计得到的布线连接信息和通过电路设计准备的逻辑单元库,进行逻辑门的配置和自动布线,使芯片面积尽可能小。
近年,随着集成电路的大规模化,伴随电路设计的必要信息也增加,布局设计工艺中使用的设计装置,所谓的CAD工具的存储器使用量和各工艺的处理时间具有增加的趋势。
现有的布局设计工艺在进行LSI的自动布线设计时,主要采用1)统一布线整个芯片的方法、或2)对每个逻辑模块进行固化,在芯片上配置该固化的模块,在固化模块间进行布线的分层布局方法。
但是,1)统一布线整个芯片的方法中,由于同时处理整个芯片的布线连接信息,所以存储器使用量会增大,处理时间也会变长。因此,集成电路的规模大时,由于存储器不足,具有不能布局和设计时间长的问题
另一方面,2)分层布局方法中,由于可以限制必要的存储器使用量,所以解决了如进行统一布线时的存储器使用量的问题,但由于将逻辑模块区域设为禁止布线区域,所以限制了布线的自由度,结果芯片面积变大。另外,由于独立处理各模块,所以在设计阶段难以满足横跨模块间的布线的定时限制和在设备制造工艺中产生的各布线层间蓄积的电荷等的影响产生的处理天线限制等,结果具有芯片的设计时间长的倾向。
发明内容
本发明提供了一种集成电路布线布局设计装置,具有:逻辑单元配置信息取得单元,取得芯片上的逻辑单元配置信息;布线分组单元,基于上述取得的逻辑单元配置信息预想逻辑单元端子间布线,将该预想的各布线按布线层区域分为各组;通路没定单元,为了将在最下层布线层区域以外的布线层区域布线的逻辑单元端子提升到应布线的布线层区域,进行通路布线的设定;布线信息提取单元,提取上述各组的布线信息;布线执行单元,基于提取的信息,按各布线层区域执行逻辑单元端子间的布线。
本发明还提供了一种集成电路布线设计方法,具有:取得芯片上的逻辑单元配置信息的步骤;布线分组步骤,基于上述取得的逻辑单元配置信息预想逻辑单元端子间布线,将该预想的各布线按布线层区域分为各组;生成通路布线的步骤,该通路布线是将在最下层布线层区域以外的布线层区域布线的逻辑单元端子提升到应布线的布线层区域;在上述各组中提取布线信息的步骤;基于提取的信息,按各布线层区域执行逻辑单元端子间的布线的步骤。
本发明还提供了一种计算机执行的程序产品,所述程序包括:取得芯片上的逻辑单元配置信息的步骤;布线分组步骤,基于上述取得的逻辑单元配置信息预想逻辑单元端子间布线,将该预想的各布线按布线层区域分组;进行通路布线的步骤,该通路布线是将在最下层布线层区域以外的布线层区域布线的逻辑单元端子提升到应布线的布线层区域;在上述各组中提取布线信息的步骤;基于提取的信息,按各布线层区域执行逻辑单元端子间的布线的步骤。
根据上述本发明的半导体集成电路设计装置、半导体集成电路的设计方法和程序,由于将布线按布线层区域分组,按各布线层区域执行布线,所以各布线中,可以大幅度减少作为对象的逻辑单元数和逻辑单元间的布线个数。从而,由于可以减小伴随布线的计算机(CPU)的存储器使用量,所以可以高速处理各布线。另外,由于按在高度方向分割的布线层区域进行布线,所以分割布线带来的禁止布线区域较少。从而,提高布线的自由度,也不会引起芯片面积增大。可以缩短设计时间。
附图说明
图1是本发明实施例1的布线设计装置的概要结构图。
图2是本发明实施例1的布线设计方法的流程图。
图3A是表示芯片上预定的布线的概要平面图,图3B是表示采用实施例1的布线设计方法分配到作为第1组的下层区域布线中的布线的概要平面图,图3C是表示采用实施例1的布线设计方法分配到作为第2组的上层区域布线中的布线的概要平面图。
图4A~图4C是一例表示实施例1的布线设计方法的各工序中布线状态的截面图。
图5是说明实施例1的布线设计方法中布线分组步骤的流程图。
图6是说明实施例1的布线设计方法中实施布线顺序的流程图。
图7是本发明实施例2的布线设计方法的流程图。
图8A是表示芯片上预定的布线的概要平面图,图8B是采用实施例2的布线设计方法分配到作为第1组的下层区域中的布线的概要平面图,图8C是表示采用实施例2的布线设计方法分配到作为第2组的中层区域中的布线的概要平面图,图8D是表示采用实施例2的布线设计方法分配到作为第3组的上层区域中的布线的概要平面图。
图9A、9B以及图10是一例表示本发明实施例2的布线设计方法的各工序中布线状态的截面图。
图11是本发明实施例3的布线设计方法的流程图。
图12A是表示芯片上预定的布线的概要平面图,图12B是采用实施例3的布线设计方法分配到作为第1组的下层区域布线中的布线的概要平面图,图12C是表示采用实施例3的布线设计方法分配到作为第2组的上层区域布线中的布线的概要平面图。
图13A、13B以及图14A是一例表示本发明实施例3的布线设计方法的各工序中布线状态的截面图。
图14B是表示采用实施例3的布线设计方法得到的虚布线和其它布线的状态的概要平面图。
具体实施方式
实施例1
图1是本发明实施例1的半导体设计装置的结构图。
LSI的设计有多个阶段,在此说明的半导体设计装置相当于用于在芯片上配置的逻辑单元间进行布线的自动布线用CAD工具。另外,不仅可以进行布线,还可以进行逻辑单元等的布局设计。
如图1所示,实施例1的半导体设计装置具有至少有多个存储区11、12、13等的存储单元10和相当于计算机的CPU20。另外,如该图所示,由于CPU可对布线处理进行并行处理,所以最好具有多个。另外,将输入部31和输出部32作为一体或作为外部周边装置来配备。
存储单元10具有多个存储器11~13,在各存储器中存储例如程序、逻辑单元配置信息数据、最终得到的布线用掩模数据等。CPU20通过执行程序而具有图1所示各种单元的功能,通过发挥这些单元的功能,实施集成电路的布线设计。
CPU20具有取得存储在存储部的逻辑单元配置信息的逻辑单元配置信息取得单元21;布线分组单元22,由取得的逻辑单元配置信息预测各逻辑单元间的布线,将芯片上的预测布线分成多个组;设定必要的布线通路的通路设定单元23;提取所选组的布线信息的布线信息提取单元24;执行所选组的布线的布线执行单元25;执行虚布线的虚布线单元26。
另外,实施例1的半导体设计装置中,布线分组单元22进一步具有计算预想布线长度的布线长度计算单元22a和根据布线长度对布线进行分组的布线分组单元22b。该布线分组单元22b将比基准布线长度短的布线分配给在下层的布线层区域中形成的第1组,将比基准布线长度长的布线分配给在上层的布线层区域中形成的第2组另外,布线执行单元25具有生成布线的布线单元25a和验证布线定时的定时验证单元25b。
另外,CPU20B具有含有布线单元27a和定时验证单元27b的布线执行单元27。布线执行单元27与CPU20的布线执行单元25一起进行并行处理。
将最终得到的布线作为掩模数据存储到存储单元10内的存储器中,同时通过显示器、打印机或绘图机等输出单元32输出。
图2是表示本发明实施例1的布线设计方法的流程图,参考该流程图说明上述半导体设计装置的布线设计方法。另外,对半导体芯片上形成的布线层数没有作限定,但以具有6层布线层的6层布线LSI的场合为例进行说明。
另外,如下所示的流程图的各步骤通过保存在存储单元10的存储器中的程序,用CPU20和CPU20B的各单元进行。
首先,利用逻辑单元配置信息取得单元21从存储单元部10内的存储器或输入单元31取得输入的逻辑单元配置信息(S110)。在该逻辑单元配置信息中包含芯片上逻辑单元的单元端子的位置、需要连接的逻辑单元的端子间的布线连接清单和布线定时信息等。
接着,基于取得的逻辑单元配置信息,利用布线分组单元22的预想布线长度计算单元22a预想各逻辑单元间的布线,计算出其预想布线长度。接着,利用根据布线长度进行分组的布线分组单元22b,将预想布线长度小于基准布线长度的布线分割为作为下层区域布线的第1组,将预想布线长度大于基准布线长度的布线分割为作为上层区域布线的第2组(S120)。另外,预想布线的方式有很多种,没有作限定,但例如可以使应连接的逻辑单元端子间的布线成为最短距离来求出预想布线。
例如,如图3A所示,在芯片上配置有逻辑单元端子61a、61b、71a~71d,预想连接逻辑单元端子61a和61b的布线(以下称为“布线61a-61b”)、连接逻辑单元端子71a和71c的布线(以下称为“布线71a-71c”)、连接逻辑单元端子71b和71d的布线(以下称为“布线71b-71d”)时,若将基准布线长度设定为布线71a-71c的长度和布线61a-61b的长度之间,则如图3B和图3C所示,将比基准布线长度短的布线71a-71c以及布线71b-71d分组为作为下层区域布线的第1组,将比基准布线长度长的布线61a-61b分组为作为上层区域布线的第2组
在此,将比较长的布线组作为上层区域布线是因为在上层区域进行布线时障碍物和禁止布线区域少,容易配置直线状的布线,而且可以容易增大布线宽度,所以降低布线阻抗R,容易减小布线延迟RC。
另外,布线的分组步骤S120具体如图5的流程图所示,可以用以下(i)~(v)的步骤进行布线的分组
(i)从布线连接清单读入总布线数,将其作为Nmax,同时设定基准布线长度(S121)。另外,对于基准布线长度有各种设定方法,可以设定为平均布线长度,也可以从外部输入来指定基准布线长度。
(ii)接着,进行N=1的初始设定(S122)。
(iii)从逻辑单元配置信息取出第N个布线的布线信息,计算出其预想布线长度(S123)。
(iv)比较预想布线长度和基准布线长度(S124),在预想布线长度大于基准布线长度时,将该布线分配给成为上层区域布线的第2组(S127)。另一方面,在预想布线长度小于基准布线长度时,进一步比较包含在逻辑单元配置信息的布线定时信息,判断布线定时是否有剩余(S125),在判断为有剩余时,将该布线分配给成为下层区域布线的第1组(S126),在判断为没有剩余时,将该布线分配给第2组(S127)。像这样,通过进行考虑了布线定时的分组修正,可以进行定时错误更少的高可靠性的布线。
(v)判断N是否为Nmax(S128),在没有达到Nmax时,进行N=N+1(S129),重复上述S123~S128的步骤。在N=Nmax时,结束处理。
再次参考图2的流程图。各布线的分组结束后,将相当于成为上层区域布线的第2组布线端子的逻辑单元的连接端子提升到上层区域(S130)。即,利用必要的布线通路设定单元23设定到达上层区域的布线层的布线通路。图4A示出该布线截面模式。在此,由于例示了6层布线的场合,所以该图中,下层区域的布线层是指第1布线层(M1)~第3布线层(M3),上层区域的布线层是指第4布线层(M4)~第6布线层(M6)。通过步骤S130的处理,设定通路布线,将作为成为上层区域布线层的布线61a~61b的布线端子的逻辑单元端子61a和61b提升到第4布线层(M4)。
接着,利用所选组的布线信息提取单元24提取各组的布线连接信息和配置信息等,将整个芯片的定时限制分配为上层区域布线层和下层区域布线层(S140)。另外,如图4B所示,在该配置信息中除了包含第1布线层(M1)上的布线端子(逻辑单元端子)的位置和连接信息之外,还包含逻辑单元端子61a、61b用的通路布线部分等禁止布线区域信息。
之后,基于提取的布线连接信息和配置信息等,用CPU20内的布线执行单元25和CPU20B内的布线执行单元27分别独立地并行执行(S150,S160)第1组(下层区域布线)和第2组(上层区域布线)的布线。
图6的流程图示出第1组的布线执行步骤的具体方法。首先,基于提取的布线连接信息和配置信息,由布线单元25a或布线单元27a实施布线(S151)。即,在第1布线层至第3布线层的下层的布线区域中,生成属于第1组的布线。该布线方法可以使用现有的自动布线方法。布线结束后,基于生成的布线,提取各布线的布线阻抗R和布线电容C(S152)。另外,为了在第1组可以独立地提取这些值,假设上层区域的最下层,即第4布线层由虚布线面状布满来进行。接着,由提取的布线阻抗R和布线电容C的值计算出布线延迟RC,对分配给第1组(下层区域布线层)的定时限制验证是否有定时违反(S153)。在有定时违反时,为了减小布线延迟RC,再次实施布线(S154)。再次基于再次布线,提取布线阻抗R和布线电容C(S152),验证是否有定时违反(S153)。在有定时违反时,修改布线,再次执行布线。重复该S152~S154的步骤直至没有定时违反为止,最终得到没有定时违反的布线。以上的布线定时验证在定时验证部25b和27b执行。
另外,还可以增加与定时违反的验证不同,进行串扰的解析,从串扰点验证是否有违反的步骤。另外,在实际上制作设备的工艺中,也可以增加称为处理天线限制的布线间的充电量对绝缘破坏等的验证步骤。
第2组(上层区域布线)的布线采用与上述的第1组的布线情况相同的步骤进行即可。另外,在提取第2组的布线阻抗R和布线电容C时,假设下层区域的最上层布线层,即第3布线层由虚布线布满来进行。
再次,返回图2的流程图。布线结束后,为了符合上述的布线定时验证条件,对作为上层区域的最下层的第4布线层和作为下层区域的最上层的第3布线层追加虚布线(S170)。即,如图4C所示,在没有形成第3布线层(M3)和第4布线层(M4)的布线的区域追加虚布线。另外,虚布线是在布线执行步骤中,定时验证的计算大致符合实际的布线的范围即可,不需要完全布满第3布线层(M3)和第4布线层(M4)。另外,应该使已经实施布线的布线不产生短路那样地追加虚布线。
如上所述,本发明实施例1的布线设计方法中,逻辑单元间的布线中,分成布线长度比基准布线长度短的第1组和比基准布线长度长的第2组,在作为第1~第3布线层的下层区域独立进行第1组的布线,在作为第4~第6布线层的上层区域独立进行第2组的布线。实施各组的布线时,成为对象的逻辑单元数和逻辑单元间的连接个数比统一整体布线时减少。从而,在执行各组的布线时,可以大幅度减少各CPU进行运算处理时所需的CPU内的存储器使用量。
上述方法中,由于利用2台CPU(计算机),用一个CPU20进行第1组的布线,用另一个CPU20B并行同时执行第2组的布线,所以可以在短时间内完成布线。
现有的分层布线方法中,由于对各模块独立进行处理,所以对于模块间的布线,由于其它模块配置区域成为禁止布线区域,所以芯片面积依然会增大,但上述本发明实施例1的布线设计方法中,由于禁止布线区域面积小,所以布线的自由度高,不需要增大芯片面积。
另外,现有的分层布局方法中,对于模块间的布线,由于不能提取布线电容C等,所以不能正确验证整个芯片的布线定时限制等,但上述的实施例1的布线设计方法中,由于形成虚布线层,所以可以按各布线层区域正确提取布线阻抗R和布线电容C。从而,在各布线层区域的布线工艺中,容易满足定时限制、处理天线限制等,可以提高整个芯片布线的可靠性。
实施例2
实施例2的布线设计方法是实施例1的变形例。即,实施例1中以6层布线层为例说明了将逻辑单元间布线分为第1组和第2组的布线设计方法,但实施例2中,说明使用9层布线层时,将逻辑单元间布线分为第1~第3共3组的布线设计方法。
另外,由于基本的设计装置的结构和设计方法与实施例1相同,所以参考图7~图10简单说明实施例2。
首先,取得逻辑单元配置信息(S210),基于该信息,计算出各布线的布线长度,将预想布线长度小于基准布线长度的布线作为第1组,将大于基准布线长度、且不够2倍的布线作为第2组,将大于基准布线长度的2倍的布线作为第3组将第1组的布线分配给第1布线层至第3布线层(下层区域布线),将第2组的布线分配给第4布线层至第6布线层(中层区域布线),将第3组的布线分配给第7布线层至第9布线层(上层区域布线)(S220)。另外,进行定时解析,对于定时严格的布线,可修改为分配给更上层的布线层区域。
例如,如图8A所示,在芯片52上配置有逻辑单元端子62a、62b、72a、72b、72c、72d,预想了布线62a-62b、布线72a-72b以及布线72c-72d,在基准布线长度比布线62a-62b长、比布线72a-72b短时,如图8B所示,将布线72c-72d分配给第1组,将布线72a-72b分配给第2组,将布线62a-62b分配给第3组。
接着,如图9A所示,将属于第2组的布线端子(逻辑单元端子)提升到中层区域,将属于第3组的布线端子(逻辑单元端子)提升到上层区域。即,设定各布线通路(S230)。
在各组中提取布线连接信息和配置信息,对各层区域分配定时限制(S240)。另外,如图9B所示,在该配置信息中包含各布线层区域的布线端子信息和成为禁止布线区域的布线通路的信息。
接着,基于提取的布线连接信息和配置信息,独立实施各组的布线(S250~S270)。另外,各组的具体布线方法可以使用与图6的流程图相同的方法。在此,由于同时处理各组,所以实施例3的半导体设计装置最好具有3台CPU。
最后,为了符合上述布线定时验证条件,在作为上层区域的最下层的第7布线层(M7)、作为中层区域的最上层和最下层的第4布线层(M4)和第6布线层(M6)、以及作为下层区域的最上层的第3布线层分别追加覆盖没有形成布线的区域的虚布线(S280)。
如上所述,即使布线数、布线层数增加,也由于布线的分割数增加,可以按各组独立实施布线,所以不会增加进行各布线所需的存储器使用量。从而,根据布线的分割数增加CPU个数,独立实施各布线层区域的布线,就可以在极其短的时间内完成布线处理。另外,由于可以按各组取得正确的布线阻抗R和布线电容C,所以可以确保芯片整体布线的可靠性。
实施例3
实施例3的布线设计方法对于逻辑单元间布线的分组采用与实施例1和实施例2的方法不同的方法进行。
另外,基本的布线设计装置的结构具有与图1所示的实施例1的布线设计装置的结构大致相同的结构,但CPU个数是对应分组数的个数。
以下,参考图11所示的流程图说明实施例3的布线设计方法。另外,对于半导体芯片上形成的布线层数没有作限定,但以6层布线LSI的场合为例进行说明。
首先,取得单元端子间的位置和端子间的布线连接清单等的逻辑单元配置信息(S310)。
接着,将芯片平面以格子状的边界分割成多个区域,将分割的区域内封闭的逻辑单元间的布线分割为作为下层区域布线的第1组,将横跨多个分割区域的逻辑单元间的布线分割为作为上层区域布线的第2组(S320)。
例如,如图12A所示,在芯片53上配置逻辑单元端子63a、63b、73a、83a、83b,预想了连接各端子的布线63a-63b、布线73a-73b、布线83a-83b时,如图12B所示,将芯片平面分割为面积相同的4个区域A~D,将各区域内封闭的逻辑单元端子间布线73a-73b和逻辑单元端子间布线83a-83b作为第1组,将横跨多个区域B、C、D的逻辑单元间布线63a-63b作为第2组
一般,横跨多个区域的逻辑单元端子间连接是较长的布线,各区域内封闭的逻辑单元布线相当于较短的布线。从而,若将作为较长的布线的第2组设为上层区域布线,则由于上层区域布线的障碍物少、所谓的禁止布线区域窄,所以容易配置直线状的布线,而且可以进行较宽的布线,所以容易降低布线阻抗,减小布线延迟。
另外,进行布线分组的步骤S320可以具体按照实施例1的图5的流程图所示的方法进行,对于定时上没有剩余的布线,可修改分组条件,以使该布线不属于第1组而属于第2组
这样,各布线的分组结束之后,接着,将相当于成为上层区域布线的第2组的逻辑单元的布线端子(逻辑单元端子)提升到上层区域(S330)。即,形成到达上层区域的布线通路。图13A中示出该布线截面模式。在此,通过步骤S330的处理,设定布线通路,将作为成为上层区域布线层的布线63a-63b的布线端子的逻辑单元端子63a和63b提升到第4布线层(M4)。
接着,对于相当于下层区域布线的第1组,按分割的各区A~D提取布线连接信息和配置信息等,对于相当于上层区域布线的第2组,按组单独提取布线连接信息和配置信息等,将整个芯片的定时限制分别分配给上层区域布线层的各分割区域A~D和下层区域布线层(S340)。
另外,如图13B所示,在该配置信息中除了第1布线层上的逻辑单元端子的位置和连接信息之外,还包含禁止布线区域的信息等。接着,基于提取的布线连接信息和配置信息,用多个CPU并行独立实施第1组(下层区域布线)和第2组(上层区域布线)的布线。
另外,对于第1组,最好基于按芯片面的分割区域A~D提取的布线连接信息和配置信息,按各分割区域实施布线。
布线实施步骤(S350、S360)的具体方法可以使用与图6所示的实施例1的方法相同的方法。即,首先基于提取的布线连接信息和配置信息,在第1布线层至第3布线层的下层区域,按各分割区域进行属于第1组的布线。布线完成之后,基于实际进行的布线,提取各布线的布线阻抗R和布线电容C。另外,为了在各组可以独立提取这些值,假设在上层区域的最下层,即第4布线层由虚布线布满,同时在下层区域中,在分割了芯片面的各分割区域的边界存在屏蔽层,不受相互邻接的分割区域的影响并进行。
接着,由提取的布线阻抗R和布线电容C的值计算出布线延迟RC,对于分配给第1组(下层区域布线层)的各分割区域中的定时限制,验证是否有定时违反,在有定时违反时,为了减小布线延迟RC,再次实施布线。这样,重复再次布线,直至没有定时违反为止。可以除了定时违反之外,还增加串扰解析和处理天线限制的验证步聚。
最后,为了符合上述布线的定时验证条件,对作为上层区域的最下层的第4布线层、作为下层区域的最上层的第3布线层追加虚布线,同时在下层区域按分割区域实施布线时,在下层区域的芯片分割区域的边界设定屏蔽布线(S370)。
图14A表示实施了虚布线93、103和屏蔽布线113的布线层的情况。另外,图14B是表示屏蔽布线113的配置的布线层的平面图。虚布线103和93形成为在第3布线层(M3)和第4布线层(M4)的没有形成布线的区域大致布满。另外,在下层区域的第1布线层至第3布线层的各芯片分割区域的边界形成屏蔽布线113。
另外,虚布线在布线执行步骤中,使定时验证的计算大致符合实际布线的范围即可,不必完全布满第3布线层(M3)和第4布线层(M4)。另外,使已经实施布线的布线不短路那样地追加虚布线。
如上所述,本发明实施例3的布线设计方法中,由于按上层区域和下层区域进行布线,对于下层区域的布线,按芯片上的区域进一步分割,按各分割区域独立实施布线,所以可以大幅度减小实施布线时CPU所用的存储器使用量。
另外,由于通过进行虚布线和屏蔽布线,对于下层区域的布线,可以按各分割区域独立实施布线,同时高可靠性地进行布线的定时解析等,所以芯片整体的布线中,也可以形成满足定时限制的定时驱动的布线。
另外,由于可以独立进行第1组的各分割区域的布线和第2组的布线,所以通过使用多台CPU并行处理,可以在短时间内完成布线处理。
另外,实施例3中,说明了将芯片平面分割为4个区域的例子,但不限定分割的区域数。另外,分割区域不需更一定是相同面积。
以上,说明了实施例1~实施例3,但本发明不限于上述实施例,可以进行各种变形和改良。例如,布线的分组方法和分组个数没有限定,不限于上述的布线长度等,对于布线的功能、时钟布线和电源布线等布线,也可以追加分配给指定的布线层区域等的分组条件。另外,对于定时限制严格的布线,可以分组为分配给容易防止布线延迟的上层区域的布线层区域。
Claims (16)
1.一种集成电路布线设计装置,具有:
逻辑单元配置信息取得单元,取得芯片上的逻辑单元配置信息;
布线分组单元,基于上述取得的逻辑单元配置信息预想逻辑单元端子间布线,将该预想的各布线按布线层区域分为各组;
通路设定单元,为了将在最下层布线层区域以外的布线层区域布线的逻辑单元端子提升到应布线的布线层区域,进行通路布线的设定;
布线信息提取单元,提取上述各组的布线信息;
布线执行单元,基于提取的信息,按各布线层区域执行逻辑单元端子间的布线。
2.如权利要求1所述的集成电路布线设计装置,其中:
上述布线分组单元由上述取得的逻辑单元配置信息计算出各逻辑单元间的预想布线长度,以计算出的布线长度为基准,将各布线分割为多个组,将布线长度越长的组分配给配置在越上层的布线层区域中的组。
3.如权利要求1所述的集成电路布线设计装置,其中:
上述布线分组单元将上述芯片平面分割为多个区域,将具有封闭在各分割区域内的布线的逻辑单元端子间布线设为在下层布线层区域布线的第1组,将具有横跨多个区域的布线的逻辑单元端子间布线作为在上层布线层区域布线的第2组。
4.如权利要求3所述的集成电路布线设计装置,其中:
上述布线分组单元还将属于上述第1组的布线按分割了上述芯片平面的各区域进行分组。
5.如权利要求1所述的集成电路布线设计装置,其中:
上述布线执行单元具有生成布线的单元和对生成的布线进行定时验证的定时验证单元。
6.如权利要求1所述的集成电路布线设计装置,还包括:
其它的布线执行单元,
各布线执行单元独立地并行处理任一组的布线。
7.如权利要求6所述的集成电路布线设计装置,其中:
上述各布线执行单元按各组,基于生成的布线进行定时验证,重复再次布线,直至没有定时违反为止。
8.如权利要求5所述的集成电路布线设计装置,还包括:
进行虚布线的单元,
上述定时验证是假设在邻接的布线层区域的最上层或最下层的布线层布满虚布线来进行。
9.一种集成电路布线设计方法,具有:
取得芯片上的逻辑单元配置信息的步骤;
布线分组步骤,基于上述取得的逻辑单元配置信息预想逻辑单元端子间布线,将该预想的各布线按布线层区域分为各组;
生成通路布线的步骤,将在最下层布线层区域以外的布线层区域中布线的逻辑单元端子提升到应布线的布线层区域;
在上述各组中提取布线信息的步骤;
基于提取的信息,按各布线层区域在逻辑单元端子间执行布线的步骤。
10.如权利要求9所述的集成电路布线设计方法,其中:
上述布线分组步骤具有:
由上述取得的逻辑单元配置信息计算出各逻辑单元间的预想布线长度的步骤;和
以计算出的布线长度为基准,将各布线分割为多个组,将布线长度越长的组分配给配置在越上层的布线层区域中的组的步骤。
11.如权利要求9所述的集成电路布线设计方法,其中:
上述布线分组步骤将上述芯片平面分割为多个区域,将具有封闭在单一区域内的布线的逻辑单元端子间布线设为在下层布线层区域布线的第1组,将具有横跨多个区域的布线的逻辑单元端子间布线作为在上层布线层区域布线的第2组。
12.如权利要求11所述的集成电路布线设计方法,其中:
上述布线分组步骤进一步对属于上述第1组的布线按分割上述芯片平面得到的各区域进行分组。
13.如权利要求9所述的集成电路布线设计方法,其中:
上述执行布线的步骤具有:
生成布线的步骤;和
对生成的布线进行定时验证的步骤。
14.如权利要求9所述的集成电路布线设计方法,其中:
上述执行布线的步骤独立地并行处理各组的布线。
15.如权利要求9所述的集成电路布线设计方法,其中:
上述执行布线的步骤具有:
在各组中基于生成的布线进行定时验证的步骤;和
在有定时违反时进行再次布线的步骤。
16.如权利要求13所述的集成电路布线设计方法,其中:
上述定时验证假设在邻接的布线层区域的最上层或最下层的布线层中布满虚布线来进行,
上述设计方法还具有进行该虚布线的步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002138399A JP3616611B2 (ja) | 2002-05-14 | 2002-05-14 | 半導体集積回路装置の設計装置、半導体集積回路の設計方法および半導体集積回路設計プログラム |
JP138399/2002 | 2002-05-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1495883A CN1495883A (zh) | 2004-05-12 |
CN1291478C true CN1291478C (zh) | 2006-12-20 |
Family
ID=29699848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB031648754A Expired - Fee Related CN1291478C (zh) | 2002-05-14 | 2003-05-14 | 集成电路布线设计装置和方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6951007B2 (zh) |
JP (1) | JP3616611B2 (zh) |
KR (1) | KR100542533B1 (zh) |
CN (1) | CN1291478C (zh) |
TW (1) | TWI231009B (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6969952B2 (en) * | 2003-08-01 | 2005-11-29 | Hewlett-Packard Development Company, L.P. | System and method for automatically routing power for an integrated circuit |
JP4086816B2 (ja) * | 2004-07-01 | 2008-05-14 | 株式会社Nec情報システムズ | Bga部品搭載基板の層数見積もり装置及び方法並びに層数見積もりプログラム |
US7334206B2 (en) * | 2004-12-13 | 2008-02-19 | Lsi Logic Corporation | Cell builder for different layer stacks |
US20060190866A1 (en) * | 2005-01-25 | 2006-08-24 | Herbener Stephen R | Resistance extraction for hierarchical circuit artwork |
US7992122B1 (en) * | 2005-03-25 | 2011-08-02 | Gg Technology, Inc. | Method of placing and routing for power optimization and timing closure |
JP4745697B2 (ja) * | 2005-03-29 | 2011-08-10 | 富士通セミコンダクター株式会社 | 複数の配線層を有する半導体回路の端子層設定方法、端子層設定プログラム、配線端子延長処理プログラム、および、その端子層を設定に用いられる端子延長用コンポーネント |
US7464359B2 (en) * | 2006-03-27 | 2008-12-09 | International Business Machines Corporation | Method for re-routing an interconnection array to improve switching behavior in a single net and an associated interconnection array structure |
JP4282687B2 (ja) | 2006-05-10 | 2009-06-24 | エルピーダメモリ株式会社 | 半導体集積回路の設計方法及び設計装置 |
US7392496B1 (en) * | 2006-10-03 | 2008-06-24 | Lsi Corporation | Device for avoiding timing violations resulting from process defects in a backfilled metal layer of an integrated circuit |
JP5148144B2 (ja) * | 2007-03-22 | 2013-02-20 | ルネサスエレクトロニクス株式会社 | 配線配置方法 |
JP4993362B2 (ja) * | 2007-06-26 | 2012-08-08 | ルネサスエレクトロニクス株式会社 | 半導体集積回路の自動遅延調整方法 |
JP5966300B2 (ja) * | 2011-09-29 | 2016-08-10 | 富士通株式会社 | 配線支援方法及び装置 |
JP5904767B2 (ja) * | 2011-11-15 | 2016-04-20 | ルネサスエレクトロニクス株式会社 | 半導体装置の開発支援装置、開発支援方法及び開発支援プログラム |
CN102637217B (zh) * | 2012-02-20 | 2014-03-26 | 苏州领佰思自动化科技有限公司 | 基于云计算平台的大规模集成电路布线*** |
CN102622468B (zh) * | 2012-02-20 | 2014-01-15 | 苏州领佰思自动化科技有限公司 | 基于并行计算的大规模集成电路通道布线*** |
JP6089723B2 (ja) * | 2013-01-24 | 2017-03-08 | 富士通セミコンダクター株式会社 | 設計方法、および設計プログラム |
KR102053722B1 (ko) | 2013-03-11 | 2019-12-09 | 삼성전자주식회사 | 적층 반도체 장치의 tsv 배치 설계 방법 및 적층 반도체 장치의 tsv 배치 설계 시스템 |
US9773076B2 (en) | 2014-05-19 | 2017-09-26 | Taiwan Semiconductor Manufacturing Company, Ltd. | Conductive lines in circuits |
CN105160107B (zh) * | 2015-09-07 | 2018-03-06 | 成都锐开云科技有限公司 | 一种用于平板显示器的等电阻布线方法及装置 |
CN105512438B (zh) * | 2016-01-18 | 2018-05-11 | 成都锐开云科技有限公司 | 一种等时延布线方法及装置 |
CN105574289B (zh) * | 2016-01-18 | 2018-05-11 | 成都锐开云科技有限公司 | 一种等电容布线方法及装置 |
CN111682022B (zh) * | 2020-05-12 | 2023-10-31 | 中国科学院上海微***与信息技术研究所 | 基于异层jtl布局布线的超导集成电路设计方法 |
US11341311B1 (en) | 2021-06-24 | 2022-05-24 | International Business Machines Corporation | Generation and selection of universally routable via mesh specifications in an integrated circuit |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2895129B2 (ja) * | 1990-01-22 | 1999-05-24 | 株式会社東芝 | 論理セルの配置処理方法及び論理セルの配置処理装置 |
US5361214A (en) | 1990-07-09 | 1994-11-01 | Kabushiki Kaisha Toshiba | Method for automatically determining wiring routes |
JPH06125013A (ja) * | 1992-03-14 | 1994-05-06 | Toshiba Corp | 半導体装置及びその製造方法 |
JPH08236633A (ja) * | 1995-03-01 | 1996-09-13 | Fuji Xerox Co Ltd | 論理セルの配置方法 |
JPH09129738A (ja) | 1995-10-30 | 1997-05-16 | Hitachi Ltd | 配線配置設計方法 |
JP3636523B2 (ja) | 1995-12-26 | 2005-04-06 | 株式会社ルネサステクノロジ | 半導体集積回路装置およびその製造方法 |
JPH09246391A (ja) * | 1996-03-06 | 1997-09-19 | Sharp Corp | 配線設計方法および配線設計装置 |
US6539531B2 (en) * | 1999-02-25 | 2003-03-25 | Formfactor, Inc. | Method of designing, fabricating, testing and interconnecting an IC to external circuit nodes |
-
2002
- 2002-05-14 JP JP2002138399A patent/JP3616611B2/ja not_active Expired - Fee Related
-
2003
- 2003-05-09 TW TW092112683A patent/TWI231009B/zh not_active IP Right Cessation
- 2003-05-13 KR KR1020030030149A patent/KR100542533B1/ko not_active IP Right Cessation
- 2003-05-13 US US10/436,045 patent/US6951007B2/en not_active Expired - Fee Related
- 2003-05-14 CN CNB031648754A patent/CN1291478C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1495883A (zh) | 2004-05-12 |
JP2003332431A (ja) | 2003-11-21 |
KR20030088361A (ko) | 2003-11-19 |
US20040031010A1 (en) | 2004-02-12 |
US6951007B2 (en) | 2005-09-27 |
TWI231009B (en) | 2005-04-11 |
JP3616611B2 (ja) | 2005-02-02 |
KR100542533B1 (ko) | 2006-01-11 |
TW200406043A (en) | 2004-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1291478C (zh) | 集成电路布线设计装置和方法 | |
US6526563B1 (en) | Method for improving area in reduced programmable logic devices | |
US6809549B2 (en) | Programmable logic device structures in standard cell devices | |
US6629308B1 (en) | Method for managing database models for reduced programmable logic device components | |
US6490707B1 (en) | Method for converting programmable logic devices into standard cell devices | |
US6675309B1 (en) | Method for controlling timing in reduced programmable logic devices | |
Das et al. | Design tools for 3-D integrated circuits | |
CN1203421C (zh) | 总线***及其路径判定方法 | |
CN1725642A (zh) | 可编程逻辑电路装置和可编程逻辑电路重配置方法 | |
CN1649129A (zh) | 用于半导体器件的自动布局和布线的自动布局和布线设备、方法,半导体器件及其制造方法 | |
CN104021002B (zh) | 一种pdm***标准件存储方法 | |
CN1300731C (zh) | 半导体集成电路及其设计方法 | |
Alpert et al. | Effective free space management for cut-based placement via analytical constraint generation | |
US7260802B2 (en) | Method and apparatus for partitioning an integrated circuit chip | |
Cong et al. | Robust mixed-size placement under tight white-space constraints | |
US8141020B2 (en) | Temperature-controlled 3-dimensional bus placement | |
US20060236283A1 (en) | Method of designing layout of semiconductor integrated circuit and apparatus for doing the same | |
CN1959946A (zh) | 半导体装置的封装设计方法及制造方法和布局设计工具 | |
CN114330212B (zh) | 芯片管脚的排布方法、装置、计算机设备及存储介质 | |
Yang et al. | An ILP based hierarchical global routing approach for VLSI ASIC design | |
Minz et al. | Block-level 3-D global routing with an application to 3-D packaging | |
Kong et al. | Optimal bus sequencing for escape routing in dense PCBs | |
US20060190890A1 (en) | Cell instance generating method | |
US7005888B1 (en) | Programmable logic device structures in standard cell devices | |
Banerjee et al. | Fast FPGA placement using space-filling curve |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20061220 |