VHDL: Contador comportamental
Este exemplo implementa um contador comportamental com recursos de carga, limpeza e para cima e para baixo. Ele não foi otimizado para uma arquitetura de dispositivo específica, portanto, o desempenho pode variar. Intel® FPGA recomenda usar a função lpm_counter para implementar um contador (consulte VHDL: Down Counter). Este exemplo é fornecido para mostrar a implementação de contador que não requer o LPM.
Para obter mais informações sobre como usar este exemplo em seu projeto, acesse:
counters.vhd
CONTADORES DE ENTIDADES É PORT (d: NO INTERVALO INTEIRO DE 0 A 255; clk: EM BIT; claro: EM BIT; carga: EM BIT; up_down: EM BIT; qd: INTERVALO INTEIRO FORA DE 0 A 255); Contadores END; ARQUITETURA A OF COUNTERS IS BEGIN (ARQUITETURA A OF COUNTERS IS BEGIN) — UMA VARIÁVEL CNT (processo de contador para cima/baixo) : FAIXA DE INTEIROS DE 0 A 255; DIREÇÃO VARIÁVEL: INTEIRO; INICIAR SE (up_down = '1') ENTÃO --Gerar a direção do contador para cima/para baixo := 1; Direção ELSE := -1; TERMINAR SE; SE (clk'EVENT E CLK = '1') ENTÃO SE (carga = '1') ENTÃO --Gerar cnt carregado := d; -contador. Leve essas OUTRAS OPÇÕES --linhas para aumentar o desempenho. cnt := cnt + direção; TERMINAR SE; --As seguintes linhas produzirão uma síncrona --clear no contador IF (clear = '0') ENTÃO cnt := 0; TERMINAR SE; TERMINAR SE; qd <= cnt; --Gerar saídas END PROCESS; FIM A;