2017-07-07 10 views
1

私はアドバイスを探しています。私は現在、AXI4スレーブ入力とAXI4マスター出力を持つVHDLに統合されたカスタムIPを持っており、現在は信号が直接結びついています。AXI4遅延取引

私は、AXI信号にカスタマイズ可能なレイテンシを追加したいので、お互いに接続するのではなく、IPを通じて特定の時間遅延させることができます。

私の質問は、 AxVALIDAxREADY(たぶんRVALID/RREADYWVALID/WREADY)シグナルを使用するだけで、IP経由でトランザクションの読み書きを遅延させることはできますか?

例えば、私は20クロックサイクルの遅延を望むなら、外部マスタがVALIDをアサートし、20クロック待ってからIPスレーブがアサートされるまでREADYをアサートすることができますか?これは正しい論理ですか?

アドバイスはありがとうございます。

+2

AxREADY信号を遅延させると、スループット、つまり1秒あたりの最大トランザクション数に影響します。レイテンシ(要求と応答の間の遅延)を本当に制御したい場合は、レスポンスパス(RVALID-RDATA-RRESPとBVALID-BRESP)にFIFOを追加する必要があります。 –

+0

@RenaudPacaletは2つの大きな違いがありますか? FIFOを使用すると同じ影響があります。私が間違っていない限り? – MateoConLechuga

+2

はい、大きな違いがあります。確認応答を遅らせると(AxREADY)、マスターがより多くの要求を発行するのを防ぎます。リクエストを確認しても応答(RVALIDとBVALID)を遅らせた場合は、リクエストとレスポンスの間のレイテンシを増やしますが、可能であれば、マスターがより多くのリクエストを発行するのを防ぎません。マスターがそれをサポートしていれば、レイテンシを増やしながら元のスループットを維持することさえできます。 –

答えて

3

はい、できます。インフラストラクチャによっては、バスの輻輳が発生する可能性があります。また、これらの遅延バストランザクションをバッファリングするFIFOを挿入する必要があります。