1. 株式会社PALTEK
  2. TECHブログ
  3. 技術情報
  4. 【回路設計ヒント】どうする?FPGAの端子アサイン ~トランシーバー(高速シリアル)編~

TECHブログ

【回路設計ヒント】どうする?FPGAの端子アサイン ~トランシーバー(高速シリアル)編~

【回路設計ヒント】どうする?FPGAの端子アサイン ~トランシーバー(高速シリアル)編~

FPGAのトランシーバー(高速シリアル)を使う際、リファレンスクロックやPch/Nchの接続を工夫することで、基板設計の最適化を行うことができます。本記事ではその具体的なヒントを解説します。

この記事でわかること

  • トランシーバーのリファレンス抵抗とRCALマスターBANKの役割
  • MGT BANK間でリファレンスクロックを共有できる範囲と配線削減の考え方
  • PchとNchを入れ替えるオプションの概要と活用場面

皆さん、こんにちは。FPGAの端子アサインはどうやって決めていますか?
FPGA設計者が主体で決めている、回路(基板)設計者が主体で決めている、FPGAも回路も一人で両方行っている、等々あると思います。
一人で両方を行っている場合には臨機応変に修正対応が行えそうですが、分業にしている場合には

問題

・FPGA設計者が決めている場合は「パターンの引き回しが考慮されない」
・回路設計者が決めている場合は「FPGAの機能や仕組みが考慮されない」

といった問題が起きることがあるかと思います。
中でも一番困るのが、基板は出来上がったのに端子アサインが原因でVivado™やISE™がエラーで通らず、実機が動かせなかったり、基板が作り直しになったりする場合ですね。

そこで、FPGAを使い始めた方やFPGA内部をあまりご存じない方に向けて、FPGAの端子アサインに関するヒントをお伝えしたいと思います。

それでは、はじめましょう。

注意

ここで掲載している図表は例としてあげています。
全てのデバイスシリーズにはあてはまるわけではありません。
必ずご使用になるデバイスシリーズのデータシートで内容をご確認ください。

リファレンス抵抗

トランシーバーにはリファレンス抵抗を接続するMGT BANK(RCALマスター)が存在します。
例えば7シリーズのトランシーバーの場合、端子名は「MGTAVTTRCAL」、「MGTRREF」となっています。

7 Series FPGAs GTX/GTH Transceivers External Power Supply  Connections

出典:UG476 7 Series FPGAs GTX/GTH Transceivers User Guide <P.301> (参照 2024/03/08)

これは内部終端のインピーダンス調整に使われる抵抗で、調整はFPGAのコンフィグレーション時に行われます。
この結果は同じグループに所属しているトランシーバーBANKで共有されます。
トランシーバーを使う場合にはこのRCALマスターとなるMGT BANKから使用するのが良いでしょう。

※MGT = Multi-Gigabit Transceiver

例えばKintex7シリーズのGTXトランシーバーの場合、次のようにMGT 115がRCALマスターとなっています。

Kintex-7 FPGA GTX Transceiver Power Supply Grouping Per Package

出典:UG476 7 Series FPGAs GTX/GTH Transceivers User Guide <P.304>(参照 2024/03/08)

リファレンスクロック

トランシーバーを使用する際にはリファレンスクロックの供給も必要になります。 そのため、それぞれのMGT BANKにクロックを接続することになるかと思います。しかし、数Gbpsにもなる信号の近くに他の配線を近づけたくないのも事実です。

実は、トランシーバー内部では隣接するMGT BANKにはリファレンスクロックを接続することが可能です。 同じクロックを使用する場合には接続本数を削減することが可能です。
なお、デバイスファミリによりクロックの届く範囲は異なりますのでトランシーバーユーザーガイドでご確認ください。

例えば7シリーズのGTXトランシーバーの場合は次のようになっています。
MGTREFCLKp/n はリファレンスクロックの入力端子、Q(n)はMGT BANK の番号で、Q(n) = 115とすると図は、「BANK115に接続されたリファレンスクロックは、上下BANK114,116にも接続できる」となります。

Single External Reference Clock with Multiple Transceivers in Multiple  Quads

出典:UG476 7 Series FPGAs GTX/GTH Transceivers User Guide <P.43>(参照 2024/03/08)

Pch/Nch入れ替え

基板上のトランシーバーの配線パターンは可能な限り真っすぐにしたいと思いますが、現実ではどこかに曲げが入ってしまうものです。曲げが発生するということはPch/Nch間の誤差が生まれるということになります。
また、トランシーバーの端子と接続先のコネクタやデバイスの関係でPch/Nchの配線をどこかで入れ替えないといけない場合もあるかと思います。
これらを解決させるために、FPGAのPchとNchの端子が逆だったらいいのにと思うことはありませんか?

実はトランシーバーにはPch/Nchを入れ替えるオプションがあります。
このオプションにより配線パターンが有利になるのであれば使ってみるのも良いでしょう。
ウィザードで生成するIPの場合、赤枠のオプションを有効にすると極性入れ替えの制御信号がIPに追加されます。

Vivado™ 2023.1 7 Series FPGAs Transceivers Wizard (Ver 3.6) IP 設定画面

出典:Vivado™ 2023.1 7 Series FPGAs Transceivers Wizard (Ver 3.6) IP 設定画面(参照 2024/03/06)

確認

仮でよいので、今回使用するトランシーバーをすべてアサインし、内部ロジックが未使用でトランシーバーが削除されないデザインを作成します。
更に必要なオプションを設定して、Vivado™やISE™でインプリを行いましょう。

warning の確認も必要ですが必ず「Generate Bitstream」まで行ってください。
論理合成・配置配線ができていても最後の「Generate Bitstream」でルール違反が判明し、エラーが出ることがあります。

まとめ

トランシーバー内部の機能を利用すると高速シリアル関連のパターンが有利になることがあります。

いかがでしたか?

このように、端子アサインに関連していろいろと条件がありますのでFPGAでの実現性確認と、基板設計での最適化とを繰り返して端子を決めていくことが良いと思います。

最後までご覧いただきましてありがとうございました!これからもブログを通じて、皆様の設計にお役立てできればと思います。 次回のブログもどうぞよろしくお願いいたします。

弊社ではFPGA設計や回路図設計、レイアウト設計、ソフトウェア設計、筐体設計などを受託開発しています。
サービス内容をWEBサイトに掲載していますので、ぜひご覧ください。

FPGAの活用に際して設計検討などありましたら、お気軽にお問い合わせください。

このブログのシリーズ