Está en la página 1de 12

Finite State Machine (FSM)

entradas
siguiente estado
estado actual
Lógica del Registro Lógica salidas
Siguiente de de
Estado Estado Salida

clock
reset
“Circuito que progresa en secuencia a través de un conjunto de estados
predeterminados, controlado por un reloj y por otras señales de entrada”
R. Tocci, N. Widmer & G. Moss, Sistemas digitales: Principios y aplicaciones, 10ed

“Sistema lógico que exhibe una secuencia de estados condicionada por la


lógica interna y las entradas externas” T. Floyd, Fundamentos de sistemas digitales, 9ed

“get their name because a circuit with k registers can be in one of a finite number
(2k) of unique states” D. Harris & S. Harris, Digital design and computer architecture, 2ed
Lógica del siguiente estado (Next State Logic):
Circuito combinacional que determina cual será el siguiente estado con
base en el estado actual de la FSM y sus entradas.

entradas
siguiente estado
Lógica del estado Registro actual Lógica salidas
Siguiente de de
Estado Estado Salida

clock
reset
Registro de Estado (State Register):
Conjunto de flip flops que almacenan el estado actual de la FSM.
La FSM avanza en la secuencia de estados con cada flanco de reloj.

entradas
siguiente estado
Lógica del estado Registro actual Lógica salidas
Siguiente de de
Estado Estado Salida

clock
reset

Un circuito con n variables de estado (flipflops en el registro de estado) puede tener 2n estados diferentes.
Lógica de Salida (Output Logic):
Circuito combinacional que determina el valor de la salida de acuerdo al
estado actual de la FSM (y las entradas para el caso de las máquinas tipo Mealy).

entradas
siguiente estado
Lógica del estado Registro actual Lógica salidas
Siguiente de de
Estado Estado Salida

clock
reset
entradas
MOORE siguiente
Lógica del estado Registro
estado
actual Lógica salidas
Siguiente de de
las salidas dependen Estado Estado Salida
únicamente del
estado actual clock
reset

MEALY entradas
siguiente estado
Lógica del estado Registro Lógica
las salidas dependen Siguiente de
actual
de
salidas

del estado actual y Estado Estado Salida

de las entradas
clock
reset
Las salidas pueden tener cambios asíncronos
Flipflop tipo D

siguiente estado
estado actual salidas
siguiente estado
estado actual salidas
Para evitar meta-estabilidad, las salidas de estas máquinas deben:
Estar disponibles tan pronto como sea posible.
Mantener su valor durante todo el ciclo de reloj.

SOLUCIÓN:
Codificar los estados de forma tal que las variables de estado puedan ser
usadas como salidas y suprimir la lógica de salida.
Esto recibe el nombre entradas
siguiente estado
de asignación de estado Lógica del estado Registro actual salidas
Siguiente de
codificada por salida Estado Estado

(output-coded state
assignment). clock
reset
Dibujar el diagrama de entradas y salidas del circuito.

Elaborar el diagrama de estados que especifique la secuencia del circuito


verificando exclusión mutua e inclusión total para cada uno de los estados.
Diagrama de estados: Conjunto de estados y arcos etiquetados con condiciones de transición.
condición de transición

Todas las condiciones de transición de los arcos que salen de un estado deben ser
mutuamente excluyentes y totalmente inclusivas.
Exclusión mutua: cualquier combinación de las variables de entrada
activa sólo una de las condiciones de transición.
Inclusión total: cada una de las combinaciones de las variables de entrada
activa alguna de las condiciones de transición.
Escribir la tabla de estados.
La información de la tabla de estados debe coincidir con el diagrama de estados.

Tabla de estados:
Cada fila de esta tabla tiene las siguientes columnas:
Estado actual.
Salidas en cada estado.
Condiciones de transición.
Siguiente estado para cada combinación
“estado actual” – “condición de transición”.

Determinar la cantidad de variables de estado y asignar combinaciones de


valores a los estados nombrados.
Sustituir las combinaciones de variables de estado en la tabla estado/salida para
crear la tabla transición/salida.

Escoger un tipo de flipflop y construir una tabla de excitación que muestre los
valores de entrada requeridos para obtener el estado siguiente deseado para
cada combinación estado/entrada.

Obtener las ecuaciones de excitación de la tabla de excitación.

Obtener las ecuaciones de salida de la tabla de transición/salida.

Dibujar un diagrama lógico que presente los elementos de almacenamiento de


variables de estado e implemente las ecuaciones de excitación y de salida
requeridas.

También podría gustarte