用于布图半导体器件的软件产品及方法

文档序号:6847754阅读:164来源:国知局
专利名称:用于布图半导体器件的软件产品及方法
技术领域
本发明涉及一种用于布图(设计)半导体器件的软件产品和方法。更具体地,本发明涉及一种利用层级设计法布图半导体器件的软件产品和方法。
背景技术
近年来,在诸如系统LSI和ASIC的半导体器件的领域中,在所需功能和性能方面的增加使电路结构更加复杂。常利用层级设计法来设计半导体器件。根据层级设计法,把半导体器件视为一组功能块(模块),并且把每个功能块看作一组小规模模块。从而,确立了层级结构。在根据层级设计的顶层级中,布置了诸如CPU核芯和DSP核芯的兆宏(大规模功能块),并随后设置连接在布置的兆宏之间的互连。在兆宏内的互连和元件对应第二层级。下文中,“宏”可以称为“层级宏”。
图1A和1B示出了在顶层级中的布图的示意图。如图1A中所示,在顶层级中布置了三个层级宏201、202和203以及互连210。设置互连210以连接在层级宏201和层级宏203之间。在顶层级的布图中,允许互连210跨越位于宏201和203之间的层级宏202,以便使互连路径最佳化。在某些情况下,例如中继器的定时调整元件可以插入在顶层级的互连内,用于调整信号定时。这种定时调整元件也允许位于层级宏上。
如上所述,在没有连接某个宏的互连跨越某个宏的情况下,进行“插入(嵌入)处理”,其中把互连的重叠部分插入(嵌入)某个宏。更具体地,把关于重叠部分的信息加入网表,网表描述某个宏内的元件之间的连接性。在逻辑设计步骤,这种信息最初不存在于宏的网表中。
例如,可以把上述互连210分成互连211、互连212和互连213,如图1B中所示。互连211位于宏201和宏202之间,互连213位于宏202和宏203之间。互连212对应互连210的重叠部分,并称为“跨越互连”。跨越互连212从顶层级下降到下一级层级,并且插入到层级宏202内。
日本未决专利申请(JP-P2000-100949A)和日本未决专利申请(JP-P2000-156414A)公开了这种常规的插入处理,其中顶层级中的跨越互连降落到下一级层级。
同样,图2A示出了顶层级中的另一布图。如图2A中所示,在顶层级中布置层级宏204a、204b、204c和204d以及互连。在该例中,层级宏204a至204d是相同的宏并且具有相同的功能。此时,层级宏204a至204d的方向彼此不同。存储在宏库中的层级宏在反转和旋转后被复制并布置在顶层级中。在图2A所示的例子中,定义层级宏204a的方向为N方向。在这种情况下,层级宏204b相对于N方向从左向右反转。层级宏204c相对于N方向从上向下反转。层级宏204d相对于N方向从左向右并从上向下反转。
并且,如图2A中所示,例如中继器的定时调整元件插入到顶层级中的互连的预定位置,以便调整信号定时。重叠部分定义为与任一宏204a至204d重叠的互连和中继器的部分。当如图2A中所示在顶层级中布置互连和中继器时,尽管层级宏204a至204d具有相同的功能,但要插入各宏204a至204d的重叠部分的位置彼此不同。因此,在插入处理和布图第二层级(每个宏的内部)的时候,上述的层级宏204a至204d分别认为是不同的层级宏204至207,如图2B中所示。对于各层级宏204至207独立地进行第二层级的布图。
根据上述的常规布图方法,在插入处理的时候,层级宏204至207被看作四种不同的宏,即使它们是具有相同功能的相同层级宏。在这种情况下,虽然只利用宏库中的一种层级宏,但在布图半导体器件中必须处理四种层级宏。从而,用于设计的步骤的数量随所用的层级宏的数量的增加而增加。同样,在布图处理之后,检查(检验)所设计的半导体器件的工作和布图。还应对四种层级宏中的每个进行这种检验。结果,增加了半导体器件的设计处理中的TAT(响应时间)。

