結合 MAC+PCS モードでは、AXI4-Stream インターフェイスに tx_axis_taf_N
出力 (N はクライアント ポート番号) が追加されます。tx_axis_taf_N
出力は ALMOST FULL ステータス信号で、 tready
を即座にディアサートすることが難しいアプリケーションで AXI タイミングを緩和するために用意されています。この taf
信号は、tready
がディアサートされる少なくとも 1 サイクル前にアサートされます。AXI (クライアント入力) とコア (ライン ドレイン) のデータ レートが同等である場合、taf
がアサートされてから tready
がディアサートされるまでの間隔はさらに大きくなります。しかも、クライアントが tvalid
をディアサートした場合は、tready
がアサートされないこともあります。taf
信号をユーザー ロジックが使用するか無視するかにかかわらず、tready
がディアサートされると、そのサイクルで直ちにバスがストールします。tready
が再びアサートされるまで、AXI バスに現れるデータは使用されません。
taf
信号の一般的な原則として、この信号は AXI バスを駆動する TX クライアントに変わって帯域幅の超過を示します。taf
がアサートされるた場合、クライアントは taf
がディアサートされるまで入力データ レートを下げる必要があります。最も簡単なアプローチは、taf
がアサートされた後のサイクルでデータフローを停止して tvalid
をディアサートすることです。taf
信号がアサートされていない場合、または taf
信号の立ち下がりエッジの後にサイクルを開始する場合、フレームの開始から完了までの連続するすべてのサイクルで tvalid
をアサートする必要があります。
taf
信号を含む DCMAC Subsystem の AXI バスのサイクルごとの動作を示します。taf
の動作
場合によっては、taf
を使用すると、DCMAC Subsystem によって TX フレーム間にわずかですがはっかりとわかる量の不要な IDLE が挿入されることがあります。この余分な IDLE は、tx_axi_clk
の周波数を 100GE/200GE の場合は公称値より 3.5%、400GE の場合は公称値より 10% 高くすることによって避けることができます。