elo211: sistemas digitales tomás arredondo vidal 1er...

26
ELO211: Sistemas Digitales Tomás Arredondo Vidal 1er Semestre – 2008 Este material está basado en: textos y material de apoyo: Contemporary Logic Design 1 st / 2 nd edition. Gaetano Borriello and Randy Katz. Prentice Hall, 1994, 2005 material del curso ELO211 del Prof. Leopoldo Silva material en el sitio http://es.wikipedia.org 11: Maquinas Sincrónicas 1

Upload: phamkiet

Post on 28-Sep-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ELO211: Sistemas Digitales Tomás Arredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/11... · de estados (i.e. matriz de transiciones). 4. Usando tabla

ELO211: Sistemas Digitales

Tomás Arredondo Vidal1er Semestre – 2008

Este material está basado en:

textos y material de apoyo: Contemporary Logic Design 1st / 2nd edition. Gaetano Borriello and Randy Katz. Prentice Hall, 1994, 2005

material del curso ELO211 del Prof. Leopoldo Silvamaterial en el sitio http://es.wikipedia.org

11: Maquinas Sincrónicas 1

Page 2: ELO211: Sistemas Digitales Tomás Arredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/11... · de estados (i.e. matriz de transiciones). 4. Usando tabla

11-Maquinas Sincrónicas

11.1 Diseños de maquinas sincrónicas11.2 Análisis de maquinas sincrónicas

11: Maquinas Sincrónicas 2

Page 3: ELO211: Sistemas Digitales Tomás Arredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/11... · de estados (i.e. matriz de transiciones). 4. Usando tabla

Diseño de maquinas sincrónicas: analítico

El diseño de maquinas sincrónicas analítico requiere lo siguiente

1. Entender el problema, elegir modelo (Mealy o Moore) y generación de diagrama de estados.

2. Minimizar el numero de estados. 3. Elegir codificación y generar tabla de transición

de estados (i.e. matriz de transiciones).4. Usando el teorema de expansión se expande para

que la forma de las ecuaciones del output y los estados sea el mismo que las ecuaciones características de los FFs a usar

5. Comparando coeficientes se obtiene el programa de los FFs

11: Maquinas Sincrónicas 3

Page 4: ELO211: Sistemas Digitales Tomás Arredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/11... · de estados (i.e. matriz de transiciones). 4. Usando tabla

Ejemplo de diseño analítico

De la matriz de transiciones (Mealy):z = Q1 x' Q1+ = Q0 x Q0+ = x

Dada que la ecuaciones caracteristicas de los FFs JK son:Q1+ = J1Q1' + K1'Q1 Q0+ = J0Q0' + K0'Q0

Usando teorema de expansión: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: Maquinas Sincrónicas 4

Page 5: ELO211: Sistemas Digitales Tomás Arredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/11... · de estados (i.e. matriz de transiciones). 4. Usando tabla

Diseño de maquinas sincrónicas: tabular

El diseño de maquinas sincrónicas tabular requiere lo siguiente

1. Entender el problema, elegir modelo (Mealy o Moore) y generación de diagrama de estados.

2. Minimizar el numero de estados. 3. Elegir codificación y generar tabla de transición

de estados (i.e. matriz de transiciones).4. Usando tabla de transición y tabla de excitación

de los distintos FFs generar el matriz de control 5. Con la matriz de control determinar la lógica

combinacional de los estados e inputs actúales (e.g. usando Mapa de Karnaugh). Esto también se denomina el “programa.

11: Maquinas Sincrónicas 5

Page 6: ELO211: Sistemas Digitales Tomás Arredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/11... · de estados (i.e. matriz de transiciones). 4. Usando tabla

Ejemplo de diseño tabularEntrega bebida después que 150 pesos son depositadosAcepta diferentes monedas 50 (N), 100 (D)No entrega cambioComienza a funcionar solo después del reset En la ranura de monedas solo cabe una moneda la vez (el input puede ser N o D no ambos)

VendingMachine

FSM

N

D

Reset

Clock

OpenCoinSensor

ReleaseMechanism

11: Maquinas Sincrónicas 6

Page 7: ELO211: Sistemas Digitales Tomás Arredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/11... · de estados (i.e. matriz de transiciones). 4. Usando tabla

Ejemplo de diseño tabular (cont)

