Académique Documents
Professionnel Documents
Culture Documents
Ejercicios
Declaración de entidades
Describa el significado de una entidad y cuál es su palabra reservada.
Una entidad es un bloque de diseño que puede ser analizado y programado como un elemento individual y el
cual permite definir las entradas y salidas del diseño, su palabra reservada es ENTITY.
En la siguiente declaración de entidad indique:
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;
a) El nombre de la entidad
selección
b) Los puertos de entrada
x0,x1,x2,x4
c) Los puertos de salida
f
d) El tipo de dato
std_logic_vector
std_logic
Señale cuáles de los siguientes identificadores son correctos o incorrectos, colocando en las
líneas de respuesta la letra 'C' o ‘I’, respectivamente.
Ilógico I C Desp_laza
con_trol C C N_ivel
Página I I architecture
Registro C I S_uma#
2Suma I I Res ta
A
B
entity And_2 is
port (A,B: in bit;
S: out bit);
end And_2;
Demo
entity Demo is
port (A,B: in bit;
F: out bit);
end Demo;
Declare la entidad para el circuito que se muestra en la figura. Utilice vectores.
C[2:0 ]
entity promedio is
port(A,B: in bit_vector(2 downto 0);
F:out bit);
end promedio;
Declare la entidad para el siguiente circuito que utiliza vectores.
C [0 :3]
entity circuito is
port(A,B: in bit_vector(0 to 3);
C: out bit_vector(0 to 3));
end circuito;
SO S1
library IEEE;
use ieee.std_logic_1164.all;
entity Mux is
port (E:in std_logic_vector (0 to 3);
S:in std_logic_vector (0 to 2);
F:out std_logic);
end Mux;
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.
L0 L1 L2 X Y
0 0 0 0 0
L0=Derecha ; 0 0 1 0 0
L1= Izquierda; 0 1 0 0 1
L2= Selección; 0 1 1 0 1
X= Giro derecha; 1 0 0 1 0
Y= Giro izquierda; 1 0 1 1 0
1 1 0 0 1
1 1 1 1 0
library IEEE;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity Motor is
port (L: in bit_vector (2 downto 0);
X,Y:out bit);
end Motor;
with L select
Y<= '1' when "010",
'1' when "011",
'1' when "110",
'0' when others;
end Fun;
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
entity Maquina is
port(A: in std_logic_vector (3 downto 0); A0 A1 A2 A3 F
F: out std_logic); 0 0 0 0 0
end Maquina; 0 0 0 1 0
0 0 1 0 0
architecture Fun of Maquina is 0 0 1 1 1
begin 0 1 0 0 0
with A select 0 1 0 1 0
F<= '1' when "0011",
0 1 1 0 0
'1' when "0111",
0 1 1 1 1
'1' when "1010",
1 0 0 0 0
'1' when "1011",
'1' when "1111", 1 0 0 1 0
'0' when others; 1 0 1 0 1
end Fun; 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