(57)【要約】【課題】詳細な回路検証が可能な技術を提供する。【解決手段】集積回路のレイアウトデータを保持する記憶部と、レイアウトデータに基づいて、集積回路の経路探索を実行する演算処理部とを具備する回路検証装置を構成する。演算処理部は、レイアウトデータに基づいて階層構造を有する階層ネットリストを生成し、階層ネットリストを、階層構造を備えないフラットネットリストに変換し、フラットネットリストに基づいて集積回路のＩ／Ｏ電源の位置を特定し、Ｉ／Ｏ電源からの経路探索を実行し、不具合を生じる可能性のある素子を検証対象素子として抽出して検証結果ログに記録する。【選択図】図３
2010020393.tif 000002
【特許請求の範囲】
【請求項１】
集積回路のレイアウトデータを保持する記憶部と、
前記レイアウトデータに基づいて、前記集積回路の経路探索を実行する演算処理部と
を具備し、
前記演算処理部は、
前記レイアウトデータに基づいて階層構造を有する階層ネットリストを生成し、
前記階層ネットリストを、階層構造を備えないフラットネットリストに変換し、
前記フラットネットリストに基づいて前記集積回路のＩ／Ｏ電源の位置を特定し、
前記Ｉ／Ｏ電源からの経路探索を実行し、不具合を生じる可能性のある素子を検証対象素子として抽出して検証結果ログに記録する
回路検証装置。
【請求項２】
請求項１に記載の回路検証装置において、
前記演算処置部は、
前記フラットネットリストのフォーマットを調整して修正フラットネットリストを生成し、前記修正フラットネットリストに対応して前記集積回路の経路探索を実行する
回路検証装置。
【請求項３】
請求項２に記載の回路検証装置において、
前記演算処置部は、
前記修正フラットネットリストに対応して前記集積回路に設けられる複数の素子を特定し、
前記複数の素子のうち、Ｉ／Ｏ電源に直接に接続される第１コアトランジスタと、抵抗を介して前記Ｉ／Ｏ電源に接続される第２コアトランジスタと、Ｍｏｘトランジスタを介して前記Ｉ／Ｏ電源に接続される第３コアトランジスタと、Ｍｏｘトランジスタと抵抗との両方を介して前記Ｉ／Ｏ電源に接続される第４コアトランジスタとを前記検証対象素子として抽出して、前記検証結果ログに記録する
回路検証装置。
【請求項４】
請求項３に記載の回路検証装置において、
前記演算処置部は、
前記Ｉ／Ｏ電源に対し、直列に連続的に接続される３つ以上の抵抗を抵抗列として抽出し、前記抵抗列の後段の経路探索に実行を停止し、前記抵抗列の存在を示すメッセージを前記検証結果ログに記録する
回路検証装置。
【請求項５】
（ａ）レイアウトデータを読み出すステップと、
（ｂ）前記レイアウトデータに基づいて、階層構造を有する階層ネットリストを生成するステップと、
（ｃ）前記階層ネットリストを、階層構造を備えないフラットネットリストに変換するステップと、
（ｄ）前記フラットネットリストのフォーマットを調整して修正フラットネットリストを生成するステップと、
（ｅ）前記フラットネットリストに基づいて、前記集積回路のＩ／Ｏ電源の位置を特定し、前記Ｉ／Ｏ電源からの経路探索を実行し、不具合を生じる可能性のある素子を検証対象素子として抽出するステップと、
（ｆ）前記集積回路の経路探索の実行結果を示す検証結果ログを生成するステップと
を具備する
回路検証方法。
【請求項６】
請求項５に記載の回路検証方法において、
前記（ｅ）ステップは、
前記修正フラットネットリストに対応して前記集積回路に設けられる複数の素子を特定するステップと、
前記複数の素子のうち、Ｉ／Ｏ電源に直接に接続される第１コアトランジスタと、抵抗を介して前記Ｉ／Ｏ電源に接続される第２コアトランジスタと、高耐圧トランジスタを介して前記Ｉ／Ｏ電源に接続される第３コアトランジスタと、高耐圧トランジスタと抵抗とを介して前記Ｉ／Ｏ電源に接続される第４コアトランジスタとを前記検証対象素子として抽出するステップと、
前記検証対象素子を前記検証結果ログに記録するステップと
を含む
回路検証方法。
【請求項７】
請求項６に記載の回路検証方法において、
前記（ｃ）ステップは、
前記階層ネットリストの階層構造を示すノード名を維持しつつ、前記フラットネットリストを生成するステップを含む
回路検証方法。
【請求項８】
コンピュータを、集積回路の回路検証装置として機能させるための手順を示す回路検証プログラムであって、
（ａ）レイアウトデータを読み出すステップと。
（ｂ）前記レイアウトデータに基づいて、階層構造を有する階層ネットリストを生成するステップと、
（ｃ）前記階層ネットリストを、階層構造を備えないフラットネットリストに変換するステップと、
（ｄ）前記フラットネットリストのフォーマットを調整して修正フラットネットリストを生成するステップと、
（ｅ）前記フラットネットリストに基づいて、前記集積回路のＩ／Ｏ電源の位置を特定し、前記Ｉ／Ｏ電源からの経路探索を実行し、不具合を生じる可能性のある素子を検証対象素子として抽出するステップと
（ｆ）前記集積回路の経路探索の実行結果を示す検証結果ログを生成するステップと
を前記コンピュータに実行させるために手順を示す
回路検証プログラム。
【請求項９】
請求項８に記載の回路検証プログラムにおいて、
前記（ｅ）ステップは、
前記修正フラットネットリストに対応して前記集積回路に設けられる複数の素子を特定するステップと、
前記複数の素子のうち、Ｉ／Ｏ電源に直接に接続される第１コアトランジスタと、抵抗を介して前記Ｉ／Ｏ電源に接続される第２コアトランジスタと、高耐圧トランジスタを介して前記Ｉ／Ｏ電源に接続される第３コアトランジスタと、高耐圧トランジスタと抵抗とを介して前記Ｉ／Ｏ電源に接続される第４コアトランジスタとを検証対象素子として抽出するステップと、
前記検証対象素子を前記検証結果ログに記録するステップと
を含む
回路検証プログラム。
【請求項１０】
請求項９に記載の回路検証プログラムにおいて、
前記（ｃ）ステップは、
前記階層ネットリストの階層構造を示すノード名を維持しつつ、前記フラットネットリストを生成するステップを含む
回路検証プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路の検証装置、検証方法、検証プログラムに関する。
【背景技術】
【０００２】
ＣＯＴ（Customer Owned Tooling）ビジネスと呼ばれる業務においては、半導体集積回路の製造業者は、顧客が設計した半導体集積回路の製造を受託する。その製造業者は、その顧客から提供される顧客設計のレイアウトデータを基に、半導体集積回路を製造する。ここにおいて、その製造業者は、製造する半導体集積回路が、各種設計基準を満たした設計がなされているか否かを、十分に検証する必要がある。
【０００３】
詳細な回路検証を行うためには、回路図やネットリストといった設計情報を参照することが好ましい。ＣＯＴ（Customer Owned Tooling）ビジネスにおいては、そのような設計情報は、その顧客が保持している。その製造業者がその設計情報を入手することが困難な場合が多く、その場合、その製造業者は、最終的に入手する顧客設計のレイアウトデータを基に検証を実行する。
【０００４】
顧客側での回路検証は、一般的に、設計段階での回路シミュレーション等により、詳細な検証が行われている。顧客側での回路検証で漏れが生じてしまう可能性もあるため、それと同等の検証が受託製造側でも行えるのが望ましい。しかしながら、上述のように、ＣＯＴビジネスにおいては、受託製造側による詳細な回路検証を実現することが非常に難しい。
【０００５】
従来は、レイアウト設計制約チェック（ＤＲＣ：Design Rule Check）などのレイアウト検証を行い、それで検出できない部分は目視によるチェックを行っていた。例えば、内部電源を設けた回路構成にする場合は、その内部電源に十分なＥＳＤ（Electrostatic Discharge）保護素子が入っているか否かを、「目視」でチェックする場合が多かった。このような受託製造側での目視によるチェックでは、十分な検証が行われない可能性がある。効率的又は容易に電源系の検証を行うことが可能な回路検証装置を提供する技術が知られている（例えば、特許文献１参照）。
【０００６】
図１は、特許文献１（特開２００７−０６５８７９号公報）に記載の回路検証装置の構成を示すブロック図である。その回路検証装置は、レイアウトから抽出したネットリストデータ１１０ｂ等を用い、トランジスタを介した電源電圧の伝播を行う電位伝播処理部１１１ａと、この電位伝播処理部１１１ａで定まった各ノードの電位を、電源グループ設定データ１１０ｃに基づいて検証する異電源系信号接続検出処理部１１１ｂ及び順方向ダイオード検出処理部１１１ｃなどを備えている。
【０００７】
電源グループ設定データ１１０ｃは、複数の電源電圧がある場合に、例えば同時に電源遮断が行われる電源電圧をグループ化したものである。これを受けて、順方向ダイオード検出処理部１１１ｃでは、それぞれ異なるグループに属する電源電圧に両端が接続されたダイオード回路を検出する。すなわち、ダイオード回路のカソード側の電源電圧が電源遮断されることによって生じる順方向バイアスの不具合を検出する。異電源系信号接続検出処理部１１１ｂでも同様に、異電源の信号を受け渡す異電源接続回路を検出する。すなわち、異電源信号を受け取る後段回路に静的な貫通電流が発生する恐れがあり問題と成り得る箇所を検出する。
【０００８】
【特許文献１】特開２００７−０６５８７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
顧客設計のＣＯＴビジネスにおいて、受託製造を行う製造業者は、回路シミュレーションに実行に十分な情報を入手するのは困難である。仮に入手できたとしても、回路構成や動作等を理解し回路シミュレーションを実際に行うまでの準備や、回路シミュレーション自体に膨大な実行時間がかかる。そのため、受託製造側の受け入れ検証として回路シミュレーションを行うのは現実的に難しい。また、顧客から入手する情報がレイアウトデータのみで回路構成が分からない場合に、目視で内部電源等を全て把握するのは難しく、チェックが漏れてしまう可能性が大きい。
【００１０】
特許文献１に記載の技術では、順方向バイアスや貫通電流等の問題を未然に防ぐべく異電源接続回路を検出している。ＥＳＤ破壊を招く可能性があるトランジスタを検出することはできない場合がある。本発明が解決しようとする課題は、より詳細な回路検証が可能な技術を提供することにある。
【課題を解決するための手段】
【００１１】
以下に、［発明を実施するための最良の形態］で使用される番号を用いて、課題を解決するための手段を説明する。これらの番号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］との対応関係を明らかにするために付加されたものである。ただし、それらの番号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１２】
上記の課題を解決するために、集積回路のレイアウトデータ（１２）を保持する記憶部（７）と、前記レイアウトデータ（１２）に基づいて、前記集積回路の経路探索を実行する演算処理部（５）とを具備する回路検証装置（１）を構成する。ここにおいて、前記演算処理部（５）は、前記レイアウトデータ（１２）に基づいて階層構造を有する階層ネットリスト（１４）を生成し、前記階層ネットリスト（１４）を、階層構造を備えないフラットネットリスト（１５）に変換し、前記フラットネットリスト（１５）に基づいて前記集積回路のＩ／Ｏ電源（２１）の位置を特定し、前記Ｉ／Ｏ電源（２１）からの経路探索を実行し、不具合を生じる可能性のある素子を検証対象素子として抽出して検証結果ログ（１７）に記録する。
【００１３】
回路検証装置（１）は、Ｍｏｘトランジスタおよび抵抗を介してＩ／Ｏ電源に繋がるコアトランジスタを検証対象素子とし、顧客から入手する情報がレイアウトデータのみであっても、そのレイアウトデータに基づいてその検証対象素子を抽出する。
【発明の効果】
【００１４】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、回路図やネットリストといった設計情報に依存せずに回路検証が可能な回路検証装置を構成することができる。
また、本発明によると、自動でそれらのチェックを行うトータル的な検証フローを行うことができる。
【発明を実施するための最良の形態】
【００１５】
図２は、本実施形態の回路検証装置１の構成を例示するブロック図である。回路検証装置１は、コンピュータ本体２と、入力装置３と、出力装置４とを備えている。コンピュータ本体２は、プログラムに示される手順に従って情報処理を高速に実行する装置である。コンピュータ本体２は、入力、記憶、演算、制御、出力の５つの基本機能を備えている。入力装置３は、ユーザの操作に応答してコンピュータ本体２に情報を入力するマンマシンインターフェースである。入力装置３の代表として、キーボードやマウスなどが例示される。出力装置４は、コンピュータ本体２の処理結果を外部に出力するマンマシンインターフェースである。入力装置３の代表として、液晶ディスプレイや、プリンタなどが例示される。
【００１６】
コンピュータ本体２は、ＣＰＵ５と、メモリ６と、大容量記憶装置７とを含み、それらはバス８を介して接続されている。ＣＰＵ５は、コンピュータ本体２に備えられた各種装置の制御や、入出力されるデータの処理を行う。ＣＰＵ５は、入力装置３から入力されるデータを解釈して演算し、その演算結果を出力装置４などに出力する。メモリ６は、ＣＰＵ５で処理されるデータを記憶する。大容量記憶装置７は、補助記憶装置とも呼ばれ、ＣＰＵ５で処理されるコンピュータプログラムや、データ、演算処理の結果などを保持する。
【００１７】
図２に示されているように、大容量記憶装置７は、回路検証プログラム１１を、読出しが可能な状態で保持する。また大容量記憶装置７は、レイアウトデータ１２と、電源・グランド端子情報１３と、階層ネットリスト１４と、フラットネットリスト１５と、修正フラットネットリスト１６と、検証結果ログ１７とを、読出しと書き換えとが可能な状態で保持する。
【００１８】
回路検証プログラム１１は、本実施形態において、集積回路を構成する複数の素子のうち、検証対象とする素子を検出するための手順を示している。レイアウトデータ１２は、半導体集積回路の製造業者が、顧客から受け取ったレイアウトデータである。レイアウトデータ１２は、ＥＢ（Electron Beam）処理やマスク作成の際に必要となる情報を含んでいる。ここにおいて、レイアウトデータ１２には、回路図データやネットリストなどの回路構成に関する情報が含まれていないものとする。
【００１９】
電源・グランド端子情報１３は、Ｉ／Ｏ電源の端子情報、コア電源の端子情報、およびグラウンドの端子情報を含んでいる。階層ネットリスト１４は、階層構造に対応するノード名を備えている。フラットネットリスト１５は、階層ネットリスト１４を、一般的なプログラミング言語でハンドリングしやすいように、トランジスタ縮退したネットリストである。なお、本実施形態においては、その一般的なプログラミング言語として、Ｐｅｒｌを使用する場合を例示する。修正フラットネットリスト１６は、複数の素子毎の記述が修正されており、各素子は、1行で記述されている。検証結果ログ１７は、回路検証プログラム１１を実行した実行結果を記録している。
【００２０】
図３は、本実施形態において、検証の対象となる回路モデル２０の構成を例示する回路図である。回路モデル２０は、Ｉ／Ｏ電源と内部電源線との間に、Power Gateと呼ばれるゲート酸化膜の厚いトランジスタ(以下、MOXトランジスタと呼ぶ)を備えている。また、回路モデル２０は、内部電源線の後段に、コアトランジスタを備えている。回路モデル２０は、ＭｏｘトランジスタのＯＮ／ＯＦＦを制御することで、消費電力を低減させることができる。
【００２１】
図３に示されているように、回路モデル２０は、Ｉ／Ｏ電源２１と、接地線２７とを備えている。また、回路モデル２０は、第１内部電源線２４と、第２内部電源線３２とを備えている。Ｉ／Ｏ電源２１と第１内部電源線２４の間には、第１抵抗素子２２と第１Ｍｏｘトランジスタ２３が配置されている。第１抵抗素子２２と第１Ｍｏｘトランジスタ２３は、第１ノードＮ１を介して接続されている。第１Ｍｏｘトランジスタ２３は、第２ノードＮ２を介して第１内部電源線２４に接続されている。第１内部電源線２４と接地線２７との間には、インバータを構成する第１コアＰＭＯＳトランジスタ２５と第１コアＮＭＯＳトランジスタ２６とが配置されている。
【００２２】
また、Ｉ／Ｏ電源２１と第２内部電源線３２との間には、第２抵抗素子２８と第３抵抗素子２９と第２Ｍｏｘトランジスタ３１とが配置されている。第２抵抗素子２８と第３抵抗素子２９は、第１ノードＮ３を介して接続されている。第３抵抗素子２９と第２Ｍｏｘトランジスタ３１は、第３ノードＮ４を介して接続されている。第２Ｍｏｘトランジスタ３１は、第４ノードＮ５を介して第２内部電源線３２に接続されている。第２内部電源線３２と接地線２７との間には、インバータを構成する第２コアＰＭＯＳトランジスタ３３と第２コアＮＭＯＳトランジスタ３４とが配置されている。
【００２３】
また、回路モデル２０は、第４抵抗素子３５と、第５抵抗素子３６と、第６抵抗素子３７とを備える抵抗列３８を含んでいる。抵抗列３８は、Ｉ／Ｏ電源２１に直接的に接続されている。第４抵抗素子３５は、第１ノードＮ６を介して第５抵抗素子３６に接続され、第５抵抗素子３６は、第３ノードＮ７を介して第６抵抗素子３７に接続されている。
【００２４】
このような集積回路を検証する場合、コアトランジスタの耐圧チェックおよび内部電源チェックを行うことが好ましい。例えば、Ｉ／Ｏ電源に直結されたコアトランジスタや、抵抗を介してＩ／Ｏ電源に接続されたコアトランジスタを抽出することで、回路にとって不具合が生じる可能性のある箇所を特定することができる。また、Ｍｏｘトランジスタを介してＩ／Ｏ電源に接続されたコアトランジスタを抽出することで、回路にとって不具合が生じる可能性のある箇所を特定することができる。それによって、集積回路の設計品質向上の一助とすることができる。本実施形態の回路検証装置１は、回路情報を含まないレイアウトデータだけで、そのような検証を適切に実行することができる。
【００２５】
図４は、本実施形態の回路検証装置１の動作を例示するフローチャートである。図４を参照すると、本実施形態の動作は、コンピュータ本体２のＣＰＵ５が、回路検証プログラム１１を読出し、その回路検証プログラム１１に示される手順に従って、動作することで開始する。
【００２６】
ステップＳ１０１において、回路検証装置１は、回路検証プログラム１１に示される手順に従って、大容量記憶装置７からレイアウトデータ１２を読み出す。ステップＳ１０２において、大容量記憶装置７から、電源・グランド端子情報１３を読み出す。ステップＳ１０３において、顧客より入手したレイアウトデータ１２に、電源・グランド端子情報１３に含まれるＩ／Ｏ電源の端子情報、コア電源の端子情報、およびグラウンドの端子情報を付加して、階層ネットリスト１４を生成する。
【００２７】
ステップＳ１０４において、その階層ネットリスト１４を、例えばＰｅｒｌなどの一般的なプログラミング言語でハンドリングしやすいように、トランジスタを縮退したフラットネットリスト１５へ変換する。本実施形態では、一旦、レイアウトデータ１２を階層ネットリスト１４に変換してからフラットネットリスト１５に変換している。これにより、フラットネットリスト１５は、階層構造を残したノード名となる。そのため、後の工程で問題の可能性のある箇所が抽出・レポートされたときに、その箇所を認識するのが容易になる。
【００２８】
ステップＳ１０５において、各素子毎の記述が１行となるようにフラットネットリスト１５の改行表記を削除して修正フラットネットリスト１６を生成する。ステップＳ１０６において、生成された修正フラットネットリスト１６を読み込む。このように、フラットネットリスト１５のフォーマットの修正を行うことにより、入力データの各行毎に処理を行っていく場合に、適切にデータ処理を行うことが可能となる。
【００２９】
ステップＳ１０７において、修正フラットネットリスト１６を入力データとして、回路検証プログラム１１に示される手順に従って、回路の経路探索を実行し、回路内部で問題となる可能性のある箇所を抽出する。なお、ステップＳ１０７の詳細な動作に関しては後述する。ステップＳ１０８において、回路の経路探索を実行した実行結果を検証結果ログ１７に記録する。
【００３０】
図５は、上述のステップＳ１０７の詳細な動作を例示するフローチャートである。ステップＳ２０１において、修正フラットネットリスト１６に基づいて、検証対象の集積回路のＩ／Ｏ電源を特定する。ステップＳ２０２において、その特定したＩ／Ｏ電源に対し、他の素子を介することなく繋がっているコアトランジスタを、第１トランジスタとして抽出する。
【００３１】
ステップＳ２０３において、その特定したＩ／Ｏ電源に対し、抵抗素子を介して繋がっているコアトランジスタを、第２トランジスタとして抽出する。ステップＳ２０４において、その特定したＩ／Ｏ電源に対し、Ｍｏｘトランジスタを介して繋がっているコアトランジスタを、第３トランジスタとして抽出する。
【００３２】
ステップＳ２０５において、その特定したＩ／Ｏ電源に対し、Ｍｏｘトランジスタと抵抗素子の両方を介して繋がっているコアトランジスタを、第４トランジスタとして抽出する。ステップＳ２０６において、その特定したＩ／Ｏ電源に対し、抵抗素子が直列に３つ以上接続されている箇所（以下、抵抗列と記載する）を抽出する。抵抗列を抽出した場合、その後段の経路探索を停止する。その後、ステップＳ２０７において、抵抗列を抽出した場合、その抵抗列の存在をユーザに知らせるためにメッセージを生成する。
【００３３】
図６Ａ〜図６Ｃは、検出対象のトランジスタを抽出する動作を例示するフローチャートである。図６Ａを参照すると、ステップＳ３０１において、Ｉ／Ｏ電源に直接繋がった抵抗素子が、配置されているか否かの判断を行う。その判断の結果、そのような抵抗素子が設けられていた場合、処理はステップＳ３０２に進む。その判断の結果、そのような抵抗素子が無いときには、処理は終了する。
【００３４】
ステップＳ３０２において、その抵抗素子の後段のノードを第１ノードとし、その第１ノードのトレースが終了しているか否かの判断を実行する。その判断の結果、トレースが終了している場合には処理は戻り、他の抵抗素子を対象として、処理を繰り返す。その判断の結果、第１ノードのトレースが終了していない場合には、処理はステップＳ３０３に進む。
【００３５】
ステップＳ３０３において、そのノードに直接繋がったＭｏｘトランジスタが存在するか否かの判断を実行する。その判断の結果、そのようなＭｏｘトランジスタが設けられていた場合、処理はステップＳ３０４に進む。そのようなＭｏｘトランジスタが無いと判断した場合には、処理は、ステップＳ３０８に進む。
【００３６】
ステップＳ３０４において、Ｍｏｘトランジスタの後段のノードを第２ノードとし、その第２ノードのトレースが終了しているか否かの判断を実行する。その判断の結果、トレースが終了している場合には処理は戻り、他のＭｏｘトランジスタを対象として、処理を繰り返す。第２ノードのトレースが終了していない場合には、処理はステップＳ３０５に進む。
【００３７】
ステップＳ３０５において、第２ノードに繋がったコアトランジスタが存在するか否かの判断を実行する。その判断の結果、コアトランジスタが存在しない場合には処理は戻り、他のＭｏｘトランジスタを対象として、処理を繰り返す。第２ノードに接続されたコアトランジスタが配置されている場合には、処理はステップＳ３０６に進む。ステップＳ３０６において、探索した経路に関する情報を、経路探索の結果として、検証結果ログに記録する。
【００３８】
ステップＳ３０７において、全ノードのトレースが終了しているか否かの判断を実行する。その判断の結果、その判断の結果、全ノードのトレースが終了していない場合には処理はステップＳ３０３に戻り、他のＭｏｘトランジスタを対象として、処理を繰り返す。全ノードのトレースが終了している場合には、処理は終了する。
【００３９】
図６Ｂを参照すると、ステップＳ３０８において、第１ノードに直接繋がった抵抗素子が、配置されているか否かの判断を行う。その判断の結果、そのような抵抗素子が設けられていた場合、処理はステップＳ３０９に進む。その判断の結果、そのような抵抗素子が無いときには、処理は終了する。
【００４０】
ステップＳ３０９において、第１ノードに接続された抵抗素子の後段のノードを、第３ノードとし、その第３ノードのトレースが終了しているか否かの判断を実行する。その判断の結果、トレースが終了している場合には処理は戻り、他の抵抗素子を対象として、処理を繰り返す。その判断の結果、第３ノードのトレースが終了していない場合には、処理はステップＳ３１０に進む。
【００４１】
ステップＳ３１０において、その第３ノードに直接繋がったＭｏｘトランジスタが存在するか否かの判断を実行する。その判断の結果、そのようなＭｏｘトランジスタが設けられていた場合、処理はステップＳ３１１に進む。そのようなＭｏｘトランジスタが無いと判断した場合には、処理は、ステップＳ３１５に進む。
【００４２】
ステップＳ３１１において、Ｍｏｘトランジスタの後段のノードを第４ノードとし、その第４ノードのトレースが終了しているか否かの判断を実行する。その判断の結果、トレースが終了している場合には処理は戻り、他のＭｏｘトランジスタを対象として、処理を繰り返す。第４ノードのトレースが終了していない場合には、処理はステップＳ３１２に進む。
【００４３】
ステップＳ３１２において、第４ノードに繋がったコアトランジスタが存在するか否かの判断を実行する。その判断の結果、コアトランジスタが存在しない場合には処理は戻り、他のＭｏｘトランジスタを対象として、処理を繰り返す。第４ノードに接続されたコアトランジスタが配置されている場合には、処理はステップＳ３１３に進む。ステップＳ３１３において、探索した経路に関する情報を、経路探索の結果として、検証結果ログに記録する。
【００４４】
ステップＳ３１４において、全ノードのトレースが終了しているか否かの判断を実行する。その判断の結果、その判断の結果、全ノードのトレースが終了していない場合には処理はステップＳ３１０に戻り、他のＭｏｘトランジスタを対象として、処理を繰り返す。全ノードのトレースが終了している場合には、処理は終了する。
【００４５】
図６Ｃを参照すると、ステップＳ３１５において、第３ノードに直接繋がった抵抗素子が配置されているか否かの判断を行う。その判断の結果、そのような抵抗素子が設けられていた場合、処理はステップＳ３１６に進む。その判断の結果、そのような抵抗素子が無いときには、処理は終了する。ステップＳ３１６において、探索した経路に関する情報を、経路探索の結果として、検証結果ログに記録する。
【００４６】
ステップＳ３１７において、全ノードのトレースが終了しているか否かの判断を実行する。その判断の結果、その判断の結果、全ノードのトレースが終了していない場合には処理はステップＳ３１５に戻り、他の抵抗素子を対象として、処理を繰り返す。全ノードのトレースが終了している場合には、処理は終了する。
【００４７】
上述のような構成・動作によって、Ｍｏｘトランジスタおよび抵抗を介してＩ／Ｏ電源に繋がるコアトランジスタを抽出することが可能となる。またその抽出時の検証時間を短縮することが可能となる。
【００４８】
例えば、上述の図５に示されるような回路モデル２０において、第１抵抗素子２２および第１Ｍｏｘトランジスタ２３を介して、第１内部電源線２４および第１コアＰＭＯＳトランジスタ２５にＩ／Ｏ電源２１が繋がっている。仮に、第１内部電源線２４に、第１コアＰＭＯＳトランジスタ２５を保護するための電源保護回路が付加されてない場合には、この第１コアＰＭＯＳトランジスタ２５はＥＳＤ破壊してしまう可能性がある。そのため、この第１コアＰＭＯＳトランジスタ２５は本実施形態における抽出対象の素子となる。同様に、第２コアＰＭＯＳトランジスタ３３も抽出対象の素子となる。
【００４９】
さらに、第４抵抗素子３５、第５抵抗素子３６、第６抵抗素子３７のように抵抗素子が３つ以上繋がった先に、前述のような抽出対象となるコアトランジスタが存在している可能性が低い。そのため、本実施形態では、その先のノードはトレースを行わないようにしている。これによって、検証時間の短縮を実現している。なお、抵抗素子が３つ以上繋がった先に、抽出対象が存在する可能性もある、したがって、本実施形態の回路検証装置１は、Ｗａｒｎｉｎｇとしてレポートを行う機能を備えている。
【００５０】
また、本実施形態の回路検証装置１は、対象のコアトランジスタを抽出した際、Ｍｏｘトランジスタを介して内部電源が存在することを知ることができる。更に、対象のコアトランジスタを保護するための電源保護がもし付加されていれば、それも同時に抽出される。そのため、それら電源保護がＥＳＤ基準的に十分なものかどうか確認した上で、必要な対策を講じていくことができる。
【００５１】
なお、本願発明は、上述の実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【図面の簡単な説明】
【００５２】
【図１】図１は、従来の回路検証装置の構成を示すブロック図である。
【図２】図２は、本実施形態の回路検証装置の構成を示すブロック図である。
【図３】図３は、本実施形態において、検証の対象となる回路モデルの構成を例示する回路図である。
【図４】図４は、本実施形態の回路検証装置の動作を例示するフローチャートである。
【図５】図５は、本実施形態の回路検証装置の詳細な動作を例示するフローチャートである。
【図６Ａ】図６Ａは、検出対象のトランジスタを抽出する動作を例示するフローチャートである。
【図６Ｂ】図６Ｂは、検出対象のトランジスタを抽出する動作を例示するフローチャートである。
【図６Ｃ】図６Ｃは、検出対象のトランジスタを抽出する動作を例示するフローチャートである。
【符号の説明】
【００５３】
１…回路検証装置
２…コンピュータ本体
３…入力装置
４…出力装置
５…ＣＰＵ
６…メモリ
７…大容量記憶装置
８…バス
１１…回路検証プログラム
１２…レイアウトデータ
１３…電源・グランド端子情報
１４…階層ネットリスト
１５…フラットネットリスト
１６…修正フラットネットリスト
１７…検証結果ログ
２０…回路モデル
２１…Ｉ／Ｏ電源
２２…第１抵抗素子
２３…第１Ｍｏｘトランジスタ
２４…第１内部電源線
２５…第１コアＰＭＯＳトランジスタ
２６…第１コアＮＭＯＳトランジスタ
２７…接地線
２８…第２抵抗素子
２９…第３抵抗素子
３１…第２Ｍｏｘトランジスタ
３２…第２内部電源線
３３…第２コアＰＭＯＳトランジスタ
３４…第２コアＮＭＯＳトランジスタ
３５…第４抵抗素子
３６…第５抵抗素子
３７…第６抵抗素子
３８…抵抗列
Ｎ１…第１ノード
Ｎ２…第２ノード
Ｎ３…第１ノード
Ｎ４…第３ノード
Ｎ５…第４ノード
Ｎ６…第１ノード
Ｎ７…第３ノード
１１０ｂ…ネットリストデータ
１１０ｃ…電源グループ設定データ
１１１ａ…電位伝播処理部
１１１ｂ…異電源系信号接続検出処理部
１１１ｃ…順方向ダイオード検出処理部
【図１】
2010020393.tif 000003
【図２】
2010020393.tif 000004
【図３】
2010020393.tif 000005
【図４】
2010020393.tif 000006
【図５】
2010020393.tif 000007
【図６Ａ】
2010020393.tif 000008
【図６Ｂ】
2010020393.tif 000009
【図６Ｃ】
2010020393.tif 000010