PCI Express* 向けRタイル Avalon® StreamingインテルFPGA IPユーザーガイド

ID 683501
日付 10/07/2022
Public
ドキュメント目次

4.3.1.2.2. クレジットの初期化

各サイドによるクレジットカウンターの初期化は、初期化ステージで行われます。このステージでは、シンクにより、使用可能なバッファーサイズの合計をソースに伝達します。シンクでは、*crdt_init 信号アサートして、初期化フェーズを開始します。ソースでの初期化準備ができている場合、*crdt_init_ack をアサートして応答します。シンクでは、*crdt_init_ack の受信後、*crdt_update 信号をアサートし、トランザクションを受信するために使用可能なバッファーサイズを伝達します。

ソースでは、内部クレジットカウンターをインクリメントします。これは、*crdt_update_cnt が使用され、ヘッダークレジットの *update 信号に遭遇するサイクルごとに行われます。

*init のデアサートにより、初期化フェーズのコンプリーションを通知します。*update*init 信号のデアサートの間には、最低でも2クロックサイクルの間隔が必要です。

図 27. クレジットの初期化
注: 上図の内部信号は、アプリケーション・ロジックには公開されません。

通常、再初期化は必要ありません。ただし、必要な場合 (例えば、アプリケーション・ロジックでバッファーサイズを変更する必要がある場合)、再初期化を実行できるのは、ソースとシンクがともにIDLEステートにある場合のみです。シンクのIDLEステートは、受信側バッファーが空のときです。ソースの場合、IDLEステートは、初期化リクエストが行われたときに送信するものが何もない状態です。