JP2006171919A - 異常状態発生ノード検出方法 - Google Patents

異常状態発生ノード検出方法 Download PDF

Info

Publication number
JP2006171919A
JP2006171919A JP2004360649A JP2004360649A JP2006171919A JP 2006171919 A JP2006171919 A JP 2006171919A JP 2004360649 A JP2004360649 A JP 2004360649A JP 2004360649 A JP2004360649 A JP 2004360649A JP 2006171919 A JP2006171919 A JP 2006171919A
Authority
JP
Japan
Prior art keywords
abnormal state
circuit
operation model
model
state occurrence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004360649A
Other languages
English (en)
Inventor
Hideki Mishima
英樹 三島
Shinichiro Yoneyama
慎一郎 米山
Hidetoshi Narahara
英俊 楢原
Hiroshi Takahashi
博 高橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2004360649A priority Critical patent/JP2006171919A/ja
Publication of JP2006171919A publication Critical patent/JP2006171919A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】回路シミュレータが、素子レベルの回路図からハイインピーダンスが発生するノードを検出できるようになる異常状態発生ノード検出方法を提供する。
【解決手段】回路シミュレータに、素子本来の動作モデルとは異なる異常検出用の動作モデルを用意する。異常検出用の動作モデルは、ハイインピーダンスが発生すると該素子の端子に通常の動作モデルを設定したときとは異なる電圧または電流が発生する動作モデルである。素子本来の動作モデルを設定した回路の動作解析により得た各ノード電圧(ステップS202)と異常検出用の動作モデルを設定した回路の動作解析により得た各ノード電圧(ステップS207)を比較し(ステップS208)、その差が閾値以上のノードを、ハイインピーダンスが発生するノードと判断する。
【選択図】図2

Description

