Computing">
Nothing Special   »   [go: up one dir, main page]

EF MT127-A 2022-I Solucionario

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 11

UNIVERSIDAD NACIONAL DE INGENIERIA P.A.

2022-I
FACULTAD DE INGENIERIA MECANICA
DAIA

SOLUCIONARIO EXAMEN FINAL


ANÁLISIS Y DISEÑO DE CIRCUITOS DIGITALES
MT127-A ,B, C
 Secciones: MT253-A,B,C Duración: 110 min Fecha: 26/01/2022 Hora inicio: 14:00
 Indicaciones:
o El desarrollo se realiza de manera personal, sin apuntes y sin calculadoras.
o Se reducirán puntos por la falta de orden.

Problema1 (6 puntos):
Diseñe un contador síncrono que pase por la secuencia. 2 6 1 7 5 y se reinicie la cuenta,
utilizando: en primer caso Flip flop D, y en un segundo caso Flip Flop JK
Muestre un diagrama de estado, indicando qué sucede si inicialmente está en uno de los
estados no utilizados (0, 3, 4) para cada uno de los diseños.

Solución
Primer caso:
La tabla de verdad de la secuencia es:
Reduciendo usando mapas de karnaugh, para flip flop D

D A=A’+ BC
DB=A’+B’
DC= AB + A’B’ también puede ser AB+A’C
Para estos casos puede existir dos soluciones buenas para DC, aunque el comportamiento
del sistema es diferente, si es inicializado de uno de los estados no utilizados.

Sustituyendo los valores para los 3 estados no utilizados en el ciclo

0 (000): DA 1, DB 1, (DC=1 ó DC=0)


3 (011): DA 1, DB 1, (DC =0 ó DC =1)
4 (100): DA 0, DB 1, DC =0

Donde el término en paréntesis que el siguiente estado depende de la elección para el


segundo termino de DC.
Los diagramas de estado de las dos soluciones se muestran a continuación.
Segundo caso:

Los mapas de karnaugh para la solución JK, con la sección J sombreada, y las ecuaciones
se muestran a continuación.

JA = 1; KA =B'+C;
JB = 1; KB= A;
JC = A; KC= AB';
Sustituyendo los valores de los 3 4estdos no utilizados en el ciclo

0(000) : JA = KA = 1, JB = 1, KB = 0;
JC = KC = 0 ⇒ 110
3(011): JA = 1, KA = 0, JB = 1, KB = 0;
JC = KC = 0 ⇒ 111;
4(100): JA = KA = 1, JB = KB = 1
JC= KC = 1 ⇒ 011;
Este sigue siendo un comportamiento diferente para los estados no utilizados. Ahora, el
estado 4 pasa a 3 y luego, en el siguiente reloj, volverá en el ciclo. El diagrama de estado se
muestra a continuación.

Problema2 (4 puntos):

Diseñe un detector de secuencia “1001” con máquina de estados tipo Moore. Donde el
ingreso de un digito erróneo no resetea el sistema. Muestre el diagrama de estados; y la
codificación en VHDL.

Solución 1

Diagrama de estados
Programa
Problema3 (6 puntos):

Diseñe un circuito secuencial construido en base al uso de 3 flip flops del tipo D (A, B y
C), una entrada x_in y una salida y_out que realice la lógica declarada en el siguiente
diagrama de estados.
a) Construya la tabla de estados (3 puntos)
b) Construya el circuito basado en flip flops (3 puntos)

Solución 2

Tabla de Estados

Presente Siguiente
A B C x DA DB DC y
0 0 0 0 0 1 1 0
0 0 0 1 1 0 0 1
0 0 1 0 0 0 1 0
0 0 1 1 1 0 0 1
0 1 0 0 0 1 0 0
0 1 0 1 0 0 0 1
0 1 1 0 0 0 1 0
0 1 1 1 0 1 0 1
1 0 0 0 0 1 0 0
1 0 0 1 0 1 1 0

DA=A'B'x
DB=A'C'x'+AB'C'+A'BCx
DC=A'B'x'+A'Cx'+AB'C'x
y=A'x
Circuito

Pregunta 4 (4 puntos).
a) Indique que realiza cada una de las sentencias del siguiente código (2 puntos)

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity Lavadora is
Port ( reset,clk,C,W : in STD_LOGIC;
estados_out : out STD_LOGIC);
end Lavadora;
architecture Behavioral of Lavadora is
type estados is (idle,soak);
signal ep:estados;
begin
process (clk,reset)
begin
if reset='1' then
ep <= idle;
elsif(rising_edge(clk)) then
case ep is
when idle =>
if C='1' then
ep <= soak;
else
ep<=idle;
end if;
when soak =>
if W='1' then
ep <= soak;
else
ep<=idle;
end if;
end case; end if;
end process;
process(ep)
begin
case ep is
when idle =>
estados_out<='0';
when soak =>
estados_out<='1';
end case;
end process;
end Behavioral;

b) Indique que tipo de máquina de estados se encuentra implementada en el ítem a y


dibuje el diagrama de estados
(1 punto).
c) Construya el hardware equivalente de las sentencias anteriores, obvie la entrada de
reset (1 puntos)

Solución 4

a.
library IEEE; -- Librería IEEE
use IEEE.STD_LOGIC_1164.ALL; -- Uso del paquete IEEE 1164 (estandar IEEE 1164)
entity Lavadora is -- SE DEFINE LA ENTIDAD COMO ENLACE HARDWARE AL
ENTORNO DE PROGRAMACIÓN
Port ( reset,clk,C,W : in STD_LOGIC; -- Se definen las entradas reset,clk,C,W de 1 bit
estados_out : out STD_LOGIC); -- se define la salida de
end Lavadora;
architecture Behavioral of Lavadora is -- Define la aquitecura
type estados is (idle,soak); -- Establece la clase de estados finitos
signal ep:estados; -- Crea un objeto de la clase estados
begin
process (clk,reset) -- Proceso de la lógica de la máquina de estados
begin
if reset='1' then -- Establece la lógica del reset
ep <= idle; -- Si se resetea la máquina pasa al estado idle
elsif(rising_edge(clk)) then -- Al detectar un flanco de subida existe cambio de
estado
case ep is
when idle =>
if C='1' then -- Si C=1 pasa al estado soak
ep <= soak;
else -- Si C=0 se queda en el estado idle
ep<=idle;
end if;
when soak =>
if W='1' then -- Si W=1 se queda en el estado soak
ep <= soak;
else -- Si W=0 pasa al estado idle
ep<=idle;
end if;
end case; end if;
end process;
process(ep) -- proceso para establecer las salidas de la máquina de estados
begin
case ep is
when idle =>
estados_out<='0'; --En el estado Idle la salida es 0
when soak =>
estados_out<='1'; --En el estado soak la salida es 1
end case;
end process;
end Behavioral;
b. Moore

C.

También podría gustarte