发明内容
因此,本发明的一个目的是提供一种用于布图半导体器件的软件产品和方法,其能够减少布图处理所需的时间。
本发明的另一个目的是提供一种用于布图半导体器件的软件产品和方法,其能减少布图处理中的TAT(响应时间)。
在本发明的一个方案中,用于利用层级设计法布图半导体器件的软件产品存储在记录介质中并由计算机来执行。软件产品包括如下功能(A)定位属于第一层级的多个宏,多个宏包括具有相同功能的多个第一宏;(B)布置连接在多个宏之间的连接结构;(C)从连接结构中分别提取与多个第一宏重叠的多个重叠部分;(D)把各多个重叠部分插入多个第一宏中,多个第一宏的内部与低于第一层级的第二层级关联;(E)通过相对于各多个第一宏的方向叠加多个重叠部分,计算与任一多个重叠部分关联的禁用区域;以及(F)在多个第一宏中的每一个内布置属于第二层级的互连和元件,以便在禁用区域中不设置互连和元件。
上述的连接结构包括连接在多个宏之间的一组互连。连接结构能进一步包括插入互连组中用于调整信号定时的元件。
根据软件产品,在上述(E)计算中,在方向彼此对准之后,计算禁用区域。
软件产品进一步包括功能(G),其通过汇集属于第一层级的多个宏、与多个第一宏不重叠的连接结构的非重叠部分、多个重叠部分和属于第二层级的互连和元件来产生布图数据。
在本发明的另一个方案中,一种利用计算机布图半导体器件的方法,包括(a)使属于第一层级的多个宏定位,多个宏包括具有相同功能的多个第一宏;(b)布置连接在多个宏之间的连接结构;(c)从连接结构中分别提取与多个第一宏重叠的多个重叠部分;(d)把各多个重叠部分插入多个第一宏,多个第一宏的内部与低于第一层级的第二层级关联;(e)通过相对于各多个第一宏的方向重叠多个重叠部分,计算与任一多个重叠部分关联的禁用区域;(f)在多个第一宏的每一个内布置属于第二层级的互连和元件,使得在禁用区域中没有设置互连和元件;以及(g)通过汇集属于第一层级的多个宏、与多个第一宏不重叠的连接结构的非重叠部分、多个重叠部分和属于第二层级的互连和元件来产生布图数据,并在存储单元中存储布图数据。
连接结构包括连接在多个宏之间的一组互连。连接结构能进一步包括插入互连组中用于调整信号定时的元件。
根据该方法,在上述(e)计算中,在方向彼此对准之后,计算禁用区域。
根据本发明的用于设计半导体器件的软件产品和方法,对每种宏重叠(合并)要插入下一层级中的宏的连接结构(互连、定时调整元件)的重叠部分。然后,进行每个宏(第二层级)中的布图。从而,足以对相同种类的宏仅执行一次布图。因此,能够减少用于布图(设计)半导体器件的步骤的数量,并由此减少了布图处理中所需的布图处理和TAT的时间。


