Вы находитесь на странице: 1из 28

Universidad

Rey Juan Carlos


Ingeniería de
Telecomunicación

Electrónica Digital II
Síntesis de circuitos secuenciales sí
síncronos:
Máquinas de estados finitos
Susana Borromeo López

Ingeniería de Telecomunicación

2009-2010 Máquinas de estados finitos 1

Sistemas secuenciales
En
Enlos
lossistemas
sistemassecuenciales
secuencialeslalasalida
salidaZZen
enun
undeterminado
determinadoinstante
instantede detiempo
tiempotiti
depende
dependede deXX(la
(laentrada)
entrada)en
enese
esemismo
mismoinstante
instantede
detiempo
tiempotitiyyen
entodos
todoslos
losinstantes
instantes
temporales anteriores. Para ello es necesario que el sistema disponga de elementos
temporales anteriores. Para ello es necesario que el sistema disponga de elementos
de
dememoria
memoriaque quelelepermitan
permitanrecordar
recordarlalasituación
situaciónenenque
quese encuentra((estado).
seencuentra estado).

X(t) Z(t) X(t): entrada actual


G,H Z(t): salida actual
S(t): estado actual
Realimentación S(t+1): estado próximo
S(t) memoria S(t+1)

Como un sistema secuencial es finito, tiene una capacidad de memoria finita


y un conjunto finito de estados posibles máquina finita de estados (FSM:
finite state machine)

2009-2010 Máquinas de estados finitos 2


Máquinas de estados finitos

X(t) X(t): entrada actual


G,H Z(t)
Z(t): salida actual
S(t): estado actual
S(t+1): estado próximo
S(t) MEMORIA S(t+1)

Las FSM constan de:

 Un conjunto de entradas X ∈ {X0,X1,...,Xl-1} Tipos de FSM:

 Un conjunto de salidas Z ∈ {Z0,Z1,...,Zm-1}  Mealy




 Un conjunto de estados S ∈ {S0,S1,...,Sn-1}  Moore




2009-2010 Máquinas de estados finitos 3

Máquinas de Mealy
En una máquina de Mealy:

 El estado siguiente depende de la entrada y del estado actual.

 La salida depende de la entrada y del estado actual.

X(t) Circuito Z(t)


Combinacional

S(t) S(t+1)

CLK

2009-2010 Máquinas de estados finitos 4


Máquinas de Moore
En una máquina de Moore:

 El estado siguiente depende de la entrada y del estado actual.

 La salida depende de exclusivamente del estado actual.

Toda máquina de Moore es un caso particular de una máquina de Mealy.

X(t) C. Combinacional
ESTADOS

S(t) S(t+1)

CLK

C. Combinacional
Z(t)
SALIDA

2009-2010 Máquinas de estados finitos 5

Metodología
1 Identificación de entradas y salidas

2 Diagrama de transición de estados

3 Comprobación y reducción del diagrama

4 Determinación del número de biestables

5 Asignación de estados

6 Tablas de transición de estados, salidas y excitación del autómata

7 Minimización de las funciones lógicas

8 Diseño del circuito

2009-2010 Máquinas de estados finitos 6


Ejemplo: Detector de secuencia 100
Diseñar un sistema secuencial con una entrada serie que detecte si los tres
últimos datos recibidos coinciden con la secuencia 100

1 Identificación de entradas y salidas


• Determinar las señales que entran y salen del circuito que se quiere diseñar
• El reloj y el reset deben ir siempre, y no se consideran
• En los sistemas de control, los sensores son entradas al circuito y los
actuadores son las salidas
Sensores
Sistema Sistema
Físico Actuadores Control
Ej: Detector 100
CLK Reset

X
Z
CLK
Reset

2009-2010 Máquinas de estados finitos 7

Ejemplo: Detector de secuencia 100 (MEALY)


2 Diagrama de transición de estados
• Comenzar por el estado de reposo o inicio (al encender el sistema)
• De cada estado deben salir 2E transiciones (E = nº de entradas)
• En los sistemas físicos se considera la señal de reloj mucho más rápida que
las señales de entrada
Ej: Detector 100
Mq. Mealy
a/p
1/0
inicio
Entrada X(t) / Salida Z(t) S0 S1
a/p
1/0 1/0
a/p
Estado Estado b/p
0/0
S(t) S(t+1) b/q
0/1 b/p
0/0

