JP2009086880A - Layout verification program and method - Google Patents
Layout verification program and method Download PDFInfo
- Publication number
- JP2009086880A JP2009086880A JP2007254049A JP2007254049A JP2009086880A JP 2009086880 A JP2009086880 A JP 2009086880A JP 2007254049 A JP2007254049 A JP 2007254049A JP 2007254049 A JP2007254049 A JP 2007254049A JP 2009086880 A JP2009086880 A JP 2009086880A
- Authority
- JP
- Japan
- Prior art keywords
- pair
- resistance
- layout
- elements
- verification
- 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.)
- Pending
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
Description
本発明は、半導体装置に配置される素子のレイアウトを検証するレイアウト検証プログラム、およびレイアウト検証方法に関するものである。
近年、半導体装置(LSI)は大規模化・高集積化が進められ、設計データのデータ量が多くなってきている。また、半導体装置の設計では、様々なレイアウト(素子等の配置)制約を考慮する必要がある。そのため、半導体装置の設計においてレイアウトの検証作業に多くの時間がかかる傾向にあり、それらの作業時間を短縮する技術が要求されている。
The present invention relates to a layout verification program and a layout verification method for verifying the layout of elements arranged in a semiconductor device.
In recent years, semiconductor devices (LSIs) have been increased in scale and integration, and the amount of design data has increased. In designing a semiconductor device, it is necessary to consider various layout (arrangement of elements and the like) constraints. For this reason, layout verification tends to take a lot of time in designing a semiconductor device, and a technique for shortening the work time is required.
半導体装置のレイアウト設計においては、複数の素子をペア配置することが要求される。ここでペア配置とは、同形状の素子を近接配置し、周辺の素子やパターンによる影響を均等に作用させるようにすることをいう。これにより相対精度が高い素子が形成される。例えば、アナログ電子回路における差動回路やカレントミラー回路では、同じ特性を持つ複数のトランジスタが必要とされる。このため、複数のトランジスタをペア配置することで、相対的な特性の差が少ない、つまり相対精度が高いトランジスタが得られるようにすることが行われている。半導体装置のレイアウト検証では、ペア配置が正しく行われているか否かの検証を行う検証装置が提案されている。例えば、特許文献1、特許文献2である。
In the layout design of a semiconductor device, it is required to arrange a plurality of elements in pairs. Here, the term “pair arrangement” means that elements having the same shape are arranged close to each other so that the influence of peripheral elements and patterns acts equally. Thereby, an element with high relative accuracy is formed. For example, a differential circuit and a current mirror circuit in an analog electronic circuit require a plurality of transistors having the same characteristics. For this reason, by arranging a plurality of transistors in pairs, a transistor having a small difference in relative characteristics, that is, a transistor with high relative accuracy is obtained. In semiconductor device layout verification, a verification device has been proposed for verifying whether or not pair placement is correctly performed. For example,
検証装置は、レイアウトされた複数の素子について、素子の種類、素子間の距離、素子の配置方向により、対象とする複数の素子がペア配置されているか否か、つまりペア性を有しているか否かを検証する。例えば、図28(a)に示されるように、対象とされる素子C1、C2の種類が同じであり、配置条件(回転、反転)が同じ場合、両素子C1、C2がペア配置されていると判断される。また、図28(b)に示されるように、対象とされる素子C1、C2の配置条件が異なる場合、両素子C1、C2がペア配置されていないと判断される。 The verification apparatus determines whether or not a plurality of target elements are arranged in pairs, that is, has a pair property, depending on the type of element, the distance between elements, and the arrangement direction of the elements. Verify whether or not. For example, as shown in FIG. 28A, when the types of the target elements C1 and C2 are the same and the arrangement conditions (rotation and inversion) are the same, both elements C1 and C2 are arranged in pairs. It is judged. Further, as shown in FIG. 28B, when the arrangement conditions of the target elements C1 and C2 are different, it is determined that the elements C1 and C2 are not arranged in pairs.
尚、図28(a)において、素子C1、C2の左下に表された三角形は、それぞれ素子C1、C2の基準点を示す。従って、図28(b)に示されるように、素子C2が反時計方向に90度回転して配置された場合、基準点は素子C2の右下となる。
ところが、従来の検証では、素子の配置などによって、正しく検証できない場合がある。例えば、レイアウトデータが階層構造を持たない場合である。具体例としては図28(c)に示されるようにトランジスタのゲートG1、G2、拡散層D1〜D4のデータが関連性を持たない場合が挙げられる。素子形状、配置位置がレイアウトデータから抽出できないので、ペア配置を判断することができない。 However, in the conventional verification, there are cases where the verification cannot be performed correctly depending on the arrangement of elements. For example, this is a case where the layout data does not have a hierarchical structure. As a specific example, as shown in FIG. 28C, there is a case where data of the gates G1 and G2 of the transistor and the diffusion layers D1 to D4 are not related. Since the element shape and the arrangement position cannot be extracted from the layout data, the pair arrangement cannot be determined.
従来の検証では正しく検証できない場合としては他にも例えば、抵抗素子の面積を抑えペア配置を行う方法として広く用いられている図28(d)に示されるような場合が挙げられる。図28(d)に示されるように抵抗素子C1、C2の本体部分R1、R2を担う抵抗層RL1、RL2の外形を抵抗値の大きい抵抗素子C1に合わせて作成する。抵抗値の小さい抵抗素子C2は、抵抗素子C1において外部との接続部分を担うコンタクト層CL1、CL2の各々と同一形状のコンタクト層CL3、CL4が配置されて構成される。コンタクト層CL3、CL4の配置位置は、抵抗層RL2上の位置であって本体部分R2が目的の抵抗値となる位置である。この配置は、抵抗層RL1およびRL2、およびコンタクト層CL1およびCL3、CL2およびCL4が、各々同一形状であることから、異なる抵抗値の抵抗素子C1、C2がペア配置されている認識されるものである。しかし、従来の検証では各素子はセルとしてレイアウトされるため、対象とされる素子のセルが一致しないとペア配置されていると判断されない。図28(d)に示される抵抗素子C1、C2は抵抗として機能する本体部分R1、R2の形状が異なるため、ペア配置されていると判断されない。 Another example of the case where the conventional verification cannot be performed correctly is the case shown in FIG. 28D, which is widely used as a method of performing pair arrangement while reducing the area of the resistance element. As shown in FIG. 28 (d), the outer shapes of the resistance layers RL1 and RL2 that bear the main body portions R1 and R2 of the resistance elements C1 and C2 are formed according to the resistance element C1 having a large resistance value. The resistance element C2 having a small resistance value is configured by disposing contact layers CL3 and CL4 having the same shape as each of the contact layers CL1 and CL2 that bear a connection portion with the outside in the resistance element C1. The arrangement positions of the contact layers CL3 and CL4 are positions on the resistance layer RL2, and the main body portion R2 has a target resistance value. In this arrangement, since the resistance layers RL1 and RL2 and the contact layers CL1 and CL3, CL2 and CL4 have the same shape, it is recognized that the resistance elements C1 and C2 having different resistance values are arranged in pairs. is there. However, since each element is laid out as a cell in the conventional verification, it is not determined that a pair is arranged unless the cells of the target element match. The resistance elements C1 and C2 shown in FIG. 28 (d) are not determined to be paired because the main body portions R1 and R2 functioning as resistors have different shapes.
また、従来の検証では、トランジスタ特性を揃える上で、MOSトランジスタのドレイン電流を、シリコン基板の結晶方位に対して揃えることが必要とされるが、この点についても触れられていない。 Further, in the conventional verification, it is necessary to align the drain current of the MOS transistor with respect to the crystal orientation of the silicon substrate in order to align the transistor characteristics, but this point is not mentioned.
上記のようなケースが存在するため、ペア配置ができているかの確認は目視検図で行われており、見落とした場合はシミュレーションと異なる動作となり、半導体装置の不良を招いていた。また、目視検図には多くの人手が必要であるため、設計工数増加の要因となっていた。 Since there are cases as described above, it is confirmed by visual inspection whether the pair arrangement is made. If overlooked, the operation is different from the simulation, leading to a failure of the semiconductor device. In addition, since visual inspection requires a lot of manpower, it has been a factor in increasing design man-hours.
本発明は上記問題点を解決するためになされたものであって、その目的は、ペア配置の検証の精度を向上させることができるレイアウト検証プログラム、およびレイアウト検証方法を提供することにある。 The present invention has been made to solve the above problems, and an object of the present invention is to provide a layout verification program and a layout verification method capable of improving the accuracy of verification of pair placement.
本願の第1および第2の発明に係るレイアウト検証プログラムは、半導体装置という物理的または技術的な対象において、そこに配置される素子のレイアウトという物理的性質または技術的性質に基づく情報処理に関するものであり、自然法則を利用した技術的思想の創作に属するものである。 The layout verification program according to the first and second inventions of the present application relates to information processing based on a physical property or a technical property of a layout of elements arranged in a physical or technical object of a semiconductor device. It belongs to the creation of technical ideas using the laws of nature.
本願の第1の発明に係るレイアウト検証プログラムは、本願の第1の発明に係るレイアウト検証方法をコンピュータシステムに実行させるためのプログラムである。そのレイアウト検証方法は、ペア配置の候補となる一組のMOSトランジスタを抽出する工程と、抽出された一組のMOSトランジスタについてドレイン電流の方向を特定する工程と、特定されたドレイン電流の方向が同じ方向である場合に一組のMOSトランジスタをペア配置されたMOSトランジスタであると認識する工程とを備える。 A layout verification program according to the first invention of the present application is a program for causing a computer system to execute the layout verification method according to the first invention of the present application. The layout verification method includes a step of extracting a set of MOS transistors that are candidates for pair placement, a step of specifying a drain current direction for the extracted set of MOS transistors, and a direction of the specified drain current. And a step of recognizing a pair of MOS transistors as a pair-arranged MOS transistor when they are in the same direction.
本願の第1の発明に係るレイアウト検証プログラム、およびレイアウト検証方法によれば、MOSトランジスタのドレイン電流の方向を揃えることを考慮したペア配置の検証ができる。ペア配置されるMOSトランジスタのドレイン電流の方向が同じ方向に揃えられることで、トランジスタ特性を揃えることができる。 According to the layout verification program and the layout verification method according to the first invention of the present application, it is possible to verify the pair arrangement in consideration of aligning the directions of the drain currents of the MOS transistors. Since the drain current directions of the MOS transistors arranged in pairs are aligned in the same direction, the transistor characteristics can be aligned.
本願の第2の発明に係るレイアウト検証プログラムは、本願の第2の発明に係るレイアウト検証方法をコンピュータシステムに実行させるためのプログラムである。そのレイアウト検証方法は、ペア配置の候補となる一組の本体部分の形状が異なる抵抗素子を抽出する工程と、抽出された一組の本体部分の形状が異なる抵抗素子間で抵抗素子の本体部分を担う抵抗層の外形を比較する工程と、抽出された一組の本体部分の形状が異なる抵抗素子間で抵抗素子の外部との接続部分を担うコンタクト層の形状を比較する工程と、比較された抵抗層の外形およびコンタクト層の形状が一致する場合に一組の本体部分の形状が異なる抵抗素子をペア配置された抵抗素子であると認識する工程とを備える。 A layout verification program according to the second invention of the present application is a program for causing a computer system to execute the layout verification method according to the second invention of the present application. The layout verification method includes a step of extracting a resistance element having a different shape of a set of main body portions that are candidates for pair arrangement, and a main body portion of the resistance element between resistance elements having different shapes of the extracted set of main body portions. And comparing the shape of the contact layer that bears the connection portion with the outside of the resistance element between the resistance elements having different shapes of the pair of extracted body parts. And a step of recognizing that a pair of resistance elements having different shapes of the main body portions are resistance elements arranged in pairs when the outer shape of the resistance layer matches the shape of the contact layer.
ここで、半導体装置において抵抗素子は通常その本体部分を担う抵抗層、および抵抗素子の外部との接続部分を担うコンタクト層を備える。抵抗素子は拡散層やポリシリコン層などの抵抗層のうち、コンタクト層に挟まれた部分が抵抗として機能する本体部分となる。 Here, in the semiconductor device, the resistance element usually includes a resistance layer that serves as a main body portion and a contact layer that serves as a connection portion with the outside of the resistance element. In the resistance element, a portion sandwiched between the contact layers in the resistance layer such as a diffusion layer or a polysilicon layer becomes a main body portion that functions as a resistance.
本願の第2の発明に係るレイアウト検証プログラム、およびレイアウト検証方法によれば、本体部分の形状が異なる抵抗素子を考慮したペア配置の検証ができる。上記の抵抗素子の面積を抑えペア配置を行う方法によるペア配置が正しく行われているか否かの確認を目視検図に頼る必要がなく、ペア配置の検証の精度が低くなることを防ぐことができる。 According to the layout verification program and the layout verification method according to the second invention of the present application, it is possible to verify the pair arrangement in consideration of resistance elements having different shapes of the main body portion. It is not necessary to rely on visual inspection to check whether the pair placement by the method of performing the pair placement while suppressing the area of the resistance element described above, and preventing the verification accuracy of the pair placement from being lowered. it can.
本発明のレイアウト検証プログラム、およびレイアウト検証方法によれば、MOSトランジスタのドレイン電流の方向を考慮したペア配置の検証、または本体部分の形状が異なる抵抗素子を考慮したペア配置の検証が可能となり、ペア配置の検証の精度向上が図られる。 According to the layout verification program and layout verification method of the present invention, it becomes possible to verify the pair arrangement considering the direction of the drain current of the MOS transistor, or to verify the pair arrangement considering the resistance elements having different shapes of the main body part, The accuracy of verification of the pair arrangement can be improved.
以下、本発明を具体化した一実施形態を図面に従って説明する。
図1は、レイアウト検証プログラムがレイアウト検証を実行させるコンピュータシステムの概略構成図である。
DESCRIPTION OF EXEMPLARY EMBODIMENTS Hereinafter, an embodiment of the invention will be described with reference to the drawings.
FIG. 1 is a schematic configuration diagram of a computer system that causes a layout verification program to execute layout verification.
このコンピュータ11は、一般的なCAD(Computer Aided Design)装置からなり、中央処理装置(以下、CPUという)12、メモリ13、磁気ディスク14、表示装置15、入力装置16、および外部記憶装置17により構成され、それらはバス18を介して相互に接続されている。
The
CPU12は、メモリ13を利用してプログラムを実行し、半導体装置のレイアウト検証処理を実行する。メモリ13には、各種処理を実現するために必要なプログラムとデータが格納され、このメモリ13としては、通常、キャッシュ・メモリ、システム・メモリ、およびディスプレイ・メモリ等(図示略)を含む。
The
表示装置15は、レイアウト表示、パラメータ入力画面等の表示に用いられ、これには通常、CRT、LCD、PDP等(図示略)が用いられる。入力装置16は、ユーザからの要求や指示、パラメータの入力に用いられ、これにはキーボードおよびマウス装置等(図示略)が用いられる。
The
磁気ディスク14は、通常、磁気ディスク装置、光ディスク装置、光磁気ディスク装置等(図示略)を含む。この磁気ディスク14には、半導体装置のレイアウト検証処理のためのプログラムデータ、ネットリストやレイアウトデータ等の各種データが格納されている。CPU12は、入力装置16による指示に応答して前記プログラムデータをメモリ13へ転送し、それを逐次実行する。
The
CPU12が実行するプログラムデータは、記録媒体19にて提供される。外部記憶装置17は、記録媒体19を駆動し、その記憶内容にアクセスする。CPU12は、外部記憶装置17を介して記録媒体19からプログラムデータを読み出し、それを磁気ディスク14にインストールする。
Program data executed by the
記録媒体19はコンピュータ読み取り可能な記録媒体であり、例えば、CDROM、DVD等の光ディスク19a、磁気テープ(MT)、フレキシブルディスク、光磁気ディスク(MO、MD、…)等の磁気媒体19bが用いられる。尚、半導体メモリや外部接続されるハードディスク装置等が用いられても良い。この記録媒体19に、上述のプログラムデータを格納しておき、必要に応じて、メモリ13にロードして使用することもできる。
The
尚、記録媒体19には、通信媒体を介してアップロード又はダウンロードされたプログラムデータを記録した媒体、ディスク装置、通信媒体を介してコンピュータ11が接続されるサーバ装置の記憶装置、等を含む。更に、コンピュータによって直接実行可能なプログラムを記録した記録媒体だけでなく、いったん他の記録媒体(ハードディスク等)にインストールすることによって実行可能となるようなプログラムを記録した記録媒体や、暗号化されたり、圧縮されたりしたプログラムを記録した記録媒体も含む。
The
次に、半導体装置のレイアウトデータに対するペア配置検証処理の概略を説明する。
図2は、レイアウト検証方法の概略フロー図であり、ペア配置検証処理の概略フロー図である。図1に記載のコンピュータシステムにレイアウト検証を実行させるレイアウト検証プログラムの手順である。
Next, an outline of the pair placement verification process for the layout data of the semiconductor device will be described.
FIG. 2 is a schematic flowchart of the layout verification method, and is a schematic flowchart of the pair placement verification process. It is the procedure of the layout verification program which makes the computer system of FIG. 1 perform layout verification.
ステップ21において、CPU12は、半導体装置のレイアウトデータと制御カードとに基づいて、半導体装置に含まれる素子をそれぞれ認識する。制御カードは、ペア配置する素子を定義した情報が含まれるデータである。この制御カードには、素子の名称や配置制約などの定義情報、素子を構成する配線等の図形情報および接続情報、検索領域の情報が含まれる。CPU12は、制御カードの情報に基づいて、レイアウトデータから素子の形状・配置場所を認識する。
In
図形情報は、素子を定義したデータベースの情報と対応し、レイアウトデータは、データベースの定義情報とネットリストとに基づいて生成されている。従って、図形情報が階層化されていないレイアウトデータにおいても、レイアウトされた図形形状と制御カードに含まれる図形情報とを比較することにより、複数の図形から構成される素子(例えば、MOSトランジスタ)を認識することができる。 The graphic information corresponds to the information in the database that defines the elements, and the layout data is generated based on the definition information in the database and the net list. Therefore, even in layout data in which graphic information is not hierarchized, an element (for example, a MOS transistor) composed of a plurality of figures can be obtained by comparing the laid-out graphic shape with the graphic information included in the control card. Can be recognized.
次に、ステップ22において、CPU12は、ステップ21において認識した素子について、その素子の接続状態に基づいて、ネットリストから素子名を確定する。次に、ステップ23において、制御カードに基づいて、ペア配置が必要な素子名とペア配置が成立する許容間隔値を設定する。
Next, in
次に、ステップ24(ペア配置素子間検証処理)において、確定した素子名、図形形状・配置位置、許容間隔値に基づいて、ペア配置の検証を行う。この検証では、素子の形状比較と、間隔検証を行う。つまり、CPU12は、隣接配置される複数の素子の形状が同じか否かを判断する。また、CPU12は、配置場所から複数の素子の間隔を算出し、その間隔が許容間隔値以内であるか否かを判断する。
Next, in step 24 (verification processing between paired elements), pair arrangement is verified based on the determined element name, figure shape / arrangement position, and allowable interval value. In this verification, element shape comparison and interval verification are performed. That is, the
次に、ステップ25(ペア配置抵抗素子間検証処理)が、ステップ24の検証で条件違反があった場合に行われる。ステップ24における素子の形状比較で、形状が一致しないとされた場合でも、ステップ25において、それが抵抗素子であり、抵抗層の外形が等しく、かつ、コンタクト層の形状が等しい場合にはペア配置の候補となる素子であるとされる。すなわち、本体部分の形状が異なる抵抗素子であっても、抵抗層の外形およびコンタクト層の形状を比較することで、ペア配置の検証が行われる。
Next, step 25 (verification processing between paired resistive elements) is performed when there is a condition violation in the verification of
次に、ステップ26において、CPU12は、制御カードに従って、ペア配置を検証する素子が影響を受ける図形が含まれる範囲を検索領域として設定する。そして、ステップ27(ペア配置周辺図形検証処理)において、CPU12は、設定された領域内の図形をレイアウトデータから抽出し、ペア配置を検証する各素子に対して、図形の形状・配置が同じであるかを検証する。形状などが同じでない場合、ステップ28(ペア配置周辺図形反転回転処理)において、CPU12は、素子等の図形を反転・回転し、それぞれの図形形状が一致するか相対的な位置が同じであるか否かを判断する。
Next, in step 26, the
そして、ステップ29(ペア配置MOSトランジスタ間検証処理)において、ペア配置の候補となる一組のMOSトランジスタについて、ドレイン電流の方向が同じであるか否かが判断される。 Then, in step 29 (verification processing between paired MOS transistors), it is determined whether or not the direction of the drain current is the same for a pair of MOS transistors that are candidates for paired placement.
上記のように、レイアウトデータの図形から素子を抽出し、その抽出した素子がペア配置されているか否かを検証するようにしたため、階層構造を持たないレイアウトデータにおいてもペア配置の検証を行うことができ、目視チェックの工数を低減することができる。 As described above, the elements are extracted from the layout data figure, and it is verified whether or not the extracted elements are arranged in pairs. Therefore, the pair arrangement is verified even in layout data having no hierarchical structure. The number of visual check steps can be reduced.
そして、本体部分の形状が異なる抵抗素子であっても、抵抗層の外形およびコンタクト層の形状を比較するようにしたため、本体部分の形状が異なる抵抗素子を考慮したペア配置が正しく行われているか否かの確認を目視検図に頼る必要がなく、ペア配置の検証の精度が低くなることを防ぐことができる。 Even if the resistance elements have different shapes, the outer shape of the resistance layer and the shape of the contact layer are compared. It is not necessary to rely on visual inspection for confirmation of whether or not, and it is possible to prevent the accuracy of verification of pair placement from being lowered.
また、ペア配置される複数の素子に対して、検索領域を設定し、その検索領域内の配線などを抽出し、抽出した図形を含めた各素子の形状・配置位置を検証するようにしたため、誤判定を減少させることができる。 In addition, for a plurality of elements arranged in pairs, a search area is set, wiring in the search area is extracted, and the shape / placement position of each element including the extracted figure is verified. Misjudgments can be reduced.
更に、ペア配置される一組のMOSトランジスタについて、ドレイン電流の方向を特定し、特定されたMOSトランジスタのドレイン電流の方向が同じであるか否かを検証するようにしたため、ペア配置されるMOSトランジスタのドレイン電流の方向が同じ方向に揃えられ、トランジスタ特性を揃えることができる。 Further, the direction of the drain current is specified for a pair of MOS transistors arranged in a pair, and it is verified whether or not the direction of the drain current of the specified MOS transistor is the same. The direction of the drain current of the transistors is aligned in the same direction, so that the transistor characteristics can be aligned.
次に、ペア配置検証処理の詳細を説明する。
図3〜図8に示されるステップ301〜327は、図2に示すステップ21〜29の詳細なステップである。
Next, details of the pair placement verification process will be described.
図3に示されるステップ301〜308は、ペア配置が要求される素子間におけるペア配置素子間検証処理(図2のステップ21〜24)である。ステップ301においてCPU12は、レイアウトデータ51と制御カード52とに基づいて、半導体装置に含まれる素子(インスタンス)をそれぞれ認識する。制御カード52は、レベルコードと層名の対応が記述された層定義データ52a、配線層定義、ホール定義が記述された層間接続定義データ52b、素子のタイプ毎のマスク層の演算方法が記述された素子抽出条件データ52cを含む。例えば、MOSトランジスタは、拡散層とポリシリコンよりなるパターンとから構成される。従って、素子抽出条件データ52cには、MOSトランジスタを抽出する条件として、拡散層を形成するためのマスク層の図形データと、ポリシリコンのパターンを形成するためのマスク層の図形データとが重なった部分を抽出すること、が含まれる。
CPU12は、各インスタンスの外形座標の座標データ53を図1のメモリ13又は磁気ディスク14に記憶する。更に、レイアウトデータ51に含まれる図形の接続情報としてネット情報を抽出し、そのネット情報のリスト(ネットリスト)54を図1のメモリ13又は磁気ディスク14に記憶する。また、MOSトランジスタの拡散層よりなる端子情報としてソース端子、ドレイン端子位置情報を抽出し、そのソース端子、ドレイン端子位置情報55を図1のメモリ13又は磁気ディスク14に記憶する。
The
ステップ302において、CPU12は、先に作成したネットリスト54と、回路設計において作成されたネットリスト56とを比較し、ステップ301において認識した素子について、その素子の接続状態に基づいて、ネットリスト56から素子名(インスタンス名)を抽出し、そのインスタンス名の対応情報57を記憶する。更にここで、ソース端子、ドレイン端子位置情報55に基づいて、MOSトランジスタのソース端子位置情報を抽出し、そのソース端子位置情報58を記憶する。
In
次に、ステップ303において、ステップ302における比較結果が一致するか否かを判断し、一致しない場合にはステップ304において処理を中止する。この場合、設計者又はツールによるレイアウトの修正が行われ、レイアウト検証が再実行される。
Next, in
ステップ303においてネットリスト54、56の比較結果が一致する場合、CPU12は、ステップ305に移行する。そのステップ305において、CPU12は、ネットリスト56との対応情報としてインスタンス名を確定し、確定したインスタンス名を各インスタンスの外形座標に対応づけて座標データ53に格納する。更に、CPU12は、各素子の基準座標を算出し、基準座標を同様に座標データ53に格納する。
If the comparison results of the net lists 54 and 56 match at
次に、ステップ306において、CPU12は、座標データ53に格納した外形座標を図形の左下を基準とした座標系の座標値に変換する。つまり、このステップ306において、CPU12は、座標データ53に記憶した全てのインスタンスにおいて基準位置に対する図形の向きを統一する。そして、CPU12は、変換後の座標値および基準位置の座標値を座標データ53に記憶する。
Next, in
次に、ステップ307において、CPU12は、制御カード52を参照し、不要なインスタンスを削除する。制御カード52は、ペアの要求としてペア配置されるインスタンス名が記述された要求データ52d、ペアの条件1として素子間の距離、素子形状が記述された第1条件データ52eを含む。CPU12は、要求データ52dに基づいて、ペア配置が不要なインスタンスに関するデータを、座標データ53から削除する。
Next, in
更に、CPU12は、座標データ53に残されたインスタンス、つまりペア配置が要求されるインスタンスについて、第1条件データ52eに基づいて、ペアの条件1による検証を行う。この検証において、CPU12は、ペアの要求があるインスタンス名の外形座標、配置位置を座標データ53から抽出し、複数のインスタンスの形状を比較する。更に、CPU12は、座標データ53から抽出した外形座標、配置位置に基づいてインスタンス間の距離を算出し、その算出したインスタンス間の距離とペアの条件1の素子間の距離とを比較する。
Further, the
つまり、ステップ307において、ペア配置が要求されるインスタンスに対してのみ、ペアの条件1による検証を行う。そして、ステップ308において、CPU12は、ペアの条件1に対する違反の有無を判断し、違反がない場合には図5に示されるステップ314に移行し、違反がある場合には図4に示されるステップ309に移行する。
That is, in
図4に示されるステップ309〜313は、ステップ301〜308のペア配置素子間検証処理で条件違反があった場合に行われるペア配置抵抗素子間検証処理(図2のステップ25)である。抵抗素子の本体部分の形状が揃えられて近接配置されることで素子特性は一致するが、ペア配置される各抵抗素子の抵抗値が異なる場合、必要な抵抗素子の本数が増加してしまう。例えば、抵抗素子の本体部分の形状が抵抗値の小さい抵抗素子に揃えられた場合、抵抗値の大きい抵抗素子は抵抗値の小さい抵抗素子が直列接続されることにより生成され、反対に抵抗値の大きい抵抗素子に揃えられた場合は、抵抗値の小さい抵抗素子は抵抗値の大きい抵抗素子が並列接続されることにより生成されることが必要になる。これはチップ面積の増加、そしてコストアップにも直結する。そこで、抵抗素子の面積が抑えられペア配置が行われる方法として、抵抗素子の本体部分を担う拡散層やポリシリコン層などの抵抗層の外形を抵抗値の大きい抵抗素子に合わせて作成し、抵抗値の小さい抵抗素子は、抵抗素子の外部との接続部分を担うコンタクト層の形状を等しくし、その位置を調整することで作成する方法が広くとられている。しかし、本体部分の形状が異なる抵抗素子は各素子の形状が等しいことというペアの条件1に違反する。ステップ309において、CPU12は、ペアの要求があるインスタンスが抵抗素子であるか否かを判断する。抵抗素子である場合、ステップ310に移行し、ペアの要求がある抵抗素子間で抵抗層の外形を比較する。抵抗層の外形の比較は、抵抗層の外形を構成する各辺の長さを比較することにより行う。
次に、ステップ311において、ステップ310における比較結果が同一か否かを判断し、同一の場合にはステップ312において、今度はペアの要求がある抵抗素子間でコンタクト層の形状を比較する。コンタクト層の形状の比較は、抵抗素子の本体部分のうちコンタクト層に接する辺の中心を原点(0、0)としてコンタクト層を図形化し、その図形の形状を比較することにより行う。ステップ313において、ステップ312における比較結果が同一か否か判断し、同一の場合には図5に示されるステップ314に移行する。つまりステップ308においてペアの条件1に対する違反があると判断された場合でも、ステップ309〜313において、それが抵抗素子であり、抵抗層の外形が等しく、かつ、コンタクト層の形状が等しい場合にはペア配置の候補となる素子であるとされ、ペアの条件1に対する違反がない場合と同様にステップ314に移行する。従って、本体部分の形状が異なる抵抗素子であっても、抵抗層の外形およびコンタクト層の形状を比較することで、ペア配置の検証が行われる。
Next, in
また、ステップ309において抵抗素子でないと判断された場合、ステップ311において抵抗層の外形が同一でないと判断された場合、あるいはステップ313においてコンタクト層の形状が同一でないと判断された場合は、いずれも図8に示されるステップ326に移行する。
Also, if it is determined in
図5に示されるステップ314〜316は、ペア配置を検証する素子が影響を受ける図形が含まれる範囲におけるペア配置周辺図形検証処理(図2のステップ26、27)である。ステップ314において、CPU12は、制御カード52の第2条件データ52fに基づいて、ペアの条件2による検証を行う。第2条件データ52fは、ペアの条件2として、素子への干渉をチェックする条件が格納され、この条件は検証するマスク(MASK)層名と検索距離である。半導体装置は、複数の配線層に形成された配線パターンにより、信号が伝達される。配線パターンが形成される配線層は半導体装置の製造プロセスにおける露光処理のマスクになる。つまり、配線層は、プロセスにおけるマスク層である。レイアウトデータ51は、拡散層、ゲート配線、素子間等の配線がプロセスに対応する層の情報を持つ層構造を持つ。
半導体装置の基板上面に沿って、素子から近い位置に形成された配線の影響を受けやすく、遠い配線の影響を受けにくい。このため、CPU12は、素子が影響を受ける範囲を検索領域として設定し、該検索領域内のマスク層を抽出する。このとき、CPU12は、ステップ305においてインスタンス名を確定した素子の形状を、ペアの条件2の検索距離に従って拡大し、この拡大した図形を検索領域とする。これにより、素子の形状に応じた検索領域を容易に設定することができる。尚、マスク層により素子に影響を与える距離が異なるため、マスク層に応じて検索距離が設定されている。
Along the upper surface of the substrate of the semiconductor device, it is easily influenced by wiring formed at a position close to the element, and is hardly influenced by wiring far from the element. For this reason, the
次に、CPU12は、各マスク層において、設定した検索領域内の図形を抽出し、抽出した図形の座標値を、各マスク層の検索領域の基準点を原点(0、0)とした座標値に変換し、その変換後の座標値をワークデータ59に格納する。つまり、ペア配置を検証する複数の素子(図形)に対し、各マスク層において各素子に検索領域が設定され、それぞれの検索領域に含まれる図形が抽出される。そして、抽出された図形の座標値は、それぞれの検索領域の基準点を原点とする座標値に変換されワークデータ59に格納される。
Next, the
次に、ステップ315において、CPU12は、ワークデータ59に格納した座標値に基づいて、抽出したマスク層に含まれる図形が、各検索領域の相互間で同一形状か否かを確認する。この確認において、CPU12は、各検索領域の基準点を一致させて各検索領域の図形を排他的論理和(XOR)処理する。これにより、各検索領域において、同じ形状で座標値が一致する図形は残らない。従って、XOR処理後に図形が残っている場合、各検索領域に含まれる図形は一致しない、つまり、ペア配置が望まれる複数の素子において、それぞれの素子に対して同じ位置にない図形が存在することになる。このため、CPU12は、XOR処理後の検索領域内に図形が存在する場合にはペア配置ができていないと判断し、図形が存在しない場合にはペア配置ができていると判断する。
Next, in
CPU12は、図形をXOR処理するだけでペア配置ができているか否かを判断することができ、このXOR処理は、CPU12にとって負荷が少ない。つまり、短い時間でペア配置を判断することができる。
The
ステップ316において、CPU12は、ステップ315において確認した各マスク層の図形形状が同一の場合には図7のステップ321に移行し、同一ではない場合には図6のステップ317に移行する。
In
図6に示されるステップ317〜320は、ステップ314〜316のペア配置周辺図形検証処理で図形形状が同一でなかった場合に行われるペア配置周辺図形反転回転処理(図2のステップ28)である。ステップ317において、CPU12は、制御カード52の第3条件データ52gに基づいて、図形をミラー反転、回転してもよいか否かを判断する。第3条件データ52gには、ペアの条件3として、X軸ミラー反転を許容するか、Y軸ミラー反転を許容するか、回転を許容するか、のそれぞれの条件が設定されている。従って、CPU12は、反転・回転が許容されていない場合には図8に示されるステップ326に移行し、そのステップ326においてエラーを図1の表示装置15に表示する。従って、表示されたエラーに基づいて、ペア配置されていない素子に対して容易に対応することが可能となる。一方、反転・回転のうちの少なくとも1つが許容されている場合、CPU12は、ステップ318に移行する。
ステップ318において、CPU12は、マスク層において抽出した複数の検索領域のうちの1つの図形データを許容された条件に従って変換した後、他の検索領域と同じ方向の頂点を原点とした座標系の座標値に変換し、その変換後の座標値をワークデータ59に格納する。
In
次に、ステップ319において、CPU12は、ステップ315と同様に、ワークデータ59に記憶したマスク層における複数の検索領域内の図形データを比較する。そして、ステップ320において、CPU12は、各検索領域の図形が同一ではない場合には図8に示されるステップ326においてエラーを表示する。一方、図形が同一の場合、CPU12は、図7に示されるステップ321に移行する。
Next, in
図7に示されるステップ321〜325は、ステップ301〜320においてペア配置の候補として抽出された素子がMOSトランジスタである場合におけるペア配置MOSトランジスタ間検証処理(図2のステップ29)である。ステップ321において、CPU12は、ペア配置の候補として抽出された素子がMOSトランジスタであるか否かを判断する。MOSトランジスタである場合、ステップ322に移行し、ペア配置の候補となる一組のMOSトランジスタについてゲート端子の分割の有無が判断される。ゲート端子の分割がある場合は、ステップ323において、ステップ324でのソース端子位置の確認の際に着目するターゲットとなるゲート端子を決定する。ゲート端子の分割がない場合は、ステップ323を経ずにステップ324に移行する。ステップ324において、MOSトランジスタのソース端子位置情報58に基づいて、ペア配置の候補となる一組のMOSトランジスタそれぞれについて、ゲート端子に対するソース端子位置が確認される。つまり、ステップ324において、ペア配置の候補となる各MOSトランジスタのドレイン電流の方向が特定される。次にステップ325において、ステップ324で確認されたゲート端子に対するソース端子位置が、同一であるか否かが判断される。同一でない場合は、CPU12は、図8に示されるステップ326においてエラーを表示する。同一である場合は、CPU12は、図8に示されるステップ327に移行する。
一方、ステップ321において、ペア配置の候補として抽出された素子がMOSトランジスタでないと判断された場合は、ペア配置の検証としてステップ322〜325は不要なので、CPU12は、図8に示されるステップ327に移行する。
On the other hand, if it is determined in
図8に示されるステップ326、327は、エラー処理および終了処理である。ステップ301〜325におけるペア配置の検証において、ペア配置ができていないと判断された場合はステップ326でエラーを表示し、ステップ327に移行する。一方、ペア配置ができていると判断された場合はそのままステップ327に移行する。ステップ327において、全パターンについて検証を終了したか否かを判断し、全パターンの検証を終了した場合には処理を終了し、全パターンの検証が終了していない場合にはステップ307に移行し、検証を継続する。
上記のように構成されたレイアウト検証プログラムがレイアウト検証をコンピュータシステムに実行させた場合の作用を説明する。
図9は、階層構造を持たない図形データにより構成されたレイアウトデータ51(図3参照)の説明図である。
The operation when the layout verification program configured as described above causes the computer system to execute layout verification will be described.
FIG. 9 is an explanatory diagram of the layout data 51 (see FIG. 3) configured by graphic data having no hierarchical structure.
レイアウトデータ51には、拡散層61a、61b、ポリシリコンにて形成されるパターン62a、62b、金属にて形成されるパターン63a〜63e、ホール64a〜64fのデータが含まれている。各データは、それぞれ形成される材質やプロセスに応じた層(マスク層)のデータとしてレイアウトデータ51に格納されている。
The
図10は、制御カード52(図3参照)の説明図である。尚、図10には、制御カード52を構成する各種データのうち、要求データ52d、第1条件データ52e、素子抽出条件データ52c、層間接続定義データ52b、第2条件データ52fを示している。
FIG. 10 is an explanatory diagram of the control card 52 (see FIG. 3). FIG. 10
先ず、レイアウトデータ51から素子形状と接続情報を抽出する(図2のステップ21、図3のステップ301)。このとき、制御カード52の素子抽出条件データ52cに基づいて、図9に示すポリシリコンよりなるパターン62a、62bと拡散層61a、61bの重なり部分をMOSトランジスタ71、72(図11参照)として抽出し、抽出したMOSトランジスタ71、72の外形座標(頂点座標)を図3の座標データ53に格納する。更に、素子抽出条件データ52cに基づいて、抽出したMOSトランジスタ71、72に対してソース、ドレイン、ゲートの各端子を定義し、MOSトランジスタソース端子、ドレイン端子位置情報55(図3参照)として格納する。そして、層間接続定義データ52bに基づいて、MOSトランジスタ71、72の各端子に対する接続情報を抽出し、この抽出した接続情報を、レイアウトデータ51から生成したネットリスト(fromレイアウト)54(図3参照)として格納する。
First, the element shape and connection information are extracted from the layout data 51 (
次に、回路設計におけるネットリスト56(図3参照)と、上記のネットリスト54とを比較し、抽出したMOSトランジスタ71、72のインスタンス名を確定する(図2のステップ22、図3のステップ302〜305)。つまり、回路設計におけるネットリスト56を検索し、MOSトランジスタ71、72と同じ接続状態の回路素子を抽出する。この抽出した回路素子の素子名(インスタンス名)をMOSトランジスタ71、72に適用し、その対応情報57(図3参照)を記憶する。また、MOSトランジスタのソース端子位置についても確定し、MOSトランジスタのソース端子位置情報58(図3参照)として格納する。
Next, the netlist 56 (see FIG. 3) in the circuit design is compared with the
次に、ペア配置の検証を実施する(図2のステップ23、24、図3のステップ306〜308)。このとき、図10の制御カード52の第1条件データ52eに従って、素子間隔、素子形状を検証する。
先ず、MOSトランジスタ71、72の間隔が第1条件データ52eの設定間隔内であるか否かを検証する。MOSトランジスタ71、72の間隔が設定間隔内であれば素子形状の検証を行い、MOSトランジスタ71、72の間隔が設定間隔内にない場合にはペア配置ができていないと判定する。
Next, verification of pair arrangement is performed (
First, it is verified whether or not the interval between the
次に、MOSトランジスタ71、72の形状を比較する。このとき、MOSトランジスタ71、72の頂点座標に基づいて、形状が一致するか否かを検証する。形状が一致する場合には、周辺図形検証処理に進み、形状が一致しない場合には次のペア配置抵抗素子間検証処理に進む。
Next, the shapes of the
ペア配置抵抗素子間検証処理(図2のステップ25、図4)では、先ず、抵抗素子であるか否かが判断される。MOSトランジスタ71、72は抵抗素子ではないためペア配置ができていないと判定する。
In the pair-arranged resistance element verification process (step 25 in FIG. 2, FIG. 4), it is first determined whether the element is a resistance element. Since the
ペア配置を検証する素子が抵抗素子である場合の例について、図12、13を用いて説明する。
先ず、ペア配置を検証する対象である抵抗素子について、抵抗素子の本体部分を構成している拡散層やポリシリコン層などの抵抗層の外形を比較する。図12(a)(1)に示される抵抗素子901、902について、図12(a)(2)に示されるように抵抗層91a、91bの外形を比較する。外形の比較は、抵抗層の外形の各辺の長さが等しいかを確認することにより行う。抵抗層91a、91bは縦、横いずれも等しいので、抵抗素子901、902は抵抗層の外形が等しいと判断される。一方、図12(b)(1)に示される抵抗素子901、903については、抵抗層91a、91cの外形の各辺のうち、横は等しいが縦は異なる。よって抵抗素子901、903は抵抗層の外形が等しくないと判断される。抵抗層の外形が等しくない場合はペア配置ができていないと判定される。等しい場合は、続いてコンタクト層の形状を比較する。
An example in which the element for verifying the pair arrangement is a resistance element will be described with reference to FIGS.
First, with respect to the resistance element whose pair arrangement is to be verified, the outer shapes of the resistance layers such as the diffusion layer and the polysilicon layer constituting the main body of the resistance element are compared. For the
コンタクト層の形状の比較について、図13に具体例を示す。図13(a)(1)に示される抵抗素子901、902について、抵抗素子の本体部分93a、93bのうち各コンタクト層92a〜92dに接する辺の中心をそれぞれ原点(0、0)として、各コンタクト層を図形化する(図13(a)(2)参照)。尚、図中の三角形はそれぞれコンタクト層92a〜92dの原点を示す。そして、抵抗素子901、902間で同じ形状の図形が存在すれば、コンタクト層の形状は等しいと判断される。図13(a)(2)に示されるように、抵抗素子901、902間ではそれぞれ92Aと92C、92Bと92Dが同じ形状なので、抵抗素子901、902はコンタクト層の形状が等しいと判断される。一方、図13(b)(1)に示される抵抗素子901、904については、図形化されたコンタクト層92Aと92G、92Bと92Hが同じ形状であるが、抵抗素子904の92Iと同じ形状の図形が抵抗素子901には存在しない。よって抵抗素子901、904はコンタクト層の形状が等しくないと判断される。コンタクト層の形状が等しくない場合はペア配置ができていないと判定される。等しい場合は、周辺図形検証処理に進む。
A specific example of the comparison of the shape of the contact layer is shown in FIG. With respect to the
このように、抵抗素子については素子形状が一致しない場合でも、抵抗層の外形およびコンタクト層の形状をそれぞれ比較することで、ペア配置の判定を行う。従って、本体部分の形状が異なる抵抗素子を考慮したペア配置の検証ができる。 As described above, even when the element shapes of the resistance elements do not match, the pair arrangement is determined by comparing the outer shape of the resistance layer and the shape of the contact layer. Therefore, it is possible to verify the pair arrangement considering resistance elements having different shapes of the main body portions.
再びMOSトランジスタ71、72を例に、次の処理である周辺図形検証処理(図2のステップ26、27、図5)について説明する。
図14(a)に示すように、各MOSトランジスタ71、72に対して、それぞれの形状と、制御カード52の第2条件データ52f(図10参照)に基づいて検索領域S1、S2を設定する。そして、設定されたマスク層(例えば、ポリシリコンのパターンを形成するためのマスク層、および拡散層を形成するためのマスク層)に含まれる図形から、検索領域S1、S2内の図形をそれぞれ抽出する。つまり、図14(b)に示すように、MOSトランジスタ71に対応して設定した検索領域S1に含まれる図形群81aと、MOSトランジスタ72に対応して設定した検索領域S2に含まれる図形群81bと、を抽出する。このとき、抽出される図形群81a、81bの枠は、検索領域S1、S2の枠形状と同一とする。尚、図14では、上下方向を短く表示している。
The peripheral graphic verification process (steps 26 and 27 in FIG. 2 and FIG. 5), which is the next process, will be described with the
As shown in FIG. 14A, search areas S1 and S2 are set for each of the
そして、抽出した複数の図形群81a、81bの原点を所定位置(本実施形態では左下頂点)とし、図形群81a、81bに含まれる図形の座標を、原点を基準とした座標に変換し、変換後の図形群81a、81bを論理演算処理(XOR処理)する。各図形の座標を、原点を基準とした座標系の座標値に変換することで、各図形の座標を原点からの相対値とする。これにより、各図形群において原点から相対的に同じ位置に存在する図形の座標は同じとなるため、演算負荷が少なくなる。
Then, the origin of the plurality of extracted
図14(a)に示す検索領域S1、S2により生成された図形群81a、81b(図14(b)参照)において、一方の図形群81aは、ペア配置を検証する対象である、MOSトランジスタ71、72(拡散層61a、61bおよびパターン62a、62b)と、検索領域S1に含まれるMOSトランジスタ(拡散層61cおよびパターン62c)を含み、他方の図形群81bは、ペア配置を検証する対象であるMOSトランジスタ71、72のみを含む。従って、図14(c)に示す論理演算処理の結果82には、拡散層61bおよびパターン62bが存在する。このため、両MOSトランジスタ71、72は、ペア配置ができていないと判断される。
In the
別の例として、ミラー反転によりペア配置を検証する処理(図2のステップ28、図6)の具体例を説明する。
図15(a)に示すレイアウトデータ51の各データにおいて、MOSトランジスタ71、72に対して制御カード52の第2条件データ52f(AREA: Hole Metal -X=1um +X=1um -Y=0um +Y=0um MIR)に従って検索領域S3、S4(図15(b)参照)を設定する。次に、検索領域S3、S4に含まれる金属配線を形成するためのマスク層、およびホールを形成するためのマスク層のデータを検索して図15(b)に示す図形群83a、83bを得る。図形群83aには、トランジスタ71と、パターン63a、63dの一部のパターン65a、65bと、ホール64c、64eが含まれ、図形群83bには、トランジスタ72と、パターン63c、63eの一部のパターン65c、65dと、ホール64d、64fが含まれる。
As another example, a specific example of the processing for verifying the pair arrangement by mirror inversion (
In each data of the
これら図形群83a、83bに対して論理演算処理(XOR処理)を行った場合、図15(c)に示すように、図形群83aにあってはパターン65a、65bおよびホール64c、64e、図形群83bにあってはパターン65c、65dおよびホール64d、64fが残る。このため、両図形群83a、83bは一致しない。
When logical operation processing (XOR processing) is performed on these
次に、図10に示すように、制御カード52の第2条件データ52fにおいて、検索範囲を指定する[AREA]には、[Hole, Metal]のマスク層にて抽出した図形に対してミラー反転を許容する指示[MIR]が記述されている。このため、図15(d)に示すように、Y軸にてミラー反転した図形群83cを生成する。この図形群83cと、反転していない図形群83aとを比較する。この場合、論理演算処理の結果に図形が残らないため、ペア配置ができている候補として次のペア配置MOSトランジスタ間検証処理に進む。
Next, as shown in FIG. 10, in the
ペア配置MOSトランジスタ間検証処理(図2のステップ29、図7)の具体例について、図16、17を用いて説明する。
先ず、ペア配置ができている候補として抽出された素子が、MOSトランジスタであるか否かが判断される。MOSトランジスタでない場合、ペア配置MOSトランジスタ間検証処理は不要なため、ペア配置ができていると判断される。MOSトランジスタである場合は、ゲート端子の分割があるか否かが判断される。
A specific example of the inter-pair arrangement MOS transistor verification process (step 29 in FIG. 2, FIG. 7) will be described with reference to FIGS.
First, it is determined whether or not an element extracted as a candidate for pair arrangement is a MOS transistor. If it is not a MOS transistor, the pair placement MOS transistor verification process is unnecessary, and therefore it is determined that the pair placement is completed. In the case of a MOS transistor, it is determined whether or not there is a division of the gate terminal.
図16はゲート端子の分割がない場合の具体例である。図16(a)に示されるMOSトランジスタ905、906について、ゲート端子95a、95bに対するソース端子94a、94bの位置が確認される。MOSトランジスタ905はゲート端子95aの左側にソース端子94aが配置され、MOSトランジスタ906はゲート端子95bの左側にソース端子94bが配置されている。よってMOSトランジスタ905、906はゲート端子に対するソース端子の位置が等しいと判断される。従って両MOSトランジスタのドレイン電流の方向は等しく、MOSトランジスタ905、906はペア配置ができていると判断される。一方、図16(b)に示されるMOSトランジスタ905、907については、MOSトランジスタ905はゲート端子95aの左側にソース端子94aが配置され、MOSトランジスタ907はゲート端子95cの右側にソース端子94cが配置されている。よってMOSトランジスタ905、907はゲート端子に対するソース端子の位置が等しくないと判断される。両MOSトランジスタのドレイン電流の方向が異なり、MOSトランジスタ905、907はペア配置ができていないと判断される。
FIG. 16 shows a specific example when the gate terminal is not divided. In the
図17はゲート端子の分割がある場合の具体例である。ゲート端子の分割がある場合は、先ず、ソース端子位置の確認の際に着目するターゲットとなるゲート端子が決定される。MOSトランジスタのレイアウトでは、ソース端子、ドレイン端子が交互に配置されるため、ペア配置を検証するMOSトランジスタ間で同じ位置にある1つのゲート端子にのみ着目すればよい。MOSトランジスタ間で同じ位置にある1つのゲート端子に対して隣接するソース端子の位置が同じであれば、分割された他のゲート端子についてもソース端子の位置は等しくなるからである。図17(a)に示されるMOSトランジスタ908、909について、ターゲットのゲート端子として本実施形態では左端のゲート端子95d、95gに着目する。MOSトランジスタ908はゲート端子95dの左側にソース端子94dが配置され、MOSトランジスタ909はゲート端子95gの左側にソース端子94fが配置されている。よってMOSトランジスタ908、909はゲート端子に対するソース端子の位置が等しいと判断される。従って両MOSトランジスタのドレイン電流の方向は等しく、MOSトランジスタ908、909はペア配置ができていると判断される。一方、図17(b)に示されるMOSトランジスタ908、910については、ターゲットのゲート端子として左端のゲート端子95d、95jに着目すると、MOSトランジスタ908はゲート端子95dの左側にソース端子94dが配置され、MOSトランジスタ910はゲート端子95jの右側にソース端子94hが配置されている。よってMOSトランジスタ908、910はゲート端子に対するソース端子の位置が等しくないと判断される。両MOSトランジスタのドレイン電流の方向が異なり、MOSトランジスタ908、910はペア配置ができていないと判断される。
FIG. 17 shows a specific example in the case where the gate terminal is divided. When there is a division of the gate terminal, first, a gate terminal as a target to be focused on when confirming the source terminal position is determined. Since the source terminal and the drain terminal are alternately arranged in the layout of the MOS transistor, it is only necessary to pay attention to one gate terminal located at the same position between the MOS transistors whose pair arrangement is verified. This is because, if the positions of the adjacent source terminals with respect to one gate terminal at the same position between the MOS transistors are the same, the positions of the source terminals are equal for the other divided gate terminals. In the
以上、ペア配置を検証する対象として2つの素子を抽出した場合について説明したが、ペア配置を検証する対象が3つ以上の素子の場合であってもよい。
(ケース1)
例えば、図18(a)に示すように、差動部が4つのトランジスタA1、A2、B1、B2により構成されている。この場合、並列接続されたトランジスタA1、A2によるトランジスタ群Aのトランジスタ特性と、並列接続されたトランジスタB1、B2によるトランジスタ群Bのトランジスタ特性とを同じとするために、図18(b)に示すように、各トランジスタA1、A2、B1、B2が交互に配置される場合がある。
The case where two elements are extracted as the target for verifying the pair arrangement has been described above, but the case where the target for verifying the pair arrangement is three or more elements may be used.
(Case 1)
For example, as shown in FIG. 18 (a), the differential section is composed of four transistors A1, A2, B1, and B2. In this case, in order to make the transistor characteristics of the transistor group A by the transistors A1 and A2 connected in parallel with the transistor characteristics of the transistor group B by the transistors B1 and B2 connected in parallel, shown in FIG. Thus, the transistors A1, A2, B1, and B2 may be alternately arranged.
上記のように配置されたトランジスタにおいて、各素子の中心座標を基準とする。そして、一方のトランジスタ群Aを構成するトランジスタA1、A2と、それぞれにおいて配列方向に存在する他方のトランジスタ群Bを構成するトランジスタB1、B2との距離を算出する。例えば、トランジスタA1に対して、そのトランジスタA1と配列方向に存在するトランジスタB1、B2の距離をそれぞれ算出する。 In the transistor arranged as described above, the center coordinate of each element is used as a reference. Then, the distances between the transistors A1 and A2 constituting one transistor group A and the transistors B1 and B2 constituting the other transistor group B existing in the arrangement direction are calculated. For example, for the transistor A1, the distance between the transistor A1 and the transistors B1 and B2 existing in the arrangement direction is calculated.
検証条件として、
(a)配列方向に存在する素子間の距離が配列方向において全て一致、
(b)距離を算出したトランジスタ対の総数が、配列されたトランジスタの総数−1と一致する、が設定される。
As a verification condition,
(A) The distances between the elements existing in the arrangement direction all match in the arrangement direction,
(B) The total number of transistor pairs whose distances are calculated is set to be equal to the total number of arranged transistors−1.
図18(b)に示すように配列されたトランジスタA1、A2、B1、B2の場合、図において右方向をプラス方向、左方向をマイナス方向とし、トランジスタA1と隣接するトランジスタB1、B2間の距離、トランジスタA2と隣接するトランジスタB2間の距離を算出する。その算出結果を図18(c)に示す。全ての距離が一致する。そして、算出したトランジスタ対の数(=3)が配列されたトランジスタの総数(=4)−1(=3)と一致する。従って、図18(b)のように配列されたトランジスタA1、A2、B1、B2はペア配置されていると判断される。 In the case of the transistors A1, A2, B1, and B2 arranged as shown in FIG. 18B, the right direction is the plus direction and the left direction is the minus direction in the figure, and the distance between the transistors B1 and B2 adjacent to the transistor A1. The distance between the transistor A2 and the adjacent transistor B2 is calculated. The calculation result is shown in FIG. All distances match. The calculated number of transistor pairs (= 3) matches the total number of arranged transistors (= 4) -1 (= 3). Accordingly, it is determined that the transistors A1, A2, B1, and B2 arranged as shown in FIG.
(ケース2)
図19(a)に示すように、対応するトランジスタの数が異なる差動部における検証を説明する。この場合、図19(b)に示すように、トランジスタ群AのトランジスタA1、A2と、トランジスタ群BのトランジスタB1〜B3が交互に配置されている場合、上記と同様に、図19(c)に示すように、トランジスタA1と隣接するトランジスタB1、B2との間の距離、トランジスタA2と隣接するトランジスタB2、B3との間の距離を算出する。この場合、全ての距離が一致し、算出したトランジスタ対の数(=4)が配列されたトランジスタの総数(=5)−1(=4)と一致する。従って、図19(b)のように配列されたトランジスタA1、A2、B1、B2、B3はペア配置されていると判断される。
(Case 2)
As shown in FIG. 19A, verification in a differential section in which the number of corresponding transistors is different will be described. In this case, as shown in FIG. 19B, when the transistors A1 and A2 of the transistor group A and the transistors B1 to B3 of the transistor group B are alternately arranged, as in the above, FIG. , The distance between the transistor A1 and the adjacent transistors B1 and B2, and the distance between the transistor A2 and the adjacent transistors B2 and B3 are calculated. In this case, all the distances match, and the calculated number of transistor pairs (= 4) matches the total number of transistors arranged (= 5) -1 (= 4). Accordingly, it is determined that the transistors A1, A2, B1, B2, and B3 arranged as shown in FIG.
(ケース3)
上記のトランジスタA1、A2、B1、B2、B3において、図20(a)に示すように、トランジスタB2、B3が隣接して配置されている場合、隣接する素子間の距離として、トランジスタA1と隣接するトランジスタB1、B2との間の距離、トランジスタA2と隣接するトランジスタB3との間の距離が算出される。この場合、算出したトランジスタ対の数(=3)が配列されたトランジスタの総数(=5)−1(=4)と一致しない。従って、図20(a)のように配列されたトランジスタA1、A2、B1、B2、B3はペア配置されていないと判断される。
(Case 3)
In the above transistors A1, A2, B1, B2, and B3, as shown in FIG. 20A, when the transistors B2 and B3 are arranged adjacent to each other, the distance between the adjacent elements is adjacent to the transistor A1. The distance between the transistors B1 and B2 and the distance between the transistor A2 and the adjacent transistor B3 are calculated. In this case, the calculated number of transistor pairs (= 3) does not match the total number of transistors arranged (= 5) -1 (= 4). Therefore, it is determined that the transistors A1, A2, B1, B2, and B3 arranged as shown in FIG.
(ケース4)
図21(a)に示すように、トランジスタA1〜A4とトランジスタB1〜B3が交互に配置されている場合、隣接するトランジスタ間の距離の測定結果は図21(b)のようになる。この場合、全ての距離が一致し、算出したトランジスタ対の数(=6)が配列されたトランジスタの総数(=7)−1(=6)と一致する。従って、図21(a)のように配列されたトランジスタA1〜A4、B1〜B3はペア配置されていると判断される。
(Case 4)
As shown in FIG. 21A, when the transistors A1 to A4 and the transistors B1 to B3 are alternately arranged, the measurement result of the distance between adjacent transistors is as shown in FIG. In this case, all the distances match, and the calculated number of transistor pairs (= 6) matches the total number of transistors arranged (= 7) -1 (= 6). Therefore, it is determined that the transistors A1 to A4 and B1 to B3 arranged as shown in FIG.
(ケース5)
図22(a)に示すように、トランジスタA1〜A4とトランジスタB1〜B3が配置されている場合、隣接するトランジスタ間の距離の測定結果は図22(b)のようになる。この場合、全ての距離は一致するが、算出したトランジスタ対の数(=4)が配列されたトランジスタの総数(=7)−1(=6)と一致しない。従って、図22(a)のように配列されたトランジスタA1〜A4、B1〜B3はペア配置されていないと判断される。
(Case 5)
As shown in FIG. 22A, when the transistors A1 to A4 and the transistors B1 to B3 are arranged, the measurement result of the distance between adjacent transistors is as shown in FIG. In this case, all the distances match, but the calculated number of transistor pairs (= 4) does not match the total number of arranged transistors (= 7) -1 (= 6). Therefore, it is determined that the transistors A1 to A4 and B1 to B3 arranged as shown in FIG.
図23は、上記のケース1〜5における各条件の判定結果と、ペア配置に対する判定結果を示す。図中、各条件において、「OK」は条件を満足していることを表し、「NG」は条件を満たしていないことを表す。ペア配置に対する判定結果において、「OK」はペア配置されている判定結果を表し、「NG」はペア配置されていない判定結果を表す。
FIG. 23 shows the determination result of each condition in the
次に、抽出された素子が2方向(X方向およびY方向)に配列されている場合を説明する。
この場合、それぞれの方向における距離を算出する。そして、検証条件として、
(a)隣接する素子間の距離が第1の方向(±X方向)において全て一致、
(b)隣接する素子間の距離が第2の方向(±Y方向)において全て一致、
(c)距離を算出したトランジスタ対の総数が、配列されたトランジスタの総数と一致する、が設定される。
Next, a case where the extracted elements are arranged in two directions (X direction and Y direction) will be described.
In this case, the distance in each direction is calculated. And as a verification condition,
(A) the distances between adjacent elements all coincide in the first direction (± X direction);
(B) the distances between adjacent elements all coincide in the second direction (± Y direction);
(C) The total number of transistor pairs whose distances are calculated matches the total number of arranged transistors.
(ケース6)
図24(a)に示すように、第1トランジスタ群のトランジスタA1、A2と、第2トランジスタ群のトランジスタB1〜B3が市松模様状(チェッカーパターン)に配置されている場合、各素子間の距離の算出結果は、図24(b)のようになる。この場合、X方向、Y方向それぞれの距離が一致し、算出したトランジスタ対の数(=5)が配列されたトランジスタの総数(=5)と一致する。従って、図24(a)のように配列されたトランジスタA1、A2、B1〜B3はペア配置されていると判断される。尚、このケース6において、トランジスタB3がない場合であっても、同様の結果が得られる。
(Case 6)
As shown in FIG. 24A, when the transistors A1 and A2 of the first transistor group and the transistors B1 to B3 of the second transistor group are arranged in a checkered pattern (checker pattern), the distance between each element The calculation result is as shown in FIG. In this case, the distances in the X direction and the Y direction match, and the calculated number of transistor pairs (= 5) matches the total number of transistors arranged (= 5). Therefore, it is determined that the transistors A1, A2, and B1 to B3 arranged as shown in FIG. In this
(ケース7)
図25(a)に示すように、第1トランジスタ群のトランジスタA1、A2と、第2トランジスタ群のトランジスタB1〜B3が市松模様状(チェッカーパターン)に配置されている場合、各素子間の距離の算出結果は、図25(b)のようになる。この場合、トランジスタA1とトランジスタB1との間の距離が、トランジスタA2とトランジスタB2、B3との間の距離と異なり、算出したトランジスタ対の数(=5)が配列されたトランジスタの総数(=5)と一致する。従って、図25(a)のように配列されたトランジスタA1、A2、B1〜B3はペア配置されていないと判断される。
(Case 7)
When the transistors A1 and A2 of the first transistor group and the transistors B1 to B3 of the second transistor group are arranged in a checkered pattern (checker pattern) as shown in FIG. The calculation result is as shown in FIG. In this case, the distance between the transistor A1 and the transistor B1 is different from the distance between the transistor A2 and the transistors B2 and B3, and the total number of transistors (= 5) in which the calculated number of transistor pairs (= 5) is arranged. ). Therefore, it is determined that the transistors A1, A2, and B1 to B3 arranged as shown in FIG.
(ケース8)
図26(a)に示すように、第1トランジスタ群のトランジスタA1、A2と、第2トランジスタ群のトランジスタB1〜B3が、それぞれ異なる列を構成するように配置されている場合、各素子間の距離の算出結果は、図26(b)のようになる。この場合、列方向(X方向)には距離が算出されず、Y方向の距離が一致し、算出したトランジスタ対の数(=2)が配列されたトランジスタの総数(=5)と一致しない。従って、図26(a)のように配列されたトランジスタA1、A2、B1〜B3はペア配置されていないと判断される。
(Case 8)
As shown in FIG. 26 (a), when the transistors A1 and A2 of the first transistor group and the transistors B1 to B3 of the second transistor group are arranged to form different columns, respectively, The distance calculation result is as shown in FIG. In this case, the distance is not calculated in the column direction (X direction), the distances in the Y direction match, and the calculated number of transistor pairs (= 2) does not match the total number of transistors arranged (= 5). Therefore, it is determined that the transistors A1, A2, B1 to B3 arranged as shown in FIG.
図27は、上記のケース6〜8における各条件の判定結果と、ペア配置に対する判定結果を示す。図中、各条件において、「OK」は条件を満足していることを表し、「NG」は条件を満たしていないことを表す。ペア配置に対する判定結果において、「OK」はペア配置されている判定結果を表し、「NG」はペア配置されていない判定結果を表す。
FIG. 27 shows the determination result of each condition in the
ここで、特許請求の範囲との対応は以下の通りである。
ネット情報、ネットリスト54、ネットリスト(fromレイアウト)54は半導体装置のレイアウトデータから抽出される接続情報の一例である。
ネットリスト56は半導体装置のネットリストの一例である。
ネットリスト54とネットリスト56との比較は半導体装置のレイアウトデータから抽出される接続情報と半導体装置のネットリストとの比較の一例である。
縦、横は抵抗層の外形を構成する各辺の長さの一例である。
コンタクト層に接する辺の中心はコンタクト層に接する辺上に設定された基準点の一例である。
図形化されたコンタクト層はコンタクト層に接する辺上に設定された基準点とコンタクト層の基準点との位置関係の一例である。
Here, the correspondence with the claims is as follows.
The net information,
The net list 56 is an example of a net list of a semiconductor device.
The comparison between the
The vertical and horizontal are examples of the length of each side constituting the outer shape of the resistance layer.
The center of the side in contact with the contact layer is an example of a reference point set on the side in contact with the contact layer.
The patterned contact layer is an example of a positional relationship between a reference point set on a side in contact with the contact layer and a reference point of the contact layer.
以上記述したように、本実施形態によれば、以下の効果を奏する。
(1)先ず、ペア配置を検証する複数の素子間に対する検証条件を設定し、その検証条件に基づいて複数の素子間におけるペア配置を検証する。次に、ペア配置を検証する複数の素子のそれぞれに対して検索領域を設定し、各素子ごとに検索領域に含まれる図形を抽出し、ペア配置を検証する素子間において抽出した図形の形状が同じか否かを検証するようにした。その結果、ペア配置される複数の素子に対して、検索領域を設定し、その検索領域内の配線などを抽出し、抽出した図形を含めた各素子の形状・配置位置を検証するようにしたため、素子に影響を与える図形を抽出してペア配置の検証を行うことができるため、誤判定を減少させることができる。
As described above, according to the present embodiment, the following effects can be obtained.
(1) First, a verification condition for a plurality of elements for verifying the pair arrangement is set, and the pair arrangement between the plurality of elements is verified based on the verification condition. Next, a search area is set for each of a plurality of elements whose pair arrangement is verified, a figure included in the search area is extracted for each element, and the shape of the figure extracted between the elements whose pair arrangement is verified is It was made to verify whether it is the same. As a result, a search area is set for multiple elements that are placed in pairs, the wiring in the search area is extracted, and the shape and placement position of each element including the extracted figure is verified. Since it is possible to verify a pair arrangement by extracting a figure that affects the element, erroneous determination can be reduced.
(2)半導体装置のレイアウトデータ51から素子を認識し、該素子の形状および座標値を記憶する。そして、認識された素子に対して検証処理を行うようにした。その結果、レイアウトデータ51の図形から素子を抽出し、その抽出した素子がペア配置されているか否かを検証するようにしたため、階層構造を持たないレイアウトデータ51においてもペア配置の検証を行うことができ、目視チェックの工数を低減することができる。
(2) The element is recognized from the
(3)本体部分の形状が異なる抵抗素子であっても、抵抗層の外形およびコンタクト層の形状を比較するようにしたため、本体部分の形状が異なる抵抗素子を考慮したペア配置の検証を行うことができる。抵抗素子の面積を抑えペア配置を行う方法によるペア配置が正しく行われているか否かの確認を目視検図に頼る必要がなく、ペア配置の検証の精度が低くなることを防ぐことができる。 (3) Even if the resistance element has a different shape of the main body part, since the outer shape of the resistance layer and the shape of the contact layer are compared, verification of the pair arrangement considering the resistance element having a different shape of the main body part should be performed. Can do. It is not necessary to rely on visual inspection to confirm whether or not the pair placement by the method of performing the pair placement while suppressing the area of the resistance element, and it is possible to prevent the verification accuracy of the pair placement from being lowered.
(4)ペア配置の候補となる一組のMOSトランジスタを抽出し、抽出された一組のMOSトランジスタについてドレイン電流の方向を特定し、特定されたドレイン電流の方向が同じ方向である場合に一組のMOSトランジスタをペア配置されたMOSトランジスタであると認識するようにした。その結果、MOSトランジスタのドレイン電流の方向を揃えることを考慮したペア配置の検証ができる。ペア配置されるMOSトランジスタのドレイン電流の方向が同じ方向に揃えられることで、トランジスタ特性を揃えることができる。 (4) A set of MOS transistors that are candidates for pair arrangement is extracted, the direction of the drain current is specified for the extracted set of MOS transistors, and the direction of the drain current is the same when the specified direction of the drain current is the same. A set of MOS transistors is recognized as a MOS transistor arranged in a pair. As a result, it is possible to verify the pair arrangement in consideration of aligning the direction of the drain current of the MOS transistor. Since the drain current directions of the MOS transistors arranged in pairs are aligned in the same direction, the transistor characteristics can be aligned.
尚、上記実施形態は、以下の態様で実施してもよい。
・上記実施形態では、ペア配置を検証する各種の条件や設定を制御カード52に含めることとしたが、2つ以上のデータに分割して設定するようにしてもよい。
・上記実施形態では、座標値を変換する際、左下頂点を基準点としたが、これに限らないことは言うまでもない。
・上記実施形態では、抵抗層の外形の比較は、抵抗層の外形を構成する各辺の長さを比較することにより行うこととしたが、抵抗層の外形の基準点を原点としてXOR演算を行うようにしてもよい。
・上記実施形態では、コンタクト層の形状を比較する際、抵抗素子の本体部分のうちコンタクト層に接する辺の中心を原点(0、0)として基準点にしたが、これに限らない。他にも例えば、基準点は抵抗素子の本体部分のうちコンタクト層に接する辺上に設定されればよい。それ以外でも、コンタクト層の形状を比較できるような基準点であれば問題ないことは言うまでもない。
・上記実施形態では、コンタクト層の形状の比較は、コンタクト層を図形化することにより行ったが、コンタクト層の位置関係が特定でき形状を比較できるような方法であれば問題ない。
・上記実施形態では、ドレイン電流の方向の特定は、ゲート端子に対するソース端子の位置を確認することにより行ったが、これに限らない。例えば、ゲート端子に対するドレイン端子の位置を確認してもよい。それ以外でも、ドレイン電流の方向を特定できるような方法であれば問題ない。
・上記実施形態では、ゲート端子の分割がある場合、左端のゲート端子に着目したが、これに限らないことは言うまでもない。
In addition, you may implement the said embodiment in the following aspects.
In the above embodiment, various conditions and settings for verifying the pair arrangement are included in the
In the above embodiment, when the coordinate value is converted, the lower left vertex is used as the reference point, but it goes without saying that the present invention is not limited to this.
In the above embodiment, the outer shape of the resistance layer is compared by comparing the lengths of the sides constituting the outer shape of the resistance layer, but the XOR operation is performed with the reference point of the outer shape of the resistance layer as the origin. You may make it perform.
In the above embodiment, when comparing the shapes of the contact layers, the center of the side of the resistance element that contacts the contact layer is used as the reference point as the origin (0, 0). However, the present invention is not limited to this. In addition, for example, the reference point may be set on the side in contact with the contact layer in the main body portion of the resistance element. Other than that, it goes without saying that there is no problem as long as the reference points can compare the shapes of the contact layers.
In the above embodiment, the comparison of the shape of the contact layer is performed by making the contact layer into a figure, but there is no problem as long as the positional relationship of the contact layer can be specified and the shape can be compared.
In the above embodiment, the direction of the drain current is specified by confirming the position of the source terminal with respect to the gate terminal, but is not limited thereto. For example, the position of the drain terminal with respect to the gate terminal may be confirmed. Other than that, there is no problem as long as the direction of the drain current can be specified.
In the above embodiment, when the gate terminal is divided, attention is paid to the leftmost gate terminal, but it is needless to say that the present invention is not limited to this.
上記各実施の形態から把握できる技術的思想を以下に記載する。
(付記1)
半導体装置に配置される素子のレイアウト検証を、コンピュータシステムに実行させるためのレイアウト検証プログラムであって、
ペア配置の候補となる一組のMOSトランジスタを抽出する工程と、
前記一組のMOSトランジスタについて、ドレイン電流の方向を特定する工程と、
前記ドレイン電流の方向が同じ方向である場合に、前記一組のMOSトランジスタをペア配置されたMOSトランジスタであると認識する工程とを、
前記コンピュータシステムに実行させることを特徴とするレイアウト検証プログラム。
(付記2)
前記ドレイン電流の方向を特定する工程は、
前記MOSトランジスタのソース端子または/およびドレイン端子を特定する工程を、前記コンピュータシステムに実行させることを特徴とする付記1に記載のレイアウト検証プログラム。
(付記3)
前記ソース端子または/および前記ドレイン端子を特定する工程は、
前記半導体装置のレイアウトデータから抽出される接続情報と前記半導体装置のネットリストとを比較する工程を、前記コンピュータシステムに実行させることを特徴とする付記2に記載のレイアウト検証プログラム。
(付記4)
前記ペア配置の候補となる一組のMOSトランジスタを抽出する工程は、
ペア配置を検証する複数の素子間に対する検証条件を設定する条件設定工程と、
前記検証条件に基づいて前記複数の素子間におけるペア配置を検証する素子間検証工程と、
ペア配置を検証する複数の素子のそれぞれに対して検索領域を設定する領域設定工程と、
前記設定された領域に含まれる図形を抽出し、ペア配置を検証する素子間において前記抽出した図形の形状が同じか否かを検証する周辺図形検証工程とを、
前記コンピュータシステムに実行させることを特徴とする付記1〜3のうちの何れか一に記載のレイアウト検証プログラム。
(付記5)
前記半導体装置のレイアウトデータから素子を認識し、該素子の形状および座標値を記憶する素子認識工程を実行し、
前記条件設定工程は、前記素子認識工程において認識された素子を検証する工程を、前記コンピュータシステムに実行させることを特徴とする付記4に記載のレイアウト検証プログラム。
(付記6)
前記素子認識工程にて認識された素子に対して前記レイアウトデータから抽出した接続情報を記憶する工程と、
前記接続情報と半導体装置のネットリストを比較して前記認識された素子の素子名を確定する工程とを、
前記コンピュータシステムに実行させることを特徴とする付記5に記載のレイアウト検証プログラム。
(付記7)
前記検索領域を、対象として抽出した図形を設定値に従って拡大して設定することを特徴とする付記4〜6のうちの何れか一に記載のレイアウト検証プログラム。
(付記8)
前記周辺図形検証工程において形状が異なると判断した場合に、複数の素子のうちの1つの素子に対応する図形を所定の軸にて反転する反転処理および図形を所定角度回転する回転処理の少なくとも一方を実行し、処理後の図形と他の素子に対応する図形の形状が同じか否かを検証する工程を、前記コンピュータシステムに実行させることを特徴とする付記4〜7のうちの何れか一に記載のレイアウト検証プログラム。
(付記9)
前記レイアウトデータは、半導体装置の製造工程に対応する複数のマスク層のデータから構成され、
前記検索領域を前記マスク層毎に設定することを特徴とする付記5〜8のうちの何れか一に記載のレイアウト検証プログラム。
(付記10)
ペア配置を検証する複数の素子の座標値を、所定位置の原点を基準とした座標に変換し、該変換後の座標値に基づいて素子の形状を比較するようにしたことを特徴とする付記4〜9のうちの何れか一に記載のレイアウト検証プログラム。
(付記11)
前記検索領域に基づいて抽出した図形の座標値を、所定位置の原点を基準とした座標に変換し、該変換後の座標値に基づいて各素子間における前記図形の形状を比較するようにしたことを特徴とする付記4〜10のうちの何れか一に記載のレイアウト検証プログラム。
(付記12)
前記図形の形状が一致しない場合にエラーを表示する工程を、前記コンピュータシステムに実行させることを特徴とする付記4〜11のうちの何れか一に記載のレイアウト検証プログラム。
(付記13)
半導体装置に配置される素子のレイアウト検証を、コンピュータシステムに実行させるためのレイアウト検証プログラムであって、
ペア配置の候補となる一組の本体部分の形状が異なる抵抗素子を抽出する工程と、
前記一組の本体部分の形状が異なる抵抗素子間で、前記抵抗素子の本体部分を担う抵抗層の外形を比較する工程と、
前記一組の本体部分の形状が異なる抵抗素子間で、前記抵抗素子の外部との接続部分を担うコンタクト層の形状を比較する工程と、
前記抵抗層の外形、および前記コンタクト層の形状が一致する場合に、前記一組の本体部分の形状が異なる抵抗素子をペア配置された抵抗素子であると認識する工程とを、
前記コンピュータシステムに実行させることを特徴とするレイアウト検証プログラム。
(付記14)
前記抵抗層の外形を比較する工程は、
前記抵抗層間で、前記抵抗層の外形を構成する各辺の長さを比較する工程を、前記コンピュータシステムに実行させることを特徴とする付記13に記載のレイアウト検証プログラム。
(付記15)
前記抵抗層の外形を比較する工程は、
前記抵抗層間で、前記抵抗層の外形の基準点を原点としてXOR演算を行う工程を、前期コンピュータシステムに実行させることを特徴とする付記13に記載のレイアウト検証プログラム。
(付記16)
前記コンタクト層の形状を比較する工程は、
前記コンタクト層間で、前記抵抗素子の本体部分のうち前記コンタクト層に接する辺上に設定された基準点と、前記コンタクト層の基準点との位置関係を比較する工程を、前記コンピュータシステムに実行させることを特徴とする付記13〜15のうちの何れか一に記載のレイアウト検証プログラム。
The technical ideas that can be grasped from the above embodiments are described below.
(Appendix 1)
A layout verification program for causing a computer system to execute layout verification of elements arranged in a semiconductor device,
Extracting a set of MOS transistors that are candidates for pair placement;
Identifying a direction of drain current for the set of MOS transistors;
Recognizing that the pair of MOS transistors is a MOS transistor arranged in a pair when the direction of the drain current is the same direction,
A layout verification program executed by the computer system.
(Appendix 2)
The step of specifying the direction of the drain current includes:
The layout verification program according to
(Appendix 3)
The step of specifying the source terminal or / and the drain terminal includes:
The layout verification program according to
(Appendix 4)
The step of extracting a set of MOS transistors that are candidates for the pair arrangement is as follows:
A condition setting step for setting verification conditions for a plurality of elements for verifying the pair arrangement;
An inter-device verification step for verifying a pair arrangement between the plurality of devices based on the verification conditions;
An area setting step for setting a search area for each of a plurality of elements for verifying the pair arrangement;
Extracting a figure included in the set region, and verifying whether or not the shape of the extracted figure is the same between the elements for verifying the pair arrangement, and a peripheral figure verification step,
The layout verification program according to any one of
(Appendix 5)
Recognizing an element from the layout data of the semiconductor device, and executing an element recognition step of storing the shape and coordinate value of the element;
The layout verification program according to
(Appendix 6)
Storing connection information extracted from the layout data for the elements recognized in the element recognition step;
Comparing the connection information with a netlist of a semiconductor device to determine an element name of the recognized element;
The layout verification program according to
(Appendix 7)
The layout verification program according to any one of
(Appendix 8)
If it is determined that the shape is different in the peripheral figure verification step, at least one of a reversal process for reversing a figure corresponding to one element of a plurality of elements about a predetermined axis and a rotation process for rotating the figure by a predetermined angle The computer system is caused to execute a step of verifying whether or not the figure after processing and the figure corresponding to another element are the same, and any one of
(Appendix 9)
The layout data is composed of data of a plurality of mask layers corresponding to a manufacturing process of a semiconductor device,
The layout verification program according to any one of
(Appendix 10)
Note that the coordinate values of a plurality of elements for verifying the pair arrangement are converted to coordinates based on the origin at a predetermined position, and the shapes of the elements are compared based on the converted coordinate values. The layout verification program according to any one of 4 to 9.
(Appendix 11)
The coordinate value of the figure extracted based on the search area is converted into a coordinate based on the origin of the predetermined position, and the shape of the figure between the elements is compared based on the coordinate value after the conversion. The layout verification program according to any one of
(Appendix 12)
The layout verification program according to any one of
(Appendix 13)
A layout verification program for causing a computer system to execute layout verification of elements arranged in a semiconductor device,
A step of extracting resistance elements having different shapes of a pair of main body portions that are candidates for pair placement;
A step of comparing the outer shape of the resistance layer that bears the main body portion of the resistance element between the resistance elements having different shapes of the set of main body portions;
A step of comparing the shape of the contact layer that bears the connection portion with the outside of the resistance element, between the resistance elements having different shapes of the set of main body portions;
A step of recognizing that the resistance elements having different shapes of the pair of main body portions are resistance elements arranged in pairs when the outer shape of the resistance layer and the shape of the contact layer match.
A layout verification program executed by the computer system.
(Appendix 14)
The step of comparing the outer shape of the resistance layer includes:
14. The layout verification program according to
(Appendix 15)
The step of comparing the outer shape of the resistance layer includes:
14. The layout verification program according to
(Appendix 16)
The step of comparing the shapes of the contact layers includes:
Causing the computer system to perform a step of comparing a positional relationship between a reference point set on a side of the main body portion of the resistance element that contacts the contact layer and a reference point of the contact layer between the contact layers The layout verification program according to any one of
11 コンピュータ
12 中央処理装置(CPU)
13 メモリ
14 磁気ディスク
15 表示装置
16 入力装置
17 外部記憶装置
18 バス
19 記録媒体
19a 光ディスク
19b 磁気媒体
51 レイアウトデータ
52 制御カード
52a 層定義データ
52b 層間接続定義データ
52c 素子抽出条件データ
52d ペアの要求データ
52e 第1条件データ
52f 第2条件データ
52g 第3条件データ
53 座標データ
54 ネットリスト(fromレイアウト)
55 MOSトランジスタのソース端子、ドレイン端子位置情報
56 ネットリスト(from回路設計)
57 各ネットリストのインスタンス名対応情報
58 MOSトランジスタのソース端子位置情報
59 ワークデータ
61a〜61c 拡散層
62a〜62c ポリシリコンにて形成されるパターン
63a〜63e 金属にて形成されるパターン
64a〜64f ホール
65a〜65d 金属にて形成されるパターンの一部
71、72 MOSトランジスタ
81a、81b 図形群
82 図形群81a、81bの論理演算処理の結果
83a〜83c 図形群
91a〜91d 抵抗層
92a〜92i コンタクト層
92A〜92I 図形化されたコンタクト層
93a〜93d 抵抗素子の本体部分
94a〜94i ソース端子
95a〜95l ゲート端子
96a〜96i ドレイン端子
901〜904 抵抗素子
905〜910 MOSトランジスタ
A1〜A4 トランジスタ
B1〜B3 トランジスタ
C1、C2 素子セル
CL1〜CL4 コンタクト層
D1〜D4 拡散層
G1、G2 ゲート端子
R1、R2 抵抗素子の本体部分
RL1、RL2 抵抗層
S1〜S4 検索領域
11
13
55 MOS transistor source terminal and drain terminal position information 56 Net list (from circuit design)
57 Instance
Claims (8)
ペア配置の候補となる一組のMOSトランジスタを抽出する工程と、
前記一組のMOSトランジスタについて、ドレイン電流の方向を特定する工程と、
前記ドレイン電流の方向が同じ方向である場合に、前記一組のMOSトランジスタをペア配置されたMOSトランジスタであると認識する工程とを、
前記コンピュータシステムに実行させることを特徴とするレイアウト検証プログラム。 A layout verification program for causing a computer system to execute layout verification of elements arranged in a semiconductor device,
Extracting a set of MOS transistors that are candidates for pair placement;
Identifying a direction of drain current for the set of MOS transistors;
Recognizing that the pair of MOS transistors is a MOS transistor arranged in a pair when the direction of the drain current is the same direction,
A layout verification program executed by the computer system.
前記MOSトランジスタのソース端子または/およびドレイン端子を特定する工程を、前記コンピュータシステムに実行させることを特徴とする請求項1に記載のレイアウト検証プログラム。 The step of specifying the direction of the drain current includes:
The layout verification program according to claim 1, wherein the computer system is caused to execute the step of specifying a source terminal and / or a drain terminal of the MOS transistor.
前記半導体装置のレイアウトデータから抽出される接続情報と前記半導体装置のネットリストとを比較する工程を、前記コンピュータシステムに実行させることを特徴とする請求項2に記載のレイアウト検証プログラム。 The step of specifying the source terminal or / and the drain terminal includes:
3. The layout verification program according to claim 2, wherein the computer system is caused to execute a step of comparing connection information extracted from layout data of the semiconductor device and a net list of the semiconductor device.
ペア配置の候補となる一組の本体部分の形状が異なる抵抗素子を抽出する工程と、
前記一組の本体部分の形状が異なる抵抗素子間で、前記抵抗素子の本体部分を担う抵抗層の外形を比較する工程と、
前記一組の本体部分の形状が異なる抵抗素子間で、前記抵抗素子の外部との接続部分を担うコンタクト層の形状を比較する工程と、
前記抵抗層の外形、および前記コンタクト層の形状が一致する場合に、前記一組の本体部分の形状が異なる抵抗素子をペア配置された抵抗素子であると認識する工程とを、
前記コンピュータシステムに実行させることを特徴とするレイアウト検証プログラム。 A layout verification program for causing a computer system to execute layout verification of elements arranged in a semiconductor device,
A step of extracting resistance elements having different shapes of a pair of main body portions that are candidates for pair placement;
A step of comparing the outer shape of the resistance layer that bears the main body portion of the resistance element between the resistance elements having different shapes of the set of main body portions;
A step of comparing the shape of the contact layer that bears the connection portion with the outside of the resistance element, between the resistance elements having different shapes of the set of main body portions;
A step of recognizing that the resistance elements having different shapes of the pair of main body portions are resistance elements arranged in pairs when the outer shape of the resistance layer and the shape of the contact layer match.
A layout verification program executed by the computer system.
前記抵抗層間で、前記抵抗層の外形を構成する各辺の長さを比較する工程を、前記コンピュータシステムに実行させることを特徴とする請求項4に記載のレイアウト検証プログラム。 The step of comparing the outer shape of the resistance layer includes:
5. The layout verification program according to claim 4, wherein the computer system is caused to execute a step of comparing the lengths of the sides constituting the outer shape of the resistance layer between the resistance layers.
前記抵抗層間で、前記抵抗層の外形の基準点を原点としてXOR演算を行う工程を、前期コンピュータシステムに実行させることを特徴とする請求項4に記載のレイアウト検証プログラム。 The step of comparing the outer shape of the resistance layer includes:
5. The layout verification program according to claim 4, wherein the computer system executes the step of performing an XOR operation between the resistance layers, using the reference point of the outer shape of the resistance layer as an origin. 6.
ペア配置の候補となる一組のMOSトランジスタを抽出する工程と、
前記一組のMOSトランジスタについて、ドレイン電流の方向を特定する工程と、
前記ドレイン電流の方向が同じ方向である場合に、前記一組のMOSトランジスタをペア配置されたMOSトランジスタであると認識する工程とを備えることを特徴とするレイアウト検証方法。 A layout verification method for verifying a layout of elements arranged in a semiconductor device,
Extracting a set of MOS transistors that are candidates for pair placement;
Identifying a direction of drain current for the set of MOS transistors;
And a step of recognizing that the pair of MOS transistors are MOS transistors arranged in pairs when the directions of the drain currents are the same.
ペア配置の候補となる一組の本体部分の形状が異なる抵抗素子を抽出する工程と、
前記一組の本体部分の形状が異なる抵抗素子について、前記抵抗素子の本体部分を担う抵抗層の外形を比較する工程と、
前記一組の本体部分の形状が異なる抵抗素子について、前記抵抗素子の外部との接続部分を担うコンタクト層の形状を比較する工程と、
前記抵抗層の外形、および前記コンタクト層の形状が一致する場合に、前記一組の本体部分の形状が異なる抵抗素子をペア配置された抵抗素子であると認識する工程とを備えることを特徴とするレイアウト検証方法。
A layout verification method for verifying a layout of elements arranged in a semiconductor device,
A step of extracting resistance elements having different shapes of a pair of main body portions that are candidates for pair placement;
For a resistance element having a different shape of the set of main body parts, comparing the outer shape of the resistance layer that carries the main body part of the resistance element;
For the resistance elements having different shapes of the set of main body portions, a step of comparing the shape of the contact layer that bears the connection portion with the outside of the resistance elements;
A step of recognizing that the resistor elements having different shapes of the pair of main body portions are resistor elements arranged in pairs when the outer shape of the resistor layer and the shape of the contact layer match. Layout verification method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007254049A JP2009086880A (en) | 2007-09-28 | 2007-09-28 | Layout verification program and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007254049A JP2009086880A (en) | 2007-09-28 | 2007-09-28 | Layout verification program and method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009086880A true JP2009086880A (en) | 2009-04-23 |
Family
ID=40660249
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007254049A Pending JP2009086880A (en) | 2007-09-28 | 2007-09-28 | Layout verification program and method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009086880A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010122698A1 (en) * | 2009-04-24 | 2010-10-28 | パナソニック株式会社 | Method for verifying layout of semiconductor integrated circuit |
US8674411B2 (en) | 2011-06-28 | 2014-03-18 | Elpida Memory, Inc. | Semiconductor device employing circuit blocks having the same characteristics |
-
2007
- 2007-09-28 JP JP2007254049A patent/JP2009086880A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010122698A1 (en) * | 2009-04-24 | 2010-10-28 | パナソニック株式会社 | Method for verifying layout of semiconductor integrated circuit |
US8674411B2 (en) | 2011-06-28 | 2014-03-18 | Elpida Memory, Inc. | Semiconductor device employing circuit blocks having the same characteristics |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007265179A (en) | Layout verification method, and layout verification unit | |
US8555212B2 (en) | Manufacturability | |
US10049175B1 (en) | Methods, systems, and articles of manufacture for interactively implementing physical electronic designs with track patterns | |
TWI476617B (en) | Method and system for automatic generation of solutions for circuit design rule violations | |
US7673258B2 (en) | Design data creating method, design data creating program product, and manufacturing method of semiconductor device | |
US20090291512A1 (en) | Semiconductor device pattern verification method, semiconductor device pattern verification program, and semiconductor device manufacturing method | |
JP2005181523A (en) | Design pattern correcting method, mask pattern forming method, method for manufacturing semiconductor device, design pattern correction system, and design pattern correcting program | |
JP2013003162A (en) | Mask data verification device, design layout verification device, methods therefor, and computer programs thereof | |
KR20090115230A (en) | Design for manufacturability | |
US7308667B2 (en) | LSI physical designing method, program, and apparatus | |
JP5533119B2 (en) | Layout design apparatus, layout design method, and layout design program | |
US7949982B2 (en) | Semiconductor integrated circuit design system, semiconductor integrated circuit design method, and computer readable medium | |
CN100489868C (en) | Method for checking DRC configuration file | |
JPH08212241A (en) | Design method for mask pattern for semiconductor integrated circuit or directly plotting pattern on wafer and their design rule confirming method | |
JP2009086880A (en) | Layout verification program and method | |
CN106094422A (en) | A kind of simplify the method for mask graph after OPC | |
WO2010122698A1 (en) | Method for verifying layout of semiconductor integrated circuit | |
US7974457B2 (en) | Method and program for correcting and testing mask pattern for optical proximity effect | |
CN116151177A (en) | Method, system and computer program product for modifying a layout for an IC | |
CN105892223B (en) | Method for optimizing OPC verification | |
JP5136371B2 (en) | Design support method | |
KR20120128261A (en) | Method for designing semiconductor element | |
CN117952064B (en) | Multiple patterning method for layout, electronic equipment and storage medium | |
JP2010257393A (en) | Figure verification method and device | |
US20100199233A1 (en) | Uniquely Marking Products And Product Design Data |