Análisis y Diseño de máquinas secuenciales sincrónicaslsb/elo211/clases/c11.pdf · la Figura...

34
1 Profesor Leopoldo Silva Bijit 19-01-2010 Capítulo 11 Análisis y Diseño de máquinas secuenciales sincrónicas 11.1. Análisis Dado el esquemático de una red secuencial sincrónica se desea obtener el diagrama de estados; y a partir de éste, inferir el funcionamiento de la máquina. Este procedimiento se suele llamar reingeniería. A continuación se resume el funcionamiento de una máquina secuencial; en el esquemático de la Figura 11.1, los elementos de memoria pueden ser flip-flops Ds o JKs. Q Clk y(k+1) Reset’ y(k) x(k) z(k) P1 P2 Figura 11.1. Esquema de máquina secuencial. El estado actual () yk es sostenido en las salidas () Qk de los flip-flops, durante el intervalo de tiempo k. En este intervalo, se generan () zk e ( 1) yk a partir de () yk y () xk , en la red combinacional. El próximo estado, ( 1) yk , se lleva a las entradas de los flip-flops, de tal manera que en el instante (k +1) las salidas de los flip-flops, almacenaran los valores ( 1) yk . Para esto es indispensable que las entradas a los flip-flops sean estables en el momento de aplicar el canto del reloj que efectuará la conmutación, o cambio de estado, que implica pasar del intervalo k al intervalo (k+1). Para n entradas, m estados y p salidas se tienen, los vectores booleanos:

Transcript of Análisis y Diseño de máquinas secuenciales sincrónicaslsb/elo211/clases/c11.pdf · la Figura...

Page 1: Análisis y Diseño de máquinas secuenciales sincrónicaslsb/elo211/clases/c11.pdf · la Figura 11.1, los elementos de memoria pueden ser flip-flops Ds o JKs. Q Clk y(k+1) ... Análisis

1

Profesor Leopoldo Silva Bijit 19-01-2010

Capítulo 11

Análisis y Diseño de máquinas

secuenciales sincrónicas

11.1. Análisis

Dado el esquemático de una red secuencial sincrónica se desea obtener el diagrama de estados;

y a partir de éste, inferir el funcionamiento de la máquina. Este procedimiento se suele llamar

reingeniería.

A continuación se resume el funcionamiento de una máquina secuencial; en el esquemático de

la Figura 11.1, los elementos de memoria pueden ser flip-flops Ds o JKs.

Q

Clk

y(k+1)

Reset’

y(k)

x(k) z(k) P1 P2

Figura 11.1. Esquema de máquina secuencial.

El estado actual ( )y k es sostenido en las salidas ( )Q k de los flip-flops, durante el intervalo de

tiempo k. En este intervalo, se generan ( )z k e ( 1)y k a partir de ( )y k y ( )x k , en la red

combinacional. El próximo estado, ( 1)y k , se lleva a las entradas de los flip-flops, de tal

manera que en el instante (k +1) las salidas de los flip-flops, almacenaran los valores ( 1)y k .

Para esto es indispensable que las entradas a los flip-flops sean estables en el momento de

aplicar el canto del reloj que efectuará la conmutación, o cambio de estado, que implica pasar

del intervalo k al intervalo (k+1).

Para n entradas, m estados y p salidas se tienen, los vectores booleanos:

Page 2: Análisis y Diseño de máquinas secuenciales sincrónicaslsb/elo211/clases/c11.pdf · la Figura 11.1, los elementos de memoria pueden ser flip-flops Ds o JKs. Q Clk y(k+1) ... Análisis

2 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

0 1( , ,..., )nx x x x

0 1( , ,..., )my y y y

0 1( , ,..., )pz z z z

Programas de los flip-flops. Matrices de programación.

A partir del esquemático de la red booleana pueden escribirse las funciones de las entradas de

los flip-flops en función de la entrada y el estado presente, se denominan programas de los flip-

flops, o ecuaciones de excitación de éstos.

En caso de flip-flops JKs, se tienen las ecuaciones:

( , )i iJ f y x

( , )i iK g y x

En caso de flip-flops Ds, se tienen las ecuaciones:

( , )i iD f y x

Las representaciones de estas ecuaciones en un mapa de Karnaugh se denominan: Matrices de

Programación.

11.2. Método de análisis tabular

El método de análisis tabular está basado en obtener la matriz de transiciones a partir de las

matrices de programación. En cada casilla, de cada una de las (m+1) matrices de programación,

mediante las tablas características, se determinan las (m+1) componentes del vector de próximo

estado de cada casilla de la matriz de transición.

El siguiente esquema muestra el proceso para obtener la matriz de transiciones:

x

y

Ji, Ki

J K y(k+1)

0 0 y(k)

0 1 0

1 0 1

1 1 y’(k)

x y

y(k+1)

Figura 11.2. Esquema análisis tabular

Se muestra sólo la matriz de programación del flip-flop i-ésimo, que se asume del tipo JK. Para

cada par ( , )i iJ K de la matriz de programación i-ésima, mediante la tabla característica, se

encuentra el próximo estado ( 1)iy k asociado; componiendo de este modo el vector y(k+1).

Page 3: Análisis y Diseño de máquinas secuenciales sincrónicaslsb/elo211/clases/c11.pdf · la Figura 11.1, los elementos de memoria pueden ser flip-flops Ds o JKs. Q Clk y(k+1) ... Análisis

Capítulo 11. Análisis y Diseño de máquinas secuenciales sincrónicas 3

Profesor Leopoldo Silva Bijit 19-01-2010

A partir de la tabla de transiciones, resulta sencillo dibujar el diagrama de estados, y a partir de

éste determinar el funcionamiento u operación de la máquina secuencial.

11.3. Método analítico.

Las ecuaciones de los programas de los flip-flops, que se asumen del tipo JK:

( , )i iJ f y x

( , )i iK g y x

Se reemplazan en las ecuaciones características de los (m+1) flip-flops:

( 1) ' 'i i i i iy k J y K y

De esta forma se eliminan las variables iJ y iK , quedando las (m+1) ecuaciones:

( 1) ( ( ), ( ))i iy k f y k x k

Las que representadas en un mapa de Karnaugh, forman la matriz de transiciones.

11.4. Ejemplo método tabular

Se tiene el siguiente esquemático:

C

P1 C

P2

clk

S J C

P K Q

_

S J C

P K Q

_ Q

S J C

P K

A

B

C

reset

clk K

J Q

x

z

1

Q’

Figura 11.3. Ejemplo de máquina secuencial empleando flip-flops JK

Page 4: Análisis y Diseño de máquinas secuenciales sincrónicaslsb/elo211/clases/c11.pdf · la Figura 11.1, los elementos de memoria pueden ser flip-flops Ds o JKs. Q Clk y(k+1) ... Análisis

4 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

Nótese que se tiene una señal de reset común para los tres flip-flops. Esto implica que el estado

inicial será el 000.

Los cambios ocurren con el canto de subida del reloj.

Se asume que la entrada x es una secuencia sincrónica con el mismo reloj (clk) del sistema.

Leyendo las ecuaciones de las entradas de los flip-flops, directamente del esquemático, se

obtienen:

