前述の回路は、ザイリンクス Clocking Wizard IP のインスタンスを使用して実装できます。例を用いて、このような回路を実装する手順を説明します。この例では、
s_axi_aclk
の周波数は 100MHz に設定され、m_axi_dpu_aclk
は 325MHz に設定されています。したがって、dpu_2x_clk
の周波数は必要に応じて 650MHz に設定する必要があります。次の図に、[Clocking Options] タブの推奨設定を示します。 注記: [Primitive] は [Auto] を選択する必要があります。
図 1. 推奨される Clocking Wizard オプション
さらに、Clocking Wizard IP の [Output Clocks] で、m_axi_dpu_aclk
と dpu_2x_clk
の [Matched Routing] をオンにする必要があります。[Matched Routing] を有効にすると、Clock Wizard IP からの 2 つ以上の出力クロック (この場合、2 つの BUFGCE_DIV インスタンスの出力) 間のスキューを最小限に抑えることができます。次の図に、このコンフィギュレーションを示します。
図 2. Clocking Wizard の [Matched Routing]
注記: [Output Clocks] タブの設定では、周波数が最も高いクロックから低いクロックの順で入力します。これにより、実装されたアーキテクチャで BUFGCE_DIV を利用できるようになります。次の図に、正しい設定順序を示します。図 (a) の設定は [Summary] ページに示す専用クロック デザインを達成しましたが、図 (b) の設定では実現しませんでした。たとえば、図 (a) で使用する周波数順序では 2 つの BUFGCE_DIV バッファーを生成しますが、図 (b) で使用する間違った順序では PLL または MMCM からの別々の出力を使用するインスタンシエーションが生成され、結果として理想的な出力スキューが実現しません。詳細は、
『Clocking Wizard LogiCORE IP 製品ガイド』 (PG065) を参照してくだい。
図 2. clkout 周波数シーケンスの比較