各 Zynq UltraScale+ RFSoC には、DAC タイル 0 に専用の入力 SYSREF ピン ペアが 1 つあります。この SYSREF 信号は、複数タイルおよび複数チップのチャネル同期に使用します。この差動入力ペアを Analog_SYSREF と呼びます。RFSoC に同期機能を完全に実装するには、専用クロック入力ペアから PL ファブリックにもう 1 つの SYSREF 信号を入力する必要があります。このペアを PL_SYSREF と呼びます。複数タイルの同期機能は、デバイスの一部のタイルのみでも使用できます。このような場合、DAC タイル 0 をアクティブ タイルに含めてください。ADC 用の複数タイルの同期がアプリケーションの要件である場合、ADC タイル 0 もアクティブ タイルに含める必要があります。すべての DAC タイルは DAC タイル 0 に同期し、すべての ADC タイルは ADC タイル 0 に同期します。したがって、データ コンバーターの各タイプでタイル 0 がアクティブになっている必要があります。
一部のタイルのみを有効にする場合は、AMD はインデックスの小さいタイルを優先して有効にすることを推奨します。たとえば 2 つのタイルのみを使用する場合はタイル 0 とタイル 1 を有効にし、タイル 2 とタイル 3 を無効にします。Analog_SYSREF は、(MTS 機能によって実行される) 各タイルの遅延全体の同期に加えて、デジタル アップコンバーター (DUC) 数値制御オシレーター (NCO) とデジタル ダウンコンバーター (DDC) NCO の位相の同期にも使用できます。NCO の同期は MTS の同期とは別のプロセスであり、アプリケーションで細粒度なコンプレックス ミキサーが使用されている場合にのみ使用可能です。動作原理の詳細および接続図は、 『Zynq UltraScale+ RFSoC RF Data Converter LogiCORE IP 製品ガイド』 (PG269) の「複数コンバーターの同期」を参照してください。
Analog_SYSREF は 100Ω で内部差動終端されます。この信号は AC カップリング モードまたは DC カップリング モードで使用できます。複数デバイス間で NCO の同期が必要なアプリケーションでは、DC カップリング モードに加え、SYSREF 信号をパルス モードで生成する機能が必要です。詳細は、 『Zynq UltraScale+ RFSoC RF Data Converter LogiCORE IP 製品ガイド』 (PG269) を参照してください。そのほかの要件については、 『Zynq UltraScale+ RFSoC データシート: DC 特性および AC スイッチ特性』 (DS926) を参照してください。
次の図に、Analog_SYSREF レシーバーの等価回路を示します。この図で、ドライバーは 1 kΩ 抵抗を介して同相電流をソースおよびシンクできなくてはなりません。また、ドライバーは自身の同相バイアスを設定する必要があります。
AC カップリングの場合、上図に示すように、SYSREF 入力によって内部で同相電圧が設定されます。DC カップリングの場合、SYSREF ソース ドライバーは内部 1 kΩ 抵抗を介して同相電流をソースおよびシンクできなくてはなりません。SYSREF ドライバーは自身の同相バイアスを設定する必要があります。シングル ショットまたはギャップのあるクロックの場合、AMD はグリッチを防ぐために DC カップリングを使用することを推奨します。
ADC および DAC タイルを SYSREF と同期する場合、この周波数は次の式の約数である必要があります。
次に、SYSREF の計算例を示します。
同期機能を完全に実装するには、PL_SYSREF は次の要件を満たす必要があります。
- PL_SYSREF と Analog_SYSREF の周波数が同じであること。
- PL_SYSREF の周波数が DAC および ADC FIFO に接続する PL 周波数の約数であること。
- PL クロックを使用して PL_SYSREF の立ち上がりエッジを確定的に取り込めるように、PL_SYSREF と PL クロックがセットアップおよびホールド要件を満たしていること。
- Analog_SYSREF と PL_SYSREF のクロックが異なる場合、両方のクロックの品質が同じであること。カップリング、電圧幅、および終端については、PL GPIO の電気的要件を参照してください。
- MMCM を使用して DAC FIFO インターフェイスおよび ADC FIFO インターフェイス用の最終 PL クロックを生成する場合、次の例に示すように PL_SYSREF の取り込みを同期するフリップフロップの使用に加え、MMCM の 0 遅延 (0 位相) 機能を使用する必要があります。
- 複数チップを同期させるには、すべてのチップに共通する同じタイミング基準クロックを確保するために、各チップの Analog_SYSREF、PL_SYSREF、PL_Ref_clk、およびデータ コンバーター クロックを揃えることが非常に重要です。