(57)【要約】【課題】ペア配置の検証の精度を向上させることができるレイアウト検証プログラム、およびレイアウト検証方法を提供すること。【解決手段】ペア配置が要求される素子間におけるペア配置素子間検証処理（ステップ２１〜２４）を行い、条件違反がある場合にペア配置抵抗素子間検証処理（ステップ２５）を行うため、本体部分の形状が異なる抵抗素子を考慮したペア配置の検証ができる。次に、ペア配置を検証する素子が影響を受ける図形が含まれる範囲におけるペア配置周辺図形検証処理（ステップ２６、２７）を行い、図形形状が同一でない場合にペア配置周辺図形反転回転処理（ステップ２８）を行う。そして、ペア配置の候補とされた素子がＭＯＳトランジスタである場合にペア配置ＭＯＳトランジスタ間検証処理（ステップ２９）を行うため、ＭＯＳトランジスタのドレイン電流の方向を考慮したペア配置の検証ができ、トランジスタ特性を揃えることができる。【選択図】図２
2009086880.tif 000002
【特許請求の範囲】
【請求項１】
半導体装置に配置される素子のレイアウト検証を、コンピュータシステムに実行させるためのレイアウト検証プログラムであって、
ペア配置の候補となる一組のＭＯＳトランジスタを抽出する工程と、
前記一組のＭＯＳトランジスタについて、ドレイン電流の方向を特定する工程と、
前記ドレイン電流の方向が同じ方向である場合に、前記一組のＭＯＳトランジスタをペア配置されたＭＯＳトランジスタであると認識する工程とを、
前記コンピュータシステムに実行させることを特徴とするレイアウト検証プログラム。
【請求項２】
前記ドレイン電流の方向を特定する工程は、
前記ＭＯＳトランジスタのソース端子または／およびドレイン端子を特定する工程を、前記コンピュータシステムに実行させることを特徴とする請求項１に記載のレイアウト検証プログラム。
【請求項３】
前記ソース端子または／および前記ドレイン端子を特定する工程は、
前記半導体装置のレイアウトデータから抽出される接続情報と前記半導体装置のネットリストとを比較する工程を、前記コンピュータシステムに実行させることを特徴とする請求項２に記載のレイアウト検証プログラム。
【請求項４】
半導体装置に配置される素子のレイアウト検証を、コンピュータシステムに実行させるためのレイアウト検証プログラムであって、
ペア配置の候補となる一組の本体部分の形状が異なる抵抗素子を抽出する工程と、
前記一組の本体部分の形状が異なる抵抗素子間で、前記抵抗素子の本体部分を担う抵抗層の外形を比較する工程と、
前記一組の本体部分の形状が異なる抵抗素子間で、前記抵抗素子の外部との接続部分を担うコンタクト層の形状を比較する工程と、
前記抵抗層の外形、および前記コンタクト層の形状が一致する場合に、前記一組の本体部分の形状が異なる抵抗素子をペア配置された抵抗素子であると認識する工程とを、
前記コンピュータシステムに実行させることを特徴とするレイアウト検証プログラム。
【請求項５】
前記抵抗層の外形を比較する工程は、
前記抵抗層間で、前記抵抗層の外形を構成する各辺の長さを比較する工程を、前記コンピュータシステムに実行させることを特徴とする請求項４に記載のレイアウト検証プログラム。
【請求項６】
前記抵抗層の外形を比較する工程は、
前記抵抗層間で、前記抵抗層の外形の基準点を原点としてＸＯＲ演算を行う工程を、前期コンピュータシステムに実行させることを特徴とする請求項４に記載のレイアウト検証プログラム。
【請求項７】
半導体装置に配置される素子のレイアウトを検証するレイアウト検証方法であって、
ペア配置の候補となる一組のＭＯＳトランジスタを抽出する工程と、
前記一組のＭＯＳトランジスタについて、ドレイン電流の方向を特定する工程と、
前記ドレイン電流の方向が同じ方向である場合に、前記一組のＭＯＳトランジスタをペア配置されたＭＯＳトランジスタであると認識する工程とを備えることを特徴とするレイアウト検証方法。
【請求項８】
半導体装置に配置される素子のレイアウトを検証するレイアウト検証方法であって、
ペア配置の候補となる一組の本体部分の形状が異なる抵抗素子を抽出する工程と、
前記一組の本体部分の形状が異なる抵抗素子について、前記抵抗素子の本体部分を担う抵抗層の外形を比較する工程と、
前記一組の本体部分の形状が異なる抵抗素子について、前記抵抗素子の外部との接続部分を担うコンタクト層の形状を比較する工程と、
前記抵抗層の外形、および前記コンタクト層の形状が一致する場合に、前記一組の本体部分の形状が異なる抵抗素子をペア配置された抵抗素子であると認識する工程とを備えることを特徴とするレイアウト検証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置に配置される素子のレイアウトを検証するレイアウト検証プログラム、およびレイアウト検証方法に関するものである。
近年、半導体装置（ＬＳＩ）は大規模化・高集積化が進められ、設計データのデータ量が多くなってきている。また、半導体装置の設計では、様々なレイアウト（素子等の配置）制約を考慮する必要がある。そのため、半導体装置の設計においてレイアウトの検証作業に多くの時間がかかる傾向にあり、それらの作業時間を短縮する技術が要求されている。
【背景技術】
【０００２】
半導体装置のレイアウト設計においては、複数の素子をペア配置することが要求される。ここでペア配置とは、同形状の素子を近接配置し、周辺の素子やパターンによる影響を均等に作用させるようにすることをいう。これにより相対精度が高い素子が形成される。例えば、アナログ電子回路における差動回路やカレントミラー回路では、同じ特性を持つ複数のトランジスタが必要とされる。このため、複数のトランジスタをペア配置することで、相対的な特性の差が少ない、つまり相対精度が高いトランジスタが得られるようにすることが行われている。半導体装置のレイアウト検証では、ペア配置が正しく行われているか否かの検証を行う検証装置が提案されている。例えば、特許文献１、特許文献２である。
【０００３】
検証装置は、レイアウトされた複数の素子について、素子の種類、素子間の距離、素子の配置方向により、対象とする複数の素子がペア配置されているか否か、つまりペア性を有しているか否かを検証する。例えば、図２８（ａ）に示されるように、対象とされる素子Ｃ１、Ｃ２の種類が同じであり、配置条件（回転、反転）が同じ場合、両素子Ｃ１、Ｃ２がペア配置されていると判断される。また、図２８（ｂ）に示されるように、対象とされる素子Ｃ１、Ｃ２の配置条件が異なる場合、両素子Ｃ１、Ｃ２がペア配置されていないと判断される。
【０００４】
尚、図２８（ａ）において、素子Ｃ１、Ｃ２の左下に表された三角形は、それぞれ素子Ｃ１、Ｃ２の基準点を示す。従って、図２８（ｂ）に示されるように、素子Ｃ２が反時計方向に９０度回転して配置された場合、基準点は素子Ｃ２の右下となる。
【特許文献１】特開２００１−２２９２１５号公報
【特許文献２】特開２００１−１７５７００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところが、従来の検証では、素子の配置などによって、正しく検証できない場合がある。例えば、レイアウトデータが階層構造を持たない場合である。具体例としては図２８（ｃ）に示されるようにトランジスタのゲートＧ１、Ｇ２、拡散層Ｄ１〜Ｄ４のデータが関連性を持たない場合が挙げられる。素子形状、配置位置がレイアウトデータから抽出できないので、ペア配置を判断することができない。
【０００６】
従来の検証では正しく検証できない場合としては他にも例えば、抵抗素子の面積を抑えペア配置を行う方法として広く用いられている図２８（ｄ）に示されるような場合が挙げられる。図２８（ｄ）に示されるように抵抗素子Ｃ１、Ｃ２の本体部分Ｒ１、Ｒ２を担う抵抗層ＲＬ１、ＲＬ２の外形を抵抗値の大きい抵抗素子Ｃ１に合わせて作成する。抵抗値の小さい抵抗素子Ｃ２は、抵抗素子Ｃ１において外部との接続部分を担うコンタクト層ＣＬ１、ＣＬ２の各々と同一形状のコンタクト層ＣＬ３、ＣＬ４が配置されて構成される。コンタクト層ＣＬ３、ＣＬ４の配置位置は、抵抗層ＲＬ２上の位置であって本体部分Ｒ２が目的の抵抗値となる位置である。この配置は、抵抗層ＲＬ１およびＲＬ２、およびコンタクト層ＣＬ１およびＣＬ３、ＣＬ２およびＣＬ４が、各々同一形状であることから、異なる抵抗値の抵抗素子Ｃ１、Ｃ２がペア配置されている認識されるものである。しかし、従来の検証では各素子はセルとしてレイアウトされるため、対象とされる素子のセルが一致しないとペア配置されていると判断されない。図２８（ｄ）に示される抵抗素子Ｃ１、Ｃ２は抵抗として機能する本体部分Ｒ１、Ｒ２の形状が異なるため、ペア配置されていると判断されない。
【０００７】
また、従来の検証では、トランジスタ特性を揃える上で、ＭＯＳトランジスタのドレイン電流を、シリコン基板の結晶方位に対して揃えることが必要とされるが、この点についても触れられていない。
【０００８】
上記のようなケースが存在するため、ペア配置ができているかの確認は目視検図で行われており、見落とした場合はシミュレーションと異なる動作となり、半導体装置の不良を招いていた。また、目視検図には多くの人手が必要であるため、設計工数増加の要因となっていた。
【０００９】
本発明は上記問題点を解決するためになされたものであって、その目的は、ペア配置の検証の精度を向上させることができるレイアウト検証プログラム、およびレイアウト検証方法を提供することにある。
【課題を解決するための手段】
【００１０】
本願の第１および第２の発明に係るレイアウト検証プログラムは、半導体装置という物理的または技術的な対象において、そこに配置される素子のレイアウトという物理的性質または技術的性質に基づく情報処理に関するものであり、自然法則を利用した技術的思想の創作に属するものである。
【００１１】
本願の第１の発明に係るレイアウト検証プログラムは、本願の第１の発明に係るレイアウト検証方法をコンピュータシステムに実行させるためのプログラムである。そのレイアウト検証方法は、ペア配置の候補となる一組のＭＯＳトランジスタを抽出する工程と、抽出された一組のＭＯＳトランジスタについてドレイン電流の方向を特定する工程と、特定されたドレイン電流の方向が同じ方向である場合に一組のＭＯＳトランジスタをペア配置されたＭＯＳトランジスタであると認識する工程とを備える。
【００１２】
本願の第１の発明に係るレイアウト検証プログラム、およびレイアウト検証方法によれば、ＭＯＳトランジスタのドレイン電流の方向を揃えることを考慮したペア配置の検証ができる。ペア配置されるＭＯＳトランジスタのドレイン電流の方向が同じ方向に揃えられることで、トランジスタ特性を揃えることができる。
【００１３】
本願の第２の発明に係るレイアウト検証プログラムは、本願の第２の発明に係るレイアウト検証方法をコンピュータシステムに実行させるためのプログラムである。そのレイアウト検証方法は、ペア配置の候補となる一組の本体部分の形状が異なる抵抗素子を抽出する工程と、抽出された一組の本体部分の形状が異なる抵抗素子間で抵抗素子の本体部分を担う抵抗層の外形を比較する工程と、抽出された一組の本体部分の形状が異なる抵抗素子間で抵抗素子の外部との接続部分を担うコンタクト層の形状を比較する工程と、比較された抵抗層の外形およびコンタクト層の形状が一致する場合に一組の本体部分の形状が異なる抵抗素子をペア配置された抵抗素子であると認識する工程とを備える。
【００１４】
ここで、半導体装置において抵抗素子は通常その本体部分を担う抵抗層、および抵抗素子の外部との接続部分を担うコンタクト層を備える。抵抗素子は拡散層やポリシリコン層などの抵抗層のうち、コンタクト層に挟まれた部分が抵抗として機能する本体部分となる。
【００１５】
本願の第２の発明に係るレイアウト検証プログラム、およびレイアウト検証方法によれば、本体部分の形状が異なる抵抗素子を考慮したペア配置の検証ができる。上記の抵抗素子の面積を抑えペア配置を行う方法によるペア配置が正しく行われているか否かの確認を目視検図に頼る必要がなく、ペア配置の検証の精度が低くなることを防ぐことができる。
【発明の効果】
【００１６】
本発明のレイアウト検証プログラム、およびレイアウト検証方法によれば、ＭＯＳトランジスタのドレイン電流の方向を考慮したペア配置の検証、または本体部分の形状が異なる抵抗素子を考慮したペア配置の検証が可能となり、ペア配置の検証の精度向上が図られる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明を具体化した一実施形態を図面に従って説明する。
図１は、レイアウト検証プログラムがレイアウト検証を実行させるコンピュータシステムの概略構成図である。
【００１８】
このコンピュータ１１は、一般的なＣＡＤ（Computer Aided Design）装置からなり、中央処理装置（以下、ＣＰＵという）１２、メモリ１３、磁気ディスク１４、表示装置１５、入力装置１６、および外部記憶装置１７により構成され、それらはバス１８を介して相互に接続されている。
【００１９】
ＣＰＵ１２は、メモリ１３を利用してプログラムを実行し、半導体装置のレイアウト検証処理を実行する。メモリ１３には、各種処理を実現するために必要なプログラムとデータが格納され、このメモリ１３としては、通常、キャッシュ・メモリ、システム・メモリ、およびディスプレイ・メモリ等（図示略）を含む。
【００２０】
表示装置１５は、レイアウト表示、パラメータ入力画面等の表示に用いられ、これには通常、ＣＲＴ、ＬＣＤ、ＰＤＰ等（図示略）が用いられる。入力装置１６は、ユーザからの要求や指示、パラメータの入力に用いられ、これにはキーボードおよびマウス装置等（図示略）が用いられる。
【００２１】
磁気ディスク１４は、通常、磁気ディスク装置、光ディスク装置、光磁気ディスク装置等（図示略）を含む。この磁気ディスク１４には、半導体装置のレイアウト検証処理のためのプログラムデータ、ネットリストやレイアウトデータ等の各種データが格納されている。ＣＰＵ１２は、入力装置１６による指示に応答して前記プログラムデータをメモリ１３へ転送し、それを逐次実行する。
【００２２】
ＣＰＵ１２が実行するプログラムデータは、記録媒体１９にて提供される。外部記憶装置１７は、記録媒体１９を駆動し、その記憶内容にアクセスする。ＣＰＵ１２は、外部記憶装置１７を介して記録媒体１９からプログラムデータを読み出し、それを磁気ディスク１４にインストールする。
【００２３】
記録媒体１９はコンピュータ読み取り可能な記録媒体であり、例えば、ＣＤＲＯＭ、ＤＶＤ等の光ディスク１９ａ、磁気テープ（ＭＴ）、フレキシブルディスク、光磁気ディスク（ＭＯ、ＭＤ、…）等の磁気媒体１９ｂが用いられる。尚、半導体メモリや外部接続されるハードディスク装置等が用いられても良い。この記録媒体１９に、上述のプログラムデータを格納しておき、必要に応じて、メモリ１３にロードして使用することもできる。
【００２４】
尚、記録媒体１９には、通信媒体を介してアップロード又はダウンロードされたプログラムデータを記録した媒体、ディスク装置、通信媒体を介してコンピュータ１１が接続されるサーバ装置の記憶装置、等を含む。更に、コンピュータによって直接実行可能なプログラムを記録した記録媒体だけでなく、いったん他の記録媒体（ハードディスク等）にインストールすることによって実行可能となるようなプログラムを記録した記録媒体や、暗号化されたり、圧縮されたりしたプログラムを記録した記録媒体も含む。
【００２５】
次に、半導体装置のレイアウトデータに対するペア配置検証処理の概略を説明する。
図２は、レイアウト検証方法の概略フロー図であり、ペア配置検証処理の概略フロー図である。図１に記載のコンピュータシステムにレイアウト検証を実行させるレイアウト検証プログラムの手順である。
【００２６】
ステップ２１において、ＣＰＵ１２は、半導体装置のレイアウトデータと制御カードとに基づいて、半導体装置に含まれる素子をそれぞれ認識する。制御カードは、ペア配置する素子を定義した情報が含まれるデータである。この制御カードには、素子の名称や配置制約などの定義情報、素子を構成する配線等の図形情報および接続情報、検索領域の情報が含まれる。ＣＰＵ１２は、制御カードの情報に基づいて、レイアウトデータから素子の形状・配置場所を認識する。
【００２７】
図形情報は、素子を定義したデータベースの情報と対応し、レイアウトデータは、データベースの定義情報とネットリストとに基づいて生成されている。従って、図形情報が階層化されていないレイアウトデータにおいても、レイアウトされた図形形状と制御カードに含まれる図形情報とを比較することにより、複数の図形から構成される素子（例えば、ＭＯＳトランジスタ）を認識することができる。
【００２８】
次に、ステップ２２において、ＣＰＵ１２は、ステップ２１において認識した素子について、その素子の接続状態に基づいて、ネットリストから素子名を確定する。次に、ステップ２３において、制御カードに基づいて、ペア配置が必要な素子名とペア配置が成立する許容間隔値を設定する。
【００２９】
次に、ステップ２４（ペア配置素子間検証処理）において、確定した素子名、図形形状・配置位置、許容間隔値に基づいて、ペア配置の検証を行う。この検証では、素子の形状比較と、間隔検証を行う。つまり、ＣＰＵ１２は、隣接配置される複数の素子の形状が同じか否かを判断する。また、ＣＰＵ１２は、配置場所から複数の素子の間隔を算出し、その間隔が許容間隔値以内であるか否かを判断する。
【００３０】
次に、ステップ２５（ペア配置抵抗素子間検証処理）が、ステップ２４の検証で条件違反があった場合に行われる。ステップ２４における素子の形状比較で、形状が一致しないとされた場合でも、ステップ２５において、それが抵抗素子であり、抵抗層の外形が等しく、かつ、コンタクト層の形状が等しい場合にはペア配置の候補となる素子であるとされる。すなわち、本体部分の形状が異なる抵抗素子であっても、抵抗層の外形およびコンタクト層の形状を比較することで、ペア配置の検証が行われる。
【００３１】
次に、ステップ２６において、ＣＰＵ１２は、制御カードに従って、ペア配置を検証する素子が影響を受ける図形が含まれる範囲を検索領域として設定する。そして、ステップ２７（ペア配置周辺図形検証処理）において、ＣＰＵ１２は、設定された領域内の図形をレイアウトデータから抽出し、ペア配置を検証する各素子に対して、図形の形状・配置が同じであるかを検証する。形状などが同じでない場合、ステップ２８（ペア配置周辺図形反転回転処理）において、ＣＰＵ１２は、素子等の図形を反転・回転し、それぞれの図形形状が一致するか相対的な位置が同じであるか否かを判断する。
【００３２】
そして、ステップ２９（ペア配置ＭＯＳトランジスタ間検証処理）において、ペア配置の候補となる一組のＭＯＳトランジスタについて、ドレイン電流の方向が同じであるか否かが判断される。
【００３３】
上記のように、レイアウトデータの図形から素子を抽出し、その抽出した素子がペア配置されているか否かを検証するようにしたため、階層構造を持たないレイアウトデータにおいてもペア配置の検証を行うことができ、目視チェックの工数を低減することができる。
【００３４】
そして、本体部分の形状が異なる抵抗素子であっても、抵抗層の外形およびコンタクト層の形状を比較するようにしたため、本体部分の形状が異なる抵抗素子を考慮したペア配置が正しく行われているか否かの確認を目視検図に頼る必要がなく、ペア配置の検証の精度が低くなることを防ぐことができる。
【００３５】
また、ペア配置される複数の素子に対して、検索領域を設定し、その検索領域内の配線などを抽出し、抽出した図形を含めた各素子の形状・配置位置を検証するようにしたため、誤判定を減少させることができる。
【００３６】
更に、ペア配置される一組のＭＯＳトランジスタについて、ドレイン電流の方向を特定し、特定されたＭＯＳトランジスタのドレイン電流の方向が同じであるか否かを検証するようにしたため、ペア配置されるＭＯＳトランジスタのドレイン電流の方向が同じ方向に揃えられ、トランジスタ特性を揃えることができる。
【００３７】
次に、ペア配置検証処理の詳細を説明する。
図３〜図８に示されるステップ３０１〜３２７は、図２に示すステップ２１〜２９の詳細なステップである。
【００３８】
図３に示されるステップ３０１〜３０８は、ペア配置が要求される素子間におけるペア配置素子間検証処理（図２のステップ２１〜２４）である。ステップ３０１においてＣＰＵ１２は、レイアウトデータ５１と制御カード５２とに基づいて、半導体装置に含まれる素子（インスタンス）をそれぞれ認識する。制御カード５２は、レベルコードと層名の対応が記述された層定義データ５２ａ、配線層定義、ホール定義が記述された層間接続定義データ５２ｂ、素子のタイプ毎のマスク層の演算方法が記述された素子抽出条件データ５２ｃを含む。例えば、ＭＯＳトランジスタは、拡散層とポリシリコンよりなるパターンとから構成される。従って、素子抽出条件データ５２ｃには、ＭＯＳトランジスタを抽出する条件として、拡散層を形成するためのマスク層の図形データと、ポリシリコンのパターンを形成するためのマスク層の図形データとが重なった部分を抽出すること、が含まれる。
【００３９】
ＣＰＵ１２は、各インスタンスの外形座標の座標データ５３を図１のメモリ１３又は磁気ディスク１４に記憶する。更に、レイアウトデータ５１に含まれる図形の接続情報としてネット情報を抽出し、そのネット情報のリスト（ネットリスト）５４を図１のメモリ１３又は磁気ディスク１４に記憶する。また、ＭＯＳトランジスタの拡散層よりなる端子情報としてソース端子、ドレイン端子位置情報を抽出し、そのソース端子、ドレイン端子位置情報５５を図１のメモリ１３又は磁気ディスク１４に記憶する。
【００４０】
ステップ３０２において、ＣＰＵ１２は、先に作成したネットリスト５４と、回路設計において作成されたネットリスト５６とを比較し、ステップ３０１において認識した素子について、その素子の接続状態に基づいて、ネットリスト５６から素子名（インスタンス名）を抽出し、そのインスタンス名の対応情報５７を記憶する。更にここで、ソース端子、ドレイン端子位置情報５５に基づいて、ＭＯＳトランジスタのソース端子位置情報を抽出し、そのソース端子位置情報５８を記憶する。
【００４１】
次に、ステップ３０３において、ステップ３０２における比較結果が一致するか否かを判断し、一致しない場合にはステップ３０４において処理を中止する。この場合、設計者又はツールによるレイアウトの修正が行われ、レイアウト検証が再実行される。
【００４２】
ステップ３０３においてネットリスト５４、５６の比較結果が一致する場合、ＣＰＵ１２は、ステップ３０５に移行する。そのステップ３０５において、ＣＰＵ１２は、ネットリスト５６との対応情報としてインスタンス名を確定し、確定したインスタンス名を各インスタンスの外形座標に対応づけて座標データ５３に格納する。更に、ＣＰＵ１２は、各素子の基準座標を算出し、基準座標を同様に座標データ５３に格納する。
【００４３】
次に、ステップ３０６において、ＣＰＵ１２は、座標データ５３に格納した外形座標を図形の左下を基準とした座標系の座標値に変換する。つまり、このステップ３０６において、ＣＰＵ１２は、座標データ５３に記憶した全てのインスタンスにおいて基準位置に対する図形の向きを統一する。そして、ＣＰＵ１２は、変換後の座標値および基準位置の座標値を座標データ５３に記憶する。
【００４４】
次に、ステップ３０７において、ＣＰＵ１２は、制御カード５２を参照し、不要なインスタンスを削除する。制御カード５２は、ペアの要求としてペア配置されるインスタンス名が記述された要求データ５２ｄ、ペアの条件１として素子間の距離、素子形状が記述された第１条件データ５２ｅを含む。ＣＰＵ１２は、要求データ５２ｄに基づいて、ペア配置が不要なインスタンスに関するデータを、座標データ５３から削除する。
【００４５】
更に、ＣＰＵ１２は、座標データ５３に残されたインスタンス、つまりペア配置が要求されるインスタンスについて、第１条件データ５２ｅに基づいて、ペアの条件１による検証を行う。この検証において、ＣＰＵ１２は、ペアの要求があるインスタンス名の外形座標、配置位置を座標データ５３から抽出し、複数のインスタンスの形状を比較する。更に、ＣＰＵ１２は、座標データ５３から抽出した外形座標、配置位置に基づいてインスタンス間の距離を算出し、その算出したインスタンス間の距離とペアの条件１の素子間の距離とを比較する。
【００４６】
つまり、ステップ３０７において、ペア配置が要求されるインスタンスに対してのみ、ペアの条件１による検証を行う。そして、ステップ３０８において、ＣＰＵ１２は、ペアの条件１に対する違反の有無を判断し、違反がない場合には図５に示されるステップ３１４に移行し、違反がある場合には図４に示されるステップ３０９に移行する。
【００４７】
図４に示されるステップ３０９〜３１３は、ステップ３０１〜３０８のペア配置素子間検証処理で条件違反があった場合に行われるペア配置抵抗素子間検証処理（図２のステップ２５）である。抵抗素子の本体部分の形状が揃えられて近接配置されることで素子特性は一致するが、ペア配置される各抵抗素子の抵抗値が異なる場合、必要な抵抗素子の本数が増加してしまう。例えば、抵抗素子の本体部分の形状が抵抗値の小さい抵抗素子に揃えられた場合、抵抗値の大きい抵抗素子は抵抗値の小さい抵抗素子が直列接続されることにより生成され、反対に抵抗値の大きい抵抗素子に揃えられた場合は、抵抗値の小さい抵抗素子は抵抗値の大きい抵抗素子が並列接続されることにより生成されることが必要になる。これはチップ面積の増加、そしてコストアップにも直結する。そこで、抵抗素子の面積が抑えられペア配置が行われる方法として、抵抗素子の本体部分を担う拡散層やポリシリコン層などの抵抗層の外形を抵抗値の大きい抵抗素子に合わせて作成し、抵抗値の小さい抵抗素子は、抵抗素子の外部との接続部分を担うコンタクト層の形状を等しくし、その位置を調整することで作成する方法が広くとられている。しかし、本体部分の形状が異なる抵抗素子は各素子の形状が等しいことというペアの条件１に違反する。ステップ３０９において、ＣＰＵ１２は、ペアの要求があるインスタンスが抵抗素子であるか否かを判断する。抵抗素子である場合、ステップ３１０に移行し、ペアの要求がある抵抗素子間で抵抗層の外形を比較する。抵抗層の外形の比較は、抵抗層の外形を構成する各辺の長さを比較することにより行う。
【００４８】
次に、ステップ３１１において、ステップ３１０における比較結果が同一か否かを判断し、同一の場合にはステップ３１２において、今度はペアの要求がある抵抗素子間でコンタクト層の形状を比較する。コンタクト層の形状の比較は、抵抗素子の本体部分のうちコンタクト層に接する辺の中心を原点（０、０）としてコンタクト層を図形化し、その図形の形状を比較することにより行う。ステップ３１３において、ステップ３１２における比較結果が同一か否か判断し、同一の場合には図５に示されるステップ３１４に移行する。つまりステップ３０８においてペアの条件１に対する違反があると判断された場合でも、ステップ３０９〜３１３において、それが抵抗素子であり、抵抗層の外形が等しく、かつ、コンタクト層の形状が等しい場合にはペア配置の候補となる素子であるとされ、ペアの条件１に対する違反がない場合と同様にステップ３１４に移行する。従って、本体部分の形状が異なる抵抗素子であっても、抵抗層の外形およびコンタクト層の形状を比較することで、ペア配置の検証が行われる。
【００４９】
また、ステップ３０９において抵抗素子でないと判断された場合、ステップ３１１において抵抗層の外形が同一でないと判断された場合、あるいはステップ３１３においてコンタクト層の形状が同一でないと判断された場合は、いずれも図８に示されるステップ３２６に移行する。
【００５０】
図５に示されるステップ３１４〜３１６は、ペア配置を検証する素子が影響を受ける図形が含まれる範囲におけるペア配置周辺図形検証処理（図２のステップ２６、２７）である。ステップ３１４において、ＣＰＵ１２は、制御カード５２の第２条件データ５２ｆに基づいて、ペアの条件２による検証を行う。第２条件データ５２ｆは、ペアの条件２として、素子への干渉をチェックする条件が格納され、この条件は検証するマスク（ＭＡＳＫ）層名と検索距離である。半導体装置は、複数の配線層に形成された配線パターンにより、信号が伝達される。配線パターンが形成される配線層は半導体装置の製造プロセスにおける露光処理のマスクになる。つまり、配線層は、プロセスにおけるマスク層である。レイアウトデータ５１は、拡散層、ゲート配線、素子間等の配線がプロセスに対応する層の情報を持つ層構造を持つ。
【００５１】
半導体装置の基板上面に沿って、素子から近い位置に形成された配線の影響を受けやすく、遠い配線の影響を受けにくい。このため、ＣＰＵ１２は、素子が影響を受ける範囲を検索領域として設定し、該検索領域内のマスク層を抽出する。このとき、ＣＰＵ１２は、ステップ３０５においてインスタンス名を確定した素子の形状を、ペアの条件２の検索距離に従って拡大し、この拡大した図形を検索領域とする。これにより、素子の形状に応じた検索領域を容易に設定することができる。尚、マスク層により素子に影響を与える距離が異なるため、マスク層に応じて検索距離が設定されている。
【００５２】
次に、ＣＰＵ１２は、各マスク層において、設定した検索領域内の図形を抽出し、抽出した図形の座標値を、各マスク層の検索領域の基準点を原点（０、０）とした座標値に変換し、その変換後の座標値をワークデータ５９に格納する。つまり、ペア配置を検証する複数の素子（図形）に対し、各マスク層において各素子に検索領域が設定され、それぞれの検索領域に含まれる図形が抽出される。そして、抽出された図形の座標値は、それぞれの検索領域の基準点を原点とする座標値に変換されワークデータ５９に格納される。
【００５３】
次に、ステップ３１５において、ＣＰＵ１２は、ワークデータ５９に格納した座標値に基づいて、抽出したマスク層に含まれる図形が、各検索領域の相互間で同一形状か否かを確認する。この確認において、ＣＰＵ１２は、各検索領域の基準点を一致させて各検索領域の図形を排他的論理和（ＸＯＲ）処理する。これにより、各検索領域において、同じ形状で座標値が一致する図形は残らない。従って、ＸＯＲ処理後に図形が残っている場合、各検索領域に含まれる図形は一致しない、つまり、ペア配置が望まれる複数の素子において、それぞれの素子に対して同じ位置にない図形が存在することになる。このため、ＣＰＵ１２は、ＸＯＲ処理後の検索領域内に図形が存在する場合にはペア配置ができていないと判断し、図形が存在しない場合にはペア配置ができていると判断する。
【００５４】
ＣＰＵ１２は、図形をＸＯＲ処理するだけでペア配置ができているか否かを判断することができ、このＸＯＲ処理は、ＣＰＵ１２にとって負荷が少ない。つまり、短い時間でペア配置を判断することができる。
【００５５】
ステップ３１６において、ＣＰＵ１２は、ステップ３１５において確認した各マスク層の図形形状が同一の場合には図７のステップ３２１に移行し、同一ではない場合には図６のステップ３１７に移行する。
【００５６】
図６に示されるステップ３１７〜３２０は、ステップ３１４〜３１６のペア配置周辺図形検証処理で図形形状が同一でなかった場合に行われるペア配置周辺図形反転回転処理（図２のステップ２８）である。ステップ３１７において、ＣＰＵ１２は、制御カード５２の第３条件データ５２ｇに基づいて、図形をミラー反転、回転してもよいか否かを判断する。第３条件データ５２ｇには、ペアの条件３として、Ｘ軸ミラー反転を許容するか、Ｙ軸ミラー反転を許容するか、回転を許容するか、のそれぞれの条件が設定されている。従って、ＣＰＵ１２は、反転・回転が許容されていない場合には図８に示されるステップ３２６に移行し、そのステップ３２６においてエラーを図１の表示装置１５に表示する。従って、表示されたエラーに基づいて、ペア配置されていない素子に対して容易に対応することが可能となる。一方、反転・回転のうちの少なくとも１つが許容されている場合、ＣＰＵ１２は、ステップ３１８に移行する。
【００５７】
ステップ３１８において、ＣＰＵ１２は、マスク層において抽出した複数の検索領域のうちの１つの図形データを許容された条件に従って変換した後、他の検索領域と同じ方向の頂点を原点とした座標系の座標値に変換し、その変換後の座標値をワークデータ５９に格納する。
【００５８】
次に、ステップ３１９において、ＣＰＵ１２は、ステップ３１５と同様に、ワークデータ５９に記憶したマスク層における複数の検索領域内の図形データを比較する。そして、ステップ３２０において、ＣＰＵ１２は、各検索領域の図形が同一ではない場合には図８に示されるステップ３２６においてエラーを表示する。一方、図形が同一の場合、ＣＰＵ１２は、図７に示されるステップ３２１に移行する。
【００５９】
図７に示されるステップ３２１〜３２５は、ステップ３０１〜３２０においてペア配置の候補として抽出された素子がＭＯＳトランジスタである場合におけるペア配置ＭＯＳトランジスタ間検証処理（図２のステップ２９）である。ステップ３２１において、ＣＰＵ１２は、ペア配置の候補として抽出された素子がＭＯＳトランジスタであるか否かを判断する。ＭＯＳトランジスタである場合、ステップ３２２に移行し、ペア配置の候補となる一組のＭＯＳトランジスタについてゲート端子の分割の有無が判断される。ゲート端子の分割がある場合は、ステップ３２３において、ステップ３２４でのソース端子位置の確認の際に着目するターゲットとなるゲート端子を決定する。ゲート端子の分割がない場合は、ステップ３２３を経ずにステップ３２４に移行する。ステップ３２４において、ＭＯＳトランジスタのソース端子位置情報５８に基づいて、ペア配置の候補となる一組のＭＯＳトランジスタそれぞれについて、ゲート端子に対するソース端子位置が確認される。つまり、ステップ３２４において、ペア配置の候補となる各ＭＯＳトランジスタのドレイン電流の方向が特定される。次にステップ３２５において、ステップ３２４で確認されたゲート端子に対するソース端子位置が、同一であるか否かが判断される。同一でない場合は、ＣＰＵ１２は、図８に示されるステップ３２６においてエラーを表示する。同一である場合は、ＣＰＵ１２は、図８に示されるステップ３２７に移行する。
【００６０】
一方、ステップ３２１において、ペア配置の候補として抽出された素子がＭＯＳトランジスタでないと判断された場合は、ペア配置の検証としてステップ３２２〜３２５は不要なので、ＣＰＵ１２は、図８に示されるステップ３２７に移行する。
【００６１】
図８に示されるステップ３２６、３２７は、エラー処理および終了処理である。ステップ３０１〜３２５におけるペア配置の検証において、ペア配置ができていないと判断された場合はステップ３２６でエラーを表示し、ステップ３２７に移行する。一方、ペア配置ができていると判断された場合はそのままステップ３２７に移行する。ステップ３２７において、全パターンについて検証を終了したか否かを判断し、全パターンの検証を終了した場合には処理を終了し、全パターンの検証が終了していない場合にはステップ３０７に移行し、検証を継続する。
【００６２】
上記のように構成されたレイアウト検証プログラムがレイアウト検証をコンピュータシステムに実行させた場合の作用を説明する。
図９は、階層構造を持たない図形データにより構成されたレイアウトデータ５１（図３参照）の説明図である。
【００６３】
レイアウトデータ５１には、拡散層６１ａ、６１ｂ、ポリシリコンにて形成されるパターン６２ａ、６２ｂ、金属にて形成されるパターン６３ａ〜６３ｅ、ホール６４ａ〜６４ｆのデータが含まれている。各データは、それぞれ形成される材質やプロセスに応じた層（マスク層）のデータとしてレイアウトデータ５１に格納されている。
【００６４】
図１０は、制御カード５２（図３参照）の説明図である。尚、図１０には、制御カード５２を構成する各種データのうち、要求データ５２ｄ、第１条件データ５２ｅ、素子抽出条件データ５２ｃ、層間接続定義データ５２ｂ、第２条件データ５２ｆを示している。
【００６５】
先ず、レイアウトデータ５１から素子形状と接続情報を抽出する（図２のステップ２１、図３のステップ３０１）。このとき、制御カード５２の素子抽出条件データ５２ｃに基づいて、図９に示すポリシリコンよりなるパターン６２ａ、６２ｂと拡散層６１ａ、６１ｂの重なり部分をＭＯＳトランジスタ７１、７２（図１１参照）として抽出し、抽出したＭＯＳトランジスタ７１、７２の外形座標（頂点座標）を図３の座標データ５３に格納する。更に、素子抽出条件データ５２ｃに基づいて、抽出したＭＯＳトランジスタ７１、７２に対してソース、ドレイン、ゲートの各端子を定義し、ＭＯＳトランジスタソース端子、ドレイン端子位置情報５５（図３参照）として格納する。そして、層間接続定義データ５２ｂに基づいて、ＭＯＳトランジスタ７１、７２の各端子に対する接続情報を抽出し、この抽出した接続情報を、レイアウトデータ５１から生成したネットリスト（ｆｒｏｍレイアウト）５４（図３参照）として格納する。
【００６６】
次に、回路設計におけるネットリスト５６（図３参照）と、上記のネットリスト５４とを比較し、抽出したＭＯＳトランジスタ７１、７２のインスタンス名を確定する（図２のステップ２２、図３のステップ３０２〜３０５）。つまり、回路設計におけるネットリスト５６を検索し、ＭＯＳトランジスタ７１、７２と同じ接続状態の回路素子を抽出する。この抽出した回路素子の素子名（インスタンス名）をＭＯＳトランジスタ７１、７２に適用し、その対応情報５７（図３参照）を記憶する。また、ＭＯＳトランジスタのソース端子位置についても確定し、ＭＯＳトランジスタのソース端子位置情報５８（図３参照）として格納する。
【００６７】
次に、ペア配置の検証を実施する（図２のステップ２３、２４、図３のステップ３０６〜３０８）。このとき、図１０の制御カード５２の第１条件データ５２ｅに従って、素子間隔、素子形状を検証する。
先ず、ＭＯＳトランジスタ７１、７２の間隔が第１条件データ５２ｅの設定間隔内であるか否かを検証する。ＭＯＳトランジスタ７１、７２の間隔が設定間隔内であれば素子形状の検証を行い、ＭＯＳトランジスタ７１、７２の間隔が設定間隔内にない場合にはペア配置ができていないと判定する。
【００６８】
次に、ＭＯＳトランジスタ７１、７２の形状を比較する。このとき、ＭＯＳトランジスタ７１、７２の頂点座標に基づいて、形状が一致するか否かを検証する。形状が一致する場合には、周辺図形検証処理に進み、形状が一致しない場合には次のペア配置抵抗素子間検証処理に進む。
【００６９】
ペア配置抵抗素子間検証処理（図２のステップ２５、図４）では、先ず、抵抗素子であるか否かが判断される。ＭＯＳトランジスタ７１、７２は抵抗素子ではないためペア配置ができていないと判定する。
【００７０】
ペア配置を検証する素子が抵抗素子である場合の例について、図１２、１３を用いて説明する。
先ず、ペア配置を検証する対象である抵抗素子について、抵抗素子の本体部分を構成している拡散層やポリシリコン層などの抵抗層の外形を比較する。図１２（ａ）（１）に示される抵抗素子９０１、９０２について、図１２（ａ）（２）に示されるように抵抗層９１ａ、９１ｂの外形を比較する。外形の比較は、抵抗層の外形の各辺の長さが等しいかを確認することにより行う。抵抗層９１ａ、９１ｂは縦、横いずれも等しいので、抵抗素子９０１、９０２は抵抗層の外形が等しいと判断される。一方、図１２（ｂ）（１）に示される抵抗素子９０１、９０３については、抵抗層９１ａ、９１ｃの外形の各辺のうち、横は等しいが縦は異なる。よって抵抗素子９０１、９０３は抵抗層の外形が等しくないと判断される。抵抗層の外形が等しくない場合はペア配置ができていないと判定される。等しい場合は、続いてコンタクト層の形状を比較する。
【００７１】
コンタクト層の形状の比較について、図１３に具体例を示す。図１３（ａ）（１）に示される抵抗素子９０１、９０２について、抵抗素子の本体部分９３ａ、９３ｂのうち各コンタクト層９２ａ〜９２ｄに接する辺の中心をそれぞれ原点（０、０）として、各コンタクト層を図形化する（図１３（ａ）（２）参照）。尚、図中の三角形はそれぞれコンタクト層９２ａ〜９２ｄの原点を示す。そして、抵抗素子９０１、９０２間で同じ形状の図形が存在すれば、コンタクト層の形状は等しいと判断される。図１３（ａ）（２）に示されるように、抵抗素子９０１、９０２間ではそれぞれ９２Ａと９２Ｃ、９２Ｂと９２Ｄが同じ形状なので、抵抗素子９０１、９０２はコンタクト層の形状が等しいと判断される。一方、図１３（ｂ）（１）に示される抵抗素子９０１、９０４については、図形化されたコンタクト層９２Ａと９２Ｇ、９２Ｂと９２Ｈが同じ形状であるが、抵抗素子９０４の９２Ｉと同じ形状の図形が抵抗素子９０１には存在しない。よって抵抗素子９０１、９０４はコンタクト層の形状が等しくないと判断される。コンタクト層の形状が等しくない場合はペア配置ができていないと判定される。等しい場合は、周辺図形検証処理に進む。
【００７２】
このように、抵抗素子については素子形状が一致しない場合でも、抵抗層の外形およびコンタクト層の形状をそれぞれ比較することで、ペア配置の判定を行う。従って、本体部分の形状が異なる抵抗素子を考慮したペア配置の検証ができる。
【００７３】
再びＭＯＳトランジスタ７１、７２を例に、次の処理である周辺図形検証処理（図２のステップ２６、２７、図５）について説明する。
図１４（ａ）に示すように、各ＭＯＳトランジスタ７１、７２に対して、それぞれの形状と、制御カード５２の第２条件データ５２ｆ（図１０参照）に基づいて検索領域Ｓ１、Ｓ２を設定する。そして、設定されたマスク層（例えば、ポリシリコンのパターンを形成するためのマスク層、および拡散層を形成するためのマスク層）に含まれる図形から、検索領域Ｓ１、Ｓ２内の図形をそれぞれ抽出する。つまり、図１４（ｂ）に示すように、ＭＯＳトランジスタ７１に対応して設定した検索領域Ｓ１に含まれる図形群８１ａと、ＭＯＳトランジスタ７２に対応して設定した検索領域Ｓ２に含まれる図形群８１ｂと、を抽出する。このとき、抽出される図形群８１ａ、８１ｂの枠は、検索領域Ｓ１、Ｓ２の枠形状と同一とする。尚、図１４では、上下方向を短く表示している。
【００７４】
そして、抽出した複数の図形群８１ａ、８１ｂの原点を所定位置（本実施形態では左下頂点）とし、図形群８１ａ、８１ｂに含まれる図形の座標を、原点を基準とした座標に変換し、変換後の図形群８１ａ、８１ｂを論理演算処理（ＸＯＲ処理）する。各図形の座標を、原点を基準とした座標系の座標値に変換することで、各図形の座標を原点からの相対値とする。これにより、各図形群において原点から相対的に同じ位置に存在する図形の座標は同じとなるため、演算負荷が少なくなる。
【００７５】
図１４（ａ）に示す検索領域Ｓ１、Ｓ２により生成された図形群８１ａ、８１ｂ（図１４（ｂ）参照）において、一方の図形群８１ａは、ペア配置を検証する対象である、ＭＯＳトランジスタ７１、７２（拡散層６１ａ、６１ｂおよびパターン６２ａ、６２ｂ）と、検索領域Ｓ１に含まれるＭＯＳトランジスタ（拡散層６１ｃおよびパターン６２ｃ）を含み、他方の図形群８１ｂは、ペア配置を検証する対象であるＭＯＳトランジスタ７１、７２のみを含む。従って、図１４（ｃ）に示す論理演算処理の結果８２には、拡散層６１ｂおよびパターン６２ｂが存在する。このため、両ＭＯＳトランジスタ７１、７２は、ペア配置ができていないと判断される。
【００７６】
別の例として、ミラー反転によりペア配置を検証する処理（図２のステップ２８、図６）の具体例を説明する。
図１５（ａ）に示すレイアウトデータ５１の各データにおいて、ＭＯＳトランジスタ７１、７２に対して制御カード５２の第２条件データ５２ｆ（AREA: Hole Metal -X=1um +X=1um -Y=0um +Y=0um MIR）に従って検索領域Ｓ３、Ｓ４（図１５（ｂ）参照）を設定する。次に、検索領域Ｓ３、Ｓ４に含まれる金属配線を形成するためのマスク層、およびホールを形成するためのマスク層のデータを検索して図１５（ｂ）に示す図形群８３ａ、８３ｂを得る。図形群８３ａには、トランジスタ７１と、パターン６３ａ、６３ｄの一部のパターン６５ａ、６５ｂと、ホール６４ｃ、６４ｅが含まれ、図形群８３ｂには、トランジスタ７２と、パターン６３ｃ、６３ｅの一部のパターン６５ｃ、６５ｄと、ホール６４ｄ、６４ｆが含まれる。
【００７７】
これら図形群８３ａ、８３ｂに対して論理演算処理（ＸＯＲ処理）を行った場合、図１５（ｃ）に示すように、図形群８３ａにあってはパターン６５ａ、６５ｂおよびホール６４ｃ、６４ｅ、図形群８３ｂにあってはパターン６５ｃ、６５ｄおよびホール６４ｄ、６４ｆが残る。このため、両図形群８３ａ、８３ｂは一致しない。
【００７８】
次に、図１０に示すように、制御カード５２の第２条件データ５２ｆにおいて、検索範囲を指定する［AREA］には、［Hole, Metal］のマスク層にて抽出した図形に対してミラー反転を許容する指示［MIR］が記述されている。このため、図１５（ｄ）に示すように、Ｙ軸にてミラー反転した図形群８３ｃを生成する。この図形群８３ｃと、反転していない図形群８３ａとを比較する。この場合、論理演算処理の結果に図形が残らないため、ペア配置ができている候補として次のペア配置ＭＯＳトランジスタ間検証処理に進む。
【００７９】
ペア配置ＭＯＳトランジスタ間検証処理（図２のステップ２９、図７）の具体例について、図１６、１７を用いて説明する。
先ず、ペア配置ができている候補として抽出された素子が、ＭＯＳトランジスタであるか否かが判断される。ＭＯＳトランジスタでない場合、ペア配置ＭＯＳトランジスタ間検証処理は不要なため、ペア配置ができていると判断される。ＭＯＳトランジスタである場合は、ゲート端子の分割があるか否かが判断される。
【００８０】
図１６はゲート端子の分割がない場合の具体例である。図１６（ａ）に示されるＭＯＳトランジスタ９０５、９０６について、ゲート端子９５ａ、９５ｂに対するソース端子９４ａ、９４ｂの位置が確認される。ＭＯＳトランジスタ９０５はゲート端子９５ａの左側にソース端子９４ａが配置され、ＭＯＳトランジスタ９０６はゲート端子９５ｂの左側にソース端子９４ｂが配置されている。よってＭＯＳトランジスタ９０５、９０６はゲート端子に対するソース端子の位置が等しいと判断される。従って両ＭＯＳトランジスタのドレイン電流の方向は等しく、ＭＯＳトランジスタ９０５、９０６はペア配置ができていると判断される。一方、図１６（ｂ）に示されるＭＯＳトランジスタ９０５、９０７については、ＭＯＳトランジスタ９０５はゲート端子９５ａの左側にソース端子９４ａが配置され、ＭＯＳトランジスタ９０７はゲート端子９５ｃの右側にソース端子９４ｃが配置されている。よってＭＯＳトランジスタ９０５、９０７はゲート端子に対するソース端子の位置が等しくないと判断される。両ＭＯＳトランジスタのドレイン電流の方向が異なり、ＭＯＳトランジスタ９０５、９０７はペア配置ができていないと判断される。
【００８１】
図１７はゲート端子の分割がある場合の具体例である。ゲート端子の分割がある場合は、先ず、ソース端子位置の確認の際に着目するターゲットとなるゲート端子が決定される。ＭＯＳトランジスタのレイアウトでは、ソース端子、ドレイン端子が交互に配置されるため、ペア配置を検証するＭＯＳトランジスタ間で同じ位置にある１つのゲート端子にのみ着目すればよい。ＭＯＳトランジスタ間で同じ位置にある１つのゲート端子に対して隣接するソース端子の位置が同じであれば、分割された他のゲート端子についてもソース端子の位置は等しくなるからである。図１７（ａ）に示されるＭＯＳトランジスタ９０８、９０９について、ターゲットのゲート端子として本実施形態では左端のゲート端子９５ｄ、９５ｇに着目する。ＭＯＳトランジスタ９０８はゲート端子９５ｄの左側にソース端子９４ｄが配置され、ＭＯＳトランジスタ９０９はゲート端子９５ｇの左側にソース端子９４ｆが配置されている。よってＭＯＳトランジスタ９０８、９０９はゲート端子に対するソース端子の位置が等しいと判断される。従って両ＭＯＳトランジスタのドレイン電流の方向は等しく、ＭＯＳトランジスタ９０８、９０９はペア配置ができていると判断される。一方、図１７（ｂ）に示されるＭＯＳトランジスタ９０８、９１０については、ターゲットのゲート端子として左端のゲート端子９５ｄ、９５ｊに着目すると、ＭＯＳトランジスタ９０８はゲート端子９５ｄの左側にソース端子９４ｄが配置され、ＭＯＳトランジスタ９１０はゲート端子９５ｊの右側にソース端子９４ｈが配置されている。よってＭＯＳトランジスタ９０８、９１０はゲート端子に対するソース端子の位置が等しくないと判断される。両ＭＯＳトランジスタのドレイン電流の方向が異なり、ＭＯＳトランジスタ９０８、９１０はペア配置ができていないと判断される。
【００８２】
以上、ペア配置を検証する対象として２つの素子を抽出した場合について説明したが、ペア配置を検証する対象が３つ以上の素子の場合であってもよい。
（ケース１）
例えば、図１８（ａ）に示すように、差動部が４つのトランジスタＡ１、Ａ２、Ｂ１、Ｂ２により構成されている。この場合、並列接続されたトランジスタＡ１、Ａ２によるトランジスタ群Ａのトランジスタ特性と、並列接続されたトランジスタＢ１、Ｂ２によるトランジスタ群Ｂのトランジスタ特性とを同じとするために、図１８（ｂ）に示すように、各トランジスタＡ１、Ａ２、Ｂ１、Ｂ２が交互に配置される場合がある。
【００８３】
上記のように配置されたトランジスタにおいて、各素子の中心座標を基準とする。そして、一方のトランジスタ群Ａを構成するトランジスタＡ１、Ａ２と、それぞれにおいて配列方向に存在する他方のトランジスタ群Ｂを構成するトランジスタＢ１、Ｂ２との距離を算出する。例えば、トランジスタＡ１に対して、そのトランジスタＡ１と配列方向に存在するトランジスタＢ１、Ｂ２の距離をそれぞれ算出する。
【００８４】
検証条件として、
（ａ）配列方向に存在する素子間の距離が配列方向において全て一致、
（ｂ）距離を算出したトランジスタ対の総数が、配列されたトランジスタの総数−１と一致する、が設定される。
【００８５】
図１８（ｂ）に示すように配列されたトランジスタＡ１、Ａ２、Ｂ１、Ｂ２の場合、図において右方向をプラス方向、左方向をマイナス方向とし、トランジスタＡ１と隣接するトランジスタＢ１、Ｂ２間の距離、トランジスタＡ２と隣接するトランジスタＢ２間の距離を算出する。その算出結果を図１８（ｃ）に示す。全ての距離が一致する。そして、算出したトランジスタ対の数（＝３）が配列されたトランジスタの総数（＝４）−１（＝３）と一致する。従って、図１８（ｂ）のように配列されたトランジスタＡ１、Ａ２、Ｂ１、Ｂ２はペア配置されていると判断される。
【００８６】
（ケース２）
図１９（ａ）に示すように、対応するトランジスタの数が異なる差動部における検証を説明する。この場合、図１９（ｂ）に示すように、トランジスタ群ＡのトランジスタＡ１、Ａ２と、トランジスタ群ＢのトランジスタＢ１〜Ｂ３が交互に配置されている場合、上記と同様に、図１９（ｃ）に示すように、トランジスタＡ１と隣接するトランジスタＢ１、Ｂ２との間の距離、トランジスタＡ２と隣接するトランジスタＢ２、Ｂ３との間の距離を算出する。この場合、全ての距離が一致し、算出したトランジスタ対の数（＝４）が配列されたトランジスタの総数（＝５）−１（＝４）と一致する。従って、図１９（ｂ）のように配列されたトランジスタＡ１、Ａ２、Ｂ１、Ｂ２、Ｂ３はペア配置されていると判断される。
【００８７】
（ケース３）
上記のトランジスタＡ１、Ａ２、Ｂ１、Ｂ２、Ｂ３において、図２０（ａ）に示すように、トランジスタＢ２、Ｂ３が隣接して配置されている場合、隣接する素子間の距離として、トランジスタＡ１と隣接するトランジスタＢ１、Ｂ２との間の距離、トランジスタＡ２と隣接するトランジスタＢ３との間の距離が算出される。この場合、算出したトランジスタ対の数（＝３）が配列されたトランジスタの総数（＝５）−１（＝４）と一致しない。従って、図２０（ａ）のように配列されたトランジスタＡ１、Ａ２、Ｂ１、Ｂ２、Ｂ３はペア配置されていないと判断される。
【００８８】
（ケース４）
図２１（ａ）に示すように、トランジスタＡ１〜Ａ４とトランジスタＢ１〜Ｂ３が交互に配置されている場合、隣接するトランジスタ間の距離の測定結果は図２１（ｂ）のようになる。この場合、全ての距離が一致し、算出したトランジスタ対の数（＝６）が配列されたトランジスタの総数（＝７）−１（＝６）と一致する。従って、図２１（ａ）のように配列されたトランジスタＡ１〜Ａ４、Ｂ１〜Ｂ３はペア配置されていると判断される。
【００８９】
（ケース５）
図２２（ａ）に示すように、トランジスタＡ１〜Ａ４とトランジスタＢ１〜Ｂ３が配置されている場合、隣接するトランジスタ間の距離の測定結果は図２２（ｂ）のようになる。この場合、全ての距離は一致するが、算出したトランジスタ対の数（＝４）が配列されたトランジスタの総数（＝７）−１（＝６）と一致しない。従って、図２２（ａ）のように配列されたトランジスタＡ１〜Ａ４、Ｂ１〜Ｂ３はペア配置されていないと判断される。
【００９０】
図２３は、上記のケース１〜５における各条件の判定結果と、ペア配置に対する判定結果を示す。図中、各条件において、「ＯＫ」は条件を満足していることを表し、「ＮＧ」は条件を満たしていないことを表す。ペア配置に対する判定結果において、「ＯＫ」はペア配置されている判定結果を表し、「ＮＧ」はペア配置されていない判定結果を表す。
【００９１】
次に、抽出された素子が２方向（Ｘ方向およびＹ方向）に配列されている場合を説明する。
この場合、それぞれの方向における距離を算出する。そして、検証条件として、
（ａ）隣接する素子間の距離が第１の方向（±Ｘ方向）において全て一致、
（ｂ）隣接する素子間の距離が第２の方向（±Ｙ方向）において全て一致、
（ｃ）距離を算出したトランジスタ対の総数が、配列されたトランジスタの総数と一致する、が設定される。
【００９２】
（ケース６）
図２４（ａ）に示すように、第１トランジスタ群のトランジスタＡ１、Ａ２と、第２トランジスタ群のトランジスタＢ１〜Ｂ３が市松模様状（チェッカーパターン）に配置されている場合、各素子間の距離の算出結果は、図２４（ｂ）のようになる。この場合、Ｘ方向、Ｙ方向それぞれの距離が一致し、算出したトランジスタ対の数（＝５）が配列されたトランジスタの総数（＝５）と一致する。従って、図２４（ａ）のように配列されたトランジスタＡ１、Ａ２、Ｂ１〜Ｂ３はペア配置されていると判断される。尚、このケース６において、トランジスタＢ３がない場合であっても、同様の結果が得られる。
【００９３】
（ケース７）
図２５（ａ）に示すように、第１トランジスタ群のトランジスタＡ１、Ａ２と、第２トランジスタ群のトランジスタＢ１〜Ｂ３が市松模様状（チェッカーパターン）に配置されている場合、各素子間の距離の算出結果は、図２５（ｂ）のようになる。この場合、トランジスタＡ１とトランジスタＢ１との間の距離が、トランジスタＡ２とトランジスタＢ２、Ｂ３との間の距離と異なり、算出したトランジスタ対の数（＝５）が配列されたトランジスタの総数（＝５）と一致する。従って、図２５（ａ）のように配列されたトランジスタＡ１、Ａ２、Ｂ１〜Ｂ３はペア配置されていないと判断される。
【００９４】
（ケース８）
図２６（ａ）に示すように、第１トランジスタ群のトランジスタＡ１、Ａ２と、第２トランジスタ群のトランジスタＢ１〜Ｂ３が、それぞれ異なる列を構成するように配置されている場合、各素子間の距離の算出結果は、図２６（ｂ）のようになる。この場合、列方向（Ｘ方向）には距離が算出されず、Ｙ方向の距離が一致し、算出したトランジスタ対の数（＝２）が配列されたトランジスタの総数（＝５）と一致しない。従って、図２６（ａ）のように配列されたトランジスタＡ１、Ａ２、Ｂ１〜Ｂ３はペア配置されていないと判断される。
【００９５】
図２７は、上記のケース６〜８における各条件の判定結果と、ペア配置に対する判定結果を示す。図中、各条件において、「ＯＫ」は条件を満足していることを表し、「ＮＧ」は条件を満たしていないことを表す。ペア配置に対する判定結果において、「ＯＫ」はペア配置されている判定結果を表し、「ＮＧ」はペア配置されていない判定結果を表す。
【００９６】
ここで、特許請求の範囲との対応は以下の通りである。
ネット情報、ネットリスト５４、ネットリスト（ｆｒｏｍレイアウト）５４は半導体装置のレイアウトデータから抽出される接続情報の一例である。
ネットリスト５６は半導体装置のネットリストの一例である。
ネットリスト５４とネットリスト５６との比較は半導体装置のレイアウトデータから抽出される接続情報と半導体装置のネットリストとの比較の一例である。
縦、横は抵抗層の外形を構成する各辺の長さの一例である。
コンタクト層に接する辺の中心はコンタクト層に接する辺上に設定された基準点の一例である。
図形化されたコンタクト層はコンタクト層に接する辺上に設定された基準点とコンタクト層の基準点との位置関係の一例である。
【００９７】
以上記述したように、本実施形態によれば、以下の効果を奏する。
（１）先ず、ペア配置を検証する複数の素子間に対する検証条件を設定し、その検証条件に基づいて複数の素子間におけるペア配置を検証する。次に、ペア配置を検証する複数の素子のそれぞれに対して検索領域を設定し、各素子ごとに検索領域に含まれる図形を抽出し、ペア配置を検証する素子間において抽出した図形の形状が同じか否かを検証するようにした。その結果、ペア配置される複数の素子に対して、検索領域を設定し、その検索領域内の配線などを抽出し、抽出した図形を含めた各素子の形状・配置位置を検証するようにしたため、素子に影響を与える図形を抽出してペア配置の検証を行うことができるため、誤判定を減少させることができる。
【００９８】
（２）半導体装置のレイアウトデータ５１から素子を認識し、該素子の形状および座標値を記憶する。そして、認識された素子に対して検証処理を行うようにした。その結果、レイアウトデータ５１の図形から素子を抽出し、その抽出した素子がペア配置されているか否かを検証するようにしたため、階層構造を持たないレイアウトデータ５１においてもペア配置の検証を行うことができ、目視チェックの工数を低減することができる。
【００９９】
（３）本体部分の形状が異なる抵抗素子であっても、抵抗層の外形およびコンタクト層の形状を比較するようにしたため、本体部分の形状が異なる抵抗素子を考慮したペア配置の検証を行うことができる。抵抗素子の面積を抑えペア配置を行う方法によるペア配置が正しく行われているか否かの確認を目視検図に頼る必要がなく、ペア配置の検証の精度が低くなることを防ぐことができる。
【０１００】
（４）ペア配置の候補となる一組のＭＯＳトランジスタを抽出し、抽出された一組のＭＯＳトランジスタについてドレイン電流の方向を特定し、特定されたドレイン電流の方向が同じ方向である場合に一組のＭＯＳトランジスタをペア配置されたＭＯＳトランジスタであると認識するようにした。その結果、ＭＯＳトランジスタのドレイン電流の方向を揃えることを考慮したペア配置の検証ができる。ペア配置されるＭＯＳトランジスタのドレイン電流の方向が同じ方向に揃えられることで、トランジスタ特性を揃えることができる。
【０１０１】
尚、上記実施形態は、以下の態様で実施してもよい。
・上記実施形態では、ペア配置を検証する各種の条件や設定を制御カード５２に含めることとしたが、２つ以上のデータに分割して設定するようにしてもよい。
・上記実施形態では、座標値を変換する際、左下頂点を基準点としたが、これに限らないことは言うまでもない。
・上記実施形態では、抵抗層の外形の比較は、抵抗層の外形を構成する各辺の長さを比較することにより行うこととしたが、抵抗層の外形の基準点を原点としてＸＯＲ演算を行うようにしてもよい。
・上記実施形態では、コンタクト層の形状を比較する際、抵抗素子の本体部分のうちコンタクト層に接する辺の中心を原点（０、０）として基準点にしたが、これに限らない。他にも例えば、基準点は抵抗素子の本体部分のうちコンタクト層に接する辺上に設定されればよい。それ以外でも、コンタクト層の形状を比較できるような基準点であれば問題ないことは言うまでもない。
・上記実施形態では、コンタクト層の形状の比較は、コンタクト層を図形化することにより行ったが、コンタクト層の位置関係が特定でき形状を比較できるような方法であれば問題ない。
・上記実施形態では、ドレイン電流の方向の特定は、ゲート端子に対するソース端子の位置を確認することにより行ったが、これに限らない。例えば、ゲート端子に対するドレイン端子の位置を確認してもよい。それ以外でも、ドレイン電流の方向を特定できるような方法であれば問題ない。
・上記実施形態では、ゲート端子の分割がある場合、左端のゲート端子に着目したが、これに限らないことは言うまでもない。
【０１０２】
上記各実施の形態から把握できる技術的思想を以下に記載する。
（付記１）
半導体装置に配置される素子のレイアウト検証を、コンピュータシステムに実行させるためのレイアウト検証プログラムであって、
ペア配置の候補となる一組のＭＯＳトランジスタを抽出する工程と、
前記一組のＭＯＳトランジスタについて、ドレイン電流の方向を特定する工程と、
前記ドレイン電流の方向が同じ方向である場合に、前記一組のＭＯＳトランジスタをペア配置されたＭＯＳトランジスタであると認識する工程とを、
前記コンピュータシステムに実行させることを特徴とするレイアウト検証プログラム。
（付記２）
前記ドレイン電流の方向を特定する工程は、
前記ＭＯＳトランジスタのソース端子または／およびドレイン端子を特定する工程を、前記コンピュータシステムに実行させることを特徴とする付記１に記載のレイアウト検証プログラム。
（付記３）
前記ソース端子または／および前記ドレイン端子を特定する工程は、
前記半導体装置のレイアウトデータから抽出される接続情報と前記半導体装置のネットリストとを比較する工程を、前記コンピュータシステムに実行させることを特徴とする付記２に記載のレイアウト検証プログラム。
（付記４）
前記ペア配置の候補となる一組のＭＯＳトランジスタを抽出する工程は、
ペア配置を検証する複数の素子間に対する検証条件を設定する条件設定工程と、
前記検証条件に基づいて前記複数の素子間におけるペア配置を検証する素子間検証工程と、
ペア配置を検証する複数の素子のそれぞれに対して検索領域を設定する領域設定工程と、
前記設定された領域に含まれる図形を抽出し、ペア配置を検証する素子間において前記抽出した図形の形状が同じか否かを検証する周辺図形検証工程とを、
前記コンピュータシステムに実行させることを特徴とする付記１〜３のうちの何れか一に記載のレイアウト検証プログラム。
（付記５）
前記半導体装置のレイアウトデータから素子を認識し、該素子の形状および座標値を記憶する素子認識工程を実行し、
前記条件設定工程は、前記素子認識工程において認識された素子を検証する工程を、前記コンピュータシステムに実行させることを特徴とする付記４に記載のレイアウト検証プログラム。
（付記６）
前記素子認識工程にて認識された素子に対して前記レイアウトデータから抽出した接続情報を記憶する工程と、
前記接続情報と半導体装置のネットリストを比較して前記認識された素子の素子名を確定する工程とを、
前記コンピュータシステムに実行させることを特徴とする付記５に記載のレイアウト検証プログラム。
（付記７）
前記検索領域を、対象として抽出した図形を設定値に従って拡大して設定することを特徴とする付記４〜６のうちの何れか一に記載のレイアウト検証プログラム。
（付記８）
前記周辺図形検証工程において形状が異なると判断した場合に、複数の素子のうちの１つの素子に対応する図形を所定の軸にて反転する反転処理および図形を所定角度回転する回転処理の少なくとも一方を実行し、処理後の図形と他の素子に対応する図形の形状が同じか否かを検証する工程を、前記コンピュータシステムに実行させることを特徴とする付記４〜７のうちの何れか一に記載のレイアウト検証プログラム。
（付記９）
前記レイアウトデータは、半導体装置の製造工程に対応する複数のマスク層のデータから構成され、
前記検索領域を前記マスク層毎に設定することを特徴とする付記５〜８のうちの何れか一に記載のレイアウト検証プログラム。
（付記１０）
ペア配置を検証する複数の素子の座標値を、所定位置の原点を基準とした座標に変換し、該変換後の座標値に基づいて素子の形状を比較するようにしたことを特徴とする付記４〜９のうちの何れか一に記載のレイアウト検証プログラム。
（付記１１）
前記検索領域に基づいて抽出した図形の座標値を、所定位置の原点を基準とした座標に変換し、該変換後の座標値に基づいて各素子間における前記図形の形状を比較するようにしたことを特徴とする付記４〜１０のうちの何れか一に記載のレイアウト検証プログラム。
（付記１２）
前記図形の形状が一致しない場合にエラーを表示する工程を、前記コンピュータシステムに実行させることを特徴とする付記４〜１１のうちの何れか一に記載のレイアウト検証プログラム。
（付記１３）
半導体装置に配置される素子のレイアウト検証を、コンピュータシステムに実行させるためのレイアウト検証プログラムであって、
ペア配置の候補となる一組の本体部分の形状が異なる抵抗素子を抽出する工程と、
前記一組の本体部分の形状が異なる抵抗素子間で、前記抵抗素子の本体部分を担う抵抗層の外形を比較する工程と、
前記一組の本体部分の形状が異なる抵抗素子間で、前記抵抗素子の外部との接続部分を担うコンタクト層の形状を比較する工程と、
前記抵抗層の外形、および前記コンタクト層の形状が一致する場合に、前記一組の本体部分の形状が異なる抵抗素子をペア配置された抵抗素子であると認識する工程とを、
前記コンピュータシステムに実行させることを特徴とするレイアウト検証プログラム。
（付記１４）
前記抵抗層の外形を比較する工程は、
前記抵抗層間で、前記抵抗層の外形を構成する各辺の長さを比較する工程を、前記コンピュータシステムに実行させることを特徴とする付記１３に記載のレイアウト検証プログラム。
（付記１５）
前記抵抗層の外形を比較する工程は、
前記抵抗層間で、前記抵抗層の外形の基準点を原点としてＸＯＲ演算を行う工程を、前期コンピュータシステムに実行させることを特徴とする付記１３に記載のレイアウト検証プログラム。
（付記１６）
前記コンタクト層の形状を比較する工程は、
前記コンタクト層間で、前記抵抗素子の本体部分のうち前記コンタクト層に接する辺上に設定された基準点と、前記コンタクト層の基準点との位置関係を比較する工程を、前記コンピュータシステムに実行させることを特徴とする付記１３〜１５のうちの何れか一に記載のレイアウト検証プログラム。
【図面の簡単な説明】
【０１０３】
【図１】レイアウト検証装置の概略構成図。
【図２】レイアウト検証方法の概略フロー図。
【図３】レイアウト検証方法のフロー図（ペア配置素子間検証処理）。
【図４】レイアウト検証方法のフロー図（ペア配置抵抗間検証処理）。
【図５】レイアウト検証方法のフロー図（ペア配置周辺図形検証処理）。
【図６】レイアウト検証方法のフロー図（ペア配置周辺図形反転回転処理）。
【図７】レイアウト検証方法のフロー図（ペア配置ＭＯＳトランジスタ間検証処理）。
【図８】レイアウト検証方法のフロー図（エラー処理及び終了処理）。
【図９】レイアウトデータの説明図。
【図１０】制御カードの説明図。
【図１１】抽出した素子の説明図。
【図１２】（ａ）、（ｂ）は検証処理の説明図。
【図１３】（ａ）、（ｂ）は検証処理の説明図。
【図１４】（ａ）〜（ｃ）は検証処理の説明図。
【図１５】（ａ）〜（ｄ）は検証処理の説明図。
【図１６】（ａ）、（ｂ）は検証処理の説明図。
【図１７】（ａ）、（ｂ）は検証処理の説明図。
【図１８】（ａ）は検証対象の回路図、（ｂ）は検証対象の概略配置図、（ｃ）は距離算出結果の説明図。
【図１９】（ａ）は検証対象の回路図、（ｂ）は検証対象の概略配置図、（ｃ）は距離算出結果の説明図。
【図２０】（ａ）は検証対象の概略配置図、（ｂ）は距離算出結果の説明図。
【図２１】（ａ）は検証対象の概略配置図、（ｂ）は距離算出結果の説明図。
【図２２】（ａ）は検証対象の概略配置図、（ｂ）は距離算出結果の説明図。
【図２３】検証結果の説明図。
【図２４】（ａ）は検証対象の概略配置図、（ｂ）は距離算出結果の説明図。
【図２５】（ａ）は検証対象の概略配置図、（ｂ）は距離算出結果の説明図。
【図２６】（ａ）は検証対象の概略配置図、（ｂ）は距離算出結果の説明図。
【図２７】検証結果の説明図。
【図２８】（ａ）〜（ｄ）は検証対象の概略配置図。
【符号の説明】
【０１０４】
１１    コンピュータ
１２    中央処理装置（ＣＰＵ）
１３    メモリ
１４    磁気ディスク
１５    表示装置
１６    入力装置
１７    外部記憶装置
１８    バス
１９    記録媒体
１９ａ    光ディスク
１９ｂ    磁気媒体
５１    レイアウトデータ
５２    制御カード
５２ａ    層定義データ
５２ｂ    層間接続定義データ
５２ｃ    素子抽出条件データ
５２ｄ    ペアの要求データ
５２ｅ    第１条件データ
５２ｆ    第２条件データ
５２ｇ    第３条件データ
５３    座標データ
５４    ネットリスト（ｆｒｏｍレイアウト）
５５    ＭＯＳトランジスタのソース端子、ドレイン端子位置情報
５６    ネットリスト（ｆｒｏｍ回路設計）
５７    各ネットリストのインスタンス名対応情報
５８    ＭＯＳトランジスタのソース端子位置情報
５９    ワークデータ
６１ａ〜６１ｃ    拡散層
６２ａ〜６２ｃ    ポリシリコンにて形成されるパターン
６３ａ〜６３ｅ    金属にて形成されるパターン
６４ａ〜６４ｆ    ホール
６５ａ〜６５ｄ    金属にて形成されるパターンの一部
７１、７２    ＭＯＳトランジスタ
８１ａ、８１ｂ    図形群
８２    図形群８１ａ、８１ｂの論理演算処理の結果
８３ａ〜８３ｃ    図形群
９１ａ〜９１ｄ    抵抗層
９２ａ〜９２ｉ    コンタクト層
９２Ａ〜９２Ｉ    図形化されたコンタクト層
９３ａ〜９３ｄ    抵抗素子の本体部分
９４ａ〜９４ｉ    ソース端子
９５ａ〜９５ｌ    ゲート端子
９６ａ〜９６ｉ    ドレイン端子
９０１〜９０４    抵抗素子
９０５〜９１０    ＭＯＳトランジスタ
Ａ１〜Ａ４    トランジスタ
Ｂ１〜Ｂ３    トランジスタ
Ｃ１、Ｃ２    素子セル
ＣＬ１〜ＣＬ４    コンタクト層
Ｄ１〜Ｄ４    拡散層
Ｇ１、Ｇ２    ゲート端子
Ｒ１、Ｒ２    抵抗素子の本体部分
ＲＬ１、ＲＬ２    抵抗層
Ｓ１〜Ｓ４    検索領域
【図１】
2009086880.tif 000003
【図２】
2009086880.tif 000004
【図３】
2009086880.tif 000005
【図４】
2009086880.tif 000006
【図５】
2009086880.tif 000007
【図６】
2009086880.tif 000008
【図７】
2009086880.tif 000009
【図８】
2009086880.tif 000010
【図９】
2009086880.tif 000011
【図１０】
2009086880.tif 000012
【図１１】
2009086880.tif 000013
【図１２】
2009086880.tif 000014
【図１３】
2009086880.tif 000015
【図１４】
2009086880.tif 000016
【図１５】
2009086880.tif 000017
【図１６】
2009086880.tif 000018
【図１７】
2009086880.tif 000019
【図１８】
2009086880.tif 000020
【図１９】
2009086880.tif 000021
【図２０】
2009086880.tif 000022
【図２１】
2009086880.tif 000023
【図２２】
2009086880.tif 000024
【図２３】
2009086880.tif 000025
【図２４】
2009086880.tif 000026
【図２５】
2009086880.tif 000027
【図２６】
2009086880.tif 000028
【図２７】
2009086880.tif 000029
【図２８】
2009086880.tif 000030