TX と RX が共通クロックで非同期ギアボックスを使用したマルチ レーン モードでは、RX/TXUSRCLK ドメインを使用して RX/TXPHYCLK ドメインのロジックを駆動します。次の図に、非同期モードの共通クロック バッファー バイパス レーンの例を示します。
TX/RX 内部データ幅がファブリック インターフェイスのデータ幅に等しい場合、TX/RX バッファーは直接バイパスされます。共通クロック マルチ レーン 1:1 モードで非同期ギアボックスありの RX および TX バッファーをバイパスするには、トランシーバーを次のように設定します。
共通クロックの設定:
- CH*_RX_PHALIGN_CFG5[27:26] =
2'b00
(CMN_FAB_CLK_PHALIGN_MODE) (各レーンが独立して動作するため、無効)
TX バッファー バイパスの設定:
- CH*_TX_PHALIGN_CFG0[31] =
1'b0
(DLY_ALIGN_EN) - CH*_TX_PHALIGN_CFG0[30] =
1'b0
(PH_ALIGN_EN) - CH*_TX_PHALIGN_CFG0[17:16] =
2'b00
(SYNC_MODE) (マルチ レーン非同期ギアボックス モードでは、すべてのレーンをスレーブとして設定) - CH*_TX_PHALIGN_CFG0[15] =
1'b1
(SYNC_MULTI_LANE) - CH*_TX_PHALIGN_CFG0[14] =
1'b1
(TXBUF_BYPASS_MODE) - CH*_TX_PHALIGN_CFG1[2:1] =
2'b00
(CHAIN_MODE) - CH*_TX_PHALIGN_CFG1[0] =
1'b1
(ASYNC_GBOX_PHALIGN_EN) - CH*_PIPE_CTRL_CFG7[2:0] =
3'b011
、3'b100
、3'b101
(TXOUTCLKCTL) TXOUTCLK のソースとしてトランシーバー基準クロックまたはプログラマブル分周器のクロックを選択
RX バッファー バイパスの設定:
- CH*_RX_PHALIGN_CFG0[31] =
1'b0
(DLY_ALIGN_EN) - CH*_RX_PHALIGN_CFG0[30] =
1'b0
(PH_ALIGN_EN) - CH*_RX_PHALIGN_CFG0[17:16] =
2'b00
(SYNC_MODE) (マルチ レーン非同期ギアボックス モードでは、すべてのレーンをスレーブとして設定) - CH*_RX_PHALIGN_CFG0[15] =
1'b1
(SYNC_MULTI_LANE) - CH*_RX_PHALIGN_CFG0[14] =
1'b1
(RXBUF_BYPASS_MODE) - CH*_RX_PHALIGN_CFG1[3:2] =
2'b00
(CHAIN_MODE) - CH*_RX_PHALIGN_CFG1[1] =
1'b1
(ASYNC_GBOX_PHALIGN_EN) - CH*_PIPE_CTRL_CFG7[14:12] =
3'b110
(RXOUTCLK のソースとして TXOUTCLK を選択)
共通クロック マルチ レーン 1:1 モードで非同期ギアボックスありの RX および TX バッファーをバイパスする場合、非同期ギアボックス FIFO が位相補正機能を提供するため、位相アライメント手順を実行する必要はありません。
TX/RX ファブリック インターフェイスのデータ幅が内部データ幅の 2 倍の場合、TX/RX バッファーは 2:1 REG によってバイパスされます。共通クロック マルチ レーン 2:1 モードで非同期ギアボックスありの RX および TX バッファーをバイパスするには、トランシーバーを次のように設定します。
共通クロックの設定:
- CH*_RX_PHALIGN_CFG5[27:26] =
2'b00
(CMN_FAB_CLK_PHALIGN_MODE) (各レーンが独立して動作するため、無効)
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[17:16] =
2'b00
(SYNC_MODE) (マルチ レーン非同期ギアボックス モードでは、すべてのレーンをスレーブとして設定) - CH*_TX_PHALIGN_CFG0[15] =
1'b1
(SYNC_MULTI_LANE) - CH*_TX_PHALIGN_CFG0[14] =
1'b1
(TXBUF_BYPASS_MODE) - CH*_TX_PHALIGN_CFG1[2:1] =
2'b00
(CHAIN_MODE) - CH*_TX_PHALIGN_CFG1[0] =
1'b1
(ASYNC_GBOX_PHALIGN_EN) - CH*_PIPE_CTRL_CFG7[2:0] =
3'b011
、3'b100
、3'b101
(TXOUTCLKCTL) TXOUTCLK のソースとしてトランシーバー基準クロックまたはプログラマブル分周器のクロックを選択)
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[17:16] =
2'b00
(SYNC_MODE) (マルチ レーン非同期ギアボックス モードでは、すべてのレーンをスレーブとして設定) - CH*_RX_PHALIGN_CFG0[15] =
1'b1
(SYNC_MULTI_LANE) - CH*_RX_PHALIGN_CFG0[14] =
1'b1
(RXBUF_BYPASS_MODE) - CH*_RX_PHALIGN_CFG1[3:2] =
2'b00
(CHAIN_MODE) - CH*_RX_PHALIGN_CFG1[1] =
1'b1
(ASYNC_GBOX_PHALIGN_EN) - CH*_PIPE_CTRL_CFG7[14:12] =
3'b110
(RXOUTCLK のソースとして TXOUTCLK を選択)
共通クロック マルチ レーン 2:1モードで非同期ギアボックスありの RX および TX バッファーをバイパスする場合、次のタイミング図は、位相および遅延の自動アライメントを実行するのに必要な手順を示します。
上図について説明します。
- この図はイベント シーケンスを表しており、正確な縮尺ではありません。
- CH[Lane *]_* は各種レーンのポートを示します。
- リセットやレート変更などの後には、共通クロック位相アライメントを実行する必要があります。共通クロック位相および遅延アライメントは、CH*_TXPHDLYRESET と CH*_RXPHDLYRESET をアサートすると開始されます。
- すべてのレーンで CH*_TXSYNCDONE および CH*_RXSYNCDONE の立ち上がりエッジが検出されると、共通クロック位相アライメントが完了したことを示します。この信号は、次にアライメントを開始するまでアサートしたままとなります。
- すべてのレーンで CH*_TXSYNCDONE および CH*_RXSYNCDONE がこの図に示すシーケンスに従わない場合、GTTXRESET および GTRXRESET のアサート/ディアサートが必要です。
- 共通クロック遅延アライメントは、温度や電圧の変動に合わせて継続的に RX/TXUSRCLK を調整します。