( ' ' ');

( ' ' );

' ; '

A A

B B

C C

J B C B x K B

J AB B C K B

J A x K B x

Para obtener la matriz de programación del flip-flop A: Se debe establecer JA y KA para cada

combinación posible del estado presente y la entrada. Se procede en forma análoga para los

flip-flops B y C.

Este proceso de ilustra en la Figura 11.4, para cada uno de los flip-flops, se obtienen las

siguientes matrices de programación:

x

0 1

0 0 0

0 0 10 1 10 1 0

1 1 0

1 1 1

1 0 1

1 0 0

ABC

10 00

10 1001 01

01 01

01 01

01 01

10 10

10

JA

, KA

00

x

0 1

0 0 0

0 0 10 1 10 1 0

1 1 0

1 1 1

1 0 1

1 0 0

ABC

00 00

10 1001 01

01 01

01 01

01 01

10 10

10

JB

A

, KB

A

10

x

0 1

0 0 0

0 0 10 1 10 1 01 1 0

1 1 11 0 1

1 0 0

ABC

01 10

01 1001 11

01 11

01 01

01 01

01 00

01

JC

A

, KC

00

Figura 11.4. Matrices de Programación

Usando la tabla característica del flip-flop JK se logra, la matriz de transiciones, de la Figura

11.5. Además se ha empleado la ecuación de salida: z xBC .

Page 5: Análisis y Diseño de máquinas secuenciales sincrónicaslsb/elo211/clases/c11.pdf · la Figura 11.1, los elementos de memoria pueden ser flip-flops Ds o JKs. Q Clk y(k+1) ... Análisis

Capítulo 11. Análisis y Diseño de máquinas secuenciales sincrónicas 5

Profesor Leopoldo Silva Bijit 19-01-2010

x

ABC 0 1

000 100/0 001/0

011 000/0 000/1

010 000/0 001/0

110 000/0 000/0

111 000/0 000/1

101 110/0 111/0

100 110/0 110/0

A(k+1) B(k+1) C(k+1)/z

001 110/0 111/0

Figura 11.5. Matriz de transiciones del Ejemplo 11.4.

Para todas las ocurrencias de (J,K) igual a (1,0) en las tablas de la Figura 11.4, se coloca un 1 en

la columna correspondiente de la Figura 11.5; se coloca 0 para (J, K) igual a (0,1).

Para (J, K) igual a (0,0) en las tablas de la Figura 11.4, se coloca el valor actual de la variable en

la columna correspondiente de la Figura 11.5.

Para (J, K) igual a (1,1) en las tablas de la Figura 11.4, se coloca el valor complementado de la

variable actual en la columna correspondiente de la Figura 11.5.

Si colocamos la cifra decimal, equivalente del nombre binario del estado, se logra la matriz de

transiciones, empleando nombres simbólicos para los estados. Se obtiene la Figura 11.6,

izquierda. Y de esta matriz se obtiene el diagrama de estados que se ilustra a la derecha en la

Figura 11.6.

Page 6: Análisis y Diseño de máquinas secuenciales sincrónicaslsb/elo211/clases/c11.pdf · la Figura 11.1, los elementos de memoria pueden ser flip-flops Ds o JKs. Q Clk y(k+1) ... Análisis

6 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

Estado x

actual 0 1

0 4/0 1/0

1 6/0 7/0

3 0/0 0/1

2 0/0 1/0

6 0/0 0/0

7 0/0 0/1

5 6/0 7/0

4 6/0 6/0

Estado próximo/z

Figura 11.6. Diagrama de estados ejemplo 11.3

Se observa que los estados 2, 3 y 5 sólo pueden ser estados iniciales y no participan de la

naturaleza secuencial del resto. Si no se dibujan, resulta la Figura 11.7.

0

4 1

6 7

0/0

1/1

0/0 1/0

0/0

1/0

/0

/0

reset

Figura 11.7. Diagrama de estados reducido.

En la Figura 11.7, con estado inicial igual a cero, puede concluirse que el circuito es un

reconocedor de secuencia de largo fijo igual a 3. A partir del estado inicial acepta tres valores de

la entrada y luego toma una decisión.

La máquina analiza grupos de 3 bits de la secuencia de entrada, y si ésta es 111, genera un uno

en la salida; cero en el resto de los casos.

3

0

4 1

6 7

2 0/0

1/1 0/0

1/0

1/0 0/0

0/0 1/0 0/0

1/1

1/0 0/0

/0

/0

5

Page 7: Análisis y Diseño de máquinas secuenciales sincrónicaslsb/elo211/clases/c11.pdf · la Figura 11.1, los elementos de memoria pueden ser flip-flops Ds o JKs. Q Clk y(k+1) ... Análisis

Capítulo 11. Análisis y Diseño de máquinas secuenciales sincrónicas 7

Profesor Leopoldo Silva Bijit 19-01-2010

11.5. Ejemplos del método analítico.

a) Para la Figura 11.3, se tienen las siguientes ecuaciones:

( ' ' ');

( ' ' );

' ; '

A A

B B

C C

J B C B x K B

J AB B C K B

J A x K B x

z xBC

Las ecuaciones anteriores representan el esquemático de la Figura 11.3.

Para los flip-flops JK se tienen las siguientes ecuaciones características:

Donde se han reemplazado las salidas Q de los flip-flops, por las variables de estado: A, B y C.

Eliminando las variables J y K de los tres flip-flops, reemplazándolas en las ecuaciones

características, se obtienen:

( 1) ( )

( 1) ( )

( 1) ( )

A k B C B x A BA

B k AB BC B BB

C k AxC B x C

Las ecuaciones anteriores permiten obtener directamente la matriz de transición, para esto basta

representarlas en un mapa de Karnaugh: x

ABC 0 1

000 100/0 001/0

011 000/0 000/1

010 000/0 001/0

110 000/0 000/0

111 000/0 000/1

101 110/0 111/0

100 110/0 110/0

A(k+1) B(k+1) C(k+1)/z

001 110/0 111/0

Figura 11.8. Matriz de transiciones, empleando método analítico.

CKCJkC

BKBJkB

AKAJkA

CC

BB

AA

)1(

)1(

)1(

Page 8: Análisis y Diseño de máquinas secuenciales sincrónicaslsb/elo211/clases/c11.pdf · la Figura 11.1, los elementos de memoria pueden ser flip-flops Ds o JKs. Q Clk y(k+1) ... Análisis

8 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

Que resulta ser igual a la obtenida antes, por el método tabular. Luego se continúa en forma

similar al ejemplo anterior, desarrollado en 11.4.

b) Analizar la máquina secuencial descrita por el diagrama de bloques, de la Figura 11.9, y las

ecuaciones siguientes:

Figura 11.9. Entradas y salidas de máquina secuencial.

1 2 1

2 1 2

;

;

J xy K x

J xy K x

1 1 2

2 1 2

3 1 2

z y y

z xy y

z y y

Las ecuaciones del próximo estado de los flip-flops:

1 1 1 1 1

2 2 2 2 2

Y J y K y

Y J y K y

Reemplazando las ecuaciones de programación de los flip-flops en las ecuaciones anteriores,

resultan:

1 2 1 1

2 1 2 2

Y xy y xy

Y xy y xy

Que permite escribir la siguiente tabla de transiciones:

Figura 11.10. Tabla de transiciones ejemplo 11.5.b

Las ecuaciones de las salidas pueden escribirse, empleando el mapa de Karnaugh, de la Figura

11.11:

x M.S.S.

clk

z2

x

y1 y2 0 1

0 0 00 01

0 1 01 10

1 1 11 00

1 0 10 00

Y1Y2

z1

z3

Page 9: Análisis y Diseño de máquinas secuenciales sincrónicaslsb/elo211/clases/c11.pdf · la Figura 11.1, los elementos de memoria pueden ser flip-flops Ds o JKs. Q Clk y(k+1) ... Análisis

Capítulo 11. Análisis y Diseño de máquinas secuenciales sincrónicas 9

Profesor Leopoldo Silva Bijit 19-01-2010

x

y1 y2 0 1

00 100 100

01 000 000

11 001 001

10 000 010

z1 z2 z3

Figura 11.11. Ecuaciones de salidas.