Representación abstracta (Moore)listar secuencias típicas:

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

dibujar diagrama de estados:• inputs: N, D, reset• output: dar bebida (OPEN)

asumir:• N y D seteadas por un ciclo• cada estado tiene un auto estado

para N = D = 0 (no hay moneda)

S0

Reset

S2

D

S6[open]

D

S4[open]

D

S1

N

S3

N

S5[open]

N

S8[open]

D

S7[open]

N

11: Maquinas Sincrónicas 7

Page 8: ELO211: Sistemas Digitales Tomás Arredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/11... · de estados (i.e. matriz de transiciones). 4. Usando tabla

Ejemplo de diseño tabular (cont)Minimizar numero de estados – reusar estados si es posible

tabla de estados simbólica

present inputs next outputstate D N state open0 0 0 0 0

0 1 50 01 0 100 01 1 – –

50 0 0 50 00 1 100 01 0 150 01 1 – –

100 0 0 100 00 1 150 01 0 150 01 1 – –

150 – – 150 1

0

Reset

50

N

N

N + D

100

D

150[open]

D

11: Maquinas Sincrónicas 8

Page 9: ELO211: Sistemas Digitales Tomás Arredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/11... · de estados (i.e. matriz de transiciones). 4. Usando tabla

Ejemplo de diseño tabular (cont)Codificar estados (binaria)

Seleccionando un FF de la tabla de excitación:

present state inputs next state outputQ1 Q0 D N Q1+Q0+ open0 0 0 0 0 0 0

0 1 0 1 01 0 1 0 01 1 – – –

0 1 0 0 0 1 00 1 1 0 01 0 1 1 01 1 – – –

1 0 0 0 1 0 00 1 1 1 01 0 1 1 01 1 – – –

1 1 – – 1 1 1

11: Maquinas Sincrónicas 9

Page 10: ELO211: Sistemas Digitales Tomás Arredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/11... · de estados (i.e. matriz de transiciones). 4. Usando tabla

Ejemplo de diseño tabular (cont)

D1 = Q1 + D + Q0 N

D0 = Q0’ N + Q0 N’ + Q1 N + Q1 D

OPEN = Q1 Q0

Mapear la lógica0 0 1 1

0 1 1 1

X X 1 X

1 1 1 1

Q1D1

Q0

ND

0 1 1 0

1 0 1 1

X X 1 X

0 1 1 1

Q1D0

Q0

ND

0 0 1 0

0 0 1 0

X X 1 X

0 0 1 0

Q1Open

Q0

ND

Q1

Q0

Q0

11: Maquinas Sincrónicas 10

Page 11: ELO211: Sistemas Digitales Tomás Arredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/11... · de estados (i.e. matriz de transiciones). 4. Usando tabla

Ejemplo de diseño tabular (cont)

Otra codificación (1 encendido) y mapeando a D FFs:

present state inputs next state outputQ3 Q2 Q1 Q0 D N Q3+Q2+Q1+Q0+ open0 0 0 1 0 0 0 0 0 1 0

0 1 0 0 1 0 01 0 0 1 0 0 01 1 - - - - -

0 0 1 0 0 0 0 0 1 0 00 1 0 1 0 0 0 1 0 1 0 0 0 01 1 - - - - -

0 1 0 0 0 0 0 1 0 0 00 1 1 0 0 0 01 0 1 0 0 0 01 1 - - - - -

1 0 0 0 - - 1 0 0 0 1

D0 = Q0 D’ N’

D1 = Q0 N + Q1 D’ N’

D2 = Q0 D + Q1 N + Q2 D’ N’

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

OPEN = Q3

11: Maquinas Sincrónicas 11

Page 12: ELO211: Sistemas Digitales Tomás Arredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/11... · de estados (i.e. matriz de transiciones). 4. Usando tabla

Diagramas de Estados de Mealy y MooreMoore

outputs asociados con estados

Mealyoutputs asociados con transiciones

0[0]

100[0]

50[0]

150[1]

N’ D’ + Reset

D

D

N

N+D

N

N’ D’

Reset’

N’ D’

N’ D’

Reset

11: Maquinas Sincrónicas 12

0

100

50

150

(N’ D’ + Reset)/0

D/0

D/1

N/0

N+D/1

N/0

N’ D’/0

Reset’/1

N’ D’/0

