(57)【要約】【課題】回路中の全ノードに付加した評価素子で、電流の有無からノードの電圧差異を評価してハイ・インピーダンスのノードを検出する。【解決手段】シミュレーション対象回路のネットリスト３１を読み込み（工程３１）。全ノードと基準ノード間にインピーダンス評価素子を追加し（工程３２）、定数値を設定後に（工程３３）、電圧，電流の解を導出し（工程３４）、基本解３３を保存する（工程３５）。ノードを１つ選択して（工程３６）、インピーダンス評価素子の定数値を回路に電流または電圧バイアスがかかるように設定し（工程３８）、電圧，電流の解を導出して検証解３５を得る（工程３９）。求めた検証解３５と基本解３３とを比較し（工程４２）、その差異を検証する（工程４３）。差異ありと（工程４３のＹｅｓ）判定のノード情報をレポート３６として出力する（工程４４）。これを繰り返して（工程４５）、ハイ・インピーダンスのノードを検出する。【選択図】図１
2008131070.tif 000002
【特許請求の範囲】
【請求項１】
回路の全ノードと基準ノードの間に電流源素子を付加する工程と、前記電流源素子のすべてに対して該電流源素子から流れる電流値を零にして回路の電圧，電流を算出する工程と、前記電流源素子の中において任意の１つの電流源素子に対して該電流源素子から流れる電流値を非零にして回路の電圧，電流を算出する工程と、前記２つの電圧，電流の算出値から前記電流値を非零とした前記電流源素子を付加したノードの電圧差異を検出する工程と、前記電圧差異の情報をレポート作成手段により作成する工程とを有することを特徴とする回路シミュレーション方法。
【請求項２】
前記電流源素子の代わりに高抵抗と電圧源を直列に接続した素子を全ノードと基準ノードの間に付加したことを特徴とする請求項１記載の回路シミュレーション方法。
【請求項３】
前記レポート作成手段が作成する対象が、回路の全ノードまたは限定した特定ノードのいずれかを選択可能であることを特徴とする請求項１記載の回路シミュレーション方法。
【請求項４】
請求項１〜３のいずれか１項に記載の回路シミュレーション方法の機能を有することを特徴とする回路シミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体回路設計において回路内のハイ・インピーダンスのノードを検出する回路シミュレーション方法および回路シミュレーション装置に関するものである。
【背景技術】
【０００２】
近年、ＣＭＯＳ論理回路構造を採用したＬＳＩでは、低消費電力が大きな特徴になっている。しかしながら、その論理回路の入力端子がハイ・インピーダンスまたは電源電圧と接地電圧の中間の電位（以下、中間電位という）になると論理回路を構成するＭＯＳＦＥＴ素子にリーク電流が流れて、ＬＳＩの電力効率性能を劣化させる。そして、場合によっては大電流（貫通電流）が流れてＬＳＩが破壊される原因になる。これを防止するため、回路設計時に信号レベルがハイ・インピーダンスにならないことの検証が欠かせない。論理シミュレータ（回路シミュレーション装置）では、回路を流れる信号は一般に有限個の信号レベルと信号強度の組合せで表現されるが、信号強度にハイ・インピーダンスが含まれているのでシミュレーション結果から直接ハイ・インピーダンス箇所の抽出が容易に行える。
【０００３】
これに対して、アナログ回路シミュレータでは回路中のインピーダンスを直接表現して調査する機能はない。このため、検証したい論理回路素子の入力端子に対して、入力端子がハイ・インピーダンスになった場合にはその端子の電圧が中間電位になるように抵抗など（以下、バイアス素子という）を追加してシミュレーションを行う方法がとられている（特許文献１参照）。
【０００４】
この手法を用いてハイ・インピーダンスを検出する処理で、その一例としてのフローチャートを図８に示す。まず図８に示すように、回路図１を忠実に再現したネットリスト２を生成し（工程１）、これを使ってシミュレーションを実行する（工程２）。ここで実行されるシミュレーションは、図９に示すフローチャートのように、今日の回路シミュレータで一般的に実行されている回路内のノード電圧，電流を求めるものであり、シミュレーションの結果３を得る。
【０００５】
得られたシミュレーション結果３を保存しておき、続いてバイアス素子を追加したネットリスト４を作成する（工程３）。そして、ネットリスト４を用いて工程２と同じ手法で再度シミュレーションを行う（工程４）。これにより、２つ目のシミュレーション結果５を得る。
【０００６】
これら２つのシミュレーション結果を比較し（工程５）、差異を確認し（工程６）、差異があれば（工程６のＹｅｓ）、差異がある部分をレポート６に出力する。このレポート６の差異の情報と回路図１で示される各ノードの入出力関係から、差異の原因となるノードを特定する（工程８）。工程８で特定されたノードをハイ・インピーダンスノードとしてレポート７を作成する。
【０００７】
ハイ・インピーダンスを検出するフローチャートの別の例を図１０に示す。この例では、バイアス素子を加えた回路のシミュレーション結果（結果２３）と設計値２４との差異を確認する（工程２３から工程２６）ことでハイ・インピーダンス箇所を検出する。
【特許文献１】特開２００３−２９６３８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、前述した手法はバイアス素子の付加により回路の特性が本来の設計定数での特性からずれることを利用するため、設計値どおりの回路の振る舞いを把握するには工程２のシミュレーションの実施、または精度の高い設計値２４の把握が求められる。これらのいずれかに加え、バイアス素子を付加した回路のシミュレーション結果を同時に保存しておかなければならない。
【０００９】
さらには、前述のハイ・インピーダンス検出法では、直接ハイ・インピーダンス箇所がレポートされるわけではない。すなわち、電源電流が設計値よりも大幅に大きな電流が流れる現象をシミュレーション結果から読み取り、この電源に接続されている素子を流れる電流を順次調べて、貫通電流が流れている素子を特定する。そして、この貫通電流が流れている素子の入力端子のノードがハイ・インピーダンス箇所として推定される。これらの特定には、例えば「大電流が流れている素子の入力ノードがハイ・インピーダンスノードである」という単純な判断は当てはまらず、判定に別途人手を要する場合が多いという問題があった。
【００１０】
本発明は、前記従来技術の問題を解決することに指向するものであり、回路中のすべてのノードにハイ・インピーダンス検出のための素子またはサブサーキットを付加し、これら素子またはサブサーキットから供給される電流の有無によりノードの電圧値の差異を評価し、基準値よりも差異があると判断されたノードをハイ・インピーダンスと認定する機能を有する回路シミュレーション方法および回路シミュレーション装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
前記の目的を達成するために、本発明に係る請求項１に記載した回路シミュレーション方法は、回路の全ノードと基準ノードの間に電流源素子を付加する工程と、電流源素子のすべてに対してこの電流源素子から流れる電流値を零にして回路の電圧，電流を算出する工程と、電流源素子の中において任意の１つの電流源素子に対してこの電流源素子から流れる電流値を非零にして回路の電圧，電流を算出する工程と、２つの電圧，電流の算出値から電流値を非零とした電流源素子を付加したノードの電圧差異を検出する工程と、電圧差異の情報をレポート作成手段により作成する工程とを有することを特徴とする。
【００１２】
また、請求項２，３に記載した回路シミュレーション方法は、請求項１の回路シミュレーション方法において、電流源素子の代わりに高抵抗と電圧源を直列に接続した素子を全ノードと基準ノードの間に付加したこと、レポート作成手段が作成する対象が、回路の全ノードまたは限定した特定ノードのいずれかを選択可能であることを特徴とする。
【００１３】
また、請求項４に記載した回路シミュレーション装置は、請求項１〜３のいずれか１項に記載の回路シミュレーション方法の機能を有することを特徴とする。
【００１４】
前記の回路シミュレーション方法および装置によれば、回路中の全ノードに、そのノードと基準ノードの間にインピーダンス評価素子を追加し、インピーダンス評価素子について順にこの素子から供給する電流値を零、非零２条件で電圧，電流を算出し、インピーダンス評価素子を付加したノードの電圧値について評価、判定してハイ・インピーダンス箇所の検出ができる。
【発明の効果】
【００１５】
本発明によれば、一度のシミュレーションで設計値どおりの回路シミュレーションと任意の回路構造において回路中で生じるすべてのハイ・インピーダンス箇所の検出ができるという効果を奏する。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照して本発明における実施の形態を詳細に説明する。
【００１７】
図１は本発明の実施形態における回路シミュレーション方法の動作を示したフローチャートである。まず始めに、図１に示すようにシミュレーション対象回路のネットリスト３１を回路シミュレータ（回路シミュレーション装置）に読み込む（工程３１）。次に、全ノードについてそのノードと別途決定した基準ノード（基準電位、接地電位等）の間にインピーダンス評価素子を追加する（工程３２）。素子の追加は回路シミュレータに蓄えられているネットリスト情報に対して行う。ここで、回路内のノードの電圧や電流についての連立方程式（回路方程式）が立てられる。
【００１８】
ここで、図２（ａ），（ｂ）にインピーダンス評価素子の例を示す。インピーダンス評価素子の基本構造として、少なくとも２種類が考えられる。図２（ａ）に示した電流バイアスを印加するタイプと、図２（ｂ）に示した電圧バイアスを印加するタイプである。いずれのタイプも２つの端子を持ち、一方に評価対象となるノードを、他方に基準ノードを接続する。
【００１９】
続いて解を導出する。まず、インピーダンス評価素子を流れる電流が別途定めた値以下になるように定数値を設定する（工程３３）。この電流値は、回路特性に影響する値よりもはるかに小さな値とする。例えば、図２（ａ）タイプのインピーダンス評価素子では、印加する電流値を「０」にする。図２（ｂ）のタイプでは抵抗値を非常に大きな値、例えば１０１５Ωに、また電圧値は「０」にする。この設定により、すべてのノードについて、ネットリスト３１と同等であり、インピーダンス評価素子の影響がない状態になる。この後で回路方程式を解き、回路図本来の回路構成での電圧，電流の解を導出する（工程３４）。
【００２０】
これにより得られた解を基本解３３として保存する。この時、個々の容量素子に蓄えられた電荷など、電圧，電流値の他に回路にある個々の素子の内部状態（内部状態３２）も合わせて保存する。さらに基本解３３を本来回路の特性データとして後工程で利用するため、シミュレーション結果３４に保存する（工程３５）。
【００２１】
続いて、ノードを１つ選択し（工程３６）、かつ選択ノードを検証済みに設定し（工程３７）、そのノードのインピーダンスを検証する。まず始めに、選択したノードに追加されたインピーダンス評価素子の定数値を、このインピーダンス評価素子により回路に電流または電圧バイアスがかかるように設定する（工程３８）。この設定により、選択されたノードだけにインピーダンス評価素子によりインピーダンスを変更したのと同等のかたちになる。
【００２２】
図２（ａ）タイプでは、例えば電流値を１０−９Ａにする。図２（ｂ）タイプでは、例えば抵抗値を１０９Ω、電圧値は０Ｖのままにする。この後、回路方程式を解き、電圧，電流の解を導出する（工程３９）。これにより得られた解を検証解３５として保存する。
【００２３】
回路の状態を回路図本来の状態に復帰させるため、インピーダンス評価素子の定数を工程３８で変更する前の値に戻し（工程４０）、容量に蓄えられた電荷など回路の内部状態を工程３４で得た内部状態３２に戻す（工程４１）。その後、選択したノードについて検証解３５と基本解３３を比較し（工程４２）、解の差異を検証する（工程４３）。ハイ・インピーダンスのノードでは、わずかなバイアスの印加でもその影響を受けて電圧が変化する。インピーダンス評価素子により回路に加えられたバイアスの影響で生じた電圧の差異が別途定めた閾値を超えるノードを「差異あり」と判定する。差異あり（工程４３のＹｅｓ）と判定されたノードをハイ・インピーダンスのノードとして、この情報をレポート作成手段により作成しレポート３６として出力する（工程４４）。これをすべてのノードについて繰り返す（工程４５）。
【００２４】
図３は本実施形態の実施例を説明するための回路図である。この回路はレベル変換回路であり、ＥＣＬ（Emitter Coupled Logic）構成の信号をＣＭＯＳ（Complementary Metal-oxide Semiconductor）構成の信号に変換する。図３において、入力ノードのＩＰ端子，ＩＮ端子にＥＣＬ信号、ＲＥＦ端子に基準電流を決定する電圧を印加する。また、図２（ｃ）は図２（ａ），（ｂ）のインピーダンス評価素子を模式的に示したもので、図３に示す回路図にインピーダンス評価素子を追加した回路図を図４に示す。
【００２５】
いま、回路がレベル変換回路として動作しているならば、ＩＰ端子の電圧がＩＮ端子の電圧よりも高いＥＣＬ信号が印加された場合、ＥＣＬ信号としては「１」が与えられたと解釈され、ノードＮ６にはＣＭＯＳ信号に変換された時の「０」に相当するＧＮＤの電圧が現れる。出力ノードのＯＵＴ端子にはＮ６のＣＭＯＳレベルでの反転信号であるＶＣＣ電圧が現れる。逆にＩＮ端子の電圧がＩＰ端子の電圧よりも高い場合には、ノードＮ６にはＶＣＣの電圧が現れ、ＯＵＴ端子にはＧＮＤの電圧が現れる。
【００２６】
本実施例では、ＶＣＣ端子には２．８５Ｖ、ＧＮＤ端子には０Ｖ、ＩＰ端子には１．７Ｖ、ＩＮ端子には１．９Ｖの一定値を印加した。インピーダンス評価素子には図２（ａ）タイプを用いた。図１に示すフローチャートにおける工程３３での電流値は「０」、工程３８での電流値を１０−９Ａとした。これら入力電圧の場合には、本実施例の回路は、ノードＮ６にはＶＣＣ電圧２．８５Ｖ、ＯＵＴ端子には０Ｖが現れると期待される。
【００２７】
シミュレーションは、ＲＥＦ端子に０．５Ｖから１Ｖまで順次電圧を変化させ、それぞれの電圧でのＤＣ解析を行った。図５（ａ）〜（ｆ）に回路内部のノードのうちＮ１からＮ６までを、図６にはＯＵＴ端子の結果を示した。図５（ａ）〜（ｆ）に、それぞれのノードに接続している素子の端子を流れる電流における絶対値の最大値を「最大電流値」として、基本解と検証解と合わせてプロットした。
【００２８】
例えば、図５（ａ）では図４のノードＮ１において、Ｍ１（ＭＯＳトランジスタ）のＧ（ゲート）端子，Ｓ（ソース）端子とＭ３（ＭＯＳトランジスタ）のＧ（ゲート）端子、Ｑ１（トランジスタ）のＣ（コレクタ）端子を流れる電流のうちで、その絶対値が最大になる値をプロットしている。また、この最大電流値が１０−９ＡになるＲＥＦの電圧で補助線を引いた。
【００２９】
また、図１に示す工程４３における差異の有無を判定する方法としては、基本解と検証解の差を調べ、その絶対値が１Ｖ以上ある場合は差異ありと判断した。この方法で各ノードのインピーダンスが検出できているかどうかを検証する。
【００３０】
始めにノードＮ３を検証する。図４に示すようにノードＮ３はＧＮＤ端子から抵抗Ｒ１を介して接続されており、抵抗Ｒ１は５ｋΩでありハイ・インピーダンスとするよりもはるかに小さな値である。このため、ノードＮ３はＲＥＦ端子のいかなる値をとる時であってもハイ・インピーダンスノードには非該当になる。図５（ｃ）を見ると検証解と基本解がＲＥＦ電圧の全領域にわたってよく一致している。これは、ノードＮ３のインピーダンスが常に低いことを再現している。
【００３１】
次にノードＮ１，Ｎ２，Ｎ４を検証する。ＲＥＦ端子に印加された電圧Ｖ（ＲＥＦ）が低い時はトランジスタＱ３がオフになる。一方Ｑ１，Ｑ２，Ｍ１，Ｍ２はノードＮ３を経由して流れる電流がノードＮ２からノードＮ１，Ｎ４を通じて流れるので、Ｑ３がオフ状態ではＱ１，Ｑ２，Ｍ１，Ｍ２は微小電流しか流れない。
【００３２】
Ｖ（ＲＥＦ）が上がり、ノードＮ２の電圧が抵抗Ｒ１の電位降下分とＱ３がオン状態になる最低限のＢ（ベース）−Ｅ（エミッタ）間電圧の和（約０．５８Ｖ）を超えるとハイ・インピーダンスから脱する。ここで、ＩＮ端子を通じてベース電圧がＱ１よりも高く設定されているＱ２がオン状態に変わる。Ｑ２がオン状態になると同時にＱ２のＣ端子につながっているノードＮ４がハイ・インピーダンスから脱する。図５（ｂ），（ｄ）に示すように、Ｖ（ＲＥＦ）が約０．５８Ｖを境にそれよりも低い電圧ではノードＮ２とノードＮ４の検証解は基本解よりも１Ｖ以上異なる値になり、約０．５８Ｖよりも高い電圧では両者は一致している。これらもまた、ノードＮ２とノードＮ４のインピーダンスをよく再現している。
【００３３】
さらにＶ（ＲＥＦ）を上げていくと（約０．７８Ｖ）、ＩＮ端子よりも高い電圧に設定されているＩＰ端子によりベース電圧が決まっているＱ１がオン状態になる。これと同時にＱ１のＣ端子に接続されているノードＮ１がハイ・インピーダンス状態を脱する。図５（ａ）に示すように、Ｖ（ＲＥＦ）が０．７８Ｖを境にノードＮ１の基本解と検証解が一致するようになり、ノードＮ１のインピーダンスの変化をよく再現している。
【００３４】
また、Ｖ（ＲＥＦ）が約０．５８ＶでＱ２のＣ端子につながっているノードＮ４がハイ・インピーダンスを脱すると同時にＭ２に電流が流れるようになり、Ｍ２がオン状態に変化する。同時に、Ｍ２とミラー回路を構成しているＭ５もまたオン状態に変化して、その結果ノードＮ６はハイ・インピーダンスから脱する。図５（ｆ）に示すように、Ｖ（ＲＥＦ）が０．５８Ｖ以上でノードＮ６の検証解と基本解が一致しており、前述したインピーダンスの変化をよく表している。
【００３５】
さらに、Ｖ（ＲＥＦ）が約０．７８ＶでＱ１がオンになると同時にノードＮ１がハイ・インピーダンスを脱し、Ｍ１がオン状態になる。これとほぼ同時に、Ｍ１とミラー回路を構成しているＭ３がオン状態になる。図５（ｅ）に示すＶ（ＲＥＦ）が０．７８Ｖ近辺以上でノードＮ５の基本解と検証解が一致している。
【００３６】
次にノードＮ５，Ｎ６を検証する。図５（ｅ），（ｆ）を見ると、ノードＮ５とノードＮ６ではＶ（ＲＥＦ）の値に対して検証解と基本解の差異が１Ｖ以上になる部分は見られなかった。これらは、ノードＮ１〜Ｎ４に比べてノードＮ５とノードＮ６は明確なハイ・インピーダンス状態にはならないことを表している。
【００３７】
回路構成を見ると、ノードＮ５のインピーダンスはＭ３がオン状態かオフ状態かによって決まるが、Ｍ３はノードＮ１を通じてＧ端子が共通であるＭ１と同じ状態になる。また、ノードＮ６も同様である。
【００３８】
最後にノードＯＵＴを検証する。図６に示されているノードＯＵＴのインピーダンスはノードＮ１〜Ｎ６とは異なる振る舞いをする。すなわち、ノードＯＵＴのインピーダンスは、ＭＯＳトランジスタＭ７，Ｍ８からなるインバータの出力が決定する。Ｍ７，Ｍ８は同時にはオフにならないので、結果としてＲＥＦ電圧が０．５Ｖから１Ｖの全域で低インピーダンスになる。したがって、図６に示すように検証解と基本解がＲＥＦ電圧の全域でよく一致している様子は、ノードＯＵＴのインピーダンスをよく再現している。
【００３９】
以上に説明したように、本実施例により回路中のハイ・インピーダンスノードの特定が正しく行われたことが明らかになった。
【００４０】
また、図７に示すフローチャートは、図１のフローチャートの処理において高速化を図ったものである。ここで、図７において、図１に示したフローチャートにおいて説明した処理符号と同等の処理を示すものには同一の符号を付して示し、重複する処理の説明は省略する。
【００４１】
すなわち、図７に示す工程３６，３７でノードを１つ選択し、この選択ノードを検証済みに設定した直後に、それぞれのノードに接続されている素子の端子を流れる電流における絶対値の最大値Ｉｍａｘを求める（工程４８）。Ｉｍａｘが別途定めた閾値εよりも大きいかどうか判定し（工程４９）、Ｉｍａｘが閾値εよりも大きければ（工程４９のＮｏ）、そのノードのインピーダンスはハイ・インピーダンスではないと判定し、工程３６へ戻る。Ｉｍａｘが閾値εよりも小さければ（工程４９のＹｅｓ）、そのノードはハイ・インピーダンスの可能性ありと判定され、次の工程３８へ進み処理を行う。この方法をとることにより、閾値ε以上の電流が流れている明らかにインピーダンスが低いノードについては工程３８〜４５を省略することになり、処理時間の短縮を図ることができる。
【００４２】
また、ノードのハイ・インピーダンスであるかどうかの判定はインピーダンス評価素子の電流値または抵抗値に設定する値と閾値εにより決定される。従ってハイ・インピーダンスであるかどうかの判定基準はこれらの値を変更することにより簡単に調整が可能である。
【産業上の利用可能性】
【００４３】
本発明に係る回路シミュレーション方法および回路シミュレーション装置は、一度のシミュレーションで設計値どおりの回路シミュレーションと任意の回路構造において回路中で生じるすべてのハイ・インピーダンス箇所の検出ができ、半導体回路設計に有用である。
【図面の簡単な説明】
【００４４】
【図１】本発明の実施形態における回路シミュレーション方法の動作を示すフローチャート
【図２】（ａ）は電流バイアスを印加する、（ｂ）は電圧バイアスを印加する、（ｃ）は模式的なインピーダンス評価素子を示す図
【図３】本実施形態の実施例を説明するための回路図
【図４】図３の回路図にインピーダンス評価素子を追加した回路図
【図５】（ａ）〜（ｆ）は回路内のノードＮ１〜Ｎ６の最大電流値、基本解、検証解をプロットした図
【図６】ＯＵＴ端子の最大電流値、基本解、検証解をプロットした図
【図７】本実施形態における回路シミュレーション方法の高速化動作を示すフローチャート
【図８】従来のハイ・インピーダンスを検出する処理例を示すフローチャート
【図９】従来の回路内のノード電圧，電流を求めるフローチャート
【図１０】従来のハイ・インピーダンスを検出する別の処理例を示すフローチャート
【符号の説明】
【００４５】
１，２１  回路図
２，４，１１，２２，３１  ネットリスト
３，５，１３，２３，３４  結果
６，７，２５，３６  レポート
１２  解
２４  設計値
３２  内部状態
３３  基本解
３５  検証解
【図１】
2008131070.tif 000003
【図２】
2008131070.tif 000004
【図３】
2008131070.tif 000005
【図４】
2008131070.tif 000006
【図５】
2008131070.tif 000007
【図６】
2008131070.tif 000008
【図７】
2008131070.tif 000009
【図８】
2008131070.tif 000010
【図９】
2008131070.tif 000011
【図１０】
2008131070.tif 000012