S10
S2

La salida asociada a la transición

2009-2010 Máquinas de estados finitos 8


Ejemplo: Detector de secuencia 100 (MEALY)
3 Comprobación y reducción del diagrama
• Para cada estado, comprobar las condiciones de tránsito:
 De cada estado deben salir 2E transiciones (E = nº de entradas), salvo
aquellas que sean imposibles
Todas las transiciones tiene que tener valores de entrada distintos
• Reducción del diagrama: Dos estados son iguales si a partir de ellos la
evolución es la misma:
 Ante una misma combinación de las entradas el sistema, se va a los
mismos estados y con las mismas salidas
En este caso, las condiciones de tránsito de llegada se unen

2009-2010 Máquinas de estados finitos 9

Ejemplo: Detector de secuencia 100


4 Determinación del número de biestables

N estados ⇒ n biestables tal que 2n ≥ N

Ejemplo (detector de secuencia 100): 3 estados ⇒ 2 biestales

5 Asignación de estados

• A cada estado se le asigna una combinación de valores de los biestables

Estado Q1 Q0
S0 0 0
S1 0 1
S10 1 0

2009-2010 Máquinas de estados finitos 10


Ejemplo: Detector de secuencia 100 (MEALY)
6 Tablas de transición de estados y salidas y excitación del autómata

Transición de estados: Salidas del circuito:


Ecuación de estado: Moore: Z(t) = g(S(t))
S(t + 1) = f(S(t), X(t)) Mealy: Z(t) = g(S(t), X(t))

Ej:
Ej: Detector
Detector 100
100
a/p
1/0
inicio
S0 S1
a/p
1/0
1/0
a/p
b/p
0/0
b/q
0/1 b/p
0/0

S10
S2

2009-2010 Máquinas de estados finitos 11

Ejemplo: Detector de secuencia 100 (MEALY)


6 Tablas de transición de estados y salidas y excitación del autómata

Transición de estados: Salidas del circuito:


Ecuación de estado: Moore: Z(t) = g(S(t))
S(t + 1) = f(S(t), X(t)) Mealy: Z(t) = g(S(t), X(t))

Q1 Q0 Entrada Q’1 Q’0 Salida


X Z Ej:
Ej: Detector
Detector 100
100
0 0 0 0 0 0
S0 inicio
a/p
1/0
0 0 1 0 1 0 S0 S1
a/p
1/0
0 1 0 1 0 0 1/0
a/p
S1
0 1 1 0 1 0 b/p
0/0
b/q
0/1 b/p
1 0 0 0 0 1 0/0
S10
1 0 1 0 1 0 S10
S2
1 1 X X X X

S(t) X(t) S(t+1) Z(t)


2009-2010 Máquinas de estados finitos 12
Ejemplo: Detector de secuencia 100 (MEALY)
6 Tablas de excitación del autómata

• Se construye a partir de la tabla de transición de estados.


• ¿Qué valor tiene que tomar el biestable para estando en el estado S(t)
pase al estado Q(t+1)?
• La implementación se puede hacer con biestables D, J-K,T, S-R.

Basándonos en las tablas de verdad de los biestables se obtienen los valores


que deben tomar las entradas para pasar del estado Q(t) al Q(t+1)

Tablas de verdad de los biestables:

S R Q(t+1) J K Q(t+1)
0 0 Q(t) 0 0 Q(t) D Q(t+1) T Q(t+1)
0 1 0 0 1 0 0 0 0 Q(t)
1 0 1 1 0 1 1 1 1 Q(t)
1 1 - 1 1 Q(t)

2009-2010 Máquinas de estados finitos 13

Ejemplo: Detector de secuencia 100 (MEALY)


6 Tablas de excitación del autómata
Basándonos en las tablas de verdad de los biestables se obtienen los valores
¿tablaQ(t)
que deben tomar las entradas de los biestables para pasar del estado para
al el resto
Q(t+1) de biestables?
Ej, para el S- R
Tabla de verdad S R S R
Tabla de verdad del S-R para la obtención Para pasar 0 → 0
Mantener el valor 0 0 0 X
del estado siguiente
S R Q(t+1) o poner un RESET 0 1
Obtengo la tabla
que me da lo que Q(t) Q(t+1) S R
0 0 Q(t) necesito en S y R
0 1 0 para obtener las 0 0 0 X Para pasar 0 → 1 : S R
transiciones de Q 0 1 1 0 poner SET 1 0
1 0 1
1 0 0 1 S R
Para pasar 1 → 0 :
1 1 - 1 1 X 0 poner un RESET 0 1
S R S R
Para pasar 1 → 1
Mantener el valor 0 0 X 0
o poner un SET 1 0
2009-2010 Máquinas de estados finitos 14
Ejemplo: Detector de secuencia 100 (MEALY)
6 Tablas de excitación del autómata

