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

Tutorial VHDL – 19: Diseño de un contador binario de 4 bits usando VHDL

Nota: Se recomienda seguir esta serie de tutoriales de VHDL en orden, comenzando con el primer tutorial .

En el tutorial anterior, VHDL-18, diseñamos un flip-flop T usando VHDL.

Para este proyecto, haremos:

  • Escriba un programa VHDL un programa VHDL para construir un contador binario de 4 bits
  • Verifique la forma de onda de salida del programa (el circuito digital) con la tabla de verdad del contador.

El contador binario de 4 bits

Mesa de la verdad

Ahora escribamos, compilemos y simulemos un programa VHDL. Luego obtendremos la salida de la forma de onda y la verificaremos con la tabla de verdad proporcionada.

Antes de comenzar, asegúrese de revisar el procedimiento paso a paso proporcionado en el Tutorial VHDL – 3 para diseñar el proyecto. Esto asegurará que edite y compile correctamente el programa y el archivo de forma de onda, así como el resultado final.

Programa VHDL

biblioteca IEEE;
utilice IEEE.STD_LOGIC_1164.ALL;
utilizar IEEE.STD_LOGIC_ARITH.all;
utilice IEEE.STD_LOGIC_UNSIGNED.all;

contador de entidades es
Puerto (primero, clk: en std_logic;
o: salida std_logic_vector(0 a 3));
contador final;

La arquitectura count_arch del contador es
recuento de señales: std_logic_vector (0 a 3);
para comenzar
proceso (primero, clk)
para comenzar
si (primero = '1') entonces cuente <= “0000”;
elsif (clk'event y clk = '1') luego cuenta <= cuenta + 1;
terminara si;
fin del proceso;
o <= contar;
recuento final_arch;

Para refrescar su memoria sobre cómo funciona esto, lea los dos primeros tutoriales de VHDL ( 1 y 2 ) de esta serie.

Luego compile el programa anterior, creando y guardando un archivo de forma de onda con todas las entradas y salidas requeridas enumeradas (asegurándose de que se apliquen todas las combinaciones de entradas diferentes). Luego simule el proyecto. Deberías obtener el siguiente resultado...

Forma de onda de simulación

Se puede ver fácilmente en la forma de onda que cuando rst=1, la salida 'o' es 0 (0000). Luego aumenta en incrementos con cada flanco positivo del reloj: 0001(1), 0010(2), 0011(3), etc.

Ahora, construyamos el contador ascendente-descendente. Tiene una señal de entrada adicional para “up_down”, de modo que cuando:

  • El up_down = 0 ->, el contador cuenta desde 0, 1, 2, 3,…15, etc.
  • El up_down = 1 ->, el contador cuenta atrás desde 15, 14, 13,… hasta 0.

El contador binario ascendente y descendente (4 bits)

Programa VHDL

biblioteca IEEE;
utilice IEEE.STD_LOGIC_1164.ALL;
utilizar IEEE.STD_LOGIC_ARITH.all;
utilice IEEE.STD_LOGIC_UNSIGNED.all;

contador de entidades es
Puerto (rst,clk,up_dwn: en std_logic;
o: salida std_logic_vector(0 a 3));
contador final;

La arquitectura count_arch del contador es
recuento de señales: std_logic_vector (0 a 3);
para comenzar
proceso (primero, clk)
para comenzar
si (primero = '1') entonces cuente <= “0000”;
elsif (clk'event y clk = '0') entonces
si (up_dwn = '1') entonces cuenta <= cuenta – 1;
de lo contrario contar <= contar + 1;
terminara si;
terminara si;
fin del proceso;
o <= contar;
recuento final_arch;

Formas de onda de simulación

Como puede ver en esta figura, cuando up_dwn = 0, el recuento aumenta en incrementos con cada flanco negativo del reloj. Entonces, cuando up_dwn = 1, el recuento disminuye. Estos ejemplos están resaltados en rojo y azul, respectivamente.

En el siguiente tutorial, crearemos un conversor de código binario a código Gray y un conversor de código Gray a binario usando VHDL.

Conteúdo Relacionado

En cada vehículo hay una red de sensores integrada...
El controlador del motor es uno de los componentes...
ESP32-CAM es un módulo de cámara compacto que combina...
La evolución de los estándares USB ha sido fundamental...
SCHURTER anuncia una mejora de su popular serie SWZ...
Visual Communications Company (VCC) ha anunciado sus nuevos tubos...
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...
Probablemente se haya encontrado con el término " resistencia...
Probablemente tenga un aislante de soporte si ha notado...
Probablemente haya visto un aislante colocado en postes de...
Probablemente hayas visto aisladores de grillete entronizados en postes...
Probablemente hayas experimentado situaciones en las que controlar un...
Regresar al blog

Deja un comentario

Ten en cuenta que los comentarios deben aprobarse antes de que se publiquen.