图1A示出了根据常规技术在顶层级中的布图的示意图;图1B示出了根据常规技术的插入处理的示意图;图2A示出了根据常规技术在顶层级中的另一布图的示意图;图2B示出了根据常规技术的插入处理的示意图;图3示出了根据本发明的一种布图半导体器件的方法的程序的流程图;图4示出了根据本发明在顶层级中的布图的示意图;图5示出了根据本发明在插入处理之后顶层级平面图数据的示意图;图6示出了根据本发明插入在宏101a至101d中的重叠部分(跨越互连)的示意图;图7示出了根据本发明的禁用区域的示意图;图8示出了根据本发明产生内部宏最终布图数据的示意图。
具体实施例方式
下面将参考附图介绍本发明的实施例。
根据本发明,利用计算机系统、即CAD(计算机辅助设计)系统来进行半导体器件的布图(设计)。计算机系统具有存储单元、可对存储单元存取的处理单元、以及由处理单元执行的计算机程序(软件产品)。软件产品可以存储在记录介质中。为实现根据本发明的布图方法,软件产品具有配置为使计算机(处理单元)如下工作的计算机可读代码。换句话说,软件产品具有下述功能。
图3示出了根据本发明布图半导体器件的方法的程序的流程图。首先,判断布图层级,然后根据层级结构划分网表。接着,产生每个层级中的平面图(步骤S1)。例如,使属于顶层级的多个层级宏定位。更具体地是,判定每个层级中的每个宏(层级宏)的形状、尺寸、位置和方向。结果,例如,产生了顶层级平面图数据11和内部宏平面图数据12,如图3中所示。顶层级平面图数据11包括顶层级(第一层级)的平面图。每个内部宏平面图数据12包括在每个层级宏(第二层级)内的平面图。第二层级比第一层级低。
在存储单元中存储在步骤S1所产生的顶层级平面图数据11和内部宏平面图数据12。当具有要布置在顶层级上的N(N为自然数)种层级宏时,在步骤S1中产生N种内部宏平面图数据12,如图3中所示。多个相同种类的层级宏,换句话说,具有相同功能的多个层级宏可以布置在顶层级上。由于反转和旋转,可以以不同的方向布置多个相同种类的层级宏。
图4示出了根据本发明在顶层级中的布图的一个例子的示意图。如图4中所示,使属于顶层级的层级宏101a至101d定位。层级宏101a至101d(第一宏)是相同种类的层级宏并具有相同的功能。在图4中所示的例子中,第一宏101a的方向定义为N方向。在这种情况下,使第一宏101b相对于N方向从左向右反转。第一宏101c相对于N方向从上向下反转。第一宏101d相对于N方向从左向右并从上向下反转。
在产生顶层级平面图数据11之后,在顶层级中布置连接在多个宏之间的“连接结构”(步骤S2)。连接结构包括一组互连和诸如中继器的定时调整元件。互连连接在多个层级宏之间。设置定时调整元件以便调整信号定时,并插入互连的理想位置中,在图4中,例如,在顶层级中布置互连Net1至Net9和中继器(元件)C1至C7。
在顶层级的布图中,使互连跨越层级宏,以便使互连路径最佳化。还使中继器位于层级宏上方。例如,互连Net2与第一宏101a和101b重叠,如图4中所示。类似地,互连Net3与第一宏101b重叠,互连Net6与第一宏101c重叠,以及互连Net7与第一宏101c和101d重叠。并且,中继器C2和C5分别形成在第一宏101b和101c上。“重叠部分”定义为与任何第一宏101a至101d重叠的一部分连接结构(互连和中继器)。
如图5中所示,互连Net2可以分成部分Net2(0)、Net2(1)、Net2(2)和Net2(3)。互连Net3可以分成部分Net3(0)和Net3(1)。互连Net6可以分成部分Net6(0)和Net6(1)。互连Net7可以分成部分Net7(0)、Net7(1)、Net7(2)、Net7(3)和Net7(4)。每个部分Net2(1)、Net2(3)、Net3(0)、Net6(1)、Net7(0)和Net7(2)对应“重叠部分”。同样,每个中继器C2和C5对应“重叠部分”。
在顶层级中处理上述互连处理(步骤S2)之后,计算机从连接结构中提取多个重叠部分。然后,计算机进行“插入(嵌入)处理”,其中把多个重叠部分中的每一个插入(嵌入)到层级宏的对应的一个中(步骤S3)。应注意到,每个宏的内部与第二层级发生联系。由于插入处理,产生后插入顶层级平面图数据13和后插入内部宏平面图数据14并存储在存储单元内。在层级宏中的重叠部分的位置彼此不同。从而,当布置在顶层级上的各N种层级宏的数目是M1、M2至MN时,在步骤S3中产生(M1+M2+...+MN)种后插入内部宏平面图数据14。
在后插入顶层级平面图数据13中,如图5中所示,除去包括在第一宏101a至101d上的互连Net2(1)、Net2(3)、Net3(0)、Net6(1)、Net7(0)和Net7(2)、以及中继器C2和C5的重叠部分。在插入处理之后,互连Net1、Net4、Net5、Net8、Net9、Net2(0)、Net2(2)、Net3(1)、Net6(0)、Net7(1)、Net7(3)和Net7(4)、以及中继器C1、C3、C4、C6和C7保留在顶层级上。
并且,图6示意地示出了插入宏101a至101d的重叠部分。尽管在图4中示出了相对于N方向反转或旋转的第一宏101b至101d,但在图6中,使各第一宏101a至101d的方向布置成彼此相同的方向(N方向)。如图6中所示,在第一宏101a至101d中的插入的(嵌入的)重叠部分的位置彼此不同。从而,由于插入处理,从相同的内部宏平面图数据12中产生四种不同的后插入内部宏平面数据14。
接着,计算机从存储单元中读取后插入内部宏平面图数据14,并在所有的层级宏中提取关于重叠部分的位置的信息。然后,对N种层级宏中的每个叠加(合并)多个重叠部分(步骤S4)。例如,在第一宏101a至101d的情况下,叠加了插入的重叠部分Net2(1)、Net2(3)、Net3(0)、Net6(1)、Net7(0)、Net7(2)、C2和C5的位置。合并四种后插入内部宏平面图数据14以产生一个合并的数据。此时,通过参考各多个第一宏101a至101d的方向来进行叠加处理(合并处理)。更具体地是,在彼此对准各第一宏101a至101d的方向之后,叠加了插入的重叠部分的位置,如图6中所示。结果,计算并得到了合并的区域,如图7中所示。
合并的区域称为“禁用区域”。图7中所示的禁用区域联合有任何的重叠部分。禁用区域是其中禁止布置属于第二层级的互连和元件的区域,将在随后介绍的第二层级。更具体地是,例如,对应于插入的互连的区域转化成互连禁止区域,并且对应于插入的中继器的区域转化成FILL单元,其布置为使得没有其它的元件布置在其中。计算机计算禁用区域,并在存储单元中存储指示禁用区域的数据。
接着,用计算机对每个层级宏的内部进行互连(布图)处理(步骤S5)。例如,在多个第一宏的每一个内,布置属于第二层级的互连和元件。此处,进行互连处理,以便在上述禁用区域中不设置在每个第一宏内的互连和元件。对于N种层级宏中的每一个进行互连处理。结果,在步骤S5中产生N种内部宏布图数据15。每个内部宏布图数据15表示相应层级宏内的布图,并存储在存储单元内。
根据在步骤S5产生的内部宏布图数据15,在每个层级宏上进行工作检验。例如,工作检验包括用于根据模拟或静态定时分析检查在预期定时处电路是否工作的检验、用于利用格式检验工具检查布图处理之后的网表与布图处理之前的网表一致的检验、电功耗的检验等等。如果工作检验产生“失败(Fail)”,那么重复进行步骤S5处的布图处理,直到除去失败的检验结果。
在工作检验之后,对每个层级宏进行布图检验。在布图检验时,准备用于顶层级的工作检验的层级宏的模型。在完成层级宏的布图检验之后,利用层级宏的准备的模型进行顶层级的工作检验。当确定在顶层级的工作检验的结果中没有失败时,计算机从内部宏布图数据15中除去关于禁用区域的信息。然后,计算机合并(合计)从其中已除去关于禁用区域的信息的内部宏布图数据15和用后插入内部宏平面图数据14表示的关于插入的重叠部分(跨越互连和中继器)的插入数据。结果,从N种内部宏布图数据15种产生(M1+M2+...+MN)种内部宏最终数据16(步骤S6)。所产生的内部宏数据16存储在存储单元中。
图8示出了内部宏最终布图数据16的产生的示意图。给出从其中已除去关于禁用区域的信息的内部宏布图数据15,如图8中所示。例如,图8中所示的内部宏布图数据15对应于相同种类的第一宏101a至101d。并且,给出与第一宏101a至101d关联的上述四种后插入内部宏平面图数据14(参看图6)。内部宏布图数据15与四种后插入内部宏平面图数据14的每一个合并。结果,得到对应于各层级宏101a至101d的四种内部宏最终布图数据16a至16d。
然后,计算机合并在步骤S2产生的后插入顶层级平面图数据13和内部宏最终数据16,并使层级结构平面化。由此,产生理想的芯片数据(步骤S7)。这时,在反转或旋转后合并在内部宏最终数据16中的每个层级宏,以便与顶层级中的方向一致。例如,对应于图4中的第一宏101a的内部宏最终数据16a平行移动,并随后与后插入顶层级平面图数据13合并。对应于图4中的第一宏101b的内部宏最终数据16b从左向右反转,并随后与后插入顶层级平面图数据13合并。结果,得到了具有图4中所示的连接性的芯片数据。
根据常规的设计方法,当在顶层级上布置相同种类的多个层级宏并且要插入到各层级宏的重叠部分的位置彼此不同时,需要在每个层级宏上进行第二层级的布图。从而,需要布图处理的层级宏的数量比布置在顶层级上的层级宏的种类大。对于其上进行布图处理的每个层级宏来说,工作检验和布图检验是必须的。这样引起了TAT的增加。
根据本发明,在层级宏的方向对准成相同方向之后,叠加了相对于相同种类的层级宏的重叠部分的位置,以获得禁用区域。然后,相对于禁用区域对每种层级宏进行第二层级的布图。因此,即使当在顶层级上布置相同种类的多个层级宏并且要插入各层级宏的重叠部分的位置彼此不同时,也足以对相同种类的宏在宏内仅一次执行布图。从而,能够减少用于布图(设计)半导体器件的步骤的数量,并由此减少了布图处理所需的时间以及布图处理中的TAT的时间。
此外,根据本发明,在层级宏的布图处理之后,对每个内部宏布图数据15执行工作检验和布图检验。使已检验的内部宏布图数据15中的互连和元件与从上一层级中提供的插入的重叠部分合并,以产生内部宏最终布图数据16。从而,不需要检验每个内部宏最终布图数据16。因此,能减少布图处理中的TAT。
根据本发明,当在顶层级中布置N种层级宏时,足以对N种层级宏执行布图设计。从而,与常规的技术相比减少了需要布图设计和检验的层级宏的数量。因此,能减少TAT。
对于本领域的技术人员来说显而易见的是本发明可以应用于脱离上述具体细节的其它实施例中。因此,应由权利要求来确定本发明的范围。
权利要求
1.一种利用计算机基于层级设计法布图半导体器件的方法,包括(a)定位属于第一层级的多个宏,所述多个宏包括具有相同功能的多个第一宏;(b)布置连接在所述多个宏之间的连接结构;(c)从所述连接结构中分别提取与所述多个第一宏重叠的多个重叠部分;(d)把各所述多个重叠部分插入所述多个第一宏,所述多个第一宏的内部与低于所述第一层级的第二层级关联;(e)通过参考各所述多个第一宏的方向叠加所述多个重叠部分,计算与任一所述多个重叠部分关联的禁用区域;(f)在所述多个第一宏中的每一个内布置属于所述第二层级的互连和元件,使得在所述禁用区域中没有设置所述互连和所述元件;以及(g)通过汇集属于所述第一层级的所述多个宏、不与所述多个第一宏重叠的所述连接结构的非重叠部分、所述多个重叠部分和属于所述第二层级的所述互连和所述元件来产生布图数据,并在存储单元中存储所述布图数据。
2.根据权利要求1的布图半导体器件的方法,其中所述连接结构包括连接在所述多个宏之间的一组互连。
3.根据权利要求2的布图半导体器件的方法,其中所述连接结构进一步包括插入在所述互连组中用于调整信号定时的元件。
4.根据权利要求1至3中任一项的布图半导体器件的方法,其中在上述(e)计算中,在所述方向彼此对准之后,计算所述禁用区域。
全文摘要
一种利用计算机布图半导体器件的方法,包括如下步骤(a)使属于第一层级的多个宏定位,该多个宏包括具有相同功能的多个第一宏;(b)布置连接在多个宏之间的互连结构;(c)从互连中分别提取与多个第一宏重叠的多个重叠部分;(d)把各重叠部分插入第一宏内;(e)通过参考第一宏的方向叠加多个重叠部分,计算与任一重叠部分关联的禁用区域;(f)在每个第一宏内布置属于低一层级的互连/元件,使得在禁用区域中没有设置互连/元件;以及(g)产生布图数据。
文档编号H01L27/04GK1658382SQ20051000942
公开日2005年8月24日 申请日期2005年2月16日 优先权日2004年2月17日
发明者石塚美知 申请人:恩益禧电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1