Para los demás biestables se hace de manera similar:

S R Q(t+1) Q(t) Q(t+1) S R D Q(t+1) Q(t) Q(t+1) D


0 0 Q(t) 0 0 0 X 0 0 0 0 0
0 1 0 0 1 1 0 1 1 0 1 1
1 0 1 1 0 0 1 1 0 0
1 1 - 1 1 X 0 1 1 1

J K Q(t+1) Q(t) Q(t+1) J K T Q(t+1) Q(t) Q(t+1) T


0 0 Q(t) 0 0 0 X 0 Q(t) 0 0 0
0 1 0 0 1 1 X 1 Q(t) 0 1 1
1 0 1 1 0 X 1 1 0 1
1 1 Q(t) 1 1 X 0 1 1 0

2009-2010 Máquinas de estados finitos 15

Ejemplo: Detector de secuencia 100 (MEALY)


6 Tablas de excitación del autómata

Se completa la tabla de transición de estados con los valores necesarios en las


entradas de los biestables para realizar la transición de estado Q(t) Q(t+1) J K
0 0 0 X
Ej.: biestables J-K
0 1 1 X
entradas en J-K para
S(t) S(t+1) pasar de S(t) a S(t+1) 1 0 X 1
1 1 X 0
Q1 Q0 Entrada Q’1 Q’0 Salida J’1 K’1 J’0 K’0
X Z Ej:
0 0 0 0 0 0 0 X 0 X Q0→Q'0 para esta transición se
0 0 1 0 1 0 0 X 1 X 0→0 necesita J0=0, K0=X
0 1 0 1 0 0 1 X X 1
0 1 1 0 1 0 0 X X 0
1 0 0 0 0 1 X 1 0 X
1 0 1 0 1 0 X 1 1 X
1 1 X X X X X X X X

2009-2010 Máquinas de estados finitos 16


Ejemplo: Detector de secuencia 100 (MEALY)
7 Minimización de las funciones lógicas

Se obtienen las ecuaciones lógicas de las J, K y las salidas (Z), en función del
estado actual (Q1 y Q0) y las entradas (X)
Para minimizarlas se emplean los mapas de Karnaugh

Ej, para J1
Q 1Q 0 X · Q0
Q1 Q0 Entrada J’1
X 00 01 11 10
0 0 0 0
0 0 1 X X
0 0 1 0 X
0 1 0 1 1 0 0 X X
0 1 1 0
1 0 0 X
1 0 1 X
J1 = X·Q0
1 1 X X

2009-2010 Máquinas de estados finitos 17

Ejemplo: Detector de secuencia 100 (MEALY)


7 Minimización de las funciones lógicas
De la misma manera se hace para las demás
entradas de los biestables (J, K) y la salida (X) Q 1Q 0
Z
Q1 Q0 Entrada Q’1 Q’0 Salida J’1 K’1 J’0 K’0 00 01 11 10
X Z
0 0 0 0 0 0 0 X 0 X
0 0 0 X 1 X·Q1
0 0 1 0 1 0 0 X 1 X X
0 1 0 1 0 0 1 X X 1
0 1 1 0 1 0 0 X X 0 1 0 0 X 0 Z = X·Q1
1 0 0 0 0 1 X 1 0 X
1 0 1 0 1 0 X 1 1 X
1 1 X X X X X X X X

Q 1Q 0 1 Q 1Q 0 X
K1 J0 Q 1Q 0 K0
00 01 11 10 00 01 11 10 00 01 11 10
0 X X X 1 0 0 X X 0 0 X 1 X X
X X X
1 X X X 1 1 1 X X 1 1 X 0 X X

K1 = 1 J0 = X X K0 = X
2009-2010 Máquinas de estados finitos 18
Ejemplo: Detector de secuencia 100 (MEALY)
8 Diseño del circuito (Implementación biestables J-K)
A partir de las
ecuaciones se puede
construir el circuito

