ここ2、3日、UltraScale+のGTHで遊んでました。
ちょっと、カスタムプロトコル通信がしたくてGTHをいぢってみました。
Virtex2-Proの頃も資料少なくて、試行錯誤でHD-SDIを実装したなぁ〜とか思いつつ・・・
今回もハマるかと思ってたら・・・
なので、外でIP作ります。

ウィザード呼び出して作ってみましょう。

今回はZCU102でHDMIポートを使ってみたので、HDMIを選択してみた。
やりたいのはカスタム通信なのでどれでもいいだけどね。

まず、3ポート要らないので1ポートに削ってみた。

クロックはTx/Rx別々でQPLLから引きたいのでPLLを修正した。

そしたら、意図しない入力に接続されたので修正してみた。

QPLLパラメータって設定しなきゃいけないよね。

あと、データ揃えたいので8b/10bにしてみた。

出来上がった回路を右クリックすると・・・
なんと!
「Open IP Example Design..」って、メニューがあるじゃないですか!

まぁ、GTHって接続が多くて面倒だからインスタンスでも作ってくれるんだろうと思ってたら・・・
あれれ?
新しいVivadoが開いた。

なんとまぁ、シミュレーションベンチまで入っているではありませんか!

これで動作確認完了。
論理的には・・・
ここからが大変だった・・・
だって、シミュレーションと実機の動作が違うだもん(苦笑)
実機で動きやしない。
っうか、深追いしてないけどウィザードのバグでしょ。
たぶん・・・。
カスタムGTHは気をつけたほうが良いよ。