Tutorial VHDL – 19: Projetando um contador binário de 4 bits usando VHDL

Tutorial VHDL – 19: Projetando um contador binário de 4 bits usando VHDL

Nota: é recomendado seguir esta série de tutoriais VHDL em ordem, começando com o primeiro tutorial.

No tutorial anterior, VHDL-18projetamos um flip-flop T usando VHDL.

Para este projeto, iremos:

  • Escreva um programa VHDL um programa VHDL para construir um contador binário de 4 bits
  • Verifique a forma de onda de saída do programa (o circuito digital) com a tabela verdade do contador

O contador binário de 4 bits

Tabela verdade

Agora vamos escrever, compilar e simular um programa VHDL. Então, obteremos a saída em forma de onda e a verificaremos com a tabela verdade fornecida.

Antes de começar, certifique-se de revisar o procedimento passo a passo fornecido em Tutorial VHDL – 3 para elaborar o projeto. Isso garantirá que você edite e compile corretamente o programa e o arquivo de forma de onda, bem como a saída final.

Programa VHDL

biblioteca IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.all;
use IEEE.STD_LOGIC_UNSIGNED.all;

contador de entidade é
Porta (rst,clk: em std_logic;
o: out std_logic_vector(0 a 3));
contador final;

arquitetura count_arch do contador é
contagem de sinais: std_logic_vector (0 a 3);
começar
processo(primeiro,clk)
começar
se (rst = '1') então conte <= “0000”;
elsif (clk'event e clk = '1') então conte <= conte + 1;
fim se;
fim do processo;
o <= contagem;
final contagem_arch;

Para refrescar sua memória sobre como isso funciona, leia os dois primeiros tutoriais de VHDL (1 e 2) desta série.

Em seguida, compile o programa acima, criando e salvando um arquivo de forma de onda com todas as entradas e saídas necessárias listadas (garantindo a aplicação de todas as diferentes combinações de entrada). Em seguida, simule o projeto. Você deve obter o seguinte resultado…

Forma de onda de simulação

Pode ser facilmente observado pela forma de onda que quando rst=1, a saída 'o' é 0 (0000). Então, aumenta em incrementos com cada borda positiva do relógio: 0001(1), 0010(2), 0011(3), etc.

Agora, vamos construir o contador ascendente-descendente. Possui um sinal de entrada adicional para “up_down”, para que quando:

  • O up_down = 0 ->, o contador conta a partir de 0, 1, 2, 3,…15, etc.
  • O up_down = 1 ->, o contador faz a contagem regressiva de 15, 14, 13,… a 0.

O contador binário up-down (4 bits)

Programa VHDL

biblioteca IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.all;
use IEEE.STD_LOGIC_UNSIGNED.all;

contador de entidade é
Porta (rst,clk,up_dwn: em std_logic;
o: out std_logic_vector(0 a 3));
contador final;

arquitetura count_arch do contador é
contagem de sinais: std_logic_vector (0 a 3);
começar
processo(primeiro,clk)
começar
se (rst = '1') então conte <= “0000”;
elsif (clk'event e clk = '0') então
if (up_dwn = '1') então conte <= conte – 1;
senão contar <= contar + 1;
fim se;
fim se;
fim do processo;
o <= contagem;
final contagem_arch;

Formas de onda de simulação

Como você pode ver nesta figura, quando up_dwn = 0, a contagem aumenta em incrementos com cada borda negativa do relógio. Então, quando up_dwn = 1, a contagem diminui. Esses exemplos estão destacados em vermelho e azul, respectivamente.

No próximo tutorial, construiremos um conversor de código binário para cinza e um conversor de código cinza para binário usando VHDL.

Conteúdo Relacionado

Uma rede de sensores é incorporada em todos os...
O controlador do motor é um dos componentes mais...
ESP32-CAM é um módulo de câmera compacto que combina...
A evolução dos padrões USB foi fundamental para moldar...
A SCHURTER anuncia um aprimoramento para sua conhecida série...
A Sealevel Systems anuncia o lançamento da Interface Serial...
A STMicroelectronics introduziu Diodos retificadores Schottky de trincheira de...
Determinar uma localização precisa é necessário em várias indústrias...
O novo VIPerGaN50 da STMicroelectronics simplifica a construção de...
A Samsung Electronics, fornecedora de tecnologia de memória avançada,...
O mercado embarcado tem uma necessidade de soluções de...
Você provavelmente já se deparou com o termo 'arrastar'...
Você provavelmente tem um Isolador de suporte Se você...
Você provavelmente já viu permanecer um isolante sente-se em...
Você provavelmente já viu Isoladores de manilha entronizados em...
Você provavelmente já passou por situações em que o...
Zurück zum Blog

Hinterlasse einen Kommentar

Bitte beachte, dass Kommentare vor der Veröffentlichung freigegeben werden müssen.