Con la asignación de estados, de la Figura 11.12, en la que se emplea como nombre lógico el

equivalente decimal del nombre físico o binario, se obtiene el diagrama de estados que se

muestra en la Figura 11.13.

Figura 11.12. Asignación de estados simbólicos.

Figura 11.13. Diagrama de estados de Mealy

Observando el diagrama, de la Figura 11.13, se obtienen:

El estado 3 sólo puede ser estado inicial.

La salida z3 indica que se está en estado 3.

La salida z1 indica que se está en estado 0.

Si se parte del estado cero, se cuentan 3 niveles altos de la entrada, y se lo indica en salida z2

mediante un pulso.

Notar que debido a que z2 depende de x, se modeló mediante una máquina de Mealy.

11.6. Frecuencia máxima de operación del reloj.

Para un flip-flop sincronizado por cantos de bajada:

x

Estado 0 1

0 0 1

1 1 2

3 3 0

2 2 0

Est. próximo

1 0

3 2

0/100

1/001

0/001 1/010

1/100

0/000 1/100

0/000

x/z1z2z3

Page 10: Análisis y Diseño de máquinas secuenciales sincrónicaslsb/elo211/clases/c11.pdf · la Figura 11.1, los elementos de memoria pueden ser flip-flops Ds o JKs. Q Clk y(k+1) ... Análisis

10 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

tf

Red

Combinacional

J Q

reloj

K

tp

Figura 11.14. Definición de tiempos de propagación.

a) Se puede calcular el retardo de propagación, a través de los circuitos combinacionales, por la

vía más larga. Es decir, por aquella vía de realimentación que produzca el mayor retardo, está

vía suele denominarse ruta crítica. Sea este tiempo: tp. b) Desde el canto de bajada del reloj, hasta que la salida de un flip-flop cambie de estado, se

tiene el tiempo de propagación en el flip-flop. Sea este tiempo: tf.

c) Se tiene además el tiempo de setup, tsu, que es aquel durante el cual las entradas de los flip-

flops no deben cambiar, antes del canto.

d) El período del reloj puede cambiar debido a que la frecuencia puede experimentar

variaciones debidas a cambios de la temperatura. También la señal del reloj en diferentes puntos

del circuito puede tener variaciones por el tiempo de propagación a través de los cables. Sea el

máximo tiempo de variación tskew.

Si tenemos un reloj:

t0 t1 t

Figura 11.15. Ciclos del reloj

Por las condiciones a, b, c y d, se debe cumplir: to + t1 > tf + tp+ tsu+ tskew.

Sea tpmin el mínimo tiempo que tardan los cambios de las señales en atravesar la red

combinacional, y tfmin el mínimo tiempo en que cambian las salidas de los flip-flops,

después del canto; entonces debe cumplirse: tpmin + tfmin + tskew > thold

Si puede asegurarse que las entradas no cambian tsu antes del canto y thold después del canto, el

flip-flop funcionará confiablemente. Esta verificación debe efectuarse para cada uno de los flip-

flops de la red booleana.

Entonces el período mínimo del reloj, debe cumplir:

Tmín = tf + tp + tsu+ tskew.

Obteniéndose una frecuencia máxima:

Page 11: Análisis y Diseño de máquinas secuenciales sincrónicaslsb/elo211/clases/c11.pdf · la Figura 11.1, los elementos de memoria pueden ser flip-flops Ds o JKs. Q Clk y(k+1) ... Análisis

Capítulo 11. Análisis y Diseño de máquinas secuenciales sincrónicas 11

Profesor Leopoldo Silva Bijit 19-01-2010

1máx

skewf p su

ft t t t

Algunos valores típicos, de la familia TTL:

tf =20 ns ; tsu =20 ns ; tp =15 ns que dan frecuencias de operación menores que 18 [Mhz] sin

considerar tskew. Los dispositivos CPLD y FPGA tienen frecuencias de funcionamiento mucho

mayores.

11.7. Síntesis o diseño de máquinas secuenciales sincrónicas, a partir del diagrama

de estados.

El problema que deseamos resolver es obtener las redes combinacionales que programan los

flip-flops de una red secuencial, a partir del diagrama de estados, reducido y con asignación de

estados. De estas ecuaciones puede obtenerse el esquemático, o el programa verilog para la

implementación física.

11.7.1. Procedimiento de síntesis tabular.

A partir de la tabla de transiciones, con la ayuda de la tabla de excitaciones de los flip-flops, se

obtienen las (m+1) matrices de control de los flip-flops. Y mediante éstas, se determinan los

programas de los flip-flops. En el esquema de la Figura 11.16, se muestra la generación del

programa del flip-flop JK i-ésimo solamente.

Esquemáticamente:

Figura 11.16. Esquema general de síntesis

Si se tienen (n+1) entradas y (m+1) flip-flops, los vectores booleanos de la entrada y el estado

quedan representados por:

( , )i iJ f y x

( , )i iK g y x y(k+1)

y(k)

x(k)

y(k) y(k+1) JK

y

x

Ji, Ki

Matriz de control Programas

Page 12: Análisis y Diseño de máquinas secuenciales sincrónicaslsb/elo211/clases/c11.pdf · la Figura 11.1, los elementos de memoria pueden ser flip-flops Ds o JKs. Q Clk y(k+1) ... Análisis

12 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

0 1( , ,..., )nx x x x

0 1( , ,..., )my y y y

En el esquema anterior se ilustra empleando flip-flops de tipo JK, se procede en forma similar si

los flip-flops son de otro tipo. Se eliminan las variables de próximo estado, obteniéndose las

matrices de programación.

Resumen de las tablas de excitaciones para diversos flip-flops.

Q(k) Q(k+1) D J K T S R

0 0 0 0 0 0

0 1 1 1 1 1 0

1 0 0 1 1 0 1

1 1 1 0 0 0

Figura 11.17. Tablas de excitaciones para diferentes flip-flops.

Luego, en el Capítulo 14, se verán los flip-flops SR, cuyas tablas se indican en las últimas dos

columnas de la Figura 11.17.

11.7.2. Procedimiento de síntesis analítico.

Se escriben las ecuaciones características de los flip-flops; y se escriben las ecuaciones de

próximos estados, a partir de la tabla de transiciones.

Por comparación de coeficientes se determinan las funciones Ji y Ki, si se emplean flip-flops de

este tipo. Lo que se efectúa es la eliminación de las variables de próximo estado.

11.8. Ejemplos de síntesis.

Ejemplo 11.8.1.

Para el detector de secuencia 110 cada vez que ésta se presente, se tiene:

Figura 11.18. Detector de secuencia 110.

1 / 0 0 / 0

0 / 0

0 / 1

START

Estado 0

Estado 1

1 / 0

1 / 0

reset

Page 13: Análisis y Diseño de máquinas secuenciales sincrónicaslsb/elo211/clases/c11.pdf · la Figura 11.1, los elementos de memoria pueden ser flip-flops Ds o JKs. Q Clk y(k+1) ... Análisis

Capítulo 11. Análisis y Diseño de máquinas secuenciales sincrónicas 13

Profesor Leopoldo Silva Bijit 19-01-2010

Con la siguiente asignación de estados, se obtiene la matriz de transiciones:

Estado Q1 Q0

Start 0 0

Estado 0 0 1

Estado 1 1 1

Figura 11.19. Asignación de estados y matriz de transiciones.

Notar la elección de condiciones superfluas para el estado 10, que no se emplea en el diseño. Se

escogió el estado de start como el 00, para simplificar el diseño de la señal reset; en este caso

basta activar la señal clear asincrónico del flip-flop que se emplee para lograr la función reset.

La elección de condiciones superfluas simplifican las redes combinacionales que efectúan los

