インテル® Quartus® Primeタイミング・アナライザー・クックブック

ID 683081
日付 7/21/2022
Public
ドキュメント目次

PLLクロック

このセクションでは、derive_pll_clockscreate_clock、および create_generated_clock 制約の例について説明します。

方法1: ベースクロックとPLL出力クロックを自動で作成する

フェーズ・ロック・ループ (PLL) を使用して、 インテル® FPGAでのクロック合成を実行します。すべての出力クロックを制約して、適切な解析を実行します。ALTPLL IPコアにより、 インテル® FPGAのPLL回路をデザインに統合します。

PLLの制約には、次の方法を用います。

  • ベースクロックとPLL出力クロックを自動で作成する
  • ベースクロックを手動で生成し、PLL出力クロックを自動で作成する
  • ベースクロックとPLL出力クロックを手動で作成する

このセクションでは、それぞれの方法のメリットを説明します。

図 6. ALTPLL IPコア

この方法では、PLLの入力クロックと出力クロックを自動的に制約することが可能です。ALTPLL IPコアで指定済みのすべてのPLLパラメーターによって、PLLの入力クロックと出力クロックが制約されます。PLLの入力クロックと出力クロックを作成する際、PLLパラメーターの変更を追跡したり、正しい値を指定したりする必要はありません。

すべての入力と出力を自動的に制約するには、 derive_pll_clocks コマンドに -create_base_clocks オプションを付けて使用します。タイミング・アナライザーにより、PLLのIPカタログのインスタンシエーションに基づいて、正しい設定が決定されます。

PLLベースクロックを自動で制約する

derive_pll_clocks -create_base_clocks

方法2: ベースクロックを手動で作成し、PLL出力クロックを自動で作成する

この方法では、PLLの入力クロックを手動で制約し、タイミング・アナライザーによってPLLの出力クロックを自動的に制約することができます。さらに、ALTPLL IPコアで指定されている入力クロック周波数の代わりに、別の入力クロック周波数を指定することもできます。ALTPLL IPコアにより、PLL出力クロックの作成が、指定済みのパラメーターを使用して自動的に行われます。PLL出力クロック・パラメーターは同じままで、異なる入力クロック周波数を試すこともできます。

注: 指定されている入力クロック周波数が、現在のコンフィグレーションのPLLと互換性があることを確認してください。

この方法では、derive_pll_clocks コマンドを使用して、PLLに対する入力クロックを手動で作成することができます。

PLLベースクロックを手動で制約する

create_clock -period 10.000 -name clk [get_ports {clk}]
derive_pll_clocks

方法3: ベースクロックとPLL出力クロックを手動で作成する

この方法では、PLLの入力クロックと出力クロックを手動で制約することができます。すべてのPLLパラメーターは指定済みです。また、パラメーターの値は、ALTPLL IPコアで指定されている値とは別の値にすることができます。さらに、さまざまなPLL入出力周波数とパラメーターを試すこともできます。

この方法では、create_clockcreate_generate_clock コマンドを組み合わせて使用することができます。

PLL出力クロックとベースクロックを手動で制約する

create_clock -period 10.000 -name clk [get_ports {clk}]
create_generated_clock \
	-name PLL_C0 \
	-source [get_pins {PLL|altpll_component|pll|inclk[0]}] \
	[get_pins {PLL|altpll_component|pll|clk[0]}]
create_generated_clock \
	-name PLL_C1 \
	-multiply_by 2 \
	-source [get_pins {PLL|altpll_component|pll|inclk[0]}] \
	[get_pins {PLL|altpll_component|pll|clk[1]}]