通常、高速デジタル回路のシミュレーションを行う際には、まず駆動信号を時間領域で定義することから始める。この定義では駆動信号、つまり「励振(Excitation)」が遷移するタイミングを規定する。そのデータを基に、時間の関数として励振を記述するサブルーチンを構築する。次にシミュレーションの進行に合わせて、信号遷移時の波形、すなわち信号エッジを生成する。
このようなエッジの生成過程は、線形フィルタ処理の一種であると考えることができる。例えば、ガウス型(ガウシアン)低域通過フィルタに、時間軸上で見て完全な矩形波を通すと、ガウシアンエッジが生成される。つまり、この場合の信号エッジは、釣鐘型のガウス曲線を積分した形状になる。この形状は、統計学的にはガウス誤差関数「erfc()」として知られている。
ガウシアンフィルタの-3dBの帯域を0.3386/Tと設定すると、信号エッジの10%〜90%の立ち上がり時間または降下時間が正確にTになる。ただし、これが成立するには、信号の遷移間隔が十分に分離され、各遷移点でのエッジの形状が同一でなければならない。
シミュレータソフトウエアのコードの中をのぞいてみても、線形フィルタの動作を明示的に記述したルーチンは見つけられないかもしれない。信号エッジを生成する方法は数多くあるからだ。とはいえ、それらは何らかの線形フィルタと等価なものである。いずれにしても、シミュレータは信号の周波数応答が信号エッジ生成用の低域通過フィルタの周波数応答と等価になるよう働く。
図1に示したのは、2つの代表的なエッジ生成フィルタであるガウシアンフィルタと折れ線(PWL:Piecewise-Linear)フィルタの周波数応答である。各フィルタにおいて、10%〜90%の立ち上がり時間、降下時間は100psとしている。ガウシアンフィルタは滑らかな応答特性を持ち、10GHzを越える高い周波数成分がほとんど存在しない。一方、折れ線フィルタでは10GHz以上の周波数成分が非現実的なほどに大きい。この特性は、SPICEシミュレータを用いる際に、各エッジをPWL関数によって記述したときに見られる。こうした信号は時間領域の波形としては一見良好な特性に見えるが、周波数特性の面では実回路の特性を表現するものにはならない。
折れ線フィルタは、矩形(ボックスカー:boxcar)のインパルス応答を持つ。このボックスカーフィルタを用いてデジタル信号を表すと、立ち上がりエッジと降下エッジが線形の台形波となる。10%〜90%の立ち上がり時間をTとすると、0%〜100%の立ち上がり時間は1.25Tと計算できる。
図1に示した折れ線フィルタの特性は、8GHzのポイントにヌル(null)を持つボックスカーフィルタの実際の周波数応答である。周波数が12GHzのポイントを見ると、折れ線フィルタによる応答のピーク値はガウシアンフィルタによる応答に比べて20dBほど高い。また、折れ線フィルタを用いる場合、ヌルのポイントに周波数成分が存在しないことになり、そこで起きる現象が検証できない。さらに、高周波領域におけるクロストークが過大に評価されてしまう。このような問題があるため、筆者はシミュレーションでは折れ線フィルタによる手法を使用しないことにしている。
実際の信号エッジの形状や周波数特性を詳細に評価する場合には、その信号を適切に表現できる信号波形の生成方法を適用したい。現実の信号波形のデータが存在する場合や、IBIS(I/O Buffer Information Specification)ファイルから抽出できる場合には、それらを利用すべきである。そのほかに利用可能な情報がない場合には、ガウシアンフィルタによる手法を用いるとよい。
<筆者紹介>
Howard Johnson
Howard Johnson氏はSignal Consultingの学術博士。Oxford大学などで、デジタルエンジニアを対象にしたテクニカルワークショップを頻繁に開催している。ご意見は次のアドレスまで。www.sigcon.comまたはhowie03@sigcon.com。
Copyright © ITmedia, Inc. All Rights Reserved.