TALLER 1 DIGITALES II - V
TALLER 1 DIGITALES II - V
TALLER 1 DIGITALES II - V
Ejercicios
Solución:
Unidades de diseño:
Declaración de la entidad: Se utiliza para realizar la descripción de características específicas del hardware
como lo son el número de entradas, salidas, llamados puertos, los cuales se describen mediante un nombre,
modo y tipo asignados.
Arquitectura:
En la arquitectura se determina el diseño del comportamiento del módulo, esta puede ser de diferentes tipos
como funcional, estructural, flujo de datos etc, y se usan sentencias propias de VHDL.
Declaración del paquete: Se realiza al principio de cualquier programa en VHDL, y consiste en hacer un
llamado a las librerías que son necesarias para agilizar el diseño de un proyecto. Ello se realiza mediante la
sentencia use.
Determine cuáles son las unidades de diseño necesarias para realizar un programa en VHD.
Rta/ Las unidades de diseño necesarias son:
Ieee:
Std.logic_1164
Std_arith
Numeric_std
Std_logic_unsigned
Declaración de entidades
Una entidad representa la caracterización del hardware, describiendo su número y tipo de pins
pertinentes para una determinada aplicación, y su palabra reservada es entity.
library ieee;
use ieee.std_logic_l 164.all;
entity selección is
port (
x: in std_logic_vector(0 to 3);
f: out std_logic);
end selección;
Señale cuáles de los siguientes identificadores son correctos o incorrectos, colocando en las
líneas de respuesta la letra 'C' o T, respectivamente.
Ilógico I
Desp_laza _C_
con_trol _C_
Página I_
architecture I
Registro _C
S_uma# _I
2Suma _I_
Res ta _I_
A
B
Entity compuerta_AND is
Port (A, B: in std_logic;
F: out std_logic);
End compuerta_AND;
Declare la entidad para el siguiente c i r c u i t o .
Demo
Rta/
Entity DEMO is
Port( A,B: in std_logic;
F : out std_logic);
End demo;
C[2:0 ]
Rta/
Entity promedio is
Port( A,B: in std_logic_vector(2 downto 0);
F : out std_logic);
End promedio;
C [0 :3]
Rta/
Entity circuito is
Port( A,B: in std_logic_vector(0 to 3);
F : out std_logic_vector(0 to 3));
End circuito;
EO
E1
E2
E3
SO S1
use ieee.std_logic_1164.all;
Entity mux_4a1 is
Port ( E: in std_logic_vector(0 to 3);
S : in std_logic_vector(0 to 1);
F : out std_logic;
End mux_4a1;
Solucionar los siguientes problemas y describir su tabla de verdad utilizando declaraciones concurrentes en
VHDL.
1. Un motor eléctrico puede girar en ambos sentidos por medio de dos contadores: "D" para el giro a derecha y
"I" para el giro a izquierda. Estos dos contadores son comandados por dos pulsadores de giro "d" (derecha) e "i"
(izquierda) y un interruptor de selección "L" de acuerdo con las siguientes condiciones:
• Si sólo se pulsa uno de los dos botones de giro, el motor gira en el sentido correspondiente.
• Si se pulsan los dos botones de giro simultáneamente, el sentido de giro depende del estado del interruptor "L"
de forma que,
Si "L" está activado, el motor gira a la derecha.
Si "L" está en reposo, el motor gira a la izquierda.
Establecer:
a) La tabla de verdad.
Solución: Código:
Tabla de Verdad
ENTRADA SALIDA
D(A2 I(A1) L(A0 D I
) )
0 0 0 0 0
0 0 1 0 0
0 1 0 0 1
0 1 1 0 1
1 0 0 1 0
1 0 1 1 0
1 1 0 0 1
1 1 1 1 0
2. Una máquina de juego posee un sistema de lotería constituido por cuatro pulsadores activados por las bolas
que se deslizan sobre un tablero. El sistema funciona de tal forma que concede partida gratis cuando, al
introducir la bola en juego por el orificio de fin, la combinación binaria formada por los citados pulsadores es
equivalente en decimal a uno de los siguientes valores: 3,7,10,11 y 15. Implementar el circuito necesario con un
multiplexor de 8:1
Solución:
3. Solución:
Entrada Salida
A B C D (1=apertura.)
0 0 0 0 0
0 0 0 1 0
0 0 1 0 0
0 0 1 1 0
0 1 0 0 0
0 1 0 1 0
0 1 1 0 0
0 1 1 1 0
1 0 0 0 0
1 0 0 1 0
1 0 1 0 0
1 0 1 1 1
1 1 0 0 0
1 1 0 1 0
1 1 1 0 0
1 1 1 1 1