はじめに
ほぼ備忘録ですが、AMD社のIPであるHSSIO(High Speed SelectIO Wizard)を利用したので、参照したほうがよいリンクや個人的に使った項目を残しておきます。
今回はTx側(Parallel/Serial変換)の方を使ったので、内容はそちらに偏ると思います。
リンク
①(概要・Block Designへの追加):本記事
②(IPの設定方法):今後更新予定
前提
今後の説明では、
ボードとして、
FPGAとして、
- Artix UltraScale+ (XCAU25P-1FFVB676E)
を想定します。Vivado上のSettings画面は下記のようになります。
言語は、
- Verilog/SystemVerilog
を使います。
HSSIO (High Speed SelectIO) とは?
HSSIOは、Serial/Parallel変換のためのIPです。UltraScale/UltraScale+では、7シリーズなどのISERDES/OSERDESなどのPremitive(コンポーネントプリミティブと言われます)の性能向上版のIPとして、HSSIO IP(ネイティブプリミティブと言われます)があります。(※正確には、HSSIOはWizardでプリミティブを組み合わせてマクロが生成するようですが、本記事ではざっくり説明のために混同して記載することがあります)
UltraScale/UltraScale+でも、コンポーネントプリミティブがありますが、ネイティブプリミティブを使ったほうがより速い帯域に対応できたりするようです。
以下参考資料
- コンポーネント プリミティブ • UltraScale アーキテクチャ SelectIO リソース ユーザー ガイド (UG571) • リーダー • AMD 技術情報ポータル
- ネイティブ プリミティブ • UltraScale アーキテクチャ SelectIO リソース ユーザー ガイド (UG571) • リーダー • AMD 技術情報ポータル
- High Speed SelectIO Wizard v3.6 (PG188) • ビューア • AMD 技術情報ポータル
- UltraScale および UltraScale+ I/O のネイティブ モードとコンポーネント モード (日本語吹替) (xilinx.com)
Block Designへの追加
High Speed SelectIO IPをBlock Design(ブロックデザイン)にそのまま追加したいと思ったのですが、Block DesignのIP追加画面に出てきません。
基本的に、HSSIOはRTLにそのまま記載する必要があるようです。
もし何かの都合でBlock Designに入れたい場合には、ラッパー(Wrapper)ファイルをRTL(Verilog/VHDL)で作る必要があります。(ちなみに、SystemVerilogで作った自作IPは、現状Block Designに追加できません。SystemVerilogで自作IPを作っている場合にも、HSSIO同様にWrapperファイルでIPをくくることが必要です。)
おわりに
備忘録です。HSSIOの概要と、Block Designへ追加したい場合の説明をしました。
次はIPの設定方法を残しておきたいと思ってます。
コメント