IBISモデルを用いた解析フロー
ここでは、IBISモデルを用いたシミュレーションのフローについて説明します。
IBISモデルを用いた解析の概要
IBISモデルを用いた解析は、実装基板の製造前あるいは製造後に、実装基板と同様な信号波形を得る為のシミュレーションを指します。このシミュレーションには、信号を送る/受ける部品の電気特性と、信号が流れる基板配線の特性情報が必要となります。部品の電気特性情報を表したモデル、これがIBISモデルです。また、基板上の伝送線路の電気特性情報を表したものは基板のレイアウト情報や層構成、基材の電気特性から成っています。これらの情報をシミュレータに取り込んでシミュレーションを実行する事で、信号波形を得る事が可能です。
下の図はIBISモデルを用いた解析を模した図です。実際の部品、基板配線では、ドライバとなるICとレシーバとなるICが基板上に実装されており、電気信号を送受信を行っています。IBISモデルを用いた解析では、基板設計CADで設計されたレイアウト情報を解析ツールに取り込み、基板配線の電気的特性を表したモデルにして、そこに、ドライバICのIBISモデル、レシーバICのIBISモデルを接続して解析を行います。
IBISモデルを用いた解析のフロー
下図にIBISモデルを用いた解析のフローを示します。本説明では、IBISモデルを用いた解析のフローの一例として下図の1~12のステップについて紹介します。
1.解析目的の決定
まずはシミュレーションの目的を決定します。今回の例では「ダンピング抵抗の定数、ドライブ能力の検討」をモチーフにして解説を進めます。
※その他の目的の決定例としては、実装する部品の候補が複数ある為、「部品ごとの波形を比較し、最適な部品選定を行う」や、消費電力をなるべく抑えたい為、「電流消費が大きい終端抵抗による波形成形でない方法で、波形を整える」等、課題に応じた目的設定が必要です。
2.解析環境の選択
解析目的が決定したら、目的に合う最適なシミュレーション環境を選びます。IBISモデルを用いたSIシミュレーションには以下のようなタイプがあります。
3.解析に必要な資料の準備
解析環境が決まったら、SIシミュレーションに必要な資料を用意します。以下に一般的に必要と考えられる資料をまとめましたので参考にして下さい。
- 回路構成(回路図等)
ICの接続状況、分岐数、ダンピング抵抗の値等。 - 基板のレイアウト情報
シミュレーションに用いるCADデータ等。 - 基板の層構成情報
銅箔の厚み、基材(誘電体)の厚み、レジスト厚み、比誘電率、誘電正接(TanD)等。 - 動作周波数
対象とする信号の動作周波数。 - 閾値情報(データシート等)
VIH、VIL、Overshoot、Undershoot等の値 - IBISモデル
ICの特性を表したモデル。
4.IBISモデルの入手
IBISモデルを用いた解析を実行するには、IBISモデルを入手する必要がありますが、IBISモデルは主に以下の方法で入手が可能です。
- 方法1. ICベンダのWebサイトからダウンロードする
ICベンダのWebサイトにシミュレーションモデルが公開されている場合は、そちらから入手します。この際、閾値情報が記載されているデータシートも併せて入手しておくと良いと考えます。
- 方法2. ICベンダまたはその代理店に直接問い合わせを行い入手する
直接、ICベンダへIBISモデルの問い合わせを行う方法となります。ICベンダのWebサイトにIBISモデルが公開されていない場合は、こちらの方法を試みてみるのが良いと思われます。
5.IBISモデルの確認
IBISモデルを入手したらIBISモデルの中身を確認し、記述や品質のチェックを行います。IBIS Open Forumでは、IBISモデルを確認するためのツールを提供しています。専用エディタで閲覧するとIBISモデルを確認しやすい為、専用エディタの使用を推奨します。
下図は専用エディタでIBISモデルを開いた例です。IBISモデルは[]でキーワードが宣言されその後に関連した内容が続きます。
シミュレーションを行う上でどの様なモデルを用いているのかを理解しておく事は重要です。慣れれば簡易に特性を見る事が可能になってきますので、普段からモデルを確認する習慣を身に付けることが望ましいと考えます。
IBISモデルの基本構造を以下に示します。伝統的なIBISモデルは、ヘッダ部、コンポーネント部、バッファモデル部の3つの部から構成されています。まずは、コンポーネント部とバッファモデル部に自分の解析したいモデルがあるか確認する必要があります。
また、入手したIBISモデルが正しく動作するか構文をチェックする必要があります。構文チェックは専用エディタで確認する方法や、その他の構文チェックツールを用いて確認する方法があります。構文チェックツールはIBIS Open Forumが提供しています。構文チェックツールにてエラーがゼロである事を確認する必要があります。エラーがあった場合は、エラー内容を確認し、必要に応じてICベンダに問い合わせて下さい。
IBISモデルには様々な情報が含まれています。全ての構文を網羅してチェックする事は容易ではありませんが、以下にシミュレーション開始前のチェック項目をまとめましたので参考にして下さい。
- [Component]に使用するパッケージは定義されていますか?
(定義されていない場合、このまま代用モデルとして解析を行うか、別途モデルの要求を行う必要があります。) - 以下の3項目はどれか1つの記述があることを確認します。
- [Package]に適切なR、L、Cの値が入っていますか?
(0や1f等、微小の値が書いてある場合は未考慮となりパッケージモデルを別途定義する必要あります。) - [Pin]に1つ1つのR、L、Cの値が記載れていますか?
(Pin毎にPkgモデルが定義されているか確認して下さい。定義されていなくてもシミュレーションは可能です。) - [Package Model]が定義されていませんか(.pkgや.ebdファイルが別途ありませんか)?
(定義されている場合はより詳細なパッケージモデルが定義されている可能性があります。)
- [Package]に適切なR、L、Cの値が入っていますか?
- [Pin]に定義されたピン数、ピンアサインは使用するICと同じですか?
(FPGA等、手動でバッファモデル[model]のアサインを行う必要があるか確認します。) - 差動線路の解析する場合、[Diff pin]の記述がありますか?
(構文チェックツールでは確認不可能なので、念の為、確認しましょう。) - [Model Selector]の記述がある場合、どのバッファモデルを使用するか決まっていますか?
(実機で設定できないものもあるので注意が必要です。ユーザーガイドがあれば確認し、ICの仕様と整合が取れるか確認しましょう。) - Model_typeの記述は意図した通りですか?
(入出力が意図した通りか確認して下さい。DataでOutputのみだとinputの解析は不可能です。) - [Voltage Range]の値はシミュレーション対象回路の動作電圧と合致しますか?
(差動バッファでは合致しない場合があります。) - C_compの値を確認して下さい。
(ICの比較を行う際に重要な値となる。確認する習慣をつけると良いでしょう。) - [Falling Waveform]や[Rising Waveform]の記載はありますか?
(記述がある方が解析の確度が高くなります。波形形状からバッファ特性の傾向を確認しましょう。)
6.トポロジの抽出
シミュレーションに必要な資料が揃い、IBISモデルの確認が完了したら、いよいよ解析の設定に取り掛かります。まずは、基板の電気特性を抽出します。基板設計CADのレイアウト情報をシミュレータに取り込み、基板の層構成情報を入力し、トポロジ(配線の接続情報)を抽出します。トポロジを抽出した後は、配線の特性インピーダンスが意図した値であるか確認する事が望ましいです。
7.IBISファイルの割り当て
トポロジを抽出した後は、ICにIBISファイルをアサインします。
- シミュレーションタイプ2の「基板レイアウト直接解析タイプ」の場合は、レイアウト画面上で直接IBISファイルを割り当てます。
- シミュレータによってアサイン方法は異なります。方法につきましては各EDAベンダにご確認下さい。
8.パッケージモデルの割り当て
ICにIBISモデルを割り当てたら次にパッケージモデルを割り当てます。
IBISモデルの記述では[Component]と呼ばれる部分に書いてあるものを選ぶ形になります。BGA, QFPなど、複数ある中から最も適したものを選んで下さい。
9.Pinの割り当て
パッケージモデルを割り当てたら、解析対象信号の[Pin]を割り当てます。その際、解析対象の信号名とモデル名を確認します。
シミュレーションツールによってはパッケージモデルを割り当てると自動的にピンの割り当てが行われるものもあります。しかし、以下のIBISモデルに関しては注意が必要です。
- FPGAタイプのIBISモデル。IBISモデルのピン番号とデバイスのピン番号に関連がありません。
- IBISモデルに該当するピンがない場合。
10.バッファモデル割り当ての確認
ピンの割り当てが完了したら、バッファモデルの割り当てを行います。
デバイスによっては一つのピンに複数のバッファモデルを割り当てることができるものもあり、[Model Selector]に記載されているバッファモデルのうち、意図したものを選択出来ているか確認を行います。
シミュレーションツールによっては、[Model Selector]に記載されている一番上のバッファモデルが自動的に選択されるものがあるため、注意して確認を行います。
また、[Model Selector]に記載されている複数のバッファモデルが実デバイスでも設定可能であることも併せて確認しておく必要があります。
11.回路定数などの確認
IBISモデルの割り当てが完了したら、改めて部品定数や特性インピーダンス、電源電圧などの回路情報を確認します。
◇部品定数
- 検討する部品定数が設定されているか。
- 部品検討する際は、入手性やコストの観点からE系列を意識して選択することをおすすめします。
◇特性インピーダンス
- 意図している特性インピーダンスとなっているか。
例)シングルエンド:50Ω、USB:90Ωなど
◇電源電圧
- 回路図記載の電源電圧に設定されているか。
例)プルアップ電圧:3.3V、DDR3のVTT電圧:0.75Vなど
12.解析条件の設定
IBISモデルの割り当て、および、回路情報の確認が完了したら解析条件の設定を行います。
シミュレーションツールにより、設定項目は異なりますが、以下に一般的な設定項目を挙げます。
- 動作周波数
- ビットパターン
- 解析時間
- サンプリング間隔
- 観測点(DieまたはPin)
解析時間はいきなり長い時間を設定するのではなく、まずは、シミュレーションが正しく回るかを確認するために2~3周期ほどの時間に設定することをお勧めします。その後、波形を判定するのに十分なシミュレーション時間に設定し解析を実行することが好ましいです。
◇解析時間の初期設定の目安
- 『伝送線路長+2~3周期』
伝送線路長の目安(プリント基板):1[mm]≒7[ps]
1周期:1/周波数[Hz]
また、サンプリング間隔は、小さくするほど解析結果の精度が上がりますがシミュレーションに要する時間が長くなります。
解析の目的により最適なサンプリング間隔を設定する必要がありますが、目安としては『立ち上がり時間/10』程度をおすすめします。
13.解析の実行
解析条件の設定が完了したら、いよいよ解析の実行です。解析を実施し計算が終了したら波形を出力します。
出力された結果波形を確認し、デバイスが要求する規格を満足しているか、確認を行います。
デバイスが要求する規格は、オーバー/アンダーシュートやVIH/VILなど様々ありますが、各デバイスのデータシート等に記載があります。要求事項やその値を確認し、結果波形を照らし合わせて評価を行っていきます。
以下は、今回の例における解析結果波形です。
この結果を見ますと、オーバー/アンダーシュートが閾値を満たさず、規格を満足していませんでした。
次項では、この波形を整形するための対策を検討していきます。
14.条件を変更して波形を確認
前項で解析結果波形がオーバー/アンダーシュートを満たしていなかったため、ここでは波形を整形するための対策を検討します。
まずは、ダンピング抵抗に定数を変更した場合の波形を確認してみます。
ここでは初期設定の10Ωから33Ωへ変更を行いました。
この時の解析結果は以下のようになりました。
ダンピング抵抗を33Ωに変更することで規格を満足することができました。
続いては、LSIのドライブ能力を変更した場合の波形も確認してみます。
今回のLSIは5種類の出力バッファが選択できます。IBISモデルに[Model Selector]キーワードで記載されているバッファモデルを変更し波形を確認します。
この時の解析結果は以下のとおりです。
この結果を観察しますと、オーバー/アンダーシュートがなく規格を満足し、矩形波に近い波形をとなる4mAバッファが最適なドライブ設定だと思われます。
ではさらに、部品コスト低減のためダンピング抵抗を削除する検討を行ってみます。
解析設定の抵抗定数を0Ωとすることで抵抗削除の検討を行えますが、抵抗値を変えると波形が変化するため、再びドライブ能力の最適値を求める検討を行う必要があります。
以下に、検討した条件における解析結果波形を載せます。
ドライブ設定がBD04THIFのときダンピング抵抗を0Ωとすると、オーバー/アンダーシュートが悪化しました。
そこで、更にドライブ能力を下げる(BD02THIFへ変更)ことで波形が改善し、ダンピング抵抗を削除しても問題ないことが確認できました。
このようにチューニング可能なパラメータが複数存在する場合、各パラメータの組み合わせを検討する必要があります。
下表には、波形整形を行うための一般的な対策方法をまとめています。
解析のケースによりますが、目安としてご活用ください。
15.レポート作成
最後に、シミュレーションの結果レポートの書き方をご紹介します。
シミュレーションレポートは解析実施時の報告書とする役割とともに、後日、第三者が解析を再現するような場合の仕様書としての役割もあります。従いまして、解析条件や検討内容を記載しておくと分かりやすいレポートとなります。
以下に、主な記載事項を挙げます。
- シミュレーションモデル(IBISモデル名、パッケージ名、バッファモデル名など)
- 解析条件(動作周波数、ビットパターンなど)
- 解析トポロジ
- 解析結果波形、コメント
以下は、今回の解析におけるレポート例です。
以上、IBISモデルを用いた解析フローのご紹介をさせていただきました。
シミュレーションはその目的に応じて、その都度、解析手法は異なってきますが、ここに挙げた手法をご参考に活用いただければと思います。