このアンサーは、SelectIO ソリューション センター (Xilinx Answer 50924) のデザイン アシスタント (Xilinx Answer 50926) の一部です。
ここでは、デザインのシグナル インテグリティ問題をデバッグするため IBIS モデルを使用して説明します。
シグナル インテグリティ問題をデバッグするための IBIS モデル使用方法を説明します。
IBIS モデルに精通しておらず、I/O ドライバーおよびレシーバーをモデル化するために IBIS モデルの使用方法を知る必要がある場合は、(Xilinx Answer 50653) 「IBIS モデルおよびシミュレーション - IBIS モデルのバックグランド」を参照してください。
ロジック レベル:
IBIS シミュレーションを使用する利点の 1 つは、信号が PCB トレースを通過した後のレシーバーの電圧レベルを理解できることです。
その後、ロジック 0 またはロジック 1 をレシーバーで検出できるように、正しいロジック レベルがレシーバーにあることを確認できます。
IBIS シミュレータでさまざまな操作ポイントでのロジック レベルを確認できる方法を簡単な例を使用して示します。
この例は非常に基本的で、単純な Virtex-6 LVCMOS25 が含まれています。そのスルー レートは SLOW に設定されていて、12 mA の電流で短い 50 Ωの PCB トレースの最後にある別の Virtex-6 LVCMOS25 入力を駆動しています。
最初の例では、I/O が 50 MHz の信号をレシーバーに駆動するようになっています。このスロー信号はラインに沿って簡単に駆動されていて、レシーバーでの信号をプローブすると、その信号がレールまでずっと駆動されていることがわかります。
速度が 100 MHz を超えると、この信号は弱すぎて、ドライバーがそれをレールまで駆動することができなくなります。ラインをレールへ駆動しようとしているのですが、その状態になる前にそのラインを引き下げようと、ドライバーが切り替わります。
こういう速度で、データシートのロジック レベルは達成されています。速度が 200 MHz を超えると、この短いトレースでも、ドライバーはこのような速いスピードでは動作できなくなります。レシーバーでロジック 1 が認識されるレベルに高い電圧へとラインを駆動できないからです。
こうすれば IBIS シミュレーションを使用して、特定のドライバー、トレース、データ レートに対し、レシーバーの指定ロジック レベルを満たす信号をドライバーが提供することを確認できます。
ザイリンクス I/O パフォーマンス仕様の詳細については、(Xilinx Answer 47284) を参照してください。
バッファー選択
ザイリンクス デバイスがラインを駆動している場合、トレースおよびレシーバー情報を使用して、レシーバーで正しいロジック レベルを提供するドライバーを選択できます。
駆動電流については、(Xilinx Answer 38820) を参照してください。
ソースおよびシンクの電流
ソースおよびシンクの電流を確認することもできます。このケースでは、緑色の立ち上がりエッジと、赤色の立ち下がりエッジの両方で電流をプローブするよう、IBIS シミュレータが設定されています。
終端方法
IBIS モデルを使用して、終端方法が異なると信号へどういう影響を及ぼすのかを確認できます。どんなトポロジであっても、伝搬する波形が遠端にある何かに影響を及ぼしているために、ラインに反射が出ます。レシーバーでの反射は信号に共鳴またはオーバーシュートとして現れるか、信号が安定した値に向かって小刻みに変化しているように見えたりします。
ドライバーが強すぎたり、その出力インピーダンスがラインのインピーダンス未満だと、レシーバーでオーバーシュートや共鳴が見られます。ドライバーが弱すぎたり、その出力インピーダンスがラインのインピーダンスより大きい場合は、レシーバーのエッジが小刻みに変化していきます。終端およびザイリンクス I/O の詳細については、(Xilinx Answer 47225) を参照してください。
IBIS モデルを使用して、異なる終端方法のデザインのシグナル インテグリティへの影響を確認できます。たとえば、弱いドライバーがラインを駆動していないか確認します。次の例では、ピンク色で示す立ち上がりエッジが、滑らかにロジック High へと立ち上がっていないことが確認できます。その立ち上がりエッジは突然 High になります。これは、ドライバーがロジック High レベルに駆動できるようになる前に、レシーバーから反射が返ってくるからです。
ソース終端を見ると、ドライバーとともに抵抗が直列に配置されています。緑色で示すトレースにも、終端されていないラインに同じような立ち上がり時間が見られます。その信号および反射は直列抵抗により減衰するので、元の立ち上がりエッジを滑らかにする効果があります。分割終端を使用する場合は、立ち上がり時間が急激になり、ほかの 2 つの終端方法と比較すると、信号は非常に早い段階で安定した値に落ち着きます。
もう 1 つ考慮すべきケースは、ドライバーが強く、トレースのインピーダンスと比較して、ドライバーの出力インピーダンスが低い場合です。
次の例では、先に示した 3 つのケースを繰り返していますが、この例では 12 mA のドライバーがあります。終端処理をしていないケースでは、レシーバーで最初に大きなオーバーシュートがあり、これは反射してラインに返っていきます。
この状況は、ラインが安定したステートになるまで続きます。このケースでは、ドライバーは強いのですが、ラインが長いため、共鳴はさほど長く続きません。
ソース終端は緑色のトレースです。直列終端はドライバーの出力インピーダンスを増加させる効果があります。これは伝送ラインに信号の初期振幅を抑えます。ラインの共鳴は除去されます。
分割終端が使用されている場合、終端は遠端のオーバーシュートを抑える効果があると考えられます。
これらの例は、異なる終端方法の効果を評価するときの IBIS シミュレーションの実行方法を示しています。
ラインの反射
ボード上で信号を計測すると、ラインに反射が見られるのに、なぜ反射が起きているのか説明できないことがよくあります。このケースでは、ラインの終わりで信号がモニターされていないため、反射が起きている可能性があります。
信号の計測はボード上でビアを介して行うか、またはライン上にあるテスト ポイントで行われるのが一般的です。トレースおよびドライバーの IBIS シミュレーションを使用して、ハードウェアと相関させ、ピンまたはダイで信号の状態もチェックできるよう、その計測を模倣することができます。
次の例は、ボード上のビアで信号を計測すると、信号の質が実際には良いのに、悪いという印象を与えるケースです。このケースでは IBIS シミュレーションを使用して、ハードウェアでの計測と相関させることができます。
この例では、短いラインをビアに接続して、キャパシタを使用してロードしています。これはプローブとその効果を示す良いモデルです。ビアでは信号の質が悪く見えますが、レシーバーではよくなっています。
ザイリンクス SelectIO はダイ終端で使用できます。終端で信号を計測できないため、ハードウェアでの計測が非常に難しくなります。
このケースでの共通の問題は、パッケージがラインに反射を引き起こす可能性があることです。終端はダイにのみあり、ダイに非常に近い位置で計測しても、パッケージが原因で反射が見られます。
この場合、IBIS を使用してダイで信号を確認すると有益です。ザイリンクスのオンチップ終端については、(Xilinx Answer 47499)を参照してください。DIFF_TERM をイネーブルにした LVDS 信号の場合は、(Xilinx Answer 40509) を参照してください。
PCB トレース:
PCB トレースをモデル化するには、HyperLynx などの IBIS シミュレータを使用できます。シミュレータを使用して、さまざまなトレース タイプを考慮することができます。
トレースの長さを変えるとどういう効果が出るのかを見ることができるのが、この利点の 1 つです。PCB トレースをより正確に表すことができれば、シミュレーションの結果も改善されます。
Answer Number | アンサータイトル | 問題の発生したバージョン | 修正バージョン |
---|---|---|---|
50644 | SelectIO デザイン アシスタント: IBIS モデルおよびシミュレーション | N/A | N/A |
AR# 50645 | |
---|---|
日付 | 06/02/2017 |
ステータス | アクティブ |
種類 | ソリューション センター |
デバイス |