Академический Документы
Профессиональный Документы
Культура Документы
Cualquier circuito con memoria puede ser considerado como una FSM. An una
computadora puede ser considerada como una gran FSM.
Definicin de trminos
Estado 1
Estado 2
Estado 3 Estado 4
Diagrama 1
Ambos tipos de mquinas siguen las caractersticas de las mquinas de estado pero
difieren en la forma en que las salidas son producidas.
Mquina de Moore:
Las salidas son independientes de las entradas. Las salidas se producen
efectivamente desde dentro del estado de la mquina. Se define como maquina tipo
Moore si sus salidas solo dependen del estado de la mquina.
Mquina de Mealy: las salidas pueden ser determinadas por el estado presente
solamente, o por el estado presente y las entradas presentes, es decir las salidas se
producen dependiendo de cmo la mquina realiza una transicin de un estado a
otro.
Diagrama de Flujo
Entradas Entradas
Lgica Lgica
combinacional combinacional
Para determinar Para determinar
estado estado
Lgica Lgica
combinacional combinacional
Para determinar la Para determinar la
salida basada en el salida basada en el
estado presente estado presente y
las entradas
presentes
Salidas
Salidas
Diagrama general
Diagrama general
Estado 1
a, b
Condicin de salida q, r
que resulta de estar en Condicin de entrada
un estado presente en que debe existir con el
particular i, j fin de que se ejecuten
esas transiciones
desde el Estado 1
Estado 2
x, y
Transicin
Condicin 1
Estado 1 Estado 2
Salida 1 Salida 2
Transicin
Condicin 2
Estado 1 a, b
Condicin de salida q,r Condicin de
que resulta de estar en entrada que debe
un estado presente en existir para ejecutar
particular i, j estas transiciones
x,y
desde el Estado 1
Estado 2
Transicin Condicin 1 /
Salida 1
Estado 1 Estado 2
Transicin Condicin 2 /
Salida 2
0 1
0
S0/0 1 S1 / 0 S2 / 1
1
Reset
S0 S1
Reset
0/1
Moore.
Mealy.
FSM Moore:
FSM Mealy:
Una FSM puede ser fcilmente descripta por medio del PROCESS.
0 0
1
S0/ 0 S1 / 0 S2/1
S0 S1
reset
0/1
w=0
w=0 w=1
Cz=1
w=1
USE ieee.std_logic_1164.all;
ENTITY simple IS
PORT ( Clock, Resetn, w : IN STD_LOGIC ;
z: OUT STD_LOGIC ) ;
END simple;
ARCHITECTURE Behavior OF simple
IS TYPE State_type IS (A, B, C)
; SIGNAL y: State_type;
BEGIN
PROCESS (Resetn, Clock)
BEGIN
IF Resetn = '0' THEN
y <= A;
ELSIF (Clock'EVENT AND Clock = '1') THEN
CASE y IS
WHEN A =>
IF w = '0' THEN
y <= A;
ELSE
y <= B;
END IF;
WHEN B =>
IF w = '0' THEN
y <= A;
ELSE
y <= C;
END
IF; WHEN C =>
IF w = '0' THEN
y <= A;
ELSE
y <= C;
END IF;
END CASE;
END IF;
END PROCESS;
z <= '1' WHEN y = C ELSE
'0'; END Behavior;
WHEN C =>
IF w = '0' THEN
y_next <= A;
ELSE
y_next <= C;
END IF;
END CASE;
END PROCESS;
END Behavior;
Res
w = 1 z = 0
w=0z=0 A B w=1z=1
w=0z=0
A A B 0 0
B A B 0 1
WHEN B =>
IF w = '0' THEN y <=
A; ELSE y <= B;
END IF;
END CASE;
END IF;
END PROCESS;
with y select
z <= w when B,
z <= 0 when
others; END Behavior;