本発明は、回路シミュレータが、異常状態が発生するノードを回路図から検出するための異常状態発生ノード検出方法に関する。
設計された回路の動作検証は、通常「Spice」などの回路シミュレータを用いて行われる。しかし、回路シミュレータで使用される素子の特性は実際の特性よりも理想状態に近いため、シミュレーション上では、ハイインピーダンスが発生しても回路が正常に動作することがある。
ところが、実際の回路でハイインピーダンスが発生すると、そのハイインピーダンスが発生したノードに接続するトランジスタ素子に貫通電流が流れたり、回路動作が不安定になるなどの問題が発生する。そのため、ハイインピーダンスが発生するノードを回路の設計段階で検出しないと、実際の回路の品質が大きく低下してしまうという問題があった。そこで、ハイインピーダンスが発生するノードを回路の設計段階で検出するための手法が従来より提案されている。
例えば、ロジック回路においてハイインピーダンスの発生や貫通電流の発生を検出する手法として、回路図においてトライステートセルのコントロール端子の接続関係を調べることでハイインピーダンスや貫通電流が発生するノードを検出する手法が提案されている(例えば、特許文献1参照。)。
また、相補型MOS(CMOS)により構成される回路の素子レベルの回路図を対象にハイインピーダンスが発生するノードを検出する手法も提案されている(例えば、特許文献2参照。)。この手法は、1)回路中に含まれるNチャネル型FET素子(以下、NFETと称す。)に対して、そのゲート端子がクロック線に接続し、かつドレイン端子またはソース端子がグランドに接続しているか否かを調べ、2)また、同様に、Pチャネル型FET素子(以下、PFETと称す。)に対して、そのゲート端子がクロック線に接続し、かつドレイン端子またはソース端子が電源に接続しているか否かを調べ、3)ゲート端子がクロック線に接続していない場合は、NFETとPFETの接続が相補型になっているか否かを確認し、4)相補型になっていない場合は、FET素子に接続するノードにハイインピーダンスが発生する可能性があると判断する、というものである。
図7に、この従来のハイインピーダンス発生ノード検出手法を説明するためのフローチャートを示す。
図7において、ステップS701では、回路図中に含まれる素子を1つ選択する。
ステップS702では、ステップS701にて選択した素子がNFETか否かの判定を行う。その判定の結果、NFETであればステップS703に進み、NFETでなければステップS706に進む。
ステップS703では、NFETのゲート端子がクロック線に接続しており、且つソース端子がGND線に接続しているか否かの判定を行う。その判定の結果、接続していればハイインピーダンスになる可能性はないためステップS709に進む。接続していなければステップS704に進む。
ステップS704では、NFETの各端子がPFETと相補的に接続しているか否かの判定を行う。その判定の結果、相補的に接続していればハイインピーダンスになる可能性はないためステップS709に進む。相補的に接続していなければハイインピーダンスになる可能性があるため、エラー表示をするステップS705に進む。
ステップS706では、ステップS701にて選択した素子がPFETか否かの判定を行う。その判定の結果、PFETであればステップS707に進み、PFETでなければステップS709に進む。
ステップS707では、PFETの各端子がNFETと相補的に接続しているか否かの判定を行う。その判定の結果、相補的に接続していればハイインピーダンスになる可能性はないためステップS709に進む。相補的に接続していなければステップS708に進む。
ステップS708では、PFETのゲート端子がクロック線に接続しており、且つドレイン端子がVDD線に接続しているか否かの判定を行う。その判定の結果、接続していればハイインピーダンスになる可能性はないためステップS709に進む。接続していなければハイインピーダンスになる可能性があるため、エラー表示をするステップ705に進む。
ステップS709では、全ての素子に対して上記の判定処理が行われたか否かの判定を行う。その判定の結果、全ての素子に対する上記の判定処理が完了していない場合はステップS701に戻る。全ての素子に対する上記の判定処理が完了している場合、または、ステップS705にてエラー表示を行った場合は、処理を終了する。
市販されている回路シミュレーションツールにも同様の機能を持つものがある。米国「Sandwork社」の「SpiceLint」は、回路の中から、PFETのゲート端子が電源に接続されている箇所や、NFETのゲート端子がグランドに接続されている箇所、NFETとPFETのゲート端子同士が接続され他との接続がない箇所を検出することにより、ハイインピーダンスになる可能性があるノードを検出する。
しかしながら、この従来のハイインピーダンス発生ノード検出手法は、回路の接続関係のみに基づいてハイインピーダンスが発生する可能性のあるノードを検出するため、アナログ回路に対しては、実際にはハイインピーダンスにならないノードをハイインピーダンスになる可能性があると判断してエラー出力するという問題があった。
つまり、アナログ回路は、NFETとPFETが常に相補型で使用されているわけではない。また、FET素子のゲート端子も常にクロック信号に接続されているとは限らず、FET素子のドレイン端子やソース端子も電源ネットやグランドネットに直接接続せずに、抵抗や容量などの他の受動素子や別のFET素子を経由して複雑な経路によって電源ネットやグランドネットに接続する場合がある。このように隣接するNFETとPFETのゲート端子が同じ信号に接続していない場合や、ドレイン端子やソース端子が複雑な経路により電源ネットやグランドネットと接続している場合、従来のハイインピーダンス発生ノード検出手法では、このFET素子に接続するノードにハイインピーダンスが発生する可能性があると判断してエラー出力する。しかし、アナログ回路では、このような構成の場合であっても必ずFET素子に接続するノードがハイインピーダンスになるとは限らない。
また、一般的なハイインピーダンスの検出手法として、実際の回路において、ハイインピーダンスになる可能性のあるノードに数G(ギガ)オームの高抵抗を介して電源やグランドを接続し、この抵抗を流れる電流をモニタすることによってハイインピーダンスの発生を検出する手法もある。つまり、高抵抗を接続したノードがハイインピーダンスになればその抵抗にはほとんど電流が流れないが、ハイインピーダンスにならなければ高抵抗には電位差に応じた電流が流れることを利用して、ハイインピーダンスの発生を検出する。
しかしながら、実際の回路に高抵抗を接続し、その抵抗を流れる電流をモニタする従来の手法では、ハイインピーダンスになる可能性がある全てのノードに対して余分な素子を追加する作業が必要となり、手間と時間がかかるという問題があった。また、高抵抗の追加により回路に余分な電流が流れてしまうため、本来の動作とは異なる結果が得られる場合があり、検出精度を下げてしまうおそれがあった。
特開2003−186935号公報 米国特許6,725,970B1
本発明は、上記問題点に鑑み、回路シミュレータに、素子本来の動作モデルとは異なる異常検出用の動作モデルを用意する。この異常検出用の動作モデルは、ハイインピーダンスなどの異常状態が発生すると該素子の端子に通常の動作モデルを設定したときとは異なる電圧または電流が発生する動作モデルである。この異常検出用の動作モデルを設定した解析対象回路の動作解析を行い、通常の動作モデルを設定したときとは異なる電圧または電流が発生する異常状態発生ノードの検出を行うことにより、回路シミュレータが、相補型MOS(CMOS)により構成される回路やアナログ回路の素子レベルの回路図からハイインピーダンスなどの異常状態が発生するノードを検出できるようになる異常状態発生ノード検出方法を提供することを目的とする。
本発明の請求項1記載の異常状態発生ノード検出方法は、回路シミュレータが、解析対象回路に含まれる全ての素子または指定された素子に、異常状態が発生すると該素子の端子に通常の動作モデルを設定したときとは異なる電圧または電流が発生する異常検出用の動作モデルを設定して、解析対象回路の動作解析を行い、該異常検出用の動作モデルを設定した解析対象回路の動作解析の結果を用いて、通常の動作モデルを設定したときとは異なる電圧または電流が発生する異常状態発生ノードの検出を行う、ことを特徴とする。
また、本発明の請求項2記載の異常状態発生ノード検出方法は、請求項1記載の異常状態発生ノード検出方法であって、回路シミュレータが、通常の動作モデルを設定した解析対象回路の回路シミュレーション中に、素子の動作モデルを通常の動作モデルから異常検出用の動作モデルへと切り替えて設定し、該異常検出用の動作モデルを設定した解析対象回路の動作解析を行うことを特徴とする。
また、本発明の請求項3記載の異常状態発生ノード検出方法は、請求項1記載の異常状態発生ノード検出方法であって、異常状態発生ノードの検出は、異常検出用の動作モデルを設定した解析対象回路の動作解析の結果と予め決められた規定値とを比較することで行うことを特徴とする。
また、本発明の請求項4記載の異常状態発生ノード検出方法は、請求項2記載の異常状態発生ノード検出方法であって、異常状態発生ノードの検出は、異常検出用の動作モデルを設定した解析対象回路の動作解析の結果と予め決められた規定値とを比較することで行うことを特徴とする。
また、本発明の請求項5記載の異常状態発生ノード検出方法は、請求項4記載の異常状態発生ノード検出方法であって、解析対象回路に含まれる素子の動作モデルの切り替え、通常の動作モデルを設定した解析対象回路の動作解析、異常検出用の動作モデルを設定した解析対象回路の動作解析、および異常検出用の動作モデルを設定した解析対象回路の動作解析の結果と予め決められた規定値との比較をタイムステップ毎に順次行うことを特徴とする。
また、本発明の請求項6記載の異常状態発生ノード検出方法は、請求項5記載の異常状態発生ノード検出方法であって、解析対象回路に含まれる素子の動作モデルを切り替えるに際し、通常の動作モデルを設定した解析対象回路の動作解析の結果から、素子の端子に発生する電流または電圧が変化したか否かをタイムステップ単位で判断し、変化があった素子についてのみ異常検出用の動作モデルへ切り替えることを特徴とする。
また、本発明の請求項7記載の異常状態発生ノード検出方法は、請求項4ないし6のいずれかに記載の異常状態発生ノード検出方法であって、異常状態発生ノードの検出は、ノード電圧と規定値とを比較することで行うことを特徴とする。
また、本発明の請求項8記載の異常状態発生ノード検出方法は、請求項2記載の異常状態発生ノード検出方法であって、異常状態発生ノードの検出は、通常の動作モデルを設定した解析対象回路の動作解析の結果と異常検出用の動作モデルを設定した解析対象回路の動作解析の結果とを比較することで行うことを特徴とする。
また、本発明の請求項9記載の異常状態発生ノード検出方法は、請求項8記載の異常状態発生ノード検出方法であって、解析対象回路に含まれる素子の動作モデルの切り替え、通常の動作モデルを設定した解析対象回路の動作解析、異常検出用の動作モデルを設定した解析対象回路の動作解析、および通常の動作モデルを設定した解析対象回路の動作解析の結果と異常検出用の動作モデルを設定した解析対象回路の動作解析の結果との比較をタイムステップ毎に順次行うことを特徴とする。
また、本発明の請求項10記載の異常状態発生ノード検出方法は、請求項9記載の異常状態発生ノード検出方法であって、解析対象回路に含まれる素子の動作モデルを切り替えるに際し、通常の動作モデルを設定した解析対象回路の動作解析の結果から、素子の端子に発生する電流または電圧が変化したか否かをタイムステップ単位で判断し、変化があった素子についてのみ異常検出用の動作モデルへ切り替えることを特徴とする。
また、本発明の請求項11記載の異常状態発生ノード検出方法は、請求項9ないし10のいずれかに記載の異常状態発生ノード検出方法であって、異常状態発生ノードの検出は、通常の動作モデルを設定した解析対象回路のノード電圧と異常検出用の動作モデルを設定した解析対象回路のノード電圧を比較することで行うことを特徴とする。
また、本発明の請求項12記載の異常状態発生ノード検出方法は、請求項11記載の異常状態発生ノード検出方法であって、異常状態発生ノードの検出は、通常の動作モデルを設定した解析対象回路のノード電圧と異常検出用の動作モデルを設定した解析対象回路のノード電圧の差が一定値以上であるか否かを判断して行うことを特徴とする。
また、本発明の請求項13記載の異常状態発生ノード検出方法は、請求項1ないし12のいずれかに記載の異常状態発生ノード検出方法であって、異常検出用の動作モデルを設定する素子はトランジスタ素子であり、異常検出用の動作モデルは、トランジスタ素子とそのゲート端子またはベース端子を内部電源電圧よりも高い電圧にプルアップする回路を含む動作モデルである、ことを特徴とする。
また、本発明の請求項14記載の異常状態発生ノード検出方法は、請求項1ないし12のいずれかに記載の異常状態発生ノード検出方法であって、異常検出用の動作モデルを設定する素子はトランジスタ素子であり、異常検出用の動作モデルは、トランジスタ素子とそのゲート端子またはベース端子をグランド電圧よりも低い電圧にプルダウンする回路を含む動作モデルである、ことを特徴とする。
また、本発明の請求項15記載の異常状態発生ノード検出方法は、請求項1ないし12のいずれかに記載の異常状態発生ノード検出方法であって、異常検出用の動作モデルを複数種類用意しておき、異常検出用の動作モデルを設定する素子に対して順次設定して、それぞれ動作解析することを特徴とする。
また、本発明の請求項16記載の異常状態発生ノード検出方法は、請求項15記載の異常状態発生ノード検出方法であって、異常検出用の動作モデルを設定する素子はトランジスタ素子であり、異常検出用の動作モデルは2種類であって、一方はトランジスタ素子とそのゲート端子またはベース端子を内部電源電圧よりも高い電圧にプルアップする回路を含む動作モデルであり、他方はトランジスタ素子とそのゲート端子またはベース端子をグランド電圧よりも低い電圧にプルダウンする回路を含む動作モデルである、ことを特徴とする。
また、本発明の請求項17記載の異常状態発生ノード検出方法は、請求項1ないし16のいずれかに記載の異常状態発生ノード検出方法であって、前記異常状態発生ノードを検出するとそのノード名を出力することを特徴とする。
本発明によれば、回路シミュレータが、相補型MOS(CMOS)により構成される回路やアナログ回路の素子レベルの回路図からハイインピーダンスなどの異常状態が発生するノードを検出できるようになる。
以下、本発明の実施の形態における異常状態発生ノード検出方法について、図面を交えて説明する。
本実施の形態では、素子本来の動作モデル(通常の動作モデル。以下、通常モデルと称す。)を設定した解析対象回路(以下、本来の回路と称す。)の回路シミュレーション中に、素子の動作モデルを通常モデルから予め用意した異常検出用の動作モデル(以下、検出モデルと称す。)へ切り替えて設定し、この検出モデルを設定した解析対象回路(以下、異常検出用の回路と称す。)の動作解析を行い、その異常検出用の回路の動作解析結果を用いて異常状態が発生したノード(異常状態発生ノード)の検出を行う。
本実施の形態では、本来の回路の動作解析結果と異常検出用の回路の動作解析結果を比較することで異常状態発生ノードを検出する。なお、異常状態発生ノードを検出するために用いる動作解析結果は、検出したい異常状態によって異なり、ノード電流やノード電圧や周波数スペクトラム等やこれらの組み合わせの中から予め決定する。
ここで、予め用意しておく検出モデルは、異常状態が発生すると、動作モデルを切り替えた素子の端子に通常モデルを設定したときとは異なる電圧または電流が発生する動作モデルである。また、検出モデルを設定する素子は、解析対象回路に含まれる全素子であってもよいし、指定された素子でもよい。
回路シミュレーションは、過渡解析により行う。つまり、タイムステップ毎に回路方程式を解いてノード電圧やノード電流等を求める。本実施の形態では、回路シミュレーションの実行中に、タイムステップ毎に動作モデルを切り替え、それぞれ回路方程式を解く。
素子の動作モデル名は、例えば、回路図中の素子に付加されるプロパティなどの情報として登録する。動作モデルを設定する方法としては、回路図中の素子の動作モデル名を指定する方法もあるが、ここでは、本来の回路の動作解析を行うためのモデルパラメータファイル(以下、本来のモデルパラメータファイルと称す。)と異常検出用の回路の動作解析を行うためのモデルパラメータファイル(以下、異常検出用のモデルパラメータファイルと称す。)を指定することで、動作モデルを切り替えて設定する。
モデルパラメータファイルとは、回路図中の各素子の動作モデル名とそれに対応する動作モデル(Spiceパラメータや等価回路のネットリスト)が記載されたファイルである。本来のモデルパラメータファイルには、回路図中の各素子の動作モデル名とそれに対応する通常モデル(本来のSpiceパラメータや等価回路のネットリスト)が記載されている。一方、異常検出用のモデルパラメータファイルには、動作モデルを切り替える素子の動作モデル名とそれに対応する検出モデル(異常検出用のSpiceパラメータや等価回路のネットリスト)が記載されている。したがって、タイムステップ毎に、例えば、まず本来のモデルパラメータファイルを指定して動作解析を行った後、異常検出用のモデルパラメータファイルを指定して動作モデルを切り替えて動作解析を行うようにする。
図1に、回路シミュレーションを実行する回路シミュレータに対する入出力データの関係を示す。図1において、回路図101は回路シミュレーションを行う回路(解析対象回路)であり、ネットリストなどの形式で回路シミュレータ111へ入力される。
第1のモデルパラメータファイル102は本来の回路の動作解析を行うためのもの(本来のモデルパラメータファイル)であり、通常モデルが記載されている。一方、第2と第3のモデルパラメータファイル103、104は異常検出用の回路の動作解析を行うためのもの(異常検出用のモデルパラメータファイル)であり、それぞれ異なる検出モデルが記載されている。なお、本実施の形態では、異常検出用のモデルパラメータファイルを2つ用いるが、1つであってもよいし、3つ以上であってもよい。つまり、異常状態発生ノードの検出に必要な検出モデルの種類の数の分だけモデルパラメータファイルを用意すればよい。
異常状態判定条件ファイル105には、異常状態であるか否かを判定するための異常状態判定条件が記載されている。本実施の形態では、本来の回路の動作解析により得た回路中の各ノード電圧と異常検出用の回路の動作解析により得た回路中の各ノード電圧の差(ノード電圧差)の閾値(一定値)が記載されている。
回路シミュレータ111は、本来の回路の動作解析結果を波形データファイル121へ出力し、波形データファイル121へ回路シミュレーション結果を保存する。したがって、波形データファイル121には、各ノードの電圧波形や電流波形等(回路シミュレーション結果波形)が保存される。
また、回路シミュレータ111は、本来の回路の動作解析の結果と異常検出用の回路の動作解析の結果から、ノード電圧差がファイル105に記載された閾値以上となるノードを検出すると、異常状態発生ノードが検出されたものとして、ログファイル122にそのノード名を出力する。
以下、この回路シミュレータ111による回路シミュレーションについて図2を用いて説明する。図2は、当該回路シミュレーションのフローチャートを示す図である。回路シミュレータ111は、回路シミュレーションを開始すると、まずステップS201において、解析時刻tに初期値を設定する。ここでは「t=0」を設定する。
次に、回路シミュレータ111は、ステップS202において、回路図101と第1のモデルパラメータファイル102より回路方程式を解き、解析時刻「t=0」における本来の回路中の全ノードの電圧や電流等を求める。このステップS202では、通常モデルを用いた動作解析が行われる。電圧や電流等の計算方法については、「Spice」などの通常の回路シミュレータで採用されている計算方法をそのまま適用することができる。
次に、回路シミュレータ111は、ステップS203において、ステップS202で計算された全ノードの電圧や電流等のデータd(0)を波形データファイル121に保存しておく。この保存データは、最終的には回路シミュレーション結果波形として使用される。
次に、回路シミュレータ111は、ステップS204において、異常検出用の回路の動作解析を行うための第2と第3のモデルパラメータファイル103、104の中からまだ指定していないファイルを選択して指定する。
次に、回路シミュレータ111は、ステップS205において、解析対象回路中に含まれる素子の通常モデルを、指定したモデルパラメータファイルに記載されている検出モデルへ順次切り替えていく。ここでは全ての素子の動作モデルを切り替えるのではなく、切り替えが必要な素子に限って動作モデルの切り替えを行う。
次に、回路シミュレータ111は、ステップS206において、ステップS205で動作モデルが切り替えられた素子があるか否かを判断する。動作モデルが切り替えられた素子が1つでもあれば、ステップS207に進む。動作モデルが切り替えられた素子が全くなければ、その後の解析は必要ないため、ステップS209に進む。
次に、回路シミュレータ111は、ステップS207において、異常検出用の回路に対してステップS202と同様に回路方程式を解き、解析時刻「t=0」における回路中の全ノードの電圧や電流等を求める。このとき、回路方式を解く際の初期値としてステップS202で求めた結果を利用すれば、計算の高速化を行うことができる。なお、ここでは、ノード電圧を用いて異常状態発生ノードの検出を行うので、このステップS207ではノード電圧のみを計算するようにしてもよい。
次に、回路シミュレータ111は、ステップS208において、ステップS207で求めた結果とステップS203で保存した結果d(0)を全ノードについて比較し、電圧差がファイル105に記載されている閾値以上となるノードを検出すると、異常状態発生ノードであると判断して、そのノード名をログファイル122に出力する。
次に、回路シミュレータ111は、ステップS209において、異常検出用のモデルパラメータファイルが複数ある場合に全てのファイルを選択(指定)したか否かの判断を行う。まだ指定していないモデルパラメータファイルがある場合には、ステップS204へ戻る。全てのモデルパラメータファイルを指定した場合には、ステップS210へ進む。このように、ここでは、検出モデルを複数種類用意しておき、順次切り替えて設定して、それぞれ動作解析する。
ステップS210へ進むと、回路シミュレータ111は、解析時刻「t=0」における回路中の全ノードの電圧・電流等をステップS202で計算された値に戻す。ステップ202で計算された値は波形データファイル121に保存されているためこの値を読み込み、各ノードの電圧・電流等として設定する。これにより、検出モデルを使用して計算された電圧・電流等は消去されるため、検出モデルに含まれる余分な素子の影響により解析結果の精度が悪化することを防ぐことができる。
次に、回路シミュレータ111は、ステップS211において、解析時刻をタイムステップΔtだけ進める。進める時刻についても「Spice」などの通常の回路シミュレータで採用されている方法をそのまま適用することができる。
次に、回路シミュレータ111は、ステップS212において、解析時刻tが回路シミュレーションの終了時刻tsを超えているか否かの判断を行う。「t」が「ts」よりも大きければ回路シミュレーションを終了し、そうでなければ、ステップS202に戻る。
このように、ここでは、解析対象回路に含まれる素子の動作モデルの切り替え、本来の回路の動作解析、異常検出用の回路の動作解析、および本来の回路の動作解析結果と異常検出用の回路の動作解析結果の比較をタイムステップ毎に順次行う。
以降、この処理を解析時刻tが終了時刻tsを超えるまでタイムステップ毎に繰り返す。
回路シミュレーションが終了したとき、波形データファイル121には各タイムステップにおける回路中の各ノードの電圧や電流等のデータd(0)〜d(ts)、つまり電圧波形や電流波形等(回路シミュレーション結果波形)が保存される。この波形は本来の回路の動作解析結果と完全に一致している。また、異常状態の発生が検出されたノードについては、ステップS208でログファイル122に出力されているため、異常状態が発生したノードが存在するか否かについて確認することが可能となる。
続いて、ステップS205における素子の動作モデルの切り替えについて詳述する。図3は、素子の動作モデルの切り替えについてのフローチャートを示す。ここでは、全ての素子の動作モデルを切り替えるのではなく、各素子の端子の電圧や電流等の変化をタイムステップ単位で調べ、変化している素子についてのみ動作モデルを切り替える。これにより、回路シミュレーションの速度低下を抑えることができる。
また、回路が定常状態となった場合には、動作モデルを切り替える必要がないことがわかるため、検出モデルを使用したシミュレーションのステップを省略することが可能となり、回路シミュレーションの速度を向上させることができる。
まず、回路シミュレータ111は、ステップS301において、回路中の素子を1つ選択する。
次に、回路シミュレータ111は、ステップS302において、その選択した素子に動作モデル名が登録されているか否かを調べる。一般的には、トランジスタ素子などの能動素子には動作モデル名が登録されているが、抵抗や容量などの受動素子には登録されていない場合が多い。動作モデル名が登録されていないものについては、動作モデルを切り替える必要がないため、動作モデル切り替えの処理を省略し、ステップS305に進む。さらに、図2のステップS204で選択されたモデルパラメータファイルの中に、ステップS301で選択した素子に該当する動作モデル名が含まれているか否かを調べる。選択した素子に動作モデル名が登録されていても、モデルパラメータファイルの中に該当する動作モデル名が含まれていない場合には、動作モデルの切り替えは必要ないため、ステップS305に進む。
次に、回路シミュレータ111は、ステップS303において、ステップS302で選択した素子の端子に発生する電流や電圧等が変化したか否かを調べる。変化がない場合はステップS305へ進む。ここでは、変化しているか否かについて、素子の各端子の電圧変化を調べることで判断する。直前の解析時刻から現在の解析時刻における各端子電圧の変化は波形データファイル121に保存されているデータd(t−Δt)およびデータd(t)より得ることができ、この値が一致していない場合は変化したものとする。
次に、回路シミュレータ111は、ステップS304において、素子の動作モデルをステップS204で選択したモデルパラメータファイルに含まれる検出モデルに切り替える。
このように、解析対象回路に含まれる素子の動作モデルを切り替えるに際し、本来の回路の動作解析結果から、素子の端子に発生する電流や電圧等が変化したか否かをタイムステップ単位で判断し、変化があった素子についてのみ検出モデルへ切り替える。
次に、回路シミュレータ111は、ステップS305において、回路中の全ての素子について上記のステップS302〜S304の処理を行ったか否かの判定を行う。全ての素子について上記の処理が終わっていれば終了し、そうでなければステップS301に戻る。
続いて、ハイインピーダンスが発生する異常状態発生ノードの検出を行うための検出モデルの一例について説明する。ハイインピーダンスによる異常動作は一般的にトランジスタ素子に起こる。つまり、バイポーラ型トランジスタ素子のベース端子やFET素子のゲート端子に接続されるノードがハイインピーダンスになると、トランジスタ素子に貫通電流が流れたり、トランジスタ素子の動作が不安定になったりする。そこで、ハイインピーダンスが発生する異常状態発生ノードを検出する場合には、トランジスタ素子だけに検出モデルを用意しておけばよい。
以下、FET素子を用いて説明する。図4に、検出モデルの一例を示す。図4において、モデル410は通常モデルである。通常モデル410の回路は通常のFET素子411のみで構成されており、通常モデル410にはこのFET素子411の動作に必要なパラメータが含まれる。
この通常モデル410のゲート端子(FET素子411のゲート端子)に接続されるノードがハイインピーダンスになると、通常モデル410のゲート電圧は、前段の出力端子の寄生容量などにより、ハイインピーダンスになる前の電圧から少し変化した値になる。一方、そのノードにハイインピーダンスが発生しなければゲート電圧は変化しない。したがって、図3に示すステップS303において、この変化した値を捉えて、動作モデルを変更するか否かを判断する。
これに対して、モデル420は検出モデルである。この検出モデル420の回路は、通常のFET素子421のゲート端子に抵抗422を介して電圧源423が接続される構成となっており、検出モデル420にはFET素子421の動作に必要なパラメータが含まれる。
抵抗422は数G(ギガ)オーム程度の高い抵抗値を持つ高抵抗であり、電圧源423は内部電源電圧よりも高い電圧を持つ高電圧源である。つまり、高抵抗422と高電圧源423は、FET素子421のゲート端子を内部電源電圧よりも高い電圧にプルアップする回路である。なお、FET素子421とFET素子411は同じものである。
検出モデル420のゲート端子(FET素子421のゲート端子)に接続されるノードがハイインピーダンスにならない場合には、高電圧源423の影響はほとんどなく、ゲート電圧は変化しない。一方、ハイインピーダンスになると、高抵抗422と高電圧源423によりゲート電圧はプルアップされて強制的に高電圧源423の電圧となる。この検出モデル420を用いることで、ハイインピーダンスが発生したときに通常モデル410とは異なる電圧がFET素子のゲート端子に発生する。
したがって、通常モデル410を設定した場合と検出モデル420を設定した場合のゲート電圧を比較することで、ゲート端子に接続されるノードにハイインピーダンスが発生するか否かを検出できる。例えば、高電圧源423の電圧を内部電源電圧の2倍にする場合には、通常モデル410と検出モデル420のゲート電圧差は内部電源電圧程度となるので、異常状態判定条件として内部電源電圧の0.8倍程度の閾値を図1に示す異常状態判定条件ファイル105に記載しおけばよい。
なお、ゲート電圧が大きく変化するとFET素子の他の端子電圧も大きく変化するので、他の端子電圧を比較することでも検出可能である。また、各端子を流れる電流も大きく変化するので、電流を比較することでも検出可能である。また、ハイインピーダンスが発生するとゲート電圧は強制的に高電圧源423の電圧となるので、この電圧を検知することによっても検出可能である。例えば、規定電圧を高電圧源423の電圧の0.8倍程度に予め決めておき、ゲート電圧と規定電圧を比較することで、ゲート電圧が高電圧源423の電圧となったか否かを判断するようにしてもよい。
ただし、動作モデルが切り替えられるFET素子のゲート端子がPFETのドレイン端子と接続され、かつ該PFETのソース端子・ドレイン端子を介して内部電源と接続される構成の回路においては、次の問題が発生する。すなわち、PFETがオン状態からオフ状態へ変化して当該FET素子のゲート端子がハイインピーダンスとなったとき、通常モデル410のゲート電圧は内部電源電圧からほぼ変化しない。一方、検出モデル420を設定して動作解析を行った場合、PFETのドレイン端子に内部電源電圧より高い電圧が印加され、該PFETの各端子電圧の関係より該PFETはオン状態となるため、検出モデル420のゲート電圧は内部電源電圧となる。したがって、このような回路構成の場合には通常モデル410と検出モデル420のゲート電圧差が閾値以上とならず、ハイインピーダンスの発生を検出できない。
そのため、このような構成の回路においてハイインピーダンスの発生を検出するには、検出モデルとして、FET素子のゲート端子をグランド電圧よりも低い電圧にプルダウンする動作モデルを用意する必要がある。つまり、FET素子のゲート端子とグランド間に高抵抗を介してグランド電圧よりも低い電圧の低電圧源を設けた検出モデル(以下、第2の検出モデルと称す。)を用意すればよい。この第2の検出モデルによれば、ハイインピーダンスになっても当該FET素子のゲート端子に接続されるPFETはオフ状態を維持するので、当該FET素子のゲート電圧は強制的に低電圧源の電圧となる。したがって、通常モデルのゲート電圧(内部電源電圧)と第2の検出モデルのゲート電圧(低電圧源の電圧)の差が異常状態判定条件ファイル105に記載された閾値以上となるように低電圧源の電圧を設定すれば、ハイインピーダンスの発生を検出できるようになる。
しかし、上記の第2の検出モデルを用いる場合には、動作モデルが切り替えられるFET素子のゲート端子がNFETのドレイン端子と接続され、かつ該NFETのソース端子・ドレイン端子を介してグランドと接続される構成の回路において、次の問題が発生する。すなわち、NFETがオン状態からオフ状態へ変化して当該FET素子のゲート端子がハイインピーダンスとなったとき、通常モデルのゲート電圧はグランド電圧からほぼ変化しない。一方、第2の検出モデルを設定して動作解析を行った場合、NFETのドレイン端子にグランド電圧より低い電圧が印加され、該NFETの各端子電圧の関係より該NFETはオン状態となるため、第2の検出モデルのゲート電圧はグランド電圧となる。したがって、このような回路構成の場合には通常モデルと第2の検出モデルのゲート電圧差が閾値以上とならず、ハイインピーダンスの発生を検出できない。そのため、このような構成の回路においてハイインピーダンスの発生を検出するには、検出モデルとして、図4に示す検出モデル420を用意する必要がある。
以上のことから、FET素子に対する検出モデルには、ゲート端子に接続される素子がPFET、NFETである場合に対応するために、上記した2種類の検出モデルが必要となる。特に相補型MOS(CMOS)により構成される回路の場合には、上記した2種類の検出モデルを用いることが有益である。なお、FET素子のゲート端子に接続する回路は、高抵抗と電圧源に限らず、微小電流の電流源であってもよい。
続いて、具体的な回路を用いて本実施の形態における異常状態発生ノード検出方法を説明する。図5は、解析対象回路の一例であり、ここではCMOSにより構成される回路の場合について説明する。また、図6(a)、(b)、(c)はそれぞれ図5におけるnet2、net3、net4の電圧の時間変化を示す。
図5に示す例では、PFET“M3”とNFET“M4”からなるCMOSインバータ回路のゲート端子に、PFET“M1”のドレイン端子およびNFET“M2”のドレイン端子が接続されており、PFET“M1”がオン状態となると当該CMOSインバータ回路のゲート端子が内部電源電圧V1に接続され、NFET“M2”がオン状態になると当該CMOSインバータ回路のゲート端子がグランドに接続される構成となっている。
また、図6に示すように、解析時間0[μs]〜20[μs]の期間(以下、第1の期間と称す。)では、PFET“M1”がオン状態、NFET“M2”がオフ状態となるので、通常モデルを設定した本来の回路のnet4の電圧は内部電源電圧V1となる。次の解析時間20[μs]〜30[μs]の期間(以下、第2の期間と称す。)では、PFET“M1”とNFET“M2”が共にオフ状態となるので、本来の回路のnet4(当該CMOSインバータ回路のゲート端子)はハイインピーダンスとなる。そのため、実際の回路では、この第2の期間において、当該CMOSインバータ回路に貫通電流が流れる等の異常動作が起こる。
図6に示す例では、ハイインピーダンスになる直前(第1の期間)のnet4の電圧は内部電源電圧V1であるので、第2の期間における本来の回路のnet4の電圧も図6(c)に示すように内部電源電圧V1からほとんど変化しない。一方、PFET“M3”、NFET“M4”に上記の第2の検出モデルを設定した場合、図6(d)に示すように、異常検出用の回路のnet4の電圧はグランド電圧となる。したがって、通常モデルと第2の検出モデルのゲート電圧差が内部電源電圧程度となり、ハイインピーダンスの発生を検出できる。これは、第2の検出モデルを設定した場合、PFET“M1”はオフ状態を維持し、NFET“M2”はオン状態へ変化し、CMOSインバータ回路のゲート端子がグランドと接続されるためである。
同様に、PFET“M1”がオフ状態、NFET“M2”がオン状態で、本来の回路のnet4の電圧がグランド電圧の状態から、PFET“M1”、NFET“M2”が共にオフ状態へ変化した場合には、第1の検出モデル(図4に示す検出モデル420)を設定した異常検出用の回路の動作解析結果から、ハイインピーダンスの発生を検出することができる。
なお、本実施の形態では、本来の回路の動作解析結果と異常検出用の回路の動作解析結果を比較することで異常状態発生ノードを検出したが、異常検出用の回路の動作解析結果と予め決められた規定値を比較することで異常状態発生ノードを検出するようにしてもよい。
本実施の形態によれば、回路シミュレータが、相補型MOS(CMOS)により構成される回路やアナログ回路の素子レベルの回路図を対象にして回路の動作検証を行う際にハイインピーダンスなどの異常状態の発生を正確に検出することが可能になる。
本発明にかかる異常状態発生ノード検出方法は、回路シミュレータが、相補型MOS(CMOS)により構成される回路やアナログ回路の素子レベルの回路図からハイインピーダンスなどの異常状態が発生するノードを検出できるようになり、アナログ回路の設計段階における回路動作の問題点を検出する手段として有用である。
本発明の実施の形態における回路シミュレーションを実行する回路シミュレータに対する入出力データの関係を示す図 本発明の実施の形態における回路シミュレーションのフローチャートを示す図 本発明の実施の形態における素子の動作モデルの切り替えについてのフローチャートを示す図 本発明の実施の形態における検出モデルの一例を示す図 本発明の実施の形態における解析対象回路の一例を示す図 本発明の実施の形態における解析対象回路の動作を説明するための波形図 従来のハイインピーダンス発生ノード検出手法を説明するためのフローチャートを示す図
符号の説明
101 回路図
102 通常モデルを含むモデルパラメータファイル
103 検出モデルを含むモデルパラメータファイル
104 検出モデルを含むモデルパラメータファイル
105 異常状態判定条件ファイル
111 回路シミュレータ
121 波形データファイル
122 ログファイル
410 通常モデル
411 通常のFET素子
420 検出モデル
421 通常のFET素子
422 高抵抗
423 高電圧源