programas de los flip-flops.

a) Procedimiento tabular empleando flip-flops Ds:

Usando la tabla de transiciones de flip-flops Ds, se logra:

Figura 11.20. Programas de flip-flops D

Con programas: D1 = Q0 x

D0 = x

Debe notarse que cuando se emplean flip-flops D, los programas de éstos pueden obtenerse

directamente de la matriz de transiciones, cambiando Q1+ por D1 y Q0+ por D0.

b) Método analítico empleando flip-flops Ds:

De la matriz de transiciones se tienen:

z = Q1 x'

Q0+ = x

Q1+ = Q0 x

De los flip-flops Ds:

Q1+ = D1

Q0+ = D0

x

Q1 Q0 0 1

0 0 00 01

0 1 00 11

1 1 00 11

1 0 dd dd

D1D0

x

Q1 Q0 0 1

0 0 00/0 01/0

0 1 00/0 11/0

1 1 00/1 11/0

1 0 dd/d dd/d

Q1+Q0+/z

Page 14: Análisis y Diseño de máquinas secuenciales sincrónicaslsb/elo211/clases/c11.pdf · la Figura 11.1, los elementos de memoria pueden ser flip-flops Ds o JKs. Q Clk y(k+1) ... Análisis

14 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

Comparando coeficientes se logra igual resultado que el anterior.

c) Procedimiento tabular empleando flip-flops JKs:

Empleando flip-flops JK, de la matriz de transiciones de la Figura 11.19, se obtienen:

Figura 11.21. Programas de flip-flops JK

Leyendo los mapas, considerando las condiciones superfluas, resultan:

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

Notar que K1 también se podría haber expresado, como: K1 = x' +Q0' agrupando los ceros, o

bien: K1 = x’Q0 agrupando los unos; sin aprovechar completamente las condiciones superfluas.

d) Método analítico empleando flip-flops JKs:

De la matriz de transiciones de la Figura 11.19, y aplicando el teorema de expansión, para tener

presente a la derecha la variable correspondiente, que figura a la izquierda de cada ecuación, se

logra:

z = Q1 x'

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

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

De los flip-flops JKs, se tienen las siguientes ecuaciones:

Q1+ = J1Q1' +K1'Q1

Q0+ = J0Q0' +K0'Q0

Comparando los coeficientes, se obtienen:

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

Notar que el método analítico, en este caso, agrega el término Q0' que resulta superfluo.

Como se puede apreciar en el ejemplo anterior, el procedimiento tabular es capaz de generar

expresiones más reducidas que el procedimiento analítico. Esto se debe a que en este último la

reducción se efectúa empleando las ecuaciones características y no se pueden aprovechar las

condiciones superfluas que aparecen en las tablas de excitaciones de los flip-flops JKs.

En caso de diseñar empleando flip-flops JK y si la tabla de transiciones tiene condiciones

superfluas, debido a estados no empleados, conviene usar el método tabular.

x

Q1 Q0 0 1

0 0 0 1

0 1 1 0

1 1 1 0

1 0

J0K0

x

Q1 Q0 0 1

0 0 0 0

0 1 0 1

1 1 1 0

1 0

J1K1

Page 15: Análisis y Diseño de máquinas secuenciales sincrónicaslsb/elo211/clases/c11.pdf · la Figura 11.1, los elementos de memoria pueden ser flip-flops Ds o JKs. Q Clk y(k+1) ... Análisis

Capítulo 11. Análisis y Diseño de máquinas secuenciales sincrónicas 15

Profesor Leopoldo Silva Bijit 19-01-2010

La matriz de transiciones de la Figura 11.20, puede plantearse como una tabla de verdad, entre

las entradas (estado presente y entradas) y las salidas (próximo estado y salidas), según se

muestra en la Figura 11.22.

Figura 11.22. Matriz de transiciones.

e) Descripción del diseño en Verilog.

Una vez realizado el diseño, pueden describirse las redes combinacionales mediante su

estructura de compuertas, empleando el comando assign; y los flip-flops con un proceso

activado por los cantos del reloj. Los nombres de los procesos se definen en la Figura 11.1.

// detector de secuencia 110 cada vez que ésta se presente.

module mealy110 (input clk, resetn, x, output z);

reg Q1, Q0;

wire D1, D0;

// Redes combinacionales de próximo estado y de salida. Proceso P1

assign D1 = Q0&x;

assign D0 = x;

assign z = Q1&(~x); //salida asincrónica

// Proceso registro. P2

always @(negedge resetn or posedge clk)

if (resetn == 0) begin Q1=0; Q0=0; end

else begin Q1<= D1; Q0 <= D0; end

endmodule

Si se desea eliminar la salida asincrónica z, característica de las máquinas de Mealy, suele

registrarse la salida en un flip-flop. Esto agrega un elemento de memoria a la red booleana.

// detector de secuencia 110 cada vez que ésta se presente. Salida registrada.

module mealy110 (input clk, resetn, x, output zs);

reg Q1, Q0, zs;

wire D1, D0;

// Redes combinacionales de próximo estado. P1

Entradas Salidas

Q0 Q1 x Q1+ Q2+ z

0 0 0 0 0 0

0 0 1 0 1 0

0 1 0 0 0 0

0 1 1 1 1 0

1 0 0 d d d

1 0 1 d d d

1 1 0 1 0 1

1 1 1 1 1 0

Page 16: Análisis y Diseño de máquinas secuenciales sincrónicaslsb/elo211/clases/c11.pdf · la Figura 11.1, los elementos de memoria pueden ser flip-flops Ds o JKs. Q Clk y(k+1) ... Análisis

16 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

assign D1 = Q0&x;

assign D0 = x;

// Proceso registro. P2. Salida sincronizada.

always @(negedge resetn or posedge clk)

if (resetn == 0) begin Q1=0; Q0=0; end

else begin Q1<= D1; Q0 <= D0; zs<=Q1&(~x); end

endmodule

Figura 11.22a. Salida asincrónica z, y salida sincrónica zs.

La Figura 11.22a, muestra la diferencia entre z y zs.

Ejemplo 11.8.2.

Determinar los programas de los flip-flops JK, para la siguiente matriz de transiciones.

Figura 11.23. Matriz de transiciones ejemplo 11.8.2.

Se tienen, de la matriz:

A+ = A'x + AB +Ax' = ( x )A' + (B + x') A

