AR# 53779

Virtex-7 FPGA GTH トランシーバーのデザイン アドバイザリ - 製品版シリコンの RX リセット シーケンス要件

説明

このアンサーでは、Virtex-7 GTH トランシーバーの製品版シリコンの RX リセット シーケンス要件について説明します。

ソリューション

Virtex-7 GTH 製品版トランシーバーが次のようにコンフィギュレーションされる場合に GTRXRESET、RXPMARESET、または RXRATE を発行するには、次のシーケンスに従う必要があります。
 
1. RXOUT_DIV = 2、4、8 または 16
および
2. RX 内部データ幅は 20 または 40 ビット (RX_DATA_WIDTH = 20、40 または 80)
 
その他のモードの場合、このシーケンスは必須ではありませんが、サポートされています。
 
これらのリセット シーケンスは General ES (エンジニアリング サンプル) でも使用できますが、その場合、必須ではありません。 これらのシーケンスは、ISE 14.5/Vivado 2013.1 ツール バージョンの 7 Series FPGAs Transceivers Wizard v2.5 で生成されたラッパーにインプリメントされます。リセット シーケンスについては、『7 シリーズ FPGA GTX/GTH トランシーバー ユーザー ガイド』 (UG476) の次のバージョン v1.9 に記載されています。

これらのシーケンスでは、''user_*'' はユーザー入力を示します。この信号は以前は GT プリミティブに直接接続されていましたが、下記に説明するように、代わりのリセット シーケンスをトリガーするようになりました。
''gt_*'' は GT プリミティブへの接続を示します。次の図は、この新しいシーケンスがどこに使用されるかを示しています。
''DRP wr'' はアドレス 9'h011 への DRP 書き込みを実行する関数を示します。  正確な DRP トランザクションが表示されているわけではありません。
 
 
 
 
 
1. GTRXRESET :
 
GTRXRESET を実行する場合は、次のリセット シーケンスに従う必要があります。
 


手順 :
 
  1. user_GTRXRESET をアサートしてリセット リクエストをトリガーします。
  2. gt_GTRXRESET を High に設定してホールドします。これにより、gt_RXPMARESETDONE は Low になります。
  3. GTHE2_CHANNEL プリミティブ (DRP アドレス 9'h011) に対して DRP 書き込みを発行して、bit[11] を 1'b0 に設定します。
    注記 : DRP アドレス 9h'011 の bit[11] だけを変更するには、read-modify-write 関数を実行するのが最適な方法です。
  4. DRP 書き込みが終了して user_GTRXRESET が Low であると検出されたら、gt_GTRXRESET を Low に設定してホールドします。DRP 書き込みが終了したときに user_GTRXRESET がアサートされたままになる場合は、user_GTRXRESET が Low になるまで gt_GTRXRESET をアサートし続けます。
  5. gt_RXPMARESETDONE の立ち下がりエッジを待ちます。
  6. GTHE2_CHANNEL プリミティブ (DRP アドレス 9'h011) へ DRP 書き込みを発行し、bit[11] の元の設定を復元します。 この DRP 書き込みの終了は、RXPMARESETDONE が Low から High に切り替わるよりも前に発生する必要があります。RXPMARESETDONE は最低 0.66 us 間は Low のままになります。

注: 

  1. 必ず gt_GTRXRESET がレジスタの出力になるようにしてください。
  2. RXPMARESET_TIME は 5'h3 に設定する必要があります。これを必ずデフォルト設定にします。
  3. 上記のシーケンスは、SIM_GTRESET_SPEEDUP が FALSE に設定されていて、UNISIM ライブラリの GT 論理シミュレーション モデルが使用されている場合にのみ正しくシミュレーションされます。 SIM_GTRESET_SPEEDUP が TRUE に設定される場合または UNISIM ライブラリの GT 論理シミュレーション モデルが使用されている場合、上記のシーケンスはバイパスされる必要があります。
 
2. RXPMARESET :
 
RXPMARESET を実行する場合は、次のリセット シーケンスに従う必要があります。
 
AR53779_2.png

手順 :
 
  1. user_RXPMARESET をアサートして RXPMARESET リクエストをトリガーします。
  2. GTHE2_CHANNEL プリミティブ (DRP アドレス 9'h011) に対して DRP 書き込みを発行して、bit[11] を 1'b0 に設定します。
    注記 : DRP アドレス 9h'011 の bit[11] だけを変更するには、read-modify-write 関数を実行するのが最適な方法です。
  3. DRP の書き込みが終了したら、gt_RXPMARESET を High に設定およびホールドします。
  4. RXPMARESETDONE が Low になるのを待ちます。
  5. GTHE2_CHANNEL プリミティブ (DRP アドレス 9'h011) へ DRP 書き込みを発行し、bit[11] の元の設定を復元します。
  6. DRP 書き込みが終了して user_RXPMARESET が Low であると検出されたら、gt_RXPMARESET を Low に設定してホールドします。DRP 書き込みが終了したときに user_RXPMARESET がアサートされたままになる場合は、user_RXPMARESET が Low になるまで gt_RXPMARESET をアサートし続けます。

注記 : 必ず gt_RXPMARESET がレジスタの出力になるようにしてください。


3. RXRATE :
 
RXRATE を介して RX レート変更をトリガーする場合は、次のシーケンスに従う必要があります。
 


手順 :
 
  1. user_RXRATE を変更して RX レート変更リクエストをトリガーします。
  2. GTHE2_CHANNEL プリミティブ (DRP アドレス 9'h011) に対して DRP 書き込みを発行して、bit[11] を 1'b0 に設定します。
    注記 : DRP アドレス 9h'011 の bit[11] だけを変更するには、read-modify-write 関数を実行するのが最適な方法です。
  3. DRP 書き込みが終了したら、gt_RXRATE を user_RXRATE の値に設定します。
  4. RXPMARESETDONE が Low になるのを待ちます。
  5. GTHE2_CHANNEL プリミティブ (DRP アドレス 9'h011) へ DRP 書き込みを発行し、bit[11] の元の設定を復元します。 この DRP 書き込みの終了は、RXPMARESETDONE が Low から High に切り替わるよりも前に発生する必要があります。RXPMARESETDONE は最低 0.66 us 間は Low のままになります。

注:

  1. 上記のシーケンスは、SIM_GTRESET_SPEEDUP が FALSE に設定されていて、UNISIM ライブラリの GT 論理シミュレーション モデルが使用されている場合にのみ正しくシミュレーションされます。 SIM_GTRESET_SPEEDUP が TRUE に設定される場合または UNISIM ライブラリの GT 論理シミュレーション モデルが使用されている場合、上記のシーケンスはバイパスされる必要があります。
  2. RXRATE 変更に関してここに示される手順は、まだハードウェアでテストおよび検証中です。

改訂履歴
2013/04/12 - リセット シーケンスを含むユーザー ガイドのバージョンをアップデート
2013/02/20 - 正しい GTH モードの組み合わせ (新しいリセットが必要) を示すように冒頭部分をアップデート
2013/01/31 - 初版

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

マスター アンサー レコード

Answer Number アンサータイトル 問題の発生したバージョン 修正バージョン
54473 LogiCORE IP CPRI コア - Vivado 2013.1 以降のバージョンのリリース ノートおよび既知の問題 N/A N/A

関連アンサー レコード

AR# 53779
日付 04/12/2013
ステータス アクティブ
種類 デザイン アドバイザリ
デバイス