WO2009084092A1 - マクロ用レイアウト検証装置及び検証方法 - Google Patents

マクロ用レイアウト検証装置及び検証方法 Download PDF

Info

Publication number
WO2009084092A1
WO2009084092A1 PCT/JP2007/075178 JP2007075178W WO2009084092A1 WO 2009084092 A1 WO2009084092 A1 WO 2009084092A1 JP 2007075178 W JP2007075178 W JP 2007075178W WO 2009084092 A1 WO2009084092 A1 WO 2009084092A1
Authority
WO
WIPO (PCT)
Prior art keywords
macro
wiring
layout
channel
virtual
Prior art date
Application number
PCT/JP2007/075178
Other languages
English (en)
French (fr)
Inventor
Masashi Arayama
Sumiko Makino
Original Assignee
Fujitsu Limited
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Limited filed Critical Fujitsu Limited
Priority to JP2009547836A priority Critical patent/JP4998561B2/ja
Priority to PCT/JP2007/075178 priority patent/WO2009084092A1/ja
Publication of WO2009084092A1 publication Critical patent/WO2009084092A1/ja
Priority to US12/785,624 priority patent/US8286117B2/en
Priority to US13/618,553 priority patent/US8539412B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/394Routing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L27/00Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
    • H01L27/02Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers
    • H01L27/0203Particular design considerations for integrated circuits