B+ = A'x + ABx' +B'x = A'xB' + A'xB + ABx' +B'x = (A'x + x) B' + (A'x + Ax')B

Se han factorizado las ecuaciones, en términos de Qi y Qi’ para cada uno de los flip-flops Qi.

De los flip-flops, se tienen:

A+ = JaA' +Ka'A

B+ = JbB' +Kb'B

Comparando coeficientes, de los dos conjuntos de ecuaciones anteriores, resultan:

Ja = x ; Ka = (B + x')' = B'x ;

Jb = A'x +x = x ; Kb = (A'x +Ax')' = A'x' + Ax

x

AB 00 01

0

1

00 00

11 11 1

0 2

3

11 10

11 10

10 01 7

6 4

5

A+B+

Page 17: Análisis y Diseño de máquinas secuenciales sincrónicaslsb/elo211/clases/c11.pdf · la Figura 11.1, los elementos de memoria pueden ser flip-flops Ds o JKs. Q Clk y(k+1) ... Análisis

Capítulo 11. Análisis y Diseño de máquinas secuenciales sincrónicas 17

Profesor Leopoldo Silva Bijit 19-01-2010

Ejemplo 11.8.3.

Diseñar máquina secuencial, que implemente la siguiente matriz de transiciones, empleando un

flip-flop D, para la variable A; y un JK para B.

Figura 11.24. Matriz de transiciones ejemplo 11.8.3

Es una máquina de Mealy, ya que: z = Ax +B x' (la salida depende de la entrada)

Con flip-flop D para el estado A, se obtiene:

A+ = Da = AB + Bx (directamente del mapa)

Con flip-flop JK para la variable B, se logra:

B+ = JbB' +Kb'B ecuación del flip-flop JK.

Del mapa se tiene:

B+ = B x + Ax + A'B'x' = B x + ABx + AB'x +A'B'x' = (Ax+A'x') B' +(x + Ax) B

B+ = ( A' x) B' + xB

Comparando coeficientes, se logra:

Jb = A' x Kb = x'

Ejemplo 11.8.4.

Diseñar un flip-flop JK empleando compuertas y un flip-flop D.

Es preciso especificar el diagrama de estados o la matriz de transiciones de lo que se desea

diseñar; en este caso representaremos al flip-flop JK por su ecuación característica.

De la matriz de transiciones del flip-flop JK se tiene la siguiente ecuación:

Q+ = JQ' + K'Q

El programa del flip-flop D, resulta efectuando Q+=D:

D = JQ' + K'Q

x

AB

00 01

0

1

010 001

000 110 1

0 2

3

11 10

101 000

111 011 7

6 4

5

A+ B+ z

Page 18: Análisis y Diseño de máquinas secuenciales sincrónicaslsb/elo211/clases/c11.pdf · la Figura 11.1, los elementos de memoria pueden ser flip-flops Ds o JKs. Q Clk y(k+1) ... Análisis

18 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

reloj

J D

Q'

Q

K

Q

Figura 11.25. JK basado en flip-flop D

Este diseño se emplea en dispositivos programables que no disponen en las macroceldas de flip-

flops JKs, pero que generalmente disponen de flip-flops Ds.

El diagrama de la Figura 11.26, muestra la implementación de un JK, mediante un dispositivo

lógico programable, que sólo tiene flip-flops de tipo D en su estructura interna:

Figura 11.26. Implementación de JK en CPLD

11.9 Resumen y observaciones.

Se analiza una máquina sencilla, mostrando y resumiendo una metodología de diseño.

11.9.1. Convertidor de cambio de nivel en un pulso.

Se desea convertir un canto de subida en un pulso de ancho fijo. Se trata de un detector

sincrónico de cantos de subida, que no dependa de cuánto tiempo permanezca alta la señal de

entrada. La salida genera un pulso simple de ancho igual al período del reloj, y que puede

alimentar con seguridad a un contador.

D

reloj

D Q Q

J Q.f

b K

Page 19: Análisis y Diseño de máquinas secuenciales sincrónicaslsb/elo211/clases/c11.pdf · la Figura 11.1, los elementos de memoria pueden ser flip-flops Ds o JKs. Q Clk y(k+1) ... Análisis

Capítulo 11. Análisis y Diseño de máquinas secuenciales sincrónicas 19

Profesor Leopoldo Silva Bijit 19-01-2010

clk

p n

Figura 11.27. De cantos de subida a pulsos.

Consideramos que a la señal n, que resulta de oprimir un botón, se le han suprimido los rebotes,

y que además está sincronizada, es decir el canto de subida se produce después de que ha

transcurrido un tiempo mayor que el thold de los flip-flops.

Los rebotes pueden filtrarse con un latch, y la sincronización se logra haciendo pasar la señal a

través de uno o dos flip-flops Ds alimentados con el mismo reloj.

11.9.2. Modelo de Moore.

Si la salida está asociada al estado, tendremos tres situaciones distinguibles. La primera cuando

se espera un canto de subida con salida cero, la segunda cuando llega un canto de subida con

salida uno, y la tercera cuando se espera un canto de bajada con salida cero.

Si agregamos las condiciones bajo las cuales se cambia de estado, podemos describir que:

Mientras la señal de nivel n, está baja, se permanece en el estado ECS, esperando un canto de

subida, con salida p=0. Cuando en n se presenta un canto de subida se pasa al estado CS, llegó

un canto de subida, con salida p=1.

Estando en CS, si la señal n baja a cero, vuelve a esperar otro canto de subida; es decir pasa al

estado ECS; pero si la señal permanece en nivel alto, pasa a un tercer estado ECB, en el cual se

espera un canto de bajada.

Estando en ECB con salida p=0, se permanece en ese estado mientras la señal n esté alta, y se

pasa a ECS cuando llega un canto de bajada en n.

La descripción anterior puede formalizarse con el siguiente diagrama de estados.

n=0

n=1

ECS

p=0

CS

p=1

ECB

p=0

n=1

n=1

n=0

n=0

reset

Figura 11.28. Modelo de Moore, convertidor de cantos.

Con la siguiente codificación binaria de los estados:

Page 20: Análisis y Diseño de máquinas secuenciales sincrónicaslsb/elo211/clases/c11.pdf · la Figura 11.1, los elementos de memoria pueden ser flip-flops Ds o JKs. Q Clk y(k+1) ... Análisis

20 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

Estado Q1 Q0

ECS 0 0

CS 0 1

ECB 1 1

Figura 11.29. Asignación de estados.

Se logra la siguiente matriz de transiciones:

Estado

actual

Próximo

estado

Q1 Q0 n Q1+ Q0+ p

0 0 0 0 0 0

0 0 1 0 1 0

0 1 0 0 0 1

0 1 1 1 1 1

1 1 0 0 0 0

1 1 1 1 1 0

1 0 0 x x x

1 0 1 x x x

Figura 11.30. Matriz de transiciones.

De la cual pueden obtenerse las ecuaciones de la red combinacional:

Q1+=nQ0 Q0+=n p=Q1’Q0

Empleando flip-flops Ds, se tienen:

D1=Q1+, D0=Q0+

Con las cuales resulta el siguiente diseño:

D1=nQ0 D0=n p=Q1’Q0

D

Q1

reset’

D

Q0

n

clk

p

Q1’

Figura 11.31. Diseño de Moore.

Page 21: Análisis y Diseño de máquinas secuenciales sincrónicaslsb/elo211/clases/c11.pdf · la Figura 11.1, los elementos de memoria pueden ser flip-flops Ds o JKs. Q Clk y(k+1) ... Análisis

Capítulo 11. Análisis y Diseño de máquinas secuenciales sincrónicas 21

Profesor Leopoldo Silva Bijit 19-01-2010

11.9.3. Modelo de Mealy.

Si la salida está asociada a los cambios de entrada podemos conceptualizar dos estados: uno en

el que se espera un canto de subida, y el otro cuando se espera el canto de bajada.

Estando en ECS: Mientras la entrada esté baja, la salida también debe estar baja y debe

permanecer en ECS; cuando en la entrada se presenta un canto de subida la salida debe activarse

a uno y cambiar al estado ECB.

Estando en ECB: Mientras la entrada esté alta, la salida también debe estar baja y permanecer

en ECB; cuando en la entrada se presenta un canto de bajada la salida debe permanecer baja y

cambiar al estado ECB.

Una descripción formal, de lo anterior se muestra en el siguiente diagrama de estados:

n=0/p=0

n=1/p=1

ECS ECB n=1/p=0 n=0/p=0

reset

Figura 11.32. Diagrama de estados de Mealy.

Si denominamos con 0 al estado ECS y con 1 al estado ECB, se obtiene:

Q n Q+ p

0 0 0 0

0 1 1 1

1 0 0 0

1 1 1 0

Figura 11.33. Matriz de transiciones de Mealy.

De la matriz de transiciones, se obtiene:

Q+=n, p=Q’n

Empleando un flip-flop D, se tiene: D= Q+

Con lo cual se obtiene el siguiente diseño:

D=n, p=Q’n

Page 22: Análisis y Diseño de máquinas secuenciales sincrónicaslsb/elo211/clases/c11.pdf · la Figura 11.1, los elementos de memoria pueden ser flip-flops Ds o JKs. Q Clk y(k+1) ... Análisis

22 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

D

Q

reset’

n

clk

Q’

p

Figura 11.34. Diseño de Mealy.

11.9.4. Análisis de transiciones.

a) Estado inicial. Reset.

En el diseño de la Figura 11.31, se lleva al estado inicial, mediante un pulso asincrónico de

reset, el cual se aplica a ambos flip-flops, ya que el estado inicial es Q1=0 y Q0=0.

En un circuito físico, cuando se aplica un canto de bajada a la señal reset’, las salidas de los

flop-flops van a cero, llevando la máquina al estado inicial.

reset’

clk

Q0

p

Q1

n

tr

Figura 11.35. Activación de señal reset.

La salida, en el caso de Moore, tomará el valor correspondiente al estado inicial. Las entradas

son ignoradas hasta el primer canto del reloj, luego que se levante la señal de reset, lo cual se

indica con el instante tr, en la Figura 11.35. Se ilustra con una discontinuidad el tiempo que

dura la señal reset en nivel bajo, mostrando que esta situación puede durar varios períodos del

reloj.

En el instante tr, se muestrean las entradas y de acuerdo a éstas se producen los cambios de

estado. En la Figura 11.35 se asumió un nivel bajo de la entrada n, de este modo la máquina

permanece en estado inicial, esperando un canto de subida.

En un modelo de Mealy, la situación es similar para los estados de los flip-flops, pero la salida

dependerá de la entrada, mientras la señal de reset esté baja.

En caso de señales sincrónicas, la situación es similar, salvo que los cambios en los flip-flops se

producen en el siguiente pulso del reloj después de la activación del reset.

Page 23: Análisis y Diseño de máquinas secuenciales sincrónicaslsb/elo211/clases/c11.pdf · la Figura 11.1, los elementos de memoria pueden ser flip-flops Ds o JKs. Q Clk y(k+1) ... Análisis

Capítulo 11. Análisis y Diseño de máquinas secuenciales sincrónicas 23

Profesor Leopoldo Silva Bijit 19-01-2010

En simulación, deben generarse un pulso de reset, para que los flip-flops y las salidas tomen

valores. En caso de no hacerlo, puede que los flip-flops tomen valores desconocidos y no se

generen las secuencias que se desea simular. En un circuito físico, los flip-flops siempre estarán

en algún valor, después de aplicar la polarización.

b) Modelo de Moore.

Para un canto de subida en n, que cumpla con los requerimientos de hold, se tienen:

Q0 cambia un tiempo de propagación de flip-flop, después del canto de subida del reloj.

La salida p, cambia un tiempo de propagación de una compuerta AND, después de cambios en

Q1 o Q0.

El cambio de p se produce en el primer canto del reloj en el cual se tenga la entrada n en alto.

n

clk

Q0

p

Q1

Figura 11.36. Transiciones modelo de Moore.

c) Modelo de Mealy.

