(57)【特許請求の範囲】
【請求項１】
ＣＭＯＳ型半導体論理回路の設計データに基づいて、当該ＣＭＯＳ型半導体論理回路の作動状況をシミュレートし、当該ＣＭＯＳ型半導体論理回路に含まれている各ＭＯＳ素子の作動時の電圧降下量に基づいて、当該ＣＭＯＳ型半導体論理回路の欠陥の有無を検証するシミュレータにおいて、
前記ＣＭＯＳ型半導体論理回路の設計データを格納するデータベースと、
前記データベースから前記ＣＭＯＳ型半導体論理回路の設計データを読み出して、当該設計データが表す前記ＣＭＯＳ型半導体論理回路をインバータ単位の複数の分離回路に分離し、さらに、各分離回路の内部にフローティングノードが存在する場合に、当該フローティングノードの存在形態に応じて、各分離回路に含まれている各ＭＯＳ素子の接続関係を部分的に変更する回路接続変更部と、
前記回路接続変更部により分離された各分離回路に含まれている各ＭＯＳ素子を、ＯＦＦ状態及びＯＮ状態のいずれか一方の状態に応じて、ＯＦＦ状態の素子として機能する高抵抗素子またはＯＮ状態の素子として機能する低抵抗素子に置き換える抵抗置換部と、
前記抵抗置換部により各ＭＯＳ素子が抵抗素子に置き換えられた状態となっている各分離回路に対して、各分離回路の電源端子と接地端子に予め定められた電圧を仮想的に与えて各分離回路の定常状態を解析することにより、各分離回路に含まれている各高抵抗素子及び各低抵抗素子の定常状態時の電圧降下量を算出する定常解析部と、
前記定常解析部により算出された各高抵抗素子の電圧降下量と、高抵抗素子の耐圧値として予め定められた素子基準耐圧とを比較して、各高抵抗素子の電圧降下量が素子基準耐圧よりも大きいか否かを判定する素子耐圧検証部とを有する
ことを特徴とするシミュレータ。
【請求項２】
請求項１に記載のシミュレータにおいて、
前記抵抗置換部として、
各分離回路に含まれているＰ型ＭＯＳ素子を、ＯＦＦ状態の素子として機能する高抵抗素子に置き換えるＰ型ＭＯＳ高抵抗置換部と、
各分離回路に含まれているＮ型ＭＯＳ素子を、ＯＮ状態の素子として機能する低抵抗素子に置き換えるＮ型ＭＯＳ低抵抗置換部とを備えている
ことを特徴とするシミュレータ。
【請求項３】
請求項１に記載のシミュレータにおいて、
前記抵抗置換部として、
各分離回路に含まれているＮ型ＭＯＳ素子を、ＯＦＦ状態の素子として機能する高抵抗素子に置き換えるＮ型ＭＯＳ高抵抗置換部と、
各分離回路に含まれているＰ型ＭＯＳ素子を、ＯＮ状態の素子として機能する低抵抗素子に置き換えるＰ型ＭＯＳ低抵抗置換部とを備えている
ことを特徴とするシミュレータ。
【請求項４】
請求項１に記載のシミュレータにおいて、
前記抵抗置換部として、
各分離回路に含まれているＰ型ＭＯＳ素子を、ＯＦＦ状態の素子として機能する高抵抗素子に置き換えるＰ型ＭＯＳ高抵抗置換部と、
各分離回路に含まれているＮ型ＭＯＳ素子を、ＯＮ状態の素子として機能する低抵抗素子に置き換えるＮ型ＭＯＳ低抵抗置換部と、
各分離回路に含まれているＮ型ＭＯＳ素子を、ＯＦＦ状態の素子として機能する高抵抗素子に置き換えるＮ型ＭＯＳ高抵抗置換部と、
各分離回路に含まれているＰ型ＭＯＳ素子を、ＯＮ状態の素子として機能する低抵抗素子に置き換えるＰ型ＭＯＳ低抵抗置換部とを備え、
前記定常解析部は、
前記Ｐ型ＭＯＳ高抵抗置換部及び前記Ｎ型ＭＯＳ低抵抗置換部によってＰ型ＭＯＳ素子が高抵抗素子に置き換えられかつＮ型ＭＯＳ素子が低抵抗素子に置き換えられた状態となっている各分離回路に対して、各分離回路の電源端子と接地端子に予め定められた電圧を仮想的に与えて各分離回路の定常状態を解析することにより、各分離回路に含まれている各高抵抗素子及び各低抵抗素子の定常状態時の電圧降下量を算出する第１の電圧降下量算出動作と、前記Ｎ型ＭＯＳ高抵抗置換部及び前記Ｐ型ＭＯＳ低抵抗置換部によってＮ型ＭＯＳ素子を高抵抗素子に置き換えかつＰ型ＭＯＳ素子を低抵抗素子に置き換えられた状態となっている各分離回路に対して、各分離回路の電源端子と接地端子に予め定められた電圧を仮想的に与えて各分離回路の定常状態を解析することにより、各分離回路に含まれている各高抵抗素子及び各低抵抗素子の定常状態時の電圧降下量を算出する第２の電圧降下量算出動作とを順次行い、
前記素子耐圧検証部は、
前記定常解析部による前記第１の電圧降下量算出動作で算出された各高抵抗素子の電圧降下量と、高抵抗素子の耐圧値として予め定められた素子基準耐圧とを比較して、各高抵抗素子の電圧降下量が素子基準耐圧よりも大きいか否かを判定する第１の電圧降下量判定動作と、前記定常解析部による前記第２の電圧降下量算出動作で算出された各高抵抗素子の電圧降下量と、高抵抗素子の耐圧値として予め定められた素子基準耐圧とを比較して、各高抵抗素子の電圧降下量が素子基準耐圧よりも大きいか否かを判定する第２の電圧降下量判定動作とを順次行う
ことを特徴とするシミュレータ。
【請求項５】
請求項１〜３のいずれか一項に記載のシミュレータにおいて、
前記回路接続変更部は、
（ａ）フローティングノードがＰ型ＭＯＳ素子側にのみ存在するときに、当該フローティングノードに電源端子を接続することにより、または、
（ｂ）フローティングノードがＮ型ＭＯＳ素子側にのみ存在するときに、当該フローティングノードに接地端子を接続することにより、または、
（ｃ）フローティングノードがＰ型ＭＯＳ素子側とＮ型ＭＯＳ素子側の両方に存在するときに、Ｐ型ＭＯＳ素子側のフローティングノードとＮ型ＭＯＳ素子側のフローティングノードとを接続することにより、
各ＭＯＳ素子の接続関係を部分的に変更することを特徴とするシミュレータ。
【請求項６】
請求項１〜３のいずれか一項に記載のシミュレータにおいて、
前記素子耐圧検証部は、素子基準耐圧よりも大きい電圧降下量の高抵抗素子が存在する場合に、前記ＣＭＯＳ型半導体論理回路の中に欠陥があると判定する
ことを特徴とするシミュレータ。
【請求項７】
シミュレータを用いて、ＣＭＯＳ型半導体論理回路の設計データに基づいて、当該ＣＭＯＳ型半導体論理回路の作動状況をシミュレートし、当該ＣＭＯＳ型半導体論理回路に含まれている各ＭＯＳ素子の作動時の電圧降下量に基づいて、当該ＣＭＯＳ型半導体論理回路の欠陥の有無を検証する素子耐圧検証方法において、
前記ＣＭＯＳ型半導体論理回路の設計データが表す前記ＣＭＯＳ型半導体論理回路をインバータ単位の複数の分離回路に分離し、さらに、各分離回路の内部にフローティングノードが存在する場合に、当該フローティングノードの存在形態に応じて、各分離回路に含まれている各ＭＯＳ素子の接続関係を部分的に変更する回路接続変更工程と、
前記回路接続変更工程により分離された各分離回路に含まれている各ＭＯＳ素子を、ＯＦＦ状態及びＯＮ状態のいずれか一方の状態に応じて、ＯＦＦ状態の素子として機能する高抵抗素子またはＯＮ状態の素子として機能する低抵抗素子に置き換える抵抗置換工程と、
前記抵抗置換工程により各ＭＯＳ素子が抵抗素子に置き換えられた状態となっている各分離回路に対して、各分離回路の電源端子と接地端子に予め定められた電圧を仮想的に与えて各分離回路の定常状態を解析することにより、各分離回路に含まれている各高抵抗素子及び各低抵抗素子の定常状態時の電圧降下量を算出する定常解析工程と、
前記定常解析工程により算出された各高抵抗素子の電圧降下量と、高抵抗素子の耐圧値として予め定められた素子基準耐圧とを比較して、各高抵抗素子の電圧降下量が素子基準耐圧よりも大きいか否かを判定する電圧降下量判定工程と
を有することを特徴とする素子耐圧検証方法。
【請求項８】
請求項７に記載の素子耐圧検証方法において、
前記シミュレータは、前記回路接続変更工程で、
（ａ）フローティングノードがＰ型ＭＯＳ素子側にのみ存在するときに、当該フローティングノードに電源端子を接続することにより、または、
（ｂ）フローティングノードがＮ型ＭＯＳ素子側にのみ存在するときに、当該フローティングノードに接地端子を接続することにより、または、
（ｃ）フローティングノードがＰ型ＭＯＳ素子側とＮ型ＭＯＳ素子側の両方に存在するときに、Ｐ型ＭＯＳ素子側のフローティングノードとＮ型ＭＯＳ素子側のフローティングノードとを接続することにより、
各ＭＯＳ素子の接続関係を部分的に変更することを特徴とする素子耐圧検証方法。
【請求項９】
請求項７に記載の素子耐圧検証方法において、
前記シミュレータは、前記電圧降下量判定工程で、素子基準耐圧よりも大きい電圧降下量の高抵抗素子が存在する場合に、前記ＣＭＯＳ型半導体論理回路の中に欠陥があると判定する
ことを特徴とする素子耐圧検証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＣＭＯＳ型半導体論理回路に含まれている各ＭＯＳ素子の作動時の電圧降下量に基づいて、ＣＭＯＳ型半導体論理回路の欠陥の有無を検証するシミュレータ、及び当該シミュレータを用いた素子耐圧検証方法に関する。
【背景技術】
【０００２】
半導体論理回路に対して様々な解析を行うシミュレータが存在する（例えば、特許文献１参照）。
【０００３】
その中には、ＣＭＯＳ型半導体論理回路（以下、単に「論理回路」と称する）に含まれている各ＭＯＳ素子の作動時の電圧降下量に基づいて、論理回路の構成上の欠陥（以下、単に「欠陥」または「エラー」と称する）の有無を検証するシミュレータがある。
【０００４】
このシミュレータ（以下、「従来のシミュレータ」と称する）は、例えば、論理回路の設計に関するデータ（以下、単に「設計データ」と称する）を格納するデータベースを有する構成となっている。
【０００５】
従来のシミュレータは、以下のように動作することによって、論理回路の欠陥の有無を検証する。なお、ここでは、データベースは、論理回路の設計データ以外に、各種のデータとして、例えば、回路の動作が安定した状態すなわち定常状態時の電源端子及び接地端子の電圧値のデータ（以下、「定常状態時電圧データ」と称する）、回路の動作が変動している状態すなわち過渡状態時の電源端子及び接地端子の代表的な複数の電圧値のデータ（以下、「過渡状態時電圧データ」と称する）、論理回路の中の各区間の耐圧値として予め定められた耐圧値データ（以下、「区間基準耐圧」と称する）、論理回路に含まれているＭＯＳ素子の耐圧値として予め定められた耐圧データ（以下、「素子基準耐圧」と称する）等を格納しているものとして説明する。
【０００６】
従来のシミュレータは、まず、データベースから、検証の対象となっている論理回路の設計データや、定常状態時電圧データ、過渡状態時電圧データを読み出す。
【０００７】
次に、従来のシミュレータは、設計データが表す論理回路に対して、定常状態時電圧データ及び過渡状態時電圧データを参照して、電源端子と接地端子のそれぞれに、定常状態時の電源端子及び接地端子の電圧値並びに過渡状態時の電源端子及び接地端子の電圧値を仮想的に順次与えて、論理回路を定常状態と過渡状態とに順次遷移させながら、論理回路の中の各区間及び各ＭＯＳ素子の作動状態を常時モニタリングする。
【０００８】
そして、従来のシミュレータは、定常状態時及び過渡状態時を通して、論理回路の中の予め定められた各区間の電圧降下量差を算出して、各区間の電圧降下量差が各区間に対応して予め定められた区間基準耐圧よりも大きくなるときがあるか否かを検証する。以下、区間の電圧降下量差に基づく検証を「区間耐圧検証」と称する。従来のシミュレータは、区間耐圧検証で、各区間の電圧降下量差が各区間に対応して予め定められた区間基準耐圧よりも大きくなるときがある場合に、「エラーあり」すなわち「論理回路の中に欠陥が存在する」と判定する。また、従来のシミュレータは、各区間の電圧降下量差が各区間に対応して予め定められた区間基準耐圧よりも大きくなるときがない場合に、「エラーなし」すなわち「論理回路の中に欠陥が存在しない」と判定する。
【０００９】
さらに、従来のシミュレータは、定常状態時及び過渡状態時を通して、論理回路に含まれている各ＭＯＳ素子の電圧降下量を算出して、各ＭＯＳ素子が各ＭＯＳ素子に対応して予め定められた素子基準耐圧よりも大きくなるときがあるか否かを検証する。以下、ＭＯＳ素子の電圧降下量に基づく検証を「素子耐圧検証」と称する。従来のシミュレータは、素子耐圧検証で、各ＭＯＳ素子の電圧降下量が各ＭＯＳ素子に対応して予め定められた素子基準耐圧よりも大きくなるときがある場合に、「エラーあり」すなわち「論理回路の中に欠陥が存在する」と判定する。また、従来のシミュレータは、各ＭＯＳ素子の電圧降下量が各ＭＯＳ素子に対応して予め定められた素子基準耐圧よりも大きくなるときがない場合に、「エラーなし」すなわち「論理回路の中に欠陥が存在しない」と判定する。
【００１０】
このようにして、従来のシミュレータは、論理回路の欠陥の有無を検証していた。
【００１１】
なお、従来のシミュレータは、「エラーあり」と判定した場合に、「エラーあり」を表すデータと論理回路の中のどの箇所に欠陥があるのかを表すデータとを、レポートとして、オペレータが視認可能な状態で出力する。オペレータや回路の設計者は、レポートの内容と、回路構成とを見比べて、問題箇所を特定し、その問題箇所が本当に欠陥の存在する箇所であるか否かを確認していた。他方、従来のシミュレータは、「エラーなし」と判定した場合には、このようなレポートを出力しない。
【００１２】
ところで、従来のシミュレータは、検証の対象の論理回路がカスコード接続すなわち電源端子と出力端子との間で直列に接続された複数のＭＯＳ素子を含む構成である場合に、論理回路の欠陥の有無を検証する際に、論理回路が実際には欠陥が存在しない回路であるにもかかわらず、誤って「エラーあり」すなわち「論理回路の中に欠陥が存在する」と判定するときがあった。
【００１３】
以下、まず、図１４及び図１５を参照して、ＭＯＳ素子がカスコード接続された回路の構成につき説明し、続いて、図１６を参照して、論理回路の欠陥の有無の検証につき説明する。なお、図１４は、ＭＯＳ素子がカスコード接続されていないＣＭＯＳ型インバータ回路（以下、「通常接続のインバータ回路」と称する）の一構成例を示す図である。また、図１５は、ＭＯＳ素子がカスコード接続されているＣＭＯＳ型インバータ回路（以下、「カスコード接続のインバータ回路」と称する）の一構成例を示す図である。また、図１６は、論理回路の欠陥の有無の検証を説明するための図である。なお、以下の説明では、実際に欠陥が存在する回路に対して「エラーあり」と判定されたときの「エラー」と実際には欠陥が存在しない回路に対して誤って「エラーあり」と判定されたときの「エラー」とを区別する場合に、前者を「真正エラー」と称し、後者を「擬似エラー」と称する。
【００１４】
図１４に示す通常接続のインバータ回路Ｉ１は、電源端子Ｖｄｄと接地端子Ｇｎｄとの間に、電源端子Ｖｄｄ側から接地端子Ｇｎｄ側に向かって順に、１つのＰ型ＭＯＳ素子と１つのＮ型ＭＯＳ素子とが直列に接続された構成となっている。このインバータ回路Ｉ１は、入力端子ＩｎがＰ型ＭＯＳ素子とＮ型ＭＯＳ素子の各ゲートに接続され、さらに、出力端子ＯｕｔがＰ型ＭＯＳ素子とＮ型ＭＯＳ素子の間に接続されている。したがって、インバータ回路Ｉ１は、電源端子Ｖｄｄと出力端子Ｏｕｔとの間に１つのＰ型ＭＯＳ素子が接続され、かつ、出力端子Ｏｕｔと接地端子Ｇｎｄとの間に１つのＮ型ＭＯＳ素子が接続された構成となっている。
【００１５】
他方、図１５に示すカスコード接続のインバータ回路Ｉ２は、電源端子Ｖｄｄと接地端子Ｇｎｄとの間に、電源端子Ｖｄｄ側から接地端子Ｇｎｄ側に向かって順に、２つのＰ型ＭＯＳ素子（以下、電源端子Ｖｄｄ寄りのＰ型ＭＯＳ素子を「第１のＰ型ＭＯＳ素子」と称し、接地端子Ｇｎｄ寄りのＰ型ＭＯＳ素子を「第２のＰ型ＭＯＳ素子」と称する）と２つのＮ型ＭＯＳ素子（以下、電源端子Ｖｄｄ寄りのＮ型ＭＯＳ素子を「第１のＮ型ＭＯＳ素子」と称し、接地端子Ｇｎｄ寄りのＮ型ＭＯＳ素子を「第２のＮ型ＭＯＳ素子」と称する）とが直列に接続された構成となっている。このインバータ回路Ｉ２は、入力端子Ｉｎが第１及び第２のＰ型ＭＯＳ素子の各ゲートと第１及び第２のＮ型ＭＯＳ素子の各ゲートに接続され、さらに、出力端子Ｏｕｔが第２のＰ型ＭＯＳ素子と第１のＮ型ＭＯＳ素子の間に接続されている。したがって、インバータ回路Ｉ２は、電源端子Ｖｄｄと出力端子Ｏｕｔとの間に２つのＰ型ＭＯＳ素子が直列に接続され、かつ、出力端子Ｏｕｔと接地端子Ｇｎｄとの間に２つのＮ型ＭＯＳ素子が直列に接続された構成となっている。
【００１６】
ここで、図１４に示すインバータ回路Ｉ１及び図１５に示すインバータ回路Ｉ２に対して、電源端子ＶｄｄにＶ１ボルトの電圧を仮想的に与え、また、接地端子Ｇｎｄに０ボルトの電圧を仮想的に与えるものとする。そして、Ｐ型ＭＯＳ素子がＯＦＦ状態の素子として機能し、Ｎ型ＭＯＳ素子がＯＮ状態の素子として機能するものとする。
【００１７】
この場合に、図１４に示す通常接続のインバータ回路Ｉ１では、電源端子Ｖｄｄと出力端子Ｏｕｔとの間に、Ｐ型ＭＯＳ素子が１つしか存在しない。そのため、電源端子Ｖｄｄと出力端子Ｏｕｔとの間のＰ型ＭＯＳ素子のドレイン−ソース間にかかる電圧は、分散しない。したがって、この場合に、インバータ回路Ｉ１では、Ｐ型ＭＯＳ素子の電圧降下量は、Ｖ１ボルトとなる。
【００１８】
これに対して、図１５に示すカスコード接続のインバータ回路Ｉ２では、電源端子Ｖｄｄと出力端子Ｏｕｔとの間に、Ｐ型ＭＯＳ素子が２つ存在する。そのため、電源端子Ｖｄｄと出力端子Ｏｕｔとの間の各Ｐ型ＭＯＳ素子のドレイン−ソース間にかかる電圧は、２つのＰ型ＭＯＳ素子にほぼ均等に分散する。したがって、この場合に、インバータ回路Ｉ２では、各Ｐ型ＭＯＳ素子の電圧降下量は、Ｖ１／２ボルトとなる。
【００１９】
このようにカスコード接続の回路は、ｎ個のＭＯＳ素子がカスコード接続されている場合に、通常接続の回路に比べて、カスコード接続された各ＭＯＳ素子のドレイン−ソース間にかかる電圧を１／ｎに抑えることができる。
【００２０】
仮に、ＭＯＳ素子の素子基準耐圧が例えばＶ１ボルトであったとする。この場合に、図１４に示す通常接続のインバータ回路Ｉ１は、最大でＶ１ボルトの電圧しか電源端子Ｖｄｄに与えることができないが、図１５に示すカスコード接続のインバータ回路Ｉ２は、最大でＶ１×２ボルトの電圧を電源端子Ｖｄｄに与えることができる。したがって、カスコード接続の回路は、ｎ個のＭＯＳ素子がカスコード接続されている場合に、通常接続の回路に比べて、ｎ倍の耐圧特性を得ることができる。
【００２１】
しかしながら、従来のシミュレータは、カスコード接続の回路がｎ倍の耐圧特性を得ることができるにもかかわらず、論理回路がカスコード接続の回路であってもなくても、論理回路を通常接続の回路と同様に検証するだけであった。
【００２２】
例えば、図１６に示すように、従来のシミュレータは、カスコード接続のインバータ回路Ｉ２に対して、論理回路の欠陥の有無を検証するものとする。なお、図１６は、図１５と同じ構成を示している。以下の説明では、電源端子Ｖｄｄと第１のＰ型ＭＯＳ素子との間のノードを「ノードＡ」と称し、第１のＰ型ＭＯＳ素子と第２のＰ型ＭＯＳ素子との間のノードを「ノードＢ」と称し、第２のＰ型ＭＯＳ素子と第１のＮ型ＭＯＳ素子との間のノードを「ノードＣ」と称する。なお、このインバータ回路Ｉ２のノードＢの電圧降下量は、入力端子Ｉｎの入力電圧によって変化する。
【００２３】
ここで、ノードＡ−Ｃ間の区間設定耐圧が２ボルトであり、また、ノードＡ−Ｃ間の第１及び第２のＰ型ＭＯＳ素子の素子基準耐圧がそれぞれ１．５ボルトであるものとする。この場合に、従来のシミュレータは、ノードＡ−Ｃ間の電圧降下量差が区間設定耐圧の２ボルトよりも大きい場合か、または、ノードＡ−Ｃ間の各ＭＯＳ素子の電圧降下量が素子基準耐圧の１．５ボルトよりも大きい場合に、「エラーあり」と判定する。
【００２４】
仮に、ノードＡに２ボルトの電圧を仮想的に与え、また、ノードＣに０ボルトの電圧を仮想的に与え、また、入力端子Ｉｎに０ボルトの入力電圧を与えるものとする。この場合に、ノードＡ−Ｃ間の電圧降下量差が区間設定耐圧の２ボルト以下であるので、従来のシミュレータは、ノードＡ−Ｃ間の電圧降下量差に基づく判定では、「エラーなし」と判定する。また、この場合に、第１及び第２のＰ型ＭＯＳ素子は、入力端子Ｉｎの入力電圧が０ボルトであるので、ＯＮ状態となる。そのため、ノードＢの電圧降下量は、（２／２）＝１ボルトとなる。したがって、ノードＡ−Ｃ間の各ＭＯＳ素子の電圧降下量が素子基準耐圧の１．５ボルト以下であるので、従来のシミュレータは、ノードＡ−Ｃ間の各ＭＯＳ素子の電圧降下量に基づく判定では、「エラーなし」と判定する。
【００２５】
これに対して、仮に、ノードＡに２ボルトの電圧を仮想的に与え、ノードＣに０ボルトの電圧を仮想的に与え、また、入力端子Ｉｎに２ボルトの入力電圧を与えるものとする。この場合に、ノードＡ−Ｃ間の電圧降下量差が区間設定耐圧の２ボルト以下であるので、従来のシミュレータは、ノードＡ−Ｃ間の電圧降下量差に基づく判定では、「エラーなし」と判定する。また、この場合に、第１及び第２のＰ型ＭＯＳ素子は、入力端子Ｉｎの入力電圧が２ボルトであるので、ＯＦＦ状態となる。そのため、ノードＢの電圧降下量は、電気的に浮いた状態となる。このとき、仮に、従来のシミュレータがノードＢの電圧降下量を素子基準耐圧の１．５ボルトよりも大きい値（例えば、入力端子Ｉｎの入力電圧と同じ値すなわち２ボルト）として算出すると、従来のシミュレータは、ノードＡ−Ｃ間の各ＭＯＳ素子の電圧降下量に基づく判定では、「エラーあり」と判定する。しかしながら、この判定の「エラー」は、擬似エラーに過ぎない。
【００２６】
このように、従来のシミュレータは、論理回路が実際には欠陥が存在しない回路であるにもかかわらず、誤って「エラーあり」すなわち「論理回路の中に欠陥が存在する」と判定するときがあった。特に、従来のシミュレータは、論理回路を小単位に分離して欠陥の有無を検証する場合に、電気的に浮いた状態となっているノード（以下、「フローティングノード」と称する）が存在するか否かを考慮していなかった。そのため、このような場合に、従来のシミュレータは、誤って「エラーあり」と判定するときが多かった。
【００２７】
また、論理回路は、入力電圧の値によって各ＭＯＳ素子にかかる電圧が変化する。そのため、従来のシミュレータは、論理回路の欠陥の有無を検証する際に、確認すべき全てのパターンで検証する必要がある。しかしながら、検証する際に用いる過渡状態時電圧データは、過渡状態における代表的な複数の電圧値を表しているに過ぎず、確認すべき全てのパターンの中からいくつかのパターンのデータが抜け落ちている可能性がある。したがって、従来のシミュレータは、論理回路の欠陥の有無を検証する際に、検証漏れを起こすときがあった。すなわち、従来のシミュレータは、論理回路が実際には欠陥が存在する回路であるにもかかわらず、誤って「エラーなし」すなわち「論理回路の中に欠陥が存在しない」と判定するときがあった。
【特許文献１】特開２００３−２５６４９７号公報
【発明の開示】
【発明が解決しようとする課題】
【００２８】
既に説明した通り、従来のシミュレータは、検証の対象の論理回路がカスコード接続された複数のＭＯＳ素子を含む構成である場合に、論理回路の欠陥の有無を検証する際に、論理回路が実際には欠陥が存在しない回路であるにもかかわらず、誤って「エラーあり」すなわち「論理回路の中に欠陥が存在する」と判定するときがあるという課題があった。特に、従来のシミュレータは、論理回路を小単位に分離して欠陥の有無を検証する場合に、電気的に浮いた状態となっているノードすなわちフローティングノードが存在するか否かを考慮していなかった。そのため、このような場合に、従来のシミュレータは、誤って「エラーあり」と判定するときが多かった。
【００２９】
この課題により、従来のシミュレータは、誤ったレポートを出力することになる。そのため、オペレータや回路の設計者は、レポートの内容と回路構成とを見比べて問題箇所を特定し、さらに、その問題箇所が本当に欠陥の存在する箇所であるか否かを確認する等の無駄な作業を行う必要があった。その結果、従来のシミュレータは、論理回路の欠陥の有無の検証に多大な時間を必要とし、検証効率を低下させていた。
【００３０】
また、既に説明した通り、従来のシミュレータは、論理回路の欠陥の有無を検証する際に、検証漏れを起こすときがあるという課題もあった。
【００３１】
この課題により、オペレータや回路の設計者は、重大な検証漏れがないかを検証する等の無駄な作業を行う必要があった。その結果、従来のシミュレータは、これによっても、論理回路の欠陥の有無の検証に多大な時間を必要とし、さらに検証効率を低下させていた。
【００３２】
この発明は、ＣＭＯＳ型半導体論理回路がカスコード接続の回路であっても、擬似エラーとして判定することなくすなわち常に正しく、また、検証漏れを起こすことなく、論理回路の欠陥の有無を検証することができるシミュレータ、特に、論理回路に含まれている各ＭＯＳ素子の電圧降下量に基づいて、当該論理回路の欠陥の有無を検証するシミュレータ及び方法を提供することを目的とする。
【課題を解決するための手段】
【００３３】
上述の課題を解決するために、第１の発明に係るシミュレータは、ＣＭＯＳ型半導体論理回路の設計データに基づいて、ＣＭＯＳ型半導体論理回路の作動状況をシミュレートし、ＣＭＯＳ型半導体論理回路に含まれている各ＭＯＳ素子の作動時の電圧降下量に基づいて、ＣＭＯＳ型半導体論理回路の欠陥の有無を検証する。なお、検証では、このシミュレータは、各ＭＯＳ素子の作動時の電圧降下量とＭＯＳ素子の耐圧値との大小関係、すなわち、各ＭＯＳ素子の作動時の電圧降下量がＭＯＳ素子の耐圧値よりも大きいか否かの関係に基づいて、行う。このシミュレータは、データベースと回路接続変更部と抵抗置換部と定常解析部と素子耐圧検証部とを有する。
【００３４】
データベースは、ＣＭＯＳ型半導体論理回路の設計データを格納する記憶手段である。データベースは、好ましくは、ＣＭＯＳ型半導体論理回路の設計データだけでなく、論理回路の仕様が決定される際に定められる回路仕様データや、製造プロセスが決定される際に定められる製造プロセスデータ、回路接続変更部や抵抗置換部や定常解析部によって得られるデータ等も格納するとよい。
【００３５】
回路接続変更部は、データベースからＣＭＯＳ型半導体論理回路の設計データを読み出して、設計データが表すＣＭＯＳ型半導体論理回路をインバータ単位の複数の分離回路に分離し、さらに、各分離回路の内部に電気的に浮いた状態となっているノードすなわちフローティングノードが存在する場合に、フローティングノードが存在しなくなるように、フローティングノードの存在形態に応じて、各分離回路に含まれている各ＭＯＳ素子の接続関係を部分的に変更する機能手段である。なお、各ＭＯＳ素子の接続関係の変更は、好ましくは、フローティングノードがＰ型ＭＯＳ素子側にのみ存在するときに、フローティングノードに電源端子を接続するとよい。また、変更は、好ましくは、フローティングノードがＮ型ＭＯＳ素子側にのみ存在するときに、フローティングノードに接地端子を接続するとよい。また、変更は、好ましくは、フローティングノードがＰ型ＭＯＳ素子側とＮ型ＭＯＳ素子側の両方に存在するときに、Ｐ型ＭＯＳ素子側のフローティングノードとＮ型ＭＯＳ素子側のフローティングノードとを接続するとよい。このような変更により、第１の発明に係るシミュレータは、設計データが表すＣＭＯＳ型半導体論理回路を、回路として正しく機能する構成となっている、インバータ単位の複数の分離回路に分離することができる。
【００３６】
抵抗置換部は、回路接続変更部により分離された各分離回路に含まれている各ＭＯＳ素子を、ＯＦＦ状態及びＯＮ状態のいずれか一方の状態に応じて、ＯＦＦ状態の素子として機能する高抵抗素子またはＯＮ状態の素子として機能する低抵抗素子に置き換える機能手段である。例えば、抵抗置換部は、Ｐ型ＭＯＳ素子がＯＦＦ状態の素子として機能しかつＮ型ＭＯＳ素子がＯＮ状態の素子として機能している場合のＣＭＯＳ型半導体論理回路の欠陥の有無を検証するときに、Ｐ型ＭＯＳ素子を高抵抗素子に置き換えるとともに、Ｎ型ＭＯＳ素子を低抵抗素子に置き換える。また、抵抗置換部は、Ｎ型ＭＯＳ素子がＯＦＦ状態の素子として機能しかつＰ型ＭＯＳ素子がＯＮ状態の素子として機能している場合のＣＭＯＳ型半導体論理回路の欠陥の有無を検証するときに、Ｎ型ＭＯＳ素子を高抵抗素子に置き換えるとともに、Ｐ型ＭＯＳ素子を低抵抗素子に置き換える。
【００３７】
定常解析部は、抵抗置換部により各ＭＯＳ素子が抵抗素子に置き換えられた状態となっている各分離回路に対して、各分離回路の電源端子と接地端子に予め定められた電圧を仮想的に与えて各分離回路の定常状態を解析することにより、各分離回路に含まれている各高抵抗素子及び各低抵抗素子の定常状態時の電圧降下量を算出する機能手段である。
【００３８】
素子耐圧検証部は、定常解析部により算出された各高抵抗素子の定常状態時の電圧降下量（以下、単に「各高抵抗素子の電圧降下量」と称する）と、高抵抗素子の耐圧値として予め定められた素子基準耐圧とを比較して、各高抵抗素子の電圧降下量が素子基準耐圧よりも大きいか否かを判定する機能手段である。なお、素子耐圧検証部は、素子基準耐圧よりも大きい電圧降下量の高抵抗素子が存在する場合に、ＣＭＯＳ型半導体論理回路の中に欠陥があると判定することになる。
【００３９】
また、第２の発明に係る素子耐圧検証方法は、シミュレータを用いて、ＣＭＯＳ型半導体論理回路の設計データに基づいて、ＣＭＯＳ型半導体論理回路の作動状況をシミュレートし、ＣＭＯＳ型半導体論理回路に含まれている各ＭＯＳ素子の作動時の電圧降下量に基づいて、ＣＭＯＳ型半導体論理回路の欠陥の有無を検証する素子耐圧検証方法において、回路接続変更工程と抵抗置換工程と定常解析工程と電圧降下量判定工程とを有する。
【００４０】
回路接続変更工程は、ＣＭＯＳ型半導体論理回路の設計データが表すＣＭＯＳ型半導体論理回路をインバータ単位の複数の分離回路に分離し、さらに、各分離回路の内部にフローティングノードが存在する場合に、フローティングノードの存在形態に応じて、各分離回路に含まれている各ＭＯＳ素子の接続関係を部分的に変更する工程である。
【００４１】
抵抗置換工程は、回路接続変更工程により分離された各分離回路に含まれている各ＭＯＳ素子を、ＯＦＦ状態及びＯＮ状態のいずれか一方の状態に応じて、ＯＦＦ状態の素子として機能する高抵抗素子またはＯＮ状態の素子として機能する低抵抗素子に置き換える工程である。
【００４２】
定常解析工程は、抵抗置換工程により各ＭＯＳ素子が抵抗素子に置き換えられた状態となっている各分離回路に対して、各分離回路の電源端子と接地端子に予め定められた電圧を仮想的に与えて各分離回路の定常状態を解析することにより、各分離回路に含まれている各高抵抗素子及び各低抵抗素子の定常状態時の電圧降下量を算出する工程である。
【００４３】
電圧降下量判定工程は、定常解析工程により算出された各高抵抗素子の電圧降下量と、高抵抗素子の耐圧値として予め定められた素子基準耐圧とを比較して、各高抵抗素子の電圧降下量が素子基準耐圧よりも大きいか否かを判定する工程である。
【発明の効果】
【００４４】
第１の発明に係るシミュレータは、回路接続変更部が、ＣＭＯＳ型半導体論理回路をインバータ単位の複数の分離回路に分離し、さらに、各分離回路の内部にフローティングノードが存在する場合に、フローティングノードがなくなるように、フローティングノードの存在形態に応じて、各分離回路に含まれている各ＭＯＳ素子の接続関係を部分的に変更する。そして、抵抗置換部が、各分離回路に含まれている各ＭＯＳ素子を高抵抗素子または低抵抗素子に置き換え、定常解析部が、各分離回路の電源端子と接地端子に予め定められた電圧を仮想的に与えて各分離回路の定常状態を解析し、素子耐圧検証部が、各高抵抗素子の定常状態時の電圧降下量と、高抵抗素子の耐圧値として予め定められた素子基準耐圧とを比較して、各高抵抗素子の電圧降下量が素子基準耐圧よりも大きいか否かを判定する。
【００４５】
このような第１の発明に係るシミュレータは、フローティングノードの存在形態に応じて、各分離回路に含まれている各ＭＯＳ素子の接続関係を部分的に変更するので、各分離回路の中のフローティングノードをなくすことができる。したがって、第１の発明に係るシミュレータによれば、フローティングノードをなくした状態で論理回路の欠陥の有無を検証するので、擬似エラーと判定することなくすなわち常に正しく、論理回路のＯＦＦ状態となっている各ＭＯＳ素子の素子耐圧検証をすることができる。
【００４６】
なお、第１の発明に係るシミュレータは、誤ったレポートを出力することがなくなる。そのため、オペレータや回路の設計者は、レポートの内容と回路構成とを見比べて問題箇所を特定し、さらに、その問題箇所が本当に欠陥の存在する箇所であるか否かを確認する等の無駄な作業を行う必要がなくなる。そのため、第１の発明に係るシミュレータは、従来技術よりも解析時間を短縮することができ、検証効率を向上させることができる。
【００４７】
また、第１の発明に係るシミュレータは、全てのＭＯＳ素子を線形抵抗素子に置き換えて各抵抗素子の電圧降下量を算出するだけで、各ＭＯＳ素子の素子耐圧検証をすることができる。したがって、第１の発明に係るシミュレータによれば、論理回路の過渡解析をすることなく定常解析するのみで、検証漏れのない各ＭＯＳ素子の素子耐圧検証をすることができる。
【００４８】
なお、オペレータや回路の設計者は、重大な検証漏れがないかを検証する等の無駄な作業を行う必要がなくなる。そのため、これによっても、第１の発明に係るシミュレータは、従来技術よりも解析時間を短縮することができ、検証効率を向上させることができる。
【００４９】
第２の発明に係る素子耐圧検証方法によれば、第１の発明に係るシミュレータと同様の効果を得ることができる。
【発明を実施するための最良の形態】
【００５０】
以下、図を参照して、この発明の実施の形態につき説明する。各図において、共通する構成要素や同様な構成要素については、同一の符号を付し、それらの重複する説明を省略する。
【００５１】
［実施の形態例１］
＜シミュレータの構成＞
実施の形態例１に係るシミュレータは、Ｐ型ＭＯＳ素子がＯＦＦ状態として機能し、Ｎ型ＭＯＳ素子がＯＮ状態として機能するときの論理回路の欠陥の有無を検証する構成となっている。そのため、実施の形態例１に係るシミュレータは、Ｐ型ＭＯＳ素子を高抵抗素子に、また、Ｎ型ＭＯＳ素子を低抵抗素子に置き換える構成となっている。
【００５２】
以下、図１を参照して、実施の形態例１に係るシミュレータの構成につき説明する。なお、図１は、実施の形態例１に係るシミュレータの構成を説明するためのブロック図である。
【００５３】
図１に示すように、シミュレータ１００は、内部に、各種の演算を実行する演算部１１０と各種のデータを格納するデータベース１６０とを有している。また、シミュレータ１００は、外部に、マウスやキーボード等の、各種の指示やデータを入力する入力部１１１と、ディスプレイやプリンタ等の、各種のデータを出力する出力部１１２とを有している。
【００５４】
なお、シミュレータ１００は、１台のコンピュータ（ただし、回路の解析用に専用に製造された装置を含む）によって構成することも、また、通信網を介して接続された複数台のコンピュータ（ただし、回路の解析用に専用に製造された装置を含む）によって構成することもできる。
【００５５】
１台のコンピュータによってシミュレータ１００を構成する場合、演算部１１０は、当該コンピュータのＣＰＵによって構成され、また、データベース１６０は、当該コンピュータの、回路を解析するためのプログラム（以下、「回路解析用プログラム」と称する）が読み出し自在に格納されたＲＡＭによって構成される。他方、複数台のコンピュータによってシミュレータ１００を構成する場合、演算部１１０は、端末となるコンピュータによって構成され、また、データベース１６０は、各種のデータを保存し管理するデータベースサーバによって構成される。なお、この場合、回路解析用プログラムは、端末となるコンピュータのＲＡＭに読み出し自在に格納されている。
【００５６】
演算部１１０は、内部に、主制御部１１５、回路接続変更部１２０、抵抗置換部１２５、定常解析部１４０、素子耐圧検証部１４５等の機能手段を備えている。なお、各機能手段は、データを生成した場合に、生成したデータを格納部に一旦格納する。また、各機能手段は、格納部から所望のデータを読み出して、予め定められた処理を行う。これらの一連の動作は、読み出し自在に格納部に予め格納された回路解析用プログラムによって規定されている。以下、この点については、その詳細な説明を省略する。
【００５７】
主制御部１１５は、演算部１１０内部の各機能手段（例えば、回路接続変更部１２０、抵抗置換部１２５、定常解析部１４０、素子耐圧検証部１４５等）の動作を制御する機能手段である。主制御部１１５の動作は、前述の回路解析用プログラムによって規定されている。主制御部１１５は、前述のＲＡＭから回路解析用プログラムを読み出して、読み出した回路解析用プログラムに基づいて図示せぬ制御信号を生成し、生成した制御信号を各機能手段に出力して各機能手段を作動させる。以下、主制御部１１５の動作については、説明を省略する。
【００５８】
回路接続変更部１２０は、ＣＭＯＳ型半導体論理回路（以下、単に「論理回路」と称する）を、インバータ単位の複数の回路（以下、「分離回路」と称する）に分離し、さらに、各分離回路の内部に電気的に浮いた状態となっているノード（フローティングノード）が存在する場合に、フローティングノードの存在形態に応じて、各分離回路に含まれている各ＭＯＳ素子の接続関係を部分的に変更する機能手段でもある。なお、回路接続変更部１２０は、各分離回路の内部にフローティングノードが存在する場合に各ＭＯＳ素子の接続関係を部分的に変更するが、各分離回路の内部にフローティングノードが存在しない場合には何もせずに分離したままの各ＭＯＳ素子の接続関係を維持する。以下、回路接続変更部１２０の各ＭＯＳ素子の接続関係を部分的に変更する動作及び維持する動作を、まとめて、「再構成」と称する。なお、ここでは、「インバータ単位の回路」とは、単一の入力端子と単一の出力端子との間に構成された複数のＭＯＳ素子からなるインバータ回路を意味している。
【００５９】
抵抗置換部１２５は、回路接続変更部１２０により分離された各分離回路に含まれている各ＭＯＳ素子を、ＯＦＦ状態及びＯＮ状態のいずれか一方の状態に応じて、ＯＦＦ状態の素子として機能する高抵抗素子またはＯＮ状態の素子として機能する低抵抗素子に置き換える機能手段である。なお、抵抗置換部１２５は、定常解析部１４０が各ＭＯＳ素子の電圧降下量を算出し易いように、好ましくは、同じ型のＭＯＳ素子であれば、同じ抵抗値の抵抗素子に置き換えるとよい。この実施の形態例では、抵抗置換部１２５は、Ｐ型ＭＯＳ高抵抗置換部１３０とＮ型ＭＯＳ低抵抗置換部１３５とを備えている。Ｐ型ＭＯＳ高抵抗置換部１３０は、各分離回路に含まれているＰ型ＭＯＳ素子を、ＯＦＦ状態の素子として機能する高抵抗素子に置き換える機能手段である。Ｎ型ＭＯＳ低抵抗置換部１３５は、各分離回路に含まれているＮ型ＭＯＳ素子を、ＯＮ状態の素子として機能する低抵抗素子に置き換える機能手段である。なお、「高抵抗」の値と「低抵抗」の値は、相対的に定まる値である。「高抵抗」の値と「低抵抗」の値は、好ましくは、例えば１ｋΩと１Ωのように、１０００倍程度の差に設定するとよい。
【００６０】
定常解析部１４０は、抵抗置換部１２５により各ＭＯＳ素子が抵抗素子に置き換えられた状態となっている各分離回路に対して、各分離回路の電源端子と接地端子に予め定められた電圧を仮想的に与えて各分離回路を定常状態にし、各分離回路の定常状態を解析することにより、各分離回路に含まれている各高抵抗素子及び各低抵抗素子の定常状態時の電圧降下量を算出する機能手段である。
【００６１】
素子耐圧検証部１４５は、定常解析部１４０により算出された各高抵抗素子の定常状態時の電圧降下量（以下、単に「各高抵抗素子の電圧降下量」と称する）と、高抵抗素子の耐圧値として予め定められた素子基準耐圧とを比較して、各高抵抗素子の電圧降下量が素子基準耐圧よりも大きいか否かを判定する機能手段である。
【００６２】
素子耐圧検証部１４５は、素子基準耐圧よりも大きい電圧降下量の高抵抗素子が存在する場合に、「エラーあり」すなわち「論理回路の中に欠陥が存在する」と判定する。そして、素子耐圧検証部１４５は、素子耐圧の検証結果データとして「エラーあり」を表すデータを生成し、さらに、論理回路の中のどの箇所に欠陥があるのかを表すデータ（以下、「問題箇所データ」と称する）を生成して、生成した検証結果データ及び問題箇所データを検証結果データ格納部１９０に格納する。なお、検証結果データ格納部１９０に格納された検証結果データ及び問題箇所データは、主制御部１１５によって検証結果データ格納部１９０から読み出されて、シミュレータ１００の出力部１１２を介して、レポートとして、シミュレータ１００のオペレータに視認可能な状態で出力される。レポートには、問題箇所として検出されたＭＯＳ素子の符号や、当該ＭＯＳ素子の電圧降下量、当該ＭＯＳ素子の素子基準耐圧等が記述されている。オペレータや回路の設計者は、レポートの内容と、回路構成とを見比べて、問題箇所を特定し、その問題箇所が本当に欠陥の存在する箇所であるか否かを確認することになる。
【００６３】
また、素子耐圧検証部１４５は、素子基準耐圧よりも大きい電圧降下量の高抵抗素子が存在しない場合に、「エラーなし」すなわち「論理回路の中に欠陥が存在しない」と判定する。そして、素子耐圧検証部１４５は、素子耐圧の検証結果データとして「エラーなし」を表すデータを生成し、生成した検証結果データを検証結果データ格納部１９０に格納する。
【００６４】
データベース１６０は、内部に、参照データ格納部１６５、設計データ格納部１７０、再構成データ格納部１７５、抵抗置換データ格納部１８０、解析結果データ格納部１８５、検証結果データ格納部１９０等を備えている。
【００６５】
参照データ格納部１６５は、論理回路の欠陥の有無を検証する際に参照される各種のデータ（以下、「参照データ」と称する）を予め格納する格納手段である。「参照データ」としては、例えば、論理回路の仕様が決定される際に定められるデータ（以下、「回路仕様データ」と称する）や、製造プロセスが決定される際に定められるデータ（以下、「製造プロセスデータ」と称する）等がある。なお、「回路仕様データ」としては、例えば、定常状態時の電源端子Ｖｄｄ及び接地端子Ｇｎｄの電圧値データ等がある。また、「製造プロセスデータ」としては、ＭＯＳ素子の素子基準耐圧データ等がある。
【００６６】
設計データ格納部１７０は、論理回路の設計に関するデータ（以下、「設計データ」と称する）を予め格納する格納手段である。なお、「設計データ」は、論理回路が設計された際に定められる。「設計データ」としては、論理回路の構成を表すデータや、論理回路を構成する各領域の寸法を表すデータ、各領域に用いる材料を表すデータ、各領域の不純物濃度を表すデータ等がある。ここでは、設計データは、論理回路の中の各部位の構成を予め定められた形式で記述されたデータの集合であり、設計データによって論理回路の全体の構成が表されるものとする。
【００６７】
再構成データ格納部１７５は、再構成された各分離回路の構成を表すデータ（以下、「再構成データ」と称する）を格納する格納手段である。「再構成データ」は、回路接続変更部１２０が各分離回路を再構成した際に、回路接続変更部１２０によって生成される。
【００６８】
抵抗置換データ格納部１８０は、各ＭＯＳ素子が対応する抵抗素子に置き換えられた分離回路の構成を表すデータ（以下、「抵抗置換データ」と称する）を格納する格納手段である。「抵抗置換データ」は、抵抗置換部１２５が各ＭＯＳ素子を対応する抵抗素子に置換した際に、抵抗置換部１２５によって生成される。この実施の形態例では、抵抗置換部１２５のＰ型ＭＯＳ高抵抗置換部１３０がＰ型ＭＯＳ素子を高抵抗素子に置換した際、及び、抵抗置換部１２５のＮ型ＭＯＳ低抵抗置換部１３５がＮ型ＭＯＳ素子を低抵抗素子に置換した際に生成される。
【００６９】
解析結果データ格納部１８５は、定常状態における分離回路の電気的特性を表すデータ（以下、「解析結果データ」と称する）を格納する格納手段である。「解析結果データ」は、定常解析部１４０が、各分離回路の電源端子と接地端子に予め定められた電圧を仮想的に与えて各分離回路の定常状態を解析した際に、定常解析部１４０によって生成される。なお、「解析結果データ」としては、各分離回路に含まれている各高抵抗素子及び各低抵抗素子の定常状態時の電圧降下量を表すデータ等がある。
【００７０】
検証結果データ格納部１９０は、各高抵抗素子の電圧降下量が素子基準耐圧よりも大きいか否かを判定した結果を表すデータ（以下、「検証結果データ」と称する）を格納する格納手段である。「検証結果データ」は、素子耐圧検証部１４５が、定常解析部１４０により算出された各高抵抗素子の電圧降下量と、高抵抗素子の耐圧値として予め定められた素子基準耐圧とを比較して、各高抵抗素子の電圧降下量が素子基準耐圧よりも大きいか否かを判定した際に、素子耐圧検証部１４５によって生成される。この「検証結果データ」は、分離回路の中の欠陥の有無を表すデータでもある。
【００７１】
＜シミュレータの動作＞
以下、図２、図３（Ａ）〜（Ｅ）、図４（Ａ）〜（Ｅ）、図５（Ａ）及び（Ｂ）、図６、並びに、図７（Ａ）及び（Ｂ）を参照して、シミュレータ１００の動作につき説明する。なお、図２は、シミュレータの動作を示すフローチャートである。図３（Ａ）〜（Ｅ）及び図４（Ａ）〜（Ｅ）は、それぞれ、回路接続変更部の動作を説明するための図である。図５（Ａ）及び（Ｂ）は、それぞれ、抵抗置換部の動作を説明するための図である。図６は、定常解析部の動作を説明するための図である。図７（Ａ）及び（Ｂ）は、それぞれ、素子耐圧検証部の動作を説明するための図である。
【００７２】
シミュレータ１００のオペレータは、シミュレータ１００の入力部１１１を操作して、論理回路の欠陥の有無の検証を開始させるための指示（以下、「検証開始指示」）をシミュレータ１００に入力する。これにより、シミュレータ１００は、動作を開始する。なお、ここでは、「検証開始指示」は、検査対象となっている論理回路を指定するデータを含んでいるものとして説明する。
【００７３】
回路接続変更部１２０は、検証開始指示が入力されると、これに応答して、設計データ格納部１７０から、検証開始指示によって指定された検証の対象となっている論理回路の設計データを読み出す（Ｓ１０５）。
【００７４】
なお、設計データは、前述のとおり、論理回路の中の各部位の構成を予め定められた形式で記述されたデータの集合である。ここでは、設計データは、論理回路の中の各ＭＯＳ素子の構成が、例えば、「各ＭＯＳ素子の符号、メイン端子の接続先、素子の型名、パラメータ」の形式で記述されているものとする。なお、「各ＭＯＳ素子の符号」データとは、論理回路の中の各ＭＯＳ素子を特定するために、各ＭＯＳ素子に対して割り振られた符号を表すデータを意味している。また、「メイン端子の接続先」データとは、ドレイン端子とゲート端子とソース端子とバックゲート端子の４つのメイン端子の接続先を表すデータを意味している。また、「型名」データとは、素子の型を表すデータを意味している。また、「パラメータ」データとは、ゲート幅やゲート長等のＭＯＳ素子の物理特性を表すデータを意味している。
【００７５】
具体的には、設計データは、例えば、「ｐ０」番目の「ＭＯＳ素子」に関するデータを表す場合に、「各ＭＯＳ素子の符号」データとして、「ｍｐ０」のように記述される。また、例えば、設計データは、ドレイン端子が出力端子Ｏｕｔに接続され、ゲート端子が入力端子Ｉｎに接続され、ソース端子が電源端子Ｖｄｄに接続され、バックゲート端子が電源端子Ｖｄｄに接続された構成を表す場合に、「メイン端子の接続先」データとして、「Ｏｕｔ、Ｉｎ、Ｖｄｄ、Ｖｄｄ」のように記述される。また、設計データは、ＭＯＳ素子が「Ｐ」型である場合に、「型名」データとして、「ｐｃｈ」のように記述される。また、設計データは、「ゲート幅」を１マイクロとし、「ゲート長」を１マイクロとする素子の構成を表す場合に、「パラメータ」データとして、「ｗ＝１μ，ｌ＝１μ」のように記述される。その結果、設計データは、例えば、「ｍｐ０  Ｏｕｔ  Ｉｎ  Ｖｄｄ  Ｖｄｄ  ｐｃｈ  ｗ＝１μ  ｌ＝１μ」のように、記述される。
【００７６】
なお、論理回路における各部位の位置は、設計データによって特定されている。したがって、論理回路の全体の構成は、設計データによって構成が特定された各部位をそれぞれ対応する位置に配置して組み合わせることによって、表される。図３（Ａ）及び図４（Ａ）に、設計データによって表された論理回路の一例を示す。図３（Ａ）に示す論理回路ＮＡＮＤ１は、カスコード接続された構成を含むＮＡＮＤ回路として構成されている。また、図４（Ａ）に示す論理回路ＮＯＲ１は、カスコード接続された構成を含むＮＯＲ回路として構成されている。
【００７７】
図３（Ａ）に示す論理回路ＮＡＮＤ１は、２つの電源端子（以下、それぞれ、「第１の電源端子Ｖｄｄ１１」及び「第２の電源端子Ｖｄｄ１２」と称する）と、１つの接地端子（以下、「接地端子Ｇｎｄ１１」と称する）と、２つの入力端子（以下、それぞれ、「第１の入力端子Ｉｎ１１」及び「第２の入力端子Ｉｎ１２」と称する）と、１つの出力端子（以下、「出力端子Ｏｕｔ１１」と称する）を有している。論理回路ＮＡＮＤ１は、第１の電源端子Ｖｄｄ１１と接地端子Ｇｎｄ１１との間に、第１の電源端子Ｖｄｄ１１側から接地端子Ｇｎｄ１１側に向かって順に、２つのＰ型ＭＯＳ素子Ｐ１１，Ｐ１２と４つのＮ型ＭＯＳ素子Ｎ１１，Ｎ１２，Ｎ１３，Ｎ１４とが直列に接続されている。２つのＰ型ＭＯＳ素子Ｐ１１，Ｐ１２の各ゲートと第１の電源端子Ｖｄｄ１１側の２つのＮ型ＭＯＳ素子Ｎ１１，Ｎ１２の各ゲートには、第１の入力端子Ｉｎ１１が接続されている。また、接地端子Ｇｎｄ１１側のＰ型ＭＯＳ素子Ｐ１２と第１の電源端子Ｖｄｄ１１側のＮ型ＭＯＳ素子Ｎ１１の間には、出力端子Ｏｕｔ１１が接続されている。また、接地端子Ｇｎｄ１１側の２つのＮ型ＭＯＳ素子Ｎ１３，Ｎ１４の各ゲートには、第２の入力端子Ｉｎ１２が接続されている。また、論理回路ＮＡＮＤ１は、第２の電源端子Ｖｄｄ１２と出力端子Ｏｕｔ１１との間に、第１の電源端子Ｖｄｄ１１側から出力端子Ｏｕｔ１１側に向かって順に、２つのＰ型ＭＯＳ素子Ｐ１３，Ｐ１４が直列に接続されている。２つのＰ型ＭＯＳ素子Ｐ１３，Ｐ１４の各ゲートには、接地端子Ｇｎｄ１１側の２つのＮ型ＭＯＳ素子Ｎ１３，Ｎ１４の各ゲートとともに、第２の入力端子Ｉｎ１２が接続されている。
【００７８】
図４（Ａ）に示す論理回路ＮＯＲ１は、１つの電源端子（以下、「電源端子Ｖｄｄ２１」と称する）と、２つの接地端子（以下、それぞれ、「第１の接地端子Ｇｎｄ２１」及び「第２の接地端子Ｇｎｄ２２」と称する）と、２つの入力端子（以下、それぞれ、「第１の入力端子Ｉｎ２１」及び「第２の入力端子Ｉｎ２２」と称する）と、１つの出力端子（以下、「出力端子Ｏｕｔ２１」と称する）を有している。論理回路ＮＯＲ１は、電源端子Ｖｄｄ２１と第１の接地端子Ｇｎｄ２１との間に、電源端子Ｖｄｄ２１側から第１の接地端子Ｇｎｄ２１側に向かって順に、４つのＰ型ＭＯＳ素子Ｐ２１，Ｐ２２，Ｐ２３，Ｐ２４と２つのＮ型ＭＯＳ素子Ｎ２１，Ｎ２２とが直列に接続されている。電源端子Ｖｄｄ２１側の２つのＰ型ＭＯＳ素子Ｐ２１，Ｐ２２の各ゲートには、第１の入力端子Ｉｎ２１が接続されている。また、接地端子Ｇｎｄ２１側の２つのＰ型ＭＯＳ素子Ｐ２３，Ｐ２４の各ゲートと２つのＮ型ＭＯＳ素子Ｎ２１，Ｎ２２の各ゲートには、第２の入力端子Ｉｎ２２が接続されている。また、第１の接地端子Ｇｎｄ２１側のＰ型ＭＯＳ素子Ｐ２４と電源端子Ｖｄｄ２１側のＮ型ＭＯＳ素子Ｎ２１の間には、出力端子Ｏｕｔ２１が接続されている。また、論理回路ＮＯＲ１は、出力端子Ｏｕｔ２１と第２の接地端子Ｇｎｄ２２との間に、出力端子Ｏｕｔ２１側から第２の接地端子Ｇｎｄ２２側に向かって順に、２つのＮ型ＭＯＳ素子Ｎ２３，Ｎ２４が直列に接続されている。２つのＮ型ＭＯＳ素子Ｎ２３，Ｎ２４の各ゲートには、電源端子Ｖｄｄ２１側の２つのＰ型ＭＯＳ素子Ｐ２１，Ｐ２２の各ゲートとともに、第１の入力端子Ｉｎ２１が接続されている。
【００７９】
回路接続変更部１２０は、設計データ格納部１７０から論理回路の設計データを読み出すと、これに応答して、設計データが表している論理回路を、同一ゲートノードに繋がるＭＯＳ素子群に分離することにより、インバータ単位の複数の回路すなわち分離回路に分離する（Ｓ１１０）。なお、図３（Ｂ）及び（Ｃ）並びに図４（Ｂ）及び（Ｃ）に、分離回路の一例を示す。図３（Ｂ）及び（Ｃ）は、図３（Ａ）に示す論理回路ＮＡＮＤ１を、２つの分離回路ＮＡＮＤ１ａ及びＮＡＮＤ１ｂに分離した状態を示している。また、図４（Ｂ）及び（Ｃ）は、図４（Ａ）に示す論理回路ＮＯＲ１を、２つの分離回路ＮＯＲ１ａ及びＮＯＲ１ｂに分離した状態を示している。なお、図３（Ｂ）及び（Ｃ）に示す点線で囲まれた領域ＦＮ１１，ＦＮ１２，ＦＮ１３、並びに、図４（Ｂ）及び（Ｃ）に示す点線で囲まれた領域ＦＮ２１，ＦＮ２２，ＦＮ２３は、フローティングノードであることを示している。
【００８０】
回路接続変更部１２０は、論理回路を分離回路に分離すると、これに応答して、各分離回路のフローティングノードの存在形態を判定する（Ｓ１１５）。
【００８１】
このとき、まず、回路接続変更部１２０は、各分離回路の内部にフローティングノードが存在するか否かを判定する。フローティングノードは、各分離回路の末端となっているノードに生じ易い。そこで、回路接続変更部１２０は、各分離回路の中から末端となっている各ノードを抽出し、抽出した各ノードの接続関係を識別する。そして、回路接続変更部１２０は、ノードが何らかの構成要素に接続されていない状態になっている場合に、そのノードをフローティングノードと判定し、また、ノードが何らかの構成要素に接続された状態になっている場合に、そのノードを非フローティングノードと判定する。このようにして、回路接続変更部１２０は、各分離回路の内部にフローティングノードが存在するか否かを判定する。そして、フローティングノードが存在する場合に、回路接続変更部１２０は、フローティングノードが存在しなくなるように、フローティングノードの存在形態、すなわち、フローティングノードがＰ型ＭＯＳ素子及びＮ型ＭＯＳ素子のいずれの側に存在するのかを判定する。なお、図３（Ｂ）に示す例では、フローティングノードＦＮ１１がＮ型ＭＯＳ素子側にのみ存在している。また、図３（Ｃ）に示す例では、フローティングノードＦＮ１２，ＦＮ１３がＰ型ＭＯＳ素子側とＮ型ＭＯＳ素子側の両方に存在している。また、図４（Ｂ）に示す例では、フローティングノードＦＮ２１，ＦＮ２２がＰ型ＭＯＳ素子側とＮ型ＭＯＳ素子側の両方に存在している。また、図４（Ｃ）に示す例では、フローティングノードＦＮ２３がＰ型ＭＯＳ素子側にのみ存在している。
【００８２】
回路接続変更部１２０は、フローティングノードの形態を判定すると、これに応答して、回路解析用プログラムに従って、フローティングノードの形態に応じて、表１に示す対応を行うことにより、各分離回路を再構成する（Ｓ１２０）。
【００８３】
【表１】
0005036598.tif 000002
【００８４】
すなわち、回路接続変更部１２０は、分離回路の内部にフローティングノードが存在する場合に、フローティングノードの形態に応じて、以下の（ａ）〜（ｃ）の対応を行う。
【００８５】
（ａ）フローティングノードがＰ型ＭＯＳ素子側にのみ存在するとき、回路接続変更部１２０は、フローティングノードに電源端子Ｖｄｄを接続した形状に、分離回路の構成を変更する。
【００８６】
（ｂ）フローティングノードがＮ型ＭＯＳ素子側にのみ存在するとき、回路接続変更部１２０は、フローティングノードに接地端子Ｇｎｄを接続した形状に、分離回路の構成を変更する。
【００８７】
（ｃ）フローティングノードがＰ型ＭＯＳ素子側とＮ型ＭＯＳ素子側の両方に存在するとき、回路接続変更部１２０は、Ｐ型ＭＯＳ素子側のフローティングノードとＮ型ＭＯＳ素子側のフローティングノードとを接続した形状に、分離回路の構成を変更する。
【００８８】
他方、回路接続変更部１２０は、分離回路の内部にフローティングノードが存在しない場合に、何もせずに、分離されたままの形状に、分離回路の構成を維持する。
【００８９】
なお、表１に示す対応を表すデータ（以下、「対応データ」と称する）は、参照データの一種として、参照データ格納部１６５に予め格納されている。回路接続変更部１２０は、参照データ格納部１６５から対応データを読み出して、表１に示す対応を行う。
【００９０】
回路接続変更部１２０は、表１に示す対応を行うと、これに応答して、再構成された各分離回路の構成を表すデータすなわち再構成データを生成する。なお、図３（Ｄ）及び（Ｅ）並びに図４（Ｄ）及び（Ｅ）に、再構成データの一例を示す。図３（Ｄ）は、図３（Ｂ）に示す分離回路を再構成した状態を示している。また、図３（Ｅ）は、図３（Ｃ）に示す分離回路を再構成した状態を示している。また、図４（Ｄ）は、図４（Ｂ）に示す分離回路を再構成した状態を示している。図４（Ｅ）は、図４（Ｃ）に示す分離回路を再構成した状態を示している。なお、図３（Ｄ）及び（Ｅ）に示す一点鎖線で囲まれた領域、並びに、図４（Ｄ）及び（Ｅ）に示す一点鎖線で囲まれた領域は、接続関係が変更されたノードであることを示している。図３（Ｄ）は、図３（Ｂ）のフローティングノードＦＮ１１を接地端子に接続した状態を示している。また、図３（Ｅ）は、図３（Ｃ）のフローティングノードＦＮ１２とＦＮ１３とを接続した状態を示している。また、図４（Ｄ）は、図４（Ｂ）のフローティングノードＦＮ２１とＦＮ２２とを接続した状態を示している。また、図４（Ｅ）は、図４（Ｃ）のフローティングノードＦＮ２３を電源端子に接続した状態を示している。
【００９１】
回路接続変更部１２０は、以下のように動作することによって、図３（Ｄ）及び（Ｅ）に示すＮＡＮＤ１ａ及びＮＡＮＤ１ｂの再構成データを生成する。なお、以下の説明では、「電源端子Ｖｄｄを接続した形状」を表す構成データや、「接地端子Ｇｎｄを接続した形状」を表わす構成データは、参照データの一種として、参照データ格納部１６５または図示せぬ格納部に予め読み出し自在に格納されているものとする。
【００９２】
すなわち、まず、回路接続変更部１２０は、論理回路ＮＡＮＤ１を分離回路ＮＡＮＤ１ａ及びＮＡＮＤ１ｂに分離したときに、図３（Ａ）に示す論理回路ＮＡＮＤ１の設計データを、図３（Ｂ）に示す分離回路ＮＡＮＤ１ａの構成データと図３（Ｃ）に示す分離回路ＮＡＮＤ１ｂの構成データとに分離する。
【００９３】
次に、回路接続変更部１２０は、図３（Ｂ）に示す分離回路ＮＡＮＤ１ａに対して、点線で囲まれた領域ＦＮ１１をフローティングノードと判定したときに、回路解析用プログラムに従って、表１に示す処理を行う。ここでは、フローティングノードＦＮ１１は、Ｎ型ＭＯＳ素子側にのみ存在している。そこで、回路接続変更部１２０は、フローティングノードＦＮ１１に接地端子Ｇｎｄを接続した形状に、分離回路ＮＡＮＤ１ａの構成を変更する。このとき、回路接続変更部１２０は、参照データ格納部１６５または図示せぬ格納部から「接地端子Ｇｎｄを接続した形状」を表わす構成データを読み出し、図３（Ｂ）に示す分離回路ＮＡＮＤ１ａの構成データのフローティングノードＦＮ１１の構成データと「接地端子Ｇｎｄを接続した形状」を表わす構成データとを接続した形状に変更する。このようにして、回路接続変更部１２０は、図３（Ｄ）に示す分離回路ＮＡＮＤ１ａの再構成データを生成する。
【００９４】
同様に、回路接続変更部１２０は、図３（Ｃ）に示す分離回路ＮＡＮＤ１ｂに対して、点線で囲まれた領域ＦＮ１２及びＦＮ１３をフローティングノードと判定したときに、回路解析用プログラムに従って、表１に示す処理を行う。ここでは、フローティングノードＦＮ１２及びＦＮ１３は、Ｐ型ＭＯＳ素子側とＮ型ＭＯＳ素子側の両方に存在している。そこで、回路接続変更部１２０は、Ｐ型ＭＯＳ素子側のフローティングノードＦＮ１２とＮ型ＭＯＳ素子側のフローティングノードＦＮ１３とを接続した形状に、分離回路ＮＡＮＤ１ｂの構成を変更する。このとき、回路接続変更部１２０は、図３（Ｃ）に示す分離回路ＮＡＮＤ１ｂのフローティングノードＦＮ１２の構成データとフローティングノードＦＮ１３の構成データとを接続した形状に変更する。このようにして、回路接続変更部１２０は、図３（Ｅ）に示す分離回路ＮＡＮＤ１ｂの再構成データを生成する。
【００９５】
また、回路接続変更部１２０は、以下のように動作することによって、図４（Ｄ）及び（Ｅ）に示す分離回路ＮＯＲ１ａ及びＮＯＲ１ｂの再構成データを生成する。
【００９６】
すなわち、まず、回路接続変更部１２０は、論理回路ＮＯＲ１を分離回路ＮＯＲ１ａ及びＮＯＲ１ｂに分離したときに、図４（Ａ）に示す論理回路ＮＯＲ１の設計データを、図４（Ｂ）に示す分離回路ＮＯＲ１ａの構成データと図４（Ｃ）に示す分離回路ＮＯＲ１ｂの構成データとに分離する。
【００９７】
次に、回路接続変更部１２０は、図４（Ｂ）に示す分離回路ＮＯＲ１ａに対して、点線で囲まれた領域ＦＮ２１及びＦＮ２２をフローティングノードと判定したときに、回路解析用プログラムに従って、表１に示す処理を行う。ここでは、フローティングノードＦＮ２１及びＦＮ２２は、Ｐ型ＭＯＳ素子側とＮ型ＭＯＳ素子側の両方に存在している。そこで、回路接続変更部１２０は、Ｐ型ＭＯＳ素子側のフローティングノードＦＮ２１とＮ型ＭＯＳ素子側のフローティングノードＦＮ２２とを接続した形状に、分離回路ＮＯＲ１ａの構成を変更する。このとき、回路接続変更部１２０は、図４（Ｂ）に示す分離回路ＮＯＲ１ａのフローティングノードＦＮ２１の構成データとフローティングノードＦＮ２２の構成データとを接続した形状に変更する。このようにして、回路接続変更部１２０は、図４（Ｄ）に示す分離回路ＮＯＲ１ａの再構成データを生成する。
【００９８】
同様に、回路接続変更部１２０は、図４（Ｃ）に示す分離回路ＮＯＲ１ｂに対して、点線で囲まれた領域ＦＮ２３をフローティングノードと判定したときに、回路解析用プログラムに従って、表１に示す処理を行う。ここでは、フローティングノードＦＮ２３は、Ｐ型ＭＯＳ素子側にのみ存在している。そこで、回路接続変更部１２０は、フローティングノードＦＮ２３に電源端子Ｖｄｄを接続した形状に、分離回路ＮＯＲ１ｂの構成を変更する。このとき、回路接続変更部１２０は、参照データ格納部１６５または図示せぬ格納部から「電源端子Ｖｄｄを接続した形状」を表わす構成データを読み出し、図４（Ｃ）に示す分離回路ＮＯＲ１ｂの構成データのフローティングノードＦＮ２３の構成データと「電源端子Ｖｄｄを接続した形状」を表わす構成データとを接続した形状に変更する。このようにして、回路接続変更部１２０は、図４（Ｅ）に示す分離回路ＮＯＲ１ｂの再構成データを生成する。
【００９９】
回路接続変更部１２０は、再構成データを生成すると、これに応答して、生成した再構成データを再構成データ格納部１７５に出力する。
【０１００】
再構成データ格納部１７５は、回路接続変更部１２０から再構成データが出力されると、これに応答して、再構成データを格納する（Ｓ１２５）。
【０１０１】
抵抗置換部１２５のＰ型ＭＯＳ高抵抗置換部１３０及びＮ型ＭＯＳ低抵抗置換部１３５は、再構成データ格納部１７５が再構成データを格納すると、これに応答して、再構成データ格納部１７５から再構成データを読み出す（Ｓ１３０）。なお、図５（Ａ）に、再構成データの一例を示す。図５（Ａ）は、図３（Ｄ）と同じものである。
【０１０２】
抵抗置換部１２５のＰ型ＭＯＳ高抵抗置換部１３０及びＮ型ＭＯＳ低抵抗置換部１３５は、再構成データ格納部１７５から再構成データを読み出すと、これに応答して、再構成データが表している各分離回路に含まれている各ＭＯＳ素子を、ＯＦＦ状態及びＯＮ状態のいずれか一方の状態に応じて、ＯＦＦ状態の素子として機能する高抵抗素子またはＯＮ状態の素子として機能する低抵抗素子に置き換える（Ｓ１３５）。
【０１０３】
なお、各ＭＯＳ素子の定常状態時における理論上の抵抗値を表すデータ（以下、「抵抗値データ」と称する）は、参照データの一種として、参照データ格納部１６５に予め格納されている。Ｐ型ＭＯＳ高抵抗置換部１３０及びＮ型ＭＯＳ低抵抗置換部１３５は、参照データ格納部１６５から抵抗値データを読み出して、抵抗値データによって各ＭＯＳ素子に対応付けられた抵抗値の抵抗素子を特定し、各ＭＯＳ素子を対応する抵抗値の線形抵抗素子に置き換える。なお、参照データ格納部１６５には、例えば、ＯＦＦ状態となっているＭＯＳ素子（この実施の形態例では、Ｐ型ＭＯＳ素子）に対応する抵抗値データとして１ｋΩの値が予め格納されており、また、ＯＮ状態となっているＭＯＳ素子（この実施の形態例では、Ｎ型ＭＯＳ素子）に対応する抵抗値データとして１Ωの値が予め格納されているものとする。したがって、この実施の形態例では、Ｐ型ＭＯＳ高抵抗置換部１３０は、再構成データが表している各分離回路に含まれている各Ｐ型ＭＯＳ素子を、抵抗値が１ｋΩとなっている線形抵抗素子に置き換える。同様に、Ｎ型ＭＯＳ低抵抗置換部１３５は、再構成データが表している各分離回路に含まれている各Ｎ型ＭＯＳ素子を、抵抗値が１Ωとなっている線形抵抗素子に置き換える。なお、各ＭＯＳ素子に対応する抵抗値データとしては、各ＭＯＳ素子の電圧降下量が算出され易いように、好ましくは、同じ型であれば、同じ抵抗値が設定されているとよい。
【０１０４】
抵抗置換部１２５のＰ型ＭＯＳ高抵抗置換部１３０及びＮ型ＭＯＳ低抵抗置換部１３５は、各ＭＯＳ素子を対応する抵抗値の抵抗素子に置き換えると、これに応答して、各ＭＯＳ素子が対応する抵抗素子に置き換えられた分離回路の構成を表すデータすなわち抵抗置換データを生成する。なお、図５（Ｂ）に、抵抗置換データの一例を示す。図５（Ｂ）は、図５（Ａ）の再構成データが表す分離回路に対して、Ｐ型ＭＯＳ高抵抗置換部１３０が各Ｐ型ＭＯＳ素子を高抵抗素子に置き換え、また、Ｎ型ＭＯＳ低抵抗置換部１３５が各Ｎ型ＭＯＳ素子を低抵抗素子に置き換えた状態を示している。なお、Ｐ型ＭＯＳ高抵抗置換部１３０は、図５（Ｂ）の中の電源端子Ｖｄｄから出力端子Ｏｕｔまでの領域の抵抗置換データを生成し、また、Ｎ型ＭＯＳ低抵抗置換部１３５は、図５（Ｂ）の中の出力端子Ｏｕｔから接地端子Ｇｎｄまでの領域の抵抗置換データを生成する。
【０１０５】
Ｐ型ＭＯＳ高抵抗置換部１３０及びＮ型ＭＯＳ低抵抗置換部１３５は、それぞれ、抵抗置換データを生成すると、これに応答して、生成した抵抗置換データを抵抗置換データ格納部１８０に出力する。
【０１０６】
抵抗置換データ格納部１８０は、Ｐ型ＭＯＳ高抵抗置換部１３０から抵抗置換データが出力されると、これに応答して、抵抗置換データを格納する。同様に、抵抗置換データ格納部１８０は、Ｎ型ＭＯＳ低抵抗置換部１３５から抵抗置換データが出力されると、これに応答して、抵抗置換データを格納する（Ｓ１４０）。なお、Ｐ型ＭＯＳ高抵抗置換部１３０により生成された抵抗置換データ及びＮ型ＭＯＳ低抵抗置換部１３５により生成された抵抗置換データを合成すると、図５（Ｂ）に示す抵抗置換データとなる。
【０１０７】
定常解析部１４０は、抵抗置換データ格納部１８０が抵抗置換データを格納すると、これに応答して、抵抗置換データ格納部１８０から抵抗置換データを読み出す（Ｓ１４５）。このとき、定常解析部１４０は、抵抗置換データ格納部１８０からＰ型ＭＯＳ高抵抗置換部１３０により生成された抵抗置換データとＮ型ＭＯＳ低抵抗置換部１３５により生成された抵抗置換データとをそれぞれ読み出して、両方の抵抗置換データを合成することにより、図５（Ｂ）に示す抵抗置換データを得る。
【０１０８】
定常解析部１４０は、抵抗置換データ格納部１８０から抵抗置換データを読み出すと、これに応答して、各分離回路の定常状態を解析する（Ｓ１５０）。
【０１０９】
このとき、まず、定常解析部１４０は、抵抗置換データが表している各分離回路の電源端子Ｖｄｄと接地端子Ｇｎｄに予め定められた電圧を仮想的に与える。なお、電源端子Ｖｄｄと接地端子Ｇｎｄに与える電圧値を表すデータ（以下、「電圧値データ」と称する）は、参照データの一種として、参照データ格納部１６５に予め格納されている。そこで、定常解析部１４０は、参照データ格納部１６５から電圧値データを読み出して、電圧値データに基づいて各分離回路の電源端子Ｖｄｄと接地端子Ｇｎｄに与える電圧値を特定し、各分離回路の電源端子Ｖｄｄと接地端子Ｇｎｄにそれぞれに対応する電圧を仮想的に与える。この実施の形態例では、参照データ格納部１６５には、例えば、電源端子Ｖｄｄに与える電圧値データとして２ボルトの値が予め格納されており、また、接地端子Ｇｎｄに与える電圧値データとして０ボルトの値が予め格納されているものとする。したがって、この実施の形態例では、定常解析部１４０は、抵抗置換データが表している各分離回路の電源端子Ｖｄｄに２ボルトの電圧を仮想的に与え、また、接地端子Ｇｎｄに０ボルトの電圧を仮想的に与える。また、この実施の形態例では、Ｐ型ＭＯＳ素子をＯＦＦ状態の素子として機能させるので、入力端子Ｉｎに電源端子Ｖｄｄに与える電圧と同じ値すなわち２ボルトの入力電圧を与える。これにより、定常解析部１４０は、各分離回路を定常状態すなわち分離回路が安定した状態にする。
【０１１０】
次に、定常解析部１４０は、各分離回路を流れる電流によって得られる高抵抗素子の電圧降下量差及び低抵抗素子の電圧降下量差を算出する。この実施の形態例では、図６に示すように、定常解析部１４０は、電源端子Ｖｄｄと出力端子Ｏｕｔとの間に接続された２つの高抵抗素子が電源端子Ｖｄｄに与えられた２ボルトの電圧をほぼ均等に分配するので、各高抵抗素子の電圧降下量を２／２＝１ボルトとして算出する。また、定常解析部１４０は、出力端子Ｏｕｔと接地端子Ｇｎｄとの間に接続された２つの低抵抗素子がＯＮ状態の素子として機能するので、各低抵抗素子の電圧降下量を０ボルトとして算出する。
【０１１１】
このようにして、定常解析部１４０は、各分離回路の定常状態を解析する。
【０１１２】
定常解析部１４０は、各分離回路の定常状態を解析すると、これに応答して、定常状態における分離回路の電気的特性を表すデータすなわち解析結果データを生成する。なお、図６に、解析結果データの一例を示す。図６は、図５（Ｂ）の抵抗置換データが表す分離回路に対して、電源端子Ｖｄｄに２ボルトの電圧を仮想的に与え、また、接地端子Ｇｎｄに０ボルトの電圧を仮想的に与え、また、入力端子ｉｎに２ボルトの電圧を仮想的に与えた状態の解析結果を示している。
【０１１３】
定常解析部１４０は、解析結果データを生成すると、これに応答して、生成した解析結果データを解析結果データ格納部１８５に出力する。
【０１１４】
解析結果データ格納部１８５は、定常解析部１４０から解析結果データが出力されると、これに応答して、解析結果データを格納する（Ｓ１５５）。
【０１１５】
素子耐圧検証部１４５は、解析結果データ格納部１８５が解析結果データを格納すると、これに応答して、解析結果データ格納部１８５から解析結果データを読み出す（Ｓ１６０）。
【０１１６】
素子耐圧検証部１４５は、解析結果データ格納部１８５から解析結果データを読み出すと、これに応答して、解析結果データが表している各高抵抗素子の電圧降下量と素子基準耐圧とを比較して、各高抵抗素子の電圧降下量が素子基準耐圧よりも大きいか否かを判定し、これにより、各高抵抗素子の耐圧を検証する（Ｓ１６５）。
【０１１７】
なお、高抵抗素子の素子基準耐圧を表すデータ（以下、「素子基準耐圧データ」と称する）は、参照データの一種として、参照データ格納部１６５に予め格納されている。素子耐圧検証部１４５は、参照データ格納部１６５から素子基準耐圧データを読み出して、各高抵抗素子の電圧降下量が素子基準耐圧よりも大きいか否かを判定する。
【０１１８】
素子耐圧検証部１４５は、各高抵抗素子の電圧降下量が素子基準耐圧よりも大きい場合に、「エラーあり」すなわち「論理回路の中に欠陥が存在する」と判定する。他方、素子耐圧検証部１４５は、各高抵抗素子の電圧降下量が素子基準耐圧以下である場合に、「エラーなし」すなわち「論理回路の中に欠陥が存在しない」と判定する。
【０１１９】
素子耐圧検証部１４５は、各高抵抗素子の電圧降下量が素子基準耐圧よりも大きいか否かを判定すると、これに応答して、素子耐圧の検証結果データすなわち各高抵抗素子の電圧降下量が素子基準耐圧よりも大きいか否かを判定した結果を表すデータを生成する。なお、図７（Ａ）及び（Ｂ）に、検証結果データの一例を示す。図７（Ａ）は、「エラーなし」の場合の解析結果データを示しており、また、図７（Ｂ）は、「エラーあり」の場合の解析結果データを示している。図７（Ａ）に示す分離回路は、図６に示す分離回路と同じ構成のものである。また、図７（Ｂ）に示す分離回路は、電源端子Ｖｄｄと出力端子Ｏｕｔの間に１つの高抵抗素子が接続され、出力端子Ｏｕｔと接地端子Ｇｎｄの間に２つの低抵抗素子が直列に接続された構成となっている。この実施の形態例では、参照データ格納部１６５には、例えば、高抵抗素子の素子基準耐圧データＶＴとして１．５ボルトの値が予め格納されているものとする。したがって、素子耐圧検証部１４５は、各高抵抗素子の電圧降下量が１．５ボルトよりも大きいか否かを判定する。
【０１２０】
仮に、分離回路が図７（Ａ）に示す構成となっている場合に、電源端子Ｖｄｄに与えられた２ボルトの電圧が２つの高抵抗素子にほぼ均等に分配されるため、２つの高抵抗素子のそれぞれの電圧降下量は１ボルトとなっている。したがって、この場合に、各高抵抗素子の電圧降下量（１ボルト）が素子基準耐圧ＶＴ（１．５ボルト）以下であるので、素子耐圧検証部１４５は、「エラーなし」と判定する。
【０１２１】
これに対して、仮に、分離回路が図７（Ｂ）に示す構成となっている場合に、電源端子Ｖｄｄに与えられた２ボルトの電圧が分配されることなく１つの高抵抗素子に与えられるため、高抵抗素子の電圧降下量は２ボルトとなっている。したがって、この場合に、各高抵抗素子の電圧降下量（２ボルト）が素子基準耐圧ＶＴ（１．５ボルト）よりも大きいので、素子耐圧検証部１４５は、「エラーあり」と判定する。
【０１２２】
素子耐圧検証部１４５は、各高抵抗素子の電圧降下量が素子基準耐圧よりも大きいか否かを判定すると、これに応答して、素子耐圧の検証結果データすなわち各高抵抗素子の電圧降下量が素子基準耐圧よりも大きいか否かを判定した結果を表すデータを生成する。この実施の形態例では、検証結果データは、分離回路の中の欠陥の有無を表すデータ（すなわち、「エラーあり」または「エラーなし」を表すデータ）と、図７（Ａ）及び（Ｂ）に示すような分離回路の構成を表すデータとを組み合わせたものとする。
【０１２３】
素子耐圧検証部１４５は、検証結果データを生成すると、これに応答して、生成した検証結果データを検証結果データ格納部１９０に出力する。
【０１２４】
検証結果データ格納部１９０は、素子耐圧検証部１４５から検証結果データが出力されると、これに応答して、検証結果データを格納する（Ｓ１７０）。
【０１２５】
主制御部１１５は、検証結果データが検証結果データ格納部１９０に格納されると、これに応答して、検証結果データ格納部１９０から検証結果データを読み出して、読み出した検証結果データをシミュレータ１００の出力部１１２を介してシミュレータ１００のオペレータに視認可能な状態に出力する（Ｓ１７５）。
【０１２６】
なお、検証結果データ格納部１９０に格納された検証結果データは、例えばシミュレータ１００のオペレータが入力部１１１から出力指示をシミュレータ１００に入力することにより、または、シミュレータ１００の図示せぬ上位装置が出力指示をシミュレータ１００に入力することにより、任意のタイミングで適宜出力することができる。
【０１２７】
以上の通り、この実施の形態例に係るシミュレータ１００は、ＣＭＯＳ型半導体論理回路をインバータ単位の複数の分離回路に分離し、さらに、各分離回路の内部にフローティングノードが存在する場合に、フローティングノードの存在形態に応じて、各分離回路に含まれている各ＭＯＳ素子の接続関係を部分的に変更する。そして、このシミュレータ１００は、ＯＦＦ状態となっている各ＭＯＳ素子（この実施の形態例では、Ｐ型ＭＯＳ素子）を高抵抗素子に、また、ＯＮ状態となっている各ＭＯＳ素子（この実施の形態例では、Ｎ型ＭＯＳ素子）を低抵抗素子に置き換えた状態で、論理回路に含まれている各分離回路の定常状態を解析し、その解析結果に基づいて、論理回路の欠陥の有無（すなわち、「エラーあり」または「エラーなし」）を判定する。
【０１２８】
この実施の形態例に係るシミュレータ１００によれば、Ｐ型ＭＯＳ素子がＯＦＦ状態として機能し、Ｎ型ＭＯＳ素子がＯＮ状態として機能するときの論理回路の欠陥の有無を検証する場合において、フローティングノードをなくした状態で論理回路の欠陥の有無を検証するので、常に正しく、論理回路のＯＦＦ状態となっている各ＭＯＳ素子の素子耐圧検証をすることができる。
【０１２９】
なお、シミュレータ１００は、誤ったレポートを出力することがなくなる。そのため、オペレータや回路の設計者は、レポートの内容と回路構成とを見比べて問題箇所を特定し、さらに、その問題箇所が本当に欠陥の存在する箇所であるか否かを確認する等の無駄な作業を行う必要がなくなる。そのため、シミュレータ１００は、従来技術よりも解析時間を短縮することができ、検証効率を向上させることができる。
【０１３０】
また、シミュレータ１００によれば、論理回路の過渡解析をすることなく定常解析するのみで、検証漏れのない各ＭＯＳ素子の素子耐圧検証をすることができる。
【０１３１】
なお、オペレータや回路の設計者は、重大な検証漏れがないかを検証する等の無駄な作業を行う必要がなくなる。そのため、これによっても、シミュレータ１００は、従来技術よりも解析時間を短縮することができ、検証効率を向上させることができる。
【０１３２】
［実施の形態例２］
＜シミュレータの構成＞
実施の形態例１に係るシミュレータ１００は、Ｐ型ＭＯＳ素子がＯＦＦ状態として機能し、Ｎ型ＭＯＳ素子がＯＮ状態として機能するときの論理回路の欠陥の有無を検証する構成となっている。そのため、シミュレータ１００は、Ｐ型ＭＯＳ素子を高抵抗素子に、また、Ｎ型ＭＯＳ素子を低抵抗素子に置き換える構成となっている。これに対して、実施の形態例２に係るシミュレータ１０２は、Ｎ型ＭＯＳ素子がＯＦＦ状態として機能し、Ｐ型ＭＯＳ素子がＯＮ状態として機能するときの論理回路の欠陥の有無を検証する構成となっている。そのため、シミュレータ１０２は、Ｎ型ＭＯＳ素子を高抵抗素子に、また、Ｐ型ＭＯＳ素子を低抵抗素子に置き換える構成となっている。
【０１３３】
以下、図８を参照して、実施の形態例２に係るシミュレータの構成につき説明する。なお、図８は、実施の形態例２に係るシミュレータの構成を説明するためのブロック図である。
【０１３４】
図８に示すように、実施の形態例２に係るシミュレータ１０２の抵抗置換部１２５は、実施の形態例１に係るシミュレータ１００のＰ型ＭＯＳ高抵抗置換部１３０及びＮ型ＭＯＳ低抵抗置換部１３５の代わりに、Ｎ型ＭＯＳ高抵抗置換部１３２及びＰ型ＭＯＳ低抵抗置換部１３７を備えている。Ｎ型ＭＯＳ高抵抗置換部１３２は、各分離回路に含まれているＮ型ＭＯＳ素子を、ＯＦＦ状態の素子として機能する高抵抗素子に置き換える機能手段である。Ｐ型ＭＯＳ低抵抗置換部１３７は、各分離回路に含まれているＰ型ＭＯＳ素子を、ＯＮ状態の素子として機能する低抵抗素子に置き換える機能手段である。
【０１３５】
＜シミュレータの動作＞
以下、図２、図９（Ａ）及び（Ｂ）、図１０、並びに、図１１（Ａ）及び（Ｂ）を参照して、シミュレータ１０２の動作につき説明する。なお、図９（Ａ）及び（Ｂ）は、それぞれ、抵抗置換部の動作を説明するための図である。図１０は、定常解析部の動作を説明するための図である。図１１（Ａ）及び（Ｂ）は、それぞれ、素子耐圧検証部の動作を説明するための図である。なお、以下の説明では、実施の形態例１に係るシミュレータ１００の動作と異なる動作を重点的に説明し、実施の形態例１に係るシミュレータ１００の動作と同様の動作については説明を省略する。
【０１３６】
図２に示すように、シミュレータ１０２は、実施の形態例１に係るシミュレータ１００と同様に、Ｓ１０５〜Ｓ１２５の動作を行う。
【０１３７】
この後、シミュレータ１０２は、Ｓ１３０において、抵抗置換部１２５のＮ型ＭＯＳ高抵抗置換部１３２及びＰ型ＭＯＳ低抵抗置換部１３７が、再構成データ格納部１７５から再構成データを読み出す。なお、図９（Ａ）は、Ｎ型ＭＯＳ高抵抗置換部１３２及びＰ型ＭＯＳ低抵抗置換部１３７が読み出した再構成データの一例を示している。この図９（Ａ）は、図５（Ａ）すなわち図３（Ｄ）と同じものである。
【０１３８】
この後、シミュレータ１０２は、Ｓ１３５において、Ｎ型ＭＯＳ高抵抗置換部１３２及びＰ型ＭＯＳ低抵抗置換部１３７が、再構成データが表している各分離回路に含まれている各ＭＯＳ素子を、ＯＦＦ状態及びＯＮ状態のいずれか一方の状態に応じて、ＯＦＦ状態の素子として機能する高抵抗素子またはＯＮ状態の素子として機能する低抵抗素子に置き換える。ただし、この実施の形態例では、ＯＦＦ状態となっているＭＯＳ素子がＮ型ＭＯＳ素子となり、ＯＮ状態となっているＭＯＳ素子がＰ型ＭＯＳ素子となる。ここで、この実施の形態例では、参照データ格納部１６５には、例えば、ＯＦＦ状態となっているＭＯＳ素子（この実施の形態例では、Ｎ型ＭＯＳ素子）に対応する抵抗値データとして１ｋΩの値が予め格納されており、また、ＯＮ状態となっているＭＯＳ素子（この実施の形態例では、Ｐ型ＭＯＳ素子）に対応する抵抗値データとして１Ωの値が予め格納されているものとする。したがって、この実施の形態例では、Ｎ型ＭＯＳ高抵抗置換部１３２が、再構成データが表している各分離回路に含まれている各Ｎ型ＭＯＳ素子を、高抵抗素子すなわち抵抗値が１ｋΩとなっている線形抵抗素子に置き換える。同様に、Ｐ型ＭＯＳ低抵抗置換部１３７が、再構成データが表している各分離回路に含まれている各Ｐ型ＭＯＳ素子を、低抵抗素子すなわち抵抗値が１Ωとなっている線形抵抗素子に置き換える。
【０１３９】
抵抗置換部１２５のＮ型ＭＯＳ高抵抗置換部１３２及びＰ型ＭＯＳ低抵抗置換部１３７は、各ＭＯＳ素子を対応する抵抗値の抵抗素子に置き換えると、これに応答して、抵抗置換データを生成する。なお、図９（Ｂ）に、抵抗置換データの一例を示す。図９（Ｂ）は、図９（Ａ）の再構成データが表す分離回路に対して、Ｎ型ＭＯＳ高抵抗置換部１３２が各Ｎ型ＭＯＳ素子を高抵抗素子に置き換え、また、Ｐ型ＭＯＳ低抵抗置換部１３７が各Ｐ型ＭＯＳ素子を低抵抗素子に置き換えた状態を示している。なお、Ｎ型ＭＯＳ高抵抗置換部１３２は、図９（Ｂ）の中の出力端子Ｏｕｔから接地端子Ｇｎｄまでの領域の抵抗置換データを生成し、また、Ｐ型ＭＯＳ低抵抗置換部１３７は、図９（Ｂ）の中の電源端子Ｖｄｄから出力端子Ｏｕｔまでの領域の抵抗置換データを生成する。
【０１４０】
Ｎ型ＭＯＳ高抵抗置換部１３２及びＰ型ＭＯＳ低抵抗置換部１３７は、それぞれ、抵抗置換データを生成すると、これに応答して、生成した抵抗置換データを抵抗置換データ格納部１８０に出力する。
【０１４１】
この後、シミュレータ１０２は、実施の形態例１に係るシミュレータ１００と同様に、Ｓ１４０の動作を行う。
【０１４２】
この後、シミュレータ１０２は、Ｓ１４５において、定常解析部１４０が、抵抗置換データ格納部１８０から抵抗置換データ（図９（Ｂ）参照）を読み出す。
【０１４３】
この後、シミュレータ１０２は、Ｓ１５０において、定常解析部１４０が、各分離回路の定常状態を解析する。このとき、まず、定常解析部１４０は、図９（Ｂ）に示す抵抗置換データが表している各分離回路の電源端子Ｖｄｄと接地端子Ｇｎｄに予め定められた電圧を仮想的に与える。この実施の形態例では、定常解析部１４０は、各分離回路の電源端子Ｖｄｄに２ボルトの電圧を仮想的に与え、また、接地端子Ｇｎｄに０ボルトの電圧を仮想的に与えるものとする。また、この実施の形態例では、Ｎ型ＭＯＳ素子をＯＦＦ状態の素子として機能させるので、入力端子ｉｎに接地端子Ｇｎｄに与える電圧と同じ値すなわち０ボルトの入力電圧を与える。これにより、定常解析部１４０は、各分離回路を定常状態にする。次に、定常解析部１４０は、各分離回路を流れる電流によって得られる高抵抗素子の電圧降下量差及び低抵抗素子の電圧降下量差を算出する。この実施の形態例では、図１０に示すように、定常解析部１４０は、電源端子Ｖｄｄと出力端子Ｏｕｔとの間に接続された２つの低抵抗素子がＯＮ状態の素子として機能するので、各低抵抗素子の電圧降下量を０ボルトとして算出する。また、定常解析部１４０は、出力端子Ｏｕｔと接地端子Ｇｎｄとの間に接続された２つの高抵抗素子が電源端子Ｖｄｄに与えられた２ボルトの電圧をほぼ均等に分配するので、各高抵抗素子の電圧降下量を２／２＝１ボルトとして算出する。
【０１４４】
このようにして、定常解析部１４０は、各分離回路の定常状態を解析する。
【０１４５】
定常解析部１４０は、各分離回路の定常状態を解析すると、これに応答して、定常状態における分離回路の電気的特性を表すデータすなわち解析結果データを生成する。なお、図１０に、解析結果データの一例を示す。図１０は、図９（Ｂ）の抵抗置換データが表す分離回路に対して、電源端子Ｖｄｄに２ボルトの電圧を仮想的に与え、また、接地端子Ｇｎｄに０ボルトの電圧を仮想的に与え、また、入力端子ｉｎに０ボルトの電圧を仮想的に与えた状態の解析結果を示している。
【０１４６】
定常解析部１４０は、解析結果データを生成すると、これに応答して、生成した解析結果データを解析結果データ格納部１８５に出力する。
【０１４７】
この後、シミュレータ１０２は、実施の形態例１に係るシミュレータ１００と同様に、Ｓ１５５及びＳ１６０の動作を行う。
【０１４８】
そして、シミュレータ１０２は、Ｓ１６５において、素子耐圧検証部１４５が、解析結果データが表している各高抵抗素子の電圧降下量と素子基準耐圧とを比較して、各高抵抗素子の電圧降下量が素子基準耐圧よりも大きいか否かを判定し、検証結果データを生成する。なお、図１１（Ａ）及び（Ｂ）に、検証結果データの一例を示す。図１１（Ａ）は、「エラーなし」の場合の解析結果データを示しており、また、図１１（Ｂ）は、「エラーあり」の場合の解析結果データを示している。図１１（Ａ）に示す分離回路は、図１０に示す分離回路と同じ構成のものである。また、図１１（Ｂ）に示す分離回路は、電源端子Ｖｄｄと出力端子Ｏｕｔの間に２つの低抵抗素子が接続され、出力端子Ｏｕｔと接地端子Ｇｎｄの間に１つの高抵抗素子が直列に接続された構成となっている。この実施の形態例では、参照データ格納部１６５には、例えば、高抵抗素子の素子基準耐圧データＶＴとして１．５ボルトの値が予め格納されているものとする。したがって、素子耐圧検証部１４５は、各高抵抗素子の電圧降下量が１．５ボルトよりも大きいか否かを判定する。
【０１４９】
仮に、分離回路が図１１（Ａ）に示す構成となっている場合に、電源端子Ｖｄｄに与えられた２ボルトの電圧が２つの高抵抗素子にほぼ均等に分配されるため、２つの高抵抗素子のそれぞれの電圧降下量は１ボルトとなっている。したがって、この場合に、各高抵抗素子の電圧降下量（１ボルト）が素子基準耐圧ＶＴ（１．５ボルト）以下であるので、素子耐圧検証部１４５は、「エラーなし」と判定する。
【０１５０】
これに対して、仮に、分離回路が図１１（Ｂ）に示す構成となっている場合に、電源端子Ｖｄｄに与えられた２ボルトの電圧が分配されることなく１つの高抵抗素子に与えられるため、高抵抗素子の電圧降下量は２ボルトとなっている。したがって、この場合に、各高抵抗素子の電圧降下量（２ボルト）が素子基準耐圧ＶＴ（１．５ボルト）よりも大きいので、素子耐圧検証部１４５は、「エラーあり」と判定する。
【０１５１】
素子耐圧検証部１４５は、各高抵抗素子の電圧降下量が素子基準耐圧よりも大きいか否かを判定すると、これに応答して、検証結果データを生成して、生成した検証結果データを検証結果データ格納部１９０に出力する。
【０１５２】
この後、シミュレータ１０２は、実施の形態例１に係るシミュレータ１００と同様に、Ｓ１７０及びＳ１７５の動作を行う。
【０１５３】
以上の通り、この実施の形態例に係るシミュレータ１０２は、ＯＦＦ状態となっているＭＯＳ素子である各Ｎ型ＭＯＳ素子を高抵抗素子に、また、ＯＮ状態となっているＭＯＳ素子である各Ｐ型ＭＯＳ素子を低抵抗素子に置き換えた状態で、論理回路に含まれている各分離回路の定常状態を解析し、その解析結果に基づいて、論理回路の欠陥の有無を判定する。
【０１５４】
この実施の形態例に係るシミュレータ１０２によれば、Ｎ型ＭＯＳ素子がＯＦＦ状態として機能し、Ｐ型ＭＯＳ素子がＯＮ状態として機能するときの論理回路の欠陥の有無を検証する場合において、実施の形態例１に係るシミュレータ１００と同様に、フローティングノードをなくした状態で論理回路の欠陥の有無を検証するので、常に正しく、論理回路のＯＦＦ状態となっている各ＭＯＳ素子の素子耐圧検証をすることができる。
【０１５５】
また、シミュレータ１０２によれば、実施の形態例１に係るシミュレータ１００と同様に、オペレータや回路の設計者が、レポートの内容と回路構成とを見比べて問題箇所を特定し、さらに、その問題箇所が本当に欠陥の存在する箇所であるか否かを確認する等の無駄な作業を行う必要がなくなるので、これにより、従来技術よりも解析時間を短縮することができ、検証効率を向上させることができる。
【０１５６】
また、シミュレータ１０２によれば、実施の形態例１に係るシミュレータ１００と同様に、論理回路の過渡状態を解析することなく定常解析するのみで、検証漏れのない各ＭＯＳ素子の素子耐圧検証をすることができる。
【０１５７】
また、シミュレータ１０２によれば、実施の形態例１に係るシミュレータ１００と同様に、オペレータや回路の設計者が、重大な検証漏れがないかを検証する等の無駄な作業を行う必要がなくなるので、これによっても、従来技術よりも解析時間を短縮することができ、検証効率を向上させることができる。
【０１５８】
［実施の形態例３］
＜シミュレータの構成＞
実施の形態例１に係るシミュレータ１００は、Ｐ型ＭＯＳ素子を高抵抗素子に、また、Ｎ型ＭＯＳ素子を低抵抗素子に置き換える構成となっていた。また、実施の形態例２に係るシミュレータ１０２は、Ｎ型ＭＯＳ素子を高抵抗素子に、また、Ｐ型ＭＯＳ素子を低抵抗素子に置き換える構成となっていた。これに対して、実施の形態例３に係るシミュレータ１０４は、Ｐ型ＭＯＳ素子を高抵抗素子に、また、Ｎ型ＭＯＳ素子を低抵抗素子に置き換える構成と、Ｎ型ＭＯＳ素子を高抵抗素子に、また、Ｐ型ＭＯＳ素子を低抵抗素子に置き換える構成とを併せ持つ構成となっている。
【０１５９】
以下、図１２を参照して、実施の形態例３に係るシミュレータの構成につき説明する。なお、図１２は、実施の形態例３に係るシミュレータの構成を説明するためのブロック図である。
【０１６０】
図１２に示すように、実施の形態例３に係るシミュレータ１０４の抵抗置換部１２５は、実施の形態例１に係るシミュレータ１００のＰ型ＭＯＳ高抵抗置換部１３０及びＮ型ＭＯＳ低抵抗置換部１３５と、実施の形態例２に係るシミュレータ１０２のＮ型ＭＯＳ高抵抗置換部１３２及びＰ型ＭＯＳ低抵抗置換部１３７とを併せ持っている。
【０１６１】
＜シミュレータの動作＞
以下、図１３を参照して、実施の形態例３に係るシミュレータの動作につき説明する。なお、図１３は、実施の形態例３に係るシミュレータの動作を示すフローチャートである。
【０１６２】
シミュレータ１０４は、まず、Ｓ１０５〜１７０の動作として、実施の形態例１に係るシミュレータ１００のＳ１０５〜Ｓ１７０と同じ動作を行う。
【０１６３】
この後、シミュレータ１０４は、Ｓ２３０〜２７５の動作として、実施の形態例２に係るシミュレータ１０２のＳ１３０〜Ｓ１７５と同じ動作を行う。
【０１６４】
すなわち、シミュレータ１０４は、Ｓ２３０において、実施の形態例２に係るシミュレータ１０２のＳ１３０と同様に、再構成データ格納部１７５から再構成データを読み出す。
【０１６５】
次に、シミュレータ１０４は、Ｓ２３５において、実施の形態例２に係るシミュレータ１０２のＳ１３５と同様に、抵抗置換部１２５が、Ｎ型ＭＯＳ素子を高抵抗素子に置き換え、また、Ｐ型ＭＯＳ素子を低抵抗素子に置き換えて、抵抗置換データを生成して、生成した抵抗置換データを抵抗置換データ格納部１８０に出力する。
【０１６６】
次に、シミュレータ１０４は、Ｓ２４０において、実施の形態例２に係るシミュレータ１０２のＳ１４０と同様に、抵抗置換データ格納部１８０が抵抗置換データを格納する。
【０１６７】
次に、シミュレータ１０４は、Ｓ２４５において、実施の形態例２に係るシミュレータ１０２のＳ１４５と同様に、定常解析部１４０が、抵抗置換データ格納部１８０から抵抗置換データを読み出す。
【０１６８】
次に、シミュレータ１０４は、Ｓ２５０において、実施の形態例２に係るシミュレータ１０２のＳ１５０と同様に、定常解析部１４０が、抵抗置換データが表している各分離回路の電源端子Ｖｄｄと接地端子Ｇｎｄに予め定められた電圧を仮想的に与えて各分離回路の定常状態を解析して、解析結果データを生成し、生成した解析結果データを解析結果データ格納部１８５に出力する。
【０１６９】
次に、シミュレータ１０４は、Ｓ２５５において、実施の形態例２に係るシミュレータ１０２のＳ１５５と同様に、解析結果データ格納部１８５が解析結果データを格納する。
【０１７０】
次に、シミュレータ１０４は、Ｓ２６０において、実施の形態例２に係るシミュレータ１０２のＳ１６０と同様に、素子耐圧検証部１４５が、解析結果データ格納部１８５から解析結果データを読み出す。
【０１７１】
次に、シミュレータ１０４は、Ｓ２６５において、実施の形態例２に係るシミュレータ１０２のＳ１６５と同様に、素子耐圧検証部１４５が、解析結果データが表している各高抵抗素子の電圧降下量と素子基準耐圧とを比較して、各高抵抗素子の電圧降下量が素子基準耐圧よりも大きいか否かを判定して、検証結果データを生成し、生成した検証結果データを検証結果データ格納部１９０に出力する。
【０１７２】
次に、シミュレータ１０４は、Ｓ２７０において、実施の形態例２に係るシミュレータ１０２のＳ１７０と同様に、検証結果データ格納部１９０が、検証結果データを格納する。
【０１７３】
次に、シミュレータ１０４は、Ｓ２７５において、実施の形態例２に係るシミュレータ１０２のＳ１７５と同様に、主制御部１１５が、検証結果データ格納部１９０から検証結果データを読み出して、読み出した検証結果データをシミュレータ１００の出力部１１２を介してシミュレータ１００のオペレータに視認可能な状態に出力する。
【０１７４】
以上の通り、この実施の形態例に係るシミュレータ１０４は、Ｓ１０５〜１７０の動作として、実施の形態例１に係るシミュレータ１００のＳ１０５〜Ｓ１７０と同じ動作を行い、この後、実施の形態例３に係るシミュレータ１０４は、Ｓ２３０〜２７５の動作として、実施の形態例２に係るシミュレータ１０２のＳ１３０〜Ｓ１７５と同じ動作を行う。したがって、シミュレータ１０４は、Ｓ１５０で、Ｐ型ＭＯＳ素子が高抵抗素子に置き換えられかつＮ型ＭＯＳ素子が低抵抗素子に置き換えられた状態となっている各分離回路を対象にして定常状態を解析して、各高抵抗素子及び各低抵抗素子の定常状態時の電圧降下量を算出する動作（以下、「第１の電圧降下量算出動作」と称する）と、Ｓ１６５で、第１の電圧降下量算出動作で算出された各高抵抗素子の電圧降下量と、高抵抗素子の耐圧値として予め定められた素子基準耐圧とを比較して、各高抵抗素子の電圧降下量が素子基準耐圧よりも大きいか否かを判定する動作（以下、「第１の電圧降下量判定動作」と称する）と、Ｓ２５０で、Ｎ型ＭＯＳ素子が高抵抗素子に置き換えられかつＰ型ＭＯＳ素子が低抵抗素子に置き換えられた状態となっている各分離回路を対象にして定常状態を解析して、各高抵抗素子及び各低抵抗素子の定常状態時の電圧降下量を算出する動作（以下、「第２の電圧降下量算出動作」と称する）と、Ｓ２６５で、第２の電圧降下量算出動作で算出された各高抵抗素子の電圧降下量と、高抵抗素子の耐圧値として予め定められた素子基準耐圧とを比較して、各高抵抗素子の電圧降下量が素子基準耐圧よりも大きいか否かを判定する動作（以下、「第２の電圧降下量判定動作」と称する）とを順次行う。
【０１７５】
この実施の形態例に係るシミュレータ１０４によれば、実施の形態例１に係るシミュレータ１００及び実施の形態例２に係るシミュレータ１０２と同様の効果を得ることができる。
【０１７６】
さらに、この実施の形態例に係るシミュレータ１０４によれば、Ｐ型ＭＯＳ素子がＯＦＦ状態として機能し、Ｎ型ＭＯＳ素子がＯＮ状態として機能するときの論理回路の欠陥の有無を検証する場合の検証と、Ｎ型ＭＯＳ素子がＯＦＦ状態として機能し、Ｐ型ＭＯＳ素子がＯＮ状態として機能するときの論理回路の欠陥の有無を検証する場合の検証とを、一台で順次行うことができるので、論理回路の欠陥の有無の検証に要する時間を実施の形態例１に係るシミュレータ１００及び実施の形態例２に係るシミュレータ１０２に比べても短縮することができ、検証効率をより向上させることができる。
【０１７７】
この発明は、上述の実施の形態例に限定されることなく、この発明の要旨を逸脱しない範囲で種々の変更や変形を行うことができる。
【０１７８】
例えば、実施の形態例３に係るシミュレータ１０４は、先に、実施の形態例１に係るシミュレータ１００と同じ動作を行い、その後に、実施の形態例２に係るシミュレータ１０２と同じ動作を行っている。しかしながら、実施の形態例３に係るシミュレータ１０４は、先に、実施の形態例２に係るシミュレータ１０２と同じ動作を行い、その後に、実施の形態例１に係るシミュレータ１００と同じ動作を行うようにしてもよい。
【図面の簡単な説明】
【０１７９】
【図１】実施の形態例１に係るシミュレータの構成を示すブロック図である。
【図２】実施の形態例１に係るシミュレータの動作を示すフローチャートである。
【図３】（Ａ）〜（Ｅ）は、それぞれ、回路接続変更部の動作説明図である。
【図４】（Ａ）〜（Ｅ）は、それぞれ、回路接続変更部の動作説明図である。
【図５】（Ａ）及び（Ｂ）は、それぞれ、抵抗置換部の動作説明図である。
【図６】定常解析部の動作説明図である。
【図７】（Ａ）及び（Ｂ）は、それぞれ、素子耐圧検証部の動作説明図である。
【図８】実施の形態例２に係るシミュレータの構成を示すブロック図である。
【図９】（Ａ）及び（Ｂ）は、それぞれ、抵抗置換部の動作説明図である。
【図１０】定常解析部の動作説明図である。
【図１１】（Ａ）及び（Ｂ）は、それぞれ、素子耐圧検証部の動作説明図である。
【図１２】実施の形態例３に係るシミュレータの構成を示すブロック図である。
【図１３】実施の形態例３に係るシミュレータの動作を示すフローチャートである。
【図１４】通常接続のインバータ回路の構成を示す図である。
【図１５】カスコード接続のインバータ回路の構成を示す図である。
【図１６】論理回路の欠陥の有無検証の説明図である。
【符号の説明】
【０１８０】
１００    …シミュレータ
１１０    …演算部
１１５    …主制御部
１２０    …回路接続変更部
１２５    …抵抗置換部
１３０    …Ｐ型ＭＯＳ高抵抗置換部
１３２    …Ｎ型ＭＯＳ高抵抗置換部
１３５    …Ｎ型ＭＯＳ低抵抗置換部
１３７    …Ｐ型ＭＯＳ低抵抗置換部
１４０    …定常解析部
１４５    …素子耐圧検証部
１６０    …データベース
１６５    …参照データ格納部
１７０    …設計データ格納部
１７５    …再構成データ格納部
１８０    …抵抗置換データ格納部
１８５    …解析結果データ格納部
１９０    …検証結果データ格納部
【図１】
0005036598.tif 000003
【図２】
0005036598.tif 000004
【図３】
0005036598.tif 000005
【図４】
0005036598.tif 000006
【図５】
0005036598.tif 000007
【図６】
0005036598.tif 000008
【図７】
0005036598.tif 000009
【図８】
0005036598.tif 000010
【図９】
0005036598.tif 000011
【図１０】
0005036598.tif 000012
【図１１】
0005036598.tif 000013
【図１２】
0005036598.tif 000014
【図１３】
0005036598.tif 000015
【図１４】
0005036598.tif 000016
【図１５】
0005036598.tif 000017
【図１６】
0005036598.tif 000018