AR# 43876

MIG 7 Series DDR3/DDR2 - 既存の PLL リソースからの基準クロックの生成

説明

7 シリーズ DDR3/DDR2 MIG デザインには、基準クロック入力とシステム クロック入力の 2 つのクロック入力があります。

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

基準クロックは、外部クロック ソースではなく、既存の PLL リソースから生成できます。

ソリューション

1 つのクロック ソースから基準クロックを内部で生成するには、次の 2 つのオプションがあります。

  1. MIG IP を生成する際に、基準クロックに [Use System Clock] オプションを選択します。

 

注記 : [Use System Clock] オプションは、[Input Clock Period] (入力クロック周期) を [5000 ps (200 MHz)] に設定した場合にのみ選択可能です。

 2. 基準クロックを内部で手動で生成します。

  • MIG IP を生成する際に、基準クロックに [No Buffer] オプションを選択します。

 

  • 変更する必要のある RTL ファイルは example_top.v/.vhd, <user_design>.v/.vhd および infrastructure.v and iodelayctrl.v です。

  • PLL の設定を確認するには、CORE Generator から Clocking Wizard を起動し、ソース クロック周波数を入力します。
    Clocking Wizard を設定し、MIG のデフォルト デザインに必要な 4 つの出力と idelayctrl 基準クロック (200MHz) となる 5 つ目の出力を生成します。
    算出された逓倍値 (CLKFBOUT_MULT_F)、分周値 (DIVCLK_DIVIDE)、および各クロック出力の分周値 (CLOCKn_DIVIDE) を記録します。

  • infrastructure モジュールに次の変更を加えます。
    1. 5 つ目のクロック出力に CLKOUT5_DIVIDE というパラメーターを追加し、CLOCK5_DIVIDE の値を設定します。
      このパラメーターを PLLE2_ADV インスタンスの CLKOUT5_DIVIDE パラメーターに渡すか、CLKOUT5_DIVIDE パラメーターの値が infrastructure モジュールの PLLE2_ADV インスタンスの CLKOUT5_DIVIDE パラメーターに割り当てられるようにします。
    2. infrastructure.v ファイルに clk_ref という出力ポートを追加します。これは PLL で生成された 200MHz のクロックです。
      これを PLL の CLKOUT5 ポートに接続します。
      このクロックで iodelayctrl モジュールを駆動します。
       
  • MIG デザインの最上位モジュール (example_top.v/vhd またはユーザー デザインの最上位) に次の変更を加えます。
    • CLKFBOUT_MULT_、DIVCLK_DIVIDE、および CLKOUT#_DIVIDE のパラメーター値を新しく生成された値に変更します。
      CLKOUT#_DIVIDE パラメーターの値は、Clocking Wizard で生成された各 CLKOUT#_DIVIDE の値に設定する必要があります。
  • UCF に次の変更を加えます。
    • idelayctrl の基準クロックは PLL から生成されるので、UCF に idelayctrl のクロック制約を含める必要はありません。
      UCF の idelayctrl の基準クロック制約をコメントアウトします。
AR# 43876
日付 12/19/2014
ステータス アクティブ
種類 一般
デバイス
IP