Mudanças entre as edições de "Restringir a frequencia máxima de clock no Quartus II"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
(Criou página com '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 s...')
 
Linha 16: Linha 16:
  
 
Para verificar os resultados [Compilation Report > TimeQuest Timing Analyser] e verifique:
 
Para verificar os resultados [Compilation Report > TimeQuest Timing Analyser] e verifique:
* o [Fmax] do circuito gerado.  
+
* [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.
  
 
*Ver [https://www.intel.com/content/www/us/en/programmable/quartushelp/current/index.htm#analyze/sta/sta_db_create_clock.htm Create Clock Dialog Box (create_clock)]
 
*Ver [https://www.intel.com/content/www/us/en/programmable/quartushelp/current/index.htm#analyze/sta/sta_db_create_clock.htm Create Clock Dialog Box (create_clock)]
 
*Ver [https://www.intel.com/content/www/us/en/programmable/quartushelp/current/index.htm#tafs/tafs/tcl_pkg_sdc_ver_1.5_cmd_create_clock.htm create_clock (::quartus::sdc)]
 
*Ver [https://www.intel.com/content/www/us/en/programmable/quartushelp/current/index.htm#tafs/tafs/tcl_pkg_sdc_ver_1.5_cmd_create_clock.htm create_clock (::quartus::sdc)]

Edição das 21h35min de 31 de outubro de 2018

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.