Definitions

  • the present invention relates to an apparatus for verifying a macro layout designed as a functional block in the development process of a semiconductor device such as an LSI.
  • LSI Large Scale Integrated Circuit
  • a layout design as a single macro function block is performed according to a design rule (step 102).
  • macro placement and wiring between macros on the LSI are performed (step 104).
  • verification of the entire LSI and the macro layout on the LSI is performed (step 106).
  • the layout in the macro is referred to when the LSI layout is verified, the amount of data to be handled increases and the processing time increases.
  • macro terminals are connected on the LSI in order to place macros on the LSI and wire between macros. If there are not enough channels to connect the terminals, macros are placed on the LSI. • Wiring is not possible.
  • the relationship between the LSI wiring and the intra-macro wiring may violate the design rule when the macro is placed and wired on the LSI.
  • a violation of a rule due to parallel wiring of intra-macro wiring and LSI wiring is detected.
  • the problem caused by the interference between the macro layout and the LSI wiring when the macro is arranged / wired on the LSI cannot be detected unless the macro is arranged / wired on the LSI.
  • Patent Document 1 discloses an LSI design rule verification method in which a design rule is verified in consideration of a hierarchy used in automatic layout.
  • Patent Document 2 discloses a function macro design method that realizes connection with a high degree of freedom in wiring without violating design rules in connection with other cells.
  • the present invention has been made in view of the above-described problems, and its object is to violate design rules that may occur during layout design of an LSI in which the macro is used, based on the layout information of the macro.
  • An object of the present invention is to provide a macro layout verification apparatus that can be detected in advance.
  • a macro layout verification apparatus for verifying a layout of a macro arranged as a functional block in a semiconductor device, which uses a macro free channel adjacent to a macro wiring Information regarding the virtual wiring when the parallel wiring length exceeds a reference value in the design rule, means for assuming the connected wiring as a virtual wiring, means for calculating a parallel wiring length of the virtual wiring and the intra-macro wiring, and And a macro layout verification apparatus comprising: means for outputting;
  • a macro layout verification apparatus for verifying a layout of a macro arranged as a functional block in a semiconductor device, and means for assuming that a via contact is arranged at a terminal of the macro, and the via contact And a means for determining whether or not a relationship between the layout and the intra-macro layout violates a design rule.
  • a macro layout verification apparatus for verifying a macro layout arranged as a functional block in a semiconductor device, and means for detecting a channel covered by a macro terminal and an empty channel around the channel. And a means for determining whether or not there is an empty channel that can be drawn continuously from the detected channel to the designated wiring layer.
  • a macro layout verification method having the same technical characteristics as the above-described apparatus, and a program for causing a computer to function as the above-described apparatus.
  • an error in parallel wiring caused by interference between wiring at the time of LSI layout design (inter-macro wiring) and intra-macro wiring is detected in advance during macro layout verification.
  • errors output during the layout verification can be predicted and avoided in advance, and as a result, the man-hours required for LSI layout design can be reduced.
  • the disclosed macro layout verification apparatus it is possible to detect in advance, or the possibility of, an error that occurs when a macro terminal is connected in LSI layout design at the time of macro layout design.
  • Computer body 212 Central processing unit (CPU) 214 Main memory (MS) 220 Display 222 Keyboard 224 Mouse 230 Hard disk device
  • FIG. 2 is a block diagram showing a hardware configuration of an embodiment of the macro layout verification apparatus.
  • the macro layout verification apparatus includes a computer main body 210 having a central processing unit (CPU) 212 and a main storage device (MS) 214, a display 220 as an output device, and an input.
  • CPU central processing unit
  • MS main storage device
  • a display 220 as an output device
  • an input By running a macro layout verification program on a normal workstation (WS) including a keyboard 222 as a device, a mouse 224 as an input device, and a hard disk device 230 as an auxiliary (external) storage device. Realized.
  • WS normal workstation
  • FIG. 3 is a diagram illustrating a schematic flow of macro layout verification according to an embodiment. As shown in the figure, first, a macro layout design as a functional block is performed (step 302). Next, the macro layout according to the present embodiment is verified (step 304). Then, macro placement and wiring between macros are performed on the LSI (step 306).
  • the macro layout verification (step 304) is performed by inputting macro layout information 310, information 312 relating to LSI wiring layers, wiring widths, via contact shapes, etc., and design rules 314.
  • a single verification result 320 and information 322 such as wiring information that causes an error during LSI layout design are output.
  • the verification result 320 of the single macro is fed back to the macro design.
  • information 322 such as wiring information that causes an error during LSI layout design is used during macro placement / wiring on the LSI.
  • the parallel wiring length at the time of wiring of the LSI circuit is verified.
  • crosstalk noise cross talk noise
  • the verification of the parallel wiring length in the present embodiment is to verify whether or not the layout in the macro violates the LSI layout rule when the empty channel in the macro is used when wiring the LSI circuit.
  • FIG. 4 is a flowchart showing a verification procedure regarding the parallel wiring length
  • FIG. 5 is a diagram showing an example of verification regarding the parallel wiring length.
  • step 402 information on the wiring layer of the LSI circuit and the wiring width used in each wiring layer is acquired from the layout conditions of the LSI circuit (step 402).
  • information regarding the plurality of wiring layers is acquired in advance.
  • the plurality of wiring width information is acquired in advance.
  • an empty wiring channel in the LSI circuit adjacent to the intra-macro wiring is detected as a virtual wiring channel, and a virtual wiring center line that connects the detected virtual wiring channels is set (step). 404).
  • the target empty wiring channel is a channel that is in the same wiring layer as the wiring layer of the intra-macro wiring, does not violate the spacing of the intra-macro wiring, and is closest to the intra-macro wiring. For the reasons of LSI manufacturing, it is necessary to provide a certain distance between the metal constituting a certain macro wiring and the metal constituting the other macro wiring. A spacing rule that prohibits use of channels within a predetermined spacing according to the wiring width is defined.
  • step 404 all configurable virtual wiring centerlines (represented by wiring layers and channels) are obtained for each of the intra-macro wirings.
  • one virtual wiring center line for assuming the virtual wiring to be verified is taken out from the set virtual wiring center lines (step 406).
  • the wiring width information used in the wiring layer where the extracted virtual wiring center line is arranged is extracted (step 408). When there are a plurality of pieces of wiring width information, one piece of wiring width information is taken out.
  • the virtual wiring center line extracted in step 406 is applied to the wiring width extracted in step 408 as a virtual wiring to be verified (step 410).
  • the parallel wiring length which is the length of the section in which the virtual wiring assumed in step 410 and the intra-macro wiring are arranged in parallel as detection targets, is calculated (step 412).
  • a report indicating that there is a possibility of an error is output, and information on the wiring layer, wiring width, and channel regarding the virtual wiring is displayed in the layout of the LSI circuit. It is output as wiring information that causes an error during design and is stored in the hard disk device 230 (FIG. 2) (step 416).
  • step 418 it is further determined whether or not there is a channel farther from the one-step macro wiring than the channel for which the virtual wiring is assumed (step 418). Assuming virtual wiring (step 420), the process returns to step 412.
  • the virtual wiring 516 when the virtual wiring 516 has an error, it is determined whether or not there is a channel one step further from the intra-macro wiring than the channel where the virtual wiring 516 is arranged.
  • a virtual wiring 518 connecting the channels is assumed, and it is verified whether or not the virtual wiring 518 results in an error.
  • the presence / absence of a farther channel is determined, and the process for verifying the virtual wiring that connects the channel is repeated. Then, a condition when the virtual wiring becomes an error is stored. When the error disappears, the verification of the virtual wiring is completed.
  • step 424 it is determined whether verification for all virtual wiring center lines is completed.
  • the process returns to step 406, and information on the virtual wiring center line is extracted again. Then, a virtual wiring verification operation is performed for the extracted virtual wiring center line.
  • this routine ends.
  • connection of the macro terminal to the via contact is verified as a second verification item regarding the macro layout.
  • This verification verifies whether or not the relationship between the via contact and the layout in the macro violates the layout when the via contact is arranged at the macro terminal for wiring between the macros on the LSI circuit.
  • FIG. 6 is a flowchart showing a verification procedure regarding the connection of the macro terminal to the via contact
  • FIG. 7 is a diagram showing an example of verification regarding the connection of the macro terminal to the via contact.
  • an empty channel on the macro terminal is detected as an extraction channel (step 602).
  • the extraction channels 702-1, 702-2, and 702-3 are detected for the macro terminal 700.
  • step 604 when it is assumed that via contacts are arranged in all the extraction channels, it is checked whether the distance between the via contact and the adjacent intra-macro wiring is appropriate according to the design rule (step 604). .
  • via contacts 704-1, 704-2 and 704-3 are assumed. Then, for each assumed via contact 704, the interval D between the adjacent macro wiring 706 is checked.
  • step 606 the result of the check in step 604 is evaluated (step 606). For all assumed via contacts, if it is determined that the distance D between adjacent macro wirings is “D ⁇ reference value” and violates the design rule, an error message to that effect is output. Is stored in the hard disk device 230 (FIG. 2) (step 608).
  • the macro channel lead-out channel is verified as a third verification item regarding the macro layout. This verification verifies whether or not there is a continuous free channel from the macro terminal to the designated wiring layer in the macro in order to perform wiring between the macros on the LSI circuit.
  • the designated wiring layer refers to a wiring layer in which a counterpart macro terminal to which a signal is connected in the macro terminal is arranged.
  • FIG. 8 is a flowchart showing a verification procedure related to the macro terminal extraction channel
  • FIG. 9 is a diagram illustrating an example of verification related to the macro terminal extraction channel.
  • the example shown in FIG. 9 shows a case where a layer above the wiring layer on which the macro terminal to be verified is arranged becomes the designated wiring layer.
  • FIG. 9A is a diagram showing a single drawing in which the upper layer wiring and the lower layer wiring are combined.
  • 9B is a diagram showing the lower layer wiring
  • FIG. 9C is a diagram showing the upper layer wiring.
  • a wiring layer having a macro terminal is set as a target (target) wiring layer, and a channel covered by the macro terminal is detected (step 802).
  • a channel covered by the macro terminal is detected (step 802).
  • an empty channel around the detected channel is further detected (step 804).
  • the virtual wiring 902 functions as a macro terminal.
  • a broken line 904 and other broken lines indicate the spacing defined around the wiring.
  • 29 channels indicated by black circles 1002 in FIG. 10A are detected.
  • the channel in the spacing of the other metal wiring is removed from the detected channel (step 806).
  • the six channels 1006 shown in FIG. 10B are excluded as the channels entering the spacing of the metal wiring 906, and the channels entering the spacing of the metal wiring 908 are as follows.
  • the two channels 1008 shown in FIG. 10B are removed.
  • channels that cannot be drawn to the adjacent wiring layer on the designated wiring layer side are removed from the detected channels (step 808).
  • a channel that cannot be drawn out to the adjacent wiring layer means that when the channel is connected to the adjacent wiring layer through the via contact, the channel in the adjacent wiring layer is connected to the metal wiring in the adjacent wiring layer. Or a channel that will fall within that spacing.
  • the four channels 1020 shown in FIG. 10C are excluded as the channels that are connected to the upper metal wiring 920 and are connected to the upper metal wiring 922 or
  • step 810 it is determined whether or not the adjacent wiring layer matches the designated wiring layer. If they do not match, the target wiring layer is shifted to the adjacent wiring layer (step 812), the process returns to step 804, and the same processing is repeated based on the current detected channel. On the other hand, if they match, the process proceeds to step 814.
  • step 814 since the adjacent wiring layer and the designated wiring layer match, the process proceeds to step 814.
  • the current number of detected channels is set to the number N of channels that can be drawn continuously to the designated wiring layer, and the value of N is evaluated. If the value of N is “0”, a signal cannot be extracted from the macro terminal to the designated wiring layer in the macro, and an error message to that effect is output and stored in the hard disk device 230 (step 816). ). Further, when the value of N is not “0” but less than a reference value R (for example, “10”), a signal can be drawn up to a designated wiring layer in relation to other wiring at the time of LSI layout design. If there is a possibility that it cannot be performed, a warning message to that effect is output and stored in the hard disk device 230 (step 818). If the value of N is greater than or equal to the reference value R, the process ends without outputting a message.
  • a reference value R for example, “10”
  • the process ends without outputting a message.
  • the channel marked “X” is determined to be a non-drawable channel with respect to the macro terminal 902, and the channel marked “O” Channels (11) are determined to be drawable channels.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Architecture (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

 マクロのレイアウト情報に基づいて、当該マクロが使用されるLSIのレイアウト設計時に発生する可能性がある設計規則違反を予め検出することができるマクロ用レイアウト検証装置。この装置は、半導体装置に機能ブロックとして配置されるマクロのレイアウトを検証するものであり、マクロ内配線と近接するマクロ内空きチャネルを使用した配線を仮想配線として仮定するユニットと、該仮想配線と該マクロ内配線との平行配線長を算出するユニットと、該平行配線長が設計規則における基準値を超える場合に該仮想配線に関する情報を出力するユニットと、を含む。

Description

[規則37.2に基づきISAが決定した発明の名称] マクロ用レイアウト検証装置及び検証方法
 本発明は、LSI等の半導体装置の開発過程において機能ブロックとして設計されるマクロのレイアウトを検証する装置に関する。
 LSI(Large Scale Integrated circuit)の設計においては、図1に示されるように、まず、機能ブロックたるマクロの単体としてのレイアウト設計が設計規則に従って行われる(ステップ102)。次いで、LSI上へのマクロの配置及びマクロ間の配線が行われる(ステップ104)。そして、最後に、LSI全体及びLSI上のマクロのレイアウトの検証が行われる(ステップ106)。
 したがって、LSIのレイアウトの検証時には、マクロ内のレイアウトが参照されるため、扱うデータ量が増加し、処理時間が増加する。また、LSI上へのマクロの配置及びマクロ間の配線をするためにマクロの端子をLSI上で接続するが、端子を接続するために十分なチャネルが無い場合には、LSI上にマクロを配置・配線することができない。
 また、マクロ単体のレイアウトが設計規則に違反していない場合でも、そのマクロをLSI上に配置・配線したときにLSI配線とマクロ内配線との関係が設計規則に違反する場合がある。例えば、マクロ内配線とLSI配線との平行配線による規則違反が検出される場合がある。このように、マクロをLSI上に配置・配線した際にマクロ内レイアウトとLSI配線とが干渉して生じる問題については、マクロをLSI上に配置・配線しないと検出することができない。
 LSIのレイアウト設計時にマクロ内配線との関係でレイアウト検証におけるエラーが出る場合、マクロ内配線を変更することは影響が大きくなる。そのため、LSI上へのマクロの配置・配線時に、マクロ内のレイアウトを意識しないでよいように、マクロ内配線と近接する配線チャネルをLSI配線時に使用禁止にすることも行われている。しかし、LSIのレイアウト設計時において、マクロ内配線と近接する配線チャネルを使用禁止にすると、使用可能なチャネルが減少して配線性が低下するという問題が生ずる。
 なお、本発明に関連する先行技術文献として、下記特許文献1は、自動レイアウトで用いる階層を考慮して設計ルールの検証を行うようにしたLSI設計ルール検証方法について開示している。また、下記特許文献2は、他のセルとの接続において、設計規則に違反することなく、配線自由度の高い接続を実現する機能マクロ設計方法について開示している。
特開平5-102307号公報 特開2000-269341号公報
 本発明は、上述した問題点に鑑みてなされたものであり、その目的は、マクロのレイアウト情報に基づいて、当該マクロが使用されるLSIのレイアウト設計時に発生する可能性がある設計規則違反を予め検出することができるマクロ用レイアウト検証装置を提供することにある。
 上記目的を達成するために、本発明によれば、半導体装置に機能ブロックとして配置されるマクロのレイアウトを検証するマクロ用レイアウト検証装置であって、マクロ内配線と近接するマクロ内空きチャネルを使用した配線を仮想配線として仮定する手段と、該仮想配線と該マクロ内配線との平行配線長を算出する手段と、該平行配線長が設計規則における基準値を超える場合に該仮想配線に関する情報を出力する手段と、を具備するマクロ用レイアウト検証装置が提供される。
 また、本発明によれば、半導体装置に機能ブロックとして配置されるマクロのレイアウトを検証するマクロ用レイアウト検証装置であって、マクロの端子にビアコンタクトを配置したと仮定する手段と、該ビアコンタクトと該マクロ内レイアウトとの関係が設計規則に違反するか否かを判定する手段と、を具備するマクロ用レイアウト検証装置が提供される。
 また、本発明によれば、半導体装置に機能ブロックとして配置されるマクロのレイアウトを検証するマクロ用レイアウト検証装置であって、マクロの端子が覆うチャネルと該チャネル周辺の空きチャネルとを検出する手段と、該検出されたチャネルから指定配線層まで連続して引出し可能な空きチャネルが存在するか否かを判定する手段と、を具備するマクロ用レイアウト検証装置が提供される。
 さらに、本発明によれば、上述の装置の技術的特徴と同一の技術的特徴を有するマクロ用レイアウト検証方法と、コンピュータを上述の装置として機能させるためのプログラムと、が提供される。
 開示のマクロ用レイアウト検証装置によれば、LSIのレイアウト設計時の配線(マクロ間配線)とマクロ内配線とが干渉して生じる平行配線のエラーがマクロのレイアウト検証時に予め検出されるため、LSIのレイアウト検証時に出力されるエラーを予め予測して回避することができ、その結果、LSIのレイアウト設計に要する工数を短縮することができる。
 また、開示のマクロ用レイアウト検証装置によれば、LSIのレイアウト設計においてマクロ端子を接続する場合に発生するエラー又はその可能性を、マクロのレイアウト設計時に予め検出することが可能となる。
従来のマクロ用レイアウト検証の位置付けを示すフローチャートである。 マクロ用レイアウト検証装置の一実施形態のハードウェア構成を示すブロック図である。 一実施形態によるマクロのレイアウトの検証についての概略フローを示す図である。 平行配線長に関する検証の手順を示すフローチャートである。 平行配線長に関する検証の例を示す図である。 マクロ端子のビアコンタクトへの接続に関する検証の手順を示すフローチャートである。 マクロ端子のビアコンタクトへの接続に関する検証の例を示す図である。 マクロ端子の引出しチャネルに関する検証の手順を示すフローチャートである。 マクロ端子の引出しチャネルに関する検証の例を示す図である。 マクロ端子の引出しチャネルが調査される過程を説明するための図である。
符号の説明
 210  コンピュータ本体
 212  中央処理装置(CPU)
 214  主記憶装置(MS)
 220  ディスプレイ
 222  キーボード
 224  マウス
 230  ハードディスク装置
 以下、添付図面を参照して本発明の実施形態について説明する。図2は、マクロ用レイアウト検証装置の一実施形態のハードウェア構成を示すブロック図である。同図に例示されるように、本実施形態に係るマクロ用レイアウト検証装置は、中央処理装置(CPU)212及び主記憶装置(MS)214を有するコンピュータ本体210、出力装置としてのディスプレイ220、入力装置としてのキーボード222、同じく入力装置としてのマウス224、補助(外部)記憶装置としてのハードディスク装置230等から構成される通常のワークステーション(WS)上で、マクロ用レイアウト検証プログラムを走行させることにより実現される。
 図3は、一実施形態によるマクロのレイアウトの検証についての概略フローを示す図である。同図に示されるように、まず、機能ブロックたるマクロのレイアウト設計が行われる(ステップ302)。次いで、本実施形態によるマクロのレイアウトの検証が行われる(ステップ304)。そして、LSI上へのマクロの配置及びマクロ間の配線が行われる(ステップ306)。
 図3に示されるように、マクロのレイアウトの検証(ステップ304)は、マクロのレイアウト情報310、LSIの配線層、配線幅、ビアコンタクト形状等に関する情報312、及び設計規則314を入力し、マクロ単体の検証結果320、及びLSIのレイアウト設計時にエラーとなる配線情報等の情報322を出力する。マクロ単体の検証結果320は、マクロの設計にフィードバックされる。一方、LSIのレイアウト設計時にエラーとなる配線情報等の情報322は、LSI上へのマクロの配置・配線時に利用される。その結果、配置・配線後のエラーが回避され、レイアウト工数の低減が図られる。また、マクロ内の配線チャネルが有効利用されることで配線性が向上する。
 本実施形態においては、マクロのレイアウトに関する第一の検証項目として、LSI回路の配線時の平行配線長が検証される。二つの配線が近接して平行に走る場合、クロストークノイズ(cross talk noise)が生ずるため、配線の幅、二つの配線の間隔等に応じて二つの配線が平行して走る長さ(平行配線長)に関する制限がレイアウト規則に定められている。本実施形態における平行配線長の検証は、マクロ内の空きチャネルをLSI回路の配線時に使用した場合に、マクロ内レイアウトがLSIのレイアウト規則に違反するかどうかを検証するものである。図4は、平行配線長に関する検証の手順を示すフローチャートであり、図5は、平行配線長に関する検証の例を示す図である。
 まず、LSI回路のレイアウト条件から、LSI回路の配線層と各配線層で使用される配線幅とに関する情報が取得される(ステップ402)。LSI回路について複数の配線層が設定されている場合、予めこれら複数の配線層に関する情報を取得する。また、取得された配線層に複数種の配線幅が設定されている場合には、予めこれら複数の配線幅情報を取得しておく。
 次いで、マクロ内配線毎に、そのマクロ内配線と近接するLSI回路内の空き配線チャネルが仮想配線チャネルとして検出され、検出された仮想配線チャネル間を接続する仮想配線中心線が設定される(ステップ404)。対象となる空き配線チャネルは、マクロ内配線の配線層と同一の配線層にあって、マクロ内配線のスペーシングに違反せず、かつ、マクロ内配線に最も近いチャネルである。LSIの製造上の理由から、あるマクロ内配線を構成するメタルと他のマクロ内配線を構成するメタルとの間には一定の間隔を設ける必要があることから、マクロ内配線の周囲から、その配線幅に応じた所定のスペーシング内にあるチャネルは使用禁止とするスペーシング規則が定められている。
 図5に示される例では、マクロ内配線500に対して仮想配線中心線511、513及び515が設定される。なお、チャネル520はスペーシングに違反するため、チャネル520とチャネル522との間には、仮想配線中心線は設定されない。ステップ404では、マクロ内配線の各々について、設定可能な全ての仮想配線中心線(配線層及びチャネルで表される)が得られる。
 次いで、設定された仮想配線中心線の中から、検証対象の仮想配線を仮定するための一つの仮想配線中心線が取出される(ステップ406)。次いで、取出された仮想配線中心線が配置される配線層で使用される配線幅情報が取出される(ステップ408)。配線幅情報が複数ある場合には、ある一つの配線幅情報を取出す。次いで、ステップ406で取出された仮想配線中心線にステップ408で取出された配線幅を適用したものが、検証対象の仮想配線として仮定される(ステップ410)。
 図5に示される例では、設定された仮想配線中心線511、513及び515に対して、それぞれ、実際の物理的な配線幅を備えた、検出対象としての仮想配線512、514及び516が仮定されることとなる。
 次いで、検出対象としてステップ410で仮定された仮想配線とマクロ内配線とが平行して配置される区間の長さである平行配線長が算出される(ステップ412)。次いで、算出された平行配線長が、設計規則における規定値(基準値)を超えるか否かが判定される(ステップ414)。
 算出された平行配線長が規定値を超える場合には、エラーの可能性がある旨の報告が出力されるとともに、当該仮想配線に関する、配線層、配線幅及びチャネルの情報が、LSI回路のレイアウト設計時にエラーを引き起こす配線情報として出力され、ハードディスク装置230(図2)に保存される(ステップ416)。
 平行配線長が規定値を超える場合には、更に、仮想配線が仮定されたチャネルより一段マクロ内配線から遠いチャネルが存在するか否かが判定され(ステップ418)、存在する場合には当該チャネルに仮想配線を仮定して(ステップ420)、ステップ412に戻る。
 例えば、図5の例において、仮想配線516がエラーとなった場合には、仮想配線516が配置されたチャネルより、マクロ内配線から一段遠くのチャネルがあるか否かが判定される。図5の例では一段遠いチャネルが存在するため、当該チャネル相互を接続する仮想配線518が仮定され、仮想配線518がエラーとなるか否かが検証される。仮想配線518がエラーとなる場合には、更に遠くのチャネルの有無を判定するとともに、当該チャネルを接続する仮想配線を検証対象とする処理が繰り返される。そして、仮想配線がエラーとなる場合の条件が保存される。エラーがなくなる時点で仮想配線についての検証が終了する。
 ある配線幅について検証が終了した場合には、全ての配線幅に対する検証が終了したか否かが判断され、検証されていない配線幅が残っている場合にはステップ408に戻り、再度配線幅情報を取出す(ステップ422)。そして、取出された配線幅に基づいて仮想配線の検証作業を行う。
 ある仮想配線中心線について全ての配線幅に関する検証が終了した場合には、全ての仮想配線中心線に対する検証が終了したか否かが判断される(ステップ424)。検証されていない仮想配線中心線が残っている場合にはステップ406に戻り、再度、仮想配線中心線の情報を取出す。そして、取出された仮想配線中心線について、仮想配線の検証作業を行う。一方、全ての仮想配線中心線に対する検証が終了した場合には本ルーチンは終了する。
 また、本実施形態においては、マクロのレイアウトに関する第二の検証項目として、マクロ端子のビアコンタクトへの接続が検証される。この検証は、LSI回路上でマクロ間の配線をするためにマクロ端子にビアコンタクトを配置した場合に、ビアコンタクトとマクロ内レイアウトとの関係がレイアウト違反となるかどうかを検証するものである。図6は、マクロ端子のビアコンタクトへの接続に関する検証の手順を示すフローチャートであり、図7は、マクロ端子のビアコンタクトへの接続に関する検証の例を示す図である。
 まず、マクロ端子上の空きチャネルが引出しチャネルとして検出される(ステップ602)。例えば、図7に示される例において、マクロ端子700に対して引出しチャネル702-1、702-2及び702-3が検出されるとする。
 次いで、全ての引出しチャネルについて、そこにビアコンタクトを配置したと仮定したとき、そのビアコンタクトと隣接するマクロ内配線との間隔が設計規則に照らして適切か否かがチェックされる(ステップ604)。図7に示される例では、ビアコンタクト704-1、704-2及び704-3が仮定される。そして、仮定された各ビアコンタクト704について、隣接するマクロ内配線706との間隔Dがチェックされる。
 次いで、ステップ604におけるチェックの結果が評価される(ステップ606)。仮定された全てのビアコンタクトについて、隣接するマクロ内配線との間隔Dが「D<基準値」となって設計規則に違反する、と判定された場合には、その旨のエラーメッセージが出力され、ハードディスク装置230(図2)に保存される(ステップ608)。
 一方、仮定されたビアコンタクトの一部について隣接するマクロ内配線との間隔が違反すると判定された場合、言い換えればエラーを発生しない引出しチャネルが存在する場合には、LSIのレイアウト設計時にエラーが発生する可能性がある旨の警告メッセージが出力され、ハードディスク装置230に保存される(ステップ610)。
 また、仮定された全てのビアコンタクトについて、隣接するマクロ内配線との間隔が設計規則に違反しない場合、すなわちエラーがない場合には、メッセージが出力されることなく処理が終了する。
 さらに、本実施形態においては、マクロのレイアウトに関する第三の検証項目として、マクロ端子の引出しチャネルが検証される。この検証は、LSI回路上でマクロ間の配線をするためにマクロ端子から指定配線層まで連続した空きチャネルが当該マクロ内に存在するか否かを検証するものである。ここで、指定配線層とは、当該マクロ端子における信号の接続先となる相手方マクロ端子が配置される配線層をいう。
 図8は、マクロ端子の引出しチャネルに関する検証の手順を示すフローチャートであり、図9は、マクロ端子の引出しチャネルに関する検証の例を示す図である。特に、図9に示される例は、検証対象のマクロ端子が配置される配線層に対して一つ上の層が指定配線層となる場合を示す。便宜上、マクロ端子が配置される配線層を下層と称し、指定配線層を上層と称すると、図9(A)は上層の配線及び下層の配線を合体して単一の図面に示す図、図9(B)は下層の配線を示す図、図9(C)は上層の配線を示す図である。
 まず、マクロ端子がある配線層が注目(ターゲット)配線層とされ、マクロ端子が覆うチャネルが検出される(ステップ802)。次いで、検出されたチャネルの周辺の空きチャネルが更に検出される(ステップ804)。
 図9に示される例では、仮想における配線902がマクロ端子として機能する。なお、図9(A)において、破線904その他の破線は、配線の周囲に規定されるスペーシングを示している。図9に示されるマクロ端子902に対しては、ステップ802及び804の実行により、図10(A)において黒丸1002で示される29個のチャネルが検出されることとなる。
 次いで、検出済チャネルから、他のメタル配線のスペーシング内のチャネルが除かれる(ステップ806)。
 図9に示される例では、メタル配線906のスペーシング内に入るチャネルとして、図10(B)に示される6個のチャネル1006が除かれるとともに、メタル配線908のスペーシング内に入るチャネルとして、図10(B)に示される2個のチャネル1008が除かれる。結果として、この時点における検出済チャネルは、29-6-2=21個である。
 次いで、検出済チャネルから、指定配線層側の隣接配線層への引出しができないチャネルが除かれる(ステップ808)。ここで、隣接配線層への引出しができないチャネルとは、そのチャネルからビアコンタクトを介して隣接配線層へ接続した場合に、隣接配線層における当該チャネルが、隣接配線層におけるメタル配線に接続されてしまうか又はそのスページング内に入り込むようなこととなるチャネルをいう。
 図9に示される例では、上層のメタル配線920に接続されてしまうチャネルとして、図10(C)に示される4個のチャネル1020が除かれるとともに、上層のメタル配線922に接続されるか又はそのスページング内に入るチャネルとして、図10(C)に示される6個のチャネル1022が除かれる。結果として、この時点における検出済チャネルは、21-4-6=11個である。
 次いで、隣接配線層が指定配線層に一致するか否かが判定される(ステップ810)。一致しない場合には、注目配線層を隣接配線層にシフトして(ステップ812)、ステップ804に戻り、現在の検出済チャネルを基にして同様の処理を繰り返す。一方、一致する場合には、ステップ814に進む。
 図9に示される例では、隣接配線層と指定配線層とが一致するため、ステップ814に進むこととなる。
 ステップ814では、現在の検出済チャネルの数が、指定配線層まで連続して引出し可能なチャネルの数Nとされ、Nの値が評価される。Nの値が“0”の場合には、当該マクロ内でマクロ端子から指定配線層まで信号を引出すことができないため、その旨のエラーメッセージが出力され、ハードディスク装置230に保存される(ステップ816)。また、Nの値が“0”ではないが基準値R(例えば、“10”)未満の場合には、LSIのレイアウト設計時に他の配線との関係で、指定配線層まで信号を引出すことができないおそれがあるとして、その旨の警告メッセージが出力され、ハードディスク装置230に保存される(ステップ818)。Nの値が基準値R以上の場合には、メッセージが出力されることなく処理が終了する。
 図9に示される例では、Nの値が“11”であるため、基準値Rを“10”とした場合には、メッセージが出力されることなく処理が終了することとなる。図9に示される例では、最終的に、図9(A)に示されるように、マクロ端子902に対して、“X”印のチャネルが引出し不可能チャネルと判定され、“O”印のチャネル(11個)が引出し可能チャネルと判定される。
 以上、本発明の実施形態について述べてきたが、もちろん本発明はこれに限定されるものではなく、様々な実施形態を採用することが可能である。

Claims (9)

  1.  半導体装置に機能ブロックとして配置されるマクロのレイアウトを検証するマクロ用レイアウト検証装置であって、
     マクロ内配線と近接するマクロ内空きチャネルを使用した配線を仮想配線として仮定する手段と、
     該仮想配線と該マクロ内配線との平行配線長を算出する手段と、
     該平行配線長が設計規則における基準値を超える場合に該仮想配線に関する情報を出力する手段と、
     を具備するマクロ用レイアウト検証装置。
  2.  半導体装置に機能ブロックとして配置されるマクロのレイアウトを検証するマクロ用レイアウト検証装置であって、
     マクロの端子にビアコンタクトを配置したと仮定する手段と、
     該ビアコンタクトと該マクロ内レイアウトとの関係が設計規則に違反するか否かを判定する手段と、
     を具備するマクロ用レイアウト検証装置。
  3.  半導体装置に機能ブロックとして配置されるマクロのレイアウトを検証するマクロ用レイアウト検証装置であって、
     マクロの端子が覆うチャネルと該チャネル周辺の空きチャネルとを検出する手段と、
     該検出されたチャネルから指定配線層まで連続して引出し可能な空きチャネルが存在するか否かを判定する手段と、
     を具備するマクロ用レイアウト検証装置。
  4.  半導体装置に機能ブロックとして配置されるマクロのレイアウトを検証する装置におけるマクロ用レイアウト検証方法であって、
     仮定手段が、マクロ内配線と近接するマクロ内空きチャネルを使用した配線を仮想配線として仮定するステップと、
     算出手段が、該仮想配線と該マクロ内配線との平行配線長を算出するステップと、
     出力手段が、該平行配線長が設計規則における基準値を超える場合に該仮想配線に関する情報を出力するステップと、
     を具備するマクロ用レイアウト検証方法。
  5.  半導体装置に機能ブロックとして配置されるマクロのレイアウトを検証する装置におけるマクロ用レイアウト検証方法であって、
     仮定手段が、マクロの端子にビアコンタクトを配置したと仮定するステップと、
     判定手段が、該ビアコンタクトと該マクロ内レイアウトとの関係が設計規則に違反するか否かを判定するステップと、
     を具備するマクロ用レイアウト検証方法。
  6.  半導体装置に機能ブロックとして配置されるマクロのレイアウトを検証する装置におけるマクロ用レイアウト検証方法であって、
     検出手段が、マクロの端子が覆うチャネルと該チャネル周辺の空きチャネルとを検出するステップと、
     判定手段が、該検出されたチャネルから指定配線層まで連続して引出し可能な空きチャネルが存在するか否かを判定するステップと、
     を具備するマクロ用レイアウト検証方法。
  7.  半導体装置に機能ブロックとして配置されるマクロのレイアウトを検証するマクロ用レイアウト検証装置として設けられるコンピュータを、
     マクロ内配線と近接するマクロ内空きチャネルを使用した配線を仮想配線として仮定する手段と、
     該仮想配線と該マクロ内配線との平行配線長を算出する手段と、
     該平行配線長が設計規則における基準値を超える場合に該仮想配線に関する情報を出力する手段と、
     として機能させるためのプログラム。
  8.  半導体装置に機能ブロックとして配置されるマクロのレイアウトを検証するマクロ用レイアウト検証装置として設けられるコンピュータを、
     マクロの端子にビアコンタクトを配置したと仮定する手段と、
     該ビアコンタクトと該マクロ内レイアウトとの関係が設計規則に違反するか否かを判定する手段と、
     として機能させるためのプログラム。
  9.  半導体装置に機能ブロックとして配置されるマクロのレイアウトを検証するマクロ用レイアウト検証装置として設けられるコンピュータを、
     マクロの端子が覆うチャネルと該チャネル周辺の空きチャネルとを検出する手段と、
     該検出されたチャネルから指定配線層まで連続して引出し可能な空きチャネルが存在するか否かを判定する手段と、
     として機能させるためのプログラム。
PCT/JP2007/075178 2007-12-27 2007-12-27 マクロ用レイアウト検証装置及び検証方法 WO2009084092A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2009547836A JP4998561B2 (ja) 2007-12-27 2007-12-27 マクロ用レイアウト検証装置及び検証方法
PCT/JP2007/075178 WO2009084092A1 (ja) 2007-12-27 2007-12-27 マクロ用レイアウト検証装置及び検証方法
US12/785,624 US8286117B2 (en) 2007-12-27 2010-05-24 Macro layout verification apparatus to detect error when connecting macro terminal in LSI design layout
US13/618,553 US8539412B2 (en) 2007-12-27 2012-09-14 Macro layout verification appartus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2007/075178 WO2009084092A1 (ja) 2007-12-27 2007-12-27 マクロ用レイアウト検証装置及び検証方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/785,624 Continuation US8286117B2 (en) 2007-12-27 2010-05-24 Macro layout verification apparatus to detect error when connecting macro terminal in LSI design layout

Publications (1)

Publication Number Publication Date
WO2009084092A1 true WO2009084092A1 (ja) 2009-07-09

Family

ID=40823832

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2007/075178 WO2009084092A1 (ja) 2007-12-27 2007-12-27 マクロ用レイアウト検証装置及び検証方法

Country Status (3)

Country Link
US (2) US8286117B2 (ja)
JP (1) JP4998561B2 (ja)
WO (1) WO2009084092A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8689167B2 (en) 2011-08-04 2014-04-01 Fujitsu Limited Layout design apparatus and layout design method

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4998561B2 (ja) * 2007-12-27 2012-08-15 富士通株式会社 マクロ用レイアウト検証装置及び検証方法
KR102029645B1 (ko) * 2013-01-14 2019-11-18 삼성전자 주식회사 맞춤형 마스크의 제조 방법 및 맞춤형 마스크를 이용한 반도체 장치의 제조 방법
CN113919275A (zh) 2020-09-21 2022-01-11 台积电(南京)有限公司 用于优化集成电路的布局的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10308451A (ja) * 1997-05-02 1998-11-17 Nec Corp クロストークを考慮した自動配線方法
JP2002024310A (ja) * 2000-07-10 2002-01-25 Fujitsu Ltd マクロ作成方法、レイアウト方法、半導体装置及び記録媒体
JP2005115785A (ja) * 2003-10-09 2005-04-28 Nec Electronics Corp 半導体装置の配線方法、半導体装置の製造方法及び半導体装置

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4295149A (en) * 1978-12-29 1981-10-13 International Business Machines Corporation Master image chip organization technique or method
US4636965A (en) * 1984-05-10 1987-01-13 Rca Corporation Routing method in computer-aided-customization of universal arrays and resulting integrated circuit
US5634093A (en) * 1991-01-30 1997-05-27 Kabushiki Kaisha Toshiba Method and CAD system for designing wiring patterns using predetermined rules
JPH05102307A (ja) 1991-10-07 1993-04-23 Nec Corp Lsiの設計ルール検証方法
JP3336416B2 (ja) * 1993-04-23 2002-10-21 日本テキサス・インスツルメンツ株式会社 半導体集積回路設計における配線方法
JPH06314692A (ja) * 1993-04-27 1994-11-08 Intel Corp 集積回路におけるビア/接点被覆範囲を改善する方法
US5568395A (en) * 1994-06-29 1996-10-22 Lsi Logic Corporation Modeling and estimating crosstalk noise and detecting false logic
JP2785710B2 (ja) * 1994-09-30 1998-08-13 日本電気株式会社 集積回路の配線設計方法
JPH0962731A (ja) * 1995-08-22 1997-03-07 Hitachi Ltd 配線収容性評価システム
US6915249B1 (en) * 1998-05-14 2005-07-05 Fujitsu Limited Noise checking method and apparatus
JP4515544B2 (ja) * 1998-09-25 2010-08-04 株式会社日立製作所 半導体集積回路の配線条件処理方法
JP3651654B2 (ja) 1999-03-12 2005-05-25 株式会社東芝 機能マクロ及びその設計方法、及び半導体装置の設計方法
JP4008629B2 (ja) * 1999-09-10 2007-11-14 株式会社東芝 半導体装置、その設計方法、及びその設計プログラムを格納したコンピュータ読み取り可能な記録媒体
JP4124974B2 (ja) * 2001-03-08 2008-07-23 松下電器産業株式会社 電磁波障害解析方法および電磁波障害解析装置およびこれを用いた半導体装置の製造方法
JP4451575B2 (ja) * 2001-05-22 2010-04-14 パナソニック株式会社 配線基板の設計支援装置、設計支援方法、プログラム記録媒体、及びプログラム
JP4224541B2 (ja) * 2002-03-20 2009-02-18 富士通マイクロエレクトロニクス株式会社 自動配置配線方法、装置及びプログラム
US7046522B2 (en) * 2002-03-21 2006-05-16 Raymond Jit-Hung Sung Method for scalable architectures in stackable three-dimensional integrated circuits and electronics
US6892368B2 (en) * 2002-06-10 2005-05-10 Sun Microsystems, Inc. Patching technique for correction of minimum area and jog design rule violations
JP2004021766A (ja) * 2002-06-19 2004-01-22 Fujitsu Ltd 電子回路設計方法及びコンピュータプログラム
JP2004172373A (ja) * 2002-11-20 2004-06-17 Matsushita Electric Ind Co Ltd クロストーク修正方法
US6907589B2 (en) * 2003-02-19 2005-06-14 Hewlett-Packard Development Company, L.P. System and method for evaluating vias per pad in a package design
JP4284235B2 (ja) * 2004-06-07 2009-06-24 富士通株式会社 配線選択方法及び装置、配線選択プログラム及び配線選択プログラムを記録したコンピュータ読取可能な記録媒体、並びに、遅延改善方法
US7149989B2 (en) * 2004-09-22 2006-12-12 Lsi Logic Corporation Method of early physical design validation and identification of texted metal short circuits in an integrated circuit design
JP2006155120A (ja) * 2004-11-29 2006-06-15 Fujitsu Ltd 配線方法、プログラム及び装置
US7698676B1 (en) * 2005-11-10 2010-04-13 Qi-De Qian Method and system for improving manufacturability of integrated devices
JP4998561B2 (ja) * 2007-12-27 2012-08-15 富士通株式会社 マクロ用レイアウト検証装置及び検証方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10308451A (ja) * 1997-05-02 1998-11-17 Nec Corp クロストークを考慮した自動配線方法
JP2002024310A (ja) * 2000-07-10 2002-01-25 Fujitsu Ltd マクロ作成方法、レイアウト方法、半導体装置及び記録媒体
JP2005115785A (ja) * 2003-10-09 2005-04-28 Nec Electronics Corp 半導体装置の配線方法、半導体装置の製造方法及び半導体装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8689167B2 (en) 2011-08-04 2014-04-01 Fujitsu Limited Layout design apparatus and layout design method

Also Published As

Publication number Publication date
JPWO2009084092A1 (ja) 2011-05-12
US8539412B2 (en) 2013-09-17
JP4998561B2 (ja) 2012-08-15
US20130014067A1 (en) 2013-01-10
US20100235797A1 (en) 2010-09-16
US8286117B2 (en) 2012-10-09

Similar Documents

Publication Publication Date Title
US6732338B2 (en) Method for comprehensively verifying design rule checking runsets
EP1889194B1 (en) The use of redundant routes to increase the yield and reliability of a vlsi layout
JP4998561B2 (ja) マクロ用レイアウト検証装置及び検証方法
KR20180112725A (ko) 장애 지점을 검출하기 위한 장치 및 방법
CN103810316B (zh) 降低寄生失配的方法
US7949982B2 (en) Semiconductor integrated circuit design system, semiconductor integrated circuit design method, and computer readable medium
US7464357B2 (en) Integrated circuit capable of locating failure process layers
JP2011203906A (ja) レイアウト設計装置、レイアウト設計方法、及びレイアウト設計プログラム
US7698671B2 (en) Method for designing semiconductor integrated circuits having air gaps.
JP5327347B2 (ja) マクロ用レイアウト検証装置及び検証方法
CN103164566A (zh) 版图验证规则的测试向量辅助层生成方法
CN104750893A (zh) 一种虚拟图案填充程式的质量合格保证方法以及版图结构
US6539525B1 (en) Layout verifying method for integrated circuit device
JP2008310527A (ja) 半導体集積回路のレイアウト設計装置及びレイアウト設計方法
US20220366120A1 (en) Automation for functional safety diagnostic coverage
US20240028813A1 (en) Semiconductor layout and method for checking the shift in the semiconductor layout
CN117174709A (zh) 半导体元件布局及布局改变的检查方法
Tseng et al. An automated system for checking process friendliness and routability of standard cells
JPH11338904A (ja) 設計ルール違反検証方法
JP3019032B2 (ja) 半導体集積回路のレイアウトデータにおけるデザインルールチェック方法および該方法を実施するための装置
CN101539954B (zh) 集成电路布局设计的检验方法
JP3605822B2 (ja) プリント配線基板のジャンパ布線方法および装置
JPH10247207A (ja) 不具合部分推定システム
CN104750894A (zh) 一种用于填充虚拟图案和参考图层相关性检查的版图结构
CN115438622A (zh) 产品版图的评估系统及评估方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07860400

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2009547836

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07860400

Country of ref document: EP

Kind code of ref document: A1