Lab Oratorio No4 - Maquina de Estado

13
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS FACULTAD DE INGENIERÍA ELECTRÓNICA ESCUELA DE INGENIERÍA ELECTRÓNICA DISEÑO DIGITAL LABORATORIO No4 ESTILO ALGORITMICO Y MAQUINAS DE ESTADO

Transcript of Lab Oratorio No4 - Maquina de Estado

Page 1: Lab Oratorio No4 - Maquina de Estado

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOSFACULTAD DE INGENIERÍA ELECTRÓNICAESCUELA DE INGENIERÍA ELECTRÓNICA

DISEÑO DIGITAL

LABORATORIO No4

ESTILO ALGORITMICO Y MAQUINAS DE ESTADO

Profesor: Ing. Alfredo Granados Ly

Page 2: Lab Oratorio No4 - Maquina de Estado

UNMSM – FIE Diseño Digital

1. Tenga en consideración los pines del módulo cuando implemente el circuito digital

A. Granados Laboratorio No42

Page 3: Lab Oratorio No4 - Maquina de Estado

UNMSM – FIE Diseño Digital

EJEMPLO DE MAQUINA DE ESTADO: CONTROL DE LLENADO DE UN DEPÓSITO DE LÍQUIDOS. Un tanque de agua abierto por la parte superior dispone de tres sensores de detección de llenado (A, B, C) que determinan 4 posibles niveles de llenado (VACIO, NORMAL,LLENO, ALARMA). El nivel del tanque se controla mediante dos válvulas (E, entrada y S, salida). Se pide diseñar un circuito de control que opere de la siguiente forma: En condiciones de llenado normal, las válvulas E y S se encuentran

abiertas. Si el líquido llega al nivel de vacío, se cierra la válvula de salida y se

mantiene abierta la de entrada. Si el líquido llega al nivel de lleno, se cierra la válvula de entrada y se

mantiene abierta la de salida. Si por cualquier circunstancia, por ejemplo lluvia, se llegara al nivel de

alarma, se deberá cerrar la válvula de entrada y abrir la de salida. Esta situación se mantendrá hasta que el tanque llegue al estado de vacío.

Datos adicionales: El funcionamiento de los sensores digitales y las válvulas E y S se encuentra resumido en las tablas adjuntas:

Desde el punto de vista de nuestro diseño, es posible considerarlo como una caja negra que presentará el siguiente aspecto:

A. Granados Laboratorio No43

Page 4: Lab Oratorio No4 - Maquina de Estado

UNMSM – FIE Diseño Digital

Entradas: Tres entradas asociadas para cada uno de los sensores de detección de nivel más una señal de reloj (CLK) y otra de inicialización (ResetH), asociadas a la parte secuencial.

Salidas: Dos (E y S), encargadas de controlar las válvulas de llenado y vaciado.

Implementación de la máquina de estados tipo MOORE:

En el diagrama implementado se puede reducir un estado ya que el estado ARRANQUE realiza la misma operación que el estado VACIO.

A. Granados Laboratorio No44

Page 5: Lab Oratorio No4 - Maquina de Estado

UNMSM – FIE Diseño Digital

Tarea: Implementar el circuito utilizando la máquina de MEALY.

A. Granados Laboratorio No45

Page 6: Lab Oratorio No4 - Maquina de Estado

UNMSM – FIE Diseño Digital

Problema propuesto:

Se requiere un controlador digital para un semáforo en la intersección de una calle de tráfico muy denso con una calle de tráfico moderado. La calle principal va a tener luz verde durante un mínimo de 25 s o mientras no haya ningún vehículo en la calle perpendicular. Esta calle lateral tiene que tener luz verde hasta que no circule ningún coche por ella o durante un máximo de 25 s. La luz ámbar de precaución tiene que durar 4 s en los cambios de luz verde a roja en ambas calles, principal y lateral. Los requerimientos se muestran a continuación

Implementar el circuito en VHDL, tome en consideración para la simulación un reloj de 1Hz. En el momento de la implementación en el FPGA tome en cuenta que la señal de reloj es de 50MHz.

Problema proupesto:

Analice la siguiente implementación VHDL y dibuje como sería el diagrama de estado:

library ieee ;use ieee.std_logic_1164.all;

-----------------------------------------------------

entity seq_design isport( a: in std_logic;

clock: in std_logic;reset: in std_logic;x: out std_logic

);end seq_design;

A. Granados Laboratorio No46

Page 7: Lab Oratorio No4 - Maquina de Estado

UNMSM – FIE Diseño Digital

-----------------------------------------------------

architecture FSM of seq_design is

-- define the states of FSM model

type state_type is (S0, S1, S2, S3); signal next_state, current_state: state_type;

begin -- cocurrent process#1: state registers state_reg: process(clock, reset) begin

if (reset='1') then current_state <= S0;

elsif (clock'event and clock='1') then current_state <= next_state;end if;

end process;

-- cocurrent process#2: combinational logic comb_logic: process(current_state, a) begin

-- use case statement to show the -- state transistion

case current_state is

when S0 => x <= '0';if a='0' then next_state <= S0;elsif a ='1' then next_state <= S1;end if;

when S1 => x <= '0';if a='0' then next_state <= S1;elsif a='1' then next_state <= S2;end if;

when S2 => x <= '0';if a='0' then next_state <= S2;elsif a='1' then next_state <= S3;end if;

when S3 => x <= '1';if a='0' then next_state <= S3;

A. Granados Laboratorio No47

Page 8: Lab Oratorio No4 - Maquina de Estado

UNMSM – FIE Diseño Digital

elsif a='1' then next_state <= S0;end if;

when others =>x <= '0';next_state <= S0;

end case;

end process;

end FSM;

EJEMPLO DE MAQUINA DE ESTADO: DETECTOR DE SECUENCIA

Se pide diseñar un circuito que acepte una entrada de datos serie y presente una salida que se activará (tomará el valor lógico ‘1’) cuando en los instantes de muestreo aparezca la secuencia “1011”.

Descripción de la interfaz: Entradas: Una entrada de datos (sDataIn) más una señal de reloj (CLK) y

otra de inicialización (ResetH), asociadas a la parte secuencial. Salidas: Una sDetect, encargada de activarse cuando se ha detectado la

secuencia.

Diagrama de estados tipo MOORE:

A. Granados Laboratorio No48

Page 9: Lab Oratorio No4 - Maquina de Estado

UNMSM – FIE Diseño Digital

PROBLEMA: Implemente un detector para la siguiente secuencia: 11X011 (Moore) y

considere la ocurrencia de traslape. Implemente el siguiente contador: 0,4,7,1,5,9, 0,4,7,1,5,9, 0,4,7,1,5,9,

….. adicionalmente debe tener un control de cuenta UP (1: ASC/0:DESC)

A. Granados Laboratorio No49

Page 10: Lab Oratorio No4 - Maquina de Estado

UNMSM – FIE Diseño Digital

A. Granados Laboratorio No410