N’ D’/0

Reset/0

Page 13: ELO211: Sistemas Digitales Tomás Arredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/11... · de estados (i.e. matriz de transiciones). 4. Usando tabla

Ejemplo: Implementación Mealy

11: Maquinas Sincrónicas 13

0

100

50

150

Reset/0

D/0

D/1

N/0

N+D/1

N/0

N’ D’/0

Reset’/1

N’ D’/0

N’ D’/0

Reset/0present state inputs next state output

Q1 Q0 D N Q1+ Q0+ open0 0 0 0 0 0 0

0 1 0 1 01 0 1 0 01 1 – – –

0 1 0 0 0 1 00 1 1 0 01 0 1 1 11 1 – – –

1 0 0 0 1 0 00 1 1 1 11 0 1 1 11 1 – – –

1 1 – – 1 1 1

D0 = Q0’N + Q0N’ + Q1N + Q1DD1 = Q1 + D + Q0NOPEN = Q1Q0 + Q1N + Q1D + Q0D

0 0 1 0

0 0 1 1

X X 1 X

0 1 1 1

Q1Open

Q0

ND

Page 14: ELO211: Sistemas Digitales Tomás Arredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/11... · de estados (i.e. matriz de transiciones). 4. Usando tabla

Ejemplo: Implementación Mealy (cont)

D0 = Q0’N + Q0N’ + Q1N + Q1DD1 = Q1 + D + Q0NOPEN = Q1Q0 + Q1N + Q1D + Q0D

hay que asegurar que OPEN es 0 cuando hay reset – con compuerta AND

11: Maquinas Sincrónicas 14

Page 15: ELO211: Sistemas Digitales Tomás Arredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/11... · de estados (i.e. matriz de transiciones). 4. Usando tabla

Actividad: DiseñoUna maquina de estados tiene dos inputs (X1, X2) y un output (Z)

11: Maquinas Sincrónicas 15

1. Diseñe el diagrama de estados para la maquina dada las siguientes especificaciones. El output se mantiene constante:

Un reset envía a la maquina al estado S0 con output 0Secuencia de input X1X2=00, 11 causa que output se convierta en 0Secuencia de input X1X2=01, 11 causa que output se convierta en 1Secuencia de input X1X2=10,11 causa que el output se invierta

2. Implementar y minimizar la maquina de estados3. Generar tabla de transición y lógica combinacional usando J-K FFs (Q+ = JQ’ + K’Q)

Page 16: ELO211: Sistemas Digitales Tomás Arredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/11... · de estados (i.e. matriz de transiciones). 4. Usando tabla

Actividad: Diseño

11: Maquinas Sincrónicas 16

Sistema solo tiene que recordar 2 bits de secuencia, esto da cuatro estados

S0: Estado inicial out = 0

S1: Posible cambio a out = 1 S2: out = 1

S2: Posible cambio a out = 0

Page 17: ELO211: Sistemas Digitales Tomás Arredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/11... · de estados (i.e. matriz de transiciones). 4. Usando tabla

Actividad: DiseñoUna maquina de estados tiene un input (X1) y un output (Z)1. Diseñe el diagrama de estados para la maquina dada las siguientes especificaciones.

Un reset envía a la maquina 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 maquina de estados3. Generar tabla de transición y lógica combinacional usando D FFs (Q+ = D)

11: Maquinas Sincrónicas 17

Page 18: ELO211: Sistemas Digitales Tomás Arredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/11... · de estados (i.e. matriz de transiciones). 4. Usando tabla

Actividad: Diseño

11: Maquinas Sincrónicas 18

Este sistema se puede implementar en cuatro estados usando Mealy

Page 19: ELO211: Sistemas Digitales Tomás Arredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/11... · de estados (i.e. matriz de transiciones). 4. Usando tabla

11-Maquinas Sincrónicas

11.1 Diseños de maquinas sincrónicas11.2 Análisis de maquinas sincrónicas

11: Maquinas Sincrónicas 19

Page 20: ELO211: Sistemas Digitales Tomás Arredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/11... · de estados (i.e. matriz de transiciones). 4. Usando tabla

Análisis de maquinas sincrónicas: analítico

El análisis analítico ☺ de maquinas sincrónicas requiere lo siguiente

1. Determinar la función lógica combinacional usada para programar los FFs.

