Smart-USBのUSB機能

Smart-USBシリーズ製品のUSBは、GPIFマスタ方式です。一般的なスレーブFIFO方式と比べて、以下の特長があります。

【GPIFマスタ方式とは】

USB制御ICがマスタとなり、データ制御・データ転送を制御します。
USBコントロール転送とバルク転送の2種類を使用して、データのRD/WR(バルク転送)、FPGAのハードウエアレジスタ制御(コントロール転送)ができます。

【スレーブFIFO方式とは】

FPGAがUSB制御IC内のFIFOにデータをWRしたり、そこからRDしてデータ転送を行います。
USBバルク転送だけを使用してデータ転送します。

どちらが使いやすいのか…

USBバルク転送は、大量のデータを送受信する場合に便利なデータ転送方式です。 USBコントロール転送は小さなデータをRD/WRするのに適した転送方式です。

スレーブFIFO方式の場合、FPGA内の8bitレジスタ制御でもUSBバルク転送を利用するので、データ転送のオーバーヘッドが大きくなります。 同じレジスタを定期的に読み出すポーリングや複数のレジスタ設定などは苦手な方式です。

GPIFマスタ方式は、大量のデータはスレーブFIFOの様にUSBバルク転送を使用し、小さなデータは効率よくUSBコントロール転送で取り扱えます。このため、レジスタアクセスの時間間隔が短くできます。参考:コマンド発行間隔

​※USBバルク転送の実効データ転送レートもスレーブFIFOと同じかそれ以上の数値が得られています。

また、USB経由でFPGAのコンフィグを瞬時(0.1~0.5秒程度:デバイス規模に依存)に行えます。この機能を利用すると、システム運用中にFPGA回路の書き換えができ、FPGA容量以上の機能を実現することができます。