En el modelo de Mealy, la salida cambia cuando cambia la entrada, y suele producirse un ciclo

antes que en el modelo de Moore.

El cambio de estado se produce, un tiempo de propagación de flip-flop, después del canto de

subida del reloj.

n

clk

Q

p

Figura 11.37. Transiciones modelo de Mealy.

En el modelo de Mealy suelen requerirse menos flip-flops, y genera la salida un tiempo antes

que en modelo de Moore. Sin embargo la salida no es sincrónica con el reloj.

d) Modelo de Mealy, con salida registrada.

Para resolver esta dificultad suele sincronizarse la salida de la máquina de Mealy, registrando la

salida en un flip-flop adicional.

Page 24: Análisis y Diseño de máquinas secuenciales sincrónicaslsb/elo211/clases/c11.pdf · la Figura 11.1, los elementos de memoria pueden ser flip-flops Ds o JKs. Q Clk y(k+1) ... Análisis

24 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

D

Q

reset’

n

clk

Q’

p

D

Q

Q’

ps

Figura 11.38. Diseño Mealy con salida sincrónica.

Lo cual retrasa la activación de la salida ps, pero la deja sincrónica.

n

clk

Q

p

ps

Figura 11.39. Transiciones Mealy con salida sincrónica.

e) Modelo de Moore, con salida registrada.

En la Figura 11.31, la salida p es generada a través de un circuito combinacional, que es

alimentado por las salidas de los flip-flops. Debido a que los tiempos de propagación desde el

canto hasta la salida de los flip-flops pueden tener pequeñas variaciones, el diseño presentará

glitches o perturbaciones, debido a las carreras de las entradas al circuito combinacional.

Se denomina glitch (del alemán glitschen, con el significado de deslizar) a un pulso de corta

duración, que generalmente es el resultado de una falla en el diseño. También se denominan

spikes (del inglés, punta delgada), pero este término es más adecuado a la generación de

pequeños pulsos no deseados, debidos a interferencias.

La salida puede generarse con las condiciones del estado próximo, y empleando un flip-flop

para sincronizar la salida.

Antes teníamos: Q1+=nQ0 Q0+=n p=Q1’Q0

Entonces se genera p+ según:

p+=(Q1+)’(Q0+) = (nQ0)’n = (n’+Q0’)n= nQ0’

El diseño se representa en la Figura 11.40.

Page 25: Análisis y Diseño de máquinas secuenciales sincrónicaslsb/elo211/clases/c11.pdf · la Figura 11.1, los elementos de memoria pueden ser flip-flops Ds o JKs. Q Clk y(k+1) ... Análisis

Capítulo 11. Análisis y Diseño de máquinas secuenciales sincrónicas 25

Profesor Leopoldo Silva Bijit 19-01-2010

D

Q1

reset’

D

Q0

n

clk

p+

Q1’ Q0’

D

Q

Q’

ps

Figura 11.40. Modelo de Moore. Salida registrada.

La salida ps, se produce en los mismos tiempos que en el modelo de Moore de la Figura 11.31,

pero se requiere un flip-flop adicional. Debe notarse que ps será sincrónica y no tendrá

perturbaciones.

En la Figura 11.41, se muestran las señales p+ y ps. Se ha dejado la señal p, del diseño anterior,

para comparar los casos.

n

clk

Q0

p

Q1

p+

ps

Figura 11.41. Formas de ondas modelo de Moore. Salida registrada.

Problemas resueltos.

Problema 11.1.

Generar la señal s0 a partir de la señal CLK.

a) Determinar la matriz de transiciones.

b) Determinar las ecuaciones minimizadas de próximo estado.

c) Determinar los programas de los flip-flops, asumiendo que Q0 y Q1 son de tipo D,

y que Q2 y Q3 son de tipo JK.

d) Determinar la ecuación minimizada de la salida s0.

Page 26: Análisis y Diseño de máquinas secuenciales sincrónicaslsb/elo211/clases/c11.pdf · la Figura 11.1, los elementos de memoria pueden ser flip-flops Ds o JKs. Q Clk y(k+1) ... Análisis

26 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

CLK

Q0

Q1

Q2

Q3

s0

Período

0 1 2 3 4 5 6 7 8 9 10 0

Figura P11.1. Formas de ondas Problema 11.1

Solución.

a) Las señales Q3, Q2, Q1 y Q0 corresponden a un contador módulo 11. Con Q3 el bit

más significativo.

Figura P11.2. Matriz de transiciones Problema 11.1.

b) Q3+ = (Q2 Q1 Q0) + (Q3 Q1’)