2. Remplazar estas ecuaciones de los programas de los FFs en las ecuaciones características de los FFs

3. De estas nuevas ecuaciones se obtiene la matriz de transición y el mapa de estados

11: Maquinas Sincrónicas 20

Page 21: ELO211: Sistemas Digitales Tomás Arredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/11... · de estados (i.e. matriz de transiciones). 4. Usando tabla

Ejemplo analítico1. Determinar la función lógica combinacional usada para

programar los FFs.

2. Remplazar estas ecuaciones de los programas de los FFs en las ecuaciones características de los FFs

3. De esta expresión se obtiene la matriz de transición y el mapa de estados

11: Maquinas Sincrónicas 21

Page 22: ELO211: Sistemas Digitales Tomás Arredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/11... · de estados (i.e. matriz de transiciones). 4. Usando tabla

Análisis de maquinas sincrónicas: tabular

El análisis tabular de maquinas sincrónicas requiere lo siguiente

1. Determinar la función lógica combinacional usada para programar los FFs.

2. Determinar los outputs de los FFs usando los posibles estados e inputs (matriz de programación)

3. Generar tabla de transición de estados usando el programa y las tablas características de los FFs.

4. Generación de diagrama de estados.

11: Maquinas Sincrónicas 22

Page 23: ELO211: Sistemas Digitales Tomás Arredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/11... · de estados (i.e. matriz de transiciones). 4. Usando tabla

Ejemplo de análisis

FSMX

Reset

Clock

Z

Se tiene una maquina secuencial de una entrada (X) y una salida (Z) en la cual el reset nos lleva al estado inicial (000).

1. Determinar el programa de los FFs:

JA = B’C + B’x’ ; KA = BJB = AB’ + B’C ; KB = BJC = A’x ; KC = B + x’Z = xCB

11: Maquinas Sincrónicas 23

Page 24: ELO211: Sistemas Digitales Tomás Arredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/11... · de estados (i.e. matriz de transiciones). 4. Usando tabla

Ejemplo de análisis (cont)

2. Generar matrices de programaciónJB = AB’ + B’CKB = B

JC = A’x

KC = B + x’

JA = B’C + B’x’

KA = Bx

ABC 0 1

000 10 00 001 10 10

010 01 01

011 01 01100 10 00

101 10 10

110 10 10111 01 01

JAKA JAKA 11: Maquinas Sincrónicas 24

x

ABC 0 1

000 01 10 001 01 10

010 01 11

011 01 11100 01 00

101 01 00

110 01 01111 01 01

JCKC JCKC

x

ABC 0 1

000 00 00 001 10 10

010 01 01

011 01 01100 10 10

101 10 10

110 01 01111 01 01

JBKB JBKB

Page 25: ELO211: Sistemas Digitales Tomás Arredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/11... · de estados (i.e. matriz de transiciones). 4. Usando tabla

Ejemplo de análisis (cont)

11: Maquinas Sincrónicas 25

3. Generar tabla de transición de estadosEj: Para calcular A+ cuando ABC = 000, x=0 usar matriz de programación: (JA, KA) = (1,0), de tabla característica de FF:(JA,KA) = (1,0)-> Q+ = 1

xABC 0 1

000 100/0 001/0

001 110/0 111/0010 000/0 001/0

011 000/0 000/1

100 110/0 110/0101 110/0 111/0

110 000/0 000/0

111 000/0 000/1A+B+C+/z

J K Q(k+1)0 0 Q(k)0 1 01 0 11 1 Q’(k)

x

ABC 0 1000 10 00

001 10 10

010 01 01011 01 01

100 10 00

101 10 10110 10 10

111 01 01

JAKA JAKA

4.

Page 26: ELO211: Sistemas Digitales Tomás Arredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/11... · de estados (i.e. matriz de transiciones). 4. Usando tabla

Ejemplo de análisis (cont)

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

xABC 0 1

0 4/0 1/0

1 6/0 7/02 0/0 1/0

3 0/0 0/1

4 6/0 6/05 6/0 7/0

6 0/0 0/0

7 0/0 0/1A+B+C+/z

0

14

3 2

6

5

7

0/01/1

0/0

1/01/00/0

-/0 -/00/0 0/0

1/1

1/01/0

1/0

11: Maquinas Sincrónicas 26