改訂版EDA用語辞典とは・著者一覧

 回路シミュレーション(circuit simulation)は,電子回路のアナログ動作を模擬することを言う。回路シミュレーションを実行するEDAツールを「回路シミュレータ」と呼ぶ。同ツールに,トランジスタ・レベルの回路接続情報と回路内の素子の電気的特性(→モデル・パラメータ)を入力すると,回路内のノード電圧と素子に流れる電流の直流特性や,時間応答,周波数応答を出力する。

トランジスタ・レベルの設計に使う

 回路シミュレータは,トランジスタ・レベルの回路設計に使われる。特に,フルカスタムLSIやメモリーLSI,アナログICの設計には不可欠なEDAツールである。

 例えば,回路構成案を選択したり,トランジスタの寸法を決める時などに使う。さらに,素子寸法や電気的パラメータのバラつきが回路特性に与える影響を解析したり,配線やSi基板を介した寄生雑音の影響の解析などにも活用されている。ASIC(application specific integrated circuit)では,マクロセル・ライブラリの開発に必須のツールである。

EDAの世界では歴史が長い

 EDAの世界では,回路シミュレータの歴史は長い。回路シミュレータの基本的なアルゴリズムは1970年代にすでに確立されていた。こうしたアルゴリズムを基に,米University of California, Berkeley校の「SPICE(Simulation Program with Integrated Circuit Emphasis)」や米IBM Corp.の「ASTAP(Advanced STatistical Analysis Program)」といった回路シミュレータが開発された。

 特にSPICEは,現在でも主流の回路シミュレータである。SPICEのソース・コードは基本的に公開されているため,それを拡張したツールを多くのEDAベンダーが販売している。大手半導体メーカーも独自に改良を加えたSPICEを利用している。

 半導体製造技術の微細化によって,最近,回路シミュレータに活躍の場が広がっている。大規模な論理LSIで,チップ上の配線を詳細に解析する必要がでてきたからである。

 さらに,高速動作の論理LSIを実装したプリント回路基板の設計でも,回路シミュレータは不可欠なツールとなってきた。大規模な回路を高速・高精度で解析できる回路シミュレータの重要性は従来にも増して高まっている(→シグナル・インテグリティ解析)。

汎用性高いが,大規模は苦手

 回路シミュレータには複数の実現手法がある。現在のところ主流なのは,「修正節点法」と呼ばれる回路方程式の定式化法と,解析式を使った「デバイス・モデル」を組み合わせたものである。

 修正節点法では,回路内のノード電圧と電圧源素子に流れる電流を変数として,「Kirchhoff(キルヒホッフ)の電流電圧法則」に基づく行列方程式を立てる。またデバイス・モデルは,個々のトランジスタに流れる電流を計算するために,実測した電気特性(電流電圧特性と容量電圧特性)をモデルにしたものである。理論的あるいは実験的な考察に基づいて開発された解析式を用いる。

 このようにして作られた回路方程式は,非線形の連立常微分方程式となる。そこで,インプリシット(implicit)積分法とNewton反復法を組み合わせて,非線形の連立常微分方程式を連立代数方程式に帰着させる。そしてLU分解法などの直接解法で解く。

 この方法は,数値計算上の理論的誤差が極めて少ない解法であることが知られている。どんな種類のデバイスや回路構成であっても汎用的に適用できる。半面,適用可能な回路規模は,2万~3万素子程度が限界である。

 これ以上規模が大きくなると,意味のある時間で処理が終わらなくなる危険性が高い。また,一般にデバイス・モデルを表す解析式は複雑で非線形性が強いため,適切な初期値を与えないと,回路シミュレーションが収束しないことがある。

新手法を採り入れて,高速化

 最近のLSI設計では,チップ全体の動作検証や,遅延時間あるいは消費電力の解析,また,レイアウト設計後の寄生容量や寄生抵抗を考慮した特性検証の必要性が急速に高まってきている。このようなケースでは,シミュレータで扱う素子数が数十万~数百万に達する場合も多く,従来型のシミュレータではもはや対応しきれない。

 そこで,こうした問題点を解決するために,大規模回路に対応したシミュレータを高速化するさまざまな手法が考案され,実用化されている。

 例えば,
