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

11-Mquinas Sincrnicas

11.1 Diseos de mquinas sincrnicas


11.2 Anlisis de mquinas sincrnicas

11: Mquinas Sincrnicas

Diseo de mquinas sincrnicas: analtico

El diseo de maquinas sincrnicas analtico


requiere lo siguiente
1. Entender el problema, elegir modelo (Mealy o
Moore) y generacin de diagrama de estados.
2. Minimizar el nmero de estados.
3. Elegir codificacin y generar tabla de
transicin de estados (i.e. matriz de
transiciones).
4. Usando el teorema de expansin se expande
para que la forma de las ecuaciones del
output y los estados sea el mismo que las
ecuaciones caractersticas de los FFs a usar
5. Comparando coeficientes se obtiene el
programa de los FFs
11: Mquinas Sincrnicas

Ejemplo de diseo analtico

De la matriz de transiciones (Mealy):

z = Q1 x'

Q1+ = Q0 x

Q0+ = x
Dada que la ecuaciones caractersticas de los FFs JK son:

Q1+ = J1Q1' + K1'Q1

Q0+ = J0Q0' + K0'Q0


Usando teorema de expansin:

z = Q1 x'

Q1+ = Q0 x = Q0xQ1' + Q0xQ1 (se expande en Q1)

Q0+ = x = xQ0' + xQ0 (se expande en Q0)


Comparando coeficientes:

J1 = Q0x; K1 = Q0' + x'; J0 = x; K0 = x'


11: Mquinas Sincrnicas

Diseo de mquinas sincrnicas: tabular

El diseo de mquinas sincrnicas tabular requiere lo


siguiente
1. Entender el problema, elegir modelo (Mealy o
Moore) y generacin de diagrama de estados.
2. Minimizar el nmero de estados.
3. Elegir codificacin y generar tabla de transicin de
estados (i.e. matriz de transiciones).
4. Usando tabla de transicin y tabla de excitacin de
los distintos FFs generar el matriz de control
5. Con la matriz de control determinar la lgica
combinacional de los estados e inputs actales
(e.g. usando Mapa de Karnaugh). Esto tambin se
denomina el programa.

11: Mquinas Sincrnicas

Ejemplo de diseo tabular

Entrega bebida despus que 150 pesos son depositados

Acepta diferentes monedas 50 (N), 100 (D)

No entrega cambio

Comienza a funcionar solo despus del reset

En la ranura de monedas solo cabe una moneda la vez


(el input puede ser N o D no ambos)
Reset

N
Coin
Sensor

Vending
Machine
FSM

Open

Release
Mechanism

Clock
11: Mquinas Sincrnicas

Ejemplo de diseo tabular (cont)


Representacin abstracta (Moore)
listar secuencias tpicas:

tres de cincuenta
cincuenta, cien
cien, cincuenta
dos de cien

S0
N

dibujar diagrama de estados:

asumir:

S1

inputs: N, D, reset
output: dar bebida (OPEN)

Reset

N
S3

S7
ciclo [open]

N y D seteadas por un
cada estado tiene un auto estado

S2
D

S4
[open]

S5
[open]

D
S6
[open]

D
S8
[open]

para N = D = 0 (no hay moneda)


11: Mquinas Sincrnicas

Ejemplo de diseo tabular (cont)


Minimizar nmero de estados reusar

estados si es posible

present
state
0

Reset

0
N
50
N
D

50

D
100

100
N+D
150
[open]

150

inputs
D
N
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1

next
state
0
50
100

50
100
150

100
150
150

150

output
open
0
0
0

0
0
0

0
0
0

tabla de estados simblica

11: Mquinas Sincrnicas

Ejemplo de diseo tabular (cont)


Codificar estados (binaria)
present state inputs
Q1 Q0
D
N
0 0
0
0
0
1
1
0
1
1
0 1
0
0
0
1
1
0
1
1
1 0
0
0
0
1
1
0
1
1
1 1

next state
Q1+Q0+
0 0
0 1
1 0

0 1
1 0
1 1

1 0
1 1
1 1

1 1

output
open
0
0
0

0
0
0

0
0
0

Seleccionando un FF de la tabla de excitacin:

11: Mquinas Sincrnicas

Ejemplo de diseo tabular (cont)


Q0

Mapear la lgica
Q1

D1

0 0 1 1
0 1 1 1
D

X X 1 X
1 1 1 1
Q0

Q1

