本発明のネットリスト変換方法は、静止状態時の貫通電流の検出対象となるネットリストを指定するネットリスト指定ステップと、上記検出対象ネットリストから、MOSトランジスタのゲート端子に接続されているネットを抽出し、該抽出したネットを、閾値の異なる上記MOSトランジスタ毎に設けた抽出ネットデータベースに保持するネット抽出ステップと、上記閾値の異なるMOSトランジスタ毎に設けた抽出ネットデータベースを元に、上記検出対象ネットリスト内の、上記抽出されたMOSトランジスタのゲート端子に接続されているネットと該MOSトランジスタの閾値毎に決められた電源との間、及び該抽出されたネットと基準電位との間のそれぞれに、上記抽出されたMOSトランジスタ以外の回路の動作に支障をきたさない高い抵抗値の抵抗素子を挿入する抵抗挿入ステップと、を含むものである。
これにより、静止状態時の貫通電流検出対象回路が、アナログCMOS回路であっても、CMOS論理回路であっても、静止状態で貫通電流が流れる可能性のある箇所を確実に検出することが可能となる。また、該貫通電流が流れる可能性のあるMOSトランジスタのゲート端子を、電源−基準電圧間の電圧に固定することができる。
さらに、本発明のネットリスト変換方法は、上記ネット抽出ステップが、上記検出対象ネットリスト内のMOSトランジスタを検出するMOSトランジスタ検出ステップと、上記検出したMOSトランジスタのゲート端子に接続されているネットを検出し、該検出されたネットを上記抽出ネットデータベースに保持するネット検出ステップと、上記検出対象ネットリスト内の抵抗素子を検出し、該検出された抵抗素子の抵抗素子名を抵抗素子名データベースに保持する抵抗素子検出ステップと、を含むものである。
これにより、貫通電流検出対象回路内の、静止状態で貫通電流が流れる可能性のあるネットを確実に検出することが可能となる。
さらに、本発明のネットリスト変換方法は、上記MOSトランジスタ検出ステップが、上記検出対象ネットリスト内に含まれる各行の先頭文字が“M”であるか否かを検出し、該行の先頭文字が“M”であれば、該行はMOSトランジスタに関し記載するものであると判定するものである。
これにより、貫通電流検出対象回路内の、MOSトランジスタを確実に検出することができる。
さらに、本発明のネットリスト変換方法は、上記ネット検出ステップが、上記MOSトランジスタ検出ステップにより上記MOSトランジスタに関する記載であると判定された行から、該MOSトランジスタのゲート端子に接続されているネットを検出し、上記行の第6文字列のMOSトランジスタのモデル名より、上記MOSトランジスタの閾値を判定し、上記MOSトランジスタの閾値毎に設けた抽出ネットデータベースの、対応する閾値のデータベースに、上記MOSトランジスタのゲート端子に接続されているネットを保持するものである。
これにより、貫通電流検出対象回路内の、MOSトランジスタのゲート端子に接続されているネットを確実に検出することができる。
さらに、本発明のネットリスト変換方法は、上記抵抗素子検出ステップが、上記検出対象ネットリスト内に含まれる各行の先頭文字が“R”であるか否かを検出し、該行の先頭文字が“R”であれば、該行は抵抗素子に関し記載するものであると判定し、上記抵抗素子に関し記載するものであると判定された行の第1文字列を、上記抵抗素子の抵抗素子名として抽出し、該抽出した上記抵抗素子の抵抗素子名を、上記抵抗素子名データベースに保持するものである。
これにより、貫通電流検出対象回路内に含まれる抵抗素子を確実に検出することができる。
さらに、本発明のネットリスト変換方法は、上記抵抗挿入ステップが、上記抵抗素子名データベースを検索して、唯一の抵抗素子名であるものとなる新たな抵抗素子名を作成し、上記作成された新たな抵抗素子名の抵抗素子を、上記閾値の異なるMOSトランジスタ毎に設けた各抽出ネットデータベースに保持されているネットと該MOSトランジスタの閾値毎に決められた電源との間、及び該保持されているネットと基準電位との間を結ぶように、ネットリストに追加し、該追加した上記抵抗素子の上記抵抗素子名を、上記抵抗素子名データベースに追加するものである。
これにより、貫通電流検出対象回路内の、貫通電流が流れる可能性のある箇所に抵抗素子を挿入することができる。
さらに、本発明のネットリスト変換方法は、上記ネット抽出ステップにより抽出され、上記閾値の異なるMOSトランジスタ毎に設けた抽出ネットデータベースに保持されたネットのうち、該各抽出ネットデータベース内で重複しているネットを削除する重複ネット削除ステップを含み、上記抵抗挿入ステップは、上記重複ネット削除ステップにより重複しているネットが削除された上記抽出ネットデータベースを元に、上記検出対象ネットリスト内の、上記MOSトランジスタのゲート端子に接続されているネットと該MOSトランジスタの閾値毎に決められた電源との間、及び該抽出されたネットと基準電位との間のそれぞれに、上記抵抗素子を挿入するものである。
これにより、貫通電流検出対象回路内に挿入する抵抗素子の数を必要最低限の数とすることができる。
さらに、本発明のネットリスト変換方法は、上記重複ネット削除ステップが、上記閾値の異なるMOSトランジスタ毎に設けた抽出ネットデータベースを読み込み、該読み込んだ抽出ネットデータベース内に格納されているネットを辞書順に並び替え、該並び替えた抽出ネットデータベース内を先頭より検索し、検索対象のネットと等しいネットを削除するものである。
これにより、貫通電流検出対象回路において、ネットリストに抵抗素子を挿入する箇所の重複を防ぐことができる。
さらに、本発明のネットリスト変換方法は、上記閾値の異なるMOSトランジスタ毎に設けた上記抽出ネットデータベースを読み込み、該抽出ネットデータベース毎に、上記抽出ネットデータベース内に含まれるネット数をカウントするネット数カウントステップを含むものである。
これにより、貫通電流検出対象回路のネットリストから抽出されたネットの数をカウントすることができ、該ネットリスト変換処理によって抵抗素子が挿入されるネットの数を得ることができる。
また、本発明のネットリスト変換方法は、静止状態時の貫通電流の検出対象となるネットリストを指定するネットリスト指定ステップと、上記検出対象ネットリスト内のMOSトランジスタを、該MOSトランジスタの閾値及び種類に応じたサブサーキットに置き換えるサブサーキット置換えステップと、上記検出対象ネットリストに、上記置き換えたサブサーキットのサブサーキット情報を追加するサブサーキット追加ステップと、を含み、上記サブサーキット情報は、上記サブサーキットに置き換えられたMOSトランジスタの閾値及び種類に応じたMOSトランジスタと、該MOSトランジスタのゲート端子と該MOSトランジスタの閾値に応じた電源との間、及び該MOSトランジスタのゲート端子と基準電圧との間にそれぞれ挿入される、該MOSトランジスタ以外の回路の動作に支障をきたさない高い抵抗値の抵抗素子と、を含むものである。
これにより、静止状態時の貫通電流検出対象回路が、アナログCMOS回路であっても、CMOS論理回路であっても、静止状態で貫通電流が流れる可能性のある箇所を確実に検出することが可能となる。また、該貫通電流が流れる可能性のあるMOSトランジスタのゲート端子を、電源−基準電圧間の電圧に固定することができる。また、貫通電流検出対象回路内の、貫通電流が発生する可能性のある箇所に抵抗素子を挿入することができる。さらに、上記ネットリスト変換方法で変換された変換後のネットリストは、変換前のネットリストが維持されたまま、該ネットリスト内に抵抗素子が追加されていくので、ネットリスト変換後のネットリストから、上記検出対象回路の構成がわかりやすいという効果もある。
さらに、本発明のネットリスト変換方法は、上記サブサーキット置換えステップにより、上記MOSトランジスタの閾値及び種類に応じたサブサーキットに置き換えられたMOSトランジスタの数をカウントする置換えトランジスタ数カウントステップを含むものである。
これにより、貫通電流検出対象回路のネットリスト内の、置き換えられたMOSトランジスタをカウントすることができ、ネットリスト変換処理によって抵抗素子が挿入されたネットの数を得ることができる。
さらに、本発明のネットリスト変換方法は、上記サブサーキット置換えステップが、上記検出対象ネットリスト内のMOSトランジスタを検出し、該検出したMOSトランジスタに関して記載されている行の第6文字列のMOSトランジスタのモデル名より、該MOSトランジスタの閾値及び種類を判定し、上記検出したMOSトランジスタの記載を、該MOSトランジスタの閾値及び種類に応じたサブサーキットに置換え、該置き換えたサブサーキットの行の第1文字列の先頭に“X”を追加すると共に、該行に、上記サブサーキットに置き換える前の上記MOSトランジスタの記載の第2、第3、第4、第5文字列の、“ドレイン端子”、“ゲート端子”、“ソース端子”、“バルク端子”からなる接続情報、及び“W:チャネル幅”、“L:チャネル長”、“M:マルチプライヤ”からなるパラメータ情報を記載するものである。
これにより、貫通電流検出対象回路内の、貫通電流が発生する可能性のあるMOSトランジスタを、サブサーキットに置き換えることが可能となる。
また、本発明のネットリスト変換方法は、静止状態時の貫通電流の検出対象となるネットリストを指定するネットリスト指定ステップと、上記検出対象ネットリストから、MOSトランジスタのゲート端子に接続されているネットを抽出し、該抽出したネットを、閾値の異なる上記MOSトランジスタ毎に設けた抽出ネットデータベースに保持する第1ネット抽出ステップと、上記検出対象ネットリストから、サブサーキットの入力端子に接続されているネットを抽出し、該抽出したネットを、上記閾値の異なるMOSトランジスタ毎に設けた抽出ネットデータベースに保持する第2ネット抽出ステップと、上記閾値の異なるMOSトランジスタ毎に設けた抽出ネットデータベースを元に、上記検出対象ネットリスト内の、上記第1ネット抽出ステップ及び第2ネット抽出ステップにおいて抽出されたネットと電源との間、及び該抽出されたネットと基準電位との間のそれぞれに、上記MOSトランジスタ、あるいは上記サブサーキット以外の回路の動作に支障をきたさない高い抵抗値の抵抗素子を挿入する抵抗挿入ステップと、を含むものである。
これにより、静止状態時の貫通電流検出対象回路が、アナログCMOS回路であっても、CMOS論理回路であっても、静止状態で貫通電流が流れる可能性のある箇所を確実に検出することが可能となる。また、該貫通電流が流れる可能性のあるMOSトランジスタのゲート端子を、電源−基準電圧間の電圧に固定することができる。さらに、ネットリストに、サブサーキットが含まれていても、該サブサーキット内の貫通電流が検出される可能性のある箇所を確実に検出することが可能となる。
さらに、本発明のネットリスト変換方法は、上記第2ネット抽出ステップが、上記検出対象ネットリスト内に含まれる各行の先頭文字が“X”であるか否かを検出し、該行の先頭文字が“X”であれば、該行はサブサーキットに関し記載するものであると判定するものである。
これにより、貫通電流検出対象回路内の、サブサーキットを確実に検出することができる。
さらに、本発明のネットリスト変換方法は、上記第1ネット抽出ステップ、及び第2ネット抽出ステップにより抽出され、上記閾値の異なるMOSトランジスタ毎に設けた抽出ネットデータベースに保持されたネットのうち、該各抽出ネットデータベース内で重複しているネットを削除する重複ネット削除ステップを含み、上記抵抗挿入ステップは、上記重複ネット削除ステップにより重複しているネットが削除された抽出ネットデータベースを元に、上記検出対象ネットリスト内の、上記第1ネット抽出ステップ及び第2ネット抽出ステップにおいて抽出されたネットと電源との間、及び該抽出されたネットと基準電位との間のそれぞれに、上記抵抗素子を挿入するものである。
これにより、貫通電流検出対象回路のネットリストにおいて、抵抗素子を挿入する箇所の重複を防ぐことができ、上記貫通電流検出対象回路に挿入する抵抗素子をさらに削減することができる。
さらに、本発明のネットリスト変換方法は、上記閾値の異なるMOSトランジスタ毎に設けた上記抽出ネットデータベースを読み込み、該各抽出ネットデータベース毎に、上記抽出ネットデータベース内に含まれるネットの数をカウントするネット数カウントステップを含むものである。
これにより、貫通電流検出対象回路のネットリストから抽出されたネットの数をカウントして、抵抗素子が挿入されるネットの数を得ることができる。
さらに、本発明のネットリスト変換方法は、上記第2ネット抽出ステップにより抽出されたサブサーキットと、特定のサブサーキットが登録されているサブサーキットデータベースとを比較する比較ステップを含み、上記抵抗挿入ステップは、上記閾値の異なるMOSトランジスタ毎に設けた抽出ネットデータベースを元に、上記検出対象ネットリスト内の、上記第1ネット抽出ステップにおいて抽出されたネットと電源との間、及び該抽出されたネットと基準電位との間のそれぞれに、上記MOSトランジスタ以外の回路の動作に支障をきたさない高い抵抗値の抵抗素子を挿入すると共に、上記検出対象ネットリスト内の、上記第2ネット抽出ステップにより抽出されたサブサーキットのうち、上記比較ステップにおいて上記サブサーキットデータベースに登録されていると判定されたサブサーキットに含まれるネット以外のネットと電源との間、及び該ネットと基準電圧との間のそれぞれに、上記サブサーキット以外の回路の動作に支障をきたさない高い抵抗値の抵抗素子を挿入するものである。
これにより、貫通電流が流れる可能性のあるMOSトランジスタのゲート端子を、電源−基準電圧間の電圧に固定することができる。さらに、予め貫通電流が発生しないことがわかっている信頼性の高いサブサーキット内には、抵抗を挿入する必要がなくなり、上記検出対象回路内に挿入する抵抗素子の数を大幅に削減することができる。
また、本発明のネットリスト変換装置は、静止状態時の貫通電流の検出対象となるネットリストを指定するネットリスト指定部と、上記検出対象ネットリストから、MOSトランジスタのゲート端子に接続されているネットを抽出し、該抽出したネットを、閾値の異なる上記MOSトランジスタ毎に設けた抽出ネットデータベースに保持するネット抽出部と、上記閾値の異なるMOSトランジスタ毎に設けた抽出ネットデータベースを元に、上記検出対象ネットリスト内の、上記抽出されたMOSトランジスタのゲート端子に接続されているネットと該MOSトランジスタの閾値毎に決められた電源との間、及び該抽出されたネットと基準電位との間のそれぞれに、上記抽出されたMOSトランジスタ以外の回路の動作に支障をきたさない高い抵抗値の抵抗素子を挿入する抵抗挿入部と、を備えるものである。
これにより、静止状態時の貫通電流検出対象回路が、アナログCMOS回路であっても、CMOS論理回路であっても、静止状態で貫通電流が流れる可能性のある箇所を確実に検出することが可能となる。また、該貫通電流が流れる可能性のあるMOSトランジスタのゲート端子を、電源−基準電圧間の電圧に固定することができる。
さらに、本発明のネットリスト変換装置は、上記ネット抽出部により抽出され、上記閾値の異なるMOSトランジスタ毎に設けた抽出ネットデータベースに保持されたネットのうち、該各抽出ネットデータベース内で重複しているネットを削除する重複ネット削除部を備え、上記抵抗挿入部は、上記重複ネット削除部により重複しているネットが削除された抽出ネットデータベースを元に、上記検出対象ネットリスト内の、上記MOSトランジスタのゲート端子に接続されているネットと該MOSトランジスタの閾値毎に決められた電源との間、及び上記ネットと基準電位との間のそれぞれに、上記抵抗素子を挿入するものである。
これにより、貫通電流検出対象回路内に挿入する抵抗素子の数を必要最低限の数とすることができる。
さらに、本発明のネットリスト変換装置は、上記閾値の異なるMOSトランジスタ毎に設けた上記抽出ネットデータベースを読み込み、該抽出ネットデータベース毎に、上記抽出ネットデータベース内に含まれるネットの数をカウントするネット数カウント部を備えるものである。
これにより、貫通電流検出対象回路のネットリストから抽出されるネットの数をカウントすることができ、ネットリスト変換処理によって抵抗素子が挿入されるネットの数を得ることができる。
また、本発明のネットリスト変換装置は、静止状態時の貫通電流の検出対象となるネットリストを指定するネットリスト指定部と、上記検出対象ネットリスト内のMOSトランジスタを、該MOSトランジスタの閾値及び種類に応じたサブサーキットに置き換えるサブサーキット置換え部と、上記検出対象ネットリストに、上記置き換えたサブサーキットのサブサーキット情報を追加するサブサーキット追加部と、を備え、上記サブサーキット情報は、上記サブサーキットに置き換えられたMOSトランジスタの閾値及び種類に応じたMOSトランジスタと、該MOSトランジスタのゲート端子と該MOSトランジスタの閾値に応じた電源との間、及び該MOSトランジスタのゲート端子と基準電圧との間のそれぞれに挿入される、該MOSトランジスタ以外の回路の動作に支障をきたさない高い抵抗値の抵抗素子と、を含むものである。
これにより、静止状態時の貫通電流検出対象回路が、アナログCMOS回路であっても、CMOS論理回路であっても、静止状態で貫通電流が流れる可能性のある箇所を確実に検出することが可能となる。また、該貫通電流が流れる可能性のあるMOSトランジスタのゲート端子を、電源−基準電圧間の電圧に固定することができる。さらに、上記ネットリスト変換装置で変換された変換後のネットリストは、変換前のネットリストを維持したまま、該ネットリスト内に抵抗素子が追加されていくので、変換後のネットリストから、該検出対象回路の構成がわかりやすいという効果もある。
さらに、本発明のネットリスト変換装置は、上記サブサーキット置換え部により、上記MOSトランジスタの閾値及び種類に応じたサブサーキットに置き換えられたMOSトランジスタの数をカウントする置換えトランジスタ数カウント部を備えるものである。
これにより、貫通電流検出対象回路のネットリスト内の、置き換えられたMOSトランジスタをカウントすることができ、該ネットリスト変換処理によって抵抗素子が挿入されるネットの数を得ることができる。
また、本発明のネットリスト変換装置は、静止状態時の貫通電流の検出対象となるネットリストを指定するネットリスト指定部と、上記検出対象ネットリストから、MOSトランジスタのゲート端子に接続されているネットを抽出し、該抽出したネットを、閾値の異なる上記MOSトランジスタ毎に設けた抽出ネットデータベースに保持する第1ネット抽出部と、上記検出対象ネットリストから、サブサーキットの入力端子に接続されているネットを抽出し、該抽出したネットを、上記閾値の異なるMOSトランジスタ毎に設けた抽出ネットデータベースに保持する第2ネット抽出部と、上記閾値の異なるMOSトランジスタ毎に設けた抽出ネットデータベースを元に、上記検出対象ネットリスト内の、上記第1ネット抽出部及び第2ネット抽出部において抽出されたネットと電源との間、及び該抽出されたネットと基準電位との間のそれぞれに、上記MOSトランジスタ、あるいは上記サブサーキット以外の回路の動作に支障をきたさない高い抵抗値の抵抗素子を挿入する抵抗挿入部と、を備えるものである。
これにより、静止状態時の貫通電流検出対象回路が、アナログCMOS回路であっても、CMOS論理回路であっても、静止状態で貫通電流が流れる可能性のある箇所を確実に検出することが可能となる。また、該貫通電流が流れる可能性のあるMOSトランジスタのゲート端子を、電源−基準電圧間の電圧に固定することができる。さらに、ネットリストに、サブサーキットが含まれていても、該サブサーキット内の貫通電流が検出される可能性のある箇所を確実に検出することが可能となる。
さらに、本発明のネットリスト変換装置は、上記第1ネット抽出部、及び第2ネット抽出部により抽出され、上記閾値の異なるMOSトランジスタ毎に設けた抽出ネットデータベースに保持されたネットのうち、該各抽出ネットデータベース内で重複しているネットを削除する重複ネット削除部を備え、上記抵抗挿入部は、上記重複ネット削除部により重複しているネットが削除された抽出ネットデータベースを元に、上記検出対象ネットリスト内の、上記第1ネット抽出部及び第2ネット抽出部において抽出されたネットと電源との間、及び該抽出されたネットと基準電位との間のそれぞれに、上記抵抗素子を挿入するものである。
これにより、貫通電流検出対象回路のネットリストにおいて、抵抗素子を挿入する箇所の重複を防ぐことができ、上記貫通電流検出対象回路に挿入する抵抗素子をさらに削減することができる。
さらに、本発明のネットリスト変換装置は、上記閾値の異なるMOSトランジスタ毎に設けた上記抽出ネットデータベースを読み込み、該抽出ネットデータベース毎に、上記抽出ネットデータベース内に含まれるネットの数をカウントするネット数カウント部を備えるものである。
これにより、貫通電流検出対象回路のネットリストから抽出されたネットの数をカウントすることができ、該ネットリスト変換処理によって抵抗素子が挿入されるネットの数を得ることができる。
また、本発明の静止状態貫通電流検出方法は、静止状態時の貫通電流の検出対象となるネットリストを、請求項1、請求項10、または請求項13のいずれかに記載のネットリスト変換方法で、ネットリスト変換するネットリスト変換ステップと、上記ネットリスト変換ステップにより得られる変換後ネットリストに対して直流解析を施し、直流解析結果を得る直流解析ステップと、上記直流解析ステップにより得られた直流解析結果を元に、上記検出対象ネットリスト内の、貫通電流が発生する可能性のあるMOSトランジスタを検索するトランジスタ検索ステップと、を含むものである。
これにより、静止状態時の貫通電流検出対象回路が、アナログCMOS回路であっても、CMOS論理回路であっても、静止状態貫通電流検出する際に、通常の直流解析では検出が困難であった貫通電流が発生する可能性のある箇所を容易に検出することができる。
さらに、本発明の静止状態貫通電流検出方法は、上記トランジスタ検索ステップが、上記直流解析結果を元に、該検出対象ネットリスト内のMOSトランジスタに流れる電流|Ids|が、予め設定した電流閾値Ithを超えるか否かを判定し、上記電流|Ids|が上記電流閾値Ithを超えるMOSトランジスタを電流貫通MOSトランジスタとして、電流貫通MOSトランジスタデータベースに保持するものである。
これにより、静止状態時の貫通電流検出対象回路内の、貫通電流が発生するMOSトランジスタを検出することが可能となる。
また、本発明の静止状態貫通電流検出方法は、静止状態時の貫通電流の検出対象となるネットリストを、請求項9、請求項11、または請求項16のいずれかに記載のネットリスト変換方法で、ネットリスト変換するネットリスト変換ステップと、上記ネットリスト変換ステップにより得られる変換後ネットリストに対して直流解析を施し、直流解析結果を得る直流解析ステップと、上記直流解析ステップにより得られた直流解析結果を元に、上記検出対象ネットリスト内の、貫通電流が発生する可能性のあるMOSトランジスタを検索するトランジスタ検索ステップと、上記検出対象ネットリストの全貫通電流を算出する全貫通電流算出ステップと、を含むものである。
これにより、静止状態時の貫通電流検出対象回路が、アナログCMOS回路であっても、CMOS論理回路であっても、静止状態貫通電流検出する際に、通常の直流解析では検出が困難であった貫通電流が発生する可能性のある箇所を容易に検出することができ、且つ該貫通電流検出対象回路に発生する貫通電流を算出することが可能となる。
さらに、本発明の静止状態貫通電流検出方法は、上記全貫通電流算出ステップが、上記直流解析結果、及び抽出ネットデータベース内に含まれるネットの数、もしくはサブサーキットに置き換えられたMOSトランジスタの数を元に、上記MOSトランジスタの閾値毎に決められた電源、及び基準電位間に流れる電流から、(抽出ネット数*((電源電圧−基準電位)/(挿入抵抗値*2))、もしくは、(置き換えトランジスタ数*((電源電圧−基準電位)/(挿入抵抗値*2))を減算するものである。
これにより、静止状態時の貫通電流検出対象回路に発生する貫通電流を、抽出ネットデータベース内に含まれるネットの数、あるいはサブサーキットに置き換えられたMOSトランジスタの数を元に算出することが可能となる。
また、本発明の静止状態貫通電流検出方法は、静止状態時の貫通電流の検出対象となるネットリストを、請求項1、請求項10、または請求項13のいずれかに記載のネットリスト変換方法で、ネットリスト変換するネットリスト変換ステップと、上記ネットリスト変換ステップにより得られる変換後ネットリストに対して直流解析を施し、得られた直流解析結果を元に、該検出対象ネットリスト内のMOSトランジスタの貫通電流|Ids|に関するヒストグラムを作成するヒストグラム作成ステップと、を含むものである。
これにより、静止状態時の貫通電流検出対象回路内の、貫通電流が発生する可能性のある箇所を視覚的に検出することができる。
また、本発明の静止状態貫通電流検出装置は、静止状態時の貫通電流の検出対象となるネットリストを、請求項18項、請求項21、または請求項23のいずれかに記載のネットリスト変換装置によりネットリスト変換するネットリスト変換部と、上記ネットリスト変換部で得られる変換後ネットリストに対して直流解析を施し、直流解析結果を得る直流解析部と、上記直流解析部で得られた直流解析結果を元に、上記検出対象ネットリスト内の、貫通電流が発生する可能性のあるMOSトランジスタを検索するトランジスタ検索部と、を備えるものである。
これにより、静止状態時の貫通電流検出対象回路が、アナログCMOS回路であっても、CMOS論理回路であっても、静止状態貫通電流検出する際に、通常の直流解析では検出が困難であった貫通電流が発生する可能性のある箇所を容易に検出することができる。
また、本発明の静止状態貫通電流検出装置は、静止状態時の貫通電流の検出対象となるネットリストを、請求項20、請求項22、または請求項25のいずれかに記載のネットリスト変換装置によりネットリスト変換するネットリスト変換部と、上記ネットリスト変換部で得られる変換後ネットリストに対して直流解析を施し、直流解析結果を得る直流解析部と、上記直流解析部で得られた直流解析結果を元に、上記検出対象ネットリスト内の、貫通電流が発生する可能性のあるMOSトランジスタを検索するトランジスタ検索部と、上記検出対象ネットリストの全貫通電流を算出する全貫通電流算出部と、を備えるものである。
これにより、静止状態時の貫通電流検出対象回路が、アナログCMOS回路であっても、CMOS論理回路であっても、静止状態貫通電流検出する際に、通常の直流解析では検出が困難であった貫通電流が発生する可能性のある箇所を容易に検出することができ、さらに、該貫通電流検出対象回路に発生する貫通電流を算出することが可能となる。
また、本発明の静止状態貫通電流検出装置は、静止状態時の貫通電流の検出対象となるネットリストを、請求項18、請求項21、または請求項23のいずれかに記載のネットリスト変換装置によりネットリスト変換するネットリスト変換部と、上記ネットリスト変換部で得られる変換後ネットリストに対して直流解析を施し、得られた直流解析結果を元に、該検出対象ネットリスト内のMOSトランジスタの貫通電流|Ids|に関するヒストグラムを作成するヒストグラム作成部と、を備えるものである。
これにより、静止状態時の貫通電流検出対象回路内の、貫通電流が発生する可能性のある箇所を視覚的に検出することができる。
また、本発明のプログラムは、コンピュータに、静止状態時の貫通電流の検出対象となるネットリストに対してネットリスト変換処理を実行させるためのネットリスト変換プログラムであって、上記ネットリスト変換プログラムは、上記検出対象ネットリストを指定するネットリスト指定ステップと、上記検出対象ネットリストから、MOSトランジスタのゲート端子に接続されているネットを抽出し、該抽出したネットを、閾値の異なる上記MOSトランジスタ毎に設けた抽出ネットデータベースに保持するネット抽出ステップと、上記閾値の異なるMOSトランジスタ毎に設けた抽出ネットデータベースを元に、上記検出対象ネットリスト内の、上記抽出されたMOSトランジスタのゲート端子に接続されているネットと該MOSトランジスタの閾値毎に決められた電源との間、及び該抽出されたネットと基準電位との間のそれぞれに、上記抽出されたMOSトランジスタ以外の回路の動作に支障をきたさない高い抵抗値の抵抗素子を挿入する抵抗挿入ステップと、を含むものである。
これにより、静止状態時の貫通電流検出対象回路が、アナログCMOS回路であっても、CMOS論理回路であっても、コンピュータにより、静止状態で貫通電流が流れる可能性のある箇所を確実に検出して、該貫通電流が流れる可能性のあるMOSトランジスタのゲート端子を、電源−基準電圧間の電圧に固定することができる。
また、本発明のプログラムは、コンピュータに、静止状態時の貫通電流の検出対象となるネットリストに対してネットリスト変換処理を実行させるためのネットリスト変換プログラムであって、上記ネットリスト変換プログラムは、上記検出対象ネットリストを指定するネットリスト指定ステップと、上記検出対象ネットリスト内のMOSトランジスタを、該MOSトランジスタの閾値及び種類に応じたサブサーキットに置き換えるサブサーキット置換えステップと、上記検出対象ネットリストに、上記置き換えたサブサーキットのサブサーキット情報を追加するサブサーキット追加ステップと、を含むものであり、上記サブサーキット情報は、上記サブサーキットに置き換えられたMOSトランジスタの閾値及び種類に応じたMOSトランジスタと、該MOSトランジスタのゲート端子と該MOSトランジスタの閾値に応じた電源との間、及び該MOSトランジスタのゲート端子と基準電圧との間のそれぞれに挿入される、該MOSトランジスタ以外の回路の動作に支障をきたさない高い抵抗値の抵抗素子と、を含むものである。
これにより、静止状態時の貫通電流検出対象回路が、アナログCMOS回路であっても、CMOS論理回路であっても、コンピュータにより、静止状態で貫通電流が流れる可能性のある箇所を確実に検出して、該貫通電流が流れる可能性のあるMOSトランジスタのゲート端子を、電源−基準電圧間の電圧に固定することができる。さらに、上記プログラムにより変換された変換後のネットリストは、変換前のネットリストが維持されたまま、該ネットリスト内に抵抗素子が追加されていくので、変換後のネットリストから、上記検出対象回路の回路構成がわかりやすいという効果もある。
また、本発明のプログラムは、コンピュータに、静止状態時の貫通電流の検出対象となるネットリストに対してネットリスト変換処理を実行させるためのネットリスト変換プログラムであって、上記ネットリスト変換プログラムは、上記検出対象ネットリストを指定するネットリスト指定ステップと、上記検出対象ネットリストから、MOSトランジスタのゲート端子に接続されているネットを抽出し、該抽出したネットを、閾値の異なる上記MOSトランジスタ毎に設けた抽出ネットデータベースに保持する第1ネット抽出ステップと、上記検出対象ネットリストから、サブサーキットの入力端子に接続されているネットを抽出し、該抽出したネットを、上記閾値の異なるMOSトランジスタ毎に設けた抽出ネットデータベースに保持する第2ネット抽出ステップと、上記閾値の異なるMOSトランジスタ毎に設けた抽出ネットデータベースを元に、上記検出対象ネットリスト内の、上記第1ネット抽出ステップ及び第2ネット抽出ステップにおいて抽出されたネットと電源との間、及び該抽出されたネットと基準電位との間のそれぞれに、上記MOSトランジスタ、あるいは上記サブサーキット以外の回路の動作に支障をきたさない高い抵抗値をもつ抵抗素子を挿入する抵抗挿入ステップと、を含むものである。
これにより、静止状態時の貫通電流検出対象回路が、アナログCMOS回路であっても、CMOS論理回路であっても、コンピュータにより、静止状態で貫通電流が流れる可能性のある箇所を確実に検出して、該貫通電流が流れる可能性のあるMOSトランジスタのゲート端子を、電源−基準電圧間の電圧に固定することができる。さらに、上記対象回路のネットリストに、サブサーキットが含まれていても、コンピュータにより、該サブサーキット内の貫通電流が検出される可能性のある箇所を確実に検出することが可能となる。
また、本発明のプログラムは、コンピュータに、静止状態時の貫通電流の検出対象となるネットリストに対して静止状態貫通電流検出処理を実行させるための静止状態貫通電流検出プログラムであって、上記静止状態貫通電流検出プログラムは、上記検出対象ネットリストを、請求項1、請求項10、または請求項13のいずれかに記載のネットリスト変換方法で、ネットリスト変換するネットリスト変換ステップと、上記ネットリスト変換ステップにより得られる変換後ネットリストに対して直流解析を施し、直流解析結果を得る直流解析ステップと、上記直流解析ステップにより得られた直流解析結果を元に、上記検出対象ネットリスト内の、貫通電流が発生する可能性のあるMOSトランジスタを検索するトランジスタ検索ステップと、を含むものである。
これにより、静止状態時の貫通電流検出対象回路が、アナログCMOS回路であっても、CMOS論理回路であっても、静止状態貫通電流検出する際に、通常の直流解析では検出が困難であった貫通電流が発生する可能性のある箇所を、コンピュータにより容易に検出することができる。
また、本発明のプログラムは、コンピュータに、静止状態時の貫通電流の検出対象となるネットリストに対して静止状態貫通電流検出処理を実行させるための静止状態貫通電流検出プログラムであって、上記静止状態貫通電流検出プログラムは、上記検出対象ネットリストを、請求項9、請求項11、または請求項16のいずれかに記載のネットリスト変換方法で、ネットリスト変換するネットリスト変換ステップと、上記ネットリスト変換ステップにより得られる変換後ネットリストに対して直流解析を施し、直流解析結果を得る直流解析ステップと、上記直流解析ステップにより得られた直流解析結果を元に、上記検出対象ネットリスト内の、貫通電流が発生する可能性のあるMOSトランジスタを検索するトランジスタ検索ステップと、上記検出対象ネットリストの全貫通電流を算出する全貫通電流算出ステップと、を含むものである。
これにより、静止状態時の貫通電流検出対象回路が、アナログCMOS回路であっても、CMOS論理回路であっても、静止状態貫通電流検出する際に、通常の直流解析では検出が困難であった貫通電流が発生する可能性のある箇所を、コンピュータにより容易に検出すると共に、該貫通電流検出対象回路に発生する貫通電流を、コンピュータにより算出することが可能となる。
また、本発明のプログラムは、コンピュータに、静止状態時の貫通電流の検出対象となるネットリストに対して静止状態貫通電流検出処理を実行させるための静止状態貫通電流検出プログラムであって、上記静止状態貫通電流検出プログラムは、上記検出対象ネットリストを、請求項1、請求項10、または請求項13のいずれかに記載のネットリスト変換方法で、ネットリスト変換するネットリスト変換ステップと、上記ネットリスト変換ステップにより得られる変換後ネットリストに対して直流解析を施し、得られた直流解析結果を元に、該検出対象ネットリスト内のMOSトランジスタの貫通電流|Ids|に関するヒストグラムを作成するヒストグラム作成ステップと、を含むものである。
これにより、コンピュータで、静止状態時の貫通電流検出対象回路内に発生する貫通電流に関するヒストグラムを作成することができ、該貫通電流検出対象回路内の、貫通電流が発生する可能性のある箇所を視覚的に検出することができる。
本発明においては、対象回路のネットリストを変換し、該変換後のネットリストに対して直流解析シミュレーションを実施することにより、該対象回路の静止状態貫通電流を検出する。従って、以下に示す実施の形態では、まずネットリスト変換装置について図面を参照しながら説明した後、該各ネットリスト変換装置を用いた静止状態貫通電流検出装置について説明する。なお、以下の説明に記載されているネットリストはSPICE形式のネットリストであるとして説明を行う。
(実施の形態1)
以下、図1〜図6を用いて、本発明の実施の形態1におけるネットリスト変換装置について説明する。
まず、図1を用いて、本実施の形態1に係るネットリスト変換装置10の構成について説明する。図1は、本実施の形態1におけるネットリスト変換装置の構成を示す図である。
図1において、ネットリスト変換装置10は、ネットリスト指定部11と、ネット抽出部12と、抵抗挿入部13と、メモリ17とからなるものである。
より詳細に述べると、上記ネットリスト指定部11は、ネットリストデータベース14に予め保持されているネットリストから、静止状態時の貫通電流検出対象となる変換対象回路のネットリスト(以下、「対象ネットリスト」と称す)を指定するものであり、上記ネット抽出部12は、上記ネットリスト指定部11により指定された対象ネットリストをネットリストデータベース14より読出し、該読出した対象ネットリストから、MOSトラジスタのゲート端子に接続されているネットと、該ネットリスト内にある抵抗の抵抗素子名とを抽出するものである。そして、上記抵抗挿入部13は、上記ネット抽出部12により上記対象ネットリスト内から抽出されたMOSトランジスタのゲート端子に接続されているネットと、該MOSトランジスタの閾値毎に決められた電源との間、及び上記ネット抽出部12により抽出されたMOSトランジスタのゲート端子に接続されているネットと、基準電位との間に、抵抗素子を挿入するものである。そして、上記メモリ17は、上記ネットリストデータベース14と、上記ネット抽出部12により抽出されたMOSトランジスタのゲート端子に接続されているネットを該抽出されたMOSトランジスタの閾値毎に保持する抽出ネットデータベース15と、上記ネット抽出部12により抽出された抵抗素子名を保持する抵抗素子名データベース16とを含むものである。
次に、図2〜図6を用いて、上述した構成を有する本実施の形態1のネットリスト変換装置10の動作について説明する。なおここでは、上述した図37(a),(b)の両回路の静止状態貫通電流を検出するために、これらの回路のネットリストを変換する場合を例に挙げて説明する。
図2は、本実施の形態1にかかるネットリスト変換装置によるネットリスト変換処理の一連の流れを示す図であり、図3は、図2に示すネットリスト変換処理内の、ネット抽出処理の詳細な流れを示す図であり、図4は、図2に示すネットリスト変換処理の、抵抗挿入処理の詳細な流れを示す図である。そして、図5(a)は、本実施の形態1にかかるネットリスト変換装置によって、ネットリスト変換される対象回路(ここでは、図37(a),(b)に示す回路)のネットリストを示す図であり、図5(b)は、本実施の形態1にかかるネットリスト変換装置の抽出ネット部で抽出される、抽出ネットデータベースと抵抗素子名データベースを示す図であり、図5(c)は、本実施の形態1にかかるネットリスト変換装置において、図5(a)に示すネットリストをネットリスト変換処理した変換後ネットリストと、変換処理後における抵抗素子名データベースを示す図であり、図6は、図5(c)に示す変換後ネットリストの回路図である。
まず、ユーザが、ネットリスト指定部11により、静止状態時の貫通電流を検出する対象となる対象ネットリストを指定すると(図2のステップS110)、次に、ネット抽出部12において、図5(a)に示す対象ネットリスト内の、MOSトランジスタのゲート端子に接続されたネットを抽出するネット抽出処理が行われる(図2のステップS120)。
以下、図3を用いて、上記ネット抽出処理について詳細に述べる。
まず、ネットリスト指定部11で指定された、図5(a)の対象ネットリストを、先頭行より1行ずつ順次読み込みを行う(図3のステップS121)。なお、ネットリスト内において、1素子の記述が複数行にわたって記述される場合があるが、この場合、次行の先頭文字が“+”で始まっているか否かを判定し、次行の先頭文字が“+”で始まっている場合、読み込んだ行と次行を順次結合することで同機能を得ることができる。
次に、上記ステップS121において読み込んだ行が、MOSトランジスタに関する記述か否かを判定する(図3のステップS122)。ここでは、読み込んだ行の先頭文字が“M”で始まっているか否かを判定することで、読み込んだ行がMOSトランジスタであるか否かを判定する。すなわち、読み込んだ行の先頭文字が“M”で始まっていれば、MOSトランジスタに関する記述であると判定して、次のステップS123を実施し、そうでないと判定された場合、ステップS124を実施する。
そして上記ステップS122において、読み込んだ行がMOSトランジスタであると判定された場合、該読み込んだ行の第6文字列、つまりMOSトランジスタのモデル名より、MOSトランジスタの閾値を判定する。ここで、MOSトランジスタの閾値を判定する理由は、近年のMOSトランジスタが、1つのプロセス上に数種類もの耐圧を持つ、つまり1つのプロセス上に数種類の閾値を持つMOSトランジスタを形成しているため、該ネットリスト内のMOSトランジスタ毎に、該MOSトランジスタの閾値に応じた電源電圧を供給する必要があるからである。
そして、このようにして、読み込んだ行のMOSトランジスタの閾値を判定した後、今度はその同じ行の第3文字列、つまりMOSトランジスタのゲート電極に接続されているネットを検出し、この検出したネットを、抽出ネットデータベース15の、上記MOSトランジスタの閾値毎に設けられている抽出ネットデータベース151〜152(図5(b)参照)のうち、対応する抽出ネットデータベースに追加する(図3のステップS123)。
そしてこの後、上記読み込んだ行が、抵抗素子に関する記述か否かを判定する(図3のステップS124)。ここでは、読み込んだ行の先頭文字が“R”で始まっているか否かを判定することで、読み込んだ行が抵抗素子であるか否かを判定する。すなわち、読み込んだ行の先頭文字が“R”で始まっていれば、抵抗素子に関する記述であると判定して、次のステップS125を実施し、そうでないと判定された場合、ステップS126を実施する。
上記ステップS124において、読み込んだ行が抵抗素子であると判定された場合、該抵抗素子名を抵抗素子名データベース16に追加する(図3のステップS125)。
この後、上記読み込んだ行が最終行か否かを判定し(図3のステップS126)、最終行であれば処理を終了し、そうでなければ上記ステップS121に戻って、上述した処理を繰り返す。
このような処理を行うことにより、図5(a)に示す対象ネットリストから、図5(b)に示すような抽出ネットデータベース15、及び抵抗素子名データベース16が得られる。なお、ここでは、対象ネットリスト内のMOSトランジスタには、閾値がAVDDとVDDの2種類あるため、抽出ネットデータベース15には、閾値AVDDの抽出ネットデータベース151と、閾値VDDの抽出ネットデータベース152とが存在する。
上述したように、上記ネット抽出処理のステップS126において、読み込んだ行が最終行であると判定された場合、上記ネット抽出処理において抽出したネットと電源間、及び該抽出したネットと基準電位間とを結ぶ抵抗素子を、上記ネットリストに挿入する抵抗挿入処理に移行する(図2のステップS130)。
以下、図4を用いて、上記抵抗挿入処理について詳細に述べる。
上記ネット抽出部12により、MOSトランジスタの閾値毎に抽出された抽出ネットデータベース15に保存されている全てのネットと、MOSトランジスタの閾値毎に決められた電源間、及び上記抽出ネットデータベース15に保存されている全てのネットと、基準電位間に、抵抗を挿入する(図4のステップS131)。このとき、上記対象ネットリストに挿入する抵抗の素子名は、抵抗素子名データベース16内を検索し、唯一の抵抗素子名となるようにする。例えば、抵抗素子名データベース16内の抵抗素子を辞書順に並べたとき最も大きい(辞書の最終ページに近い)抵抗素子名の末尾に数字の“000”を追加し、上記ステップS131において抵抗素子を追加する度に、上記抵抗素子名に対して該抵抗素子名の末尾に追加した数字を “1”づつインクリメントすることで、唯一の抵抗素子名を得るようにする。そして、上記ステップS131において挿入した抵抗素子の抵抗素子名を抵抗素子名データベース16に追加する。これを繰り返すことにより、ネットリストを変換する。なお、ネットリストに挿入する抵抗は他の回路の動作に支障をきたさない程度の高抵抗(数GOhm〜数百TOhm程度)を挿入する。
このような処理を行うことにより、図5(a)の対象ネットリストから、図5(c)に示す変換後のネットリスト18と、ネットリストに追加された抵抗が追加された抵抗素子名データベース16’が得られる。
次に、図5に示すネットリストの例を用いて、本実施の形態1にかかるネットリスト変換装置10の動作について更に詳しく説明する。
まず、ユーザは、ネットリスト指定部11により、図5(a)に示す対象ネットリストを指定する。次に、ネット抽出部12において、上記対象ネットリストから、変換対象であるネットを抽出する。この際、上記ネット抽出部12は、図5(a)に示す対象ネットリストの先頭行より1行ずつ順次読み込みを行う。そして、読み込んだ行の先頭文字が“M”で始まっているか否かを判定し(図5(a)の下線部)、読み込んだ行がMOSトランジスタに関する記述か否かを判定する。図5(a)においては、1、2、6、7、11、12、17、18行目がMOSトランジスタに関する記述であると判定される。
そして、読み込んだ行の第6文字列(図5(a)の太字下線部)、つまりMOSトランジスタのモデル名より、MOSトランジスタの閾値を判定する。図5(a)においては、pchhvt、nchhvtであれば、閾値の高い(HVT)MOSトランジスタ、pchlvt、nchlvtであれば、閾値の低い(LVT)MOSトランジスタであると判定する。
同時に、その読み込んだ行の第3文字列(図5(a)の1、2、6、7、11、12、17、18行目太字下線斜字体部)、つまりMOSトランジスタのゲート電極に接続されているネットを検出し、そのネットを、MOSトランジスタの閾値毎に設けた抽出ネットデータベース15に追加する。図5(a)の対象ネットリストのHVTMOSトランジスタの抽出ネットデータベースは、図5(b)中の抽出ネットデータベース:AVDD151がそれに相当するものであり、また、図5(a)の対象ネットリストのLVTMOSトランジスタの抽出ネットデータベースは、図5(b)中の抽出ネットデータベース:VDD152がそれに相当する。なお、図5(b)中に記載されているセミコロンの後の文字列は、ネットリスト内の階層構造を示している。
次に、上記ネット抽出部12によって読み込んだ行の先頭文字が“R”で始まっているか否かを判定し(図5(a)の3行目下線部)、読み込んだ行が抵抗素子に関する記述か否かを判定する。図5(a)のネットリストにおいては、3行目が抵抗素子に関する記述であると判定される。
そして、読み込んだ行の第1文字列(図5(a)の3行目太字下線斜字体部)、つまり抵抗素子の抵抗素子名を抵抗素子名データベース16に追加する。図5(a)においては、図5(b)中の抵抗素子名データベース16がそれに相当する。
図5(a)の対象ネットリストを最終行まで読み込んだら、抵抗挿入部13により、上記ネット抽出部12で抽出したネットと電源間、及びネット抽出部12で抽出したネットと基準電位間を結ぶ抵抗素子を、該対象ネットリストに挿入する。図5(b)に示されている、抽出ネットデータベース:AVDD151の例では、データベースに登録されているネットと電源AVDD間、及びデータベースに登録されているネットと基準電位間、また、抽出ネットデータベース:VDD152の例では、データベースに登録されているネットと電源VDD間、及びデータベースに登録されているネットと基準電位間に、それぞれ抵抗素子を挿入することになる。すなわち、図5(c)に示される変換後ネットリスト18の14〜17、24〜27、30〜37行目が、該対象ネットリストに挿入された抵抗素子に相当する。このとき、挿入する抵抗の素子名は、抵抗素子名データベース16内を検索し、唯一の抵抗素子名とする。また、前述のようにして対象ネットリストに挿入した抵抗素子の抵抗素子名は、順次、抵抗素子名データベース16に追加していく(図5(c)の抵抗素子名データベース16’)。これを繰り返すことにより、対象回路のネットリストを変換していく。
このようなネットリスト変換処理により得られる変換後ネットリストの回路図は、図6の回路3711,3712に示すものとなる。なお、図6では、図を簡略化するため、OP1、及びTBUF1内に挿入される抵抗は図示していないが、実際にはOP1、及びTBUF1それぞれに4つづつ抵抗が挿入されることとなる。
以上のように、本実施の形態1によれば、変換対象である回路のMOSトランジスタのゲート端子に抵抗を挿入するように、該対象回路のネットリストを変換するようにしたので、該対象回路がアナログCMOS回路であっても、CMOS論理回路であっても、MOSトランジスタのゲート端子が不定状態の場合には、上記挿入した抵抗素子が、MOSトランジスタのゲート端子と電源間、及びMOSトランジスタのゲート端子と基準電位間で、プルアップ抵抗・プルダウン抵抗として働くこととなり、この結果、静止状態で貫通電流が流れる可能性があるMOSトランジスタのゲート端子を電源−基準電圧間の電圧に固定することができる。そしてこのことは、後述する静止状態貫通電流検出装置において、従来の直流解析シミュレーションでは検出することが困難であった貫通電流を確実に検出することを可能とする。
また、本実施の形態1によれば、上記対象ネットリストからMOSトランジスタを検出し、該MOSトランジスタのゲート端子に接続されているネットを抽出して、該ネットに抵抗を挿入するようにしたので、対象回路内の貫通電流が発生する疑いのあるトランジスタを確実に検出することができ、この結果、後述する静止状態貫通電流検出装置において、従来の直流解析シミュレーションでは検出することが困難であった貫通電流を確実に検出することができる。
(実施の形態2)
以下、図7〜図11を用いて、本実施の形態2にかかるネットリスト変換装置について説明する。
上記実施の形態1においては、ネット抽出部で、対象回路のネットリストから貫通電流が発生する可能性のあるMOSトランジスタのゲート端子を全て抽出し、抵抗挿入部にて、該抽出したネットと電源間、及び抽出したネットと基準電位間を結ぶように抵抗を挿入するようにしたが、本実施の形態2においては、さらに重複ネット削除部を設け、上記ネット抽出部において抽出されたネットのうち、重複するものは削除するようにするものである。
まず、図7を用いて、本実施の形態2に係るネットリスト変換装置20の構成について説明する。図7は、本実施の形態2におけるネットリスト変換装置の構成を示す図である。
図7において、ネットリスト変換装置20は、ネットリスト指定部11と、ネット抽出部12と、抵抗挿入部13と、重複ネット削除部21と、ネットリストデータベース14、抽出ネットデータベース25、及び抵抗素子名データベース26を含むメモリ27と、からなるものである。より詳細に述べると、上記重複ネット削除部21は、上記ネット抽出部12において抽出されたネットのうち、重複しているネットを削除し、新たな抽出ネットデータベース25を出力するものである。なお、そのほかの構成は、上記実施の形態1と同様であるため、ここでは説明を省略する。
次に、図8〜図11を用いて、上述した構成を有する本実施の形態2のネットリスト変換装置20の動作について説明する。なおここでは、上述した図37(a),(b)の両回路のネットリスト(図5(a)に示す対象ネットリスト)を変換する場合を例に挙げて説明する。
図8は、本実施の形態2にかかるネットリスト変換装置によるネットリスト変換処理の一連の流れを示す図であり、図9は、図8に示すネットリスト変換処理の、重複ネット削除処理の詳細な流れを示す図である。そして、図10(a)は、本実施の形態2にかかるネットリスト変換装置の抽出ネット部で抽出される、抽出ネットデータベースと抵抗素子名データベースを示す図であり、図10(b)は、本実施の形態2にかかるネットリスト変換装置において、図5(a)に示すネットリストをネットリスト変換処理した変換後ネットリストと、ネットリスト変換処理後の抵抗素子名データベースの内容を示す図であり、図11は、図10(c)に示す変換後ネットリストの回路図である。
まず、ユーザが、ネットリスト指定部11により、静止状態時の貫通電流を検出する対象となる対象ネットリストを指定すると(図8のステップS110)、次に、ネット抽出部12において、図5(a)に示す対象ネットリスト内の、MOSトランジスタのゲート端子に接続されたネットを抽出するネット抽出処理が行われる(図8のステップS120)。この処理の詳細については、上記実施の形態1において図3を用いて述べたものと同様であるため、ここでは説明を省略する。
そして、この後、重複ネット削除部21で、抽出ネットデータベース25の重複ネットを削除する(図8のステップS210)。
以下、図9を用いて、上記重複ネット削除処理について詳細に述べる。
まず、MOSトランジスタの閾値毎に設けられた抽出ネットデータベース25から、上記抽出ネット部12により抽出されたネットを順次読み込む(図9のステップS211)。次に、上記抽出ネットデータベース25から読み出したネットを辞書順に並び替え、該辞書順に並び替えられた上記抽出ネットデータベース中の先頭行より検索を行っていき、検索対象の行が示すネットがその前後の行が示すネットと重複すれば、これを削除する(図9のステップS212)。以上のような抽出ネットデータベースの検索が終了したら、抽出ネットデータベース25の重複部を削除した新たな抽出ネットデータベース25’を出力するものである。
そして、上記重複ネット削除部21から、重複ネットが削除された新たな抽出ネットデータベース25’が出力された後、該重複ネットが削除された抽出ネットと電源間、及び該重複ネットが削除された抽出ネットと基準電位間とを結ぶ抵抗素子を、上記対象ネットリストに挿入する抵抗挿入処理を行う(図8のステップS130)。この処理の詳細については、上記実施の形態1において図4を用いて述べたものと同様であるため、ここでは説明を省略する。
このような処理を行うことにより、図5(a)の対象ネットリストから、図10(c)に示す変換後のネットリスト28と、該対象ネットリストに追加された抵抗が追加された抵抗素子名データベース26’とが得られる。
次に、図5(a)及び図10に示すネットリストの例を用いて、本実施の形態2にかかるネットリスト変換装置20の動作について更に詳しく説明する。
まず、ユーザは、ネットリスト指定部11により、図5(a)に示す対象ネットリストを指定する。次に、ネット抽出部12において、上記対象ネットリストから、変換対象であるネットを抽出する。この際、上記ネット抽出部12は、読み込んだ行の先頭文字が“M”で始まっているか否かを判定し(図5(a)の下線部)、読み込んだ行がMOSトランジスタに関する記述か否かを判定する。図5(a)においては、1、2、6、7、11、12、17、18行目がMOSトランジスタに関する記述であると判定される。
そして、読み込んだ行の第6文字列(図5(a)の1、2、6、7、11、12、17、18行目太字下線部)、つまりMOSトランジスタのモデル名より、MOSトランジスタの閾値を判定する。図5(a)においては、pchhvt、nchhvtであれば、閾値の高い(HVT)MOSトランジスタ、pchlvt、nchlvtであれば、閾値の低い(LVT)MOSトランジスタであると判定する。
同時に、その読み込んだ行の第3文字列(図5(a)の1、2、6、7、11、12、17、18行目太字下線斜字体部)、つまりMOSトランジスタのゲート電極に接続されているネットを検出し、そのネットを、MOSトランジスタの閾値毎に設けた抽出ネットデータベース25に追加する。図5(a)の対象ネットリストの、HVTMOSトランジスタの抽出ネットデータベースは図10(a)中の抽出ネットデータベース:AVDD251がそれに相当し、LVTMOSトランジスタの抽出ネットデータベースは図10(a)中の抽出ネットデータベース:VDD252がそれに相当する。なお、図10(a)中に記載されているセミコロンの後の文字列は、ネットリスト内の階層構造を示している。
次に、上記ネット抽出部12によって読み込んだ行の先頭文字が“R”で始まっているか否かを判定し(図5(a)の3行目下線部)、読み込んだ行が抵抗素子に関する記述か否かを判定する。図5(a)の対象ネットリストにおいては、3行目が抵抗素子に関する記述であると判定される。
そして、読み込んだ行の第1文字列(図5(a)の3行目太字下線斜字体部)、つまり抵抗素子の抵抗素子名を抵抗素子名データベース16に追加する。図5(a)においては、図10(a)中の抵抗素子名データベース26がそれに相当する。
図5(a)の対象ネットリストを最終行まで読み込んだら、重複ネット削除部21にて、抽出ネットデータベース25中の閾値毎の抽出ネットデータベース251,252を順次読み込み、該読み込んだ行を辞書順に並び替えた後、重複ネットを削除する。例えば、図10(a)の抽出ネットリストデータ25では、抽出ネットデータベース:VDD252中のネットdが重複しているため、この重複が解消される。上記重複ネット削除部21にて重複ネットを削除した後、新たな抽出ネットデータベース25’を得る。重複ネット削除後の、閾値毎の抽出ネットデータベースは、図10(b)に示される、抽出ネットデータベース:AVDD251’及び抽出ネットデータベース:VDD252’がそれらに相当するものである。
この後、抵抗挿入部13にて、重複ネット削除後の抽出ネットと電源間、及び該重複ネット削除後の抽出ネットと基準電位間を結ぶ抵抗素子を、該対象ネットリストに挿入する。例えば、図10(c)に示される変換後ネットリスト28の14〜17、24〜27、30〜35行目が、該対象ネットリストに挿入された抵抗素子に相当する。このとき、挿入する抵抗の素子名は、抵抗素子名データベース26内を検索し、唯一の抵抗素子名とする。また、前述のようにして対象ネットリストに挿入した抵抗素子の抵抗素子名は、順次、抵抗素子名データベース26に追加していく(図10(c)の抵抗素子名データベース26’)。これを繰り返すことにより、対象回路のネットリストを変換していく。
このようなネットリスト変換処理により得られる変換後ネットリストの回路図は、図11の回路3721,3722に示すものとなる。図11から明らかなように、本実施の形態2にかかるネットリスト変換装置20によるネットリスト変換処理では、回路3722に挿入される抵抗の数が、上記実施の形態1のネットリスト変換装置10によるネットリスト変換処理によるもの(図6の回路3712参照)より削減される。なお、図11では、図を簡略化するため、OP1、及びTBUF1内に挿入される抵抗は図示していないが、実際にはOP1、及びTBUF1それぞれに4つづつ抵抗が挿入されることとなる。
以上のように、実施の形態2によれば、変換対象である回路のMOSトランジスタのゲート端子に抵抗を挿入するように、該対象回路のネットリストを変換するようにしたので、該対象回路がアナログCMOS回路であっても、CMOS論理回路であっても、MOSトランジスタのゲート端子が不定状態の場合には、上記挿入した抵抗素子が、MOSトランジスタのゲート端子と電源間、及びMOSトランジスタのゲート端子と基準電位間で、プルアップ抵抗・プルダウン抵抗として働くこととなり、この結果、静止状態で貫通電流が流れる可能性があるMOSトランジスタのゲート端子を電源−基準電圧間の電圧に固定することができる。そしてこのことは、後述する静止状態貫通電流検出装置において、従来の直流解析シミュレーションでは検出することが困難であった貫通電流を確実に検出することを可能とする。
さらに、本実施の形態2によれば、ネット抽出部12において、上記対象ネットリストからMOSトランジスタを検出して、該MOSトランジスタのゲート端子に接続されているネットを抽出し、重複ネット削除部21において、抽出されたネットのうち、重複しているネットを削除した上で、該ネットに抵抗を挿入するようにしたので、対象回路内の貫通電流が発生する疑いのあるトランジスタを確実に検出することができて、後述する静止状態貫通電流検出装置において、従来の直流解析シミュレーションでは検出することが困難であった貫通電流を確実に検出することができると共に、ネットリストに追加する抵抗素子数を必要最低限の数にすることができ、これにより、後述する静止状態貫通電流検出装置における解析時間を短縮することが可能となる。
なお、本実施の形態2においては、上記ネット抽出部12がネットリストからMOSトランジスタのゲート端子が接続されているネットを抽出して抽出ネットデータベース25に保持した後、重複ネット削除部21により、該抽出ネットデータベース25を読み出して重複したネットを削除するものとして説明したが、抽出ネット部12においてMOSトランジスタのゲート端子に接続されたネットを抽出する際に、同時に重複ネット削除部21において、該抽出されたネットが上記抽出ネットデータベース25に保持されているネットと重複するか否かを判断し、重複しない場合は抽出ネットデータベース25に保持し、重複する場合は削除していくようにすれば、ネット変換処理にかかる処理時間を削減することができる。
(実施の形態3)
以下、図12〜図15を用いて、本実施の形態3にかかるネットリスト変換装置について説明する。
上記実施の形態2おいては、ネット抽出部で、対象回路のネットリストから貫通電流が発生する可能性のあるMOSトランジスタのゲート端子を抽出し、重複ネット削除部にて、該抽出したネットのうち重複するネットを削除した後、抵抗挿入部で、該ネットと電源間、及び該ネットと基準電位間とを結ぶように抵抗を挿入するようにしたが、本実施の形態3においては、さらに抽出ネット数カウント部を設け、上記重複ネット削除部において重複ネットを削除後の抽出ネット数をカウントするようにしたものである。
まず、図12を用いて、本実施の形態3に係るネットリスト変換装置の構成について説明する。図12は、本実施の形態3におけるネットリスト変換装置の構成を示す図である。
図12において、ネットリスト変換装置30は、ネットリスト指定部11と、ネット抽出部12と、重複ネット削除部21と、抽出ネット数カウント部31と、抵抗挿入部13と、ネットリストデータベース14、抽出ネットデータベース25、抵抗素子名データベース26、及び抽出ネット数保持部32を含むメモリ37と、からなるものである。
より詳細に述べると、上記抽出ネット数カウント部31は、MOSトランジスタの閾値毎に設けられた抽出ネットデータベース25に保存されているネットを読み込んで、上記重複ネット削除部21において削除後の抽出ネット数をカウントするものであり、上記メモリ37内の抽出ネット数保持部32は、該抽出ネット数カウント部31においてカウントされた抽出ネット数を保持するものである。なお、そのほかの構成は、上記実施の形態2と同様であるため、ここでは説明を省略する。
次に、図13〜図15を用いて、上述した構成を有する本実施の形態3のネットリスト変換装置30の動作について説明する。なおここでは、上述した図37(a),(b)の両回路のネットリスト(図5(a)に示す対象ネットリスト)を変換する場合を例に挙げて説明する。
図13は、本実施の形態3にかかるネットリスト変換装置によるネットリスト変換処理の一連の流れを示す図であり、図14は、図13に示すネットリスト変換処理の、抽出ネット数カウント処理の詳細な流れを示す図である。そして、図15は、本実施の形態3にかかるネットリスト変換装置の抽出ネット数カウント部で抽出される、抽出ネット数保持部の内容を示す図である。
まず、ユーザが、ネットリスト指定部11により、静止状態時の貫通電流を検出する対象となる対象ネットリストを指定すると(図13のステップS110)、次に、ネット抽出部12において、図5(a)に示す対象ネットリスト内の、MOSトランジスタのゲート端子に接続されたネットを抽出するネット抽出処理が行われる(図13のステップS120)。この処理の詳細については、上記実施の形態1において図3を用いて述べたものと同様であるため、ここでは説明を省略する。
そして、この後、重複ネット削除部21で、抽出ネットデータベース25に保存されているネットを読み出して、重複ネットを削除した後、抽出ネットデータベース25に再度出力する(図13のステップS210)。この処理の詳細については、上記実施の形態2において図9を用いて述べたものと同様であるため、ここでは説明を省略する。
そして、この後、抽出ネット数カウンタ部31で、抽出ネットデータベース25に保存されたネットを読み出し、重複ネットが削除された後のネット数をカウントする(図13のステップS310)。
以下、図14を用いて、上記抽出ネット数カウント処理について詳細に述べると、MOSトランジスタの閾値毎に設けられた抽出ネットデータベース25に保持されたネットを順次先頭行より読み込み、その各抽出ネットデータベース毎の抽出ネット数をカウントし、メモリ37内の抽出ネット数保持部32に、MOSトランジスタの閾値毎に保持するものである(図14のステップS311)。
そして、上記抽出ネット数カウント処理において、上記抽出ネット数カウント部31により、重複ネットが削除された抽出ネット数をカウントして、その値を上記抽出ネット数保持部32にMOSトランジスタの閾値毎に保持した後、該重複ネットが削除された抽出ネットと電源間、及び該重複ネットが削除された抽出ネットと基準電位間とを結ぶ抵抗素子を、上記対象ネットリストに挿入する抵抗挿入処理を行う(図13のステップS130)。この処理の詳細については、上記実施の形態1において図4を用いて述べたものと同様であるため、ここでは説明を省略する。
このような処理を行うことにより、図5(a)の対象ネットリストから、図10(c)に示す変換後のネットリスト28と、該対象ネットリストに追加された抵抗が追加された抵抗素子名データベース26’と、図15に示す抽出ネット数とが得られる。
次に、図5(a)、図10、及び図15に示すネットリストの例を用いて、本実施の形態3にかかるネットリスト変換装置30の動作について更に詳しく説明する。
まず、ユーザは、ネットリスト指定部11により、図5(a)に示す対象ネットリストを指定する。次に、ネット抽出部12において、上記対象ネットリストから、変換対象であるネットを抽出する。この際、上記ネット抽出部12は、読み込んだ行の先頭文字が“M”で始まっているか否かを判定し(図5(a)の下線部)、読み込んだ行がMOSトランジスタに関する記述か否かを判定する。図5(a)においては、1、2、6、7、11、12、17、18行目がMOSトランジスタに関する記述であると判定される。
そして、読み込んだ行の第6文字列(図5(a)の1、2、6、7、11、12、17、18行目太字下線部)、つまりMOSトランジスタのモデル名より、MOSトランジスタの閾値を判定する。図5(a)においては、pchhvt、nchhvtであれば、閾値の高い(HVT)MOSトランジスタ、pchlvt、nchlvtであれば、閾値の低い(LVT)MOSトランジスタであると判定する。
同時に、その読み込んだ行の第3文字列(図5(a)の1、2、6、7、11、12、17、18行目太字下線斜字体部)、つまりMOSトランジスタのゲート電極に接続されているネットを検出し、そのネットを、MOSトランジスタの閾値毎に設けた抽出ネットデータベース25に追加する。図5(a)の対象ネットリストの、HVTMOSトランジスタの抽出ネットデータベースは図10(a)中の抽出ネットデータベース:AVDD251がそれに相当するものであり、LVTMOSトランジスタの抽出ネットデータベースは図10(a)中の抽出ネットデータベース:VDD252がそれに相当する。
次に、上記ネット抽出部12によって読み込んだ行の先頭文字が“R”で始まっているか否かを判定し(図5(a)の3行目下線部)、読み込んだ行が抵抗素子に関する記述か否かを判定する。図5(a)の対象ネットリストにおいては、3行目が抵抗素子に関する記述であると判定される。
そして、読み込んだ行の第1文字列(図5(a)の3行目太字下線斜字体部)、つまり抵抗素子の抵抗素子名を抵抗素子名データベース16に追加する。図5(a)においては、図10(a)中の抵抗素子名データベース26がそれに相当する。
図5(a)の対象ネットリストを最終行まで読み込んだら、重複ネット削除部21にて、抽出ネットデータベース25中の閾値毎の抽出ネットデータベース251,252を順次読み込み、該読み込んだ行を辞書順に並び替えた後、重複ネットを削除する。例えば、図10(a)の抽出ネットリストデータ25では、抽出ネットデータベース:VDD252中のネットdが重複しているため、この重複が解消される。上記重複ネット削除部21にて重複ネットを削除した後、新たな抽出ネットデータベース25’を得る。重複ネット削除後の、閾値毎の抽出ネットデータベースは、図10(b)に示される、抽出ネットデータベース:AVDD251’及び抽出ネットデータベース:VDD252’がそれらに相当する。
この後、抽出ネット数カウント部31にて、抽出ネットデータベース25に含まれるネット数をカウントする。図10(b)の重複ネット削除後の抽出ネットデータベース25’に含まれるネット数のうち、抽出ネットデータベース:AVDD251’、つまりHVTMOSトランジスタに関するネット数は、トップレベルの階層において“2”、オペアンプOPの階層において“2”、また、抽出ネットデータベース:VDD252’、つまりLVTMOSトランジスタに関するネット数は、トップレベルの階層において1、TriStateBuffer TBUFの階層において“2”である。これらのネット数に関する情報は、抽出ネット数保持部32に保持される。ここでは、図15がそれに相当する。
この後、抵抗挿入部13にて、重複ネット削除後の抽出ネットと電源間、及び該重複ネット削除後の抽出ネットと基準電位間を結ぶ抵抗素子を、該対象ネットリストに挿入する。例えば、図10(c)に示される変換後ネットリスト28の14〜17、24〜27、30〜35行目が、該対象ネットリストに挿入された抵抗素子に相当する。このとき、挿入する抵抗の素子名は、抵抗素子名データベース26内を検索し、唯一の抵抗素子名とする。また、前述のようにして対象ネットリストに挿入した抵抗素子の抵抗素子名は、順次、抵抗素子名データベース26に追加していく(図10(c)の抵抗素子名データベース26’)。これを繰り返すことにより、対象回路のネットリストを変換していく。
このようなネットリスト変換処理により得られる変換後ネットリストの回路図は、図11の回路3721,3722に示すものとなる。この回路の詳細については、上記実施の形態2と同様であるため、ここでは説明を省略する。
以上のように、本実施の形態3によれば、変換対象である回路のMOSトランジスタのゲート端子に抵抗を挿入するように、該対象回路のネットリストを変換するようにしたので、該対象回路がアナログCMOS回路であっても、CMOS論理回路であっても、MOSトランジスタのゲート端子が不定状態の場合には、上記挿入した抵抗素子が、MOSトランジスタのゲート端子と電源間、及びMOSトランジスタのゲート端子と基準電位間で、プルアップ抵抗・プルダウン抵抗として働くこととなり、この結果、静止状態で貫通電流が流れる可能性があるMOSトランジスタのゲート端子を電源−基準電圧間の電圧に固定することができる。そしてこのことは、後述する静止状態貫通電流検出装置において、従来の直流解析シミュレーションでは検出することが困難であった貫通電流を確実に検出することを可能とする。
さらに、本実施の形態3によれば、ネット抽出部12において、上記対象ネットリストからMOSトランジスタを検出して、該MOSトランジスタのゲート端子に接続されているネットを抽出し、重複ネット削除部21において、抽出されたネットのうち、重複しているネットを削除した上で、該ネットに抵抗を挿入するようにしたので、対象回路内の貫通電流が発生する疑いのあるトランジスタを確実に検出することができて、後述する静止状態貫通電流検出装置において、従来の直流解析シミュレーションでは検出することが困難であった貫通電流を確実に検出することができると共に、ネットリストに追加する抵抗素子数を必要最低限の数にすることができ、これにより、後述する静止状態貫通電流検出装置における解析時間を短縮することが可能となる。
さらに、本実施の形態3によれば、抽出ネット数カウント部31を設け、上記重複ネット削除部21によって削除された重複ネット削除後の抽出ネット数をカウントするようにしたので、抵抗挿入部13により抵抗素子が挿入されるネット数を得ることができるため、後述する貫通電流検出装置において、全貫通電流の算出を実現することが可能となる。
(実施の形態4)
以下、図16〜図21を用いて、本実施の形態4にかかるネットリスト変換装置40について説明する。
上記実施の形態においては、ネット抽出部により、対象回路のネットリストから貫通電流が発生する可能性のあるMOSトランジスタのゲート端子を抽出した後、抵抗挿入部により、上記抽出したネットと電源間、及び該抽出したネットと基準電位間とを結ぶように抵抗を挿入するようにしたが、本実施の形態4においては、対象回路のネットリストのうちの貫通電流が発生する可能性のあるMOSトランジスタを、まずサブサーキットに置き換えた後、該貫通電流が発生する可能性のあるMOSトランジスタのゲート端子に抵抗を挿入したサブサーキットの内容を、上記において置き換えたサブサーキットの内容として上記ネットリストに追加するようにしたものである。
まず、図16を用いて、本実施の形態4に係るネットリスト変換装置40の構成について説明する。図16は、本実施の形態4に係るネットリスト変換装置の構成を示す図である。
図16において、ネットリスト変換装置40は、ネットリスト指定部11と、トランジスタ置換え部41と、サブサーキット追加部42と、メモリ47と、からなるものである。
より詳細に述べると、上記トランジスタ置換え部41は、静止状態時の貫通電流検出対象ネットリストに対して、変換対象としたMOSトランジスタをサブサーキットに置き換えるものであり、上記サブサーキット追加部42は、上記トランジスタ置換え部41により置き換えたサブサーキットの内容を、上記対象ネットリストに追加するものである。そして、上記メモリ47は、対象回路のネットリストを保持するネットリストデータベース14と、上記トランジスタ置換え部41により置き換えられるトランジスタの数を保持する置換えトランジスタ数保持部43と、追加するサブサーキットを、閾値及び種類の異なるMOSトランジスタ毎に予め保持しておく置換えサブサーキットデータベース44とを含むものである。
次に、図17〜図21を用いて、上述した構成を有する本実施の形態4のネットリスト変換装置40の動作について説明する。なおここでは、上述した図37(a),(b)の両回路のネットリスト(図5(a)に示す対象ネットリスト)を変換する場合を例に挙げて説明する。
図17は、本実施の形態4にかかるネットリスト変換装置によるネットリスト変換処理の一連の流れを示す図であり、図18は、図17に示すネットリスト変換処理の、トランジスタ置換え処理の詳細な流れを示す図であり、図19は、図17に示すネットリスト変換処理の、サブサーキット追加処理の詳細な流れを示す図である。そして、図20は、本実施の形態4にかかるネットリスト変換装置により図5(a)に示すネットリストをネットリスト変換処理した後の変換後ネットリストと、ネットリスト変換処理後の置換えトランジスタ数保持部の内容を示す図であり、図21は、図20に示す変換後ネットリストの回路図である。
まず、ユーザが、ネットリスト指定部11により、静止状態時の貫通電流を検出する対象となる対象ネットリストを指定すると(図17のステップS110)、次に、トランジスタ置き換え部41において、変換対象としたMOSトランジスタをサブサーキットに置き換える(図17のステップS410)。
以下、図18を用いて、上記トランジスタ置換え処理について詳細に述べる。
まず、ネットリスト指定部11で指定された対象ネットリストを、先頭行より1行ずつ順次読み込んでいく(図18のステップS411)。そして、該読み込んだ行の先頭文字が“M”で始まっているか否かを判定し(図18のステップS412)、その判定結果に応じて、読み込んだ行がMOSトランジスタに関する記述か否かを判定する。読み込んだ行の先頭文字が“M”で始まっていれば、MOSトランジスタに関する記述であると判定して、次のステップS413を実施し、そうでないと判定された場合、ステップS415を実施する。
そして上記ステップS412において、読み込んだ行がMOSトランジスタであると判定された場合、読み込んだ行の第6文字列、つまりMOSトランジスタのモデル名より、MOSトランジスタの閾値及び種類を判定する。そしてこの後、現在読み込まれているMOSトランジスタに関する記述を、MOSトランジスタの閾値及び種類毎に置換えサブサーキットデータベース44に保持されているサブサーキットに置き換えていく(図18のステップS413)。このとき、この置き換える行の第1文字列の先頭に“X”を追加し、さらに置換えられたMOSトランジスタからは、該MOSトランジスタの第2、第3、第4、第5文字列つまり、“ドレイン端子”、“ゲート端子”、“ソース端子”、“バルク端子”からなるネット接続情報、及び“W:チャネル幅”、“L:チャネル長”、“M:マルチプライヤ”などからなるパラメータ情報を抽出して、これらをサブサーキットへ引き継ぐ。もちろんここで、“W”、“L”、“M”のほかに“AD:ドレイン拡散領域”、“AS:ソース拡散領域”、“PD:ドレイン拡散領域周囲長”、“PS:ソース拡散領域周囲長”なども、サブサーキットに引き継ぐことができる。
そして、置き換えたMOSトランジスタの閾値毎に、トランジスタの置き換え数をカウントし、そのカウント数を置換えトランジスタ数保持部43に保持する(図18のステップS414)。これを繰り返すことにより、対象回路のネットリストを変換していく。
この後、読み込んだ行が最終行か否かを判定し(図18のステップS415)、最終行であれば処理を終了し、そうでなければ、上記ステップS411に戻って、上述した処理を繰り返す。
上述したように、上記トランジスタ置換え処理のステップS415において、読み込んだ行が最終行であると判定された場合、上記トランジスタ置換え処理においてMOSトランジスタから置き換えたサブサーキットの内容を追加する(図17のステップS420)。
上記サブサーキット追加処理について詳細に説明すると、図19に示すように、閾値の異なるトランジスタ毎に、トランジスタ置換え用サブサーキットを、上記対象ネットリストに追加していく(図19のステップS421)。
なお、上記サブサーキット追加処理において追加するサブサーキットには、それぞれのMOSトランジスタの閾値及び種類に対応したMOSトランジスタがひとつと、該MOSトランジスタのゲート端子と該MOSトランジスタの閾値に応じた電源間、及び該MOSトランジスタのゲート端子と基準電圧間とを結ぶ抵抗素子とが含まれる。
このような処理を行うことにより、図5(a)の対象ネットリストから、図20に示す変換後のネットリスト48と、置き換えトランジスタ数とが得られる。
次に、図5(a)、及び図20に示す対象ネットリストの例を用いて、本実施の形態4にかかるネットリスト変換装置40の動作について更に詳しく説明する。
まず、ネットリスト指定部11で、図5(a)に示す対象ネットリストを指定する。
次に、トランジスタ置換え部41において、変換対象としたMOSトランジスタをサブサーキットに置き換える。この際、トランジスタ置換え部41は、図5(a)に示す対象ネットリストの先頭行より1行ずつ順次読み込みを行う。そして、読み込んだ行の先頭文字が“M”で始まっているか否かを判定し(図5(a)の下線部)、読み込んだ行がMOSトランジスタに関する記述か否かを判定する。図5(a)においては、1、2、6、7、11、12、17、18行目がMOSトランジスタに関する記述であると判定される。
そして、読み込んだ行の第6文字列(5(a)の1、2、6、7、11、12、17、18行目太字下線部)、つまりMOSトランジスタのモデル名より、MOSトランジスタの閾値及び種類を判定する。図5(a)においては、pchhvtであればPchHVTMOSトランジスタ、nchhvtであればNchHVTMOSトランジスタ、pchlvtであればPchLVTMOSトランジスタ、nchlvtであればNchLVTMOSトランジスタであると判定する。
そして、現在読み込まれているMOSトランジスタに関する記述を、MOSトランジスタの閾値及び種類毎に設けられたサブサーキットに置き換えを行う。このとき、この行の第1文字列の先頭に“X”を追加し、置き換えるMOSトランジスタの第2、第3、第4、第5文字列、つまり該MOSトランジスタの“ドレイン端子”、“ゲート端子”、“ソース端子”、“バルク端子”からなるネット接続情報をそのまま引継ぎ、また “W:チャネル幅”、“L:チャネル長”、“M:マルチプライヤ”などからなるパラメータ情報についても、サブサーキットに“PARAMS”を用いて引き継ぐ。なお、図20の変換後ネットリスト48において、MOSトランジスタがサブサーキットに引き継がれた行は、1〜2、6〜7、11〜12、17〜18行目がそれらに相当するものである。
同時に、上記トランジスタ置換え部41によって置き換えられたMOSトランジスタを、その閾値の異なるトランジスタ毎に、トランジスタの置き換え数をカウントする。図20の置換えトランジスタ数保持部43の内容がこれに相当する。
そして、上記サブサーキット追加部42により、MOSトランジスタからサブサーキットに置き換えるためのサブサーキットの内容を追加する。図20の変換後ネットリスト48において、PchHVTMOSトランジスタに関するサブサーキットの記述は22〜26行目に、また、NchHVTMOSトランジスタに関するサブサーキットの記述は28〜32行目に、また、PchLVTMOSトランジスタに関するサブサーキットの記述は34〜38行目に、さらに、NchLVTMOSトランジスタに関するサブサーキットの記述は40〜44行目に相当する。
そして、追加したサブサーキットには、それぞれのMOSトランジスタの閾値及び種類に対応したMOSトランジスタがひとつと、該MOSトランジスタのゲート端子と該MOSトランジスタの閾値に応じた電源間、及び該MOSトランジスタのゲート端子と基準電位間を結ぶ抵抗素子が含まれる。これらの処理を繰り返すことにより、対象回路のネットリストを変換していく。
このようなネットリスト変換処理により得られる変換後ネットリストの回路図は、図21の回路3731,3732に示すものとなる。図21から明らかなように、本実施の形態4にかかるネットリスト変換装置40によるネットリスト変換処理では、上記実施の形態1にかかるネットリスト変換装置10によるネット変換処理と同数の抵抗が挿入されることとなる。しかし、本実施の形態4にかかるネットリスト変換装置40により変換された後のネットリスト48(図20参照)のほうが、実施の形態1にかかるネットリスト変換装置10により変換された後のネットリスト18(図5(c)参照)より回路構成がわかりやすく、また変換前のネットリストの状態を維持したまま、抵抗素子が追加されていくため、変換後のネットリストがみやすく、且つ変換後のネットリストから構成回路がわかりやすいものとなる。
以上のように、本実施の形態4によれば、変換対象である回路のMOSトランジスタを、抵抗を含むサブサーキットに置換えるようにしたので、該対象回路がアナログCMOS回路であっても、CMOS論理回路であっても、MOSトランジスタのゲート端子が不定状態の場合には、上記MOSトランジスタの代わりに置き換えたサブサーキットに含まれる抵抗素子が、MOSトランジスタのゲート端子と電源間、及びMOSトランジスタのゲート端子と基準電位間で、プルアップ抵抗・プルダウン抵抗として働くこととなり、この結果、静止状態で貫通電流が流れる可能性があるMOSトランジスタのゲート端子を電源−基準電圧間の電圧に固定することができる。
さらに、本実施の形態4によれば、MOSトランジスタのゲート端子に直接抵抗を挿入するのではなく、該MOSトラジスタを、抵抗を含むサブサーキットに置換えるようにしたので、変換後のネットリストがみやすく、該変換後ネットリストから回路構成がわかりやすいという効果がある。
(実施の形態5)
以下、図22〜図26を用いて、本実施の形態5にかかるネットリスト変換装置50について説明する。
上記実施の形態においては、対象回路のネットリストからMOSトランジスタを全て抽出し、該MOSトランジスタに対して抵抗を挿入するようにしたが、本実施の形態5においては、信頼性の高い回路に対しては、該回路内にたとえMOSトランジスタが含まれていても、該MOSトランジスタに対しては抵抗を挿入しないようにするものである。
まず、図22を用いて、本実施の形態5に係るネットリスト変換装置の構成について説明する。図22は、本実施の形態5におけるネットリスト変換装置50の構成を示す図である。
図22において、ネットリスト変換装置50は、ネットリスト指定部11と、第1ネット抽出部12と、第2ネット抽出部51と、重複ネット削除部21と、抵抗挿入部53と、ネットリストデータベース14、抽出ネットデータベース55、抵抗素子名データベース56、及びサブサーキットデータベース52を含むメモリ57と、からなるものである。
より詳細に述べると、上記第1ネット抽出部12は、静止状態時の貫通電流検出対象ネットリスト内の、MOSトランジスタに接続されたネットを抽出するものであって、上記各実施の形態におけるネット抽出部に相当するものであり、一方、上記第2ネット抽出部51は、静止状態時の貫通電流検出対象ネットリストに対して、ある特定のサブサーキットの入力端子に接続されているネットを抽出するものである。また、上記抵抗挿入部53は、上記第1ネット抽出部12及び第2ネット抽出部51で抽出され、上記重複ネット削除部21で重複ネットが削除されたネットのうち、特定のサブサーキットに含まれるMOSトランジスタのゲート端子に接続されているネット以外の特定のネットと電源間、及び上記特定のネットと基準電位間を接続する抵抗素子を挿入するものである。そして、メモリ57内のサブサーキットデータベース52は、上記第2ネット抽出部51において抽出するサブサーキットの情報を示すものある。なお、その他の構成は上記実施の形態2と同様であるため、ここでは説明を省略する。
次に、図23〜図26を用いて、上述した構成を有する本実施の形態5のネットリスト変換装置50の動作について説明する。なおここでは、上述した図37(a),(b)の両回路の静止状態貫通電流を検出するため、これらの回路のネットリストを変換する場合を例に挙げて説明する。
図23は、本実施の形態5にかかるネットリスト変換装置によるネットリスト変換処理の一連の流れを示す図であり、図24は、図23に示すネットリスト変換処理内の、第2ネット抽出処理の詳細な流れを示す図であり、図25は、図23に示すネットリスト変換処理の、抵抗挿入処理の詳細な流れを示す図である。そして、図26(a)は、本実施の形態5にかかるネットリスト変換装置によって、ネットリスト変換される対象回路(ここでは、図37(a),(b)に示す回路)のネットリストを示す図であり、図26(b)は、本実施の形態5にかかるネットリスト変換装置の抽出ネット部で抽出される、抽出ネットデータベースと抵抗素子名データベースを示す図であり、図26(c)は、サブサーキットデータベースの内容、及び第2ネット抽出部による処理後の抽出ネットデータベースの内容を示す図であり、図26(d)は、重複ネット削除部による処理後の抽出ネットデータベースの内容を示す図であり、図26(e)は、抽出ネット数カウント部によりカウントされた抽出ネット数を示す図であり、図26(f)は、本実施の形態5にかかるネットリスト変換装置において、図26(a)に示すネットリストをネットリスト変換処理した変換後ネットリストと、変換処理後における抵抗素子名データベースを示す図である。
まず、ユーザは、ネットリスト指定部11により、静止状態時の貫通電流を検出する対象となる対象ネットリストを指定する(図23のステップS110)。この処理の詳細については、上記実施の形態1において述べたものと同様であるため、ここでは説明を省略する。
次に、第1ネット抽出部12において、図26(a)に示す対象ネットリスト内の、MOSトランジスタのゲート端子に接続されたネットを抽出する第1ネット抽出処理を行う(図23のステップS120)。この処理については、上述したように上記実施の形態1において、図3を用いて説明したネット抽出処理と同様であるため、ここでは説明を省略する。
そして、この後、第2ネット抽出部51で、再度、上記ネットリスト指定部11により指定された図26(a)に示す対象ネットリストを読み込み、該対象ネットリストに対して、変換対象としたある特定のサブサーキットの入力端子に接続されているネットを抽出していく。
以下、図24を用いて、上記第2ネット抽出処理について詳細に述べる。
まず、ネットリスト指定部11で指定された対象ネットリストの先頭行より1行ずつ順次読み込みを行う(図24のステップS511)。次に、読み込んだ行がサブサーキットに関する記述か否かを判定する(図24のステップS512)。ここでは、読み込んだ行の先頭文字が“X”で始まっているか否かを判定する。すなわち、読み込んだ行の先頭文字が“X”で始まっていれば、サブサーキットに関する記述であると判定して、次のステップS513を実施し、そうでないと判定された場合、ステップS515を実施する。
そして、上記ステップS512において、読み込んだ行がサブサーキットであると判定された場合、該読み込んだ行の最終文字列、つまり読み込んだサブサーキットのサブサーキット名が、サブサーキットデータベース52に含まれるか否かを判定する(図24のステップS513)。そして、読み込んだサブサーキットのサブサーキット名が、サブサーキットデータベース52に含まれていると判定されれば、次のステップS514を実施し、そうでないと判定された場合、ステップS515を実施する。
そして、上記ステップ514において、サブサーキットデータベース52に含まれるサブサーキットの入力端子情報、及びその入力端子のMOSトランジスタの閾値情報を元に、該サブサーキットの入力端子に接続されているネットを抽出し、その抽出したネットを、第1ネット抽出部12で得られた閾値の異なるMOSトランジスタ毎に設けた抽出ネットデータベース55に追加し、新たな抽出ネットデータベース55’を得る。この新たに得られた抽出ネットデータベース55’は、図26(c)に示されるものである。
この後、読み込んだ行が最終行か否かを判定し(図24のステップS515)、最終行であれば処理を終了し、そうでなければステップS511に戻って、上述した処理を繰り返す。
そして、上述の第1,第2ネット抽出処理が終了後、重複ネット削除部21で、上記第2ネット抽出処理により得られた抽出ネットデータベース55’の重複ネットを削除し、図26(d)に示される、重複ネットが削除された抽出ネットデータベース55’’を得、抽出ネットカウント部31で、上記重複ネット削除後の抽出ネットデータベース55’’に含まれるネット数をカウントして、メモリ57内の抽出ネット数保持部32(図26(e)参照)に、MOSトランジスタの閾値毎に保持する(図23のステップS310)。これらの処理については、上記実施の形態3において図14を用いて述べたものと同様であるため、ここでは説明を省略する。
そして、上記重複ネット削除部21において重複ネットが削除され、新たな抽出ネットデータベース55’’が出力された後、該重複ネットが削除された抽出ネットのうち、サブサーキットデータベース52に含まれるMOSトランジスタのゲート端子に接続されているネット以外の特定ネットと電源間、及び該特定ネットと基準電位間とを結ぶ抵抗素子を、上記対象ネットリストに挿入する抵抗挿入処理を行う(図23のステップS520)。
以下、図25を用いて、上記抵抗挿入処理について詳細に述べると、第1ネット抽出部12及び第2ネット抽出部51で抽出され、さらに重複ネット削除部21で重複ネットを削除されたネットのうち、サブサーキットデータベース52に保持されている特定のサブサーキットに含まれるMOSトランジスタのゲート端子に接続されているネット以外の特定のネットと電源間、及び上記特定のネットと基準電位間を接続する抵抗をネットリストに挿入する。ここでは、抽出ネットデータベース55’’の、MOSトランジスタの閾値毎に抽出された抽出ネットデータベース:ADVV551’’、抽出ネットデータベース:VDD552’’に含まれるネットのうち、サブサーキットデータベース52に含まれるMOSトランジスタのゲート端子に接続されているネット以外の特定のネットとMOSトランジスタの閾値毎に決められた電源間、及び上記特定のネットと基準電位間に抵抗をネットリストに挿入する(図25のステップS521)。このとき、挿入する抵抗の素子名は、抵抗素子名データベース56内を検索し、唯一の抵抗素子名とする。また、挿入した抵抗素子の抵抗素子名を抵抗素子名データベース56’に追加する。これを繰り返すことにより、対象ネットリストを変換する。
このような処理を行うことにより、図26(a)の対象ネットリストから、図26(f)に示す変換後のネットリスト58と、ネットリストに追加された抵抗が追加された抵抗素子名データベース56’と、図26(e)に示す抽出ネット数32とが得られる。
次に、図26に示すネットリストの例を用いて、本実施の形態5にかかるネットリスト変換装置50の動作について更に詳しく説明する。
まず、ユーザは、ネットリスト指定部11により、図26(a)に示す対象ネットリストを指定する。なお、図26(a)は、図5(a)と同様、図37(a),(b)で示した回路図をSPICE形式のネットリストで表現したものであるが、図5(a)と異なる点は、図26(a)においては、図5(a)の6〜7行目のMP2,MN2で形成されるインバータをサブサーキット名INVとして表している点であり、図26(a)では、6行目でサブサーキットINVと表現し、また21〜24行目で、該サブサーキットINVの内容に関する記述が追加されている。
次に、第1ネット抽出部12において、上記対象ネットリストから、変換対象としたネットを抽出する。この際、上記第1ネット抽出部12は、読み込んだ行の先頭文字が“M”で始まっているか否かを判定し(図26(a)の下線部)、読み込んだ行がMOSトランジスタに関する記述か否かを判定する。図26(a)においては、1、2、10、11、16、17、22、23行目がMOSトランジスタに関する記述であると判定される。
そして、読み込んだ行の第6文字列(図26(a)の1、2、10、11、16、17、22、23行目太字下線部)つまりMOSトランジスタのモデル名より、MOSトランジスタの閾値を判定する。図26(a)においては、pchhvt、nchhvtであれば、HVTMOSトランジスタ、pchlvt、nchlvtであれば、LVTMOSトランジスタであると判定する。
同時に、その読み込んだ行の第3文字列(図26(a)の1、2、10、11、16、17、22、23行目太字下線斜字体部)、つまりMOSトランジスタのゲート電極に接続されているネットを、MOSトランジスタの閾値毎に設けた抽出ネットデータベース55に追加する。図26(a)の対象ネットリストの、HVTMOSトランジスタの抽出ネットデータベースは図26(b)中の抽出ネットデータベース:AVDD551がそれに相当し、LVTMOSトランジスタの抽出ネットデータベースは図26(b)中の抽出ネットデータベース:VDD552がそれに相当する。
次に、上記第1ネット抽出部12によって読み込んだ行の先頭文字が“R”で始まっているか否かを判定し(図26(a)の3行目太字下線斜字体部)、読み込んだ行が抵抗素子に関する記述か否かを判定する。図26(a)の対象ネットリストにおいては、3行目が抵抗素子に関する記述であると判定される。そして、読み込んだ行の第1文字列(図26(a)の3行目太字下線斜字体部)、つまり抵抗素子の抵抗素子名を、抵抗素子名データベース56に追加する。図26(a)においては、図26(b)中の抵抗素子名データベース56がそれに相当する。
図26(a)の対象ネットリストを最終行まで読み込んだら、今度は、第2ネット抽出部51において、上記ネットリスト指定部11により指定された対象ネットリストから、変換対象としたある特定のサブサーキットの入力端子に接続されているネットを抽出する。
ここでは、ネットリスト指定部11で指定された対象ネットリストの先頭行より1行ずつ順次読み込みを行い、読み込んだ行の先頭文字が“X”で始まっているか否かを判定し(図26(a)の下線斜字体部)、それに応じて、読み込んだ行がサブサーキットに関する記述か否かを判定する。図26(a)においては、4、6、7行目がサブサーキットに関する記述であると判定される。
そしてこの後、上記読み込んだ行の最終文字列、つまり読み込んだサブサーキットのサブサーキット名が、サブサーキットデータベース52に含まれるか否かを判定する。ここで、上記サブサーキットデータベース52は、図26(c)に相当し、サブサーキットの入力端子情報、及びその入力端子のMOSトランジスタの閾値情報を含む。図26(a)においては、6、7行目が、サブサーキットデータベース52に含まれるサブサーキットに相当する。
そして、上記第2ネット抽出部51によって、サブサーキットデータベース52に含まれる、サブサーキットの入力端子情報及びその入力端子のMOSトランジスタの閾値情報を元に、サブサーキットの入力端子に接続されているネットを抽出し、該抽出したネットを、閾値の異なるMOSトランジスタ毎に設けられた抽出ネットデータベース55(図26(b)参照)に追加し、新たな抽出ネットデータベース55’を得る。ここでは、第2ネット抽出部51により、LVTMOSトランジスタに関する抽出ネットデータベースに対してネットが追加され、図26(c)に示される抽出ネットデータベース:VDD552’がそれに相当するものである。
次に、重複ネット削除部21にて、図26(b)に示す抽出ネットデータベース:AVDD551、及び図26(c)に示す抽出ネットデータベース:VDD552’に保存されたネットを順次読み込み、それぞれの抽出ネットデータベースから読み込んだ行を辞書順に並び替え、重複ネットを削除する。図26(c)では、ネットIN:INV、及びネットdが重複しているため、この抽出ネットデータベース:VDD552’内のネットの重複が解消される。重複ネットを削除した後、新たな抽出ネットデータベース55’’を得る。図26(b),(c)からは、それぞれ図26(d)中の、抽出ネットデータベース:AVDD551’’、及び抽出ネットデータベース:VDD552’’が得られる。
そしてこの後、上記抽出ネット数カウンタ部31により、上記抽出ネットデータベース55’’に含まれるネット数をカウントする。なお、このときサブサーキットデータベース52に含まれるネットに関してはカウントしない(図示せず)。図26(d)の抽出ネットデータベース:AVDD551’’に含まれるネット数、つまりHVTMOSトランジスタに関するネット数はトップレベルの階層において“2”、オペアンプOPの階層において“2”、一方、図26(d)の抽出ネットデータベース:VDD552’’に含まれるネット数、つまりLVTMOSトランジスタに関するネット数はトップレベルの階層において“2”である。これらのネット数に関する情報は、抽出ネット数保持部32に保持される。ここでは、図26(e)がそれに相当する。
次に、抵抗挿入部52にて、第1ネット抽出部12、及び第2ネット抽出部51で抽出され、重複ネット削除部21で重複ネットを削除されたネットのうち、特定のサブサーキットに含まれるMOSトランジスタのゲート端子に接続されているネット以外のネットと電源間、及び上記特定のネットと基準電位間を接続する抵抗を、対象ネットリストに挿入する。ここでは、MOSトランジスタの閾値毎に抽出された抽出ネットデータベース55’’(図26(d)に相当)に含まれるネットのうち、サブサーキットデータベース52に含まれるMOSトランジスタのゲート端子に接続されているネット以外の特定のネットと、MOSトランジスタの閾値毎に決められた電源間、及び上記特定のネットと、基準電位間を結ぶ抵抗素子を、該対象ネットリストに挿入する。ここで、図26(d)に示すように、“TBUF”及び“INV”は、サブサーキットデータベース52に含まれるため、上記特定のネットから除外される。図26(f)の13〜16、30〜37行目がネットリストに挿入された抵抗素子に相当する。
そしてこのとき、挿入する抵抗の素子名は、抵抗素子名データベース56内を検索し、唯一の抵抗素子名とする。また、前述のようにして対象ネットリストに挿入した抵抗素子の抵抗素子名を、順次、抵抗素子名データベース56に追加していく(図26(f)の抵抗素子名データベース56’)。これを繰り返すことにより、対象ネットリストを変換する。
以上のように、本実施の形態5によれば、変換対象である回路のMOSトランジスタのゲート端子に抵抗を挿入するように、該対象回路のネットリストを変換するようにしたので、該対象回路がアナログCMOS回路であっても、CMOS論理回路であっても、MOSトランジスタのゲート端子が不定状態の場合には、上記挿入した抵抗素子が、MOSトランジスタのゲート端子と電源間、及びMOSトランジスタのゲート端子と基準電位間で、プルアップ抵抗・プルダウン抵抗として働くこととなり、この結果、静止状態で貫通電流が流れる可能性があるMOSトランジスタのゲート端子を電源−基準電圧間の電圧に固定することができる。そしてこのことは、後述する静止状態貫通電流検出装置において、従来の直流解析シミュレーションでは検出することが困難であった貫通電流を確実に検出することを可能とする。
また、本実施の形態5によれば、重複ネット削除部21により抽出ネットデータベース内の重複しているネットを削除することに加え、あらかじめ貫通電流が発生する疑いがない回路をサブサーキットデータベース52に保持しておき、抵抗挿入部53により抵抗を挿入する際には、該サブサーキットデータベース52に示された箇所には抵抗を挿入しないようにしたので、対象回路内の貫通電流が発生する疑いのあるトランジスタを確実に検出することができ、後述する静止状態貫通電流検出装置において、従来の直流解析シミュレーションでは検出することが困難であった貫通電流を確実に検出することができると共に、上記サブサーキットデータベース52に含まれるネットに関しては、そのサブサーキットの入力端子に接続されるネットのみが抵抗素子挿入の対象となるため、ネットリストに挿入される抵抗素子の数を大幅に少なくすることが可能となり、これにより、後述する静止状態貫通電流検出装置における解析時間を、より短縮することが可能となる。
さらに、本実施の形態5によれば、抽出ネット数カウント部31を設け、上記重複ネット削除部21による重複ネット削除後の抽出ネット数をカウントするようにしたので、抵抗挿入部13により抵抗素子が挿入されるネット数を得ることができるため、後述する貫通電流検出装置において、全貫通電流の算出を実現することが可能となる。
なお、本実施の形態5においては、上記実施の形態1〜3に示すように、ネット抽出部により、対象回路のネットリストから貫通電流が発生する可能性のあるMOSトランジスタのゲート端子を抽出した後、抵抗挿入部により、上記抽出したネットと電源間、及び該抽出したネットと基準電位間とを結ぶように抵抗を挿入するものについて説明したが、上記実施の形態4に示すように、対象回路のネットリストのうちの貫通電流が発生する可能性のあるMOSトランジスタを、まずサブサーキットに置き換えた後、該貫通電流が発生する可能性のあるMOSトランジスタのゲート端子に抵抗を挿入したサブサーキットの内容を、置き換えたサブサーキットの内容として上記ネットリストに追加するものであっても、本実施の形態5と同様の処理が可能である。
(実施の形態6)
以下、図27〜図29を用いて、本実施の形態6にかかる静止状態貫通電流検出装置100について説明する。
本実施の形態においては、上記実施の形態1〜5において説明したネットリスト変換装置により、静止状態時の貫通電流検出対象ネットリストを変換処理した上で、該ネットリストの静止状態時の貫通電流を検出するものである。
まず、図27を用いて、本実施の形態6にかかる静止状態貫通電流検出装置100の構成について説明する。図27は、本実施の形態6における静止状態貫通電流検出装置の構成を示す図である。
図27において、静止状態貫通電流検出装置100は、ネットリスト変換部10と、直流解析部101と、トランジスタ検索部102と、メモリ105と、からなるものである。
より詳細に述べると、上記ネットリスト変換部10は、静止状態貫通電流検出対象回路のネットリストに対し、貫通電流が発生する可能性のある箇所に抵抗を挿入するよう、該対象ネットリストを変換するものであり、その構成は、上述した実施の形態1〜5に相当するものである。そして、上記直流解析部101は、上記ネットリスト変換部10により、該ネットリスト変換処理がされた後の変換後ネットリストに対して、直流解析を行って直流解析結果を得るものであり、上記トランジスタ検索部102は、上記直流解析部101にて得られた直流解析結果により、貫通電流が発生しているMOSトランジスタを検索するものである。そして、上記メモリ105は、上記直流解析結果を保持する直流解析結果保持部103と、上記トランジスタ検索部102において検索された貫通電流が発生する可能性のある箇所を保持する電流貫通トランジスタデータベース104とを含むものである。
以下、図28,図29を用いて、上述した構成を有する本実施の形態6の静止状態貫通電流検出装置100の動作について説明する。なお、ここでは、上述した図37(a),(b)の両回路の静止状態貫通電流を検出するものとする。
図28は、本実施の形態6にかかる静止状態貫通電流検出装置による、貫通電流検出処理の一連の流れを示す図であり、図29は、図28に示す貫通電流検出処理内の、トランジスタ検索処理の詳細な流れを示す図である。
まず、ユーザが、ネットリスト変換部10内のネットリスト指定部(図示せず)により静止状態貫通電流を検出する対象となる回路を指定すると、ネットリスト変換部10は、該指定された対象回路のネットリストに対し、ネットリスト変換を実施する(図28のステップS1000)。この動作については、上記実施の形態1〜5に示した通りである。
そして、直流解析部101において、上記ネットリスト変換部10で変換されたネットリストについて直流解析を実施して直流解析結果を得、これをメモリ105内の直流解析結果保持部103に保持する(図28のステップS2000)。なお、直流解析の動作については従来と同様であるため、説明を省略する。
そしてこの後、トランジスタ検索部102において、上記直流解析部101にて得られた直流解析結果により、貫通電流が発生する可能性のあるMOSトランジスタを検索して、その結果を、メモリ105内の電流貫通トランジスタデータベース104に保持していく(図28のステップS3000)。
以下、図29を用いて、上記トランジスタ検索処理について詳細に述べる。
まず、上記直流解析部101にて得られた直流解析結果より、MOSトランジスタに関する情報を検索する(図29のステップS3100)。そして、|IDS|>Ithであれば、ステップS3300を実施し、そうでなければステップS3400を実施する。すなわち、上記|IDS|がIthより大きければ、そのMOSトランジスタには貫通電流が発生していると判定して、電流貫通トランジスタデータベース104にそのMOSトランジスタを追加し(図29のステップ3300)、上記|IDS|がIthより小さければ、そのMOSトランジスタは貫通電流が発生していないと判定する。この後、検索したMOSトランジスタが最後のMOSトランジスタか否かを判定し(図29のステップS3400)、最後のMOSトランジスタであれば処理を終了し、そうでなければ上記ステップS3100に戻り、上述した処理を繰り返す。
このようにして、静止状態において貫通電流が発生する可能性のある箇所を検出し、電流貫通トランジスタデータベース104を出力する。
次に、図26に示すネットリストの例を用いて、本実施の形態6にかかる静止状態貫通電流検出装置100の動作について更に詳しく説明する。なお、ここでは、ネットリスト変換部が実施の形態5に示すネットリスト変換装置であるものとして説明する。
まず、図26(a)の対象ネットリストに対して、実施の形態5のネットリスト変換装置であるネットリスト変換部10によってネットリスト変換が実施され、図26(f)に示す変換後ネットリストが得られたとする。
ここで、静止状態の貫通電流を検出する際に、OP1の制御信号ENABLE1、及びTBUF1の制御信号ENABLE2が“L”であったと仮定する。このとき、図37(a)の回路3701におけるネットaが不定になり、貫通電流I1が流れる可能性がある。同じく、図37(b)の回路3702におけるネットdが不定となり、貫通電流I2が流れる可能性がある。しかし、図26(f)の変換後ネットリスト58に対して、直流解析を実施すると、ネットaは、R1002及びR1003の作用によって、電源電圧AVDDと基準電位との間の中点の電圧に固定され、ネットdは、R1004及びR1005の作用によって、電源電圧VDDと基準電位との間の中点の電圧に固定されるため、従来の直流解析シミュレーションでは検出することが困難であった貫通電流I1及びI2が流れる。その他のネットにおいては、通常の直流動作点で動作する。
以上のように、本実施の形態6によれば、静止状態貫通電流検出対象回路のネットリストに対し、貫通電流が発生する疑いのある箇所に抵抗を挿入するネットリスト変換処理を行った上で、MOSトランジスタの電流をモニタするようにしたので、通常の直流解析では検出が困難な、貫通電流が発生する可能性のある箇所を、容易に検出することが可能となる。
なお、本実施の形態6においては、上記実施の形態5で説明したネットリスト変換装置50がネットリスト変換部10に相当するものである場合を例に挙げて説明したが、上記ネットリスト変換部10が、上記実施の形態1〜4に挙げたネットリスト変換装置10〜40であっても、同様の効果が得られる。
(実施の形態7)
以下、図30〜図32を用いて、本実施の形態7にかかる静止状態貫通電流検出装置200について説明する。
上記実施の形態6においては、静止状態貫通電流が発生する箇所を検索する場合について説明したが、本実施の形態7においては、さらに、ネットリストの静止状態時の全貫通電流を算出するものである。
まず、図30を用いて、本実施の形態7にかかる静止状態貫通電流検出装置200の構成について説明する。図30は、本実施の形態7における静止状態貫通電流検出装置の構成を示す図である。
図30において、静止状態貫通電流検出装置200は、ネットリスト変換部30と、直流解析部101と、トランジスタ検索部102と、全貫通電流算出部201と、直流解析結果保持部103、電流貫通トランジスタデータベース104、及び全貫通電流保持部202を含むメモリ205と、からなるものである。
より詳細に述べると、上記ネットリスト変換部30は、静止状態貫通電流検出対象回路のネットリストに対し、貫通電流が発生する可能性のある箇所に抵抗を挿入するよう、該対象ネットリストを変換するものである。なお、本実施の形態7においては、全貫通電流を算出するものであるため、上記ネットリスト変換部30の構成は、例えば、上記ネットリスト変換処理において挿入した抵抗の数を求めている、上記実施の形態3〜5に示すネットリスト変換装置に相当するものである。
そして、全貫通電流算出部201は、電源に流れる電流から、電源から基準電位間に挿入した抵抗素子を介して流れる電流を減算し、全貫通電流を算出するものであり、上記メモリ205内の全貫通電流保持部202は、上記全貫通電流算出部201により得た値を保持するものである。なお、そのほかの構成は、上記実施の形態6と同様であるため、ここでは説明を省略する。
以下、図31及び図32を用いて、上述した構成を有する本実施の形態7の静止状態貫通電流検出装置200の動作について説明する。なお、ここでは、上述した図37(a),(b)の両回路の静止状態貫通電流を検出するものとする。
図31は、本実施の形態7にかかる静止状態貫通電流検出装置による、貫通電流検出処理の一連の流れを示す図であり、図32は、図31に示す貫通電流検出処理内の、全貫通電流算出処理の詳細な流れを示す図である。
まず、ユーザが、ネットリスト変換部30内のネットリスト指定部(図示せず)により静止状態貫通電流を検出する対象となる回路を指定すると、ネットリスト変換部30は、該指定された対象回路のネットリストに対し、ネットリスト変換を実施する(図31のステップS1000)。この時、同時に挿入した抵抗の数をカウントして、ネットリスト変換部30内の抽出ネット数保持部32に保持しておく。この動作については、上記実施の形態3〜5に示した通りであり、具体的には、上記実施の形態3,5では抽出ネット数を抽出ネット数保持部32に、また、上記実施の形態4では置換えトランジスタ数を置換えトランジスタ数保持部43に保持している。
そして、上記直流解析部101において、上記ネットリスト変換部30で変換されたネットリストについて直流解析を実施して直流解析結果を得、これをメモリ205内の直流解析結果保持部103に保持する(図31のステップS2000)。なお、直流解析の動作については従来と同様であるため、説明を省略する。
そしてこの後、上記トランジスタ検索部102において、上記直流解析部101にて得られた直流解析結果により、貫通電流が発生する可能性のあるMOSトランジスタを検索して、その結果を、メモリ205内の電流貫通トランジスタデータベース104に保持していく(図31のステップS3000)。なお、この処理については、上記実施の形態6において図29を用いて説明したものと同様であるため、ここでは説明を省略する。
そして、上記全貫通電流算出部201において、上記ネット変換部30において得られた抽出ネット数あるいは置換えトランジスタ数と、上記直流解析部101において得られた直流解析結果に基づいて、全貫通電流を算出する(図31のステップS4000)。
以下、図32を用いて、全貫通電流算出処理について詳細に述べる。
まず、直流解析部101にて得られ、直流解析結果保持部103に保持された直流解析結果103より、電源−基準電位間に流れる電流を抽出する(図32のステップS4100)。そして、上記ネットリスト変換部30において得た、閾値の異なるMOSトランジスタ毎の抽出ネット数もしくは、置き換えトランジスタ数を元に、電源−基準電位間に流れる電流から、挿入した抵抗素子を介して電源−基準電位間に流れる電流を減算して、全貫通電流を得る。つまり、閾値の異なるMOSトランジスタ毎に決められた電源毎に、(電源−基準電位間電流)−N*(電源電圧/(挿入抵抗値*2))を求めることで、ネットリスト変換部30によって挿入した抵抗素子に流れる電流の影響を受けない全貫通電流を得ることができる。ここで、Nは、Σ(サブサーキットXの数*サブサーキットX内で抽出されたネット数)[トップセルも含め、全サブサーキットにおいて算出]を表す。このようにして得た全貫通電流は、全貫通電流保持部202に保持する。
次に、図26に示すネットリストの例を用いて、実施の形態7にかかる静止状態貫通電流検出装置200の動作について更に詳しく説明する。
まず、図26(a)の対象ネットリストに対して、ネットリスト変換部30において、実施の形態5のネットリスト変換装置によってネットリスト変換を実施し、図26(f)に示す変換後ネットリスト58が得られたとする。
ここで、静止状態の貫通電流を検出する際に、OP1の制御信号ENABLE1、及びTBUF1の制御信号ENABLE2が“L”であったと仮定する。このとき、図37(a)の回路3701におけるネットaが不定になり、貫通電流I1が流れる可能性がある。同じく、図37(b)の回路3702におけるネットdが不定となり、貫通電流I2が流れる可能性がある。しかし、図26(f)の変換後ネットリスト58に対して、直流解析を実施すると、ネットaは、R1002及びR1003の作用によって、電源電圧AVDDと基準電位との間の中点に固定され、ネットdは、R1004及びR1005の作用によって、電源電圧VDDと基準電位との間の中点の電圧に固定されるため、貫通電流I1及びI2が流れる。その他のネットにおいては、通常の直流動作点で動作する。
この結果、MOSトランジスタMP1、MN1、MP2、MN2のそれぞれの電流をモニタすることにより、従来の直流解析では検出できない貫通電流が発生する可能性のある箇所を容易に検出することが可能となる。
さらに、全貫通電流算出部201のステップS4100において、電源AVDDに流れる電流量がIAVDD、電源VDDに流れる電流量がIVDDと抽出されたと仮定する。この時、図26(e)に示されるように、電源AVDDに関する抽出ネット数は、トップセルに関して“2”、サブサーキットOPに関して“2”、また、サブサーキットOPの数“1”であり、同じく、電源VDDに関する抽出ネット数は、トップセルに関して“2”であるため、この結果、全貫通電流は、電源AVDDに関しては、(IAVDD−(2+2*1)(AVDD/(100T*2))、電源VDDに関しては、(IVDD−(2)(VDD/(100T*2))として求められる。
以上のように、本実施の形態7によれば、静止状態貫通電流検出対象回路のネットリストに対し、貫通電流が発生する疑いのある箇所に抵抗を挿入するネットリスト変換処理を行った上で、MOSトランジスタの電流をモニタするようにしたので、通常の直流解析では検出が困難な、貫通電流が発生する可能性のある箇所を、容易に検出することが可能となる。
また、本実施の形態7によれば、上記検出対象回路のネットリスト内に発生する貫通電流を算出することができる。
(実施の形態8)
以下、図33〜図36を用いて、本実施の形態8にかかる静止状態貫通電流検出装置300について説明する。
上記実施の形態6においては、静止状態貫通電流が発生する箇所を検索する場合について説明したが、本実施の形態8においては、上記貫通電流が発生する箇所をグラフに表示するものである。
まず、図33を用いて、本実施の形態8にかかる静止状態貫通電流検出装置300の構成について説明する。図33は、本実施の形態8における静止状態貫通電流検出装置の構成を示す図である。
図33において、静止状態貫通電流検出装置300は、ネットリスト変換部10と、直流解析部101と、|IDS|ヒストグラム作成部301と、直流解析結果保持部103、及びトランジスタ|IDS|データベース302を含むメモリ305と、からなるものである。
より詳細に述べると、上記ネットリスト変換部10は、静止状態貫通電流検出対象回路のネットリストに対し、貫通電流が発生する可能性のある箇所に抵抗を挿入するよう、該ネットリストを変換するものであり、その構成は、上記実施の形態1〜5に示す通りである。そして、上記|IDS|ヒストグラム作成部301は、直流解析部101において得られた直流解析結果より、MOSトランジスタの|IDS|ヒストグラムを作成するものである。そして、メモリ305内のトランジスタ|IDS|データベース302は、上記|IDS|ヒストグラム作成部301において得たMOSトランジスタの|IDS|を保持するものである。なお、そのほかの構成については、上記実施の形態6と同様であるため、ここでは説明を省略する。
以下、図34〜図36を用いて、上述した構成を有する本実施の形態8の静止状態貫通電流検出装置300の動作について説明する。なお、ここでは、上述した図37(a),(b)の両回路の静止状態貫通電流を検出するものとする。
図34は、本実施の形態8にかかる静止状態貫通電流検出装置による、貫通電流検出処理の一連の流れを示す図であり、図35は、図34に示す貫通電流検出処理内の、|IDS|ヒストグラム作成処理の詳細な流れを示す図である。そして図36(a)は、|IDS|ヒストグラム作成部によって得られるトランジスタ|IDS|データベースを示す図であり、図36(b)は、図36(a)のデータベースにより得られるヒストグラムを示す図である。
まず、ユーザが、ネットリスト変換部10内のネットリスト指定部(図示せず)により静止状態貫通電流を検出する対象となる回路を指定すると、ネットリスト変換部10は、該指定された対象回路のネットリストに対し、ネットリスト変換を実施する(図34のステップS1000)。この動作については、上記実施の形態1〜5に示した通りである。
そして、直流解析部101において、上記ネットリスト変換部10で変換されたネットリストについて直流解析を実施して直流解析結果を得、これをメモリ105内の直流解析結果保持部103に保持する(図34のステップS2000)。なお、直流解析の動作については従来と同様であるため、説明を省略する。
そしてこの後、上記直流解析部101より得られた直流解析結果を元に、上記|IDS|ヒストグラム作成部301により、MOSトランジスタの|IDS|のヒストグラムを得る(図34のステップS5000)。
以下、図35を用いて、上記|IDS|のヒストグラム作成処理について詳細に述べる。
まず、上記直流解析部101で得られた直流解析結果よりトランジスタを検索する(図35のステップS5100)。そして、検索されたトランジスタの|IDS|を、メモリ305内のトランジスタ|IDS|データベース302に追加する(図35のステップS5200)。
この後、上記ステップS5100〜5200における直流解析結果のトランジスタの検索が終了したか否かを判定し(図35のステップS5300)、トランジスタの検索が終了したならば処理を終了し、そうでなければ上記ステップS5100に戻り、上述した処理を繰り返す。
そして、トランジスタ|IDS|データベース302より、|IDS|のヒストグラムを作成し、これを出力する(図35のステップS5400)。
次に、図26に示すネットリストの例を用いて、本実施の形態8の静止状態貫通電流検出装置300の動作について更に詳しく説明する。なお、ここでは、ネットリスト変換部10が実施の形態5に示すネットリスト変換装置であるものとして説明する。
まず、図26(a)の対象ネットリストに対して、ネットリスト変換部10において、実施の形態5のネットリスト変換装置によってネットリスト変換を実施し、図26(f)に示す変換後ネットリストが得られたとする。
ここで、静止状態の貫通電流を検出する際に、OP1の制御信号ENABLE1、及びTBUF1の制御信号ENABLE2が“L”であったと仮定する。このとき、図37(a)の回路3701におけるネットaが不定になり、貫通電流I1が流れる可能性がある。同じく、図37(b)の回路3702におけるネットdが不定となり、貫通電流I2が流れる可能性がある。
しかし、図26(f)の変換後ネットリストに対して直流解析を実施すると、ネットaは、R1002及びR1003の作用によって、電源電圧AVDDと基準電位との間の中点の電圧に固定され、ネットdは、R1004及びR1005の作用によって、電源電圧VDDと基準電位との間の中点の電圧に固定されるため、貫通電流I1及びI2が流れる。その他のネットにおいては、通常の直流動作点で動作する。
そして、例えば、MOSトランジスタMP1の|IDS|及びMN1の|IDS|が20μA、MP2の|IDS|及びMN2の|IDS|が5μA、その他のトランジスタの|IDS|が1nAであったとすると、このとき、|IDS|ヒストグラム作成部301によって得られるトランジスタ|IDS|データベース302は、図36(a)に示すものとなり、さらに、このとき得られるヒストグラムは図36(b)に示すものとなる。
このように、各MOSトランジスタの|IDS|を|IDS|ヒストグラムより表すことにより、視覚的にどのMOSトランジスタで貫通電流が発生する可能性があるかを確認することが可能となる。
以上のように、実施の形態8によれば、静止状態貫通電流検出対象回路のネットリストに対し、貫通電流が発生する疑いのある箇所に抵抗を挿入するネットリスト変換処理を行った上で、MOSトランジスタの電流をモニタするようにしたので、通常の直流解析では検出が困難な、貫通電流が発生する可能性のある箇所を、容易に検出することが可能となる。また、本実施の形態8によれば、上記|IDS|ヒストグラム作成部301により、MOSトランジスタの|IDS|を、|IDS|ヒストグラムにより表すようにしたので、貫通電流が発生する可能性のある箇所を視覚的に検出することが可能となる。
なお、上述した全ての実施の形態で説明した各ステップの順序は、上記の通りでなくとも、同じ効果が得られる場合、その順序は問わない。
また、上記各実施の形態で説明した抽出ネットデータベース14、抵抗素子名データベース16、抽出ネット数保持部32などの記述は、各図に示す通りでなくとも、同じ効果が得られる場合、その表記方法は問わない。
さらに、上記各実施の形態においては、ネットリストに挿入される抵抗素子の抵抗値を100Tとしているが(図5(c)等参照)、他の回路の動作に支障をきたさない程度の高抵抗(数GOhm〜数百TOhm程度)であれば、この値によらない。
さらに、上記各実施の形態では、ネットリスト変換装置、あるいは静止状態貫通電流検出装置として説明したが、上記装置によるネットリスト変換処理、あるいは静止状態貫通電流検出処理をコンピュータにより自動的に行わせるプログラムを生成し、上記検出対象回路に対して、コンピュータで自動的に、ネットリスト変換処理、あるいは静止状態貫通電流検出処理を行うようにしてもよい。