Claims (17)

  1. 回路シミュレータが、
    解析対象回路に含まれる全ての素子または指定された素子に、異常状態が発生すると該素子の端子に通常の動作モデルを設定したときとは異なる電圧または電流が発生する異常検出用の動作モデルを設定して、解析対象回路の動作解析を行い、
    該異常検出用の動作モデルを設定した解析対象回路の動作解析の結果を用いて、通常の動作モデルを設定したときとは異なる電圧または電流が発生する異常状態発生ノードの検出を行う、
    ことを特徴とする異常状態発生ノード検出方法。
  2. 請求項1記載の異常状態発生ノード検出方法であって、
    回路シミュレータが、通常の動作モデルを設定した解析対象回路の回路シミュレーション中に、素子の動作モデルを通常の動作モデルから異常検出用の動作モデルへと切り替えて設定し、該異常検出用の動作モデルを設定した解析対象回路の動作解析を行う
    ことを特徴とする異常状態発生ノード検出方法。
  3. 請求項1記載の異常状態発生ノード検出方法であって、
    異常状態発生ノードの検出は、異常検出用の動作モデルを設定した解析対象回路の動作解析の結果と予め決められた規定値とを比較することで行う
    ことを特徴とする異常状態発生ノード検出方法。
  4. 請求項2記載の異常状態発生ノード検出方法であって、
    異常状態発生ノードの検出は、異常検出用の動作モデルを設定した解析対象回路の動作解析の結果と予め決められた規定値とを比較することで行う
    ことを特徴とする異常状態発生ノード検出方法。
  5. 請求項4記載の異常状態発生ノード検出方法であって、
    解析対象回路に含まれる素子の動作モデルの切り替え、通常の動作モデルを設定した解析対象回路の動作解析、異常検出用の動作モデルを設定した解析対象回路の動作解析、および異常検出用の動作モデルを設定した解析対象回路の動作解析の結果と予め決められた規定値との比較をタイムステップ毎に順次行う
    ことを特徴とする異常状態発生ノード検出方法。
  6. 請求項5記載の異常状態発生ノード検出方法であって、
    解析対象回路に含まれる素子の動作モデルを切り替えるに際し、通常の動作モデルを設定した解析対象回路の動作解析の結果から、素子の端子に発生する電流または電圧が変化したか否かをタイムステップ単位で判断し、変化があった素子についてのみ異常検出用の動作モデルへ切り替える
    ことを特徴とする異常状態発生ノード検出方法。
  7. 請求項4ないし6のいずれかに記載の異常状態発生ノード検出方法であって、
    異常状態発生ノードの検出は、ノード電圧と規定値とを比較することで行うことを特徴とする異常状態発生ノード検出方法。
  8. 請求項2記載の異常状態発生ノード検出方法であって、
    異常状態発生ノードの検出は、通常の動作モデルを設定した解析対象回路の動作解析の結果と異常検出用の動作モデルを設定した解析対象回路の動作解析の結果とを比較することで行う
    ことを特徴とする異常状態発生ノード検出方法。
  9. 請求項8記載の異常状態発生ノード検出方法であって、
    解析対象回路に含まれる素子の動作モデルの切り替え、通常の動作モデルを設定した解析対象回路の動作解析、異常検出用の動作モデルを設定した解析対象回路の動作解析、および通常の動作モデルを設定した解析対象回路の動作解析の結果と異常検出用の動作モデルを設定した解析対象回路の動作解析の結果との比較をタイムステップ毎に順次行う
    ことを特徴とする異常状態発生ノード検出方法。
  10. 請求項9記載の異常状態発生ノード検出方法であって、
    解析対象回路に含まれる素子の動作モデルを切り替えるに際し、通常の動作モデルを設定した解析対象回路の動作解析の結果から、素子の端子に発生する電流または電圧が変化したか否かをタイムステップ単位で判断し、変化があった素子についてのみ異常検出用の動作モデルへ切り替える
    ことを特徴とする異常状態発生ノード検出方法。
  11. 請求項9ないし10のいずれかに記載の異常状態発生ノード検出方法であって、
    異常状態発生ノードの検出は、通常の動作モデルを設定した解析対象回路のノード電圧と異常検出用の動作モデルを設定した解析対象回路のノード電圧を比較することで行うことを特徴とする異常状態発生ノード検出方法。
  12. 請求項11記載の異常状態発生ノード検出方法であって、
    異常状態発生ノードの検出は、通常の動作モデルを設定した解析対象回路のノード電圧と異常検出用の動作モデルを設定した解析対象回路のノード電圧の差が一定値以上であるか否かを判断して行う
    ことを特徴とする異常状態発生ノード検出方法。
  13. 請求項1ないし12のいずれかに記載の異常状態発生ノード検出方法であって、
    異常検出用の動作モデルを設定する素子はトランジスタ素子であり、異常検出用の動作モデルは、トランジスタ素子とそのゲート端子またはベース端子を内部電源電圧よりも高い電圧にプルアップする回路を含む動作モデルである、
    ことを特徴とする異常状態発生ノード検出方法。
  14. 請求項1ないし12のいずれかに記載の異常状態発生ノード検出方法であって、
    異常検出用の動作モデルを設定する素子はトランジスタ素子であり、異常検出用の動作モデルは、トランジスタ素子とそのゲート端子またはベース端子をグランド電圧よりも低い電圧にプルダウンする回路を含む動作モデルである、
    ことを特徴とする異常状態発生ノード検出方法。
  15. 請求項1ないし12のいずれかに記載の異常状態発生ノード検出方法であって、
    異常検出用の動作モデルを複数種類用意しておき、異常検出用の動作モデルを設定する素子に対して順次設定して、それぞれ動作解析することを特徴とする異常状態発生ノード検出方法。
  16. 請求項15記載の異常状態発生ノード検出方法であって、
    異常検出用の動作モデルを設定する素子はトランジスタ素子であり、異常検出用の動作モデルは2種類であって、一方はトランジスタ素子とそのゲート端子またはベース端子を内部電源電圧よりも高い電圧にプルアップする回路を含む動作モデルであり、他方はトランジスタ素子とそのゲート端子またはベース端子をグランド電圧よりも低い電圧にプルダウンする回路を含む動作モデルである、
    ことを特徴とする異常状態発生ノード検出方法。
  17. 前記異常状態発生ノードを検出するとそのノード名を出力することを特徴とする請求項1ないし16のいずれかに記載の異常状態発生ノード検出方法。
