Restringir a frequencia máxima de clock no Quartus II

De MediaWiki do Campus São José
Revisão de 21h35min de 31 de outubro de 2018 por 127.0.0.1 (discussão)
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 {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 {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 {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.