Q2+ = (Q2’ Q1 Q0) + (Q2 Q1’) + (Q2 Q0’)

Q1+ = (Q3’ Q1 Q0’) + (Q1’ Q0)

Q0+ = (Q1’Q0’) + (Q3’Q0’)

Se han agrupado considerando las condiciones superfluas.

Arreglando las ecuaciones de próximo estado se obtiene para cada tipo de flip-flop:

c) Q3 + = (Q2 Q1 Q0) + (Q3 Q1’) = Q3(Q2Q1Q0 + Q1’) + Q3’Q2Q1Q0

Q3+ = Q3’ J3 + Q3 K3’

Comparando coeficientes, se obtiene:

J3 = Q2Q1Q0 K3 = (Q2Q1Q0 + Q1’) ’ = Q1 (Q2’ +Q1’ +Q0’) = Q1Q2’ +Q1Q0’

Q1Q0 Q3Q2

00 01

00

01

0001 0101

0010 0110 1

0 4

5

11 10

dddd 1001

dddd 1010 13

12 8

9

11

10

0100 1000

0011 0111 2

3 7

6

dddd dddd

dddd 0000 14

15 11

10

Q3+ Q2+ Q1+ Q0+

Page 27: Análisis y Diseño de máquinas secuenciales sincrónicaslsb/elo211/clases/c11.pdf · la Figura 11.1, los elementos de memoria pueden ser flip-flops Ds o JKs. Q Clk y(k+1) ... Análisis

Capítulo 11. Análisis y Diseño de máquinas secuenciales sincrónicas 27

Profesor Leopoldo Silva Bijit 19-01-2010

Q2+ = (Q1 Q2’Q0) + (Q1’ Q2) + (Q2 Q0’) = Q2’(Q1Q0) +Q2(Q1’ +Q0’)

Q2+ = Q2’ J2 +Q2 K2’

Comparando coeficientes, se obtiene:

J2 = Q1Q0 K2 = (Q1’ +Q0’)’ = Q1Q0

Si el flip-flop 2 hubiese sido de tipo T, se tendría: T2 = Q1Q0

Q1+ = D1 D1 = (Q3’ Q1 Q0’) + (Q1’ Q0)

Q0+ = D0 D0 = (Q1’Q0’) + (Q3’Q0’)

d) La salida es alta en los tiempos 2, 8 y 9. Se obtiene el mapa:

Figura P11.3. Mapa de la salida s0, Problema 11.1

Empleando las condiciones superfluas en la minimización, se logra:

s0 = (Q3’Q2’Q1Q0’) + (Q3 Q1’)

Problema 11.2.

Se tiene el siguiente esquemático:

Q1Q0 Q3Q2

00 01

00

01

0 0

0 0 1

0 4

5

11 10

d 1

d 1 13

12 8

9

11

10

0 0

1 0 2

3 7

6

d d

d 0 14

15 11

10

s0

Page 28: Análisis y Diseño de máquinas secuenciales sincrónicaslsb/elo211/clases/c11.pdf · la Figura 11.1, los elementos de memoria pueden ser flip-flops Ds o JKs. Q Clk y(k+1) ... Análisis

28 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

Figura P11.4. Esquemático Problema 11.2.

a) Obtener las ecuaciones de entradas de los flip-flops.

b) Obtener la matrices de programación de cada flip-flop

c) Obtener la matriz de transiciones.

d) Obtener el diagrama de estados. Usar la asignación:

Estado AB

0 00

1 01

2 10

3 11

e) Qué realiza la máquina secuencial.

f) Determinar la secuencia de salida para la siguiente secuencia de entrada:

0100110011100101 con estado inicial A=0 y B=0.

Solución:

a) Ecuaciones de entrada de los flip-flops:

xJ A BxK A

xJ B AxK B BxABxAz (Mealy)

b) Matrices de programación:

x

z

V3 5V

Reset 0V

S J CP K R Q _ Q

B

S J CP K R Q _ Q

A

TP1

TP2 TP3

U4B

U4A

U3C

U3B

U3A

U2A

CP1

Data Seq

DS1

CP1

Page 29: Análisis y Diseño de máquinas secuenciales sincrónicaslsb/elo211/clases/c11.pdf · la Figura 11.1, los elementos de memoria pueden ser flip-flops Ds o JKs. Q Clk y(k+1) ... Análisis

Capítulo 11. Análisis y Diseño de máquinas secuenciales sincrónicas 29

Profesor Leopoldo Silva Bijit 19-01-2010

x

AB

0

1

x

AB

0

1

00 11 00 00 00 11

01 11 01 01 00 11

11 11 01 11 01 11

10 11 00 10 01 11

Ja, Ka Jb, Kb

Figura P11.5. Matrices de programación Problema 11.2.

c) Tabla característica y Matriz de transiciones:

J

K

Q(k+1)

x

AB

0

1

0 0 )(kQ 00 10/0 01/0

0 1 0 01 11/0 00/1

1 0 1 11 00/0 00/0

1 1 )(kQ 10 00/1 11/0

A(k+1) B(k+1)/z

Figura P11.6. Matriz de transiciones Problema 11.2.

Usando las asignaciones de estados, se obtiene:

x

AB 0 1

0 2/0 1/0

1 3/0 0/1

3 0/0 0/0

2 0/1 3/0

Próximo Estado/z

Figura P11.7. Matriz de transiciones Problema 11.2.

d) Diagrama de estados:

Page 30: Análisis y Diseño de máquinas secuenciales sincrónicaslsb/elo211/clases/c11.pdf · la Figura 11.1, los elementos de memoria pueden ser flip-flops Ds o JKs. Q Clk y(k+1) ... Análisis

30 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

Figura P11.8. Diagrama de estados Problema 11.2.

e) Funcionamiento:

Salida z = 1 cuando llegan secuencias: 00 ó 11 a partir de estado inicial.

Salida z = 0 cuando llegan las secuencias: 010, 011, 100, 101 a partir del estado inicial.

Estando en estado 0, si llegan las secuencias 01 y 10 se descarta el bit siguiente.

f) Secuencia de salida:

x = 0100110011100101

z = 0000000101000000

0

3

1 2

0/1 1/1

/0

0/0

0/0

1/0

1/0

Page 31: Análisis y Diseño de máquinas secuenciales sincrónicaslsb/elo211/clases/c11.pdf · la Figura 11.1, los elementos de memoria pueden ser flip-flops Ds o JKs. Q Clk y(k+1) ... Análisis

Capítulo 11. Análisis y Diseño de máquinas secuenciales sincrónicas 31

Profesor Leopoldo Silva Bijit 19-01-2010

Ejercicios propuestos.

Ejercicio 11.1

Rediseñar el diagrama de estados de la Figura 11.6 considerando que los estados inalcanzables

(2, 3, 5) son superfluos. Realizar el diseño con flip-flops JKs y comparar el costo de las nuevas

redes combinacionales.

x

Estado actual 0 1

0 4/0 1/0

1 6/0 7/0

3 / /

2 / /

6 0/0 0/0

7 0/0 0/1

5 / /

4 6/0 6/0

Estado próximo/z

Figura E11.1. Matriz de transiciones Ejercicio 11.1.

Page 32: Análisis y Diseño de máquinas secuenciales sincrónicaslsb/elo211/clases/c11.pdf · la Figura 11.1, los elementos de memoria pueden ser flip-flops Ds o JKs. Q Clk y(k+1) ... Análisis

32 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

Índice general.

CAPÍTULO 11 ............................................................................................................................................ 1

ANÁLISIS Y DISEÑO DE MÁQUINAS SECUENCIALES SINCRÓNICAS ..................................... 1