●回路全体をいっぺんに解かずに,回路を小規模なブロックに分割して,それぞれ独立した回路として解く。ブロック間の調整は,やり取りされる信号の電圧値が設定された基準値を超えた時のみに行う(回路分割・イベント・ドリブン方式)
●デバイス・モデルをあらかじめ各種の条件で求めてテーブル化して置き,それを回路の解法時に参照する(テーブル・ルックアップ・モデル方式)
●回路が,複数の異なった時定数の回路から成る場合,過渡解析のタイム・ステップの取り方を回路の時定数に応じて複数設定し,精度を落とさず最適なタイム・ステップで効率良く過渡解析する(マルチレート・タイム・ステップ方式)
●回路行列の計算を分割し,複数のCPUで並列処理する(マルチ・スレッド方式),などを挙げられる。

 このような手法を用いて高速化を図ったSPICEシミュレータを「Fast SPICE」と呼んでいる。Fast SPICEは,アナログ回路の設計のみならず,先端プロセスのSoCの設計でも,無くてはならないツールとなっている。こうしたSoCでは,回路のアナログ的な振る舞いが論理動作へ及ぼす影響を無視できなくなっているためである。なお,Fast SPICEの高速化手法によっては,解析精度が劣化する場合があるため,使用に当たっては解析目的に合ったシミュレータを選択することが重要である。

回路特性の変動を解析

 回路を構成するトランジスタなどの素子は,その特性にバラつきを持っている。また,電源電圧や温度などの動作環境の変動によっても素子の特性は変化する。こうした特性バラつきや環境の変動によって,回路動作が受ける影響を解析することも,回路シミュレーションの重要な役割である。

 例えば,想定される範囲で素子の特性や動作環境が変動しても,回路の特性は目標性能(仕様)を満たすのか。また満たさない場合には,何が原因でどう対策を取れば良いのか,などを回路シミュレーションで調べる。

 素子特性のバラつきを回路シミュレーションに反映させる手法としては,「モンテカルロ解析」が広く使われている。モンテカルロ解析では,まず,製造プロセス上の変動に起因する素子寸法のバラつきや,材料の不均一性を,ガウス分布などの分布関数で表現する。そして,この分布関数を反映した統計的モデルをデバイス・モデルに組み込んで,回路シミュレーションを繰返し実行する。これで回路特性の分布が求まる。

 モンテカルロ解析で使う統計モデルは,「グローバル・バラつき」と「ミスマッチ」の2つの要素を組み合わせて作成することが一般的である。前者は,回路内の同種の素子ならば常に連動して変動するバラつきの要素を言う。後者は,同種の素子であっても相関を持たずにランダムに変動するバラつきの要素である。特にミスマッチは,アナログICの設計において,差動アンプのオフセット電圧やA-D/D-A変換器の精度,カレント・ミラー回路の電流比精度など,アナログ回路の主要な性能を決める要素であるため,その影響を詳細に検証する必要がある。

モンテカルロ解析を効率化

 従来,モンテカルロ解析を使って回路特性の分布や歩留りを精度良く求めるためには,SPICEなどの回路シミュレーションを何度も,場合によっては1000回以上,繰り返して実行する必要があった。このため,長大な処理時間と計算コストを要していた。

 実行回数が多いのは,乱数を発生させて均一なバラつきのサンプルを得ているためである。精度を上げるには,相当な回数のサンプリングを行わなければならない。

 しかし,最近,サンプリングの均一性を従来よりはるかに少ない試行回数で確保できる「Latin Hypercube Sampling」などのアルゴリズムが開発された。このアルゴリズムを取り入れた市販の回路シミュレータも登場し,劇的な検証の効率化が図られるようになった。