AN 901: インテル® Agilex™ FPGA EタイルJESD204C RX IPを備えたアナログ-デジタル・コンバーターのデュアル・リンク・デザインの実装

ID 683537
日付 9/21/2020
Public
ドキュメント目次

1.3.1.2. インテルAgilexデュアルリンクへの同期ADC用のデザイン例トップレベルのHDLの編集

Verilog HDLファイルのgenerateステートメントは、LINKシステム・パラメーターをインデックス変数として使用して、デュアルリンクのユースケースに必要な数のインスタンスを生成します。
  1. トップレベルのHDLファイル (intel_j204c_ed_rx.sv) をテキストエディターで開きます。
  2. LINKシステム・パラメーターを変更して、デザイン内のリンクの数を反映させます。
  3. j204c_rx_ss プラットフォーム・デザイナーシステムのインスタンス化から新しくエクスポートされたポートを挿入します。
  4. プラットフォーム・デザイナーポートの接続を確立するには、以下を実行します。
    1. RXリンクリセットとフレームリセットの場合は、rx_rst[0] ワイヤーをプラットフォーム・デザイナーのリセット・シーケンサーから2番目以降のリンクのIPおよびパターンチェッカーに供給します。これを実現する1つの方法は、パターンチェッカーの rx_rst[i] ワイヤーのインデックスおよび、rx_rst[0] を使用したシンクロナイザー (j204c_pulse_CDC) インスタンス化生成ループをハードコード化することです。RXリセットの供給については、次の図を参照してください。
      図 7. JESD204C RX IPリンクリセット
      図 8. データチャネル用のフレームリセットおよびコマンドチャネル用のリンクリセットのパターンチェッカー
      図 9. JESD204C RX IP、データチャネル、およびコマンドチャネルのパターンチェッカーのエラー・フラグ・シンクロナイザーのリセット
      図 10. Sysrefシンクロナイザーのリセット
    2. 以下のワイヤーの寸法を変更してください。この例は、Verilog HDLに示されています。
      1. wire [LINK-1:0] j204c_rx_dev_lane_align;
      2. wire [LINK-1:0] j204c_rx_dev_emblock_align;
    3. JESD204C RX IPのプラットフォーム・デザイナーポートで、次のワイヤーにインデックスを追加します。リンク0にはインデックス[0]を使用し、リンク1にはインデックス[1]を使用します。例は、次のとおりです。
      1. j204c_rx_dev_lane_align[0]
      2. j204c_rx_dev_emblock_align[0]
    4. 各IPの j204c_rx_dev_lane_align ポートをANDゲートに接続します。ANDゲートの出力を各IPの j204c_rx_alldev_lane_align ポートに供給します。
      // Example in Verilog
      assign j204c_rx_alldev_lane_align = &j204c_rx_dev_lane_align;
    5. 各IPの j204c_rx_dev_emblock_align ポートをANDゲートに接続します。ANDゲートの出力を各IPの j204c_rx_alldev_emblock_align ポートに供給します。
      // Example in Verilog
      assign j204c_rx_alldev_emblock_align = &j204c_rx_dev_emblock_align;
    6. 次のワイヤーを作成します。
      1. rx_pma_ready_in_all
      2. rx_xcvr_ready_in_all
    7. 各リンクの rx_pma_ready_in をANDゲートの入力に接続します。ANDゲートの出力を rx_pma_ready_in_all に接続します。
      // Example in Verilog
      assign rx_pma_ready_in_all = &rx_pma_ready_in;
    8. 各リンクの rx_xcvr_ready_in をANDゲートの入力に接続します。ANDゲートの出力を rx_xcvr_ready_in_all に接続します。
      // Example in Verilog
      assign rx_xcvr_ready_in_all = &rx_xcvr_ready_in;
    9. プラットフォーム・デザイナーシステムの rst_seq_1_reset2_dsrt_qual_reset2_dsrt_qual ポートの rx_pma_ready_in[0] 接続を、rx_pma_ready_in_all のANDゲートの出力に置き換えます。
    10. プラットフォーム・デザイナーシステムの rst_seq_1_reset3_dsrt_qual_reset3_dsrt_qual ポートの rx_xcvr_ready_in[0] 接続を、rx_xcvr_ready_in_all のANDゲートの出力に置き換えます。
    11. 残りのポートについては、インデックス・ワイヤーを0から1に増やし、後続のリンクに後続の番号を使用します。
      例: rx_avst_data[1] ワイヤーはリンク1 IPに接続する必要があります。
  5. 各IPの j204c_rx_emb_lock 出力ポートをANDゲートの入力に接続します。ANDゲートの出力をデザイン例の emb_lock_out 出力ポートに接続します。rx_sh_lock ポートに対して、同様のアクションを実行します。
    // Example in Verilog
    assign emb_lock_out = &rx_emb_lock;
    assign sh_lock_out = &rx_sh_lock;
  6. サブクラス1サブシステムの場合、sysref_out ポートとその割り当てをコメントアウトまたは削除します。SYSREFは、ADCおよびFPGAにデバイスクロックを供給するクロック・ジェネレーターから供給される必要があります。ED Controlブロックからの fpga_sysref 信号は、デバッグのみを目的としています。
    // Example in Verilog
     // output wire sysref_out,
     // assign sysref_out = fpga_sysref; 
  7. トップレベルのHDLファイルの変更を保存します。