ID do artigo: 000087898 Tipo de conteúdo: Solução de problemas Última revisão: 18/11/2024

Por que meus clocks PLL não são derivados corretamente no Analisador de temporização?

Ambiente

    Intel® Quartus® Prime Pro Edition
BUILT IN - ARTICLE INTRO SECOND COMPONENT
Descrição

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™.

Resolução

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.

Produtos relacionados

Este artigo aplica-se a 2 produtos

FPGAs e FPGAs SoC Intel® Agilex™ 7
FPGAs Intel® Stratix® 10 e FPGAs SoC

1

O conteúdo desta página é uma combinação de tradução humana e por computador do conteúdo original em inglês. Este conteúdo é fornecido para sua conveniência e apenas para informação geral, e não deve ser considerado completo ou exato. Se houver alguma contradição entre a versão em inglês desta página e a tradução, a versão em inglês prevalecerá e será a determinante. Exibir a versão em inglês desta página.