J1 = X·Q0

K1 = 1 Z

J0 = X X J0 Q0 J1 Q1

K0 = X K0 '1'
K1

Z = X·Q1 CLK

La salida depende de la entrada

2009-2010 Máquinas de estados finitos 19

Ejemplo: Detector de secuencia 100 (MEALY)


Hacemos el mismo circuito pero con biestables D

6 Tablas de excitación del autómata (biestables D)

Q1 Q0 Entrada Q’1 Q’0 Salida D’1 D’0


X Z
0 0 0 0 0 0 0 0
0 0 1 0 1 0 0 1
0 1 0 1 0 0 1 0
0 1 1 0 1 0 0 1 D coincide con Q'
1 0 0 0 0 1 0 0
1 0 1 0 1 0 0 1
1 1 X X X X X X

2009-2010 Máquinas de estados finitos 20


Ejemplo: Detector de secuencia 100 (MEALY)
7 Minimización de las funciones lógicas (biestables D)
Q1 Q0 Entrada Q’1 Q’0 Salida D’1 D’0
X Z Para la salida no hace falta
Z Z = X·Q1
0 0 0 0 0 0 0 0 repetir porque la salida es igual
0 0 1 0 1 0 0 1
que para J-K (es igual en todos)
0 1 0 1 0 0 1 0
0 1 1 0 1 0 0 1
1 0 0 0 0 1 0 0
1 0 1 0 1 0 0 1
1 1 X X X X X X

Q 1Q 0 X·Q0 Q 1Q 0
D1 D0
00 01 11 10 00 01 11 10
0 0 1 X 0 0 0 0 X 0
X X
1 0 0 X 0 1 1 1 X 1

D1 = X·Q0 D0 = X X

2009-2010 Máquinas de estados finitos 21

Ejemplo: Detector de secuencia 100 (MEALY)


8 Diseño del circuito (Implementación biestables D)
A partir de las ecuaciones
se construye el circuito

D1 = X·Q0

D0 = X Z

Z = X·Q1 X D0 Q0 D1 Q1

La salida depende de
la entrada CLK

2009-2010 Máquinas de estados finitos 22


Máquinas de Moore
En una máquina de Moore:

 El estado siguiente depende de la entrada y del estado actual.

 La salida depende de exclusivamente del estado actual.

Toda máquina de Moore es un caso particular de una máquina de Mealy.

X(t) C. Combinacional
ESTADOS

S(t) S(t+1)

CLK

C. Combinacional
Z(t)
SALIDA

2009-2010 Máquinas de estados finitos 23

Ejemplo: Detector de secuencia 100 (MOORE)


2 Diagrama de transición de estados

Mq. Moore Ej: Detector 100

Entrada X(t) 1a
inicio a1
S0/p
S0/0 S1/0
S1/p
Estado S(t)/ Estado S(t+1)/ a1
Z(t) Z(t+1)
0b a1
0b b0

La salida asociada al estado


S100/0
S3/q b0 S2/p
S10/0

3 Comprobación y reducción del diagrama

2009-2010 Máquinas de estados finitos 24


Ejemplo: Detector de secuencia 100 (MOORE)
4 Determinación del número de biestables

N estados ⇒ n biestables tal que 2n ≥ N

Ejemplo (detector de secuencia 100): 4 estados ⇒ 2 biestales

5 Asignación de estados

• A cada estado se le asigna una combinación de valores de los biestables

Estado Q1 Q0
S0 0 0
S1 0 1
S10 1 0
S100 1 1

2009-2010 Máquinas de estados finitos 25

Ejemplo: Detector de secuencia 100 (MOORE)


6 Tablas de transición de estados y salidas y excitación del autómata

Transición de estados: ¿Tabla de excitación:


Salidas del circuito:
Ecuación de estado: Moore: D, J-K, S-R?
Z(t) = g(S(t))
S(t + 1) = f(S(t), X(t)) Mealy: Z(t) = g(S(t), X(t))

Q1 Q0 Entrada Q’1 Q’0 Salida


X Z Ej: Detector 100
0 0 0 0 0 0
S0
0 0 1 0 1 0 inicio 1a a1
S0/p
S0/0 S1/p
S1/0
0 1 0 1 0 0
S1 a1
0 1 1 0 1 0
1 0 0 1 1 0
0b a1 b0
S10 0b
1 0 1 0 1 0
1 1 0 0 0 1
S100 S3/q
S100/0 0b S2/p
S10/0
1 1 1 0 1 1

