You are on page 1of 14

DISEO DE MAQUINAS DE

ESTADO
DISEO DE MAQUINAS DE ESTADO
Una mquina de estado es un sistema secuencial donde:
La salida depende de la entrada actual y de las entradas anteriores, (la
salida depende de la entrada y del estado del sistema).

Puede ser sncrona (el estado siguiente se actualiza cuando cambia la
seal de reloj) o asncrona (el estado siguiente se actualiza cuando
cambian las seales de entrada).
DISEO DE MAQUINAS DE ESTADO
Los sistemas secuenciales sncronos poseen las siguientes ventajas:

La generacin de las seales se realiza en instantes de tiempo conocidos y
definidos.

Mayor inmunidad a glitches

Disminucin a los problemas de variacin por retardos de propagacin
(diferentes paths).

Mayor estabilidad frente a cambios de temperatura, tensin o seales del
proceso.

Interfaces sencillas.
DISEO DE MAQUINAS DE ESTADO
Los sistemas secuenciales sncronos se les denominan FSM (Finite State
Machine o Maquina de Estado Finito) del hecho que el comportamiento
funcional de estos circuitos puede representarse mediante un nmero finito
de estados.

Tpicamente son constituidas por tres bloques:
DISEO DE MAQUINAS DE ESTADO
Las FSM son de dos tipos:

MOORE: Donde las salidas son funcin del estado actual




MEALY: Donde las salidas son funcin del estado actual y el valor actual
de las entradas.
DISEO DE MAQUINAS DE ESTADO
PASOS PARA EL DI SEO DE FSM:
Realizacin del diagrama de estados.

Codificacin de estados: creacin de un tipo ENUMERADO.

Realizacin de la lgica de Prximo Estado.

Registro del vector Estado Actual.

Realizacin de la lgica de generacin de salidas.
DISEO DE MAQUINAS DE ESTADO
EJ EMPLO DE DI SEO:
Paso 1: Diagrama de Estados
PARA TENER EN CUENTA:
* Entradas
* Estados
Para cada estado
Cmo le afectan
las entradas al
cambio de estado?
Qu salidas se
producen?
* Transiciones entre Estados
* Salidas
DISEO DE MAQUINAS DE ESTADO
EJ EMPLO DE DI SEO:
Paso 2: Codificacin de Estados
Es la forma en que se asignan nmeros binarios para
codificar los estados.
DISEO DE MAQUINAS DE ESTADO
EJ EMPLO DE DI SEO:
Paso 2: Codificacin de Estados
En VHDL se puede utilizar un tipo enumerado con lo que
se deja a la herramienta de sntesis decidir el tipo de
Codificacin.

Architecture fsm of ejemplo is
type estado is ( INICIO, MEDIO, FINAL );
signal estado_acual, estado_siguiente: estado;
begin
. . .
end architecture fsm;
DISEO DE MAQUINAS DE ESTADO
EJ EMPLO DE DI SEO:
Paso 3: Descripcin de la Lgica de Estados y Salidas
En este paso nos encontramos con tres posible Descripciones:

Modelo con un process.

Modelo con dos process.
Un process para sincronizar estados.
Un process para la lgica de los estados y las salidas.

Modelo con tres process.
DISEO DE MAQUINAS DE ESTADO
EJ EMPLO DE DI SEO:
Paso 3: Descripcin de la Lgica de Estados y Salidas
Modelo con un process.
process (CLK, RESET)
begin
if RESET='1' then
estado_actual <= INICIO;
elsif CLK'event and CLK='1' then
case estado_actual is
when INICIO => if X=valor1 then
estado_actual <= MEDIO;
end if;
when MEDIO => if X=valor2 then
estado_actual <= FINAL;
end if;
when FINAL => if X=valor3 then
estado_actual <= INICIO;
end if;
when others => estado_actual <= INICIO;
end case ;
end if ;
end process;
DISEO DE MAQUINAS DE ESTADO
EJ EMPLO DE DI SEO:
Paso 3: Descripcin de la Lgica de Estados y Salidas
Modelo con dos process.
FSM_FF: process (CLK, RESET)
begin
if RESET='1' then estado_actual <= INICIO;
elsif CLK'event and CLK='1' then
estado_actual <= estado_siguiente;
end if;
end process FSM_FF ;

FSM_LOGIC: process ( estado_actual, X)
begin
case estado_actual is
when INICIO => if X=valor1 then
estado_siguiente <= MEDIO; end if;
when MEDIO => if X=valor2 then
estado_siguiente <= FINAL; end if ;
when FINAL => if X=valor3 then
estado_siguiente <= INICIO; end if ;
when others => estado_siguiente <= INICIO ;
end case ;
end process FSM_LOGIC ;
DISEO DE MAQUINAS DE ESTADO
EJ EMPLO DE DI SEO:
Paso 3: Descripcin de la Lgica de Estados y Salidas
Modelo con tres process.

Un process para sincronizar estados y salidas.

Un process para la lgica de las salidas.

Un process para la lgica de los estados

You might also like