11.1. ANÁLISIS .......................................................................................................................................... 1 Programas de los flip-flops. Matrices de programación ..................................................................... 2

11.2. MÉTODO DE ANÁLISIS TABULAR ....................................................................................................... 2 11.3. MÉTODO ANALÍTICO. ........................................................................................................................ 3 11.4. EJEMPLO MÉTODO TABULAR ............................................................................................................ 3 11.5. EJEMPLOS DEL MÉTODO ANALÍTICO. ................................................................................................ 7 11.6. FRECUENCIA MÁXIMA DE OPERACIÓN DEL RELOJ. ............................................................................ 9 11.7. SÍNTESIS O DISEÑO DE MÁQUINAS SECUENCIALES SINCRÓNICAS, A PARTIR DEL DIAGRAMA DE

ESTADOS. ................................................................................................................................................ 11 11.7.1. PROCEDIMIENTO DE SÍNTESIS TABULAR. ..................................................................................... 11 11.7.2. PROCEDIMIENTO DE SÍNTESIS ANALÍTICO. ................................................................................... 12 11.8. EJEMPLOS DE SÍNTESIS. .................................................................................................................. 12

Ejemplo 11.8.1. .................................................................................................................................. 12 a) Procedimiento tabular empleando flip-flops Ds: ........................................................................................ 13 b) Método analítico empleando flip-flops Ds: ................................................................................................ 13 c) Procedimiento tabular empleando flip-flops JKs: ...................................................................................... 14 d) Método analítico empleando flip-flops JKs: .............................................................................................. 14 e) Descripción del diseño en Verilog. ............................................................................................................ 15

Ejemplo 11.8.2. .................................................................................................................................. 16 Ejemplo 11.8.3. .................................................................................................................................. 17 Ejemplo 11.8.4. .................................................................................................................................. 17

11.9 RESUMEN Y OBSERVACIONES. ......................................................................................................... 18 11.9.1. Convertidor de cambio de nivel en un pulso. ......................................................................... 18 11.9.2. Modelo de Moore. .................................................................................................................. 19 11.9.3. Modelo de Mealy. ................................................................................................................... 21 11.9.4. Análisis de transiciones.......................................................................................................... 22

a) Estado inicial. Reset. .................................................................................................................................. 22 b) Modelo de Moore. ..................................................................................................................................... 23 c) Modelo de Mealy. ...................................................................................................................................... 23 d) Modelo de Mealy, con salida registrada. ................................................................................................... 23 e) Modelo de Moore, con salida registrada. ................................................................................................... 24

PROBLEMAS RESUELTOS. ........................................................................................................................ 25 Problema 11.1. ................................................................................................................................... 25 Problema 11.2. ................................................................................................................................... 27

EJERCICIOS PROPUESTOS. ........................................................................................................................ 31 Ejercicio 11.1 ..................................................................................................................................... 31

ÍNDICE GENERAL. .................................................................................................................................... 32 ÍNDICE DE FIGURAS ................................................................................................................................. 33

Page 33: Análisis y Diseño de máquinas secuenciales sincrónicaslsb/elo211/clases/c11.pdf · la Figura 11.1, los elementos de memoria pueden ser flip-flops Ds o JKs. Q Clk y(k+1) ... Análisis

Capítulo 11. Análisis y Diseño de máquinas secuenciales sincrónicas 33

Profesor Leopoldo Silva Bijit 19-01-2010

Índice de figuras

Figura 11.1. Esquema de máquina secuencial. .............................................................................. 1 Figura 11.2. Esquema análisis tabular ........................................................................................... 2 Figura 11.3. Ejemplo de máquina secuencial empleando flip-flops JK ........................................ 3 Figura 11.4. Matrices de Programación ........................................................................................ 4 Figura 11.5. Matriz de transiciones del Ejemplo 11.4. .................................................................. 5 Figura 11.6. Diagrama de estados ejemplo 11.3 ........................................................................... 6 Figura 11.7. Diagrama de estados reducido. ................................................................................. 6 Figura 11.8. Matriz de transiciones, empleando método analítico. ............................................... 7 Figura 11.9. Entradas y salidas de máquina secuencial. ................................................................ 8 Figura 11.10. Tabla de transiciones ejemplo 11.5.b ...................................................................... 8 Figura 11.11. Ecuaciones de salidas. ............................................................................................. 9 Figura 11.12. Asignación de estados simbólicos........................................................................... 9 Figura 11.13. Diagrama de estados de Mealy ............................................................................... 9 Figura 11.14. Definición de tiempos de propagación. ................................................................. 10 Figura 11.15. Ciclos del reloj ...................................................................................................... 10 Figura 11.16. Esquema general de síntesis .................................................................................. 11 Figura 11.17. Tablas de excitaciones para diferentes flip-flops. ................................................. 12 Figura 11.18. Detector de secuencia 110..................................................................................... 12 Figura 11.19. Asignación de estados y matriz de transiciones. ................................................... 13 Figura 11.20. Programas de flip-flops D ..................................................................................... 13 Figura 11.21. Programas de flip-flops JK ................................................................................... 14 Figura 11.22. Matriz de transiciones. .......................................................................................... 15 Figura 11.22a. Salida asincrónica z, y salida sincrónica zs. ........................................................ 16 Figura 11.23. Matriz de transiciones ejemplo 11.8.2. ................................................................. 16 Figura 11.24. Matriz de transiciones ejemplo 11.8.3 .................................................................. 17 Figura 11.25. JK basado en flip-flop D ....................................................................................... 18 Figura 11.26. Implementación de JK en CPLD .......................................................................... 18 Figura 11.27. De cantos de subida a pulsos................................................................................. 19 Figura 11.28. Modelo de Moore, convertidor de cantos. ............................................................ 19 Figura 11.29. Asignación de estados. .......................................................................................... 20 Figura 11.30. Matriz de transiciones. .......................................................................................... 20 Figura 11.31. Diseño de Moore. .................................................................................................. 20 Figura 11.32. Diagrama de estados de Mealy. ............................................................................ 21 Figura 11.33. Matriz de transiciones de Mealy. .......................................................................... 21 Figura 11.34. Diseño de Mealy. .................................................................................................. 22 Figura 11.35. Activación de señal reset....................................................................................... 22 Figura 11.36. Transiciones modelo de Moore. ............................................................................ 23 Figura 11.37. Transiciones modelo de Mealy. ............................................................................ 23 Figura 11.38. Diseño Mealy con salida sincrónica. ..................................................................... 24 Figura 11.39. Transiciones Mealy con salida sincrónica. ........................................................... 24 Figura 11.40. Modelo de Moore. Salida registrada. .................................................................... 25 Figura 11.41. Formas de ondas modelo de Moore. Salida registrada. ........................................ 25 Figura P11.1. Formas de ondas Problema 11.1 ........................................................................... 26

Page 34: Análisis y Diseño de máquinas secuenciales sincrónicaslsb/elo211/clases/c11.pdf · la Figura 11.1, los elementos de memoria pueden ser flip-flops Ds o JKs. Q Clk y(k+1) ... Análisis

34 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

Figura P11.2. Matriz de transiciones Problema 11.1. .................................................................. 26 Figura P11.3. Mapa de la salida s0, Problema 11.1 ..................................................................... 27 Figura P11.4. Esquemático Problema 11.2. ................................................................................. 28 Figura P11.5. Matrices de programación Problema 11.2. ........................................................... 29 Figura P11.6. Matriz de transiciones Problema 11.2. .................................................................. 29 Figura P11.7. Matriz de transiciones Problema 11.2. .................................................................. 29 Figura P11.8. Diagrama de estados Problema 11.2. .................................................................... 30 Figura E11.1. Matriz de transiciones Ejercicio 11.1. .................................................................. 31