S(t) X(t) S(t+1) Z(t)


2009-2010 Máquinas de estados finitos 26
Ejemplo: Detector de secuencia 100 (MOORE)
6 Tablas de excitación del autómata

• Se construye a partir de la tabla de transición de estados.


• ¿Qué valor tiene que tomar el biestable para estando en el estado S(t)
pase al estado S(t+1)?
• La implementación se puede hacer con biestables D, J-K,T, S-R.

Q1 Q0 Entrada Q’1 Q’0 Salida J’1 K’1 J’0 K’0 D’1 D’0
X Z

0 0 0 0 0 0 0 X 0 X 0 0
0 0 1 0 1 0 0 X 1 X 0 1
0 1 0 1 0 0 1 X X 1 1 0
0 1 1 0 1 0 0 X X 0 0 1
1 0 0 1 1 0 X 0 1 X 1 1
1 0 1 0 1 0 X 1 1 X 0 1
1 1 0 0 0 1 X 1 X 1 0 0
1 1 1 0 1 1 X 1 X 0 0 1

2009-2010 Máquinas de estados finitos 27

Ejemplo: Detector de secuencia 100 (M00RE)


7 Minimización de las funciones lógicas

2009-2010 Máquinas de estados finitos 28


Ejemplo: Detector de secuencia 100 (MEALY)
8 Diseño del circuito (Implementación biestables J-K)

2009-2010 Máquinas de estados finitos 29

Ejemplo: Detector de secuencia 100 (M00RE)


8 Diseño del circuito (Implementación biestables D)

D0 = Q 1 ⋅ Q 0 + X 0
D1 = Q 1 ⋅ Q 0 ⋅ X 0 + Q 1 ⋅ Q 0 ⋅ X 0
D1 Z 0 (Q1 , Q 0 ) = Q 1 ⋅ Q 0

D0

2009-2010 Máquinas de estados finitos 30


Síntesis: Metodología
1 Identificación de entradas y salidas

2 Diagrama de transición de estados

3 Comprobación y reducción del diagrama

4 Determinación del número de biestables

5 Asignación de estados

6 Tablas de transición de estados y salidas y excitación del autómata

7 Minimización de las funciones lógicas

8 Diseño del circuito

2009-2010 Máquinas de estados finitos 31

Análisis de máquinas de estados finitos


I Identificación de entradas, estados y salidas

II Expresiones algebraicas

III Tabla de excitación del autómata

IV Tabla de transición de estados

V Diagrama de transición de estados

El proceso que hay que realizar es el inverso al de la síntesis.

Problema de “ingeniería inversa”

2009-2010 Máquinas de estados finitos 32


Análisis
Veremos los pasos del análisis a través de un ejemplo.

2009-2010 Máquinas de estados finitos 33

Análisis
I. Identificación de entradas, estados y salidas
Entradas: X ∈ {0,1}
Salidas: Z ∈ {0,1}
Variables de estado: 2 {Q0,Q1} darán lugar a 4 estados como máximo

II. Expresiones algebraicas

2009-2010 Máquinas de estados finitos 34


Análisis
II. Expresiones algebraicas

Q 0 ⋅ x0
1 Q1 ⋅ x 0

x0
x0
0

2009-2010 Máquinas de estados finitos 35

Análisis
II. Expresiones algebraicas J = X
0 0

K 0 = X0
J1 = X 0 ⋅ Q 0
Mq. de Mealy:
K1 = 1
Z= f (entrada, estado)
Z 0 = X 0 ⋅ Q1
III. Obtención de la
Q1 Q0 Entrada J1 K1 J0 K0
tabla de excitación del X
autómata ¿Cuál será el
0 0 0 0 1 1 0 estado siguiente
0 0 1 0 1 0 1 y la salida del
0 1 0 0 1 1 0 autómata?
0 1 1 1 1 0 1
1 0 0 0 1 1 0
1 0 1 0 1 0 1
1 1 0 0 1 1 0
1 1 1 1 1 0 1

2009-2010 Máquinas de estados finitos 36


Análisis
II. Expresiones algebraicas J = X
0 0

