Quartus® Prime 開発ソフトウェア・プロ・エディションでは、PLL リファレンス・クロックに複数のマスタークロックがある場合、フェーズロック・ループ (PLL) クロックが正しく派生しないことがあります。これは、タイミング・アナライザーが複数のマスタークロックのどれを使用すべきかを識別できないために発生します。
クロックスキームが以下の場合、タイミング・アナライザーに以下のような警告メッセージが表示されることがあります。
警告(332036): クロック: 潜在的なマスタークロック候補として clk0 が見つかりました
警告 (332036): クロック: マスタークロック候補として clk1 が見つかりました
警告(332087): このクロック割り当てのマスタークロックを取得できませんでした。クロック: u0_pll450m|iopll_0_n_cnt_clk は作成されませんでした。
警告(332036): クロック: 潜在的なマスタークロック候補として clk0 が見つかりました
警告 (332036): クロック: マスタークロック候補として clk1 が見つかりました
警告(332087): このクロック割り当てのマスタークロックを取得できませんでした。クロック: u0_pll450m|iopll_0_m_cnt_clk は作成されませんでした。
警告(332036): クロック: 潜在的なマスタークロック候補として clk0 が見つかりました
警告 (332036): クロック: マスタークロック候補として clk1 が見つかりました
警告(332087): このクロック割り当てのマスタークロックを取得できませんでした。クロック: u0_pll450m|iopll_0_outclk0 は作成されませんでした。

これは、Stratix® 10 デバイスと Agilex™ デバイスを対象とするデザインでのみ発生します。
PLL 出力クロックを正しく制約するには、マスタークロックを手動で生成し、各 PLL 出力クロックのマスタークロックを指定し、クロックグループを追加して異なるリファレンスクロックから PLL 出力クロックをカットします。
上記のクロックスキームでは、以下のタイミング制約を使用できます。
create_clock -name clk0 -period 100MHz [get_ports clk0]
create_clock -名前 clk1 -周期 100MHz [get_ports clk1]
create_generated_clock -name {u0|iopll_0_m_cnt_clk} -source {u0_pll450m|iopll_0|tennm_pll|core_refclk} -divide_by 12 -multiply_by 1 -duty_cycle 50.00 -master {clk0} { u0_pll450m|iopll_0|tennm_pll~mcntr_reg } -add
create_generated_clock -name {u0|iopll_0_n_cnt_clk} -source {u0_pll450m|iopll_0|tennm_pll|core_refclk} -divide_by 1 -multiply_by 1 -duty_cycle 50.00 -master {clk0} { u0_pll450m|iopll_0|tennm_pll~ncntr_reg } -add
create_generated_clock -name {u0|iopll_0_outclk0} -source {u0_pll450m|iopll_0|tennm_pll|core_refclk} -divide_by 3 -multiply_by 12 -duty_cycle 50.00 -master {clk0} { u0_pll450m|iopll_0|tennm_pll|outclk[1] } -add
create_generated_clock -name {u1|iopll_0_m_cnt_clk} -source {u0_pll450m|iopll_0|tennm_pll|core_refclk} -divide_by 12 -multiply_by 1 -duty_cycle 50.00 -master {clk1} { u0_pll450m|iopll_0|tennm_pll~mcntr_reg } -add
create_generated_clock -name {u1|iopll_0_n_cnt_clk} -source {u0_pll450m|iopll_0|tennm_pll|core_refclk} -divide_by 1 -multiply_by 1 -duty_cycle 50.00 -master {clk1} { u0_pll450m|iopll_0|tennm_pll~ncntr_reg } -add
create_generated_clock -name {u1|iopll_0_outclk0} -source {u0_pll450m|iopll_0|tennm_pll|core_refclk} -divide_by 3 -multiply_by 12 -duty_cycle 50.00 -master {clk1} { u0_pll450m|iopll_0|tennm_pll|outclk[1] } -add
set_clock_groups -exclusive -group {u0|iopll_0_outclk0} -group {u1|iopll_0_outclk0}
ノード・ファインダーで正しいノード名を取得し、PLL コンフィグレーションからディバイダーとマルチプライヤーのパラメーターを取得できます。