6? 2012? EMI_DG_004-4.1 EMI_DG_004-4.1 この章では システムのシグナル インテグリティを向上させる方法についてのガイドライン および DDR2 または DDR3 SDRAM インタフェースをシステム上に正しく実装するためのレイアウト ガイドラインを示します DDR3 SDRAM は 既存の DDR2 SDRAM 規格と部分的に下位互換性を維持しながら 複数の On-Die Termination(ODT) 選択機能および出力ドライバ インピーダンスのコントロール機能を備え 消費電力 データ帯域幅 信号品質が改善されている第 3 世代の DDR SDRAM ファミリです この章では レシーバでの信号品質に影響を及ぼす 以下の主な要因について説明します レべリングおよびダイナミック ODT 適切な終端の使用 出力ドライバのドライブ強度設定 レシーバでの負荷 レイアウト ガイドライン メモリ インタフェースの性能が向上させると 送信された信号品質が低い場合 レシーバでの全体的なデータ有効マージンが大幅に減少する可能性があるため ボード設計者はレシーバでの信号品質に注意する必要があります 図 4 1 に レシーバから見た理想的な信号と実際の信号の違いを示します Voltage V IH Voltage V IH V IL V IL Ideal Time Real Time 2012 年 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services. ISO 9001:2008 Registered Feedback Subscribe
更に この章では 各種終端方法とそれらがレシーバの信号品質に及ぼす影響を比較します また レシーバでのシグナル インテグリティを最適化するために FPGA の適切なドライブ強度設定 および信号品質上のコンポーネント対 DIMM コンフィギュレーションなどのように別のローディング タイプの効果について説明します この章の目的は 様々な種類の終端方法間のトレード オフ 出力ドライブ強度の影響 および負荷について理解し 複数の組み合わせをすばやく検討し 設計に最適な設定を選択することです JEDEC 規格で定められているとおり DDR3 SDRAM DIMM では アドレス コマンド およびクロックの各信号には必ずフライバイ トポロジーを使用します この標準 DDR3 SDRAM トポロジーでは リード レベリングとライト レベリング機能を備えた UniPHY または ALTMEMPHY 付きの Altera DDR3 SDRAM コントローラを使用する必要があります ディスクリート DDR3 SDRAM コンポーネントを使用するときに DDR3 SDRAM の完全な互換性を保つため カスタム PCB 上で JEDEC DDR3 UDIMM フライバイ トポロジーを模倣することをお勧めします 1 Arria II Arria V および Cyclone V デバイスは リード レベリングおよびライト レベリング機能を搭載した DDR3 SDRAM に対応していないため 標準の DDR3 SDRAM フライバイ アドレス コマンド およびクロック レイアウト トポロジーを使用した標準の DDR3 SDRAM DIMM または DDR3 SDRAM コンポーネントには対応していません
DDR2 SDRAM と DDR3 SDRAM の主な相違点の 1 つは レベリング機能の使用です シグナル インテグリティを改善してより高周波な動作に対応するために クロック コマンドおよびアドレス バス信号のためのフライバイ終端方式が JEDEC 委員会により定められました フライバイ トポロジーでは クロック アドレス およびコマンド信号が DIMM を通過するときに すべての DRAM でデータとストローブ間にフライト タイム スキューを意図的に発生させることで 同時スイッチング ノイズ (SSN) を減らします ( 図 4 2 ) Command, Address, Clock in Flyby topology in DDR3 DIMM V TT Data Skew Data Skew Calibrated Out at Power Up with Write Leveling フライバイ トポロジーによりフライト タイム スキューが発生するため JEDEC 委員会は DDR3 SDRAM に対するライト レベリング機能を導入しました このため コントローラはバイト レーンごとにタイミングを調整することにより このスキューを補償しなければなりません 書き込み時には DIMM 上のコンポーネントに到達するクロックと一致するように DQS グループは別々の時刻に起動されますが メモリ クロックと DQS 間で定義される t DQSS ±0.25 t CK のタイミング パラメータに適合する必要があります 読み出し動作時には メモリ コントローラはフライバイ トポロジーによって生じる遅延を補正する必要があります Stratix III Stratix IV および Stratix V FPGA には データを適切にキャプチャするためにアラインメント レジスタと同期レジスタが I/O エレメント (IOE) に組み込まれています DDR2 SDRAM では ドライブ強度設定は フル と 低 の 2 つのみで それぞれ 18 Ω と 40 Ω の出力インピーダンスに対応します これらの出力ドライブ強度設定は静的設定であり キャリブレーションされません そのため 出力インピーダンスは 電圧と温度のドリフトに従って変化します
DDR3 SDRAM では プログラマブル インピーダンス出力バッファが使用されます 現在 34 Ω と 40 Ω の 2 つのドライブ強度設定があります 40 Ω ドライブ強度設定は現在 JEDEC が定義した予約仕様になっていますが 一部のメモリ ベンダで提供されているため DDR3 SDRAM 上でも使用可能です 出力インピーダンス設定について詳しくは それぞれのメモリ ベンダのデータシートを参照してください ドライブ強度設定は モード レジスタ 1(MR1) に定義されているメモリ モード レジスタをプログラミングして選択します 出力ドライバ インピーダンスをキャリブレーションするためには 精度の高い外部抵抗 RZQ は ZQ ピンと VSSQ を接続します この抵抗の値は 240 Ω ±1% でなければなりません DDR3 SDRAM DIMM を使用している場合 RZQ は DIMM にはんだ付けされているので RZQ のためにボードをレイアウトする必要はありません 出力インピーダンスは初期化中に設定されます 電源投入後に出力ドライバ インピーダンスをキャリブレーションするには DDR3 SDRAM に 初期化の一部としてキャリブレーション コマンドとリセット プロシージャが必要です DDR3 SDRAM はコントローラがキャリブレーション コマンドを発行したときに定期的に更新されます キャリブレーションされた出力インピーダンスだけでなく DDR3 SDRAM では 同一の精度の高い外部抵抗 RZQ を介してキャリブレーションされたパラレル ODT にも対応します この ODT は DDR3 SDRAM 内でマージされた出力ドライバ構造体を使用することで実行でき DQ と DQS ピンのピン キャパシタンスの向上にも役立ちます DDR3 SDRAM が対応する ODT 値は RZQ が 240 Ω の場合 220 Ω 30 Ω 40 Ω 60 Ω および 120 Ω となります DDR3 SDRAM には 出力ドライバ インピーダンスと ODT のキャリブレーションに関するコマンドが 2 つあります 1 つ目のキャリブレーション コマンドである ZQ CALIBRATION LONG(ZQCL) は多くの場合 最初の電源投入時または DDR3 SDRAM がリセット状態にあるときに使用されます このコマンドにより 出力ドライバ インピーダンスと ODT が初期温度および電圧状態にキャリブレーションされ 製造によるさまざまなプロセスの変化が補償されます 初期化またはリセット時に コントローラは ZQCL コマンドを発行した場合 完了までに 512 メモリ クロック サイクルがかかります それ以外の場合は 完了までに 256 メモリ クロック サイクルがかかります コントローラは 通常動作時に 温度または電圧の変化を追跡するために 2 つ目のキャリブレーション コマンドである ZQ CALIBRATION SHORT (ZQCS) を使用します ZQCS コマンドの完了には 64 メモリ クロック サイクルがかかります ZQCS コマンドでは修正しきれないほど多くのインピーダンス エラーがある場合は ZQCL コマンドを使用してください DDR3 SDRAM での ZQ キャリブレーションの使用について詳しくは Micron 社のアプリケーション ノート TN-41-02 DDR3 ZQ Calibration を参照してください
ダイナミック ODT は DDR3 SDRAM の新機能なので DDR2 SDRAM では使用できません ダイナミック ODT では モード レジスタ セット (MRS) コマンドを発行しないで ODT 設定を変更できます ダイナミック ODT を有効にした場合 書き込み動作がないときには DDR3 SDRAM は RTT_NORM の終端設定で終端します 書き込み動作があると DDR3 SDRAM は RTT_WR の設定で終端します RTT_NORM および RTT_WR の値は モード レジスタ MR1 と MR2 をプログラミングすることで事前に設定されます 図 4 3 に ダイナミック ODT を有効にした場合の ODT の動作を示します (1) 出典 :TN-41-04 DDR3 Dynamic On-Die Termination, Micron 2 DIMM DDR3 SDRAM コンフィギュレーションでは ダイナミック ODT は アクセス中のモジュールでのジッタの減少に役立ち セカンダリ モジュールからの反射を最小限に抑えます f DDR3 SDRAM でのダイナミック ODT の使用について詳しくは Micron 社のアプリケーション ノート TN-41-04DDR3 Dynamic On-Die Termination を参照してください Stratix III および Stratix IV デバイスは すべての I/O バンクの双方向 I/O に対して オン オフ ダイナミック直列および並列終端に対応しています ダイナミック OCT は Stratix III および Stratix IV FPGA デバイスの新機能です ダイナミック並列終端は 双方向 I/O がレシーバとして動作するときにのみイネーブルされ ドライバとして動作するときはディセーブルされます 同様に ダイナミック直列終端は 双方向 I/O がドライバとして動作するときにのみイネーブルされ レシーバとして動作するときはディセーブルされます ダイナミック OCT のデフォルト設定は 直列終端であり インタフェースがアイドル状態 つまり アクティブなリードまたはライトなしの時に 電力を節約されます
1 また OCT のダイナミック コントロール動作は バッファの出力イネーブル信号とは分離されます そのため UniPHY IP では 読み出しサイクル時にのみ並列 OCT をイネーブルでき インタフェースがアイドル状態のときは電力が節約されます 50 Ω FPGA DDR3 DIMM DDR3 Component 34 W Driver 100 W Driver 50 Ω R S = 15 Ω Receiver 100 W V REF = 0.75 V 3" Trace Length V REF = 0.75 V Receiver 50 W FPGA DDR3 DIMM DDR3 Component 34 Ω Driver 100 Ω Driver 50 Ω R S = 15 Ω Receiver 100 Ω V REF = 0.75 V 3" Trace Length V REF = 0.75 V Receiver データの方向に応じてシグナル インテグリティが最適化されるので この機能は任意の高性能双方向パスを終端するのに役立ちます また ダイナミック OCT では ODT に対応しているメモリ デバイス (DDR3 SDRAM など ) とともに使用されるときは 外部終端抵抗が不要になるため コストを削減できるだけでなくボード レイアウトも簡素化できます ただし Stratix III および Stratix IV FPGA デバイスのダイナミック OCT は 前項で説明した DDR3 SDRAM のダイナミック ODT とは異なります これらの機能を同一のものとして扱うことはできません f f StratixIII FPGA のダイナミック OCT 機能について詳しくは Stratix III デバイス ハンドブック Volume 1 の Stratix III デバイスの I/O 機能 の章を参照してください Stratix IV FPGA のダイナミック OCT 機能について詳しくは Stratix IV デバイス ハンドブック Volume 1 の Stratix IV デバイスの I/O 機能 の章を参照してください
Stratix V のデバイスは ダイナミック OCT 機能をサポートし より柔軟性を提供します Stratix V OCT キャリブレーションは 各 OCT ブロックに存在する 1 つの RZQ ピンを使用します 別の OCT 値を実装するために RZQ ピンのリファレンス抵抗として 次のいずれかを使用できます 240 Ω リファレンス抵抗 34 Ω 40 Ω 48 Ω 60 Ω および 80 Ω の R S OCT 抵抗および 20 Ω 30 Ω 40 Ω および 120 Ω の R T OCT 抵抗を実装します 100 Ω リファレンス抵抗 25 Ω と 50 Ω の R S OCT 抵抗 および 50 Ω の R T OCT 抵抗を実装します f Stratix IV FPGA のダイナミック OCT 機能について詳しくは Stratix V デバイス ハンドブック Volume 1 の Stratix V デバイスの I/O 機能 の章を参照してください DDR2 は 4 つの異なる終端を含む統治 Stub-Series Terminated Logic(SSTL) JESD8-15a に対する JEDEC 規格に準拠しています SSTL の一般に使用される 2 つの終端方法は 以下のようにあります 直列抵抗を接続したまたは接続しない出力負荷のシングル並列終端 (JESD8-15a に記載された Class I) 直列抵抗を接続したまたは接続しない出力負荷のダブル並列終端 (JESD8-15a に記載された Class II) 選択した信号の種類に応じて いずれかの終端方法を使用できます デザインの FPGA および SDRAM メモリ デバイスに応じて 外部終端方法または内部終端方法を選択できます システム コスト削減と PCB レイアウト デザイン簡素化に対する要件が高まるにつれて 伝送線路上に並列終端を配置せずに メモリ インタフェースとメモリ間にポイント ツー ポイント接続を使用する場合があります このケースでは 選択したデバイス上で提供された FPGA 側の On-Chip Termination(OCT) と SDRAM 側の On-Die Termination (ODT) などの内部終端を活用することができます
外部終端を使用する場合は デザインに最適なトポロジーを決定するために終端抵抗の位置を検討する必要があります 図 4 5 および図 4 6 に フライバイ トポロジーと非フライバイ トポロジーの最も一般的に使用される 2 つの終端トポロジーを示します V TT R T = 50 Ω Board Trace FPGA Driver Board Trace DDR2 SDRAM DIMM (Receiver) フライバイ トポロジー ( 図 4 5 参照 ) の場合は レシーバの後に並列終端抵抗を配置します この終端配置により 非フライバイ トポロジーでの望ましくない終端されていないスタブを解決できます ただし このトポロジーを使用すると コスト増となり配線も複雑になります Stratix II Memory Board 2 は 並列終端抵抗の配置にフライバイ トポロジーを使用します Stratix II Memory Board 2 は アルテラ内部でのみ使用可能なメモリ テスト ボードであり アルテラのメモリ インタフェースをテストおよび検証する目的で使用されます V TT R T = 50 Ω FPGA Driver DDR2 SDRAM DIMM (Receiver)
非フライバイ トポロジー ( 図 4 6 参照 ) では ドライバとレシーバの間に ( レシーバに近接して ) 並列終端抵抗を配置します この終端配置ではボード レイアウトが簡単になりますが 終端抵抗とレシーバとの間が短い終端されていないスタブとなります 終端されない伝送線路では レシーバにリンギングと反射が生じます 外部終端を使用しない場合 DDR2 は ODT を提供し アルテラの FPGA は様々なレベルの OCT のサポートがあります ボードの消費電力を低減し 必要なボード面積を減らすために ODT と OCT を使用して検討する必要があります OCT テクノロジは Arria II GX Arria II GZ Arria V Cyclone III Cyclone IV Cyclone V Stratix III Stratix IV および Stratix V で提供されます 表 4 1 には 各デバイスの OCT サポートの範囲をまとめます SSTL-18 は アルテラの FPGA で DDR2 メモリ インタフェースにサポートされる規格であるため この表では SSTL-18 規格に関する情報を提供します チップ内直列終端 (R S ) は 出力および双方向バッファでのみサポートされます キャリブレーション付きの R S の値は R UP および R DN ピンに接続される Class II の 25 Ω および Class I の 50 Ω の抵抗に対してキャリブレーションされ 25 Ω または 50 Ω の ±1% に調整されます チップ内並列終端 (R T ) は 入力および双方向バッファでのみサポートされます R T の値は R UP および R DN ピンに接続される 100 Ω に対してキャリブレーションされます キャリブレーションは デバイス コンフィギュレーションの最後に実行されます ダイナミック OCT は双方向 I/O バッファでのみサポートされます キャリブレーションなし直列 On-Chip Termination キャリブレーション付き直列 On-Chip Termination キャリブレーション付き並列 On-Chip Termination Class I 50 50 50 50 50 50 50 Class II 25 25 25 25 25 25 25 Class I 50 50 50 50 50 50 50 Class II 25 25 25 25 25 25 25 Class I および Class II 50 50 50 50 50 (1) ロウ I/O は Stratix V デバイスの外部メモリ インタフェースに利用できません
ダイナミック OCT 方法は Stratix III Stratix IV および Stratix V FPGA でのみ使用可能です ダイナミック OCT 方法によって 直列終端 (R S ) と並列終端 (R T ) が可能になり データ転送中にダイナミックにオンおよびオフすることができます 直列終端および並列終端は インタフェースのリード サイクルとライト サイクルに応じて オンまたはオフになります ライト サイクル中に ライン インピーダンスにマッチするように R S がオン R T がオフになります Stratix IV FPGA がバスの遠端で終端を実装するので リード サイクル中に R S がオフ R T がオンになります ( 図 4 7 ) Write Cycle Read Cycle V TT V TT V TT Z 0 = 50 Ω 22 Ω Z 0 = 50 Ω 22 Ω OE Stratix III (TX) DDR2 DIMM Stratix III (RX) DDR2 DIMM OE 表 4 2 に 主要な DDR2 メモリ インタフェース信号用の推奨終端方法を提供します 信号は データ (DQ) データ ストローブ (DQS/DQSn) データ マスク (DM) クロック (mem_clk/mem_clk_n) およびアドレスとコマンド信号が含まれています アドレス コマンド およびメモリ クロック ピンは複数の負荷に接続される複数の DDR2 SDRAM コンポーネントとインタフェースする場合 次の手順に従います 1. これらの信号の新スルー レートを取得するために システムをシミュレートします 2. シミュレーション結果に基づいて DDR2 SDRAM データシートからディレーティング tis と tih 仕様を使用します 3. タイミング ディレーティングは インタフェースがタイミング要件を失敗した場合 負荷を下げ これらの信号の重複を考慮し それ故にタイミングを向上させます 1 アルテラは フィジカル終端でなく ドライブ強度に参照するために この表に Class I および Class II 終端を使用します 1 正しい機能を確認にするために システムのデザインをシミュレートする必要があります
DDR2 コンポーネント DDR2 DIMM DQ DQS DIFF (13) DQS SE (12) Class I R50 CAL DIFF Class R50 CAL Class I R50 CAL V TT ディスクリートへの 50 Ω 並列 V TT ディスクリートへの 50 Ω 並列 V TT ディスクリートへの 50 Ω 並列 ODT75 (7) HALF (8) ODT75 (7) HALF (8) ODT75 (7) HALF (8) DM Class I R50 CAL N/A ODT75 (7) N/A アドレスおよびコマンド Class I MAX N/A クロック DIFF Class I R50 CAL N/A DQ DQS DIFF (13) DQS SE (12) Class I R50 CAL DIFF Class I R50 CAL Class I R50 CAL V TT ディスクリートへの 50 Ω 並列 V TT ディスクリートへの 50 Ω 並列 V TT ディスクリートへの 50 Ω 並列 V TT ディスクリートへの 56 Ω 並列 1 = 100 Ω 差動 (10) N/A 2 = 200 Ω 差動 (11) N/A ODT75 (7) FULL (9) ODT75 (7) FULL (9) ODT75 (7) FULL (9) DM Class I R50 CAL N/A ODT75 (7) N/A アドレスおよびコマンド Class I MAX N/A V TT ディスクリートへの 56 Ω 並列 クロック DIFF Class I R50 CAL N/A N/A =DIMM 上 N/A N/A DDR2 コンポーネント DQ DQS DIFF (13) DQS SE (12) Class I R50/P50 DYN CAL DIFF Class I R50/P50 DYN CAL Class I R50/P50 DYN CAL N/A ODT75 (7) HALF (8) N/A ODT75 (7) HALF (8) N/A ODT75 (7) HALF (8) DM Class I R50 CAL N/A ODT75 (7) N/A アドレスおよびコマンド Class I MAX N/A クロック DIFF Class I R50 NO CAL N/A V TT ディスクリートへの 56 Ω 並列 1 = 100 Ω 差動 (10) 2 = 200 Ω 差動 (11) N/A N/A
DDR2 DIMM DQ DQS DIFF (13) DQS SE (12) Class I R50/P50 DYN CAL DIFF Class I R50/P50 DYN CAL Class I R50/P50 DYN CAL N/A ODT75 (7) FULL (9) N/A ODT75 (7) FULL (9) N/A ODT75 (7) FULL (9) DM Class I R50 CAL N/A ODT75 (7) N/A アドレスおよびコマンド Class I MAX N/A V TT ディスクリートへの 56 Ω 並列 クロック DIFF Class I R50 NO CAL N/A N/A =DIMM 上 N/A N/A
DDR2 コンポーネント DDR2 DIMM DQ/DQS Class I 12 ma V TT ディスクリートへの 50 Ω 並列 ODT75 (7) ハーフ (8) DM Class I 12 ma N/A N/A V TT ディスクリートへアドレスおよ Class I MAX N/A の 56 Ω 並列 N/A びコマンド クロック Class I 12 ma N/A DQ/DQS Class I 12 ma V TT ディスクリートへの 50 Ω 並列 1 = 100 Ω 差動 (10) 2 = 200 Ω 差動 (11) N/A ODT75 (7) FULL (9) DM Class I12 ma N/A N/A V TT ディスクリートへアドレスおよ Class I MAX N/A の 56 Ω 並列 N/A びコマンドクロック Class I 12 ma N/A N/A =DIMM 上 N/A DDR2 コンポーネント DQ DQS DIFF (13) DQS SE (12) Class I R50/P50 DYN CAL DIFF Class I R50/P50 DYN CAL DIFF Class I R50/P50 DYN CAL N/A ODT75 (7) HALF (8) N/A ODT75 (7) HALF (8) N/A ODT75 (7) HALF (8) DM Class I R50 CAL N/A ODT75 (7) N/A アドレスおよびコマンド Class I MAX N/A クロック DIFF Class I R50 NO CAL N/A V TT ディスクリートへの 56 Ω 並列 x1=100 Ω 差動 (10) N/A x2=200 Ω 差動 (11) N/A
DDR2 DIMM DQ DQS DIFF (13) DQS SE (12) Class I R50/P50 DYN CAL DIFF Class I R50/P50 DYN CAL Class I R50/P50 DYN CAL N/A ODT75 (7) FULL (9) N/A ODT75 (7) FULL (9) N/A ODT75 (7) FULL (9) DM Class I R50 CAL N/A ODT75 (7) N/A アドレスおよびコマンド Class I MAX N/A V TT ディスクリートへの 56 Ω 並列 クロック DIFF Class I R50 NO CAL N/A N/A = DIMM 上 N/A N/A (1) N/A は適用されません (2) R は直列抵抗です (3) P は並列抵抗です (4) DYN はダイナミック OCT です (5) NO CAL はきゃリブレーションなしの OCT です (6) CAL はキャリブレーション付きの OCT です (7) メモリ上の ODT75 対 ODT50 は オーバーシュート / アンダーシュートの制限された増加に伴い より多くのアイの開くの効果があります (8) HALF は低ドライブ強度です (9) FULL はフルドライブ強度です (10) x1 はシングル デバイスの負荷です (11) x2 は 2 デバイスの負荷です 例えば シングル クロック ペアでシングル ランク DIMM 上の 9 デバイスの 2 つを供給することができます (12) DQS SE はシングル エンド DQS です (13) DQS DIFF は差動 DQS です
終端方法は SSTL18I/O の JEDEC 規格 JESD8-15a で規定されています ダイナミック OCT は Stratix III および Stratix IV デバイスで使用可能です Stratix III FPGA( ドライバ ) が DDR2 SDRAM DIMM( レシーバ ) に書き込んでいるとき 直列 OCT は伝送ラインのインピーダンスと一致するためにダイナミックにイネーブルされます その結果 反射を大幅に低減できます 同様に FPGA が DDR2 SDRAM DIMM を読み出しているときには 並列 OCT は動的にイネーブルされます f 終端抵抗の適切な値を設定する方法については Stratix III デバイス ハンドブック の Stratix III デバイスの I/O 機能 の章 および Stratix IV デバイス ハンドブック の I /O Features in Stratix IV デバイスの I/O 機能 の章を参照してください 図 4 8 に FPGA がメモリへの書き込みを実行する時に ダイナミック直列 OCT 方法を示します ダイナミック直列 OCT を使用する利点は ドライバが伝送線路をドライブしているとき 非外部抵抗終端を備えた伝送線路がマッチングすることです FPGA DDR2 DIMM 50 Ω DDR2 Component Driver 100 Ω 50 Ω R S = 22 Ω 150 Ω Driver Receiver 100 Ω 3 Trace Length Receiver 150 Ω
図 4 9 および図 4 10 に DDR2 SDRAM DIMM への書き込みのシミュレーションと測定結果を示します このシステムは 最大ドライブ強度の FPGA で測定された 50 Ω キャリブレーションされた並列 OCT および DIMM 上の 75 Ω ODT の Class I 終端を使用します シミュレーションとベンチの両方の測定は 200 ps/div および 200 mv/div で測定されます
表 4 3 は DDR2 SDRAM DIMM での信号のシミュレーションとボード測定の比較を示します シミュレーション 1.194 0.740 N/A N/A ボード測定 1.08 0.7 N/A N/A (1) N/A は適用されません (2) アイの幅は V IH /V IL (ac) = VREF ±250 mv から V IH /V IL (dc) = VREF ±125 mv に測定されます ここで V IH と V IL は SSTL-18 に対する JEDEC 規格に従って決定されます 表 4 3 のデータ および図 4 9 と図 4 10 は FPGA がメモリへの書き込みを行うとき ベンチ測定値はシミュレーション測定値に厳密にマッチングすることを推奨します それが外部終端の必要性を取り除きながら 双方向 I/O の直列ダイナミック On-Chip Termination 方法を使用して 信号の整合性を維持することを示します I/O 規格に応じて メモリ インタフェースを設計する際は 表 4 3 に記載されている 4 つのパラメータを考慮する必要があります シミュレーションとボード測定結果は似ているように見えますが 主なパラメータを測定すると不一致があります シミュレーションは I/O のデューティ サイクル歪み クロストーク またはボードのパワー プレーン劣化を完全にモデル化しているわけではありませんが ボードの性能についての適正な目安となります メモリ インタフェースでは データを正しくキャプチャするための十分なウィンドウがあるかどうか判断するときにアイの幅が重要です アイの高さについては 大半のメモリ インタフェースが電圧リファレンス形式の I/O 規格 ( この場合は SSTL-18) を使用しますが VIL および VIH の上下に十分なアイ開口部がある限り データを正しくキャプチャするのに十分なマージンがあるはずです ただし クロストークなどの影響は考慮されていないため 最適なアイの高さが得られるようにシステムを設計することが重要です アイの高さは メモリ インタフェースを備えたシステム全体のマージンに影響を及ぼします f オーバシュートとアンダシュートを決定するときは メモリ ベンダに問い合わせてください 信頼性の問題を回避するために メモリ ベンダは一般に入力電圧について最大制限を規定します
図 4 11 に FPGA がメモリから読み出しを行う際に ダイナミック並列終端方法を示します DDR2 SDRAM DIMM が伝送線路をドライブしているとき FPGA 側の終端 50 Ω プルアップ抵抗が伝送線路とマッチングするため リンギングと反射が最小になります 図 4 12 に DDR2 SDRAM DIMM からの読み出しのシミュレーションと測定結果を示します このシステムは 最大ドライブ強度の FPGA エンドで測定された 50 Ω キャリブレーションされた並列 OCT およびメモリ上の 75 Ω ODT の Class I 終端を使用します シミュレーションとベンチの両方の測定は 200 ps/div および 200 mv/div で測定されます FPGA DDR2 DIMM Full Strength DDR2 Component Driver 100 Ω 50 Ω R S = 22 Ω Driver Receiver 100 Ω 3 Trace Length Receiver 表 4 4 に シミュレーションと FPGA エンドでの信号のボード測定値との比較を示します シミュレーション 1.206 0.740 N/A N/A ボード測定 1.140 0.680 N/A N/A (1) メモリ DIMM 上のドライブ強度は Full に設定されます (2) N/A は適用されません (3) アイの幅は V IH /V IL (ac) = VREF ±250 m から V IH /V IL (dc) = VREF ±125 mv に測定されます ここで V IH と V IL は SSTL-18 に対する JEDEC 規格に従って決定されます
表 4 4 のデータ および図 4 13 は FPGA がメモリからの読み出しを行うとき ベンチ測定値は シミュレーション測定値に厳密にマッチングすることを推奨します それが外部終端の必要性を取り除きながら 双方向 I/O の並列ダイナミック On-Chip Termination 方法を使用して 信号の整合性を維持することを示します ODT とメモリ側の直列抵抗を使用する Class I 終端方法で 50 Ω の OCT 機能を使用する場合 出力ドライバは 50 Ω にチューニングされ 伝送線路の特性インピーダンスがマッチングします 図 4 13 は FPGA の 50 Ω の OCT がオンのときに ODT を使用する Class I 終端方法を示します Ω FPGA DDR2 DIMM 50 Ω DDR2 Component Driver 50 Ω R S = 22 Ω Driver Receiver V REF 3 Trace Length V REF = 0.9 V Receiver 得られた信号品質は 8mA のドライブ強度設定 ( 4 52 ページの ドライブ強度 を参照 ) でのアイ開口部に類似しており オーバシュートやアンダシュートはありません 図 4 14 は FPGA 内に 50 Ω の OCT を使用した場合のメモリ側 (DDR2 SDRAM DIMM) での信号のシミュレーションと測定を示します
表 4 5 は ODT とメモリ側の直列抵抗を使用した Class I 終端方法の DDR2 SDRAM DIMM における信号のデータを示します FPGA は 50 Ω OCT でメモリに書き込みます Ω Ω シミュレーション 1.68 0.82 N/A N/A ボード測定 1.30 0.70 N/A N/A (1) N/A は適用されません FPGA に 50 Ω の OCT 設定を使用すると ODT とメモリ側の直列抵抗を使用する Class I 終端の信号品質がさらに向上し オーバシュートとアンダシュートが減少します 50 Ω の OCT の設定に加え Stratix II デバイスには 25 Ω の OCT 設定もあり これを使用して Class II 終端の伝送線路での信号品質を向上させることができます 図 4 15 は FPGA の 25 Ω の OCT がオンのときに ODT を使用する Class II 終端方法を示します Ω V TT = 0.9 V FPGA DDR2 DIMM 25 Ω R T = 56 Ω DDR2 Component Driver 50 Ω R S = 22 Ω Driver Receiver V REF 3 Trace Length V REF = 0.9 V Receiver
図 4 16 は FPGA 内での 25 Ω の OCT のドライブ強度を設定した DDR2 SDRAM DIMM ( レシーバ ) での信号のシミュレーションと測定を示します 表 4 6 は メモリ側の直列抵抗を使用した Class II 終端の DDR2 SDRAM DIMM における信号のデータを示します FPGA は 25 Ω の OCT でメモリに書き込みます Ω -Ω シミュレーション 1.70 0.81 N/A N/A ボード測定 1.47 0.51 N/A N/A (1) N/A は適用されません この種類の終端方法は DRAM のデータ (DQ) データ ストローブ (DQS) データ マスク (DM) およびメモリ クロック (CK) などの双方向信号のみに対して使用されます ダブル並列 (Class II) 終端方法は HSTL I/O のための JESD8-6 SSTL-2 I/O のための JESD8-9b SSTL-18 I/O のための JESD8-15a などの JEDEC 規格に規定されます FPGA ( ドライバ ) が DDR2 SDRAM DIMM( レシーバ ) に書き込んでいるときには 伝送線路は DDR2 SDRAM DIMM で終端されます 同様に FPGA が DDR2 SDRAM DIMM を読み出しているときには DDR2 SDRAM DIMM はドライバとなり 伝送線路は FPGA ( レシーバ ) で終端されます この種類の終端方法は 一般に DRAM のデータ (DQ) およびデータ ストローブ (DQS) 信号などの双方向信号に対して使用されます
図 4 17 に FPGA がメモリへ書き込みを行う際に Class II 終端方法を示します Class II 終端を使用する利点は いずれかのドライバが伝送線路をドライブしているとき レシーバ端に終端抵抗があるため 伝送線路がマッチングし リンギングと反射が減少することです V TT = 0.9 V V TT = 0.9 V FPGA DDR2 DIMM 16 ma R T = 50 Ω R T = 50 Ω DDR2 Component Driver 50 Ω R = 22 Ω S Driver Receiver V REF 3 Trace Length V REF = 0.9 V Receiver 図 4 18 および図 4 19 に DDR2 SDRAM DIMM への書き込みのシミュレーションと測定結果を示します このシステムは ソース直列抵抗を DIMM で測定した ドライブ強度設定が 16 ma の Class II 終端を使用します シミュレーションはアイ開口部が良好なクリーンな信号を示しますが DDR2 SDRAM で規定される 1.8 V 信号のわずかなオーバシュートとアンダシュートが存在します オーバシュートとアンダシュートは ドライバに所要ドライブ強度以上の設定を使用した伝送線路のオーバドライブ または伝送線路の特性インピーダンスより高い外部抵抗値を使用したレシーバ側での過剰終端に起因します オーバシュートとアンダシュートが メモリ ベンダの DDR2 SDRAM データシートに記載された絶対最大定格仕様を超えない限り 信頼性が損なわれることはありません 次に シミュレーション結果と実際のボード レベルでの測定結果の相関が取られます
図 4 19 に Stratix II Memory Board 2 から取得した測定結果を示します FPGA は 16 ma のドライブ強度を使用して Class II 終端伝送線路上で DDR2 SDRAM DIMM をドライブします 表 4 7 は DDR2 SDRAM DIMM での信号のシミュレーションとボード測定の比較をま示します シミュレーション 1.65 1.28 0.16 0.14 ボード測定 1.35 0.83 0.16 0.18 (1) FPGA のドライブ強度は 16 ma に設定されています (2) アイの幅は V REF ± 125 mv から測定されます ここで V IH と V IL は SSTL-18 に対する JEDEC 規格に 従って決定されます シミュレーションを詳細に調べると 50% ~ 50% の理想的なデューティ サイクルを示しますが ボード測定でのデューティ サイクルは理想的ではなく 53% ~ 47% 前後なので シミュレーションと測定したアイの幅が違います さらに ボード測定は 72 ビットのメモリ インタフェース上で行われますが シミュレーションはシングル I/O で実行されます
図 4 20 に FPGA がメモリから読み出しを行う際に Class II 終端方法を示します DDR2 SDRAM DIMM が伝送線路をドライブしているとき FPGA 側の終端プルアップ抵抗が伝送線路とマッチングするため リンギングと反射が最小になります V TT = 0.9 V V TT = 0.9 V FPGA DDR2 DIMM Full Strength R T = 56 Ω R T = 56 Ω Driver 50 Ω Driver Receiver V REF = 0.9 V 3 Trace Length V REF Receiver
図 4 21 および図 4 22 には DDR2 SDRAM DIMM に最大ドライブ強度を設定した FPGA 側での信号のシミュレーションと測定を示します シミュレーションでは ソース直列抵抗伝送線路による Class II 終端方法を使用します FPGA は DIMM に最大ドライブ強度を設定して メモリから読み出します
表 4 8 は FPGA がメモリ ( ドライバ ) を読み出しているときに FPGA から見た信号のシミュレーションとボード測定の比較を示します シミュレーション 1.73 0.76 N/A N/A ボード測定 1.28 0.43 N/A N/A (1) DDR2 SDRAM DIMM のドライブ強度は最大強度に設定されています (2) N/A は適用されません シミュレーションと測定の両方ともオーバシュートやアンダシュートのないクリーンな信号と良好なアイ開口部を示します しかし FPGA によるメモリからの読み出し時のアイの高さは FPGA によるメモリへの書き込み時よりも小さくなります アイの高さの縮小は DIMM の直列抵抗での電圧低下によるものです メモリのドライブ強度設定がすでに最大に設定される場合は メモリ ドライブ強度を増やしてアイの高さを大きくすることはできません 1 つのオプションは FPGA がメモリから読み出すときに DIMM の直列抵抗をなくすことです ( 4 54 ページの コンポーネント対 DIMM の項を参照 ) また メモリ付近にある外部並列抵抗をなくして メモリ ドライバの負荷を低減する方法もあります DIMM コンフィギュレーションの場合には 直列抵抗が DIMM の一部であるので 後のオプションはよりよい選択です また FPGA がメモリに書き込まれている場合 容易に終端抵抗として使用する ODT 機能をオンにして FPGA がメモリから読み出される場合オフにすることができます Class II 終端方法の結果は DDR2 SDRAM メモリ用のデータ ストローブやデータなどの双方向信号に最適であることを示します レシーバの終端はドライバに戻る反射を除去し レシーバでのリンギングを抑制します シングル並列 (Class I) 終端方法とは レシーバ側の近くに終端が配置されたことです この終端方法は 一般に DDR2 SDRAM に対する単方向信号 ( 例えば クロック アドレス コマンド信号 ) を終端するために使用されます ただし ボードが制約されている場合はこの形式の終端方法は 時々データ (DQ) 信号やデータ ストローブ (DQS) 信号などの双方向信号に使用されます 双方向信号の場合 メモリ側または FPGA 側のいずれかに終端を配置できます この項では メモリ側の終端を使用した ClassI 終端方法についてのみ説明します メモリ側の終端では 信号がメモリのレシーバに達したときにインピーダンスがマッチングします ただし FPGA がメモリを読み出しているときには FPGA 側には終端がないためインピーダンスのミスマッチが発生します この項では この終端方法の信号品質について説明します FPGA がメモリに書き込んでいるとき ( 図 4 23 ) には メモリ側で伝送線路が並列終端され 伝送線路に対してインピーダンスがマッチングするためレシーバ側の反射が最小になります この終端方法の利点は 1 本の外部抵抗しか必要ないことです あるいは 外部抵抗の代わりに ODT 抵抗を使用して この終端方法を実装することもできます
ODT 抵抗と外部終端抵抗の比較について詳しくは 4 30 ページの ODT による Class I 終端 を参照してください V TT = 0.9 V FPGA DDR2 DIMM R T = 56 Ω DDR2 Component Driver 50 Ω R S = 22 Ω Driver Receiver V REF 3 Trace Length V REF = 0.9 V Receiver 図 4 24 は メモリ側に抵抗を使用した Class I 終端のメモリ (DDR2 SDRAM DIMM) での信号のシミュレーションと測定を示します FPGA は 16 ma のドライブ強度設定でメモリに書き込みます 表 4 9 は メモリ側に直列抵抗と外部抵抗を使用して Class I および Class II 終端方法の DDR2 SDRAM DIMM での信号の比較を示します FPGA( ドライバ ) がメモリ ( レシーバ ) に書き込みます シミュレーション 1.69 1.51 0.34 0.29 ボード測定 1.25 1.08 0.41 0.34 シミュレーション 1.65 1.28 0.16 0.14
ボード測定 1.35 0.83 0.16 0.18 表 4 9 は Class I 終端方法の全体的な信号品質は Class I 終端方法ではアイの高さが約 30% 高い点を除いて Class II 終端方法の信号品質と同程度のことを示します アイの高さが大きくなるのはドライバの負荷が軽減されたためです これは Class I 終端方法では FPGA 側に並列終端抵抗がないためです ただし アイの高さを大きくすると 以下のようなコストを伴います Class I 終端方法では Class II 終端方法を使用した場合と比べて 信号のオーバシュートとアンダシュートが 50% 増大します オーバシュートとアンダシュートを低減するために ドライバにかかる負荷の低下に合わせて FPGA のドライブ強度を減らすことができます ドライブ強度が信号品質に与える影響について詳しくは 4 52 ページの ドライブ強度 を参照してください (1) FPGA のドライブ強度は 16 ma に設定されています 4 26 ページの FPGA によるメモリへの書き込み で説明したように Class I 終端ではレシーバの近くに終端が配置されます ただし この終端方法を使用して双方向信号を終端させる場合 レシーバはドライバにもなります 例えば DDR2 SDRAM では データ信号はレシーバでありドライバです 図 4 25 に メモリ側抵抗を使用する Class I 終端方法を示します FPGA がメモリから読み出します V TT = 0.9 V FPGA DDR2 DIMM Full Strength R T = 56 Ω DDR2 Component Driver 50 Ω R S = 22 Ω Driver Receiver V REF = 0.9 V 3 Trace Length V REF Receiver
FPGA がメモリを読み出すとき ( 図 4 25 ) FPGA では伝送線路は終端されず インピーダンスのミスマッチとそれによるオーバシュートやアンダシュートが発生します 図 4 26 に Class I 終端の FPGA 側 ( レシーバ ) における信号のシミュレーションと測定を示します FPGA は DDR2 SDRAM DIMM に最大ドライブ強度を設定して メモリを読み出します 表 4 10 は メモリ側に直列抵抗と外部抵抗を使用した Class I および Class II 終端方法での FPGA における信号の比較を示します FPGA( レシーバ ) がメモリ ( ドライバ ) を読み出します シミュレーション 1.73 0.74 0.20 0.18 ボード測定 1.24 0.58 0.09 0.14 シミュレーション 1.73 0.76 N/A N/A ボード測定 1.28 0.43 N/A N/A (1) DDR2 SDRAM DIMM のドライブ強度は最大強度に設定されています (2) N/A は適用されません FPGA が Class I 終端方法を使用してメモリを読み出すとき アイの高さと幅の点で信号品質は Class II 終端方法と同程度です 表 4 10 に レシーバ (FPGA) に終端がない場合はインピーダンスのミスマッチが生じ Class II 終端方法には見られない反射とリンギングが発生することを示します したがって アルテラではコマンド アドレス信号など FPGA とメモリ間の単方向信号には Class I 終端方法を使用することを推奨します
現在 ODT は SDRAM グラフィックス DRAM および SRAM などのメモリの共通機能になりつつあります ODT はボード終端コストを削減し ボード配線を簡素化するのに役立ちます ここでは DDR2 SDRAM の ODT 機能と ODT 機能を使用したときの信号品質について説明します DDR2 SDRAM はビルトイン ODT を備えており 外部終端抵抗は不要です メモリの ODT 機能を使用するには メモリ初期化時にメモリをコンフィギュレーションして ODT 機能をオンにする必要があります DDR2 SDRAM の場合 ODT 機能は拡張モード レジスタをプログラムして設定します DDR2 SDRAM の初期化時に拡張モード レジスタをプログラムし さらに DDR2 SDRAM の ODT 入力ピンを High にドライブして ODT をアクティブにする必要があります f ODT 機能の設定方法 および DDR2 SDRAM の ODT ピンをドライブするためのタイミング要求について詳しくは それぞれのメモリ データシートを参照してください DDR2 SDRAM の ODT 機能は ダイナミックに制御されます すなわち FPGA がメモリに書き込んでいる間にオンになり FPGA がメモリを読み出すときはオフになります DDR2 SDRAM の ODT 機能には 50 Ω 75 Ω および 150 Ω の 3 つ設定があります 外部並列終端抵抗がなく ODT 機能がオンの場合 この終端方法は 4 26 ページの Class I 外部並列終端 で説明した Class I 終端に類似したものになります 図 4 27 に DDR2 SDRAM の ODT がオンになっているときの終端方法を示します FPGA DDR2 DIMM 16 ma DDR2 Component Driver 50 Ω R S = 22 Ω Driver Receiver V REF 3 Trace Length V REF = 0.9 V Receiver
図 4 28 は メモリ側の直列抵抗伝送線路で 50 Ω の ODT を使用した メモリ ( レシーバ ) における信号のシミュレーションと測定を示します FPGA は 16 ma のドライブ強度設定でメモリに書き込みます 表 4 11 は 外部抵抗とメモリ側で直列抵抗および ODT を使用した Class I 終端方法の DDR2 SDRAM DIMM から見た信号の比較を示します FPGA( ドライバ ) がメモリ ( レシーバ ) に書き込みます シミュレーション 1.63 0.84 N/A 0.12 ボード測定 1.51 0.76 0.05 0.15 シミュレーション 1.69 1.51 0.34 0.29 ボード測定 1.25 1.08 0.41 0.34 (1) FPGA のドライブ強度は 16 ma に設定されています (2) N/A は適用されません DDR2 SDRAM で ODT 機能がイネーブルされると アイの幅が改善されます アイの高さがいくらか劣化しますが これは重要ではありません ODT がイネーブルされているときに 信号品質が最も大きく改善されるのは オーバシュートとアンダシュートの減少で メモリ デバイスでの潜在的な信頼性の問題を軽減するのに役立ちます メモリ ODT の使用は外部抵抗も不要にするので ボード コストの低下 ボード配線の簡素化を実現でき ボードの小型化が可能です したがって アルテラでは DDR2 SDRAM メモリの ODT 機能を使用することを推奨しています
アルテラの Arria GX Arria II GX Cyclone シリーズ および Stratix II シリーズのデバイスは パラレル ODT を装備されていません FPGA によるメモリからの読み出し時に DDR2 SDRAM の ODT 機能がオフになる場合の終端方法は 4 34 ページの図 4 31 に示した非並列終端方法と似ています 非並列終端方法は HSTL I/O のための JESD8-6 SSTL-2 I/O のための JESD8-9b および SSTL-18 I/O のための JESD8-15a などの JEDEC 規格で規定されています このような直列のみの終端方法を頻繁に試みる設計者の意図は 多くの場合は V TT 電源の必要性をなくすことです これは 通常 FPGA と DDR2 インタフェース間の任意の信号に対して推奨されていない終端になります しかし 完全に並列終端を避けることを図れば 発生可能な課題を明確にし ここで参照ポイントとしてこのトピックの情報は含まれています 図 4 29 は メモリをドライブしている FPGA の非並列終端伝送線路を示します FPGA が伝送線路をドライブしているとき メモリ側 (DDR2 SDRAM DIMM) の信号は 信号劣化 ( 例えば 立ち上がり / 立ち下がり時間の劣化 ) が生じることがあります これは メモリ側に並列終端がないので インピーダンスのミスマッチによるものです また 様々な要因 ( 例えば トレース長やドライブ強度 ) のために レシーバ端で見られる劣化がシステム障害に至るほど大きい場合もあります システムでの各終端方法の効果を理解するために ボードを設計する前後にシステム レベルのシミュレーションを実行する必要があります FPGA DDR2 DIMM DDR2 Component Driver 50 Ω R S = 22 Ω Driver Receiver V REF 3 Trace Length V REF = 0.9 V Receiver
図 4 30 には 533 MHz で 16 ma のドライブ強度オプションを使用した非並列終端方法で FPGA がメモリへの書き込みの HyperLynx シミュレーションと測定を示します 測定点は DDR2 SDRAM DIMM 上にあります シミュレートされ測定された信号から 十分なアイ開口部だけでなく DDR2 SDRAM で規定される 1.8 V 信号の大きなオーバシュートおよびアンダシュートがあることが分かります シミュレーションと測定から オーバシュートは 1.8 V よりも約 1V 高く アンダシュートはグランドよりも約 0.8 V 低くなります このオーバシュートとアンダシュートは メモリ ベンダの DDR2 SDRAM データシートに記載されている絶対最大定格仕様を超えているので 信頼性の問題を引き起こす可能性があります 表 4 12 は FPGA による DDR2 SDRAM DIMM への書き込み時に 非並列および Class II 終端方法の DDR2 SDRAM DIMM での信号の比較を示します シミュレーション 1.66 1.10 0.90 0.80 ボード測定 1.25 0.60 1.10 1.08 シミュレーション 1.65 1.28 0.16 0.14 ボード測定 1.35 0.83 0.16 0.18 (1) FPGA のドライブ強度は Class II の 16 ma に設定されます
非並列終端方法での信号の形状はクリーンではありませんが 主要パラメータを考慮すると アイの幅と高さは Class II 終端方法の場合と同程度です 非並列終端方法を使用する場合の主な欠点は オーバシュートとアンダシュートです レシーバに終端がないので 信号がレシーバに到達したときにインピーダンスのミスマッチが生じるため リンギングや反射が発生します また FPGA に 16 ma のドライブ強度を設定しても 伝送線路がオーバドライブされ オーバシュートやアンダシュートが発生します ドライブ強度の設定を下げると オーバシュートとアンダシュートが小さくなり レシーバでの信号品質が改善されます ドライブ強度が信号品質に与える影響について詳しくは 4 52 ページの ドライブ強度 を参照してください 非並列終端方法では ( 図 4 31 ) メモリが伝送線路をドライブしているとき 抵抗 R S はソース終端抵抗として機能します DDR2 SDRAM ドライバには 次の 2 つのドライブ強度設定が用意されます 出力インピーダンスが約 18 Ω の最大強度 出力インピーダンスが約 40 Ω の低強度 DDR2 SDRAM DIMM が伝送線路をドライブするとき 22 Ω のソース直列抵抗とドライバ インピーダンスの組み合わせと伝送線路の特性インピーダンスがマッチングしなければなりません それによって レシーバ (FPGA) での信号のオーバシュートとアンダシュートが減少します FPGA DDR2 DIMM Full Strength DDR2 Component Driver 50 Ω R S = 22 Ω Driver Receiver V REF = 0.9 V 3 Trace Length V REF Receiver
図 4 32 は メモリがメモリ側に直列抵抗を持つ非並列終端の伝送線路をドライブするときに FPGA( レシーバ ) での信号のシミュレーションと測定を示します 表 4 13 に FPGA によるメモリからの読み出し時に非並列および Class II 終端方法の FPGA での信号の比較を示します (ns) (V) (V) (V) シミュレーション 1.82 1.57 0.51 0.51 ボード測定 1.62 1.29 0.28 0.37 シミュレーション 1.73 0.76 N/A N/A ボード測定 1.28 0.43 N/A N/A (1) DDR2 SDRAM DIMM のドライブ強度は最大強度に設定されています (2) N/A は適用されません 4 32 ページの FPGA によるメモリへの書き込み のように 非並列終端方法における信号のアイの幅と高さは Class II 終端方法と同程度ですが 欠点はオーバシュートとアンダシュートです 伝送線路に終端がないためオーバシュートとアンダシュートが発生しますが 4 32 ページの FPGA によるメモリへの書き込み で説明したほど大きくありません これはソース ( メモリ側 ) に ドライバに返される反射を減衰させ FPGA 側での反射の影響をさらに軽減する直列抵抗が存在するためです
メモリ側の直列抵抗をなくすと ( 図 4 33 ) メモリ ドライバのインピーダンスは伝送線路とマッチングしなくなり 終端されていない FPGA 側から返される反射を減衰させる直列抵抗がドライバに存在しなくなります FPGA DDR2 Component Full Strength Driver 50 Ω Driver Receiver V REF = 0.9 V 3 Trace Length V REF Receiver 図 4 34 は メモリに最大ドライブ強度を設定した非並列終端方法の FPGA における信号のシミュレーションと測定を示します 表 4 14 は メモリ ( ドライバ ) から FPGA( レシーバ ) への書き込み時に メモリ側に直列抵抗がある場合とない場合の非並列終端の違いをまとめたものです シミュレーション 1.81 0.85 1.11 0.77 ボード測定 1.51 0.92 0.96 0.99 シミュレーション 1.82 1.57 0.51 0.51 ボード測定 1.62 1.29 0.28 0.37 (1) メモリのドライブ強度は最大強度に設定されています
表 4 14 は メモリ側に直列抵抗がない場合のオーバシュートとアンダシュートの顕著な増加とアイの高さの縮小を示します この結果は 4 32 ページの FPGA によるメモリへの書き込み で説明したものとほぼ同じです このシミュレーションでは 直列抵抗はあってもソース (FPGA) 側になくレシーバ ( メモリ ) 側に置かれているので ドライバのドライブ強度を低減し かつ終端されていないレシーバ端から返される反射を抑制するという期待した効果はありません レシーバ側に終端のないシステムでは ドライバの直列抵抗はドライバのドライブ強度を低下させ 終端されていないレシーバ端から返される反射を減衰させるのに役立ちます 以下の項では Stratix III Stratix IV および Stratix V FPGA デバイスとともに DDR3 SDRAM インタフェースを正しく終端する方法について説明します DDR3 DIMM は メモリ クロック アドレスおよびコマンドなどのすべての単方向信号上の終端があるため FPGA PCB 上に終端を配置する必要はありません また DDR3 SDRAM 上で ODT 機能を使用し Stratix III Stratix IV および Stratix V FPGA デバイスのダイナミック OCT 機能を使用することで 外部終端抵抗は一切不要になります そのため DDR2 SDRAM インタフェースのレイアウトに比べ DDR3 SDRAM インタフェースのレイアウトは簡素化されます この項では 次の DDR3 SDRAM コンポーネントの終端について説明します シングル ランク DDR3 SDRAM バッファなし DIMM マルチランク DDR3 SDRAM バッファなし DIMM DDR3 SDRAM のレジスタ付き DIMM レベリング機能の搭載の DDR3 SDRAM コンポーネント 1 レべリング インタフェースなし DDR3 SDRAM を使用する場合 4 7 ページの DDR2 SDRAM のボード終端 を参照してください DDR3 SDRAM インタフェースの最も一般的な実装は バッファなし DIMM(UDIMM) です DDR3 SDRAM UDIMM は 多くのアプリケーション 特に PC のアプリケーションで使用されます 表 4 15 に UDIMM と Stratix III Stratix IV および Stratix V FPGA デバイスの推奨終端とドライブ強度設定を示します 1 これらの設定は 始めるあたりの推奨事項です 実際のボードをシミュレートし 最高の SI を取得するためにさまざまな設定を試してみてください DQ Class I R50C/G50C (3) 60 Ω ODT (4) 40 Ω (4) DQS 差動 Class I R50C/G50C (3) 60 Ω ODT (4) 40 Ω (4) DM Class I R50C (3) 60 Ω ODT (4) 40 Ω (4)
アドレスおよびコマンド 最大ドライブ強度での Class I CK/CK# 差動 Class I R50C V TT への 39 Ω オン ボード終端 (5) オン ボード (5) : 最初のコンポーネントの前に 2.2 pf の補償キャップです ; 各アームの V TT への 36 Ω 終端 (72 Ω 差動 );V TT の直前に 0.1 uf を追加詳細は 4 41 ページの図 4 38 を参照してください (1) UniPHY IP は 自動的にこれらの設定を実装します (2) アルテラは Stratix III および Stratix IV デバイス ファミリにダイナミック On-chip termination (OCT) を使用することを推奨し ます (3) R50C は書き込みのキャリブレーション付きの直列であり G50C は読み出しのキャリブレーション付きの並列 50 です (4) Parameter Editor でこれらの設定を指定することができます (5) DIMM の場合 これらの設定はすでに DIMM カードに実装されます コンポーネント トポロジーの場合 アルテラはボー ド上の DIMM カードの終端方法を模倣することを推奨します DDR3 SDRAM UDIMM インタフェースは シングル ランクまたはデュアル ランクの UDIMM を用いて 単一の DIMM や複数の DIMM など いくつかの組み合わせで実装できます UDIMM フォーム ファクタだけでなく これらの終端推奨値は スモール アウトライン (SO)DIMM や MicroDIMM にも有効です
シングル ランク DIMM では DQS および DQ 信号はポイント ツー ポイント信号となります 図 4 35 に 差動 DQS および DQ 信号のネット構造を示します DIMM 上にはんだ付けされている DQS 信号と DQ 信号にはそれぞれ 15 Ω 外部スタブ抵抗 R S があります この抵抗は 複数の DIMM コンフィギュレーションで未使用スロットからの反射を減衰させるため 信号品質の向上に役立ちます (2) (2) (1) 出典 :PC3-6400/PC3-8500/PC3-10600/PC3-12800 DDR3 SDRAM Unbuffered DIMM Design Specification, July 2007, JEDEC Solid State Technology Association. 図中では信号接続を明確にするため 同一の SDRAM を 2 つの個別 SDRAM として描いています 4 5 ページの ダイナミック ODT に記載したとおり DDR3 SDRAM はさまざまな ODT 設定値を使用したキャリブレーション済み ODT に対応します ダイナミック ODT を有効にしない場合 RTT_NORM には 40 Ω 60 Ω および 120 Ω という 3 つの ODT 設定が有効です ダイナミック ODT を有効にした場合は RTT_NORM に有効な ODT 設定値は 20 Ω と 30 Ω が加わり 3 個から 5 個に増えます DIMM でのトレース インピーダンスと推奨 ODT 設定は 60 Ω となります
図 4 36 には キャリブレーション済み直列 50 Ω の OCT 設定を使用した Stratix III または Stratix IV FPGA でドライブされる 60 Ω の ODT 設定を使用した DDR3 SDRAM DIMM の DQ0 における書き込みアイ ダイアグラムのシミュレーションを示します Ω 図 4 37 に アルテラの Stratix III または Stratix IV メモリ ボードを使用した書き込みアイ ダイアグラムの測定を示します Ω 測定済みアイ ダイアグラムは シミュレーションと相関しています アイ ダイアグラムの中間にある薄い線は 通常動作時のリフレッシュ動作による影響です これらのシミュレーション値と測定値はいくつかの制約に基づいているため ユーザーは自身のボード レベルでシミュレーションを行って 選択した ODT 設定がユーザーのセットアップに適していることを確認する必要があります
DDR3 SDRAM UDIMM では メモリ クロックは DIMM 上で既に終端されているので ボード上に終端を配置する必要はありません 図 4 38 に メモリ クロックのネット構造と終端抵抗 R TT の位置を示します R TT の値は 36 Ω で 対応する差動終端値は 72 Ω となります DDR3 SDRAM DIMM には 信号品質を向上させるため 差動メモリ クロック間に 2.2 pf の補償コンデンサ C COMP も備わっています 推奨されるセンタ タップ終端 (C TT ) の値は V TT の直前に 0.1 uf です (2) (1) 出典 : PC3-6400/PC3-8500/PC3-10600/PC3-12800 DDR3 SDRAM Unbuffered DIMM Design Specification, July 2007, JEDEC Solid State Technology Association. (2) 推奨 C TT 値は V TT の直前に 0.1 uf です
図 4 38 では 4 3 ページの リード レベリングおよびライト レベリング に記載したとおり DDR3 SDRAM クロックがフライバイ トポロジーで配線されているため ライト レベリングとリード レベリングが必要なことがわかります 図 4 39 には Stratix III または Stratix IV FPGA の出力ドライバで 50 Ω の OCT 設定を使用している UDIMM 上の最初と最後の DDR3 SDRAM コンポーネントに見られる差動クロックの HyperLynx シミュレーションを示します 図 4 39 では 最初の DDR3 SDRAM コンポーネントに見られるメモリ クロック ( 黄色の信号 ) が 最後の DDR3 SDRAM コンポーネントに見られるメモリ クロック ( 緑色の信号 ) より 1.3 ns つまり 533 MHz の動作で約 0.69 t CK 早いことを示します
メモリ クロック信号と同様に コマンドおよびアドレス信号も DIMM 上で終端されているため ボード上に終端を配置する必要はありません 図 4 40 に コマンドおよびアドレス信号のネット構造と 39 Ω の終端抵抗 R TT (R TT 値 ) の位置を示します (1) 出典 :PC3-6400/PC3-8500/PC3-10600/PC3-12800 DDR3 SDRAM Unbuffered DIMM Design Specification, July 2007, JEDEC Solid State Technology Association 図 4 40 では 4 3 ページの リード レベリングおよびライト レベリング に記載したとおり DDR3 SDRAM のコマンドおよびアドレス信号がフライバイ トポロジーで配線されているため ライト レベリングとリード レベリングが必要なことがわかります 図 4 41 は Stratix III または Stratix IV FPGA の出力ドライバ上で OCT 設定を使用している UDIMM 上の最初と最後の DDR3 SDRAM コンポーネントに見られるコマンドおよびアドレス信号の HyperLynx シミュレーションを示します (1) コマンドおよびアドレスのシミュレーションは 1.875 ns のビット期間で実行されています
図 4 41 は 最初の DDR3 SDRAM コンポーネントに見られるコマンドおよびアドレス信号 ( 緑色の信号 ) が 最後の DDR3 SDRAM コンポーネントに見られるコマンドおよびアドレス信号 ( 赤色の信号 ) より 1.2 ns つまり 533 MHz の動作で 0.64 t CK 早いことを示します 以下の項では シングル ランクの単一 DDR3 SDRAM DIMM インタフェース側で使用される終端について検討し Stratix III Stratix IV および Stratix IV FPGA デバイスで使用できるさまざまな終端機能を使用して DDR3 SDRAM インタフェースのシグナル インテグリティを最適化する方法を調べます 4 5 ページの Stratix III および Stratix IV デバイスのダイナミック OCT に記載したとおり Stratix III Stratix IV および Stratix V FPGA ではダイナミック OCT 機能に対応しています この機能は I/O バッファのモードに応じて直列終端を並列終端に切り替えることができます DQS と DQ は双方向信号なので DQS と DQ はどちらもトランスミッタとレシーバになることができます 4 39 ページの DDR3 SDRAM UDIMM の DQS DQ および DM では Stratix III Stratix IV または Stratix V FPGA デバイスが 50 Ω の直列終端に設定された I/O バッファを備えたトランスミッタである場合の DQ DQS および DM の信号品質について説明します この項では Stratix III Stratix IV または Stratix V デバイスがレシーバであり Stratix III Stratix IV および Stratix V I/O バッファが 50 Ω の並列終端に設定されており メモリがトランスミッタである場合について詳述します DM は単方向信号なので DDR3 SDRAM コンポーネントは常にレシーバとなります レシーバの終端推奨値およびトランスミッタの出力ドライブ強度設定について詳しくは 4 39 ページの DDR3 SDRAM UDIMM の DQS DQ および DM を参照してください 図 4 42 に Stratix III Stratix IV または Stratix V FPGA デバイスが Stratix III Stratix IV または Stratix V FPGA デバイス上で 50 Ω の並列 OCT 終端を使用して DDR3 SDRAM から読み出しを行っており DDR3 SDRAM ドライバの出力インピーダンスが 34 Ω に設定されているときの DDR3 SDRAM インタフェースを示します
図 4 43 に Stratix III または Stratix IV FPGA デバイス上で 50 Ω の並列 OCT 設定を使用した DDR3 SDRAM DIMM からの読み出しのシミュレーションを示します Ω Stratix III Stratix IV または Stratix V の並列 50 Ω の OCT 機能を使用すると レシーバのインピーダンスを伝送線路の特性インピーダンスと一致させることができます これにより リンギングを引き起こす任意の反射の発生が防止され Stratix III Stratix IV または Stratix V FPGA で明瞭なアイ ダイアグラムを取得できます メモリ クロックは単方向信号です レシーバの終端推奨値およびトランスミッタの出力ドライブ強度設定について詳しくは 4 41 ページの DDR3 SDRAM UDIMM のメモリ クロック を参照してください コマンドおよびアドレスは単方向信号です レシーバの終端推奨値およびトランスミッタの出力ドライブ強度設定について詳しくは 4 43 ページの DDR3 SDRAM UDIMM のコマンドとアドレス を参照してください DDR3 SDRAM UDIMM インタフェースは シングル ランクまたはデュアル ランクの UDIMM を用いて 単一の DIMM や複数の DIMM など いくつかの組み合わせで実装できます UDIMM フォーム ファクタだけでなく これらの終端推奨値は スモール アウトライン (SO)DIMM や MicroDIMM にも有効です
表 4 16 に メモリへの書き込み時に 2 スロット DDR3 SDRAM インタフェース およびメモリとコントローラ両方での推奨される ODT 設定のさまざまな組み合わせを示します DR DR スロット 1 直列 50 Ω 120 Ω (4) ODT オフ ODT オフ 40 Ω (4) スロット 2 直列 50 Ω ODT オフ 40 Ω (4) 120 Ω (4) ODT オフ SR SR スロット 1 直列 50 Ω 120 Ω (4) 未実装 40 Ω (4) 未実装スロット 2 直列 50 Ω 40 Ω (4) 未実装 120 Ω (4) 未実装 DR Empty スロット 1 直列 50 Ω 120 Ω ODT オフ 未実装 未実装 Empty DR スロット 2 直列 50 Ω 未実装 未実装 120 Ω ODT オフ SR Empty スロット 1 直列 50 Ω 120 Ω 未実装 未実装 未実装 Empty SR スロット 2 直列 50 Ω 未実装 未実装 120 Ω 未実装 (1) SR: シングル ランク DIMM DR: デュアル ランク DIMM (2) これらの推奨値は カリフォルニア州サンノゼで 10 月 3 日 ~ 4 日に開催された JEDEC DDR3 2007 Conference の DDR3 ODT and Dynamic ODT セッションから取得しています (3) この場合のコントローラは FPGA です (4) ダイナミック ODT が必要です 例えば メモリ コントローラがスロット 1 に書き込みを行っているときは スロット 2 の ODT は 40 Ω の低 ODT 値に設定され 結果として終端され スロット 2 からの任意の反射が最小限に抑えられます ダイナミック ODT を使用しない場合は スロット 2 は終端されません 表 4 17 に メモリからの読み出し時に 2 スロット DDR3 SDRAM インタフェース およびメモリとコントローラ両方で推奨される ODT 設定のさまざまな組み合わせを示します DR DR スロット 1 並列 50 Ω ODT オフ ODT オフ ODT オフ 40 Ω スロット 2 並列 50 Ω ODT オフ 40 Ω ODT オフ ODT オフ SR SR スロット 1 並列 50 Ω ODT オフ未実装 40 Ω 未実装スロット 2 並列 50 Ω 40 Ω 未実装 ODT オフ未実装 DR Empty スロット 1 並列 50 Ω ODT オフ ODT オフ 未実装 未実装 Empty DR スロット 2 並列 50 Ω 未実装 未実装 ODT オフ ODT オフ SR Empty スロット 1 並列 50 Ω ODT オフ 未実装 未実装 未実装 Empty SR スロット 2 並列 50 Ω 未実装 未実装 ODT オフ 未実装 (1) SR: シングル ランク DIMM DR: デュアル ランク DIMM (2) これらの推奨値は カリフォルニア州サンノゼで 10 月 3 日 ~ 4 日に開催された JEDEC DDR3 2007 Conference の DDR3 ODT and Dynamic ODT セッションから取得しています (3) この場合のコントローラは FPGA です JEDEC では通常 60 Ω を推奨していますが この値は 通常のマザーボード トレース インピーダンスが 60 Ω であること およびコントローラがこの終端に対応していることを前提としています アルテラでは メモリからの読み出し時には 50 Ω の並列 OCT を使用することをお勧めします
レジスタ付き DIMM(RDIMM) と UDIMM の違いは メモリ デバイスに配布される前に DIMM 上に RDIMM のクロック アドレス およびコマンド ピンはレジスタされまたはバッファリングされることです コントローラの場合は 各クロック アドレス またはコマンド信号は 唯一の負荷 ( レジスタまたはバッファ ) があります UDIMM では 各コントローラのピンは 複数の負荷にフライバイ ワイヤを駆動する必要があります ボード上のクロック アドレス およびコマンド信号はレジスタで終端されているので 終端する必要はありません しかし レジスタのため これらの信号は ポイント ツー ポイント信号となり 向上したシグナル インテグリティを持っています よって FPGA ドライバピンのドライブ強度要件はもっとリラックスになります UDIMM の信号と同様に RDIMM 上の DQS DQ および DM 信号がレジスタされません これらの信号を終端するには 4 39 ページの DDR3 SDRAM UDIMM の DQS DQ および DM を参照してください この項では ディスクリート DDR3 SDRAM コンポーネントを使用した DDR3 SDRAM インタフェースの設計で最適なパフォーマンスを得るために使用される終端について説明します DDR3 SDRAM インタフェースを実装するには DDR3 SDRAM DIMM を使用できるだけでなく DDR3 SDRAM コンポーネントも使用できます ただし ボード面積に制限があるアプリケーションでは DDR3 SDRAM コンポーネントを使用すると DIMM コネクタが不要になり コンポーネント同士をより近くに配置できるため 集積度の高いレイアウトが可能になります DDR3 SDRAM UDIMM は JEDEC 仕様で定められています JEDEC 仕様は JEDEC 団体のウエブサイト (www.jedec.org) またはメモリ ベンダから入手可能です ただし ディスクリート SDRAM コンポーネントを使用して DDR3 SDRAM インタフェースを設計する場合は DIMM 仕様とは異なるレイアウト方式が望まれることがあります これには以下の 2 つの選択肢があります メモリ クロック アドレス信号およびコマンド信号にフライバイ トポロジーを使用して標準の DDR3 SDRAM DIMM を模倣します この選択肢では リード レベリングとライト レベリングが必要となるため レベリング機能を搭載している UniPHY IP を使用する必要があります f フライバイ コンフィギュレーションについて詳しくは 本章を読み進めてください メモリ クロック アドレス信号およびコマンド信号にバランスのとれた ( シンメトリカルな ) ツリー構成のトポロジーを使用して標準の DDR3 SDRAM DIMM を模倣します このトポロジーを使用すると コマンド アドレス およびクロックに望ましくないスタブが付加されるため シグナル インテグリティが低下し DDR3 SDRAM インタフェースのパフォーマンスが制限されます
Stratix III Stratix IV または Stratix V デバイスを使用した DDR3 SDRAM インタフェースをレイアウトする場合 アルテラはそれぞれの DQS DQ および DM 信号上に 15 Ω のスタブ直列抵抗を配置しないことを推奨します ( この抵抗の不在は 余分な反射を引き起こすことをシミュレーションが示していない限り配置しないこと ) 15 Ω のスタブ直列抵抗を追加することによって いくつかのケースで一定のインピーダンスを維持することで役立ちますが レシーバで信号スイングがわずかに減少になります これは抵抗を除去すると 波形が顕著な反射を示していることはほとんどありませんが それはボード トレースをシミュレートすることによって証明する責任があります したがって アルテラは Stratix III Stratix IV または Stratix V FPGA が DDR3 SDRAM への書き込みの時に 図 4 44 に示すように DQS DQ および DM のトポロジーを推奨します DDR3 SDRAM コンポーネントを使用しているときは DIMM コネクタは不要です そのため インピーダンスの不連続性が最小限に抑えられ 結果としてシグナル インテグリティが向上します
DDR3 SDRAM コンポーネントを使用する場合 DIMM の差動メモリ クロック間の補償コンデンサと差動終端抵抗を考慮する必要があります 図 4 45 には 2.2 pf の補償コンデンサを用いず Stratix III Stratix IV または Stratix V FPGA の出力ドライバで 50 Ω の OCT 設定を使用して ボード上でフライバイ トポロジーを使用している最初と最後の DDR3 SDRAM コンポーネントに見られる差動クロックの HyperLynx シミュレーションを示します
補償コンデンサがない場合 最初のコンポーネントのメモリ クロック ( 黄色の信号 ) のリンギングは多大となりますが 補償コンデンサがある場合は このリンギングは減衰されます 同様に 差動終端抵抗も設計に含める必要があります ボードの積層数およびレイアウト要件に応じて 差動終端抵抗値を選択してください 図 4 46 に ボード上でフライバイ トポロジーを使用し DIMM 内で 72 Ω の代わりに 100 Ω で終端した最初と最後の DDR3 SDRAM コンポーネントに見られる差動クロックの HyperLynx シミュレーションを示します Ω 72 Ω の代わりに 100 Ω で終端すると ピーク ツー ピーク振幅が若干減衰します デザインを簡素化するため DDR3 SDRAM UDIMM には JEDEC 仕様で概説されている終端をガイドとして使用し シミュレーションを行って DDR3 SDRAM UDIMM の終端により最適な信号品質が得られていることを確認してください 差動終端の値を選択するだけでなく メモリ クロックのトレース長も考慮する必要があります 現在 アルテラの DDR3 UniPHY IP は 最初と最後のメモリ コンポーネント間にフライト タイム スキュー 0.69 t CK 以下をサポートします アルテラの DDR3 UniPHY IP を使用して DDR3 SDRAM インタフェースを作成する場合は メモリ クロックのフライト タイム スキューが 0.69 t CK を超えていないことを確認してください UniPHY IP は フライバイ スキューと DQS スキューの組み合わせの合計は 1 クロック サイクルの未満である必要があります DDR3 SDRAM コンポーネントのレイアウト ガイドラインについて詳しくは 4 63 ページの DDR3 SDRAM インタフェースのレイアウト ガイドライン を参照してください
メモリ クロック信号と同様に DDR3 SDRAM コンポーネントを使用する際には コマンドとアドレス信号に対する終端抵抗を考慮する必要があります ボードの積層数およびレイアウト要件に応じて 終端抵抗値を選択してください 図 4 47 に ボード上でフライバイ トポロジーを使用し DIMM 内で 39 Ω の代わりに 60 Ω で終端した最初と最後の DDR3 SDRAM コンポーネントに見られるコマンドとアドレスの HyperLynx シミュレーションを示します Ω 39 Ω の代わりに 39 Ω で終端すると 最初のコンポーネントの信号 ( 緑色の信号 ) でアイが閉じますが 最後のコンポーネントの信号 ( 赤色の信号 ) には影響しません ディスクリート DDR3 SDRAM コンポーネントのデザインを簡素化するため DDR3 SDRAM UDIMM には JEDEC 仕様で概説されている終端をガイドとして使用して シミュレーションを行い DDR3 SDRAM UDIMM の終端により最適な信号品質が得られていることを確認してください メモリ クロックと同様に コマンドとアドレス信号がメモリ クロックのフライト タイム スキューと合致するように これらの信号のトレース長を考慮する必要があります
DIMM の Stratix III Stratix IV または Stratix V FPGA 終端設定は DDR3 SDRAM コンポーネントにも適用されます 表 4 18 では Stratix III または Stratix IV FPGA がメモリから読み出しを行っているときの Stratix III または Stratix IV FPGA( レシーバ ) のアイ ダイアグラムにおける直列スタブ抵抗の影響を比較します Ω R S あり 0.70 685 R S なし 0.73 724 信号を減衰させるための 15 Ω のスタブ直列抵抗がない場合 4 48 ページの DDR3 SDRAM コンポーネントの DQS DQ および DM の書き込みアイ ダイアグラムと同様に DDR3 SDRAM コンポーネントからドライブされる Stratix III または Stratix IV FPGA のレシーバの信号は DDR3 SDRAM DIMM によってドライブされる Stratix III または Stratix IV FPGA のレシーバの信号より高くなります ( 図 4 42 ) アルテラの FPGA 製品は 多数のドライブ強度設定を提供しており ボード デザインを最適化して最良の信号品質を達成します ここでは Class I および Class II の終端方法に対して JEDEC が推奨する 一般的な 8mA および 16 ma のドライブ強度設定について説明します 1 ボード デザインでこれらのドライブ強度のみ使用するよう制約されるわけではありません 最適なシグナル インテグリティを達成するために アルテラおよびメモリ ベンダが提供する I/O モデルを使用してシミュレーションを実行し 適切なドライブ強度設定が使用されていることを確認する必要があります
4 23 ページの図 4 19 は FPGA が 16 ma のドライブ強度を使用して DDR2 SDRAM DIMM に書き込むとき 遠端が直列終端された伝送線路の DDR2 SDRAM DIMM( レシーバ ) でプローブした信号を示します 結果としてレシーバで得られた信号品質は 過剰なオーバシュートおよびアンダシュートを示します FPGA のドライブ強度設定を 16 ma から 8mA に下げてオーバシュートやアンダシュートを低減することができます 図 4 48 は 8mA のドライブ強度設定を用いて非並列に終端された伝送線路をドライブする FPGA のシミュレーションと測定を示します 表 4 19 は FPGA が 8mA および 16 ma のドライブ強度設定を用いてメモリをドライブしているときの 非並列に終端されメモリ側に直列抵抗を備えた DDR2 SDRAM DIMM における信号を比較したものです シミュレーション 1.48 1.71 0.24 0.35 ボード測定 1.10 1.24 0.24 0.50 シミュレーション 1.66 1.10 0.90 0.80 ボード測定 1.25 0.60 1.10 1.08 ドライブ強度設定が低い方が 全体的な信号品質が向上します ドライブ強度を低くした場合 アイの幅は狭くなりますがアイの高さはかなり高くなり オーバシュートとアンダシュートが大幅に減少します
信号品質を向上させるために 8mA のドライブ強度の代わりに 50 の Ω オンチップの直列終端 16 ma のドライブ強度の代わりに 25 Ω のオンチップ直列終端を使用する必要があります シミュレーションとボード測定について詳しくは 4 19 ページの On-Chip Termination ( 非ダイナミック ) を参照してください ドライブ強度設定は 終端方法に大きく依存するため レイアウト前および後にボード レベル シミュレーションを実行して適切なドライブ強度を決定することが不可欠です メモリは 個別コンポーネントや複数の DIMM などの多様な形態で使用でき その結果 FPGA に様々な負荷がかかります この項では コンポーネント デュアル ランク DIMM およびデュアル DIMM の形式でメモリにインタフェースするときの信号品質への影響について説明します ディスクリート DDR2 SDRAM コンポーネントを使用するときには DDR2 SDRAM DIMM コネクタから追加負荷が除去され DDR2 SDRAM DIMM 上のメモリ側の直列抵抗はそこにはありません DDR2 SDRAM 付近にメモリ側の直列抵抗が必要かどうか判断しなければなりません 図 4 49 は FPGA がコンポーネント形態で使用されているメモリに書き込んでいるとき メモリ側に直列抵抗のない Class II 終端方法を示します FPGA V TT = 0.9 V V TT = 0.9 V 16 ma R T = 56 Ω R T = 56 Ω DDR2 Component Driver 50 Ω Driver Receiver V REF 3 Trace Length V REF = 0.9 V Receiver
図 4 50 に DIMM コネクタとメモリ側に直列抵抗のない Class II 終端方法の DDR2 SDRAM コンポーネントでのシミュレーションと測定結果を示します FPGA は 16 ma のドライブ強度設定でメモリに書き込みます 表 4 20 は FPGA がメモリに書き込んでいるときに Class II 終端方法でのシングル ランク DDR2 SDRAM DIMM およびシングル DDR2 SDRAM コンポーネント用の信号を比較したものです シミュレーション 1.79 1.15 0.39 0.33 3.90 3.43 測定 1.43 0.96 0.10 0.13 1.43 1.43 シミュレーション 1.65 0.86 N/A N/A 1.71 1.95 測定 1.36 0.41 N/A N/A 1.56 1.56 (1) FPGA のドライブ強度は Class II の 16 ma に設定されます (2) N/A は適用されません 全体的な信号品質は シングル ランク DDR2 SDRAM DIMM とシングル DDR2 SDRAM コンポーネントでは同程度ですが DIMM コネクタとメモリ側に直列抵抗がないため アイの高さが 50% 以上改善されました
図 4 51 に FPGA がメモリから読み出しを行う際に メモリ側に直列抵抗がない Class II 終端方法を示します メモリ側に直列抵抗がない場合 メモリ ドライバは Class II 終端をドライブするための負荷が少なくなります この結果を 4 34 ページの FPGA によるメモリからの読み出し に記載した DIMM にメモリ側の直列抵抗がある DDR2 SDRAM DIMM と比較します V TT = 0.9 V V TT = 0.9 V FPGA DDR2 DIMM Full Strength R T = 56 Ω R T = 56 Ω Driver 50 Ω Driver Receiver V REF = 0.9 V 3 Trace Length V REF Receiver 図 4 52 に FPGA から見た信号のシミュレーションと測定結果を示します FPGA は Class II で終端された伝送線路上の DDR2 SDRAM コンポーネント付近にソース直列抵抗のないメモリから読み出します FPGA は 最大ドライブ強度設定のメモリから読み出します
表 4 21 に Class II 終端方法のシングル ランク DDR2 SDRAM DIMM およびシングル DDR2 SDRAM コンポーネントでの信号を比較したものです FPGA は 最大ドライブ強度設定のメモリから読み出します シミュレーション 1.79 1.06 N/A N/A 2.48 3.03 測定 1.36 0.63 0.13 0.00 1.79 1.14 シミュレーション 1.73 0.76 N/A N/A 1.71 1.95 測定 1.28 0.43 N/A N/A 0.93 0.86 (1) N/A は適用されません アイの高さが大きくなっているので これによっても DIMM コネクタとメモリ側の直列抵抗をなくす効果が明らかです
DDR2 SDRAM DIMM は シングルまたはデュアル ランク DIMM があります シングル ランク DIMM は DIMM の片面に DDR2 SDRAM メモリ コンポーネントを搭載した DIMM です より集積度の高い DIMM はデュアル ランクとして提供されており DIMM の両面に DDR2 SDRAM メモリ コンポーネントを搭載しています デュアル ランク DIMM コンフィギュレーションでは 負荷はシングル ランク DIMM の 2 倍です ボード デザインによりこの負荷の増加を考慮して メモリ コントローラのドライブ強度設定を調整する必要があります 図 4 53 は デュアル ランク DDR2 SDRAM DIMM での信号のシミュレーション結果を示します シミュレーションでは メモリ側に直列抵抗を持つ伝送線路の Class II 終端を使用します FPGA は 16 ma のドライブ強度設定を使用します 表 4 22 は FPGA が 16 ma のドライブ強度設定でメモリに書き込んでいるときの Class II および遠端ソース直列終端のシングル ランクおよびデュアル ランク DDR2 SDRAM DIMM での信号を比較します シミュレーション 1.34 1.27 0.12 0.12 0.99 0.94 シミュレーション 1.65 1.27 0.10 0.10 1.71 1.95 (1) FPGA のドライブ強度は Class II の 16 ma に設定されます
デュアル ランク DDR2 SDRAM DIMM では 追加負荷によってエッジ レートが低速になり アイの幅が影響を受けます 低速のエッジ レートによってメモリに必要な設定とホールド時間が劣化になり それはインタフェースのタイミングの解析のときに考慮する必要があります 全体的な信号品質は同程度ですが アイの幅はデュアル ランク DIMM では狭くなります メモリ インタフェースのタイミング解析を実行するときには アイの幅が狭くなるとデータ キャプチャ ウィンドウが小さくなるので この点を考慮する必要があります パケット バッファリングなどのアプリケーションでは 深いメモリが必要であり 単一 DIMM インタフェースでは不十分です 複数の DIMM コンフィギュレーションを使用して メモリの深さを増やしたい場合は 単一 DIMM コンフィギュレーションでのポイント ツー ポイント インタフェースの代わりに 複数のデータ ストローブおよびデータ ラインにインタフェースする必要があります これによって インタフェースの負荷が重くなり 潜在的にメモリ インタフェースの総合性能に影響を及ぼす可能性があります f 複数の DIMM DDR2 SDRAM メモリ インタフェースについて詳しくは デュアル DIMM DDR2 と DDR3 SDRAM のボード デザイン ガイドライン の章を参照してください f この項では DDR2 および DDR3 SDRAM インタフェースのデザインに関する全般的なレイアウト ガイドラインについて説明します このレイアウト ガイドラインは ボード レイアウトの計画に役立ちますが 必ず順守すべき厳密なルールではありません 各自のボード レベルでシミュレーションを行い ボードに選択したレイアウトによって希望のパフォーマンスが得られることを確認するようお勧めします 特記のない限り これらのレイアウト ガイドラインは 両方の ALTMEMPHY と UniPHY ベースの IP デザインのためのものです メモリ メーカーは その DIMM 上のアドレスとコントロール信号をルーティングする方法について詳しくは www.cadence.com の Cadence ウエブサイトから Cadence PCB ブラウザを参照してください 様々な JEDEC 例の DIMM レイアウトは www.jedec.org の JEDEC ウエブサイトから入手できます 1 次のレイアウトは ベース ルールの +/- 長さが含まれています これらの長さベースのガイドラインは 実際インタフェースの遅延特性をシミュレートできない場合に 最初のオーダ タイミング概算のために使用されます クロストークの任意のマージンが含まれていません アルテラでは 特定の実際をシミュレートしたときに デザインの正確なタイム ベース スキュー番号を取得することを推奨します
表 4 23 に DDR2 SDRAM のレイアウト ガイドラインを示します 1 これらのレイアウト ガイドラインは レべリング インタフェースなしの DDR3 SDRAM にも適用されます DIMM Impedance Decoupling Parameter Power General Routing 通常 DDR2 バッファなしやレジスタなしの DIMM を考慮すると 本質的には PCB 上に直接に DIMM ルーティングを実効する計画とします したがって FPGA ( シングル ピン ) からすべてのメモリ デバイスにルーティングする各アドレスとコントロール ピンは FPGA の同じ側に配置する必要があります すべての信号プレーンは シングル エンド 50 ~ 60 Ω(±10%) でなけれなりません すべての信号プレーンは 差動 100 Ω(±10%) でなければなりません 使用しないビア パッドは不要なキャパシタンスを発生させるので取り外します インダクタンスを最小化するには 0402 サイズで 0.1 μf を使用します V TT 電圧デカップリングはプルアップ抵抗の近くに配置します デカップリング コンデンサは V TT とグラウンドの間に接続します V TT ピンに対して 1 つおきに 0.1 μf のコンデンサを使用し VDD および VDDQ ピンに対して 0.01μF のコンデンサを使用します GND 1.8 V をプレーンとして配線します シングル スプリット プレーンのメモリには 20 ミル (0.020 インチまたは 0.508 mm) 以上の間隔を空けて V CCIO を配線します V TT をアイランドとして配線するか 250 ミル (6.35 mm) の電源トレースを配線します オシレータと PLL 電源をアイランドとして配線するか 100 ミル (2.54 mm) の電源トレースを配線します 要件に一致するすべての指定した遅延には PCB トレース遅延 異なる層の伝播 速度変動 およびクロストークが含まれています PCB 層伝播の変動を最小化するために アルテラは同じネット グループからの信号が常に同じ層でルーティングすることを推奨します 45 の角度で配線します (90 で配線しない ) クリティカル ネットやクロックの T ジャンクションを避けます 250 ミル (6.35 mm) を超える T ジャンクションを避けます スプリット プレーン間で信号を許可しません システム リセット信号の近くに他の信号のルーティングを制限します メモリ信号は PCI またはシステム クロックに 0.025 インチ (0.635 mm) 以上近づけて配線しないでください すべてのデータ アドレス およびコマンド信号は トレース長 ± 50 ps (±0.250 インチまたは 6.35 mm) にマッチする必要があります 提供された Byte Lane Group 内のすべての信号は ±10 ps または約 ±0.050 インチ (1.27 mm) の最大偏差で長さを一致させ 同じ層でルーティングされる必要があります
Clock Routing Address and Command Routing External Memory Routing Rules 内側の層のクロックは 外側の層の配線長を 500 ミル (12.7mm) 未満にして配線します これらの信号は 他のネットから 10 ミル (0.254 mm) の間隔で一致させておく必要があります クロックは クロック ペア間の長さを ±5 ps または約 ±25 ミル (0.635mm) で一致させておく必要があります 差動クロックは 並列配線時に P および N 間の長さを ±2 ps または約 ±10 ミル (0.254 mm) で一致させておく必要があります 差動ペア間の間隔は 差動ペアのトレース間の間隔の 3 倍以上にして 別々にルーティグされる ( センター上で 5 ミルのトレース 10 ~ 15 ミルの間隔 ) 必要があります また Address/Command グループの信号に等しいまたは Address/Command グループの信号よりも最大 100 ミル (2.54 mm) 長くなります バッファなしアドレスおよびコマンド ラインは クロストークに対する感受性が高く 通常バッファありアドレスおよびコマンド ラインよりノイズが多くなります したがって バッファなしアドレスおよびコマンド信号は データ信号 (DQ) とデータ マスク (DM) とは別の層に 更に間隔を空けて配線してください 差動クロック (CK) 信号とクロック イネーブル (CKE) 信号は アドレス信号の近くに配線しないでください DQS[x] Data Group に対して 終端抵抗パック (V TT ) に DDR2 DIMM またはコンポーネント上のピンから 500 ミル未満の距離を保ちます ADR_CMD_CTL Address Group アに対して 終端抵抗パック (V TT ) に DDR2 DIMM またはコンポーネント上のピンから 1000 ミル未満の距離を保ちます DQS[x] Data Group の並列度のルールは 以下の通りです 0.1 インチ未満の並列配線の場合 4 ミル ( プレーンの距離に対して約 1 倍の相対間隔 ) 0.5 インチ未満の並列配線の場合 5 ミル ( プレーンの距離に対して約 1 倍の相対間隔 ) 0.5 インチ~ 1.0 インチの並列配線の場合 10 ミル ( プレーンの距離に対して約 2 倍の相対間隔 ) 1.0 インチ ~ 6.0 インチの並列配線の場合 15 ミル ( プレーンの距離に対して約 3 倍の相対間隔 ) ADR_CMD_CTL グループおよび CLOCKS グループの並列度のルールは 以下の通りです 0.1 インチ未満の並列配線の場合 4 ミル ( プレーンの距離に対して約 1 倍の相対間隔 ) 0.5 インチ未満の並列配線の場合 10 ミル ( プレーンの距離に対して約 2 倍の相対間隔 ) 0.5 インチ~ 1.0 インチの並列配線の場合 15 ミル ( プレーンの距離に対して約 3 倍の相対間隔 ) 1.0 インチ ~ 6.0 インチの並列配線の場合 20 ミル ( プレーンの距離に対して約 4 倍の相対間隔 ) すべての信号は 他の非関連ネットから 20 ミルの間隔を維持します すべての信号は 6 インチ未満の長さの合計を持つ必要があります
Termination Rules Quartus II Software Settings for Board Layout プルアップ抵抗が使用されると フライバイ終端コンフィギュレーションを推奨します フライバイは スタブの反射の問題を低減することができます プルアップは 0.5 以内から 1 インチ未満である必要があります プルアップは 通常 56 Ω です 抵抗ネットワークを使用する場合 : パック内のクロストークを排除するために アドレス / コマンドとデータ ライン (DQ DQS および DM) の間に R パックの直列抵抗を共有することはできません 直列およびプルアップの許容値は 1 ~ 2% です 直列抵抗は 通常 10 ~ 20Ω です アドレスおよびコントロール直列抵抗は 通常リンクの FPGA エンドにあります DM DQS DQ の直列抵抗は 通常リンクのメモリ エンド ( または最初の DIMM の直前 ) にあります 終端抵抗パックを使用する場合 : メモリ デバイスへの距離は 750 ミル未満でなければなりません アルテラの FPGA デバイスからの距離は 1250 ミル未満でなければなりません ボードと I/O バッファ上でタイミング解析を実効するには スキュー ISI クロストーク およびシミュレーション結果のタイプなどのすべてのタイミング情報を UniPHY ボード設定パネルにシミュレートするためにサード パーティのシミュレーション ツールを使用します 任意のサード パーティ ツールへのアクセスがない限り 高度な I/O タイミング モデル (AIOT) またはボード トレース モデルを使用しないでください AIOT は 合理的な精度を提供しますが HyperLynx のようなツールはより良い結果を提供します 高い周波数の動作では それが適切にすべてのシグナル インテグリティに関連する不確実性をシミュレートすることが重要です Quartus II ソフトウェアは コントローラがリード コマンドの後にライト コマンドを発行すること どのぐらいの速を見つけるためにタイミング チェックをし DQ/DQS の最大長を制限します バス ターンアラウンドのタイミング オプションをオンにして マージンはボード製造前にポジティブであることを確認します マージンは 0 以上であれば ファンクション不良が発生します (1) ポイント ツー ポイントおよび DIMM インタフェース デザインについては www.micron.com Micron 社のウエブサイトを参照してください
表 4 24 に DDR3 SDRAM のレイアウト ガイドラインを示します これらのレイアウトのガイドラインは 1066 MHz でクロックされたフライバイ ネットワークを使用するディスクリート コンポーネントで DDR3 UDIMM とインタフェースに特化します 1 トレース長マッチングを決定するときに FPGA パッケージの遅延を考慮する必要があります 表 4 24 のトレース長マッチングの要件は 533 MHz より高い周波数を持つインタフェースに対応します f アルテラ デバイス用のパッケージ ネット長のレポートを取得するには Board Design Report ページの Net Length Reports を参照するか Quartus II ソフトウェアで生成された.pin ファイル内の Package Delay のカラムを参照してください DIMMs Impedance Decoupling Parameter Power 通常 DDR3 バッファなし レジスタなしの DIMM を考慮すると 本質的には PCB 上に直接に DIMM ルーティングを実効する計画とします したがって FPGA ( シングル ピン ) からすべてのメモリ デバイスにルーティングする各アドレスとコントロール ピンは FPGA の同じ側にある必要があります すべての信号プレーンは シングル エンド 50 Ω(±10%) でなけれなりません すべての信号プレーンは 差動 100 Ω(±10%) でなければなりません 使用しないビア パッドは不要なキャパシタンスを発生させるので取り外します インダクタンスを最小化するには 0402 サイズで 0.1 μf を使用します V TT 電圧デカップリングは DDR3 SDRAM コンポーネントおよびプルアップ抵抗の近くに配置します デカップリング コンデンサは V TT ピンに対して 1 つおきに 0.1 mf のコンデンサを使用して V TT と V DD の間に接続します V DDQ ピンごとに 0.01μF と 0.01 μf のコンデンサを使用します 1.5 V のグラウンド および 0.75 V をプレーンとして配線します シングル スプリット プレーンのメモリには 20 ミル (0.020 インチまたは 0.508 mm) 以上の間隔を空けて V CCIO を配線します V TT をアイランドとして配線するか 250 ミル (6.35 mm) の電源トレースを配線します オシレータと PLL 電源をアイランドとして配線するか 100 ミル (2.54 mm) の電源トレースを配線します
Maximum Trace Length (2) General Routing Clock Routing FPGAから最初のDIMMスロットまでのすべての信号の最大トレース長は4.5インチです DIMM スロットから DIMM スロットまでのすべての信号の最大トレース長は 0.425 インチです 複数の DDR3 SDRAM コンポーネントとのインタフェースする時に FPGA から最初のコンポーネントまでのアドレス コマンド コントロールおよびクロックの最大トレース長は 7 インチ未満とする必要があります FPGA から最初のコンポーネントまでの DQ DQS DQS# および DM の最大トレース長は 5 インチです 最小トレース長のハード要件は存在しないにもかかわらず シグナル インテグリティを確認するためにトレースをシミュレートする必要があります 要件に一致するすべての指定した遅延には PCB トレース遅延 異なる層の伝播の速度変動 およびクロストークが含まれています PCB 層伝播の変動を最小化するために 同じネット グループからの信号が常に同じ層でルーティングすることを推奨します 45 の角度で配線します (90 で配線しない ) 重要な信号をスプリット プレーンを横切るように配線しないでください 適切な V CC および GND プレーンを配線します 信号配線層は GND プレーンおよび電源プレーンの近くに配置します メモリ信号は メモリ クロックに 0.025 インチ (0.635 mm) 以上近づけて配線しないでください 内側の層のクロックは 外側の層の配線長を 500 ミル (12.7 mm) 未満にして配線します 最初の SDRAM から最後の SDRAM までの最大長は 1.066 GHz で 5 インチ ( 約 127 mm) 以下または 0.69 t CK にする必要があります これらの信号は 次の間隔を維持する必要があります 0.5 インチ ~ 1.0 インチの並列配線またはトレース ツー プレーンの距離の 2 倍の場合 10 ミル (0.254 mm) 間隔 0.5 インチ ~ 1.0 インチの並列配線またはトレース ツー プレーンの距離の 3 倍の場合 15 ミル間隔 1 インチ ~ 6 インチの並列配線またはトレース ツー プレーンの距離の 4 倍の場合 20 ミル間隔 クロックは クロック ペア間の長さを ±5 ps または約 ±25 ミル (0.635 mm) で一致させておく必要があります 差動クロックは 並列配線時にポジティブ (P) およびネガティブ (N) 間の長さを ±2 ps または約 ±10 ミル (0.254 mm) で一致させておく必要があります 差動ペア間の間隔は ロスを最小限に抑えて配線容量を最大化するために 差動ペアのトレース幅の 2 倍以上にする必要があります 差動クロックは 異なった形態 (5 ミルのトレース 中央部の間隔 :10 ~ 15 ミル ) および Address/Command グループの信号と同じ長さで配線する必要があります ビアで伝送線路のミスマッチを避けるため クロック パターンに Ground Signal Signal Ground (GSSG) トポロジーを使用することを推奨します GND CLKP CKLN GND
Address and Command Routing アドレスとコマンド信号は 最初の SDRAM から最後の SDRAM へデイジー チェイン トポロジーで配線されます 最初の SDRAM から最後の SDRAM までの最大長は 1.066 GHz で 5 インチ ( 約 127 mm) 以下または 0.69 t CK にする必要があります 他の DIMM コンフィギュレーションでは 適切な JEDEC 仕様を確認してください UDIMM は クロストークに対する感受性が高く 通常バッファあり DIMM よりノイズが多くなります したがって UDIMM のアドレスとコマンド信号は データ信号 (DQ) とデータ マスク (DM) とは別の層に 更に間隔を空けて配線してください 必ず 各ネットで同じ連続順を維持するようにしてください 差動クロック (CK) 信号とクロック イネーブル (CKE) 信号は アドレス信号の近くに配線しないでください アドレスとコマンドはすべて ±25 ps または約 ±125ミル (±3.175mm) 以内でクロック信号と一致するように各ディスクリート メモリ コンポーネントに配線してください 図 4 54 を参照してください
External Memory Routing Rules 特定のバイト レーン グループ内にあるすべての DQ DQS および DM 信号の長さは ±10 ps または約 ±50ミル (± 1.27mm) を最大偏差として一致させる必要があります 層は層の伝送速度の差を回避することで グループ内のスキューを向上させるために 同じ層上で特定のバイト レーン グループ内にあるすべての DQ DQS および DM 信号を配線することを確認してください ALTMEMPHY ベースのインタフェースの場合 バイト レーン グループとバイト グループの偏差は最大 ± 150 ps または ± 0.8 インチ (± 20 mm) に抑えます アドレスとコマンドおよびクロック信号の並列度のルールは 以下の通りです 0.1 インチ未満の並列配線の場合 4 ミル ( プレーンの距離に対して約 1 倍の相対間隔 ) 0.5 インチ未満の並列配線の場合 10 ミル ( プレーンの距離に対して約 2 倍の相対間隔 ) 0.5 インチ~ 1.0 インチの並列配線の場合 15 ミル ( プレーンの距離に対して約 3 倍の相対間隔 ) 1.0 インチ ~ 6.0 インチの並列配線の場合 20 ミル ( プレーンの距離に対して約 4 倍の相対間隔 ) 他のすべての信号の並列度のルールは 以下の通りです 0.5 インチ未満の並列配線の場合 5 ミル ( プレーンの距離に対して約 1 倍の相対間隔 ) 0.5 インチ~ 1.0 インチの並列配線の場合 10 ミル ( プレーンの距離に対して約 2 倍の相対間隔 ) 1.0 インチ ~ 6.0 インチの並列配線の場合 15 ミル ( プレーンの距離に対して約 3 倍の相対間隔 ) 20 ps 以上の DQ グループ スキューを補正するために DDR3 スキューを使用しないでください スキュー アルゴリズムは 次のような不確実性を削除します 最小値と最大値のダイ IOE スキューまたは遅延ミスマッチ 最小値と最大値のデバイス パッケージ スキューまたはミスマッチ 20 ps のボード遅延ミスマッチ メモリ コンポーネント DQ スキュー ミスマッチ これらの 4 つのパラメータを増やすと 制限するディスキュー アルゴリズムのリスクを実行し 観察されたシステム スキューの合計を修正するために失敗します アルゴリズムは補正を制限せずに補償できない場合は タイミング解析が減少マージンを示します すべてのトレース長マッチング要件は FPGA パッケージ ボールから DDR3 パッケージ ボールまです これは 別の DIMM ロー カード上のトレース ミスマッチングを考慮する必要があります UniPHY ベースのインタフェースの場合 レべリングが t DQSS を満たすために有効にする時 各デバイス上の DQS とクロック信号間のタイミングは動的にキャリブレーションします スキューは レべリング回路の機能には大きい過ぎないことを確認するために 図 4 55 を参照して 以下のルールに従います クロック信号の伝播遅延はすべてのデバイスで DSQ 信号の伝播遅延より短くすることはできません (CK i CK) DQS i > 0; 0 < i < コンポーネント数 1 グループ間の CLK と DQS 信号の総スキューは 1 クロック サイクルの以下です (CK i CK + DQS i )max (CK i CK + DQS i )min < 1 t CK
Termination Rules Quartus II Software Settings for Board Layout DIMM を使用する場合 メモリ クロック アドレス およびコマンドの終端については懸念はありません コンポーネントを使用する場合は アドレスとコマンドに対するフライバイ デイジー チェイン トポロジーの最後で V TT への 40 Ω の外部並列終端を使用します メモリ クロックの場合 メモリ クロックに対するフライバイ デイジー チェイン トポロジーの最後で 75 Ω 差動の外部並列終端を使用します フライバイ デイジー チェイン トポロジーを使用すると スタブの反射を削減できます 終端までのトレース長は 0.5 インチ (14 mm) 以内に抑えてください 1 ~ 2% の許容範囲で抵抗を使用してください ボードと I/O バッファ上でタイミング解析を実効するには スキュー ISI クロストーク およびシミュレーション結果のタイプなどのすべてのタイミング情報を UniPHY ボード設定パネルにシミュレートするためにサード パーティのシミュレーション ツールを使用します 任意のサード パーティ ツールへのアクセスがない限り 高度な I/O タイミング モデル (AIOT) またはボード トレース モデルを使用しないでください AIOT は 合理的な精度を提供しますが HyperLynx のようなツールはより良い結果を提供します 1066 MHz の動作では それが適切にすべてのシグナル インテグリティに関連する不確実性をシミュレートすることが重要です Quartus II ソフトウェアは コントローラがリード コマンドの後にどれぐらい速くライト コマンドを発行するためにタイミング チェックをして DQ/DQS の最大長を制限します バス ターンアラウンドのタイミング オプションをオンにして マージンはボード製造前にポジティブであることを確認します マージンは 0 以上であれば ファンクション不良が発生します (1) ポイント ツー ポイントおよび DIMM インタフェース デザインについては www.micron.com Micron 社のウエブサイトを参照してください (2) よい効率に対しては UniPHY IP がリード コマンドからライト コマンドまでに速いターンアラウンドを必要とします 図 4 54 に アドレスとコマンド信号に対する DDR3 SDRAM コンポーネントのルーティング ガイドラインを示します FPGA Propagation delay < 0.69 tck VTT VTT clock address and command x y DDR3 SDRAM Component x1 y1 DDR3 SDRAM Component x2 y2 DDR3 SDRAM Component x3 y3 DDR3 SDRAM Component Maximum 6 inches x = y ± 125 mil x + x1 = y + y1 ± 125 mil x + x1 + x2 = y + y1 + y2 ± 125 mil
図 4 55 に DQS 信号とクロック信号を調整するための遅延要件を示します DDR3 Component DDR3 Component DDR3 Component VTT CK0 CK1 CKi DQSi CK DQ Group 0 DQ Group 1 FPGA DQ Group i (CKi CK) = Clock signal propagation delay to device i DQSi = DQ/DQS signals propagation delay to group i この項では FPGA への広範な DDR3 SDRAM インタフェースをレイアウトするための様々な方法について説明します システムのボード トレース シミュレーションとタイミング バジェットに基づいて トポロジーを選択します UniPHY IP は 最大の 144 ビット幅の DDR3 インタフェースをサポートします 広いインタフェース (72 ビットよりも広い任意のインタフェース ) を実装するために ディスクリート部品または DIMM のいずれかを使用することができます アルテラでは DDR3 コンポーネントと広いインタフェースを実装する時に レべリングを使用することを推奨します 広いインタフェースにレイアウトする時に 前の項で説明されたすべてのルールと制約が適用されています DQS DQ および DM 信号は ポイント ツー ポイントであり 4 59 ページの デザイン レイアウト ガイドライン で説明されたように同じルールがあります クロック コマンド およびアドレス信号にフライバイ ネットワーク トポロジーのデザインの主な課題は シグナル インテグリティの問題を回避すること そして DQS DQ および DM 信号が選択したトポロジーで配線することを確認することです 4 47 ページの レベリング機能の搭載の DDR3 SDRAM コンポーネント で説明されたように UniPHY IP は 最初の DDR3 SDRAM コンポーネントと最後の DDR3 SDRAM コンポーネント間のフライト タイム スキューがメモリ クロックの 0.69 t CK 未満を必要とします この制約は 各フライバイ ネットワークを持っている可能なコンポーネント数を制限します ディスクリート部品でデザインすると クロック コマンド およびアドレス信号に 1 つまたは複数のフライバイ ネットワークを使用することができます
図 4 56 に シングル フライバイ ネットワーク トポロジーの例を示します FPGA DDR3 SDRAM DDR3 SDRAM DDR3 SDRAM VTT DDR3 SDRAM DDR3 SDRAM DDR3 SDRAM Less than 0.69 tck 信号に接続されるすべての DDR3 SDRAM コンポーネントは 不連続が発生し 信号を劣化させる小さな負荷です シングル フライバイ ネットワーク トポロジーを使用するときに 信号の歪みを最小限に抑えるために 次のガイドラインに従います トレースに接続されているデバイスの数を最小にするために 4 倍または 8 倍を代わりに 16 倍のデバイスを使用します スタブをできるだけ短くしてください さらに 追加のコンポーネントから追加された負荷で 全体のトレース長を短くします ;FPGA と最初の DDR3 SDRAM コンポーネント間の距離は 5 インチ未満に迎えます ディーセント波形を確認するためにクロック信号をシミュレートします
図 4 57 に ダブル フライバイ ネットワーク トポロジーの例を示します このトポロジーでは 剛体ではありませんが 代替オプションとして使用することができます このトポロジーを使用する利点は 0.69 t CK のルールに違反することなく システムでより多くの DDR3 SDRAM コンポーネントを持つことができるということです しかし 信号が分岐するため コンポーネントがまだ不連続を作成します VTT DDR3 SDRAM DDR3 SDRAM DDR3 SDRAM FPGA DDR3 SDRAM DDR3 SDRAM DDR3 SDRAM Less than 0.69 tck VTT DDR3 SDRAM DDR3 SDRAM DDR3 SDRAM DDR3 SDRAM DDR3 SDRAM DDR3 SDRAM Less than 0.69 tck 分割の位置 および分割前と後のトレースの最高のインピーダンスを見つけるために いくつかのシミュレーションを実施する必要があります
図 4 58 に 不連続の影響を最小限にする方法を示します この例では TL2 と TL3 の長さを一致させます レイアウト時にすべての信号のルーティングが容易になるように TL1 は TL2 と TL3 より長く迎えます TL2, ZQ = 50Ω TL1, ZQ = 25Ω Splitting Point TL3, ZQ = 50Ω また コンポーネントを交換するために 各ブランチの DIMM を使用することを考慮することができます DIMM カード上のトレード インピーダンスは 40 Ω ~ 60 Ω であるため システムが許容できるレベル内に反射を制御するためのボード トレース シミュレーションを実行します UniPHY 付きの DDR3 SDRAM コントローラおよび Stratix III Stratix IV または Stratix V デバイスの新機能をを使用すれば 設計プロセスを簡素化できます フライバイ デイジー チェイン トポロジーを使用すると レベリングを実現するためにデータパスおよびコントローラの設計が複雑になりますが パフォーマンスが大幅に向上し DDR3 SDRAM のボード レイアウトが簡素化されます より最適なソリューションが得られる可能性がある場合や 必要な電気インタフェース規格には対応しているが 必要なリード レベリングとライト レベリング機能には対応していないデバイスを使用する場合は レベリング機能を搭載していない DDR3 SDRAM コンポーネントも設計に使用できます
表 4 25 に このドキュメントの改訂履歴を示します 2012 年 6 月 4.1 Feedback のアイコンを追加 2011 年 11 月 4.0 Arria V および Cyclone V の情報を追加 2011 年 6 月 3.0 DDR2 と DDR3 の章を DDR2 and DDR3 SDRAM Interface Termination and Layout Guidelines に合併し レべリングの情報を更新 Stratix V の情報を追加 2010 年 12 月 2.1 DDR3 SDRAM Interface Termination, Drive Strength, Loading, and Board Layout Guidelines の章に Stratix V の情報を追加 2010 年 7 月 2.0 Arria II GX の情報を更新 2010 年 4 月 1.0 初版