コントローラーがオフセットキャンセル処理を開始する前reconfig_block、Reconfig_clkは安定している必要があります。考えられるシナリオは 2 つあります。
1. 入力offset_cancellation_resetが実装されていない場合、reconfig_block・コントローラーは、FPGAがプログラミングを終了してからユーザーモード (CONFIG_DONE=1) に切り替えた直後にオフセットキャンセル処理を開始します。PCIe® PIPE モードでは、reconfig_clk (50MHz) がリコンフィグレーション・コントローラーをドライブし、fixedclk (125MHz) がトランシーバーのオフセットキャンセルロジックをドライブします。したがって、CONFIG_DONE=1 の前に、reconfig_clkとfixed_clkの両方が安定している必要があります。
2. 入力offset_cancellation_resetが実装されている場合、reconfig_block・コントローラーをリセット状態に保持することができ、reconfig_clkが安定します。オフセットキャンセル処理は、offset_cancellation_resetがリリースされるまで取り消されます。PCIe PIPE モードでは、fixedclk がトランシーバー・リコンフィグレーション・ロジックを駆動します。そのため、reconfig_clkとfixed_clkの両方が安定するまで、リコンフィグレーション・コントローラーをリセットする必要があります。
注1: offset_cancellation処理はCONFIG_DONEイベントが発生した場合に 1 回のみ発生するため、再プログラムせずにリセット信号を切り替FPGAは再度トリガーしません。
注2:offset_cacellationプロセスがアクティブな場合、リコンフィグレーション・コントローラーは「busy」信号を表明します。したがって、PCIe PIPE モードでは、トランシーバー・rx_analog_resetをディサーティングする前に、リセット・ロジックが「busy」信号の最初の立ち下がりエッジを検出する必要があります。