マルチ レーンのアプリケーションで TX バッファーのバイパスが必要なときは、位相アライメントが自動で実行されます。このセクションでは、マルチ レーン TX バッファー バイパスのアライメントを自動で実行するために必要な手順を説明します。
- 初期マスター: マルチ レーンのアプリケーションでは、TXOUTCLK のソース レーンをバッファー バイパス初期マスターと呼びます。
- CH*_TX_PHALIGN_CFG0[17:16] =
2'b01
(SYNC_MODE)
- CH*_TX_PHALIGN_CFG0[17:16] =
- メンテナンス マスター: このレーンは、バッファー バイパス初期マスターの TXOUCLK から生成されるのと同じ TXUSRCLK を共有します。メンテナンス マスターからは遅延スキューの情報も提供され、これが内部で初期マスター レーンへ転送されます。
- CH*_TX_PHALIGN_CFG0[17:16] =
2'b11
(SYNC_MODE)
- CH*_TX_PHALIGN_CFG0[17:16] =
- スレーブ: バッファー バイパス初期マスターの TXOUCLK から生成されるのと同じ TXUSRCLK を共有するすべてのレーンをスレーブと呼びます。
- CH*_TX_PHALIGN_CFG0[17:16] =
2'b00
(SYNC_MODE)
- CH*_TX_PHALIGN_CFG0[17:16] =
次の図に、バッファー バイパス初期マスター、メンテナンス マスター、およびスレーブ レーンの例を示します。
図 1. TX バッファー バイパス初期マスター、メンテナンス マスター、およびスレーブ レーン
マルチ レーン モードで TX バッファーをバイパスするには、トランシーバーを次のように設定します。
- CH*_TX_PHALIGN_CFG0[31] =
1'b1
(DLY_ALIGN_EN) - CH*_TX_PHALIGN_CFG0[30] =
1'b1
(PH_ALIGN_EN) - CH*_TX_PHALIGN_CFG0[15] =
1'b1
(SYNC_MULTI_LANE) - CH*_TX_PHALIGN_CFG0[14] =
1'b1
(TXBUF_BYPASS_MODE) - CH*_TX_PHALIGN_CFG1[0] =
1'b0
(ASYNC_GBOX_PHALIGN_EN) - CH*_PIPE_CTRL_CFG7[2:0] =
3'b011
、3'b100
、または3'b101
(TXOUTCLKCTL) TXOUTCLK のソースとしてトランシーバー基準クロックまたはプログラマブル分周器のクロックを選択
マルチ レーンのバッファー バイパスは、物理的に隣接した位置にあるレーンに対してのみ使用できます。マルチ レーン グループの物理的位置に応じて、CH*_TX_PHALIGN_CFG1[2:1] (CHAIN_MODE) を次のように設定する必要があります。
- 最上位の位置: CH*_TX_PHALIGN_CFG1[2:1] =
2'b01
(CHAIN_MODE) - 中間の位置: CH*_TX_PHALIGN_CFG1[2:1] =
2'b11
(CHAIN_MODE) - 最下位の位置: CH*_TX_PHALIGN_CFG1[2:1] =
2'b10
(CHAIN_MODE)
次の図に、TX 位相および遅延アライメントの実行に必要な手順を示します。
図 2. TX バッファー バイパス — マルチ レーン自動モード
上図について説明します。
- この図はイベント シーケンスを表しており、正確な縮尺ではありません。
- CH[IM]_* は初期マスター レーンに関連するポートを示します。
- CH[MM]_* はメンテナンス マスター レーンに関連するポートを示します。
- CH[S]_* はスレーブ レーンに関連するポートを示します。
- トランスミッターのリセットや TX のレート変更などの後には、TX 位相アライメントを実行して TXPHYCLK と TXUSRCLK の位相を揃える必要があります。TX 位相および遅延アライメントは、CH*_TXPHDLYRESET をアサートすると開始されます。
- CH[IM]_TXSYNCDONE の立ち上がりエッジが検出されると、TX 位相アライメントが完了したことを示します。この信号は、次にアライメントを開始するまでアサートしたままとなります。
- CH[IM]_TXSYNCDONE がこの図に示すシーケンスに従わない場合、GTTXRESET のアサート/ディアサートが必要です。
- TX 遅延アライメントは、温度や電圧の変動に合わせて継続的に TXUSRCLK を調整します。