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