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

UltraScale/UltraScale+ GTH/GTYラインレートを動的に変更する方法

Xilinx Employee
Xilinx Employee
4 0 271

UltraScale/UltraScale+ GTH/GTYトランシーバーを使用して、ラインレート設定を動的に変更して使用したいことはありませんか? 自社の通信プロトコル向けにGTH/GTYトランシーバー単体でご利用のお客様から多くの問合せを頂いています。

 

B_PIC1.jpg

VivadoのIPカタログのUltraScale FPGAs Transceivers Wizardには1つのラインレートしか設定できないことがわかります。ご存知のようにUltraScale/UltraScale+ GTH/GTY Transceiver Wizardでは ラインレート設定を変更することができないため、トランシーバーユーザーが手動で行う必要があります。

1.DRPインターフェース経由でラインレートを変更する方法

(a) 実現したい line-rate configurationでトランシーバーマクロを生成する。

(b) サンプルデザインを生成する。

B_PIC2.jpg

(c) サンプルデザインの論理合成を実行する。
     Flow Navigator
Run synthesis をクリック

 B_PIC3.jpg

論理合成が完了したら [Open Synthesized Design] を選択してネットリストを開く。

B_PIC4.jpg

(d) Tclコンソールで 以下で添付されているgt_Attributes_97.tclスクリプトを実行する。

B_PIC5.jpg

このスクリプトを実行することで、Channel/Common属性をgtParams.txtファイルに出力することができます。また、GTH/GTY内部の属性だけでなく、固定されたGTH/GTYポートもファイルとして出力されているので、簡単に比較することができます。

~上記の (a)から(d)までの手順をインプリメントしたいGTH/GTYコンフィギュレーションの数だけ繰り返します~

 

 (e) GTH/GTYコンフィギュレーションから出力された gtParams.txtを比較することで、異なる属性がすぐにわかります。

B_PIC6.png

 

(f) DRP I/F (ダイナミック リコンフィギュレーション ポート インターフェース)
DRP I/F
経由で、必要な属性を設定する必要がありますが、各属性のアドレスは UG576/UG578 の付録B/Cに記載されています。
またDRP I/Fの制御方法が分からない場合は、詳細情報はUG576/UG578 2 章に記載されております。

(g) リセット

DRP I/Fでアトリビュート設定が完了したら、GTH/GTYを使用する前に再度リセットを実行される必要があります。


※ ラッパーRTLを比較するよりも、このスクリプトでgtParams.txt を生成して比較することを推奨します。手順として増えてしまいますが、ChannelCommon部分の属性の他に、固定された外部ポートも比較できるので、間違いなく属性を変更できます。

 

2. CPLLキャリブレーションモジュールの設定変更

デザインにCPLLを使用する場合、CPLLキャリブレーションモジュールの信号を変更する必要があります。アンサー レコード (AR#70485)で設定変更が必要な信号の変更方法が記載されていますので、参照してください。

 

B_PIC7.png

B_PIC8.png

UltraScale/UltraScale+ GTH/GTYの動的ラインレートを変更する必要がある場合、上記の(1) (2)をぜひお試しください。