JP2004360649A 2004-12-14 2004-12-14 異常状態発生ノード検出方法 Pending JP2006171919A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004360649A JP2006171919A (ja) 2004-12-14 2004-12-14 異常状態発生ノード検出方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004360649A JP2006171919A (ja) 2004-12-14 2004-12-14 異常状態発生ノード検出方法

Publications (1)

Publication Number Publication Date
JP2006171919A true JP2006171919A (ja) 2006-06-29

Family

ID=36672633

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004360649A Pending JP2006171919A (ja) 2004-12-14 2004-12-14 異常状態発生ノード検出方法

Country Status (1)

Country Link
JP (1) JP2006171919A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012216187A (ja) * 2011-03-29 2012-11-08 Rohm Co Ltd 演算増幅器のマクロモデル及びこれを用いた回路設計シミュレータ
JP2013200744A (ja) * 2012-03-26 2013-10-03 Fujitsu Ltd 情報処理装置、ハイインピーダンス状態検出方法およびプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012216187A (ja) * 2011-03-29 2012-11-08 Rohm Co Ltd 演算増幅器のマクロモデル及びこれを用いた回路設計シミュレータ
JP2013200744A (ja) * 2012-03-26 2013-10-03 Fujitsu Ltd 情報処理装置、ハイインピーダンス状態検出方法およびプログラム