D0

Q1
Open
0 0 1 0

0 1 1 0
1 0 1 1

N
D

X X 1 X

0 0 1 0

0 1 1 1

X X 1 X

0 0 1 0

Q0

Q0

Q1

D1 = Q1 + D + Q0 N
D0 = Q0 N + Q0 N + Q1 N + Q1 D
Q0

OPEN = Q1 Q0

11: Mquinas Sincrnicas

Ejemplo de diseo tabular (cont)


Otra codificacin (1 encendido) y mapeando a D

FFs:

present state
Q3 Q2 Q1 Q0
0 0 0 1

0 0

0 1

1 0

inputs
D N
0 0
0 1
1 0
1 1
0 0
0 1
1 0
1 1
0 0
0 1
1 0
1 1
-

next state output


Q3+Q2+Q1+Q0+
0 0
0
1
0 0
1
0
0 1
0
0
- - 0 0
1
0
0 1
0
0
1 0
0
0
- - 0 1
0
0
1 0
0
0
1 0
0
0
- - 1 0
0
0

open
0
0
0

D0 = Q0 D N

0
0
0

D2 = Q0 D + Q1 N + Q2 D N

0
0
0

D1 = Q0 N + Q1 D N

D3 = Q1 D + Q2 D + Q2 N + Q3
OPEN = Q3

11: Mquinas Sincrnicas

10

Diagramas de Estados de Mealy y


Moore
Moore

Mealy

outputs asociados con


estados
N D + Reset

Reset

0
[0]

outputs asociados con


transiciones

N D

N
D

50
[0]

100
[0]

N D

D/0

50

N D/0

100

N D/0

150

Reset/1

N/0
N D

N+D
150
[1]

N D/0

N/0

N
D

(N D + Reset)/0

Reset/0

D/1
N+D/1

Reset

11: Mquinas Sincrnicas

11

Ejemplo: Implementacin Mealy


Reset/0

Reset/0

present stateinputs
Q1 Q0
D N
0 0
0
0
0
1
1
0
1
1
0 1
0
0
0
1
1
0
1
1
1 0
0
0
0
1
1
0
1
1
1 1

N D/0

N/0
D/0

50

N D/0

100

N D/0

150

Reset/1

N/0
D/1
N+D/1

Q1
Open
0 0 1 0
0 0 1 1
D

X X 1 X
0 1 1 1
Q0

D0
D1
OPEN

next state output


Q1+ Q0+ open
0
0
0
0
1
0
1
0
0

0
1
0
1
0
0
1
1
1

1
0
0
1
1
1
1
1
1

1
1
1

= Q0N + Q0N + Q1N + Q1D


= Q1 + D + Q0N
= Q1Q0 + Q1N + Q1D + Q0D
11: Mquinas Sincrnicas

12

Ejemplo: Implementacin Mealy


(cont)
D0
= Q0N + Q0N + Q1N + Q1D
D1
= Q1 + D + Q0N
OPEN = Q1Q0 + Q1N + Q1D + Q0D
hay que asegurar que OPEN es 0
cuando hay reset con compuerta AND

11: Mquinas Sincrnicas

13

Actividad: Diseo

Una mquina de estados tiene dos inputs (X1, X2) y un output


(Z)
1. Disee el diagrama de estados para la mquina dada las
siguientes especificaciones. El output se mantiene constante:

Un reset enva a la mquina al estado S0 con output 0

Secuencia de input X1X2=00, 11 causa que output se


convierta en 0

Secuencia de input X1X2=01, 11 causa que output se


convierta en 1

Secuencia de input X1X2=10,11 causa que el output se


invierta

2. Implementar y minimizar la mquina de estados


3. Generar tabla de transicin y lgica combinacional usando
J-K FFs (Q+ = JQ + KQ)

11: Mquinas Sincrnicas

14

Actividad: Diseo

Sistema solo tiene que recordar 2 bits de


secuencia, esto da cuatro estados
S0: Estado inicial out = 0

S2: Posible cambio a out = 0

S1: Posible cambio a out = 1

S2: out = 1
11: Mquinas Sincrnicas

15

Actividad: Diseo

Una mquina de estados tiene un input (X1) y


un output (Z)
1. Disee el diagrama de estados para la mquina dada
las
siguientes especificaciones.

Un reset enva a la mquina al estado S0 (sin output


en Z)

El output de Z es 1 solo si el numero total de 1s


