Tutorial VHDL – 11: Projetando circuitos meio subtrator e subtrator completo

Tutorial VHDL – 11: Diseño de circuitos de medio restador y de restador completo

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

En el tutorial anterior Tutorial VHDL - 10 diseñamos circuitos de medio sumador y de sumador completo usando VHDL.

En este tutorial, vamos a:

  • Escriba un programa VHDL para construir circuitos de medio restador y de restador completo.
  • Verifique la forma de onda de salida del programa (circuito digital) con las tablas de verdad para el medio restador y los circuitos completos.

Circuito medio restador

Mesa de la verdad

Ahora, escribamos, compilemos y simulemos un programa VHDL para obtener una salida de forma de onda. Luego verificaremos la salida de la forma de onda 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 adecuadamente el proyecto, así como editar y compilar el programa y el archivo de forma de onda, incluido el resultado final.

Programa VHDL:

biblioteca IEEE;
utilice IEEE.STD_LOGIC_1164.ALL;

la entidad half_sub es
puerto (a,b: en std_logic;
dif,bo: salida std_logic
);
finalizar half_sub;

La arquitectura sub_arch de half_sub es
para comenzar
dif <= hacha o b;
bo <= (no a) y b;
finalizar sub_arco;

Observación:

  • La “entidad” describe las conexiones de entrada-salida del circuito digital. Según el circuito que se proporciona aquí, notará que hay dos entradas ('a' y 'b') y dos salidas ('dif' y 'bo').
  • La "arquitectura" describe el funcionamiento del circuito, es decir, cómo se genera la salida a partir de una entrada determinada.

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

A continuación, compile el programa anterior, cree un archivo de forma de onda con todas las entradas y salidas necesarias enumeradas y simule el proyecto. Deberías obtener el siguiente resultado...

Forma de onda de simulación

Verifique las formas de onda de salida 'dif' y 'bo' con la tabla de verdad proporcionada. Para las entradas a=1 y b=0, las salidas son bo=0 y dif=1, que están resaltadas en la imagen.

A continuación, pasemos al circuito restador completo y su diseño.

Circuito restador completo

Mesa de la verdad

Escribamos el programa VHDL para este circuito. En el tutorial anterior, diseñamos el circuito sumador completo utilizando un estilo de modelado estructural para programación VHDL. Usaremos el mismo estilo de modelado para diseñar el restador completo.

Construiremos el circuito restador completo utilizando el circuito medio restador y la " puerta O " como componentes (o bloques). En el diagrama del circuito puede ver que el circuito restador completo consta de dos medios sumadores y una puerta OR.

Programa VHDL

biblioteca IEEE;
Utilice IEEE. STD_LOGIC_1164.all;
full_sub entidad IS
puerto (a,b,bin:en STD_LOGIC;
dif, combate: fuera STD_LOGIC);
finalizar full_sub;

———————– arquitectura restadora completa ————-

La arquitectura FS_arch de full_sub es

—————————– medio componente sumador————————–

El componente half_sub es
puerto (p,q: en STD_LOGIC;
dif,bo: salida STD_LOGIC);
componente final;

——————— o componente de puerta ————————-

El componente or_gate es
puerto (p1,q1:en STD_LOGIC;
r1: salida STD_LOGIC);
componente final;

——————————-

señal d1,b1,b2: STD_LOGIC;
para comenzar
w1: mapa de puertos half_sub (a,b,d1,b1);
w2: mapa de puertos half_sub (d1,bin,dif,b2);
w3: mapa de puertos or_gate (b1,b2,bout);
finalizar FS_arch;

————————– programa medio restador ————————

biblioteca IEEE;
Utilice IEEE. STD_LOGIC_1164.all;

la entidad half_sub es
puerto (p,q: en STD_LOGIC;
dif,bo: salida STD_LOGIC);
finalizar half_sub;
Arquitectura HS_arch de half_sub IS
para comenzar
dif <= p xor q;
bo <= (no p) eq;
finalizar HS_arch;

—————————– o programa de puerta ——————————

biblioteca IEEE;
Utilice IEEE. STD_LOGIC_1164.all;

la entidad ou_gate es
puerto (p1,q1:en STD_LOGIC;
r1: salida STD_LOGIC);
finalizar ou_gate;
or_gate IS arquitectura or_g
para comenzar
r1 <= p1 o q1;
finalizar or_g;

Para compilar el programa anterior:

  • Cree un archivo de forma de onda con todas las entradas y salidas enumeradas
  • Aplicar las diferentes combinaciones de entrada.
  • Guarde el archivo de forma de onda y simule el proyecto.

Deberías obtener este resultado...

Formas de onda de simulación

Compare los resultados de 'dif' y 'bout' con la tabla de verdad proporcionada. En el diagrama anterior, un caso se resalta como a=0, b=1 y bin=0 con las salidas de dif=1 y bout=1.

En el próximo tutorial, aprenderemos cómo diseñar un generador de paridad de 8 bits y circuitos de verificación de paridad usando VHDL.

contenido relacionado

Regresar al blog

Deja un comentario

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