(57)【特許請求の範囲】
【請求項１】
演算部と、記憶部と、操作部と、表示部と、を備えたコンピュータに実行され、前記コンピュータを回路設計シミュレータとして機能させる回路設計シミュレーションプログラムの一部品であり、前記回路設計シミュレータで用いられる演算増幅器のマクロモデルとして、前記回路設計シミュレータ上で演算増幅器の応答を模擬するように前記コンピュータを動作させるプログラムであって、
前記演算増幅器のマクロモデルは、前記演算増幅器の入力異常時や電源異常時に出力異常を発生させる制御部を有し、
前記制御部は、入力段の駆動電流を生成する電流源の両端間電圧を所定の電圧範囲内に制限することを特徴とするプログラム。
【請求項２】
前記電圧範囲は、電源電圧または接地電圧と周囲温度の関数として設定されることを特徴とする請求項１に記載のプログラム。
【請求項３】
前記制御部は、異常判定に際して入力信号と電源電圧または接地電圧を監視し、前記演算増幅器の入力異常時や電源異常時には、前記演算増幅器の入力段、増幅段、及び、出力段の少なくとも一つを制御して出力異常を発生させることを特徴とする請求項１または請求項２に記載のプログラム。
【請求項４】
前記制御部は、異常判定に際して周囲温度も監視することを特徴とする請求項３に記載のプログラム。
【請求項５】
前記演算増幅器のマクロモデルは、さらに、
電源端子と接地端子との間で前記演算増幅器の駆動電流を生成する駆動電流生成部と、
出力端子と理想接地との間で前記演算増幅器の出力電流を生成する出力電流生成部と、
前記出力電流の大きさや向きを検出する出力電流検出部と、
前記電源端子と前記理想接地との間、或いは、前記理想接地と前記接地端子との間で、前記出力電流に応じた帰還電流を生成する帰還電流生成部と、
を有することを特徴とする請求項１〜請求項４のいずれか一項に記載のプログラム。
【請求項６】
前記帰還電流生成部は、前記理想接地から前記出力端子に向けて前記出力電流が流れているときには、前記電源端子から前記理想接地に向けて流れる帰還電流を生成し、前記出力端子から前記理想接地に向けて前記出力電流が流れているときには、前記理想接地から前記接地端子に向けて流れる帰還電流を生成することを特徴とする請求項５に記載のプログラム。
【請求項７】
演算部と、記憶部と、操作部と、表示部と、を備えたコンピュータに実行され、前記コンピュータを回路設計シミュレータとして機能させる回路設計シミュレーションプログラムであって、
前記回路設計シミュレーションプログラムは、
メインプログラムと、
前記メインプログラムから参照されるモデルライブラリと、
を含み、
前記モデルライブラリは、前記回路設計シミュレータで用いられる前記演算増幅器のマクロモデルとして、請求項１〜請求項６のいずれか一項に記載のプログラムを含むことを特徴とする回路設計シミュレーションプログラム。
【請求項８】
前記メインプログラムは、
前記操作部からの入力に基づいて前記回路設計シミュレータ上で回路作成を行うように前記演算部や前記表示部を機能させる回路作成モジュールと、
前記操作部からの入力に基づいて前記モデルライブラリを参照するように前記演算部や前記表示部を機能させる部品参照モジュールと、
前記操作部からの入力に基づいて回路上にプローブを設置するように前記演算部や前記表示部を機能させるプローブ設置モジュールと、
前記操作部からの入力に基づいて前記プローブが設置されたノードの波形を描画するように前記演算部や前記表示部を機能させる波形描画モジュールと、
前記操作部からの入力に基づいて前記波形の解析を行うように前記演算部や前記表示部を機能させる波形解析モジュールと、
を含むことを特徴とする請求項７に記載の回路設計シミュレーションプログラム。
【請求項９】
請求項８に記載の回路設計シミュレーションプログラムをコンピュータで実行させることによって実現される回路設計シミュレータ。
【請求項１０】
回路設計シミュレータが、入力異常時や電源異常時に出力異常を発生させる制御部を有する演算増幅器のマクロモデルを用いて回路のシミュレーションを行う回路設計シミュレーション方法であって、
前記制御部は、入力段の駆動電流を生成する電流源の両端間電圧を所定の電圧範囲内に制限することを特徴とする回路設計シミュレーション方法。
【請求項１１】
前記電圧範囲は、電源電圧または接地電圧と周囲温度の関数として設定されることを特徴とする請求項１０に記載の回路設計シミュレーション方法。
【請求項１２】
前記制御部は、異常判定に際して入力信号と電源電圧または接地電圧を監視し、前記演算増幅器の入力異常時や電源異常時には、前記演算増幅器の入力段、増幅段、及び、出力段の少なくとも一つを制御して出力異常を発生させることを特徴とする請求項１０または請求項１１に記載の回路設計シミュレーション方法。
【請求項１３】
前記制御部は、異常判定に際して周囲温度も監視することを特徴とする請求項１２に記載の回路設計シミュレーション方法。
【請求項１４】
前記演算増幅器のマクロモデルは、さらに、
電源端子と接地端子との間で前記演算増幅器の駆動電流を生成する駆動電流生成部と、
出力端子と理想接地との間で前記演算増幅器の出力電流を生成する出力電流生成部と、
前記出力電流の大きさや向きを検出する出力電流検出部と、
前記電源端子と前記理想接地との間、或いは、前記理想接地と前記接地端子との間で、前記出力電流に応じた帰還電流を生成する帰還電流生成部と、
を有することを特徴とする請求項１０〜請求項１３のいずれか一項に記載の回路設計シミュレーション方法。
【請求項１５】
前記帰還電流生成部は、前記理想接地から前記出力端子に向けて前記出力電流が流れているときには、前記電源端子から前記理想接地に向けて流れる帰還電流を生成し、前記出力端子から前記理想接地に向けて前記出力電流が流れているときには、前記理想接地から前記接地端子に向けて流れる帰還電流を生成することを特徴とする請求項１４に記載の回路設計シミュレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路設計シミュレータで用いられる演算増幅器のマクロモデルに関する。
【背景技術】
【０００２】
従来より、半導体集積回路の設計支援ツールとして、回路設計シミュレーションプログラム（例えば、ＳＰＩＣＥ［Simulation Program with Integrated Circuit Emphasis］系の回路設計シミュレーションプログラム）が広く利用されている。回路設計シミュレーションプログラムは、これを実行したコンピュータを回路設計シミュレータとして機能させるためのソフトウェアである。回路設計シミュレータ上では、抵抗やキャパシタなどの受動素子モデル、トランジスタやダイオードなどの能動素子モデル、演算増幅器などのマクロモデル、電圧源、電流源、及び、配線などを適宜組み合わせてアナログ回路の作成を行い、その応答を模擬することが可能である。
【０００３】
なお、上記に関連する従来技術の一例としては、特許文献１や特許文献２を挙げることができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平５−２２５２８２号公報
【特許文献２】特開２０１０−２７２０２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、現実の演算増幅器は、通常、入力信号や電源電圧が所定の正常範囲内に収まっていなければ正しく動作することができない。しかしながら、演算増幅器の従来型マクロモデルは、シミュレーション演算時の負荷低減を最優先とするために、理想的な特性を有する回路要素（理想素子、理想電源、理想接地など）を用いて構築されており、現実の演算増幅器では正常範囲外となる入力信号や電源電圧が入力された場合でも、何ら問題なく動作してしまっていた。そのため、演算増幅器の従来型マクロモデルを用いて作成されたアナログ回路のシミュレーション検証を行っても、現実の演算増幅器における入力異常（前段回路の設計ミスなど）や電源異常（電源系配線の設計ミスなど）を発見することができない、という課題があった。
【０００６】
また、演算増幅器の従来型マクロモデルでは、演算増幅器の出力端子に流れる出力電流が理想接地から生成されており、電源端子と接地端子との間に流れる演算増幅器の駆動電流は、上記の出力電流と何ら関係のない一定値に設定されていた。そのため、演算増幅器の従来型マクロモデルでは、基板配線のインピーダンス等に起因する電源電圧の低下や接地電圧の浮き上がりをシミュレーション検証することができない、という課題があった。  
【０００７】
このように、演算増幅器の従来型マクロモデルは、現実の演算増幅器と異なる挙動を示すので、シミュレーション検証では問題がないと判断されたアナログ回路であっても、これを実際に試作した段階で問題が顕在化する、という課題があった。
【０００８】
本発明は、本願の発明者により見出された上記の問題点に鑑み、シミュレーション演算時の負荷増大を抑えつつ、より実機に近い応答を模擬することが可能な演算増幅器のマクロモデル、及び、これを用いた回路設計シミュレータを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明に係るプログラムは、演算部と、記憶部と、操作部と、表示部と、を備えたコンピュータに実行され、前記コンピュータを回路設計シミュレータとして機能させる回路設計シミュレーションプログラムの一部品であり、前記回路設計シミュレータで用いられる演算増幅器のマクロモデルとして、前記回路設計シミュレータ上で演算増幅器の応答を模擬するように前記コンピュータを動作させるものであって、前記演算増幅器のマクロモデルは、前記演算増幅器の入力異常時や電源異常時に出力異常を発生させる制御部を有する構成（第１の構成）とされている。
【００１０】
なお、上記第１の構成から成るプログラムにおいて、前記制御部は、入力段の駆動電流を生成する電流源の両端間電圧を所定の範囲内に制限する構成（第２の構成）にするとよい。
【００１１】
また、上記第２の構成から成るプログラムにおいて、前記上限値は、電源電圧と周囲温度の関数として設定される構成（第３の構成）にするとよい。
【００１２】
また、上記第１の構成から成るプログラムにおいて、前記制御部は、異常判定に際して入力信号と電源電圧を監視し、前記演算増幅器の入力異常時や電源異常時には、前記演算増幅器の入力段、増幅段、及び、出力段の少なくとも一つを制御して出力異常を発生させる構成（第４の構成）にするとよい。
【００１３】
また、上記第４の構成から成るプログラムにおいて、前記制御部は、異常判定に際して周囲温度も監視する構成（第５の構成）にするとよい。
【００１４】
また、上記第４の構成から成るプログラムにおいて、前記演算増幅器のマクロモデルはさらに、電源端子と接地端子との間で前記演算増幅器の駆動電流を生成する駆動電流生成部と、出力端子と理想接地との間で前記演算増幅器の出力電流を生成する出力電流生成部と、前記出力電流の大きさや向きを検出する出力電流検出部と、前記電源端子と前記理想接地との間、或いは、前記理想接地と前記接地端子との間で、前記出力電流に応じた帰還電流を生成する帰還電流生成部と、を有する構成（第６の構成）にするとよい。
【００１５】
また、本発明に係るプログラムは、演算部と、記憶部と、操作部と、表示部と、を備えたコンピュータに実行され、前記コンピュータを回路設計シミュレータとして機能させる回路設計シミュレーションプログラムの一部品であり、前記回路設計シミュレータで用いられる演算増幅器のマクロモデルとして、前記回路設計シミュレータ上で演算増幅器の動作を模擬するように前記コンピュータを動作させるものであって、前記演算増幅器のマクロモデルは、電源端子と接地端子との間で前記演算増幅器の駆動電流を生成する駆動電流生成部と、出力端子と理想接地との間で前記演算増幅器の出力電流を生成する出力電流生成部と、前記出力電流の大きさや向きを検出する出力電流検出部と、前記電源端子と前記理想接地との間、或いは、前記理想接地と前記接地端子との間で、前記出力電流に応じた帰還電流を生成する帰還電流生成部と、を有する構成（第７の構成）とされている。
【００１６】
なお、上記第６または第７の構成から成るプログラムにおいて、前記帰還電流生成部は前記理想接地から前記出力端子に向けて前記出力電流が流れているときには、前記電源端子から前記理想接地に向けて流れる帰還電流を生成し、前記出力端子から前記理想接地に向けて前記出力電流が流れているときには、前記理想接地から前記接地端子に向けて流れる帰還電流を生成する構成（第８の構成）にするとよい。
【００１７】
また、本発明に係る回路設計シミュレーションプログラムは、演算部と、記憶部と、操作部と、表示部と、を備えたコンピュータに実行され、前記コンピュータを回路設計シミュレータとして機能させるものであって、前記回路設計シミュレーションプログラムは、メインプログラムと、前記メインプログラムから参照されるモデルライブラリとを含み、前記モデルライブラリは、前記回路設計シミュレータで用いられる前記演算増幅器のマクロモデルとして、上記第１〜第８いずれかの構成から成るプログラムを含む構成（第９の構成）とされている。
【００１８】
なお、上記第９の構成から成る回路設計シミュレーションプログラムにおいて、前記メインプログラムは、前記操作部からの入力に基づいて前記回路設計シミュレータ上で回路作成を行うように前記演算部や前記表示部を機能させる回路作成モジュールと、前記操作部からの入力に基づいて前記モデルライブラリを参照するように前記演算部や前記表示部を機能させる部品参照モジュールと、前記操作部からの入力に基づいて回路上にプローブを設置するように前記演算部や前記表示部を機能させるプローブ設置モジュールと、前記操作部からの入力に基づいて前記プローブが設置されたノードの波形を描画するように前記演算部や前記表示部を機能させる波形描画モジュールと、前記操作部からの入力に基づいて前記波形の解析を行うように前記演算部や前記表示部を機能させる波形解析モジュールと、を含む構成（第１０の構成）にするとよい。
【００１９】
また、本発明に係る回路設計シミュレータは、上記第１０の構成から成る回路設計シミュレーションプログラムをコンピュータで実行させることによって実現された構成（第１１の構成）とされている。
【００２０】
また、本発明に係る回路設計シミュレーション方法は、入力異常時や電源異常時において出力異常を発生させる制御部を有する演算増幅器のマクロモデルを用いた構成（第１２の構成）とされている。
【００２１】
なお、上記第１２の構成から成る回路設計シミュレーション方法において、前記制御部は入力段の駆動電流を生成する電流源の両端間電圧を所定の範囲内に制限する構成（第１３の構成）にするとよい。
【００２２】
また、上記第１３の構成から成る回路設計シミュレーション方法において、前記上限値は、電源電圧と周囲温度の関数として設定される構成（第１４の構成）にするとよい。
【００２３】
また、上記第１４の構成から成る回路設計シミュレーション方法において、前記制御部は、異常判定に際して入力信号と電源電圧を監視し、前記演算増幅器の入力異常時や電源異常時には、前記演算増幅器の入力段、増幅段、及び、出力段の少なくとも一つを制御して出力異常を発生させる構成（第１５の構成）にするとよい。
【００２４】
また、上記第１５の構成から成る回路設計シミュレーション方法において、前記制御部は、異常判定に際して周囲温度も監視する構成（第１６の構成）にするとよい。
【００２５】
また、上記第１２〜第１６いずれかの構成から成る回路設計シミュレーション方法において、前記演算増幅器のマクロモデルは、さらに、電源端子と接地端子との間で前記演算増幅器の駆動電流を生成する駆動電流生成部と、出力端子と理想接地との間で前記演算増幅器の出力電流を生成する出力電流生成部と、前記出力電流の大きさや向きを検出する出力電流検出部と、前記電源端子と前記理想接地との間、或いは、前記理想接地と前記接地端子との間で、前記出力電流に応じた帰還電流を生成する帰還電流生成部と、を有する構成（第１７の構成）にするとよい。
【００２６】
また、本発明に係る回路設計シミュレーション方法は、電源端子と接地端子との間で前記演算増幅器の駆動電流を生成する駆動電流生成部と、出力端子と理想接地との間で前記演算増幅器の出力電流を生成する出力電流生成部と、前記出力電流の大きさや向きを検出する出力電流検出部と、前記電源端子と前記理想接地との間、或いは、前記理想接地と前記接地端子との間で、前記出力電流に応じた帰還電流を生成する帰還電流生成部と、を有する演算増幅器のマクロモデルを用いた構成（第１８の構成）とされている。
【００２７】
なお、上記第１７または第１８の構成から成る回路設計シミュレーション方法において前記帰還電流生成部は、前記理想接地から前記出力端子に向けて前記出力電流が流れているときには、前記電源端子から前記理想接地に向けて流れる帰還電流を生成し、前記出力端子から前記理想接地に向けて前記出力電流が流れているときには、前記理想接地から前記接地端子に向けて流れる帰還電流を生成する構成（第１９の構成）にするとよい。
【発明の効果】
【００２８】
本発明によれば、シミュレーション演算時の負荷増大を抑えつつ、より実機に近い応答を模擬することが可能な演算増幅器のマクロモデル、及び、これを用いた回路設計シミュレータを提供することが可能となる。
【図面の簡単な説明】
【００２９】
【図１】本発明に係る回路設計シミュレータの一構成例を示すブロック図
【図２】回路設計シミュレーションプログラムの一構成例を示すブロック図
【図３】演算増幅器のマクロモデルの基本構成を示す図
【図４Ａ】演算増幅器のマクロモデルの第１実施形態（例Ａ）を示す図
【図４Ｂ】演算増幅器のマクロモデルの第１実施形態（例Ｂ）を示す図
【図４Ｃ】演算増幅器のマクロモデルの第１実施形態（例Ｃ）を示す図
【図４Ｄ】演算増幅器のマクロモデルの第１実施形態（例Ｄ）を示す図
【図５Ａ】演算増幅器のマクロモデルの第２実施形態（例Ａ）を示す図
【図５Ｂ】演算増幅器のマクロモデルの第２実施形態（例Ｂ）を示す図
【図５Ｃ】演算増幅器のマクロモデルの第２実施形態（例Ｃ）を示す図
【図５Ｄ】演算増幅器のマクロモデルの第２実施形態（例Ｄ）を示す図
【図６Ａ】演算増幅器のマクロモデルの第３実施形態（例Ａ）を示す図
【図６Ｂ】演算増幅器のマクロモデルの第３実施形態（例Ｂ）を示す図
【図６Ｃ】演算増幅器のマクロモデルの第３実施形態（例Ｃ）を示す図
【図７Ａ】演算増幅器のマクロモデルの第４実施形態（例Ａ）を示す図
【図７Ｂ】演算増幅器のマクロモデルの第４実施形態（例Ｂ）を示す図
【図７Ｃ】演算増幅器のマクロモデルの第４実施形態（例Ｃ）を示す図
【図８】演算増幅器のマクロモデルの第５実施形態を示す図
【発明を実施するための形態】
【００３０】
＜回路設計シミュレータ＞
図１は、本発明に係る回路設計シミュレータの一構成例を示すブロック図である。本構成例の回路設計シミュレータ１０は、演算部１１と、記憶部１２と、操作部１３と、表示部１４と、通信部１５と、を有するコンピュータであり、記憶部１２に格納された回路設計シミュレーションプログラム１００を演算部１１で実行することによって実現される。
【００３１】
演算部１１は、回路設計シミュレータ１０の動作を統括的に制御する。例えば、演算部１１は、記憶部１２に格納された回路設計シミュレーションプログラム１００を実行し、コンピュータを回路設計シミュレータ１０として機能させるための各種演算処理を行うほか、操作部１３から入力されるユーザ操作の認識処理や、表示部１４に対する各種画面の表示制御などを行う。演算部１１としては、ＣＰＵ［Central Processing Unit］を用いることができる。
【００３２】
記憶部１２は、ＯＳ［Operation System］プログラムや各種ソフトウェア（回路設計シミュレーションプログラム１００を含む）の格納領域として使用されるほか、ユーザが作成した各種データの格納領域や、各種ソフトウェアの作業領域としても使用される。記憶部１２としては、ハードディスクドライブやソリッドステートドライブ、或いは、ＵＳＢ［Universal Serial Bus］メモリなどを用いることができる。
【００３３】
操作部１３は、各種のユーザ操作（回路作成操作、部品参照操作、プローブ設置操作など）を受け付けて演算部１１に伝達する。操作部１３としては、キーボード、マウス、トラックボール、ペンタブレット、タッチパネルなどを用いることができる。
【００３４】
表示部１４は、演算部１１の指示に基づいて各種画面（回路作成フィールド、部品パレット、波形描画ウィンドウなど）を表示する。表示部１４としては、液晶ディスプレイなどを用いることができる。
【００３５】
通信部１５は、演算部１１の指示に基づいて電気通信回線２０（インターネットやＬＡＮ［Local Area Network］など）を介した情報通信を行う。例えば、通信部１５は、電気通信回線２０を介して、半導体装置を製造・販売するベンダ各社のサーバ３０Ｘ〜３０Ｚとの情報通信を行い、マクロモデルファイル（＊．ｍｏｄ）などのダウンロードを行う。
【００３６】
このような回路設計シミュレータ１０を用いることにより、実際にアナログ回路を試作する前に、当該アナログ回路のシミュレーション検証（特性評価や動作チェックなど）を行うことが可能となる。
【００３７】
＜回路設計シミュレーションプログラム＞
図２は、回路設計シミュレーションプログラム１００の一構成例を示すブロック図である。回路設計シミュレーションプログラム１００（例えばＳＰＩＣＥ系の回路設計シミュレーションプログラム）は、コンピュータに実行され、そのコンピュータを回路設計シミュレータ１０（図１を参照）として機能させるソフトウェアである。本構成例の回路設計シミュレーションプログラム１００は、メインプログラム１１０と、モデルライブラリ２１０とを含む。回路設計シミュレーションプログラム１００は、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭなど）や半導体メモリ（ＵＳＢメモリなど）といった物理メディア、或いは、インターネットなどの電気通信回線を介して譲渡ないし頒布される。
【００３８】
メインプログラム１１０は、コンピュータを回路設計シミュレータ１０として機能させるための基幹部分であり、各種モジュールプログラム（例えば、回路作成モジュール１１１、部品参照モジュール１１２、プローブ設置モジュール１１３、波形描画モジュール１１４、及び、波形解析モジュール１１５）の集合体として形成されている。
【００３９】
回路作成モジュール１１１は、操作部１３からの入力に基づいて回路設計シミュレータ１０上で回路作成を行うように演算部１１や表示部１４を機能させるための要素プログラムである。ユーザが操作部１３を用いて表示部１４に表示された部品シンボル（抵抗、キャパシタ、トランジスタ、ダイオード、演算増幅器、電圧源、電流源、及び、配線など）を回路作成フィールドに配置すると、回路作成モジュール１１１は、その配置内容に応じたテキストベースのコード作成を行う。これにより、ユーザは、テキストベースのコードを直接編集することなく、任意のアナログ回路を直感的に作成することが可能となる。
【００４０】
部品参照モジュール１１２は、操作部１３からの入力に基づいてモデルライブラリ１２０を参照するように演算部１１や表示部１４を機能させるための要素プログラムである。例えば、ユーザが操作部１３を用いて表示部１４に表示された部品パレットから演算増幅器のシンボルを選択すると、部品参照モジュール１１２は、モデルライブラリ１２０に含まれる演算増幅器のマクロモデル１２３を参照する。
【００４１】
プローブ設置モジュール１１３は、操作部１３からの入力に基づいて回路図上にプローブ（電圧や電流の測定点）を設置するように演算部１１や表示部１４を機能させるための要素プログラムである。例えば、ユーザが操作部１３を用いて表示部１４に表示された回路図上の特定ノードをマウスでクリックすると、プローブ設置モジュール１１３は、クリックされたノードにプローブを設置する。
【００４２】
波形描画モジュール１１４は、操作部１３からの入力に基づいてプローブが設置されたノードの波形を描画するように演算部１１や表示部１４を機能させるための要素プログラムである。例えば、ユーザが操作部１３を用いて表示部１４に表示された演算増幅器の出力端子にプローブを設置したとき、波形描画モジュール１１４は、演算増幅器の出力波形（疑似オシロスコープ波形）を波形描画ウィンドウに表示する。
【００４３】
波形解析モジュール１１５は、操作部１３からの入力に基づいてプローブが設置されたノードの波形解析を行うように演算部１１や表示部１４を機能させるための要素プログラムである。波形解析モジュール１１５で実施することが可能な波形解析としては、過渡解析、直流解析、小信号交流解析、雑音解析などを挙げることができる。
【００４４】
モデルライブラリ１２０は、回路設計シミュレータ１０で用いられる種々のモデル（受動素子モデル１２１、能動素子モデル１２２、及び、マクロモデル１２３など）を含んでおり、回路設計シミュレーションプログラム１０の一部品として、メインプログラム１１０（特に部品参照モジュール１１２）から参照される。受動素子モデル１２１は、回路設計シミュレータ１０上で受動素子（抵抗やキャパシタなど）の応答を模擬するようにコンピュータを動作させるプログラムである。能動素子モデル１２２は、回路設計シミュレータ１０上で能動素子（トランジスタやダイオードなど）の応答を模擬するようにコンピュータを動作させるプログラムである。演算増幅器のマクロモデル１２３は、回路設計シミュレータ１０上で演算増幅器の応答を模擬するようにコンピュータを動作させるプログラムである。なお、上記各種モデル１２１〜１２３の中には、半導体装置を製造・販売するベンダ各社のサーバ３０Ｘ〜３０Ｚから電気通信回線２０を介して無償でダウンロードすることが可能なものも含まれている。
【００４５】
このような回路設計シミュレーションプログラムを用いることにより、汎用コンピュータ（パーソナルコンピュータやワークステーションなど）を回路設計シミュレータ１０として利用することが可能となる。
【００４６】
＜ボイルモデル＞
図３は、演算増幅器のマクロモデルの基本構成を示す図である。本構成例のマクロモデルは、ボイルモデルと呼ばれるものであり、本発明のマクロモデルもこれをベースとして構築されている。ボイルモデルでは、入力差動対として用いられるトランジスタＴｒ１及びＴｒ２と、クランプ素子として用いられるダイオードＤ１〜Ｄ５を除いて、全ての素子はリニアデバイス（抵抗Ｒ１〜Ｒ７、キャパシタＣ１〜Ｃ３、電圧源Ｖ１〜Ｖ８、並びに電流源Ｉ１〜Ｉ４）とされている。なお、ボイルモデルの構成や動作については、周知であるため、ここでは詳細な説明を割愛する。
【００４７】
＜第１実施形態＞
図４Ａは、演算増幅器のマクロモデルの第１実施形態（例Ａ）を示す図である。第１実施形態（例Ａ）のマクロモデルは、演算増幅器の入力段を形成する回路要素として、ｐｎｐ型バイポーラトランジスタＱ１１及びＱ１２と、抵抗Ｒ１１及びＲ１２と、電流源Ｉ１１と、電圧制御部ＬＭＴ１と、を有する。
【００４８】
電流源Ｉ１１の第１端は、電源端子（電源電圧ＶＰの印加端）に接続されている。電流源Ｉ１１の第２端は、トランジスタＱ１１及びＱ１２のエミッタに接続されている。トランジスタＱ１１のコレクタは、抵抗Ｒ１１の第１端に接続されている。トランジスタＱ１２のコレクタは、抵抗Ｒ１２の第１端に接続されている。トランジスタＱ１１のベースは第１入力端子（入力信号ＩＮ１の印加端）に接続されている。トランジスタＱ１２のベースは、第２入力端子（入力信号ＩＮ２の印加端）に接続されている。抵抗Ｒ１１及びＲ１２の第２端は、いずれも接地端子（接地電圧ＶＮの印加端）に接続されている。
【００４９】
電圧制御部ＬＭＴ１は、入力段の駆動電流を生成する電流源Ｉ１１の両端間電圧（電源電圧ＶＰとエミッタ電圧Ｖａとの差電圧）を所定の電圧範囲内に制限することにより、演算増幅器の入力異常時や電源異常時に出力異常を発生させる。なお、上記の電圧範囲を定める上限値及び下限値については、電源電圧ＶＰと周囲温度Ｔの関数ｆ（ＶＰ，Ｔ）として設定することが望ましい。周囲温度Ｔに応じて上記の電圧範囲をどのように変動させるのかについては、演算増幅器の回路構成や設計仕様に応じて適宜調整すればよい。また、周囲温度Ｔについては、回路設計シミュレータ１０の基本パラメータとして入力された値を参照すればよい。
【００５０】
例えば３Ｖの電源電圧ＶＰに対して３．５Ｖの入力信号ＩＮ１またはＩＮ２が印加された場合、トランジスタＱ１１及びＱ１２のエミッタ電圧Ｖａは、電源電圧ＶＰよりも高くなろうとする。現実の演算増幅器でこのような状況が生じた場合には、電流源Ｉ１１から入力段に駆動電流を流すことができなくなるので、実際にエミッタ電圧Ｖａが電源電圧ＶＰよりも高くなることはない。その結果、トランジスタＱ１１及びＱ１２を正しくオン／オフさせることができなくなるので、演算増幅器は正しく動作することができなくなる。
【００５１】
一方、演算増幅器の従来型マクロモデルでは、たとえエミッタ電圧Ｖａが電源電圧ＶＰより高電圧であっても、理想的な特性を有する電流源Ｉ１１から入力段に駆動電流を流すことができるので、演算増幅器の従来型マクロモデルは何ら問題なく動作してしまい、入力異常や電源異常を看過するおそれがあった。
【００５２】
これに対して、電圧制御部ＬＭＴ１を備えた第１実施形態（例Ａ）のマクロモデルであれば、電流源Ｉ１１の両端間電圧（ＶＰ−Ｖａ）が所定の電圧範囲内（ＶＰ−Ｖａ＞Ｖｔｈ（例えば０．２Ｖ））に制限される。例えば、３Ｖの電源電圧ＶＰに対して３．５Ｖの入力信号ＩＮ１またはＩＮ２が印加された場合であっても、トランジスタＱ１１及びＱ１２のエミッタ電圧Ｖａは、ＶＰ−Ｖｔｈ（例えば２．８Ｖ）までしか上がらなくなる。その結果、電流源Ｉ１１から入力段に駆動電流を流したとしても、トランジスタＱ１１及びＱ１２を正しくオン／オフさせることができなくなるので、演算増幅器は正しく動作することができなくなる。このような動作異常は、正に現実の演算増幅器と同様である。
【００５３】
従って、第１実施形態（例Ａ）のマクロモデルを用いてアナログ回路のシミュレーション検証を行うことにより、入力異常や電源異常を見逃すことなく、当該アナログ回路の特性評価や動作チェックなどを行うことができるので、アナログ回路の試作に要する費用や時間を削減することが可能となる。
【００５４】
なお、第１実施形態のマクロモデルについては、図４Ａで示した構成以外にも、種々の変形を行うことが可能である。例えば、図４Ｂで示すように、ｐｎｐ型バイポーラトランジスタＱ１１及びＱ１２をＰチャネル型電界効果トランジスタＰ１１及びＰ１２に置き換えることも可能である。また、図４Ｃや図４Ｄで示すように、抵抗Ｒ１１及び Ｒ１２に代えて、ｎｐｎ型バイポーラトランジスタＱ１３及びＱ１４（またはＮチャネル型電界効果トランジスタＮ１１及びＮ１２）から成る能動負荷を接続しても構わない。
【００５５】
＜第２実施形態＞
図５Ａは、演算増幅器のマクロモデルの第２実施形態（例Ａ）を示す図である。第２実施形態（例Ａ）のマクロモデルは、演算増幅器の入力段を形成する回路要素として、ｎｐｎ型バイポーラトランジスタＱ２１及びＱ２２と、抵抗Ｒ２１及びＲ２２と、電流源Ｉ２１と、電圧制御部ＬＭＴ２と、を有する。
【００５６】
電流源Ｉ２１の第１端は、接地端子（電源電圧ＶＮの印加端）に接続されている。電流源Ｉ２１の第２端は、トランジスタＱ２１及びＱ２２のエミッタに接続されている。トランジスタＱ２１のコレクタは、抵抗Ｒ２１の第１端に接続されている。トランジスタＱ２２のコレクタは、抵抗Ｒ２２の第１端に接続されている。トランジスタＱ２１のベースは第１入力端子（入力信号ＩＮ１の印加端）に接続されている。トランジスタＱ２２のベースは、第２入力端子（入力信号ＩＮ２の印加端）に接続されている。抵抗Ｒ２１及びＲ２２の第２端は、いずれも電源端子（電源電圧ＶＰの印加端）に接続されている。
【００５７】
電圧制御部ＬＭＴ２は、入力段の駆動電流を生成する電流源Ｉ２１の両端間電圧（エミッタ電圧Ｖｂと接地電圧ＶＮとの差電圧）を所定の電圧範囲内に制限することにより、演算増幅器の入力異常時や電源異常時に出力異常を発生させる。なお、上記の電圧範囲を定める上限値及び下限値については、接地電圧ＶＮと周囲温度Ｔの関数ｆ（ＶＰ，Ｔ）として設定することが望ましい。周囲温度Ｔに応じて上記の電圧範囲をどのように変動させるのかについては、演算増幅器の回路構成や設計仕様に応じて適宜調整すればよい。また、周囲温度Ｔについては、回路設計シミュレータ１０の基本パラメータとして入力された値を参照すればよい。
【００５８】
例えば０Ｖの接地電圧ＶＮに対して−０．５Ｖの入力信号ＩＮ１またはＩＮ２が印加された場合、トランジスタＱ１１及びＱ１２のエミッタ電圧Ｖｂは、接地電圧ＶＮより低くなろうとする。現実の演算増幅器でこのような状況が生じた場合には、電流源Ｉ２１から入力段に駆動電流を流すことができなくなるので、実際にエミッタ電圧Ｖｂが接地電圧ＶＮよりも低くなることはない。その結果、トランジスタＱ２１及びＱ２２を正しくオン／オフさせることができなくなるので、演算増幅器は正しく動作することができなくなる。
【００５９】
一方、演算増幅器の従来型マクロモデルでは、たとえエミッタ電圧Ｖｂが接地電圧ＶＮより低電圧であっても、理想的な特性を有する電流源Ｉ２１から入力段に駆動電流を流すことができるので、演算増幅器の従来型マクロモデルは何ら問題なく動作してしまい、入力異常や電源異常を看過するおそれがあった。
【００６０】
これに対して、電圧制御部ＬＭＴ２を備えた第２実施形態（例Ａ）のマクロモデルであれば、電流源Ｉ２１の両端間電圧（Ｖｂ−ＶＮ）が所定の電圧範囲内（Ｖｂ−ＶＮ＞Ｖｔｈ（例えば０．２Ｖ））に制限される。例えば、０Ｖの接地電圧ＶＮに対して−０．５Ｖの入力信号ＩＮ１またはＩＮ２が印加された場合であっても、トランジスタＱ２１及びＱ２２のエミッタ電圧Ｖｂは、ＶＮ＋Ｖｔｈ（例えば０．２Ｖ）までしか下がらなくなる。その結果、電流源Ｉ２１から入力段に駆動電流を流したとしても、トランジスタＱ２１及びＱ２２を正しくオン／オフさせることができなくなるので、演算増幅器は正しく動作することができなくなる。このような動作異常は、正に現実の演算増幅器と同様である。
【００６１】
従って、第２実施形態（例Ａ）のマクロモデルを用いてアナログ回路のシミュレーション検証を行うことにより、入力異常や電源異常を見逃すことなく、当該アナログ回路の特性評価や動作チェックなどを行うことができるので、アナログ回路の試作に要する費用や時間を削減することが可能となる。
【００６２】
なお、第２実施形態のマクロモデルについては、図５Ａで示した構成以外にも、種々の変形を行うことが可能である。例えば、図５Ｂで示すように、ｎｐｎ型バイポーラトランジスタＱ２１及びＱ２２をＮチャネル型電界効果トランジスタＮ２１及びＮ２２に置き換えることも可能である。また、図５Ｃや図５Ｄで示すように、抵抗Ｒ２１及び Ｒ２２に代えて、ｐｎｐ型バイポーラトランジスタＱ２３及びＱ２４（またはＰチャネル型電界効果トランジスタＰ２１及びＰ２２）から成る能動負荷を接続しても構わない。
【００６３】
＜第３実施形態＞
図６Ａは、演算増幅器のマクロモデルの第３実施形態（例Ａ）を示す図である。第３実施形態（例Ａ）のマクロモデルは、入力段ＳＴ１と、増幅段ＳＴ２と、出力段ＳＴ３と、を有するほか、さらに出力制御部ＣＴＲＬ１を有する。なお、第３実施形態のマクロモデルにおいて、入力段ＳＴ１は、２つのｐｎｐ型バイポーラトランジスタから成る入力差動対を含んでいる。
【００６４】
出力制御部ＣＴＲＬ１は、異常判定に際して入力信号ＩＮ１及びＩＮ２と電源電圧ＶＰを監視し、演算増幅器の入力異常時や電源異常時には、演算増幅器の入力段ＳＴ１を制御して出力異常を発生させる。
【００６５】
例えば、例えば３Ｖの電源電圧ＶＰに対して３．５Ｖの入力信号ＩＮ１またはＩＮ２が印加された場合、出力制御部ＣＴＲＬ１は、入力異常や電源異常が生じていると判定して演算増幅器の出力信号ＯＵＴが異常値（例えばゼロ）となるように、入力段ＳＴ１の出力動作を制御する。
【００６６】
なお、出力制御部ＣＴＲＬ１では、異常判定に際して周囲温度Ｔも監視することが望ましい。周囲温度Ｔに応じて異常判定基準をどのように変動させるのかについては、演算増幅器の回路構成や設計仕様に応じて適宜調整すればよい。また、周囲温度Ｔについては、回路設計シミュレータ１０の基本パラメータとして入力された値を参照すればよい。
【００６７】
また、第３実施形態のマクロモデルについては、図６Ａで示した構成以外にも、種々の変形を行うことが可能である。例えば、図６Ｂや図６Ｃで示すように、入力段ＳＴ１の出力制御に代えて、増幅段ＳＴ２や出力段ＳＴ３の出力制御を行う構成としても構わない。また、図示はしていないが、入力差動対を形成するトランジスタをｐｎｐ型バイポーラトランジスタからＰチャネル型電界効果トランジスタに置き換えたり、入力差動対に接続される負荷を受動素子から能動素子に変更したりすることも任意である。
【００６８】
＜第４実施形態＞
図７Ａは、演算増幅器のマクロモデルの第４実施形態（例Ａ）を示す図である。第４実施形態（例Ａ）のマクロモデルは、入力段ＳＴ１と、増幅段ＳＴ２と、出力段ＳＴ３と、を有するほか、さらに出力制御部ＣＴＲＬ２を有する。なお、第４実施形態のマクロモデルにおいて、入力段ＳＴ１は、２つのｎｐｎ型バイポーラトランジスタから成る入力差動対を含んでいる。
【００６９】
出力制御部ＣＴＲＬ２は、異常判定に際して入力信号ＩＮ１及びＩＮ２と接地電圧ＶＮを監視し、演算増幅器の入力異常時や電源異常時には、演算増幅器の入力段ＳＴ１を制御して出力異常を発生させる。
【００７０】
例えば、例えば０Ｖの接地電圧ＶＮに対して−０．５Ｖの入力信号ＩＮ１またはＩＮ２が印加された場合、出力制御部ＣＴＲＬ２は、入力異常や電源異常が生じていると判定して演算増幅器の出力信号ＯＵＴが異常値（例えばゼロ）となるように、入力段ＳＴ１の出力動作を制御する。
【００７１】
なお、出力制御部ＣＴＲＬ２では、異常判定に際して周囲温度Ｔも監視することが望ましい。周囲温度Ｔに応じて異常判定基準をどのように変動させるのかについては、演算増幅器の回路構成や設計仕様に応じて適宜調整すればよい。また、周囲温度Ｔについては、回路設計シミュレータ１０の基本パラメータとして入力された値を参照すればよい。
【００７２】
また、第４実施形態のマクロモデルについては、図７Ａで示した構成以外にも、種々の変形を行うことが可能である。例えば、図７Ｂや図７Ｃで示すように、入力段ＳＴ１の出力制御に代えて、増幅段ＳＴ２や出力段ＳＴ３の出力制御を行う構成としても構わない。また、図示はしていないが、入力差動対を形成するトランジスタをｎｐｎ型バイポーラトランジスタからＮチャネル型電界効果トランジスタに置き換えたり、入力差動対に接続される負荷を受動素子から能動素子に変更したりすることも任意である。
【００７３】
＜第５実施形態＞
図８は、演算増幅器のマクロモデルの第５実施形態を示す図である。第５実施形態のマクロモデルは、駆動電流生成部ＩＤＲＶと、出力電流生成部ＩＯＵＴと、出力電流検出部ＩＤＥＴと、帰還電流生成部ＩＦＢと、を有する。
【００７４】
駆動電流生成部ＩＤＲＶは、電源端子ＶＰと接地端子ＶＮとの間で、演算増幅器の駆動電流Ｉｄｒｖを生成する。駆動電流Ｉｄｒｖの電流値は、電源端子ＶＰに印加される電源電圧と、接地端子ＶＮに印加される接地電圧とに応じて決定される。
【００７５】
出力電流生成部ＩＯＵＴは、出力端子ＯＵＴと理想接地との間で、演算増幅器の出力電流Ｉｏｕｔを生成する。
【００７６】
出力電流検出部ＩＤＥＴは、出力電流Ｉｏｕｔの大きさや向きを検出する。ＳＰＩＣＥ系の回路設計シミュレーションプログラムでは、起電圧０Ｖの電圧源を出力電流検出部ＩＤＥＴとして用いることができる。
【００７７】
帰還電流生成部ＩＦＢは、電源端子ＶＰと理想接地との間、或いは、理想接地と接地端子ＶＮとの間で、出力電流Ｉｏｕｔに応じた帰還電流Ｉｘ及びＩｙを生成する。具体的に述べると、帰還電流生成部ＩＦＢは、理想接地から出力端子ＯＵＴに向けて出力電流Ｉｏｕｔが流れているときには、電源端子ＶＰから理想接地に向けて流れる帰還電流Ｉｘを生成し、出力端子ＯＵＴから理想接地に向けて出力電流Ｉｏｕｔが流れているときには、理想接地から接地端子ＶＮに向けて流れる帰還電流Ｉｙを生成する。
【００７８】
なお、演算増幅器がＡ級またはＢ級の場合には、帰還電流Ｉｘ及びＩｙのいずれについても出力電流Ｉｏｕｔの全てを流せばよい。一方、演算増幅器がＣ級以上の場合、帰還電流Ｉｘについては出力電流Ｉｏｕｔの一部を流せばよく、帰還電流Ｉｙについては出力電流Ｉｏｕｔの全てを流せばよい。
【００７９】
このように、第５実施形態のマクロモデルでは、演算増幅器の出力端子ＯＵＴに流れる出力電流Ｉｏｕｔに応じて、電源端子ＶＰや接地端子ＶＮに帰還電流Ｉｘ及びＩｙを流すことができる。従って、第５実施形態のマクロモデルでは、演算増幅器の駆動電流Ｉｄｒｖと出力電流Ｉｏｕｔとの間に整合性を持たせることができるので、基板配線のインピーダンス等に起因する電源電圧の低下や接地電圧の浮き上がりをシミュレーション検証することが可能となる。特に、演算増幅器を高ゲインに設計する場合には、本構成を採用することが望ましい。
【００８０】
＜実施形態の組み合わせ＞
上記では、演算増幅器のマクロモデルに含まれる種々の構成要素のうち、入力段、増幅段、及び、出力段に関する第１〜第４実施形態と、駆動電流生成部及び出力電流生成部に関する第５実施形態と、を個別に説明したが、第１〜第４実施形態のいずれかと第５実施形態とを任意に組み合わせることも可能である。このような構成とすることにより、シミュレーション演算時の負荷は多少大きくなるものの、より実機に近い応答を模擬することが可能となる。
【００８１】
＜その他の変形例＞
なお、本発明の構成は、上記実施形態のほか、発明の主旨を逸脱しない範囲で種々の変更を加えることが可能である。すなわち、上記実施形態は、全ての点で例示であって、制限的なものではないと考えられるべきであり、本発明の技術的範囲は、上記実施形態の説明ではなく、特許請求の範囲によって示されるものであり、特許請求の範囲と均等の意味及び範囲内に属する全ての変更が含まれると理解されるべきである。
【産業上の利用可能性】
【００８２】
本発明は、ＣＡＥ［Computer Aided Engineering］、回路設計、モデリングなどの分野で好適に利用することが可能である。
【符号の説明】
【００８３】
１０    回路設計シミュレータ（コンピュータ）
１１    演算部
１２    記憶部
１３    操作部
１４    表示部
１５    通信部
２０    電気通信回線（インターネット）
３０Ｘ、３０Ｙ、３０Ｚ    サーバ
１００    回路設計シミュレーションプログラム
１１０    メインプログラム
１１１    回路作成モジュール
１１２    部品参照モジュール
１１３    プローブ設置モジュール
１１４    波形描画モジュール
１１５    波形解析モジュール
１２０    モデルライブラリ
１２１    受動素子モデル
１２２    能動素子モデル
１２３    マクロモデル
Ｔｒ１、Ｔｒ２    Ｐチャネル型電界効果トランジスタ
Ｒ１〜Ｒ７    抵抗
Ｄ１〜Ｄ５    ダイオード
Ｃ１〜Ｃ３    キャパシタ
Ｖ１〜Ｖ８    電圧源
Ｉ１〜Ｉ４    電流源
Ｑ１１、Ｑ１２、Ｑ２３、Ｑ２４    ｐｎｐ型バイポーラトランジスタ
Ｑ１３、Ｑ１４、Ｑ２１、Ｑ２２    ｎｐｎ型バイポーラトランジスタ
Ｐ１１、Ｐ１２、Ｐ２１、Ｐ２２    Ｐチャネル型電界効果トランジスタ
Ｎ１１、Ｎ１２、Ｎ２１、Ｎ２２    Ｎチャネル型電界効果トランジスタ
Ｒ１１、Ｒ１２、Ｒ２１、Ｒ２２    抵抗
Ｉ１１、Ｉ２１    電流源
ＬＭＴ１、ＬＭＴ２    電圧制御部
ＣＴＲＬ１、ＣＴＲＬ２    出力制御部
ＳＴ１    入力段
ＳＴ２    増幅段
ＳＴ３    出力段
ＩＤＲＶ    駆動電流生成部
ＩＯＵＴ    出力電流生成部
ＩＤＥＴ    出力電流検出部
ＩＦＢ    帰還電流生成部
【図１】
0006038462.tif 000002
【図２】
0006038462.tif 000003
【図３】
0006038462.tif 000004
【図４Ａ】
0006038462.tif 000005
【図４Ｂ】
0006038462.tif 000006
【図４Ｃ】
0006038462.tif 000007
【図４Ｄ】
0006038462.tif 000008
【図５Ａ】
0006038462.tif 000009
【図５Ｂ】
0006038462.tif 000010
【図５Ｃ】
0006038462.tif 000011
【図５Ｄ】
0006038462.tif 000012
【図６Ａ】
0006038462.tif 000013
【図６Ｂ】
0006038462.tif 000014
【図６Ｃ】
0006038462.tif 000015
【図７Ａ】
0006038462.tif 000016
【図７Ｂ】
0006038462.tif 000017
【図７Ｃ】
0006038462.tif 000018
【図８】
0006038462.tif 000019