recibidos es divisible por 3 (e.g. 0, 3, 6, ....)
2. Implementar y minimizar la mquina de estados
3. Generar tabla de transicin y lgica combinacional
usando
D FFs (Q+ = D)
11: Mquinas Sincrnicas

16

Actividad: Diseo

Este sistema se puede implementar en cuatro


estados usando Mealy

11: Mquinas Sincrnicas

17

11-Maquinas Sincrnicas
11.1 Diseos de mquinas sincrnicas
11.2 Anlisis de mquinas sincrnicas

11: Mquinas Sincrnicas

18

Anlisis de maquinas sincrnicas:


analtico

El anlisis analtico de mquinas sincrnicas


requiere lo siguiente.
1. Determinar la funcin lgica combinacional
usada para programar los FFs.
2. Remplazar estas ecuaciones de los programas
de los FFs en las ecuaciones caractersticas de
los FFs.
3. De estas nuevas ecuaciones se obtiene la
matriz de transicin y el mapa de estados.

11: Mquinas Sincrnicas

19

Ejemplo analtico
1.

Determinar la funcin lgica combinacional usada


para programar los FFs.

2.

Remplazar estas ecuaciones de los programas de


los FFs en las ecuaciones caractersticas de los
FFs

3.

De esta expresin se obtiene la matriz de


transicin y el mapa de estados 11: Mquinas Sincrnicas

20

Anlisis de maquinas sincrnicas:


tabular

El anlisis tabular de mquinas sincrnicas


requiere lo siguiente
1. Determinar la funcin lgica combinacional
usada para programar los FFs.
2. Determinar los outputs de los FFs usando los
posibles estados e inputs (matriz de
programacin)
3. Generar tabla de transicin de estados usando
el programa y las tablas caractersticas de los
FFs.
4. Generacin de diagrama de estados.

11: Mquinas Sincrnicas

21

Ejemplo de anlisis
Se tiene una mquina secuencial de una

entrada (X) y una salida (Z) en la cual el reset


nos lleva al estado inicial (000).
Reset

1. Determinar el programa de los FFs:


X

JA = BC + Bx

; KA = B

JB = AB + BC

; KB = B

JC = Ax

; KC = B + x

Z = xCB

FSM

Clock

11: Mquinas Sincrnicas

22

Ejemplo de anlisis (cont)


2. Generar matrices de programacin
JA = BC +
Bx
KA = B x

JB = AB + BC
KB = B

JC = Ax
KC = Bx + x

x
1

ABC

000 00

00

000 01

10

10

001 10

10

001 01

10

010 01

01

010 01

01

010 01

11

011 01

01

011 01

01

011 01

11

100 10

00

100 10

10

100 01

00

101 10

10

101 10

10

101 01

00

110 10

10

110 01

01

110 01

01

111 01

01

111 01

01

111 01

01

ABC

ABC

000 10

00

001 10

JAKA JAKA

JBKB JBKB

JCKC JCKC
11: Mquinas Sincrnicas

23

Ejemplo de anlisis (cont)


3. Generar tabla de transicin de estados
Ej: Para calcular A+ cuando ABC = 000, x=0 usar matriz de
programacin:
(JA, KA) = (1,0), de tabla caracterstica de FF:(JA,KA) = (1,0)-> Q+ = 1
x

x
ABC

000 10

00

001 10

10

010 01

01

011 01

01

100 10

00

101 10

10

110 10

10

111 01

01

JAKA JAKA

J K
0 0
0 1
1 0
1 1

Q(k+1)
Q(k)
0
1
Q(k)

ABC

000 100/0 001/0


001 110/0 111/0
010 000/0 001/0
011 000/0 000/1
100 110/0 110/0

4.

101 110/0 111/0


110 000/0 000/0
111 000/0 000/1
A+B+C+/z
11: Mquinas Sincrnicas

24

Ejemplo de anlisis (cont)


4. Asignar una cifra decimal al valor de los estados
(ABC) y genera el diagrama de estado de la tabla
x
ABC

4/0

1/0

6/0

7/0

0/0

1/0

0/0

0/1

6/0

6/0

6/0

7/0

0/0

0/0

0/0

0/1

A+B+C+/z

3 0/0

0/0

1/1

0/0

1/0
1/0

4
-/0

-/0

1/0

0/0

1/1
0/0

1/0
1/0

11: Mquinas Sincrnicas

25

Вам также может понравиться