AR# 35242

MIG Virtex-6 DDR2/DDR3 - クロック要件および入力クロック周波数の変更

説明

Virtex-6 DDR2/DDR3 MIG デザインには 2 つのクロック入力があります。 

基準クロックはデザインの IODELAYCTRL コンポーネントを駆動しますが、システム クロック入力はすべての MIG デザイン クロック (ユーザー インターフェイス、コントローラーおよび PHY レイヤーで使用される) を生成するのに使用されます。

注記 : このアンサーは、ザイリンクス MIG ソリューション センター (ザイリンクス アンサー 34243) の一部です。

ザイリンクス MIG ソリューション センターには、MIG に関連するすべての質問についての回答が含まれます。 

MIG でデザインを新しく作成する場合、または問題をトラブルシュートする場合は、このザイリンクス MIG ソリューション センターから情報を入手してください。

ソリューション

基準クロック (clk_ref)

IDELAYCTRL リファレンス クロックは、最上位モジュールにインスタンシエートされている IODELAY_CTRL プリミティブに直接配線されます。 

clk_ref 入力は 200MHz または 300MHz の入力クロックで駆動する必要があります。 

基準クロック スピードはタップ サイズに影響し、信号が IODELAY でシフトできる有効なウィンドウに影響を与えます。

信号はクロック周期全体でシフトできることが重要です。 

詳細および MIG デザインが 200 MHz 基準クロックを使用する場合と 300 MHz 基準クロックを使用する場合の違いについては、(ザイリンクス アンサー 35252) を参照してください。

クロック (sys_clk)

MIG では、入力システム クロックがインターフェイス周波数で同じあると想定されます。 

400MHz のメモリ インターフェイスを指定する場合、デザインは 400MHz の入力クロック用に設定されます。 

400MHz のシステム クロックは、MMCM (infrastructure.v/.vhd モジュールにある) に入力され、必要な MIG クロックを生成します。

  • ユーザー インターフェイス、コントローラー、および PHY CLB ロジックの駆動に使用される 0.5x (1/2 レート) BUFG クロック
  • DRAM クロックの I/O ロジック、コントローラー、アドレス、DM、および DQ/DQS の駆動に使用される 1x BUFG クロック
  • 読み出しパスでのキャプチャおよび再同期化クロックの生成に使用される1x パフォーマンス パス クロック (CLKPERF)

クロック供給図は、『Virtex-6 FPGA Memory Interface Solutions User Guide』 (UG406) の 「DDR2/DDR3 SDRAM Memory Interface Solutions」 > 「Core Architecture」 > 「PHY」のセクションにある PHY クロッキング アーキテクチャの図を参照してください。

http://japan.xilinx.com/support/documentation/ip_documentation/j_ug406.pdf

Virtex-6 DDR2/DDR3 MIG デザインはハーフ レートのコントローラで、つまり、メモリ インターフェイスの半分の速度で実行します。 

これで、高速メモリ インターフェイスの場合内部的にタイミングが満たしやすくなり、立ち上がりおよび立ち下がりデータを考慮するのにデータ バスが DQ 幅の 4 倍になります。

異なる入力 クロック レートの使用

MIG ではメインのシステム クロック入力が DRAM インターフェイスのレートと同じであると想定されています。

異なる入力クロック レートを使用する必要がある場合、MIG デザインで MMCM 設定を変更するためソース コードを変更する必要があります。 

MMCM の乗算および減算のパラメータは上位ラッパ ファイル (サンプル デザインの場合は example_top.v/vhd、ユーザー デザインの場合は design_name.v/vhd) で設定されています。

parameter CLKFBOUT_MULT_F = 8,
parameter DIVCLK_DIVIDE = 4,
parameter CLKOUT_DIVIDE = 2,

これらは、MMCM 入力クロックに基づいて上記の MMCM 出力クロックを作成するために設定されます。

 

MIG はメモリ クロック周波数を最上位の tCK パラメーターに割り当てます。

この tCK パラメーターは MMCM の入力クロック (CLKIN1_PERIOD) 周波数を作成するために使用されます。

また、コントローラー デザイン内でカウンターを作成するのにも使用されます (リフレッシュ カウンターなど)。 

このパラメーターはカウンターの作成に使用されるため、新しい入力クロック周期に対して変更することができません。 

入力クロック周期を割り当てるための新しいパラメーターを作成する必要があります。 

新規パラメーターが作成されると、MMCM の入力クロック (CLKIN1_PERIOD) を駆動することができるはずです。 

MMCM は MIG で提供されている infrastructure.v/.vhd モジュールでインスタンシエートされます。 

このインフラストラクチャーは user_design および example_design の両方の最上位でインスタンシエートされます。 


Virtex-6 Clocking Wizard は、入力周波数および MIG 出力クロックに基づいて該当する MMCM の M および D の値を決定するのに使用することができます (上記参照)。


注記 : これらのパラメーターを変更する際は、CLKFBOUT_MULT は 2、3、4 には設定できないといったような MMCM パラメーターの制限について注意してください。

ジッターを最小限に抑えるには、MIG で VCO 周波数を 1GHz 以上に保持するひつようがあります。

正しい VCO 周波数の計算

VCO 周波数 = 1/((DIVCLK_DIVIDE * CLK_PERIOD)/(CLKFBOUT_MULT_F * nCK_PER_CLK))

その他の情報

(ザイリンクス アンサー 35113) - DQS の使用方法
(ザイリンクス アンサー 35112) - 内部生成キャプチャ クロック
(ザイリンクス アンサー 43559) - MIG Virtex-6 DDR2/DDR3 - 既存の MMCM リソースからの基準クロックの生成

改訂履歴
2011/02/10 - ジッターを削減する M 値を 8 から 10 に変更
2011/08/10 - アンサー 43559 を追加
2012/06/26 - CLKFBOUT_MULT_F が 10 を超えてはならない要件を削除
2012/09/06 - マイナー アップデート

アンサー レコード リファレンス

関連アンサー レコード

Answer Number アンサータイトル 問題の発生したバージョン 修正バージョン
43559 MIG Virtex-6 DDR2/DDR3 - 既存の MMCM リソースを使用した基準クロックの生成 N/A N/A
35260 MIG Virtex-6 DDR2/DDR3 - クロッキングおよびリセット N/A N/A
AR# 35242
日付 08/29/2014
ステータス アクティブ
種類 ソリューション センター
デバイス 詳細 概略
IP