Mudanças entre as edições de "Restringir a frequencia máxima de clock no Quartus II"
Linha 2: | Linha 2: | ||
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 é: | 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}] | + | 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: | 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}] | + | create_clock -name CLK50MHz -period 50MHz [get_ports -no_case {nome_do_sinal_de_clock}] |
Linha 12: | Linha 12: | ||
create_clock -name CLK50MHz -period 50MHz [get_ports {clk*}] | create_clock -name CLK50MHz -period 50MHz [get_ports {clk*}] | ||
+ | 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. | Ao fazer a compilação do projeto o '''Time Quest Report''' indicará se os tempos de setup, hold e fmax são atendidos. |
Edição das 13h42min de 6 de novembro de 2021
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 {clk*}] 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.