Similar Documents

Publication Publication Date Title
US8370779B1 (en) Method and system for power distribution analysis
JP2002358341A (ja) 未知の回路の雑音感度特性記述を求めるシステムおよび方法
US5703798A (en) Switch level simulation employing dynamic short-circuit ratio
US20120215516A1 (en) IR Drop Analysis in Integrated Circuit Timing
JP2854733B2 (ja) 遅延時間計算装置及び遅延時間計算方法
JP2996214B2 (ja) 半導体集積回路の信頼性検証装置及び検証方法並びに検証プログラムを格納した記憶媒体
JP2006215987A (ja) 電圧降下量計算方法及び電圧降下量計算装置、回路検証方法及び回路検証装置、並びに回路設計方法及び回路設計装置
JP2002304434A (ja) Emiシミュレーション用半導体集積回路電源モデルの作成方法、装置及びプログラム
JP2006171919A (ja) 異常状態発生ノード検出方法
US8904328B2 (en) Support apparatus and design support method
US20020007261A1 (en) Circuit simulating apparatus performing simulation with unnecessary ciruit disconnected
US11455447B2 (en) Activity coverage assessment of circuit designs under test stimuli
JPWO2005033984A1 (ja) ネットリスト変換方法、ネットリスト変換装置、静止状態貫通電流検出方法、及び静止状態貫通電流検出装置
JP4462745B2 (ja) 遅延時間計算方法及び記録媒体
JP4417084B2 (ja) アナログ回路の故障検出シミュレーションシステム
US6631506B1 (en) Method and apparatus for identifying switching race conditions in a circuit design
US7506284B2 (en) Event driven switch level simulation method and simulator
JP3296320B2 (ja) ゲート遅延計算装置、及びゲート遅延計算プログラムを記録した記録媒体
JP4080464B2 (ja) 検証ベクタ生成方法およびこれを用いた電子回路の検証方法
EP0510993A2 (en) Characterization of sequential circuits
US20090144044A1 (en) Logic simulator and logic simulation method
US20090043558A1 (en) Delay calculation method capable of calculating delay time with small margin of error
US6606733B2 (en) Method and system for finding static NAND and NOR gates within a circuit and identifying the constituent FETs each gate
JP2940467B2 (ja) 出力負荷容量計算方法
JP2000339356A (ja) 集積回路におけるホットキャリア効果のシミュレーション方法および装置