PCI Express*向け F-タイル Avalon® ストリーミングのインテル® FPGA IPユーザーガイド

ID 683140
日付 4/27/2023
Public
ドキュメント目次

3.2.2. データリンク層

データリンク層(DLL)は、トランザクション層と物理層の間に位置します。データリンク層はパケットの整合性を維持し、PCI Expressリンクレベルで (DLLパケット送信によって) 通信します。

DLLは、次の機能に使用されます。
  • DLLP受信および送信のパワー・マネジメント
  • ACK/NAK パケットの送受信
  • TLPおよびDLLPのCRCの生成およびチェックによるデータの整合性
  • NAK DLLPの受信またはリプレイ・タイムアウトの場合、リトライ (リプレイ) バッファーを使用したTLPの再送信
  • リトライバッファーのマネジメント
  • 物理層のLTSSM (Link Training and Status State Machine) を介したエラーの場合のリンク再トレーニング要求
図 10. データリンク層(DLL)
DLLには、次のブロックが含まれています。
  • データリンク制御および管理ステートマシン: このステートマシンは、物理層のLTSSMステートマシンとトランザクション層の両方に接続します。リンクとフロー制御のクレジットを初期化し、ステータスをトランザクション層に報告します。
  • Power Management: ハンドシェイクを処理して低電力モードに入ります。このような遷移は、Configuration SpaceおよびPower Management (PM) DLLPのレジスター値に基づいています。
  • Data Link Layer Packet Generator and Checker: このブロックはDLLPの16ビットCRCに関連付けられており、送信されたパケットの整合性を維持します。
  • Transaction Layer Packet Generator: このブロックは、シーケンス番号と32ビットリンクCRC(LCRC)を含む送信パケットを生成します。パケットは、内部ストレージのRetry Bufferにも送信されます。Retryモードでは、TLPジェネレーターは再試行バッファーからパケットを受信し、送信パケットのCRCを生成します。
  • Retry Buffer: Retry BufferはTLPを格納し、NAK DLLPを受信した場合は、確認応答されていないすべてのパケットを再送信します。 ACK DLLPを受信した場合、再試行バッファーは確認済みのすべてのパケットを破棄します。
  • ACK/NAKパケット: ACK/NAKブロックは、ACK/NAK DLLPを処理し、送信されたパケットのシーケンス番号を生成します。
  • Transaction Layer Packet Checker: このブロックは、受信したTLPの整合性をチェックし、ACK/NAK DLLPの送信要求を生成します。
  • TX Arbitration: このブロックは、次の順序で優先順位を付けて、トランザクションを調停します。
    • FCデータリンク層パケットを初期化します。
    • ACK/NAK DLLP(優先度が高い)
    • FC DLLPの更新(優先度が高い)
    • PM DLLP
    • バッファーTLPを再試行します。
    • TLP
    • FC DLLPの更新(優先度が低い)
    • ACK/NAK FC DLLP(優先度が低い)