複数のバンクにまたがってISERDESを使う方法
XILINXのISERDESを使うと、汎用のI/OピンでGbpsを超える信号を扱えるようになるので便利です。
ソースシンクロナス(Source synchronous)では、データのクロックがFPGAとつながる対象のICから送られてきます。CoreGenではこういった場合にも当然ながら対応できます。
さて、n本の信号があって、各信号をmビットにデコードする場合を考えます。
1:mのSERDESがn個あるような場合です。

このような回路であれば、普通にCoreGenで作れます。
問題なのは、FPGAのI/Oバンクをまたぐ場合です。

このような場合、CoreGeneratorでは普通には作れません。
ここで登場するのが、BUFMRというプリミティブです。BUFMRは他のリージョンへクロックをつなぐためのクロックバッファで、ユーザガイドによるとこういうものです。
1つのクロックで、データが複数のバンクにまたがるISERDESを作るには、下の図のような構造にすればよいわけです。
実際に作るには、CoreGenで作ったコアのフォルダの下にあるVHDファイルを手作業で修正することになります。
実際に回路を書いてみると、いろいろ大変ですが、I/Oバンクをまたいでも、XILINX 7シリーズのISERDESは使うことができます。
| 固定リンク





コメント