K 0 = X0
J1 = X 0 ⋅ Q 0
Mq. de Mealy:
K1 = 1
Z= f (entrada, estado)
Z 0 = X 0 ⋅ Q1
III. Obtención de la
tabla de excitación del Q1 Q0 Entrada J1 K1 J0 K0 Q’1 Q’0 Salida
X Z
autómata
0 0 0 0 1 1 0 0 1 0
0 0 1 0 1 0 1 0 0 0
0 1 0 0 1 1 0 0 1 0
0 1 1 1 1 0 1 1 0 0
1 0 0 0 1 1 0 0 1 0
1 0 1 0 1 0 1 0 0 1
1 1 0 0 1 1 0 0 1 0
1 1 1 1 1 0 1 0 0 1

2009-2010 Máquinas de estados finitos 37

Análisis Máquina de Mealy


IV. Obtención de la tabla de transición de estados y salida

X
Q’1Q’0 /Z
CODIFICACIÓN Q1 Q0 0 1
S0 0 0 01/0 00/0
S1 0 1 01/0 10/0
S2 1 0 01/0 00/1
S3 1 1 01/0 00/1

2009-2010 Máquinas de estados finitos 38


Análisis Máquina de Mealy
V. Obtención del diagrama de transición de estados

Pueden salir estados inconexos y/o inaccesibles.

1/0
b/p S3 0/0
a/p

inicio 0/0
a/p
S0 S1
a/p
0/0
a/p
0/0
b/p
1/0
b/q
1/1 b/p
1/0

S2

2009-2010 Máquinas de estados finitos 39

Análisis: otro ejemplo

2009-2010 Máquinas de estados finitos 40


Análisis
I. Identificación de entradas, estados y salidas
Entradas: X ∈ {0,1}
Salidas: Z ∈ {0,1}
Variables de estado: 2 {Q0,Q1} darán lugar a 4 estados como máximo

II. Expresiones algebraicas

2009-2010 Máquinas de estados finitos 41

Análisis

x 0 ⋅ Q 0 ⋅ Q1
Q1 ⋅ Q 0

1
x0 ⋅ Q 1 ⋅ Q 0

x0

Q 0 ⋅ Q1
0

2009-2010 Máquinas de estados finitos 42


Análisis
II. Expresiones algebraicas
Q 0 ' = D 0 = Q1 ⋅ Q 0 + X 0
Q1 ' = D1 = Q1 ⋅ Q 0 ⋅ X 0 + Q 1 ⋅ Q 0 ⋅ X 0
Z 0 = Q1 ⋅ Q 0
Mq. de Moore: Z= f (estado)

III. Obtención de la
Q1 Q0 Entrada D1 D0
tabla de excitación del X
autómata ¿Cuál será el
0 0 0 0 1 estado siguiente
0 0 1 0 0 y la salida del
0 1 0 0 1 autómata?
0 1 1 1 0
1 0 0 0 1
1 0 1 1 1
1 1 0 0 1
1 1 1 0 0

2009-2010 Máquinas de estados finitos 43

Análisis
II. Expresiones algebraicas
Q 0 ' = D 0 = Q1 ⋅ Q 0 + X 0
Q1 ' = D1 = Q1 ⋅ Q 0 ⋅ X 0 + Q 1 ⋅ Q 0 ⋅ X 0
Z 0 = Q1 ⋅ Q 0
Mq. de Moore: Z= f (estado)

III. Obtención de la
tabla de excitación del Q1 Q0 Entrada D1 D0 Q’1 Q’0 Salida
X Z
autómata
0 0 0 0 1 0 1 0
0 0 1 0 0 0 0 0
0 1 0 0 1 0 1 0
0 1 1 1 0 1 0 0
1 0 0 0 1 0 1 0
1 0 1 1 1 1 1 0
1 1 0 0 1 0 1 1
1 1 1 0 0 0 0 1

2009-2010 Máquinas de estados finitos 44


Análisis
IV. Obtención de la tabla de transición de estados y salida

X
Q’1Q’0 Q’1Q’0
CODIFICACIÓN Q1 Q0 0 1 Z
S0 0 0 01 00 0
S1 0 1 01 10 0
S2 1 0 01 11 0
S3 1 1 01 00 1

2009-2010 Máquinas de estados finitos 45

Análisis
V. Obtención del diagrama de transición de estados

inicio 0a a0
S0/p
S0/0 S1/p
S1/0
0a
1b a0
1b b1

