(57)【特許請求の範囲】
【請求項１】
プログラムされたプロセッサによってアナログ電子回路の電子シミュレーションを行う回路シミュレータにおいて、
前記回路シミュレータは、
前記プログラムされたプロセッサを使用することによって、未知の回路パラメータを含む前記回路シミュレータ内のアナログ回路のシミュレーションファイルを作成するステップと、
前記プログラムされたプロセッサを使用することによって、指定の入出力ピンに対する伝達関数を生成するステップと、
前記プログラムされたプロセッサを使用することによって、既知の入出力プロファイルにしたがって、未知の回路パラメータに対する前記伝達関数の解を求めるステップと、を含む処理を実行してアナログ回路中の未知の回路パラメータを特定する
ことを特徴とするアナログ回路における未知の回路部品の値を特定する方法。
【請求項２】
前記解を求めるステップが、ＤＣ定常状態の条件で前記伝達関数の解を求めるステップを含む、請求項１に記載のアナログ回路における未知の回路部品の値を特定する方法。
【請求項３】
前記伝達関数がラプラス伝達関数を含む、請求項１に記載のアナログ回路における未知の回路部品の値を特定する方法。
【請求項４】
前記出力プロファイルが時間ドメイン内にある、請求項１に記載のアナログ回路における未知の回路部品の値を特定する方法。
【請求項５】
前記出力プロファイルを周波数ドメインに変換するステップを含む、請求項４に記載のアナログ回路における未知の回路部品の値を特定する方法。
【請求項６】
前記変換するステップが、前記出力プロファイルに対してフーリエ変換を行うステップを含む、請求項５に記載のアナログ回路における未知の回路部品の値を特定する方法。
【請求項７】
前記出力プロファイルが周波数ドメイン内にある、請求項１に記載のアナログ回路における未知の回路部品の値を特定する方法。
【請求項８】
数学的回路モデルを非線形回路部品に置き換えるステップを含む、請求項１に記載のアナログ回路における未知の回路部品の値を特定する方法。
【請求項９】
ＤＣモデル線形化を未知の部品に適用するステップを含む、請求項１に記載のアナログ回路における未知の回路部品の値を特定する方法。
【請求項１０】
アナログ回路の動作をシミュレートし、シミュレートされた出力プロファイルと前記既知の出力値との差が予め定められた誤差値未満であるかを判断することによって、未知の回路部品の値を確認するステップを含む、請求項１に記載のアナログ回路における未知の回路部品の値を特定する方法。
【請求項１１】
前記差が前記予め定められた誤差値よりも大きい場合、事前設定した量によって前記未知の回路部品の値を変更し、前記差が前記予め定められた誤差値未満になるまで、前記シミュレーションを反復的に繰り返す、請求項１０に記載のアナログ回路における未知の回路部品の値を特定する方法。
【請求項１２】
前記アナログ回路中の部品の数が事前設定した数を超える場合、前記アナログ回路を少なくとも２つのサブ回路に分割し、改訂節点解析法を使用して各サブ回路を解析する、請求項１に記載のアナログ回路における未知の回路部品の値を特定する方法。
【請求項１３】
各サブ回路に対して、前記改訂節点解析法によるデータを換算改訂節点解析方程式に変換するステップを含む、請求項１２に記載のアナログ回路における未知の回路部品の値を特定する方法。
【請求項１４】
階層的中央ブロック解析を前記換算改訂節点解析方程式に適用するステップを含む、請求項１３に記載のアナログ回路における未知の回路部品の値を特定する方法。
【請求項１５】
パターン認識を使用して、類似のアナログ回路に関してデータベースを探索するステップを含む、請求項１に記載のアナログ回路における未知の回路部品の値を特定する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、既知の入出力プロファイルを有するアナログ回路における未知の回路パラメータの値を特定する方法に関する。
【背景技術】
【０００２】
現代の自動車両の動作を制御するのに利用される電子システムなど、複雑な電子システムの設計は、数十の、また更には数百のアナログ回路を要する場合が多い長期のプロセスである。更に、かかる複雑なシステムの設計は、システムが実際に生産に入る何年も前に開始される場合が多い。
【０００３】
多くの場合、システムを生産できるようになる前に、システムの全体設計を徹底的に試験しなければならない。これは特に、自動車制御システムなど、システムの機能不良によって安全上の問題が生じ得るシステムの場合に当てはまる。
【０００４】
電子システムをその設計中に徹底的に試験するために、システムを実際に構築する必要なくシステムのコンピュータシミュレーションが可能になる、システムの数学モデルが作成される場合が多い。例えば、ＳＰＩＣＥは、アナログ電子回路の電子シミュレーションを行う、１つの良く知られているコンピュータプログラムである。
【０００５】
ＳＰＩＣＥなどのシミュレータを使用してシステムのシミュレーションを行うために、様々な回路部品およびそれら部品の相互接続だけではなく、個々の部品の値も入力することが必要である。電子部品の値並びにそれらの相互接続がシミュレーションプログラムに入力された後、シミュレーションプログラムは、回路の入出力プロファイルを生成することができる。
【０００６】
しかしながら、場合によっては、チップの供給業者及び／又は回路の供給業者は、回路で使用される回路パラメータに関する詳細情報を提供しないであろう。代わりに、これらの供給業者が回路の入出力プロファイルのみを提供するか、又は入出力プロファイルを試験によって獲得することができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平５−７３６３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
電子回路内の個々の部品の値が未知のとき、ＳＰＩＣＥなどの電子シミュレータ上における電子回路のシミュレーションには忠実度が足りないか、又はシミュレーションが不可能である。したがって、かかる例では、電子システムの全体設計が遅れるか又は別の形で犠牲になる。
【０００９】
本発明は、回路又は集積回路の供給業者によって指定された入出力プロファイルと一致する、アナログ回路における未知の回路パラメータを自動的に特定する方法を提供する。
【課題を解決するための手段】
【００１０】
手短に言うと、回路は最初にＳＰＩＣＥなどの回路シミュレータに入力される。周知の方式では、シミュレータは、未知の値を有する回路部品を特定する間違ったメッセージを出力し、未知の回路パラメータと共に回路ネットリストファイルも生成される。
【００１１】
第１のステップの後、設計された方法／シミュレータは、（１）小規模線形回路（small scale linear circuit）であるか、（２）小規模非線形回路であるか、又は（３）大規模線形及び非線形回路であるかを検査して確かめる。その結果、異なるタイプの回路はそれぞれ異なる方式で処理される。
【００１２】
回路がシミュレータに入力された後、プロセッサ（設計されたプロセッサ）は、プログラム制御下でラプラス伝達関数を生成する。次に、伝達関数は、伝達関数が回路部品に対する既知の値又はパラメータを含むと共に、未知の値を有する回路部品が未知の値を生成するのに適切であるように、異なる周波数で単純化される。次に、プロセッサは方程式を解いて、未知のパラメータの値を得る。
【００１３】
反対に、回路が非線形部品を、例えばダイオード、トランジスタなどを含む場合、システムが回路シミュレータに入力されると、線形部品のみを含む数学／回路モデルが非線形部品と置き換えられる。その後、伝達関数が最初に決定され、次に、上述した方式で未知の回路部品に関して解が求められる。
【００１４】
回路が大規模回路である、例えば１０を超える相互接続ノードである場合、回路全体の伝達関数が過度に複雑になるので、ラプラス変換の解が複雑になる。したがって、大規模回路の場合、回路全体が最初に、階層分解法を使用したネットワーク分割によって、より小さい相互接続されたサブ回路へと分割される。次に、ｎ端子ブロックによって表されるその分割後の回路の電気的挙動が、端子ブロック解析（terminal block analysis）を使用して解析される。
【００１５】
次に、改訂節点解析法を分割ブロックに対して使用して、連立方程式を生成する。次に、すべての内部変数を抑制することによって、換算改訂節点解析方程式（Reduced Modified Nodal Analysis equations）として知られるこれらの方程式を解く。これにより、３端子ブロックに対する単純化された行列が得られる。
【００１６】
次に、分割二分木をその根に向かって上向きに移動していくことによって、階層的二進方式で中央ブロックの解析が成功裏に行われる。そこで、その最終結果は、既定の入出力値という観点でネットワーク全体を特徴付ける、１つのＲＭＮＡ行列である。木全体が解析された後の最終結果は、ユーザによって指定される既定の入出力変数という観点でネットワーク全体を特徴付ける、１つのＲＭＮＡ行列である。
【００１７】
あるいは、アナログ回路を含むデータベースが、データベース内の同じ又は類似の回路を特定するため、パターン認識を使用して探索されてもよい。
【００１８】
本発明は、以下の詳細な説明を参照し、添付図面と併せ読むことによって、より良好に理解されるであろう。図面中、複数の図面を通して同様の参照符号は同様の部分を指す。
【発明の効果】
【００１９】
本発明によれば、回路又は集積回路の供給業者によって指定された入出力プロファイルと一致する、アナログ回路における未知の回路パラメータを自動的に特定することができる。
【図面の簡単な説明】
【００２０】
【図１】線形回路と非線形回路との間、及び大規模回路と小規模回路との間で選択する方法を示すフローチャートである。
【図２】小規模線形回路を用いる方法全体を示すフローチャートである。
【図３】小規模線形回路の関数解析プロセスを示すフローチャートである。
【図４】例示的な小規模線形回路を示す図である。
【図５】小規模非線形回路に対するプロセスを示すフローチャートである。
【図６】非線形回路部品（一例として、ダイオード）のＤＣモデル線形化を示すグラフである。
【図７】大規模線形又は非線形回路に対するプロセスを示すフローチャートである。
【図８】データベース探索を示すフローチャートである。
【図９】応答データベース形式を示す図である。
【発明を実施するための形態】
【００２１】
最初に図１を参照すると、回路を解析し、その部品の値を決定するために、ステップ２０で、回路を表すネットリスト又は他の入力が、回路シミュレータによって最初に作成される。このネットリストは、未知の値を有する部品、並びに部品間の相互接続を含む、回路の部品全てを含む。これらの相互接続は回路内のノードによって表され、各ノードは２つ以上の回路部品を共に接続する。ステップ２０で回路を表すデータ又はネットリストが入力された後、ステップ２０はステップ２２に進む。
【００２２】
ステップ２２で、ネットリスト中のノードの数が計数され、閾値Ｎと、例えば１０と比較される。ノードの数が１０を超える場合、ステップ２２はステップ２４に分岐して、回路が大規模線形又は非線形回路であると特定される。反対に、ネットリスト中のノードの数がＮ未満の場合、ステップ２２は代わりにステップ２６に分岐する。
【００２３】
ステップ２６で、プログラムされたプロセッサは、非線形部品が回路内に存在するかを判断する。存在する場合、ステップ２６はステップ２８に分岐して、回路が非線形部品を有する小規模回路であると特定される。そうでなければ、ステップ２６はステップ３０に分岐して、回路が小規模線形回路であると特定される。
【００２４】
回路全体が大規模回路であるか小規模回路であるか、又は線形部品若しくは非線形部品のみを含む回路であるかにかかわらず、回路の入出力プロファイルは、供給業者又は試験によるデータシートから分かっている。したがって、回路からの１つ又は複数の部品の実際の値が未知であったとしても、入出力プロファイルは既知である。
【００２５】
ステップ３０で回路が小規模線形回路であると最初に特定されたと仮定すると、回路は、抵抗器、コンデンサ、インダクタ、電流及び電圧制御電流源及び電圧源、並びに理想的な演算増幅器などの線形部品のみを含む。
【００２６】
次に図２を参照すると、小規模線形回路を十分に解析するために、ステップ３２で、入出力ピン／ノードがユーザによって最初に特定される。次に、ステップ３２はステップ３４に進む。
【００２７】
ステップ３４で、回路に対する解析法が選択される。この解析は、線形回路の挙動が記号係数を有する一連の方程式によって記述される、いずれかの代数法（行列又は行列式に基づく）であってもよい。あるいは、線形回路の挙動が記号分枝の重み（symbolic branch weights）を含むグラフによって表される、グラフに基づく方法が使用され、ステップ３４で選択されてもよい。いずれの場合も、指定の入出力を有する回路の記号式は、代数又はグラフのどちらかで、ステップ３６で出力される。ステップ３６はステップ３８の関数解析に進む。ステップ４０の入出力プロファイルも、ステップ３８の関数解析に対する入力として提供される。
【００２８】
次に図３を参照すると、関数解析３８（図２）を示すフローチャートが示される。ステップ４０は、入出力プロファイルを提供し、次にステップ４２に進んで、入出力プロファイルが周波数ドメイン又は時間ドメインのどちらにあるかが判断される。しかしながら、回路は線形回路なので、未知の回路パラメータは常に、ラプラス変換によって、また次に既知の入出力プロファイルに対するラプラス関数の解によって解を求められることから、入出力プロファイルが時間ドメイン又は周波数ドメインのどちらにあるかは重要ではない。したがって、入出力プロファイルが周波数ドメインにある場合、ステップ４２はステップ４４に進む。そうでなければ、ステップ４２はステップ４３に進んで、時間ドメイン入出力プロファイルが周波数ドメインに変換され、次にステップ４３はステップ４４に進む。
【００２９】
ステップ４４で、ラプラス変換における未知のパラメータの数ｎが最初に決定される。次に、ステップ４４はステップ４６に進む。
【００３０】
ステップ４６で、プログラムされたプロセッサはｎ組のデータを生成し、各組は、回路の異なる周波数における伝達関数を含む。次に、ステップ４６はステップ４８に進む。
【００３１】
ステップ４８で、数値的方法及び方程式解法技術が、プログラムされたプロセッサによってデータの各組に対して行われる。次に、ステップ４８はステップ５０に進む。
【００３２】
ステップ５０で、未知のパラメータｎが全て解を得られているか否かが判断される。全ての解が得られていない場合、ステップ５０はステップ５２に進んで、ｎが増分され、次にステップ４６に戻る。この方式では、回路に対してｎ個のデータ組が生成され、解が求められる。ｎ個の未知のパラメータが全て解を得られているとき、ステップ５０はステップ５４に進み、結果が出力される。
【００３３】
例えば、図４を参照すると、能動ＲＣフィルタ回路５６が示される。回路５６は、線形アナログ回路のみを含み、Ｎ個未満のノードを有する。そのため、未知の値を有する抵抗器ＲＸを備えた小規模線形回路として適切に分類される。
【００３４】
ステップ３２でネットリストをシミュレータに入力した後、ステップ３４で代数解析が選択される。その際に、ＲＣフィルタ回路５６のラプラス伝達関数Ｈ（ｓ）は次式のように生成される。
【００３５】
【数１】
0006029712.tif 000002
式中、ＧＸは抵抗ＲＸに対応するコンダクタンスである。
【００３６】
解を単純化するために、上記の伝達関数が次式のように単純化され、入出力プロファイルＶｏｕｔ／Ｖｉｎに設定されるように、周波数又はｓが０に等しいものと仮定する。
【００３７】
【数２】
0006029712.tif 000003
次に、ステップ４８（図３）は、未知の抵抗器ＲＸに対する単純化された伝達関数Ｈ（０）の解を求める。この例では、単一の抵抗器値のみが未知なので、次に、ステップ５０（図３）は５４に直接分岐する。しかしながら、追加の回路部品が未知の値を有する場合、ステップ５０は代わりにステップ４６に分岐して戻り、他の未知の回路部品に対する伝達関数の解を求める。
【００３８】
再び図１を参照すると、解析中の回路がＮ個未満のノードを含むが、１つ又は複数の非線形部品を含むと仮定すると、ステップ２６は代わりにステップ２８に分岐して、回路の小規模非線形解析が行われる。非線形解析を示すフローチャートは図５に示される。
【００３９】
非線形部品を用いた解析を行うために、回路に対するラプラス変換又は関数を生成する前に、非線形部品の数学モデルが代入される。したがって、ステップ６０で、回路中の全ての非線形素子が特定され、ＤＣ数学／回路モデルと差し替えられる。かかるＤＣ数学モデルは、プログラムされたプロセッサにアクセス可能なデータベース６２から検索される。
【００４０】
例えば、ダイオードのＤＣ数学モデルは次式のように表現されてもよい。
【００４１】
【数３】
0006029712.tif 000004
同様に、バイポーラ接合トランジスタは次式のようにモデル化されてもよい。
【００４２】
【数４】
0006029712.tif 000005
一方で、単極性トランジスタモデルは次式のようにモデル化されてもよい。
【００４３】
【数５】
0006029712.tif 000006
他の非線形部品の他のモデルも、データベース６２からプログラムに対して利用可能であり、上記３つのモデルは単なる例示である。ステップ６０で適切なモデルが得られていれば、ステップ６０はステップ６２に進む。
【００４４】
ステップ６２で、プログラムされたプロセッサは、非線形回路部品の動作範囲の少なくとも一部に対してＤＣモデル線形化を提供する。例えば、図６に示されるように、非線形回路部品の実際の動作特性はグラフ６４によって示される。しかしながら、ステップ６２は、ＤＣ線形グラフ６６を代入して、非線形部品の動作を線形的な形でシミュレートする。かかる線形化は、例えば、テイラー展開にしたがって行われてもよい。
【００４５】
ステップ６２でのＤＣモデル線形化に続いて、ステップ６２はステップ６８に進んで、モデルに対する関数解法を用いたＤＣ解析が行われる。ステップ６８はまた、ステップ７０から入出力プロファイルを受け取り、次にステップ７２に進む。
【００４６】
ステップ７２で、プログラムされたプロセッサは、ＤＣ解析を行うのに十分なデータがあることを判断する。十分なデータがある場合、ステップ７２はステップ７６に進んで、未知のパラメータ全ての解が得られたかが判断される。全ての解が得られていない場合、ステップ７６はステップ７８に進む。
【００４７】
ステップ７８で、非線形回路部品の小信号モデルに対するＤＣ解がデータベース８０から検索される。例えば、半導体素子は、回路に対する初期のＤＣ解の周辺に構築された線形小信号モデルを使用して、サブ回路として扱われる。各半導体素子に対するＤＣ解は、ステップ６８で既に決定されているので、ステップ７８で、非線形化されたネットリストの構成要素が線形化されたネットリストファイルと差し替えられる。次に、ステップ７８はステップ８２に進み、記号式又はラプラス伝達関数が生成され、それが次に、ステップ８４で関数解析を使用して解を求められる。ステップ８２における伝達関数の生成は、図２のステップ３６に関して既に記載されており、関数解析ステップ８４は、関数解析ステップ３８および図３に対応し、その説明を参照により組み込む。
【００４８】
更に図５を参照すると、未知のパラメータがステップ７６によって、又はステップ８４の関数解析を通して解を得られた場合、忠実度を高める目的で結果全体を確認することがやはり望ましい。したがって、ステップ７６及び８４の両方がステップ８６に分岐して、確認試験に対して初期パラメータ組が設定される。次に、ステップ８６はステップ８８に進む。
【００４９】
ステップ８８で、ステップ８６による初期パラメータ組を使用して、現在シミュレートされている回路の入出力プロファイルが計算される。計算された入出力プロファイルが実際の入出力プロファイルと一致する場合、又は実際の入出力プロファイルの容認可能な誤差量内にある場合、ステップ８８はステップ９０に進み、シミュレーションが確認に合格したという結果が出力される。合格しない場合、ステップ８８はステップ９２に進む。
【００５０】
ステップ９２で、プログラムは、回路部品の値の調節又は変更が事前設定した時限を超過するかを判断する。超過する場合、ステップ９２はステップ９４にイグジットする。しかしながら、時限内である場合、ステップ９２は代わりにステップ９６にイグジットして、プログラムによって設定された所定量の分、未知の部品の値が変更される。次に、ステップ９４はステップ８８に戻り、シミュレートされた回路が実際の入出力プロファイルの容認可能な誤差内にあるか、又はステップ９２で設定された時限を超過していることを確認プロセスが示すまで、確認プロセスが繰り返される。
【００５１】
再び図１を参照すると、回路がＮ個を超えるノードを、例えば１０を超えるノードを含む場合、ステップ２２はステップ２４に分岐して、大規模解析が行われる。かかる解析では、回路が複雑であることにより、伝達関数を単一の式として単純に記載することは、不可能ではないものの、数学的に困難である。代わりに、回路は、一連のより小さい式に換算され、各式は、互いに逆転階層的に依存する回路の一部を表す。
【００５２】
より具体的には、また図７を参照すると、ステップ１００で、全ての非線形部品は、例えばデータベース１０２から得られる、線形モデルと差し替えられる。線形モデルから非線形部品への置換については、既に詳細に記載されており、参照により組み込む。次に、ステップ１００はステップ１０４に進む。ステップ１０４で、プログラムされたプロセッサは、線形化を行うのに十分なデータがあるかを判断する。十分なデータがある場合、ステップ１０４はステップ１０６に進む。ステップ１０６で、階層分解法を使用して、回路ネットワーク全体が分割される。かかる分割プロセスは、各端子ブロックに１つのノードのみが存在するようになるまで継続される。
【００５３】
ステップ１０６での回路分割に続いて、ステップ１０６はステップ１０８に分岐し、分割によって形成された各サブ回路に対して解析が行われる。好ましくは、端子ブロック解析を使用して、各区分がｎ端子ブロックによって表されるようにして、回路の電気的挙動が解析される。ネットワーク変数に対する記号解を見つけるために、連立記号方程式をサブ回路から抽出しなければならない。
【００５４】
好ましくは、改訂節点解析法（ＭＮＡ）が連立方程式を最初に見つけるために使用される。ＭＮＡを使用することの１つの利点は、それによって、解析におけるネットワーク変数としての分岐電流が可能になって、制御電源の４つのタイプ全てに電圧源を含むことができる点である。
【００５５】
回路素子のアドミタンス値のラプラス変換表現が、その方程式を公式化する際に使用される。
【００５６】
したがって、連立方程式は次式のように記述される。
【００５７】
【数６】
0006029712.tif 000007
式中、Ｖはノード対データ電圧、Ｉは分岐電流変数、Ｙｎは改訂節点のアドミタンス行列、Ｂ、Ｃ、及びＤは分岐関係式の寄与であり、Ｊはネットワークの電源を表し、Ｅは独立電圧源を表す。
【００５８】
ステップ１０８のサブ回路解析における次のステップは、各サブ回路が外部変数のみに関して記述されるように、内部変数を全て抑制するというものである。これにより、行列のサイズが大幅に低減されると共に、回路解析によって必要とされず要求もされない情報が排除される。内部変数の抑制は、換算改訂節点解析方程式として知られている。ガウスの消去法及びシュールの補行列（Schur complement）は両方とも、各サブ回路に対して行列を換算し、最終伝達関数を生成するのに使用される。
【００５９】
ステップ１０８で各サブ回路に対する解析が完了した後、ステップ１０８はステップ１１０に進み、回路全体の上向きの階層解析が行われる。これは、葉から始めて木の根に達するまで二分木を上向きに移動していくことによって、階層的二進方式で中央ブロックの解析を成功裏に行うことによって遂行される。かかる中央ブロックの解析は当該分野において良く知られているので、その更なる説明は不要である。
【００６０】
ステップ１１０によって行われた上向きの階層解析の最終結果は、既定の入出力値という観点でネットワーク全体を特徴付ける、ＲＭＮＡ行列である。次に、ステップ１１０はステップ１１２に進み、上述した方式で、ＲＭＮＡ行列からラプラス伝達関数の解が求められる。同様に、ステップ１１２はステップ１１４に進み、関数解析が行われる。この関数解析は、図２のステップ３８に相当し、既に詳細に記載されている。その記載を参照により組み込む。次に、ステップ１１４はステップ１１６に進み、回路シミュレーションに対して確認手続きが行われる。その確認は既に詳細に記載され、図５に示されているので、繰り返さない。
【００６１】
更に図７を参照すると、線形化を行うのにはデータが不十分である場合、ステップ１０４は代わりにステップ１１８に分岐する。ステップ１１８で、ネットリストの比較、パターン探索など、既知の探索技術のいずれかを使用して、同様の又は同一の回路についてデータベースが探索される。
【００６２】
例示的なデータベース探索が図８に示され、データベース探索はステップ１３０で始まる。次に、ステップ１３０はステップ１３２に進み、ユーザは、回路内の未知のパラメータそれぞれに対するパラメータ空間を入力する。パラメータ空間が既知の場合、ステップ１３２はステップ１３４に分岐して、結果のパラメータ組が確立される。
【００６３】
しかしながら、ユーザがパラメータ空間全てを入力していない場合、ステップ１３２は代わりにステップ１３６に進み、パラメータ空間を生成するために、サーチエンジンが３つの別個のデータベースに問い合わせる。これら３つのデータベースは、回路タイプ識別データベース１３８、部品利用識別データベース１４０、並びに応答データベース１４２を含む。
【００６４】
第一に、サーチエンジン１３６は、部品ＩＤにしたがって、回路タイプ識別データベース１３９並びに部品利用識別データベース１４０からデータを取得する。例示的な一部の部品ＩＤが図９に示される。
【００６５】
第二に、ネットリスト比較部は３つのことを行う。最初に、データ取得部からデータを受け取り、次に、入力されたネットリストファイルと２つのデータベース１３９及び１４０に格納された特定の回路タイプのネットリストファイルとを比較し、近似比率を生成する。次に、サーチエンジン１３６は、最も高い近似比率を有する回路を選択し、その部分の次の部分に比較結果を、即ち回路ＩＤタイプを出力する。
【００６６】
最後に、応答データベース１４２は、２つのＩＤを、即ち回路タイプＩＤ及び部品利用ＩＤを使用して照会されて、応答データベース１４２内で２つのＩＤに対応する最も近い回路を選択する。
【００６７】
次に、回路内の特定された部品に値が割り当てられなければならない。割り当てられる初期値は、回路のタイプが既知であればそれに応じて決まる。例えば、図９に示されるように、抵抗器が適切な部品として特定され、電流／電圧センサで使用される場合、抵抗器値は比較的低いであろう。反対に、抵抗器が分圧器として使用される場合、初期抵抗器値は比較的高く設定されるであろう。しかしながら、質問／応答データベース１４２が回路のタイプを判断できない場合、部品のタイプに基づいて既定値を自動的に提供する。この既定値は、開始パラメータ組としてのパラメータ空間内の中央値であろう。
【００６８】
最後に、回路シミュレータが起動され、シミュレーション結果が容認可能な誤差範囲内の入出力プロファイルに一致するまで、微分自由探索アルゴリズムに基づいてシミュレーションが実施される。
【００６９】
使用されることが多い微分自由最適化方法の４つのタイプ、即ち一般的アルゴリズム、擬似アニーリング、ランダム探索、及び下り坂シンプレックス探索（downhill simplex search）がある。これらのうちいずれかが、質問／応答データベースを探索するのに使用されてもよい。しかしながら、他の方法も使用されてもよい。
【００７０】
例えば、ランダム探索の場合、開始パラメータ組は電流点として選択され、シミュレーションプログラムが、電流出力をｆ（ｘ）として生成するように実行される。
【００７１】
次に、ランダムベクトル（ｄｘ１、ｄｘ２、ｄｘ３、…）がパラメータ空間内の電流点（ｘ１、ｘ２、ｘ３）に追加され、シミュレーションプログラムが、新しいパラメータ組（ｘ１＋ｄｘ１、ｘ２＋ｄｘ２、ｘ３＋ｄｘ３、…）を用いて再び実行される。次に、このシミュレーションは出力をｆ（ｘ＋ｄｘ）として生成する。
【００７２】
次いで、２つの出力、即ちｆ（ｘ）及びｆ（ｘ＋ｄｘ）は次に、試験中の回路の入出力プロファイルと比較される。ｆ（ｘ＋ｄｘ）が所望の出力プロファイルにより近い場合、現在のパラメータ組は（ｘ１、ｘ２、ｘ３、…）から（ｘ１＋ｄｘ２、ｘ２＋ｄｘ２、ｘ３＋ｄｘ３、…）へと変更される。シミュレーション結果が容認可能な誤差範囲内の回路の出力プロファイルと一致する場合、ランダム探索は現在のパラメータ組で終わる。別の方法では、ランダム探索は、シミュレーションが容認可能な出力プロファイルを生成するまで、新しいランダムベクトルを用いて単純に繰り返される。
【００７３】
上記のことから、本発明は、未知の値を備えた部品を有する回路を解析する独自の方法を提供することが分かる。本発明について記載してきたが、添付の特許請求の範囲によって定義されるような本発明の趣旨から逸脱することなく、本発明に対する多くの修正が当業者には明白となるであろう。
【符号の説明】
【００７４】
２０…ネットリストを作成するステップ、
２２…ノード＞Ｎを判定するステップ、
２４…大規模回路であるとするステップ、
２６…非線形部品があるかを判定するステップ、
２８…小規模非線形であるとするステップ、
４２…小規模線形であるとするステップ、
３２…ネットワーク関数（入出力）が指示されるステップ、
３４…記号解析法を選択するステップ、
３６…記号式を出力するステップ、
３８…関数解析するステップ、
４０…入出力プロファイルを入力するステップ、
５４…結果を出力するステップ。
【図１】
0006029712.tif 000008
【図２】
0006029712.tif 000009
【図３】
0006029712.tif 000010
【図４】
0006029712.tif 000011
【図５】
0006029712.tif 000012
【図６】
0006029712.tif 000013
【図７】
0006029712.tif 000014
【図８】
0006029712.tif 000015
【図９】
0006029712.tif 000016