インテル® FPGA SDK for OpenCL™プロ・エディション: プログラミング・ガイド

ID 683846
日付 4/01/2019
Public
ドキュメント目次

12.1.1.4. RTLモジュール・インターフェイス

RTLモジュールが、他のコンパイラーによって生成された動作と適切に通信するには、RTLモジュールの入力および出力の両方において、単純化されたAvalon-STインターフェイスをサポートする必要があります。

次の図は、図 19 で示されているRTLモジュールmyModの最終的なインターフェイスを表しています。

この図においてmyModは、ABのデータ信号やivalid (入力) およびoready (出力) のコントロール信号を介し、アップストリームのモジュールと通信しています。ivalidコントロール信号は、データ信号Aおよびデータ信号Bが有効なデータを含む場合のみ、1に等しくなります (ivalid = 1)。コントロール信号oreadyが1に等しくなると (oready = 1)、データ信号ABが有効であれば (ivalid = 1)、myMod RTLモジュールはそれらの信号の処理を行うことができることを示します。ivalid = 1oready = 0の場合、アップストリームのモジュールは、次のクロックサイクルでivalidAおよびBの値を保持すると考えられます。

myModは、データ信号Cおよびコントロール信号のovalid (出力) とiready (入力) を介しダウンストリームのモジュールと通信します。ovalidコントロール信号は、データ信号Cが有効なデータを含む場合にのみ、1に等しくなります (ovalid = 1)。ireadyコントロール信号が1に等しくなると (ivalid = 1)、データ信号Cが有効であればダウンストリームのモジュールは処理が可能なことを示します。ovalid = 1iready = 0の場合、myMod RLTモジュールは次のクロックサイクルでovalidC信号の有効性を保持すると考えられます。

myModモジュールは、oreadyを1クロックサイクル間アサートし、アクティブサイクルに向け準備が整っていることを示します。myModモジュールのデータの準備ができているサイクルを、レディーサイクルと呼びます。レディーサイクル中、myModモジュールの上にあるモジュールは、ivalidをアサートしmyModにデータを送信することができます。

バックプレッシャー下でのデータ転送に関する詳細な説明は、Avalon Interface SpecificationsData Transfer with Backpressureを参照ください。レディー・レイテンシーに関する情報は参考にしないでください。