S3/q
S3/1 b
1 S2/p
S2/0

2009-2010 Máquinas de estados finitos 46


Implementació
Implementación de má
máquinas secuenciales sí
síncronas

Implementación de forma canónica: tablas, biestables y puertas 


 Implementación desde otros enfoques hardware: multiplexores, registros,
etc…

 Implementación de autónomas con los estados codificados con el código
one-hot (One Hot Encoding)
 Implementación utilizando técnicas ASM ( Algoritmic State Machine) y RT
( Transferencia entre Registros)
 Implementación con dispositivos lógicos programables: PLD, CPLD,
FPGAs


2009-2010 Máquinas de estados finitos 47

Máquinas secuenciales sí
síncronas: consideraciones
 Moore vs. Mealy:
• En Moore la salida no depende de la entrada, es decir los cambios en la
entrada que no alteren el estado no pueden alterar el valor de la salida ⇒
Protección contra señales espurias
• En una máquina de Moore la respuesta de la salida de retarda hasta en
un periodo de reloj
“Clock Skew”: la señal de reloj no llega a la vez a los distintos
componentes:
CLK CLK1
• Longitud del bus
• Líneas no “equilibradas” CLK2

• “Crosstalk”
CLK3
• Rutado automático de las herramientas CAD

2009-2010 Máquinas de estados finitos 48


Máquinas secuenciales sí
síncronas: entradas así
asíncronas
En los sistemas reales las entradas son ASÍNCRONAS, no se encuentran
sincronizadas con un reloj ⇒ sistemas secuenciales asíncronos. Existen
técnicas de análisis y diseño específicas para los sistemas secuenciales
asíncronos, aunque lo más usual es “sincronizarlos”:
1. Se introduce un reloj a una frecuencia suficiente para muestrear las
entradas.
2. Se “bloquean” las entradas asíncronas mediante la interposición de un
biestable D síncrono por flanco.

Entrada SET Entrada


asíncrona D Q sincronizada
¿Qué ocurre si se produce
Máquina metaestabilidad?
secuencial
CLR
Q
Reloj Reloj

2009-2010 Máquinas de estados finitos 49

Máquinas secuenciales sí
síncronas: entradas así
asíncronas
Las entradas asíncronas pueden no respetar los parámetros de temporización
del biestable y hacer que quede en estado metaestable.

Si se supone que la metaestabiliad dura menos que un periodo de reloj, se


puede interponer un biestable más para evitar que el sistema se vea afectado
(si no, será preciso interponer varios).

Entrada SET SET


Entrada sincronizada Entrada sincronizada
asíncrona D Q quizá metaestable
D Q no metaestable

Máquina
secuencial
CLR
Q CLR
Q
Reloj Reloj

2009-2010 Máquinas de estados finitos 50


Aspectos tecnoló
tecnológicos
 Señal de reloj: Cristal de cuarzo

 Alta estabilidad
 Facilidad de diseño
 Alto coste (aprox 1 €).
 Consumo alto

2009-2010 Máquinas de estados finitos 51

Aspectos tecnoló
tecnológicos
 Señal de reloj: Resonador cerámico

 Estabilidad media
 Facilidad de diseño
 Consumo alto

2009-2010 Máquinas de estados finitos 52


Aspectos tecnoló
tecnológicos
 Señal de reloj: Oscilador RC

 Bajo coste Circuitos RC (para f < 600KHz)


 Pocos componentes y espacio
en placa
 Difícil de diseñar y ajustar
 Poco estable a la temperatura y
f≈ 1
(1,4RC)
variaciones de voltaje
 No adecuado para aplicaciones
con temporización fuerte

f≈ 1
(1,4RC)

2009-2010 Máquinas de estados finitos 53

Aspectos tecnoló
tecnológicos

 Circuito de reset ( power-on-reset)

CMOS: R= 27 KΩ, C= 100 nF


TTL : R= 1 KΩ, C= 220 pF R

Pulsador de
Reset

Diodo para descargar


rápidamente C en caso
de fallo de alimentación
para producir un reset

2009-2010 Máquinas de estados finitos 54


Aspectos tecnoló
tecnológicos

 Tensión de alimentación
Regulador lineal
Reguladores de tensión de 3.3V, 5V, 12V y 15V
(Más usual 7805 de 5V).

 Circuitos antirrobotes

2009-2010 Máquinas de estados finitos 55