cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Versal GTYシミュレーション:初期化、リセットとレート変更

karnanl
Xilinx Employee
Xilinx Employee
3 0 571

このブログは、英語版の Versal GTY Simulation: Initialization, Reset and Rate Change を翻訳したものです。


このブログでは、Versal™ GTYシミュレーションの例を取り上げ手数料、GTYがリセットから抜け出し、ラインレート変更の実行する方法を示します。

Versal ACAP GTYトランシーバーには、マスターリセットコントローラー(Master Reset Controller)が導入されています。

マスターリセットコントローラーは、LCPLL、RPLL、ILO、TXプログラマブル分周器、RXプログラマブル分周器、TXチャネル、およびRXチャネルのリセットを自動的に実施します。

詳細な説明は、AM002のトランシーバーマスターリセットセクションで確認できます。 GTY内の新しいマスターリセットコントローラーは、前世代のUltraScale / UltraScale +トランシーバーのGTウィザードに含まれていたリセットコントローラーヘルパーブロックに置き換わるものです。

以下のサンプルシミュレーションでは、Versal GTYは次のように構成されています。

  • チャネル2(ch2)の単一チャネル
  • 2つのラインレート設定、10G / 25GがCONFIG0 / CONFIG1にプログラムされています
  • 両方のラインレートで、REFCLKは156.25MHzであり、同じ基準クロックポートから供給されます。

本IPサンプルデザインは、FPGAデザインを完成させ、シミュレーションテストベンチを提供するために使用されます。


ブロック図
サンプルデザインのブロック図を下図に示され、
ブロックデザインTclスクリプト(run.tcl)が本ブログで添付されています。

PIC1.png

Vivadoの生成手順

gt_quad_base IPを作成し、IPサンプルデザインを開きます

1. gt_quad_baseIPを作成します。この場合、チャネル2でシングルレーン構成を使用しています。

2. Transceiver Configs Protocol 0をクリックして、トランシーバーをカスタマイズします。

PIC2.png

3. CONFIG0は10.3125Gbpsを設定します

PIC3.png

4. CONFIG1は25.78125Gbpsを設定します。

PIC4.png

5. IP Integratorキャンバスで、gt_quad_baseを右クリックし、[Open IP Example Design]を選択します。

PIC5.png

これにより、新しいVivadoプロジェクトにサンプルデザインが作成されます。

 

シミュレーションの実行

サンプルデザインは、クロックとリセットに必要な接続がすべて確立されて、トップレベルのシミュレーションテストベンチ(gt_quad_base_exdes_tb.sv)も生成されます。

サンプルデザインプロジェクトで、[Run Simulation]をクリックしてシミュレーションを開始します。

  PIC6.png

観測したい重要な信号を含んだシミュレーション波形は次の図で示します。

SIM_WAVEFORM.png

リセットのシーケンス

Versal GTYに含まれているマスターリセットコントローラーはbridge_ipのリセットシーケンスに使用します。詳細については、(AM002) のトランシーバーマスターリセットのセクションを参照してください。

1.T = 0.8nsで、gt_reset_ip0がアサートされ、リセットシーケンスが開始されます。
2.リセットコントローラーステートマシンは、リセットシーケンスを開始する前に、最初に
 gtpowergoodがアサートされることを待ちます。 (gtpowergoodはT = 34usでアサートします)
3. マスターリセットシーケンスを開始するためのtxmstresetおよびrxmstresetディアサートされます
 (1->0)
4. tx / rxmstresetデアサートされた後に、* resetdoneは1->0に変化します。
5. T = 50usで、lcplllockがアサートされます。
6. T = 52usで、txpmaresetdoneがアサートされた後、txuserrdyがhighとなり、txresetdoneが
 アサートされた。その後txmstresetdoneがアサートされます。 bridge_iptx_resetdone_out_ip0も
 アサートします。これでTXリセットシーケンスは完了です。
7. T = 53usで、rxpmaresetdoneがアサートされ、次にrxuserrdy、rxresetdone、rxmstresetdone、
 最後にrx_resetdone_out_ip0が続きます。これでRXリセットシーケンスは完了です。
8.これで、GTYはデフォルト(CONFIG0)のレート(rate_sel_ip0 = 0)で稼働しています。

 

レート変更

レート変更シーケンスは、rate_selポートを目的のレートに変更することによって開始されます。必要なリセット、クロック切り替え、および属性の更新が自動的に実行されます。ユーザーは、現在のレート変更プロセスと必要なリセットシーケンスが完了したことを示すものとして、txresetdonerxresetdoneを待つ必要があります。

  1. T = 65usで、rate_sel_ip00→1に変更されます。これにより、レート変更シーケンスが開始され、GUIのCONFIG1(この場合は25Gbps)で設定された新しいラインレートがターゲットになります。
  2. T = 86usで、txresetdoneがアサートします。 89usで、rxresetdoneがアサートします。これでレート変更シーケンスは完了です。
  3. これで、GTYCONFIG1レート(rate_sel_ip0 = 1)で稼働しています。

以上です。