Restringir a frequencia máxima de clock no Quartus II

De MediaWiki do Campus São José
Revisão de 13h42min de 6 de novembro de 2021 por Moecke (discussão | contribs)
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para navegação Ir para pesquisar

Para verificar se um circuito realmente funciona, normalmente é suficiente fazer a simulação funcional, e fazer uma análise do Time Quest Report para verificar se o circuito atende as restrições de tempo. Assim na prática normalmente não é necessário fazer uma simulação temporal.

Para que os resultados do Time Quest Report sejam uteis é necessário inserir algumas restrições em uma arquivo .sdc associado ao projeto. Em circuitos sequenciais é necessário no mínimo inserir o período máximo (ou frequência mínima) desejado para o clock. A linha de definição do clock é:

create_clock -name NOME_DO_CLOCK -period 20 [get_ports -no_case {nome_do_sinal_de_clock}]

onde o periodo é dado em (ns). Também pode ser usado a frequencia do clock:

create_clock -name CLK50MHz -period 50MHz [get_ports -no_case {nome_do_sinal_de_clock}]


Como exemplo, se for adicionado ao projeto um arquivo <NOME>.sdc definindo a frequência do clock esperada com a seguinte linha:

create_clock -name CLK50MHz -period 50MHz [get_ports -no_case {clk*}]


Ao fazer a compilação do projeto o Time Quest Report indicará se os tempos de setup, hold e fmax são atendidos.

Para verificar os resultados [Compilation Report > TimeQuest Timing Analyser] e verifique:

  • [Fmax] do circuito gerado.

No caso de dispositivos de familias de FPGA mais sofisticas podem existir vários modelos de simulação. Utilize como parâmetro de comparação a condição que resulta no menor clock. Por exemplo no caso do Cyclone IV E, existem os modelos:

  • Slow 1200mV 85C Model (mais lento)
  • Slow 1200mV 0C Model
  • Fast 1200mV 0C Model (mais rápido)

Ajustando o clock mínimo através do parãmetro create_clock é possível forçar o compilador a tentar obter uma circuito com clock maior.