No Software Quartus® Prime Pro Edition, é possível que os clocks de malha de captura de fase (PLL) não sejam derivados corretamente quando o clock de referência PLL possui vários clocks mestres. Isso ocorre porque o Analisador de temporização não pode identificar qual dos vários clocks mestres deve ser usado.
Você pode ver as mensagens de aviso mostradas abaixo no Analisador de temporização quando o esquema de clock for o seguinte:
Aviso (332036): clock: clk0 encontrado como um potencial candidato a clock mestre
Aviso (332036): clock: clk1 encontrado como um potencial candidato a clock mestre
Aviso (332087): não foi possível derivar o clock mestre para esta atribuição de clock. Clock: u0_pll450m|iopll_0_n_cnt_clk não foi criada.
Aviso (332036): clock: clk0 encontrado como um potencial candidato a clock mestre
Aviso (332036): clock: clk1 encontrado como um potencial candidato a clock mestre
Aviso (332087): não foi possível derivar o clock mestre para esta atribuição de clock. Clock: u0_pll450m|iopll_0_m_cnt_clk não foi criada.
Aviso (332036): clock: clk0 encontrado como um potencial candidato a clock mestre
Aviso (332036): clock: clk1 encontrado como um potencial candidato a clock mestre
Aviso (332087): não foi possível derivar o clock mestre para esta atribuição de clock. Clock: u0_pll450m|iopll_0_outclk0 não foi criada.

Isso só ocorre em projetos destinados a dispositivos Stratix® 10 e dispositivos Agilex™.
Para restringir corretamente os clocks de saída PLL, gere manualmente os clocks mestres, especifique o clock mestre para cada clock de saída PLL e adicione grupos de clock para cortar os clocks de saída PLL de diferentes clocks de referência.
As seguintes restrições de tempo podem ser usadas para o esquema de clock acima:
create_clock -name clk0 -period 100 MHz [get_ports clk0]
create_clock -name clk1 - período de 100 MHz [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}
Você pode obter o nome do nó correto no localizador de nó e os parâmetros de divisor e multiplicador da configuração PLL.