diseño y síntesis de sistemas de lógica secuencial

121
MONOGRAFÍA CIENTÍFICA Diseño y Síntesis de Sistemas de Lógica Secuencial Autor: Jorge Portillo Meniz Profesor Titular de Escuela Universitaria Universidad de Las Palmas de Gran Canaria 2006 © Jorge Portillo Meniz, 2006

Upload: dinhdat

Post on 09-Jan-2017

235 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

Diseño y Síntesis de Sistemas de Lógica

Secuencial

Autor: Jorge Portillo Meniz Profesor Titular de Escuela Universitaria

Universidad de Las Palmas de Gran Canaria

2006

© Jorge Portillo Meniz, 2006

Page 2: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

2

Page 3: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

Índice

INTRODUCCIÓN 7

CAPÍTULO 1. CONTADORES ASÍNCRONOS

Introducción ……………………..…………………..……..……………...

1.1 Biestable tipo “T” …………………………………………………….

1.2 Divisor por 2 y divisor por 4 de la frecuencia de reloj ………………

1.3 Contador ascendente y descendente de módulo 4 …..………………..

1.4 Contador ascendente y descendente de módulo 8 ..…………………..

1.5 Contador asíncrono reversible ……………………...…………….......

1.6 Contador asíncrono de cualquier secuencia ………………………….

1.7 Limitaciones de los contadores asíncronos …………………………..

1.8 Contador asíncrono, método general de diseño ……………...............

1.9 Ejemplo de diseño de un contador asíncrono………………………....

11

13

15

17

18

20

20

22

23

24

25

CAPÍTULO 2. CONTADORES SÍNCRONOS

Introducción ……………..………………………………………….……...

2.1 Configuración genérica del contador síncrono ..……………………..

2.2 Método sistemático de diseño de contadores síncronos ………….......

2.3 Ejemplos de diseño de contadores síncronos ..……………………....

2.3.1 Contador síncrono generador de una secuencia ……………....

2.3.2 Contador síncrono generador de mas de una secuencia ……....

27

29

30

30

31

31

36

CAPÍTULO 3. REGISTROS DE DESPLAZAMIENTO

Introducción ……………..………………………………………….……...

41

43

3

Page 4: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

3.1 Registro Serie → Serie, con entrada asíncrona de Clear …………….

3.2 Registro Serie → Paralelo ………........................................................

3.3 Registro Paralelo → Serie ..…………………………………………..

3.4 Registros Paralelo → Paralelo ……...………………………………..

3.4.1 Con entrada de datos síncrona ………………………………...

3.4.2 Con entrada de datos asíncrona ……………………………….

3.5 Registro de Desplazamiento Universal / Método Sistemático de

Diseño……………………………………………………...................

3.6 Ejemplo de diseño de un Registro de Desplazamiento Universal ……

44

45

46

47

47

48

49

50

CAPÍTULO 4. GENERADORES DE SECUENCIAS BINARIAS

Introducción ………………..……………….………………………….......

4.1 Generador de Secuencias Binarias basado en Registros ……………..

4.2 Generador de Secuencias Binarias Múltiples y Simultáneas / Método

Sistemático de Diseño ………………………………………………..

4.3 Ejemplo de diseño de un GSBMS ….………………………………...

53

55

56

59

62

CAPÍTULO 5. MAQUINAS SECUENCIALES FINÍTAS, AUTÓMATAS

DE MOORE Y AUTÓMATAS DE MEALY

Introducción …………….………………………………………………...

5.1 Clasificación de Autómatas …………………………………………..

5.2 Fases en el diseño de Autómatas ……………………………………..

5.3 Ejemplo de diseño de un Autómata Mealy ………………………......

67

69

69

72

79

APÉNDICE. EJEMPLOS Y APLICACIONES

A1. CONTADOR ASÍNCRONO

A1.1 Diseño de un contador asíncrono ascendente de módulo 8,

(0→1→2→3→4→5→6→7) …………………………….....

83

85

4

Page 5: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

A1.2 Diseño de un contador asíncrono ascendente de módulo 6,

(0→1→2→3→4→5) ………………………………………..

A1.3 Diseño de un contador asíncrono descendente de módulo 4,

(5→4→3→2) ……………………………………………….

A2. CONTADOR SÍNCRONO

A2.1 Diseño Sistemático de un contador síncrono ascendente de

módulo 8 ……………………..……………………………..

A2.2 Diseño Intuitivo de un contador síncrono ascendente de

módulo 256 (0..255) ………………………………………...

A2.3 Diseño Sistemático de un contador síncrono que genere las

secuencias binarias (7→6→5→4→3→2→1→0) y

(0→2→4→6→1→3→5→7) ………………………………..

A3. REGISTRO DE DESPLAZAMIENTO UNIVERSAL

A3.1 Diseño de un Registro Universal de 4 bits …………………..

A4. GENERADOR DE SECUENCIAS BINARIAS MÚLTIPLES

A4.1 Generador de las secuencias binarias “0 1 0 1 1 0 1 0” y

“0 1 1 0 1 1 0 0” por el método GSBMS ………………......

A4.2 Generador de Patrones Binarios basado en un GSBMS …...

A5. MAQUINAS SECUENCIALES SÍNCRONAS, AUTÓMATAS

A5.1 Autómata de Mealy ………………………………………….

A6. APLICACIONES – DISEÑO DE SISTEMAS DIGITALES

A6.1 Diseño de un Generador de Código de línea HDB3 ………..

86

88

90

93

97

101

104

108

112

115

GLOSARIO

118

BIBLIOGRAFÍA

121

5

Page 6: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

6

Page 7: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

Introducción

7

Page 8: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

8

Page 9: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

Introducción

Este trabajo monográfico pretende ser un texto o complemento para estudiantes

universitarios de escuelas de ingeniería que incluyan “Electrónica Digital” en su plan de

estudios. En esta publicación monográfica se analizan y evalúan los diferentes métodos

sistemáticos existentes para el diseño de contadores (considerando, donde proceda, procesos

intuitivos de diseño), registros de desplazamiento, generadores de secuencias binarias y

diseño de máquinas secuénciales finitas. En el Tema 4 se propone un “Método Sistemático

Original” de diseño para la generación de “Secuencias Binarias Múltiples y Simultáneas”.

Es importante comentar que en este documento se tendrá en cuenta el aspecto

funcional de los diseños y no se estudia el comportamiento temporal (los componentes se

suponen ideales) de los circuitos, excepto en algunos ejemplos de aplicación, ya que no se

trata de implementar sistemas específicos sino de divulgar métodos de diseño. Se entiende

que cuando se trate de diseños de sistemas específicos, el diseñador tendrá en cuenta

parámetros como, comportamiento dinámico, eléctrico, tecnología utilizada y otros, antes de

dar el visto bueno final para la simulación del sistema.

Al lector de esta monografía se le supone familiarizado con los términos utilizados en

electrónica digital y con los métodos de diseño convencionales de sistemas combinacionales,

aritméticos y secuénciales. Igualmente se supone que el lector podría elegir los componentes

9

Page 10: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL electrónicos idóneos para la implementación del sistema diseñado, teniendo en cuenta

parámetros como, velocidad de conmutación, consumo, tecnología y aplicación.

Aunque podría obviarse es preferible comentar el hecho de que, en función del

entorno de diseño y de la aplicación, el diseñador de sistemas digitales secuénciales tendrá

que decidir cual es la técnica óptima para implementar su diseño, ya sea, componentes

discretos, lógica programable, software o firmware. En esta publicación siempre se termina el

diseño con el esquemático del circuito, es decisión del diseñador, en función de su entorno,

la técnica de la implementación final.

10

Page 11: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

Capítulo 1

Contadores Asíncronos

11

Page 12: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

12

Page 13: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

Introducción

En un contador binario la interconexión de sus componentes dependerá de la

secuencia a generar y de la arquitectura utilizada en el diseño. Dependiendo de la arquitectura

utilizada en su diseño, los contadores se pueden dividir en dos grandes grupos, “Contadores

Asíncronos” y “Contadores Síncronos”.

Figura 1 Contador genérico

El término asíncrono se refiere a los sucesos que no poseen una relación temporal fija entre

ellos. El método de diseño de contadores asíncronos se basa en el hecho de que un biestable

tipo “T” es por definición un divisor por dos de la frecuencia “Clk” de reloj.

13

Page 14: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL Los contadores asíncronos se identifican por la conexión “Clk” de reloj. En este tipo de

contadores la entrada de reloj del biestable que implementa al L.S.B. (bit de menor peso) se

conecta al reloj “Clk” del sistema y para los biestables que implementan los sucesivos bits

del contador la entrada de reloj “Clk” del biestable que implementa al Bit “n+1” se conecta

a la salida del biestable del Bit “n” (Clkn+1 = Qn), ver Figura 2.

Figura 2 Contador asíncrono genérico de módulo 2n

PULSO DE RELOJ (CLK) EN CONTADORES ASÍNCRONOS

Al no compartir el mismo pulso de reloj, en un contador asíncrono, los biestables no siempre

cambian de estado exactamente al mismo tiempo, esto podría causar “glitches” y

comportamientos no deseados si no se ha estudiado de manera exhaustiva el funcionamiento

dinámico (temporal) del sistema.

PARÁMETROS DE LOS BIESTABLES A TENER EN CUENTA PARA EL ESTUDIO

DINÁMICO DE LOS CIRCUITOS

Para el estudio temporal (dinámico) de los circuitos hay que tener en cuenta los parámetros

que da el fabricante de los biestables en las hojas de características técnicas, que nos servirá

para la correcta selección de los componentes. Los más importantes son,

1. Tiempo de establecimiento (setup-time)

Tiempo anterior al flanco de toma de datos. Durante este tiempo la señal de entrada ha de

permanecer constante para evitar errores en la lectura.

14

Page 15: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

2. Tiempo de mantenimiento (hold-time)

Tiempo posterior al flanco de toma de datos (durante este tiempo la señal de entrada

permanecerá constante)

3. Tiempo de propagación (delay-time)

Tiempo que transcurre desde el flanco activo de reloj hasta el cambio de estado.

4. Tiempo de “Preset” y “Clear”

Tiempo mínimo que deben de estar activadas las señales de Preset y Clear (de tenerlas el

biestable) y que garantiza su correcto funcionamiento.

5. Frecuencia máxima de reloj

Es la frecuencia máxima para la que el fabricante garantiza el correcto funcionamiento de

los biestables.

Para los dispositivos combinacionales que se utilicen en la implementación de los sistemas

secuénciales hay que considerar el “tpd”, el “fan-out” y el “fan-in”.

1.1 Biestable tipo T, divisor por dos de la frecuencia de Reloj

Un biestable tipo “T” , o su equivalente, actúa como un divisor por dos de la frecuencia de

su reloj. Por otro lado si observamos la tabla de secuencias adjunta (contador ascendente de

módulo 8) podemos comprobar que si comenzamos en el bit LSB (Q0), los bits del contador

representan señales de frecuencia mitad del anterior, hasta llegar al MSB (Q2) que tiene la

frecuencia de Q1/2.

De estas dos características, se intuye la facilidad con la que se puede implementar un

contador asíncrono utilizando biestables tipo “T”.

En la “Tabla 1” se representa la secuencia completa de un contador ascendente de módulo

23 = 8 (000..111).

15

Page 16: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL Tabla 1. Secuencia binaria de módulo 8

Si la frecuencia de Q0 es “F”, resulta que la frecuencia de Q1 es

F(Q0)/2 y la frecuencia de Q2 es F(Q1)/2.

A su vez, en un contador asíncrono, la frecuencia “F” es:

Frecuencia “F”= F(Q0) = F(Clk)/2, ver figura 3.

Si se utilizan tres biestables tipo “T” en cascada, como se muestra

en la figura 3, se podría implementar el contador ascendente de

la tabla en las salidas “Q0, 1 y 2”.

Q2 Q1 Q0

0 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

Figura 3 Contador asíncrono ascendente de módulo 23 = 8

En el dibujo el bit de menor peso (L.S.B.) esta implementado por el biestable de la izquierda

“Q0” y en la tabla este bit esta representado a la derecha de la tabla.

16

Page 17: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

1.2 Divisor por 2 y divisor por4 de la frecuencia (Clk) de Reloj

DIVISOR POR 2 DE LA FRECUENCIA DE RELOJ (CLK)

Cada biestable actúa como un divisor por 2 de la

frecuencia de su reloj (Clk).

fcia. Q0 = fcia. Clk/2

En un contador asíncrono la salida del biestable “Qn“ es

la entrada de reloj para el biestable siguiente (Qn+1).

Figura 4 Divisor por 2 de la frecuencia de reloj

DIVISOR POR 4 DE LA FRECUENCIA DE RELOJ (CLK)

La fcia. de Qa = f (Clk)/2 = f (Clk)/21.

La fcia. de Qb = f(Qb) = f (Qa)/2 = (f (Clk)/2)/2 = f (Clk)/22 = f(Clk)/4

La frecuencia en un biestable “Qn“ es, fcia. Qn = f(Clk)/2n.

Figura 5 Divisor por 2 y divisor por 4 de la frecuencia “Clk” de reloj. Contador asíncrono de módulo 4

17

Page 18: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

1.3 Contador ascendente y descendente de módulo 4

CON BIESTABLES ACTIVOS EN EL FLANCO DE BAJADA DE LA SEÑAL DE RELOJ

Los contadores asíncronos son por defecto ascendentes y descendentes al mismo tiempo. El

contador ascendente en Qn, es descendente en /Qn y viceversa. Este hecho se da no por ser el

contador asíncrono sino por el hecho de generar la secuencia 2n completa. Si la cuenta del

contador no fuese consecutiva y completa sino arbitraria no se podría establecer a priori una

relación entre las salidas Qn y las /Qn.

Figura 6 Contador ascendente y descendente de módulo 4

CON BIESTABLES ACTIVOS EN EL FLANCO DE SUBIDA DE LA SEÑAL DE RELOJ

Con biestables activos en el flanco

de bajada de la señal de reloj

resulta un contador ascendente en

Qn y descendente en /Qn.

Si se utiliza la misma arquitectura que en el

diseño anterior y se eligen biestables activos

en el flanco de subida, entonces el contador

resultante es ascendente en “/Qn“ y

descendente en “Qn”.

Con biestables activos en el flanco de subida

de la señal de reloj resulta un contador

descendente en Qn y ascendente en /Qn.

Figura 7 Contador ascendente y descendente de módulo 4

18

Page 19: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

CONTADOR ASÍNCRONO - CONFIGURACIONES POSIBLES

Aún se pueden dar más combinaciones de cómo configurar un contador asíncrono. Hasta

ahora se han conectado las salidas “Qn” a las entradas de reloj “Clkn+1”, pero si son las salidas

“/Qn” en lugar de las salidas “Qn” las que se conectan a las entradas de reloj “Clkn+1”,

entonces se invierte el resultado de las figuras 6 y 7.

Con biestables activos en el flanco de bajada y utilizando las salidas “/Qn” como entradas de

“Clkn+1”, tendríamos un contador descendente en Qn y por consiguiente ascendente en /Qn y

por el contrario si utilizamos biestables activos en el flanco de subida y las salidas “/Qn”

como entrada de “Clkn+1” resultaría un contador ascendente en Qn y descenderte en /Qn,

invirtiéndose así el resultado obtenido cuando se utilizo las salidas “Qn” a las entradas

“Clkn+1”.

Todas las posibles configuraciones y resultados para el diseño de un contador asíncrono se

representan en la siguiente tabla,

TIPO DE BIESTABLE

(flip-flop) UTILIZADO

SALIDA “Qn” QUE SE CONECTA

A LA ENTRADA “Clkn+1”

TIPO DE CONTADOR

RESULTANTE

Activo en el flanco

“Qn” Descendente en “Qn“ y

ascendente en “/Qn”.

de subida (↑Clk) “/Qn” Ascendente en “Qn” y

descendente en “/Qn”.

Activo en el flanco

“Qn” Ascendente en “Qn” y

descendente en “/Qn”.

de bajada (↓Clk) “/Qn” Ascendente en “/Qn” y

descendente en “Qn”.

Tabla 2. Posibles configuraciones de los biestables en contadores asíncronos y la conexión

de su salida “Qn” a la entrada de reloj “Clkn+1” y tipo de contador resultante.

19

Page 20: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

1.4 Contador ascendente y descendente de módulo 8 (K = 8)

Figura 8 Contador de ´000´ a ´111´, ascendente en Qn y de ‘111’ a ‘000’, descendente en /Qn

1.5 Contador asíncrono reversible

CONTADOR ASCENDENTE Y DESCENDENTE DE MÓDULO 8 CON SALIDA ÚNICA

C → variable que controla la salida (ascendente/descendente).

Con C = 0 se elige como salida /Qn y con C = 1 la salida es Qn.

Figura 9 Diagrama de bloques contador reversible

20

Page 21: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

Tabla 3. Tabla de verdad de la figura 9

C Q 0,1,2 F 0,1,2

0 0 1

0 1 0

1 0 0

1 1 1

LA FUNCIÓN “FN” RESULTANTE ES: FN = /C ∗ /QN + C ∗ QN

F0 = /C ∗ /Q0 + C ∗ Q0 = C ⊗ Q0 → (Mux-2x1 o XNOR)

F1 = /C ∗ /Q1 + C ∗ Q1 = C ⊗ Q1 → (Mux-2x1 o XNOR)

F2 = /C ∗ /Q2 + C ∗ Q2 = C ⊗ Q2 → (Mux-2x1 o XNOR)

Figura 10 Circuito ”Fn” Combinacional de salida en el contador asíncrono reversible de módulo 8.

21

Page 22: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

IMPLEMENTACIÓN DEL CONTADOR ASÍNCRONO REVERSIBLE DE MÓDULO 8

Figura 11 Contador asíncrono reversible de módulo 8. Diagrama de bloques, diagrama eléctrico y tabla de transiciones.

1.6 Contador asíncrono de cualquier secuencia

Con la arquitectura de un contador asíncrono se genera una secuencia ascendente y

descendente completa de módulo 2n (n = número de bits / biestables) en el mismo contador,

la ascendente en Qn y la descendente en /Qn o viceversa dependiendo de la arquitectura y del

flanco de disparo de los biestables.

Por ejemplo, en un contador de módulo 8 (000..111), el contador pasa de la secuencia “7”

(111) a la “0” (000), repitiéndose el proceso mientras exista pulso de reloj (Clk). Para

implementar una secuencia que implique romper la cuenta natural hay que introducir

dispositivos de control combinacional. Esto se consigue teniendo en cuenta lo siguiente,

1/2. Los biestables han de tener entradas asíncronas de “Preset” y de “Clear”.

2/2. Se diseña un circuito que detecte la combinación de unos y ceros a la salida del contador

que coincida con el estado “k+1”.

22

Page 23: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

En la mayoría de los casos una puerta “NAND” o una puerta “AND” de varias entradas e

inversores, bastara para el diseño del circuito. La salida de la puerta se utiliza para

inicializar el contador.

Figura 12 Contador asíncrono de décadas (k=10, 0..9)

En este contador el circuito detector de la combinación “k+1” (F), se utiliza para inicializar

el contador a 0000(2. La función “F” genera una señal de “Clear” con la combinación de

salida “1010(2 = 9 + 1 = 10(10”.

1.7 Limitaciones de los contadores asíncronos

Además de la limitación de sincronismo a frecuencias relativamente altas, debido al hecho de

que los biestables no comparten el mismo pulso de reloj, existe otra limitación que hace que

este tipo de contadores no se pueda utilizar para la implementación de secuencias donde los

estados no sean consecutivos. Por ejemplo si diseñamos un contador asíncrono que genere la

secuencia “3-4-5-6”, podríamos implementarlo detectando la secuencia K+1=7 e

inicializando a 3, sin embargo para implementar la secuencia “3-4-6”, tendríamos que

detectar primero el K1+1=5 e inicializar a 6 para posteriormente detectar el K2+1=7 e

inicializar a 3, esto haría que los circuitos de “detección” y “reset” entraran en conflicto

haciendo imposible su correcto funcionamiento. Para este tipo de secuencias hay que utilizar

un diseño de contador síncrono.

23

Page 24: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

1.8 Contador asíncrono – Método general de diseño

1/4. Se utilizan biestables tipo “T” o equivalentes.

2/4. El número de biestables es “n” y “2n-1 < k ≤ 2n”, donde “k” es el número de estados o el

mayor de los estados mas 1 (se elige el mayor de los dos).

3/4. El reloj del sistema se conecta al biestable del bit de menor peso “LSB”.

4/4. Las salidas de los biestables “Qn” se conectan a las entradas de reloj de los biestables

“Qn+1”.

CONTADOR ASÍNCRONO DE CUALQUIER SECUENCIA, CIRCUITO DETECTOR PARA

EL “RESET”

Al tratarse de un reset asíncrono, la cuenta que lo genera no aparece en el contador ya que

inmediatamente después de ser detectada se utiliza para generar el “Reset”. Por lo tanto la

cuenta que se utiliza para generar el “Reset” es la cuenta “K+1”, de esta manera el contador

generará una secuencia de módulo “K”.

24

Page 25: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

1.9 Ejemplo de Diseño

CONTADOR DESCENDENTE DE MÓDULO 5 (K = 5) (111..011)

Método de diseño: Intuitivo.

Se eligen biestables activos en el flanco de bajada de la señal de reloj y se elige el tipo de

arquitectura donde la salida de Qn se conecta a la entrada de reloj de Qn+1. Con biestables

activos en el flanco de bajada de la señal de reloj y esta arquitectura la secuencia

descendente se encuentra en /Qn.

Se detecta la cuenta “K + 1 = 010(2”, (puerta NAND e inversores). La salida del circuito

detector inicializa a 111(2.

Figura 13 Contador descendente de módulo 5. Seleccionando las salidas Qa y Qc en lugar

de /Qa y /Qc, a la entrada de la puerta NAND, se eliminan los dos inversores.

25

Page 26: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

26

Page 27: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

Capítulo 2

Contadores Síncronos

27

Page 28: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

28

Page 29: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

Introducción

Los contadores síncronos alcanzan una velocidad de trabajo mucho mayor que los

contadores asíncronos. Los contadores síncronos son más rápidos debido a que la señal de

reloj del sistema es común a todos los biestables, esto hace que por cada pulso de reloj

cambien todos los biestables a la vez. El procedimiento de diseño de los contadores

síncronos es metódico y preciso, los contadores resultan más fiables que los asíncronos

debido al control común de reloj y al propio método de diseño.

Al optar por una arquitectura de diseño, salvo muy raras excepciones, el síncrono será

la mejor elección. En ocasiones el contador síncrono permite pequeñas variaciones en los

tiempos de retardo reales de los biestables con respecto a los teóricos, mientras que en los

contadores asíncronos el estudio temporal ha de ser muy preciso y riguroso.

En un contador síncrono, debido a la conexión de la señal de reloj, con cada pulso de

reloj se refresca la salida de todos los biestables, mientras que en un contador asíncrono el

refresco de la salida de los biestables se realiza secuencialmente, un biestable por cada pulso

de reloj.

29

Page 30: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

2.1 Configuración genérica del contador síncrono

1. La entrada de reloj es común a todos los biestables.

2. Las entradas de los biestables pueden ser función de variables combinacionales y de las

salidas de los biestables, incluyendo la propia salida del biestable.

Figura 14 Configuración genérica de un contador síncrono

2.2 Contador síncrono. Método sistemático de diseño

Una vez se tengan las especificaciones del contador el procedimiento a seguir para su diseño

e implementación es el siguiente,

1/5. El número “n” de biestables necesarios, se obtiene de la expresión “2n-1 < k ≤ 2n”,

donde “k” es el número de estados o el mayor de los estados de la secuencia a

implementar mas “1”, se elige el mayor de los dos.

2/5. Se dibuja y comprueba el diagrama de estados con el orden de la secuencia a

implementar.

3/5. Se elige el tipo de biestable que se va a utilizar en el diseño y se anota su tabla de

transiciones.

4/5. Se escribe la tabla de transiciones del contador con los posibles valores Qn(t) y Qn(t+1) de

las salidas de los biestables y los correspondientes valores de las entradas.

5/5. De la tabla del punto "4" se obtienen las funciones combinacionales de las entradas de

los biestables.

30

Page 31: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

2.3 Ejemplos de diseño de Contadores Síncronos

2.3.1 Contador síncrono generador de una secuencia

Procedimiento de diseño de un contador síncrono que realice la cuenta “0-1-8”. Utilice

biestables tipo “JK” activos en el flanco de bajada de Reloj (↓Clk).

Con los estados (2, 3, 4, 5, 6 y 7) inicie el contador a “0”.

1. NÚMERO DE BIESTABLES

La cuenta “8” implica 9 estados en el contador, el estado “0” se cuenta.

Aunque el contador tiene tres estados “0 − 1 − 8”, el mayor de los estados es “8” y por lo

tanto K = 8 + 1 = 9.

Por lo tanto, 2n-1 < 9 ≤ 2n ⇒ n = 4. Se necesitan 4 biestables, este número de

biestables (4) era de esperar, ya que “8” (el mayor de los estados) se representa “1 0 0 0”

en binario y es necesario un biestable por cada bit.

2. DIAGRAMA DE ESTADOS (0 → 1 → 8)

La secuencia del contador es “0 → 1 → 8”, pero si por error se da cualquiera de los estados

restantes (2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14 o 15) el contador pasará a “0”.

estados

2, 3, 4, 5, 6, 7, 9

10, 11, 12, 13

14, 15

1

0 8

31

Page 32: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

3. TABLA DE TRANSICIONES DEL BIESTABLE JK (↓CLK)

J K Qt Clk Qt+1

0 0 0 ↓ 0

0 0 1 ↓ 1

0 1 0 ↓ 0

0 1 1 ↓ 0

1 0 0 ↓ 1

1 0 1 ↓ 1

1 1 0 ↓ 1

1 1 1 ↓ 0

Qt→Qt+1

0→0

Qt→Qt+1

0→1

Qt→Qt+1

1→0

Qt→Qt+1

1→1

JK

00

01

JK

10

11

JK

01

11

JK

00

10

0X

1X

X1

X0

Diagrama de estados

del biestable JK.

Tabla 4. Transiciones del biestable JK y valores de las entradas

32

Page 33: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

4. TABLA 5. TRANSICIONES DEL CONTADOR “0-1-8”

Q3(t) Q2(t) Q1(t) Q0(t) Q3(t+1) Q2(t+1) Q1(t+1) Q0(t+1) J3k3 J2k2 J1k1 J0k0

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

0 0 0 1 1 0 0 0 1X 0X 0X X1

0 0 1 0 0 0 0 0 0X 0X X1 0X

0 0 1 1 0 0 0 0 0X 0X X1 X1

0 1 0 0 0 0 0 0 0X X1 0X 0X

0 1 0 1 0 0 0 0 0X X1 0X X1

0 1 1 0 0 0 0 0 0X X1 X1 0X

0 1 1 1 0 0 0 0 0X X1 X1 X1

1 0 0 0 0 0 0 0 X1 0X 0X 0X

1 0 0 1 0 0 0 0 X1 0X 0X X1

1 0 1 0 0 0 0 0 X1 0X X1 0X

1 0 1 1 0 0 0 0 X1 0X X1 X1

1 1 0 0 0 0 0 0 X1 X1 0X 0X

1 1 0 1 0 0 0 0 X1 X1 0X X1

1 1 1 0 0 0 0 0 X1 X1 X1 0X

1 1 1 1 0 0 0 0 X1 X1 X1 X1

33

Page 34: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL 5. ECUACIONES DE LAS ENTRADAS DE LOS BIESTABLES “JN, KN”

Las ecuaciones J0,1,2 y 3 y K0,1,2 y 3 son funciones de Q0,1,2 y 3.

Q3Q2

Q1Q0

00

01

11

10

00 1 0 0 0

01 X X X X

11 X X X X

10 0 0 0 0

J0 = /Q3 /Q2 /Q1 K0 = 1 = “Vcc”

J1 = 0 = “gnd” K1 = 1 = “Vcc”

Q3Q2

Q1Q0

00

01

11

10

00 X X X X

01 1 1 1 1

11 1 1 1 1

10 X X X X

Q3Q2

Q1Q0

00

01

11

10

00 0 0 0 0

01 0 0 0 0

11 X X X X

10 X X X X

Q3Q2

Q1Q0

00

01

11

10

00 X X X X

01 X X X X

11 1 1 1 1

10 1 1 1 1

Q3Q2

Q1Q0

00

01

11

10

00 X 1 1 X

01 X 1 1 X

11 X 1 1 X

10 X 1 1 X

Q3Q2

Q1Q0

00

01

11

10

00 0 X X 0

01 0 X X 0

11 0 X X 0

10 0 X X 0

J2 = 0 = “gnd” K2 = 1 = “Vcc”

34

Page 35: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

Q3Q2

Q1Q0

00

01

11

10

00 0 0 X X

01 1 0 X X

11 0 0 X X

10 0 0 X X

Q3Q2

Q1Q0

00

01

11

10

00 X X 1 1

01 X X 1 1

11 X X 1 1

10 X X 1 1

J3 = /Q2 Q0 /Q1 K3 = 1 = “Vcc”

LAS ECUACIONES RESULTANTES SON

J0 = /Q3 /Q2 /Q1 J1 = 0 = “gnd” J2 = 0 = “gnd” J3 = /Q2 Q0 /Q1

K0 = 1 = “Vcc” K1 = 1 = “Vcc” K2 = 1 = “Vcc” K3 = 1 = “Vcc”

6. IMPLEMENTACIÓN DEL CONTADOR

Figura 15 Contador síncrono de secuencia “0 → 1 → 8” y cronograma.

35

Page 36: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

VELOCIDAD BINARIA MÁXIMA DEL CONTADOR SÍNCRONO DE LA FIGURA 15

En el contador de la figura 15 (secuencia 0 → 1 → 8), para obtener un cambio en la salida

“Q0,1,2,3” basta con un pulso de reloj. En el caso de Q0 y Q3 hay que añadir al “tpd” del

biestable el “tpd” de una puerta. Si por cada biestable el tpd(B) = 20 nseg. y por cada puerta

es, tpd(P) = 10 nseg. , entonces:

VBmáx(Q1,2) = 1 / 20 nseg.

VBmáx(Q0,3) = 1 / (20+10) nseg.

V.Bmáx.(Contador)=1/(30×10-9) bps.=33.3 Mbps.

Figura 16 Concepto de Velocidad Binaria y Frecuencia

2.3.2 Contador síncrono generador de más de una secuencia

Para diseñar un contador síncrono que genere mas de una secuencia es necesario

incluir en el diseño variables combinacionales de entrada, tantas como sean necesarias en

función del número de secuencias. El número de variables combinacionales es,

2nV-1 < SB ≤ 2nV

nV = Número de Variables Combinacionales que hay que incluir.

SB = Número de Secuencias Binarias a generar por el contador.

36

Page 37: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

Diseño de un contador síncrono que genera 4 secuencias binarias

Diseñe un contador síncrono que genere 4 secuencias (a, b, c, y d) diferentes en función de

dos variables de entrada (AB).

Las secuencias son las siguientes:

a) 0-1-2-3, b) 3-2-1-0, c) 2-0-1-3 y d) 3-1-0-2.

Las variables de entrada son “AB” y las posibles combinaciones se asignarán como sigue:

AB = 00 → cuenta “a” (0-1-2-3), AB = 01 → cuenta “b” (3-2-1-0),

AB = 10 → cuenta “c” (2-0-1-3) y AB = 11 → cuenta “d” (3-1-0-2).

1. NÚMERO DE BIESTABLES

El estado “3” es el mayor en las cuatro cuentas, así pues, K = 3 + 1 = 4. El número de

estados también es 4.

Por lo tanto, 2n-1 < 4 ≤ 2n ⇒ n = 2 biestables.

2. DIAGRAMA DE ESTADOS DE LAS CUENTAS DEL CONTADOR

cuenta a) 0 1 cuenta b) 3 2

AB = 00 AB = 01

3 2 0 1

cuenta c) 2 0 cuenta d) 3 1

AB = 10 AB = 11

3 1 2 0

37

Page 38: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

3. SE ELIGEN BIESTABLES TIPO “JK”

El diagrama de estados del biestable “JK” se halló en el apartado “2.3.1.3” y es el de la figura

siguiente,

4. TRANSICIONES DEL SISTEMA (TABLA 6) Cada cuenta esta asignada a su combinación de las variables AB. A B Q1(t) Q0(t) Q1(t+1) Q0(t+1) J1 K1 J0 K0

0 0 0 0 0 1 0 X 1 X

0 0 0 1 1 0 1 X X 1

0 0 1 0 1 1 X 0 1 X

0 0 1 1 0 0 X 1 X 1

0 1 0 0 1 1 1 X 1 X

0 1 0 1 0 0 0 X X 1

0 1 1 0 0 1 X 1 1 X

0 1 1 1 1 0 X 0 X 1

1 0 0 0 0 1 0 X 1 X

1 0 0 1 1 1 1 X X 0

1 0 1 0 0 0 X 1 0 X

1 0 1 1 1 0 X 0 X 1

1 1 0 0 1 0 1 X 0 X

1 1 0 1 0 0 0 X X 1

1 1 1 0 1 1 X 0 1 X

1 1 1 1 0 1 X 1 X 0

38

Page 39: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

5. SIMPLIFICACIÓN DE FUNCIONES

J0 = /A + /B /Q1 + B Q1 K0 = /A + B /Q 1 + /B Q1 J0 = /A + B ⊗ Q1 K0 = /A + B ⊕ Q1

AB

Q1Q0

00

01

11

10

00 1 1 0 1

01 X X X X

11 X X X X

10 1 1 1 0

AB

Q1Q0

00

01

11

10

00 X X X X

01 1 1 1 0

11 1 1 0 1

10 X X X X

A B

Q1Q0

00

01

11

10

00 0 1 1 0

01 1 0 0 1

11 X X X X

10 X X X X

A B

Q1Q0

00

01

11

10

00 X X X X

01 X X X X

11 1 0 1 0

10 0 1 0 1

J1 = B /Q0 + /B Q0 K1 = /A B /Q0 + A /B /Q0 + A B Q0 + /A /B Q0 J1 = B ⊕ Q0 K1 = Q0 ⊕ A ⊕ B

39

Page 40: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

6. SÍNTESIS DEL CIRCUITO DEL CONTADOR SÍNCRONO DE 4 SECUENCIAS

Figura 17 Contador síncrono de 4 secuencias binarias. La secuencia de salida se selecciona con las combinaciones de las variables “AB”

40

Page 41: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

Capítulo 3

Registros de Desplazamiento

41

Page 42: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

42

Page 43: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

Introducción

En este capítulo se hace una clasificación y estudio de los diferentes tipos de registros

de desplazamiento en función de la adquisición (entrada) y la entrega (salida) de datos.

Se analiza el registro de desplazamiento serie-serie, serie paralelo, paralelo-serie y paralelo-

paralelo, completando así las posibles combinaciones de entrada y salida de datos en los

registros de desplazamiento.

La forma de adquisición de datos puede variar en función de la configuración que se les dé a

las entradas y salidas del circuito, para satisfacer las especificaciones del diseño de que se

trate, por ello se estudian registros con entrada paralelo en sus versiones, síncrona y asíncrona

e igualmente se tiene en cuenta las entradas asíncronas para inicializar los registros o para

controlar su funcionamiento.

Por último, se desarrolla un método sistemático para el diseño de un registro universal que

realice tantas funciones como se quieran incorporar. Así pues un registro que trabaje de 4

formas diferentes, necesitará de dos variables combinacionales de entrada para controlar su

funcionamiento (una forma con cada combinación de las variables de control o de entrada),

por ello en estos registros se incorporan variables combinacionales de control.

43

Page 44: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

3.1 Registro Serie → Serie con entrada asíncrona de “Clear”

En este ejemplo el registro esta implementado con 4 biestables tipo “D” activos en el

flanco de bajada de la señal de reloj. Este registro tiene una única entrada de datos “ES” y

una única salida de datos “SS”.

Figura 18 Registro de desplazamiento Serie-Serie de 4 bits con entrada asíncrona de “Clear”.

En el flanco de bajada de la señal de reloj “Clk”, el dato que se encuentra en “ES” pasa a la

salida del primer biestable y el dato que se encontraba en la salida del primer flip-flop pasa a

la salida del segundo siendo Qn = Qn-1, se realiza un desplazamiento de izquierda a derecha

de los datos hasta completar la carga del dato serie, después de recibir 4 pulsos de reloj.

Una vez cargado el dato en el registro serie, será en los 4 pulsos siguientes cuando el dato (4

bits) previamente cargado se habrá descargado por completo habiendo sido sustituido por un

nuevo dato.

La entrada asíncrona de “Clear” permite inicializar el registro. En el registro de la figura 18,

con “Clear” activado el registro se inicializa a cero, aunque se puede configurar para que se

inicialice con cualquier combinación utilizando la lógica combinacional necesaria.

44

Page 45: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

3.2 Registro Serie → Paralelo

La carga del dato se realiza en serie por la entrada “ES” y la entrada “LP” controla la

transferencia del dato en formato paralelo.

Figura 19 Registro Serie-Paralelo con entradas de “Preset” y “Clear”

y control de lectura “LP”.

A partir del cuarto pulso de reloj si no se habilita la señal “LP” de lectura paralelo, el dato

comenzaría a perderse. Después de haber sido cargado el dato (4 pulsos de reloj) por la

entrada serie “ES”, se habilitará la entrada “LP” de lectura paralelo ( LP = 1) pasando el dato

almacenado en el registro a las salidas combinacionales SP1..SP4.

En este caso el tiempo de lectura del último bit coincide con la descarga total del dato.

En la configuración de la figura 19 las entradas asíncronas de “Clear” y “Preset” permiten

inicializar el registro a “0000” y a “1111” respectivamente.

45

Page 46: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

3.3 Registro Paralelo → Serie

La carga del dato se controla con la entrada “CP”, la carga se realiza por las entradas

asíncronas de “Preset”.

Figura 20 Registro Paralelo-Serie con carga de datos asíncrona,

señal de “CLR” y control de carga paralelo CP.

Con la señal de Clear a “1” (no activada) y la entrada de “CP” a “1”, el dato presente en las

entradas EP1..EP4 se cargara en los flip-flop a través de las entradas de “Preset”.

La descarga se realiza en serie por la salida “SS”.

Después de 4 pulsos de reloj (CLK), el dato se habrá transferido en serie a la salida “SS”.

Debido a la configuración de este Registro (la entrada del primer biestable esta a cero “GND”)

después de cada descarga serie el dato almacenado en el Registro es “0000”. En el registro

de la figura 20 la carga de datos es asíncrona, a través de la entrada de asíncrona de “Preset”,

los pulsos de reloj necesarios para la total descarga serie del dato por “SS”, son en realidad “n

− 1”, siendo “n” el número de bits, en este ejemplo n = 4.

46

Page 47: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

3.4 Registros Paralelo → Paralelo

3.4.1 Registro Paralelo → Paralelo con entrada de datos síncrona

En esta configuración el dato de entrada EP1..EP4 se carga en paralelo por las entradas

“D” (síncronas) de los flip-flop en el flanco de bajada de la señal de reloj “Clk”, además la

carga está controlada por la entrada combinacional “CARGA”.

Figura 21 Registro Paralelo/Paralelo, entrada de datos síncrona

La lectura del dato se hace igualmente en paralelo y esta controlada por la entrada “LECTURA”.

Cuando la entrada “LECTURA” esta a “1” el dato almacenado en el registro se descarga por las

salidas SP1..SP4.

Las señales de “CARGA”, “LECTURA” y “Clk” han de estar bien sincronizadas para que este

dispositivo funcione correctamente. El registro dispone además de entrada asíncrona de

“CLEAR” para inicializar el registro a “0000” cuando sea necesario.

47

Page 48: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

CRONOGRAMA DEL REGISTRO PARALELO / PARALELO

Figura 22 Cronograma del registro Paralelo-Paralelo. Se ha tenido en cuenta el retardo síncrono y asíncrono de los biestables.

3.4.2 Registro Paralelo → Paralelo con entrada de datos asíncrona

Figura 23 Registro Paralelo/Paralelo con entrada de datos asíncrona por “Preset”.

48

Page 49: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

Registro de funcionamiento asíncrono (en ausencia de señal de reloj) las entradas que

controlan el registro de forma prioritaria son las asíncronas de “Preset” y “Clear”.

El dato de entrada EP1..EP4 se carga en paralelo por la entrada asíncrona de Preset controlado

por la señal de “CARGA”.

La salida igualmente en paralelo se descarga por las salidas de SP1..SP4 controlado por la

señal de ”LECTURA”. Si las señales de carga y descarga no se activan después de cuatro pulsos

de reloj el registro se carga de forma serie con “0000” (la entrada “D” del primer biestable

está a cero).

3.5 Método sistemático de diseño del “Registro de Desplazamiento

Universal” Para el diseño y posterior síntesis de un Registro de Desplazamiento Universal hay que

seguir los siguientes pasos,

1. Se identifican las funciones que ha de realizar el Registro.

2. Se toman variables de control y a cada una de las posibles combinaciones de

estas variables se les asigna una de las funciones del registro.

3. Se escribe la tabla de verdad del sistema, donde se incluye las variables de

control, las de entrada, las de salida, las de datos y la transición de las salidas

de los biestables.

4. Se simplifican las funciones resultantes y se implementa el circuito.

Figura 24 Esquema de un Registro de Desplazamiento Universal.

49

Page 50: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

3.6 Ejemplo de diseño de un “Registro de Desplazamiento Universal”.

Realice el diseño de un Registro de Desplazamiento bidireccional Serie→Serie de cuatro bits.

1. FUNCIONES A REALIZAR (2):

1) Desplazamiento de izquierda a derecha y

2) Desplazamiento de derecha a izquierda.

2. VARIABLES DE CONTROL, DE ENTRADA Y DE SALIDA:

Las dos funciones se controlan con una variable de control (ID).

Asignación de función a las combinaciones de las variables combinacionales:

ID = 0 ⇒ Desplazamiento de Derecha a Izquierda.

ID = 1 ⇒ Desplazamiento de Izquierda a Derecha.

ESI: Entrada de datos Serie por la Izquierda.

SSD: Salida de datos Serie por la Derecha.

ESD: Entrada de datos Serie por la Derecha.

SSI: Salida de datos Serie por la Izquierda.

Figura 25 Diagrama de bloques funcional del Registro de

Desplazamiento bidireccional del enunciado.

50

Page 51: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

3. TABLA DE TRANSICIONES DEL SISTEMA

0, desplazamiento de Derecha a Izquierda

Para ID =

1, desplazamiento de Izquierda a Derecha

ID ESI ESD Clk Q0 Q1 Q2 Q3 (t+1)

0 0 0 ↓ Q1 Q2 Q3 0 (t) Desplazamiento de

0 0 1 ↓ Q1 Q2 Q3 1 derecha a izquierda.

0 1 0 ↓ Q1 Q2 Q3 0

0 1 1 ↓ Q1 Q2 Q3 1

1 0 0 ↓ 0 Q0 Q1 Q2(t) Desplazamiento de

1 0 1 ↓ 0 Q0 Q1 Q2(t) izquierda a derecha.

1 1 0 ↓ 1 Q0 Q1 Q2(t)

1 1 1 ↓ 1 Q0 Q1 Q2(t)

Tabla 1. Registro bidireccional de 4 bits.

Ecuaciones resultantes de aplicar Karnaugh a las funciones de la tabla 1:

Q3 = / ID ∗ ESD + ID ∗ Q2

Q2 = / ID ∗ Q3 + ID ∗ Q1

Q1 = / ID ∗ Q2 + ID ∗ Q0

Q0 = / ID ∗ Q1 + ID ∗ ESI

Las funciones se pueden realizar con Multiplexores 2x1.

• Para la implementación, utilice biestables tipo “D”.

51

Page 52: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

4. SÍNTESIS DEL REGISTRO BIDIRECCIONAL DE 4 BITS:

Figura 26 Registro bidireccional de 4 bits.

SIMULACIÓN DEL REGISTRO DE LA FIGURA 7.9 CON “ID = 0”

Figura 27 Registro bidireccional. (“D” activo flanco subida)

52

Page 53: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

Capítulo 4

Generadores de Secuencias Binarias

53

Page 54: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

54

Page 55: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

Introducción

Utilizando registros de desplazamiento y la lógica combinacional complementaria se

pueden sintetizar sistemas secuénciales capaces de generar secuencias binarias concretas.

Figura 28 Esquema de un generador de secuencias binarias utilizando la arquitectura de un registro de desplazamiento serie.

55

Page 56: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

4.1 Generador de Secuencias Binarias. Método sistemático de diseño

basado en registros de desplazamiento serie.

1. Se estudia la secuencia a sintetizar

En la secuencia a generar se asigna el MSB y el LSB a los bits que corresponda.

2. Se decide, en una primera aproximación, el tamaño del registro

En principio, para sintetizar una secuencia de “2n” bits se necesitarán “n” biestables.

3. Se escribe la tabla de transiciones y el diagrama de estados

Del análisis de los estados y de la tabla, surgirá si es necesario aumentar el número de

biestables para asegurar el diseño. El número de bits repetidos y seguidos o si se repiten

estados, decidirá el aumento del número de biestables.

4. Se implementa el circuito con los componentes seleccionados

Generación de la Secuencia Binaria “10110”

Procedimiento de diseño de un generador de la secuencia binaria “10110” utilizando un

Registro de Desplazamiento y la lógica combinacional necesaria.

MSB LSB

Secuencia: 1 0 1 1 0 → 5 estados.

En principio se puede implementar con 3 biestables, 23 ≥ 5.

En la Tabla 7 se escriben las transiciones de los biestables y a partir de ésta se dibuja el

diagrama de estados del sistema síncrono resultante.

56

Page 57: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

QC QB QA

1 1 0 6 →

0 1 1 3 → 5 6 3

1 0 1 5 →

0 1 0 2 →

1 0 1 5 → 2 5

Salida de secuencia por QA

Entrada

Se repite el estado 5: 5→ 2 y 5→ 6, es una

Del estado de QA se deduce el situación inestable.

de QB y del estado QB el de QC.

Tabla 7. Sistema inestable, se repite el estado 5.

Para tratar de evitar esta situación de inestabilidad se añade otro biestable.

QD QC QB QA

0 1 1 0 6 6 11 5

1 0 1 1 11

0 1 0 1 5

1 0 1 0 10

1 1 0 1 13 13 10

Tabla 8. Sistema estable, sistema sin repetición de estados.

57

Page 58: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL Del diagrama de estados se extrae la tabla completa, estados presentes “Qt“ y futuros “Qt+1”:

QD QC QB QA (t) QD QC QB QA (t+1)

0 1 1 0 6 → 11 1 0 1 1

1 0 1 1 11 → 5 0 1 0 1

0 1 0 1 5 → 10 1 0 1 0

1 0 1 0 10 → 13 1 1 0 1

1 1 0 1 13 → 6 0 1 1 0

↑ ↑

estado anterior estado presente

Tabla 9. Generador de la secuencia 10110.

Aplicando “Karnaugh” en la Tabla 9, resultan las siguientes expresiones simplificadas para

los estados QN (t+1), QA(t+1) = QB(t) ; QB(t+1) = QC(t) ;

QC(t+1) = QD(t) ; QD(t+1) = / QA(t) + / QD(t).

SÍNTESIS DEL CIRCUITO

Figura 29 Circuito generador de la secuencia binaria “10110”

58

Page 59: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

VELOCIDAD BINARIA MÁXIMA DEL SISTEMA

Todos los biestables comparten la señal de reloj por lo tanto el cambio es simultaneo en todos

los biestables. El biestable mas lento en cambiar es QD, ya que la entrada es a través de una

puerta NAND, por lo tanto hay que evaluar este biestable para la velocidad binaria máxima

del sistema.

tpd B = retardo de un biestable.

tpd P = retardo de una puerta.

VBmáx = 1 / (tpd B + tpd P) bits/seg.

4.2 Generadores de Secuencias Binarias Múltiples y Simultáneas /

Método Sistemático de Diseño.

INTRODUCCIÓN

En un generador de secuencias binarias además de la salida funcional existen otros

puntos del circuito susceptibles de ser utilizados como salidas para implementar otras

funciones, pudiéndose obtener un sistema multifunción en el mismo circuito.

Para implementar un sistema que genere más de una secuencia en el mismo circuito el

diseñador tendrá que utilizar un método de diseño que contemple todas las secuencias que se

desean implementar desde el inicio o planteamiento del diseño. Mas adelante, en este

apartado, se expone el “Método Sistemático” propuesto para el diseño de “Generadores de

Secuencias Binarias Múltiples y Simultáneas.

Al estar generándose todas las secuencias al mismo tiempo, se podrá disponer de ellas de dos

maneras, 1) en paralelo o simultaneas y 2) seleccionando una de ellas en un punto común de

salida, para esto último es necesario incluir variables combinacionales de control y selección

(Cs0..Csn).

59

Page 60: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL Al tener varias secuencias binarias generadas en el mismo circuito se consigue que el

sincronismo de todas las señales generadas sea perfecto, cosa que sería prácticamente

imposible con circuitos mono-función. En sistemas de altas prestaciones o simplemente

trabajando con frecuencias muy altas, esta última es una ventaja a tener muy en cuenta y por

si sola justificaría el método de diseño propuesto.

ESQUEMÁTICO GENÉRICO DE UN SISTEMA GENERADOR DE SECUENCIAS

BINARIAS MÚLTIPLES Y SIMULTÁNEAS

Figura 30 Sistema Generador de “n+1” Secuencias Binarias “F0..Fn”, con

”m+1” entradas combinacionales de control“C0..Cm” y una salida “Fs”.

60

Page 61: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

MÉTODO SISTEMÁTICO DE DISEÑO DEL GENERADOR DE SECUENCIAS BINARIAS

MÚLTIPLES Y SIMULTÁNEAS

Para la implementación de un circuito generador de secuencias binarias múltiples hay que

seguir los 4 pasos siguientes,

1/4 Se comprueban las características de las secuencias a generar, concretamente el

número de secuencias y el número de bits por secuencia.

2/4 Una vez catalogadas las secuencias a generar se escribe la tabla inicial de transiciones

con el número de combinaciones correspondiente.

Las secuencias se catalogaran según los criterios siguientes,

a) Solo hay una secuencia.

El número de combinaciones de la tabla es el número de bits de la secuencia.

b) Hay más de una secuencia y todas son del mismo número de bits.

El número de combinaciones de la tabla es el número de bits de una de ellas.

c) Hay mas de una secuencia y todas no son del mismo número de bits.

El número de combinaciones de la tabla es el Mínimo Común Múltiplo del número de

bits de cada secuencia.

3/4 Se comprueba que la tabla de estados resultante sea estable, es decir, que no se repitan

estados. Si se repiten estados se añade un bit a la tabla (se multiplica por dos el número

de estados) y se comprueba de nuevo. A los bits añadidos se le dan valores en la tabla

para que no se repitan estados. Si no es suficiente con 1 bit, se repite la acción hasta que

el sistema sea estable.

4/4 A partir de este momento se trata y finaliza el diseño como si se tratara de un contador

síncrono, es decir siguiendo los pasos siguientes,

A) Elección de biestables, diagrama de estados y tabla de transiciones,

B) Definición y simplificación de funciones y C) Implementación del circuito.

Si el diseñador opta por tener solo una de las “n” secuencias generadas, en un punto “Fs”,

tendrá que incluir “m” variables combinacionales de control de entrada e implementar el

“Diseño Combinacional 2” de la Figura 30.

Un MUX de “m” entradas de selección y “n = 2m“ entradas de datos, será la mejor opción

para este diseño.

61

Page 62: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

4.3 Generación de las secuencias binarias “00111010”, “10110010” y

“10011011”. Diseñe por el método de “Secuencias Múltiples”.

La secuencia número tres, “1 0 0 1 1 0 1 1”, coincide con la palabra de alineamiento de

trama del flujo “E1“ de la “JDP” de la “ETSI”.

1. COMPROBACIÓN DE CARACTERÍSTICAS DE LAS SECUENCIAS

Por observación se comprueba que son 3 secuencias (“0 0 1 1 1 0 1 0”, “1 0 1 1 0 0 1 0”

y “1 0 0 1 1 0 1 1” ) de 8 bits cada una.

2. CATALOGAR LAS SECUENCIAS, TABLA DE TRANSICIÓN INICIAL

Hay 3 secuencias pares de 8 bits cada una.

Cálculo del número de combinaciones de la “tabla de transición inicial”:

Apartado “2.b” del método de diseño. Secuencias pares, al ser las 3 secuencias iguales

(mismo número de bits) el número de combinaciones es el número de bits de una de ellas, 8. LA TABLA INICIAL (Tabla 10) TENDRÁ 8 FILAS, UNA POR CADA COMBINACIÓN Y 3

SALIDAS UNA PARA CADA SECUENCIA.

”00111010”

QC

”10110010”

QB

“10011011”

QA

Estado

0 1 1 3

0 0 0 0

1 1 0 6

1 1 1 7

1 0 1 5

0 0 0 0

1 1 1 7

0 0 1 1

Tabla 10. El sistema de la tabla inicial no es estable, se repiten los estados “7” y “0”.

Se añade un bit para eliminar los estados repetidos.

62

Page 63: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

TABLA INICIAL DEFINITIVA

Bit

QD

”00111010”

QC

”10110010”

QB

“10011011”

QA

Estado

0 0 1 1 3

0 0 0 0 0

1 1 1 0 14

1 1 1 1 15

1 1 0 1 13

1 0 0 0 8

0 1 1 1 7

0 0 0 1 1

Tabla 11. El sistema de la tabla con el bit añadido si es estable, no se repite ningún estado.

El sistema esta preparado para su diseño.

Al añadir un bit se ha generado otra secuencia binaria en el sistema, QD = ”00111100”.

3. ELECCIÓN DE BIESTABLES, DIAGRAMA DE ESTADOS Y TABLA DE

TRANSICIONES DEL GENERADOR

2-4-5-6 3 0 14 15

9-10-11

y 12

1 7 8 13

Todas las posibles combinaciones de 4 bits (0 0 0 0..1 1 1 1, del estado 0 al 15) que no se

encuentren incluidas en el diagrama de estados, evolucionaran al estado “3”.

Se eligen biestables tipo “jk” para la implementación del sistema

63

Page 64: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

TABLA DE TRANSICIONES DEL

GENERADOR DE SECUENCIAS.

QD QC QB QA QD QC QB QA JDKD JCKC JBKB JAKA

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

0 0 0 1 0 0 1 1 0X 0X 1X X0

0 0 1 0 0 0 1 1 0X 0X X0 1X

0 0 1 1 0 0 0 0 0X 0X X1 X1

0 1 0 0 0 0 1 1 0X X1 1X 1X

0 1 0 1 0 0 1 1 0X X1 1X X0

0 1 1 0 0 0 1 1 0X X1 X0 1X

0 1 1 1 0 0 0 1 0X X1 X1 X0

1 0 0 0 0 1 1 1 X1 1X 1X 1X

1 0 0 1 0 0 1 1 X1 0X 1X X0

1 0 1 0 0 0 1 1 X1 0X X0 1X

1 0 1 1 0 0 1 1 X1 0X X0 X0

1 1 0 0 0 0 1 1 X1 X1 1X 1X

1 1 0 1 1 0 0 0 X0 X1 0X X1

1 1 1 0 1 1 1 1 X0 X0 X0 1X

1 1 1 1 1 1 0 1 X0 X0 X1 X0

4. SIMPLIFICACIÓN POR KARNAUGH DE LAS ECUACIONES RESULTANTES

JA = QB + QC + QD

JB = /QA + /QC + /QD

JC = /QA ∗ /QB

JD = /QA ∗ /QB ∗ /QC

KA = (/QB ∗ QC ∗ QD) + (QB ∗ /QC ∗ /QD)

KB = QA ∗ (QC + /QD)

KC = /QB + /QD

KD = /QA ∗ /QB + /QC

64

Page 65: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

5. IMPLEMENTACIÓN Y SIMULACIÓN DEL GENERADOR DE SECUENCIAS

Figura 31 Simulación del Generador de Secuencias

Binarias Múltiples y Simultáneas del enunciado.

Figura 32 Circuito resultante del generador de las secuencias binarias “00111010”,

“10110010” y “10011011”, por el método de “Secuencias Múltiples”

65

Page 66: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

66

Page 67: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

Capítulo 5

Máquinas Secuénciales Finitas / Autómatas de

Mealy y Moore

67

Page 68: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

68

Page 69: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

Introducción

Para que un Sistema Síncrono se pueda definir como un Autómata o Maquina Secuencial ha

de estar constituido por elementos de memoria y debe existir un lazo de realimentación entre

salida y entrada del circuito.

Las características fundamentales de una máquina secuencial son,

1) la salida depende del tiempo, ya que para una misma entrada se pueden obtener distintas

salidas según el estado interno en que se encuentre el circuito y 2) el sistema necesita una

realimentación de la salida a la entrada, la causa es la necesidad de almacenar el estado

anterior del circuito. El elemento intermedio es la memoria del sistema.

5.1 Clasificación de los Autómatas

Figura 33 Autómata de Mealy. Figura 34 Autómata de Moore.

69

Page 70: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL ESTRUCTURA MEALY

El diagrama de bloques de una estructura Mealy está representado en la Figura 35. Por

observación de la estructura Mealy se deduce que la salida depende de la entrada y del estado

interno presente, es decir, la salida esta asociada a la transición.

Diagrama de estados de una estructura Mealy:

E0 e1 / Z1 E1

transición

E0 y E1 = Estados internos

e1 = Entrada. Z1 = Salida.

Figura 35 Diagrama de flujo de un autómata “Mealy”.

Si el autómata representado por el diagrama de flujo anterior, se encontraba inicialmente en

el estado interno E0, al presentarse la entrada e1 evolucionará al estado interno E1 y se

obtendrá la salida Z1.

ESTRUCTURA MOORE

En la Figura 36 se representa la estructura de un autómata Moore. En el autómata Moore la

salida en un instante determinado responde solo y exclusivamente del estado interno del

circuito y este a su vez es función del estado interno y de las entradas externas de control.

70

Page 71: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

Diagrama de estados de una estructura Moore:

e1

E0/Z1 E1/Z2

E0, E1 = estados internos

Z1, Z2 = salidas

e1 = entrada de control.

Figura 36 Diagrama de flujo de un autómata “Moore”.

En la estructura Moore la salida depende del estado interno y la evolución entre estados

depende de las entradas de control externas y del estado interior.

CAMBIO DE ESTRUCTURA DE UN AUTÓMATA

Si el autómata de estructura Mealy es homogéneo, todas las transiciones hacia un estado

llevan asociada la misma salida, al pasar a Moore, al estado se le asocia dicha salida.

HOMOGÉNEO

a / Z1 a

b / Z1 E0 b E0/Z1

Mealy Moore

71

Page 72: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL NO HOMOGÉNEO

a / Z0 a

E0/Z0

b / Z1 E0

b E0/Z1

- Mealy - - Moore -

Figura 37 Conversión de estructuras Moore ↔ Mealy.

5.2 Fases de diseño de Sistemas Secuénciales Síncronos / Autómatas

Los autómatas están implementados por circuitos que incluyen biestables controlados por la

misma señal de reloj, activados por flanco. Para que el diseño realizado sea eficiente se ha de

seguir las siguientes pautas en la elaboración del sistema:

1) Partiendo de las especificaciones de diseño o de los requisitos de la aplicación particular,

se determina el número de entradas y de salidas que tendrá el sistema.

2) Se obtiene el diagrama de flujo que cumpla las condiciones de diseño. En este punto se

decide la estructura que se la dará al sistema, Moore o Mealy.

Existe otra forma de esquematizar el funcionamiento del autómata, por medio de la tabla de

estados. En la figura 38 se aprecia un diagrama de flujo y la tabla de estados para una

estructura Mealy y una estructura Moore respectivamente.

72

Page 73: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

ESTRUCTURA MEALY

entrada

1/0 ↓

0/0 E0 E1 0 1

0/0 E0 E0/0 E1/0

1/0

0/0 E1 E0/0 E2/0

E2 1/1 E2 E0/0 E2/1

↑ ↑

estados internos salida

ESTRUCTURA MOORE

entrada

0 1 Z(t)

1 A A B 0

0 A/0 B/0

0 B A C 0

0 0 1 C A D 0

D A D 1

1 D/1 1 C/0 ↑ ↑

estados internos salida

Figura 38 Diagrama de flujo y tabla de estados Mealy y Moore

73

Page 74: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL 3) Reducción de “Estados Equivalentes” mediante la aplicación de las técnicas de clases de

equivalencia o tablas de implicación.

4) Codificación de los estados internos, entradas y salidas del circuito. Se recomienda

utilizar una codificación en binario natural.

5) Obtención del número de biestables que se van a utilizar, al igual que proceder a una

selección de los mismos. El número de biestables dependerá del número de estados según

la siguiente relación:

2n-1 < Em ≤ 2n Em = número de estados. n = número de biestables.

El número “n” de biestables coincide con el número de bits que estamos utilizando en la

codificación de los estados internos.

6) Elaboración de la tabla de transiciones, tabla de excitación y tabla de salida.

7) Obtención y minimización de las ecuaciones de excitación de biestables y de las

ecuaciones de salida, utilizando las técnicas de simplificación conocidas.

8) Estudio de los estados no definidos por el sistema, comprobando que estos estados no

forman bucle aparte y asegurándose que se incorporan al ciclo principal.

9) Implementación del circuito.

De las 9 fases en que se ha dividido el diseño de un autómata la única que no se ha estudiado

hasta ahora, en el diseño de sistemas secuénciales, es la fase tres de “reducción de estados

equivalentes”, por lo tanto es la que se detallará a continuación.

74

Page 75: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

REDUCCIÓN DE ESTADOS EQUIVALENTES

Para ver el proceso a seguir se hará con un ejemplo en el que, mas adelante, se aplica el

sistema de reducción de “Tablas de Equivalencia”.

Figura 39 Diagrama de flujo de un autómata con estructura “Mealy”

TABLA DE ESTADOS DEL AUTÓMATA DE LA FIGURA 8.26

Estados

Internos

Entrada

e = 0

Entrada

e = 1

M P / 1 Q / 0

N R / 0 M / 1

T R / 0 Q / 0

P M / 1 S / 0

Q N / 1 R / 0

R R / 0 Q / 0

S N / 1 T / 0

75

Page 76: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL 1. Primero se agrupan todos los estados que tienen las mismas salidas para los mismos

valores de las señales de entrada. A estas agrupaciones se les denomina “Clases de

Equivalencia”.

LAS CLASES DE EQUIVALENCIA QUE SE PUEDEN DISTINGUIR SON

e = 0 ⇒ Salida = 1 M A esta agrupación la llamaremos

Para P “Clase de Equivalencia 1”.

e = 1 ⇒ Salida = 0 Q

S

e = 0 ⇒ Salida = 0 T A esta agrupación la llamaremos

Para “Clase de Equivalencia 2”.

e = 1 ⇒ Salida = 0 R

e = 0 ⇒ Salida = 0 A esta agrupación la llamaremos

Para N “Clase de Equivalencia 3”.

e = 1 ⇒ Salida = 1

2. En el siguiente paso se estudian las clases de equivalencias y se deduce cuales son

equivalentes dentro de cada clase para así poder simplificar el número total de estados del

sistema.

SOLO PODRÁN SER EQUIVALENTES ESTADOS DE UNA MISMA CLASE.

Para ver las equivalencias de cada “Clase” se comprueba a que “Clase” (a que estado

perteneciente a la Clase) evolucionan los estados internos de cada “Clase” en función de las

entradas.

76

Page 77: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

ELIMINACIÓN DE ESTADOS EQUIVALENTES

Clase 1 Clase 2 Clase 3

M P Q S T R N

e = 0 1 1 3 3 2 2 2 ← Clases a las que evolucionan

e = 1 1 1 2 2 1 1 1 los estados internos.

↓ ↓ ↓ ↓

E0 E1 E2 E3 ← Nuevo grupo de estados

En la “Clase-1”, se puede eliminar dos estados (los estados “M,P” y “Q,S” son iguales, se

decide eliminar los estados “P” y “S”).

En la “Clase-2”, se puede eliminar un estado (los estados “T y R” son iguales, se decide

eliminar el estado “R”).

En la “Clase-3”, no hay eliminación al tener solo un estado.

La nueva tabla de estados queda (reasignación de estados),

E0 = M y P.

E1 = Q y S.

E2 = T y R.

E3 = N.

Tabla de estados con los estados equivalentes eliminados,

e = 0 e = 1

E0 E0 / 1 E1 / 0

E1 E3 / 1 E2 / 0

E2 E2 / 0 E1 / 0

E3 E2 / 0 E0 / 1

77

Page 78: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL Diagrama de estado del autómata simplificado,

Figura 40 Diagrama de estados simplificado

En el proceso de simplificación cada clase de equivalencia se divide en tantas subclases como

combinaciones diferentes existan. Esta subdivisión de clases se aplica hasta que no se

admitan mas divisiones.

El proceso se repite de igual forma con la tabla y diagrama de estados simplificados, hasta

que se compruebe que ya no existen estados equivalentes.

78

Page 79: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

5.3 Ejemplo de diseño de Autómatas

Diseñe un Autómata que divida por tres la frecuencia de una señal de entrada “e”, en una

salida “S”. Simplifique por clases de equivalencia y utilice flip-flop tipo “D” y la lógica

combinacional necesaria.

e = 010101 / 010101 / 010101 / 010101 / 010101… (t)

S = 000001 / 000001 / 000001 / 000001 / 000001 …(t)

* Para cualquier otra secuencia de la señal “e” de entrada la señal “S” de salida vale cero.

Solución:

1. DIAGRAMA DE ESTADOS DEL SISTEMA

1/0

0/0 1/0 0/0 1/0 0/0 1/1

E0 E1 E2 E3 E4 E5

0/0 1/0 0/0 1/0 0/0

0/0 E6

1/0

2. TABLA DE ESTADOS

Estado E = 0 E = 1

E0 E1 /0 E0 /0

E1 E0 /0 E2 /0

E2 E3 /0 E0 /0

E3 E0 /0 E4 /0

E4 E5 /0 E0 /0

E5 E0 /0 E6 /1

E6 E1 /0 E0 /0

79

Page 80: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

3. REDUCCIÓN DE ESTADOS POR CLASES DE EQUIVALENCIA

Clase 1

E0 E1 E2 E3 E4 E6

e = 1 0 1 0 1 0 1 0 1 0 1 0

E1 E0 E0 E2 E3 E0 E0 E4 E5 E0 E1 E0

Nuevos ↓ ↓ ↓ ↓ ↓ ↓

Estados A B C D E A

Clase 2

E5

e = 1 0

E0 E6 Los nuevos estados son A-B-C-D-E y F

Nuevo ↓ Se ha reducido un estado, se ha pasado de 7 a 6 estados.

Estado F

4. TABLA DE ESTADOS REDUCIDA

Estado E = 0 e = 1

A B / 0 A / 0

B A / 0 C / 0

C D / 0 A / 0

D A / 0 E / 0

E F / 0 A / 0

F A / 0 A / 1

En la tabla se observa que no es posible otra reducción de estados.

80

Page 81: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

5. CODIFICACIÓN DE LOS NUEVOS ESTADOS

Para codificar seis estados son necesarios n “2n-1 < 6 ≤ 2n” bits ⇒ n =3 bits.

A = 000, B = 001, C = 010, D = 011, E = 100 y F = 101.

6. NUEVO DIAGRAMA DE ESTADOS DEL SISTEMA

1/0

0/0 1/0 0/0 1/0 0/0

A B C D E

0/0 1/0 0/0 1/0

0/0

1/1 F

7. TABLA DE TRANSICIONES

e Qc(t) Qb(t) Qa(t) Qc(t+1) Qb(t+1) Qa(t+1) Dc Db Da S

0 0 0 0 0 0 1 0 0 1 0

0 0 0 1 0 0 0 0 0 0 0

0 0 1 0 0 1 1 0 1 1 0

0 0 1 1 0 0 0 0 0 0 0

0 1 0 0 1 0 1 1 0 1 0

0 1 0 1 0 0 0 0 0 0 0

0 1 1 0 0 0 0 0 0 0 0

0 1 1 1 0 0 0 0 0 0 0

1 0 0 0 0 0 0 0 0 0 0

1 0 0 1 0 1 0 0 1 0 0

1 0 1 0 0 0 0 0 0 0 0

1 0 1 1 1 0 0 1 0 0 0

1 1 0 0 0 0 0 0 0 0 0

1 1 0 1 0 0 0 0 0 0 1

1 1 1 0 0 0 0 0 0 0 0

1 1 1 1 0 0 0 0 0 0 0

81

Page 82: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

8. FUNCIONES SIMPLIFICADAS Y SÍNTESIS DEL CIRCUITO

Da = /E ∗ /Qa ∗ (/Qc + /Qb ∗ Qc)

Db = /Qc ∗ (/E ∗ /Qa ∗ Qb + Qa ∗ /Qb)

Dc = /E ∗ /Qa ∗ /Qb ∗ Qc + Qa ∗ Qb ∗ /Qc

S = E ∗ Qa ∗ /Qb ∗ Qc

SÍNTESIS DEL CIRCUITO

Figura 41 Simulación i Circuito del autómata del enunciado.

82

Page 83: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

Apéndice ⎯⎯⎯⎯⎯

Ejemplos y Aplicaciones

83

Page 84: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

84

Page 85: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

A1. CONTADOR ASÍNCRONO

A1.1 Diseñe un contador asíncrono ascendente de módulo 8, que genere la secuencia “0 →

1 → 2 → 3 → 4 → 5 → 6 → 7 → 0”.

Utilice biestables activos en el flanco de bajada de la señal de reloj y los elementos

combinacionales necesarios.

El diseño de este tipo de contador es intuitivo.

Teniendo en cuenta la arquitectura de los contadores asíncronos, la utilización de biestables

tipo “T” y condicionando el diseño al flanco de disparo de los biestables, el diseño del

contador propuesto es el de la figura siguiente:

Figura 42 Contador Asíncrono ascendente de módulo 8. Circuito eléctrico, tabla de estados

y cronograma con dos secuencias completas.

Simultáneamente al contador ascendente, en las “/Qn” se genera un contador descendente de

módulo 8, “7 → 6 → 5 → 4 → 3 → 2 → 1 → 0 → 7”

85

Page 86: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

A1.2 Diseñe un contador asíncrono ascendente de módulo 6, “0 → 1 → 2 → 3 → 4 → 5 →

0”.

Utilice biestables activos en el flanco de bajada de la señal de reloj y los elementos

combinacionales necesarios.

Al tratarse de una secuencia ascendente la arquitectura del contador del apartado “A1.1” seria

la apropiada. Además en este contador hay que tener en cuenta que la secuencia no se

completa por lo tanto hay que detectar el estado desde el que queremos inicializar el contador

a “0”, primer estado de la secuencia. Al ser el estado “5” el último antes del reinicio de la

secuencia, hay que detectar el siguiente, “el estado 6”, e inicializar el contador a “0”, así el

contador pasará del estado “5” al “0”, completando la secuencia del enunciado.

Figura 43 Contador Asíncrono ascendente de módulo 6. Circuito eléctrico, tabla de estados

y cronograma con dos secuencias completas.

86

Page 87: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

DETECTOR COMBINACIÓN BINARIA “110”

Por lo tanto hay que diseñar un detector para la secuencia binaria “110” y utilizar su salida

para inicializar el contador a “000”.

La salida del detector de la figura 44, se

pondrá a “0” para la combinación “110”

de las señales de entrada, permaneciendo

a “1” para las restantes combinaciones. Figura 44 Detector, activo a nivel bajo,

de la combinación binaria “110”.

La salida del detector de la secuencia “110” se diseña activa a nivel bajo, para poder activar

correctamente las entradas asíncronas de “Clear” de los biestables que se utilizan en este

diseño, ya que son activas a nivel bajo. La puerta NAND que se utiliza como detector es de

tres entradas, para así poder detectar el estado “110”.

El inversor del bit “Qa”, a la entrada de la puerta NAND, podría omitirse si se elige “/Qa” en

lugar de “Qa”. De hecho podría omitirse totalmente la entrada “Qa” ya que la primera vez

que este contador tiene “Qb” y “Qc” a “1” es en el estado “110”, por lo tanto con una puerta

NAND de dos entradas se podría conseguir la misma función.

SINCRONISMO

En la figura 43 se puede apreciar el circuito propuesto para implementar la secuencia del

enunciado. Es de resaltar el hecho de haber considerado tanto la puerta NAND como las

entradas asíncronas de “Clear” de los biestables, ideales, es decir sin retardo de propagación

alguno, de no haber sido así, durante los tiempos de propagación de la puerta y de la entrada

asíncrona de Clear la secuencia “110” del contador habría estado presente en el cronograma,

es de suponer que en este tipo de contador la frecuencia de reloj es mucho mas baja de lo que

puede representar los tiempos de propagación de los componentes, de lo contrario el contador

no seria funcional, siendo esta una de las limitaciones mas importantes a tener en cuenta en

este tipo de contadores.

87

Page 88: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

A1.3 Diseñe un contador asíncrono descendente de módulo 4, “5 → 4 → 3 → 2→ 5”.

Utilice biestables activos en el flanco de bajada de la señal de reloj y los elementos

combinacionales necesarios.

En este caso, al tratarse de una secuencia descendente la arquitectura del contador del

apartado “A1.1” también sería la apropiada, si seleccionamos las salidas ”/Qn” en lugar de

las salidas “Qn”. Además en este contador hay que tener en cuenta que la secuencia no se

completa, por lo tanto hay que detectar el estado desde el que queremos inicializar el

contador. El último estado de la secuencia antes del reinicio es el “2”, por lo tanto hay que

detectar el siguiente, “el estado 1”, e inicializar el contador a “5”, así el contador pasará del

estado “2” al “5”, completando la secuencia del enunciado.

Figura 45 Contador asíncrono descendente de módulo 4. Circuito eléctrico, tabla de

estados y cronograma con una secuencia completa.

88

Page 89: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

En la figura 45 se puede apreciar el circuito propuesto para la implementación del contador

descendente de modulo 4 del enunciado. En este caso el detector de la secuencia “001” se ha

diseñado con la salida activa a nivel bajo (puerta NAND), ya que los biestables que se han

utilizado tienen las entradas asíncronas de “Preset” y de “Clear” activas a nivel bajo.

Figura 46 Detector, activo a nivel bajo, del estado “001”

DETECTOR COMBINACIÓN BINARIA “001”

Los inversores de las entradas de la puerta NAND, “/Qb” y “/Qc” podrían omitirse si se

eligen como entradas las salidas “Qb” y “Qc” en lugar de las negadas. La salida del detector

estará a “0” para la combinación binaria “001”, permaneciendo a “1” para las restantes

combinaciones.

RESET CONTADOR

La salida del detector se lleva a las entradas asíncronas de “Clear” de los biestables “Qa” y

“Qc” y a la entrada de “Preset” del biestable “Qb”, esto genera una salida en “Qn” igual a

“010” y una salida en “/Qn” igual a “101”, al ser esta última la que se esta contemplando

desde el punto de vista funcional, podremos decir que el contador se reinicia a “101”.

SINCRONISMO

Como en los casos anteriores se ha considerado que los componentes del detector y las

entradas asíncronas de los biestables son ideales, con tiempo de propagación nulo, de no

haber sido así la secuencia binaria “K + 1 = 0 0 1” se contemplaría en el cronograma durante

la suma de los tiempos de propagación de la puerta NAND los inversores (si se utilizan) y las

entradas asíncronas de “Preset” y de “Clear” de los biestables.

Igualmente es interesante comentar que en este tipo de contador la frecuencia de reloj se

supone mucho mas baja que las frecuencias de corte asociadas a los componentes del detector

y a las entradas asíncronas del propio biestable.

89

Page 90: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

A2. CONTADOR SÍNCRONO

A2.1 Diseñe un contador síncrono ascendente de módulo 8, “0 → 1 → 2 → 3 → 4 → 5 → 6

→ 7 → 0”.

Utilice biestables “JK” y la lógica combinacional necesaria. Solución: 1. NÚMERO DE BIESTABLES Y DIAGRAMA DE ESTADOS DEL CONTADOR NÚMERO DE BIESTABLES, La secuencia a generar es 0-1-2-3-4-5-6-7= 8 estados y el mayor de los estados es “7”. 2n-1 < K ≤ 2n, siendo K el número de estados (K = 7 + 1 = 8), 2n-1 < 8 ≤ 2n ⇒ n = 3 biestables. DIAGRAMA DE ESTADOS, 0 1 2 3 7 6 5 4

90

Page 91: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

2. TABLA DE TRANSICIONES

Q2(t) Q1(t) Q0(t) Q2(t+1) Q1(t+1) Q0(t+1) J2 K2 J1 K1 J0 K00 0 0 0 0 1 0X 0X 1X 0 0 1 0 1 0 0X 1X X1 0 1 0 0 1 1 0X X0 1X 0 1 1 1 0 0 1X X1 X1 1 0 0 1 0 1 X0 0X 1X 1 0 1 1 1 0 X0 1X X1 1 1 0 1 1 1 X0 X0 1X 1 1 1 0 0 0 X1 X1 X1

3. SIMPLIFICACIÓN DE FUNCIONES

J2 Q2 Q1 K2 Q2 Q1 Q0 00 01 11 10 Q0 00 01 11 10

0 0 0 X x 0 X X 0 0

1 0 1 X X 1 X X 1 0

J2 = K2 = Q1∗Q0

J1 Q2Q1 K1 Q2 Q1 Q0 00 01 11 10 Q0 00 01 11 10

0 0 X X 0 0 X 0 0 X

1 1 X X 1 1 X 1 1 X

J1 = K1 = Q0

J0 Q2 Q1 K0 Q2 Q1 Q0 00 01 11 10 Q0 00 01 11 10

0 1 1 1 1 0 X X X X

1 X X X X 1 1 1 1 1

J0 = K0 = ”1” = Vcc

91

Page 92: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

4. IMPLEMENTACIÓN DEL CIRCUITO

Figura 47 Contador síncrono ascendente de módulo 8

92

Page 93: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

A2.2 Diseñe un contador síncrono ascendente de módulo 256 (0..255). Utilice diseño intuitivo para su implementación. Solución: En este diseño la solución utilizando el “Método Sistemático” no es la mas fácil, ya que la tabla de transiciones a la que daría lugar este diseño tendría 256 filas, lo que haría de su solución una labor muy tediosa, además no se podría utilizar las tablas de karnaugh para la simplificación de las funciones resultantes ya que tampoco sería el mejor método para simplificar funciones de 8 variables. Como se vera el método que nos da la solución es muy fácil de implementar y se consigue por simple observación de una tabla de transiciones de un contador ascendente cualquiera. 1. NÚMERO DE BIESTABLES Y DIAGRAMA DE ESTADOS DEL CONTADOR NÚMERO DE BIESTABLES, 2n-1 < K ≤ 2n, donde “K” es el número de estados (K = 255 + 1 = 256), 2n-1 < 256 ≤ 2n ⇒ n = 8 biestables. 0 1 …….. 254 255

Diagrama de estados del contador síncrono ascendente de módulo 256

93

Page 94: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

2. TABLA DE TRANSICIONES

Q2 Q1 Q0 “Decimal” Q3 Q2 Q1 Q0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 2 0 0 1 0 0 1 1 3 0 0 1 1 1 0 0 4 0 1 0 0 1 0 1 5 0 1 0 1 1 1 0 6 0 1 1 0 1 1 1 7 0 1 1 1 8 1 0 0 0 9 1 0 0 1 10 1 0 1 0 11 1 0 1 1 12 1 1 0 0 13 1 1 0 1 14 1 1 1 0 15 1 1 1 1

Tabla A2.1 Transiciones de un contador ascendente de 8 estados (0..7) y de un contador ascendente de 16 estados (0..15)

En el contador de módulo 8 de la tabla A2.1, se puede observar que cuando el bit de menor

peso “Q0” esta a “1”, en el siguiente pulso de reloj, el bit siguiente en peso “Q1” bascula,

cambia de “0” a “1” o de “1” a “0”, igualmente cuando los dos bits de menor peso “Q0 y Q1”

están a “1”, en el siguiente pulso de reloj el bit siguiente en peso “Q2” también bascula y en

la tabla de módulo 16 también ocurre los mismo para “Q3” cuando “Q0, Q1 y Q2” están a “1”.

Este comportamiento seguiría de forma indefinida, de manera que el bit “Qn” basculará, de

“0” a “1” o de “1” a “0”, en el siguiente pulso de reloj después de que todos los bits de menor

peso que “Qn” estén a “1”. De forma anecdótica, podría decirse que este comportamiento

tiene que ver con la geometría de la numeración binaria dispuesta en columnas como ocurre

en las tablas anteriores, donde las flechas indican el momento de basculación de los bits.

Siguiendo la evolución de la tabla de transiciones de un contador ascendente se puede intuir

fácilmente que dispositivo podría implementar la función que da lugar a la secuencia binaria

de la tabla, nos referimos al biestable tipo “T”, ya que este biestable bascula con T = ”1” y

mantiene el dato con T = ”0”.

94

Page 95: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

CIRCUITO DEL CONTADOR SÍNCRONO DE MÓDULO 8 DE LA TABLA A2.1

Figura 48 Contador síncrono ascendente de módulo 8

El bit de menor peso se implementa con un biestable tipo “T” con su entrada “T = 1”, al

hacer esto el biestable estará basculando mientras exista pulso de reloj, por lo tanto el bit de

menor peso (Q0 = 20) queda así implementado. Para el bit de peso “21“ bastará con utilizar la

salida del bit “Q0” como la entrada del biestable que le implementa, así el siguiente biestable

basculará cuando el bit “Q0 = 1”, quedaría así implementado el segundo bit. Para

implementar el tercer bit (Q2 = 22) bastará con utilizar una puerta AND cuyas entradas sean

las salidas de los dos biestables anteriores y cuya salida sea la entrada del biestable que

implementa el bit “Q2”, la salida de la puerta AND estará a “1” cuando lo estén los dos bits

anteriores y será entonces cuando bascule el bit “Q2”.

CIRCUITO DEL CONTADOR SÍNCRONO DE MÓDULO 16 DE LA TABLA A2.1

Figura 49 Contador síncrono ascendente de módulo 16

95

Page 96: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

CIRCUITO DEL CONTADOR SÍNCRONO ASCENDENTE DE MÓDULO 2n

Figura 50 Contador síncrono ascendente de módulo 2n

3. IMPLEMENTACIÓN DEL CIRCUITO

Figura 51 Contador síncrono ascendente de módulo 28 = 256.

En /Qn el contador es descendente de módulo 256.

SIMULACIÓN DEL CONTADOR SÍNCRONO ASCENDENTE DE MÓDULO 256

Figura 52 Simulación del contador síncrono ascendente de módulo 28 = 256.

96

Page 97: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

A2.3 Diseñe un contador síncrono que en función del valor de una variable combinacional “C” genere las secuencias binarias (7→6→5→4→3→2→1→0) con “C = 0” y (0→2→4→6→1→3→5→7) con “C = 1”. Utilice biestables tipo JK y los dispositivos combinacionales necesarios. Solución: 1. NÚMERO DE BIESTABLES Y DIAGRAMA DE ESTADOS DEL CONTADOR NÚMERO DE BIESTABLES 2n-1 < K ≤ 2n, siendo K el número de estados o el mayor de los estados mas 1 (K = 7 + 1 = 8), 2n-1 < 8 ≤ 2n ⇒ n = 3 biestables. DIAGRAMA DE ESTADOS 7 6 5 0 2 4 0 “C = 0” 4 7 “C = 1” 6 1 2 3 5 3 1

97

Page 98: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

2. TABLA DE TRANSICIONES

C Q2(t) Q1(t) Q0(t) Q2(t+1) Q1(t+1) Q0(t+1) J2 K2 J1 K1 J0 K00 0 0 0 1 1 1 1X 1X 1X 0 0 0 1 0 0 0 0X 0X X1 0 0 1 0 0 0 1 0X X1 1X 0 0 1 1 0 1 0 0X X0 X1 0 1 0 0 0 1 1 X1 1X 1X 0 1 0 1 1 0 0 X0 0X X1 0 1 1 0 1 0 1 X0 X1 1X 0 1 1 1 1 1 0 X0 X0 X1 1 0 0 0 0 1 0 0X 1X 0X 1 0 0 1 0 1 1 0X 1X X0 1 0 1 0 1 0 0 1X X1 0X 1 0 1 1 1 0 1 1X X1 X0 1 1 0 0 1 1 0 X0 1X 0X 1 1 0 1 1 1 1 X0 1X X0 1 1 1 0 0 0 1 X1 X1 1X 1 1 1 1 0 0 0 X1 X1 X1

3. SIMPLIFICACIÓN DE FUNCIONES

K2 J2 C Q2 CQ2 Q1Q0 Q1Q0 00 01 11 10 00 01 11 10

1 X X 0 X 1 0 X 00 00

0 X X 0 X 0 0 X 01 01

0 X X 1 X 0 1 X 11 11

0 X X 1 X 0 1 X 10 10

J2 = K2 = /C ∗ /Q0 ∗ /Q1 + C ∗ Q1

98

Page 99: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

99

J1 C Q2 K1 CQ2 Q1Q0 00 01 11 10 Q1Q0 00 01 11 10

00 1 1 1 1 00 X X X X

01 0 0 1 1 01 X X X X

11 X X X X 11 0 0 1 1

10 X X X X 10 1 1 1 1

J1 = K1 = C + /Q0

J0 C Q2 K0 CQ2 Q1Q0 00 01 11 10 Q1Q0 00 01 11 10

00 1 1 0 0 00 X X X X

01 X X X X 01 1 1 0 0

11 X X X X 11 1 1 1 0

10 1 1 1 0 10 X X X X

J0 = K0 = /C + Q1 ∗ Q2

Page 100: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

4. SÍNTESIS DEL CONTADOR

CIRCUITO Y SIMULACIÓN CON “C = 1” DEL CONTADOR

Figura 53 Simulación del contador síncrono generador de las secuencias

“7-6-5-4-3-2-1-0-7”con “C = 1” y “0-2-4-6-1-3-5-7-0” con “C = 0”.

100

Page 101: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

A3. REGISTRO DE DESPLAZAMIENTO UNIVERSAL

Realice el diseño de un Registro de Desplazamiento Universal de 4 bits, que realice las siguientes funciones: 1) Desplazamiento Serie de Izquierda a Derecha, 2) Desplazamiento Serie de Derecha a Izquierda, 3) Desplazamiento Paralelo/Paralelo y 4) Mantenimiento del dato Qn(t+1) = Qn(t).

Solución:

1. VARIABLES COMBINACIONALES DE CONTROL

Las funciones a realizar son cuatro y se enumeran en el enunciado. Para controlar cuatro

funciones diferentes se necesitan dos variables de control a cuyas combinaciones se les

asigna las funciones a realizar.

A B (variables de control) Función,

0 0 ⇒ Desplazamiento de Izquierda a Derecha.

0 1 ⇒ Desplazamiento de Derecha a Izquierda.

1 0 ⇒ Desplazamiento de Paralelo a Paralelo.

1 1 ⇒ Q(t+1) = Q(t) (mantenimiento del dato).

Figura 54 Esquema del Registro de Desplazamiento Universal del ejemplo

101

Page 102: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

2. TABLA DE TRANSICIONES DEL REGISTRO

A B ESI ESD CLK Q0 Q1 Q2 Q3 (t+1)

0 0 0 0 ↓ 0 Q0 Q1 Q2 Desplazamiento de

0 0 0 1 ↓ 0 Q0 Q1 Q2 izquierda a derecha.

0 0 1 0 ↓ 1 Q0 Q1 Q2

0 0 1 1 ↓ 1 Q0 Q1 Q2 (t)

0 1 0 0 ↓ Q1 Q2 Q3 0 Desplazamiento de

0 1 0 1 ↓ Q1 Q2 Q3 1 derecha a izquierda.

0 1 1 0 ↓ Q1 Q2 Q3 0

0 1 1 1 ↓ Q1 Q2 Q3 1 (t)

1 0 0 0 ↓ D0 D1 D2 D3 Desplazamiento

1 0 0 1 ↓ D0 D1 D2 D3 paralelo a paralelo.

1 0 1 0 ↓ D0 D1 D2 D3

1 0 1 1 ↓ D0 D1 D2 D3

1 1 0 0 ↓ Q0 Q1 Q2 Q3 Mantenimiento del dato.

1 1 0 1 ↓ Q0 Q1 Q2 Q3

1 1 1 0 ↓ Q0 Q1 Q2 Q3

1 1 1 1 ↓ Q0 Q1 Q2 Q3 (t)

Para cada combinación de las variables “ A y B “ el sistema realiza la función asignada.

3. ECUACIONES RESULTANTES AL SIMPLIFICAR LAS FUNCIONES

Q0 = /A/B ∗ ESI (ESD+/ESD) + /AB ∗ Q1 ∗ (/ESI*(ESD+/ESD) + ESI∗(/ESD+ESD)) +

A/B ∗ D0 ∗ (/ESI∗(/ESD+ESD) + ESI∗(/ESD+ESD)) +

A B ∗ Q0 ∗ (/ESI∗(/ESD+ESD) + ESI∗(/ESD +ESD))

102

Page 103: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

Q0 = /A/B∗ESI + /AB∗Q1 ∗ (/ESI+ESI) + A/B∗D0 ∗ (/ESI +ESI) + AB∗Q0 ∗ (/ESI+ESI) =

Q0(t+1) = /A/B∗ESI + /AB∗Q1(t) + A/B∗D0 + AB∗Q0(t)

Por analogía el resto de las funciones resultan:

Q0 = /A/B ∗ ESI + /AB ∗ Q1 + A/B ∗ D0 + AB ∗ Q0

Q1 = /A/B ∗ Q0 + /AB ∗ Q2 + A/B ∗ D1 + AB ∗ Q1

Q2 = /A/B ∗ Q1 + /AB ∗ Q3 + A/B ∗ D2 + AB ∗ Q2

Q3 = /A/B ∗ Q2 + /AB ∗ ESD + A/B ∗ D3 + AB ∗ Q3

AB = 00 01 10 11

Función: I→D D→I P→P Qt+1 = Qt

4. SÍNTESIS DEL REGISTRO UNIVERSAL DE 4 BITS

Figura 55 Implementación del registro de desplazamiento universal de 4 bits

103

Page 104: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

104

A4. GENERADOR DE SECUENCIAS BINARIAS MÚLTIPLES Y

SIMULTÁNEAS

A4.1 Diseñe por el método de “Secuencias Múltiples” un generador de las secuencias

binarias siguientes, a) “0 1 0 1 1 0 1 0” y b) “0 1 1 0 1 1 0 0”.

Solución:

DISEÑO POR EL MÉTODO DE SECUENCIAS MÚLTIPLES Y SIMULTÁNEAS:

1. COMPROBACIÓN DE LAS CARACTERÍSTICAS DE LAS SECUENCIAS

Por observación se comprueba que son 2 secuencias (“0 1 0 1 1 0 1 0” y “0 1 1 0 1 1 0

0”) de 8 bits cada una.

2. CATALOGAR LAS SECUENCIAS Y TABLA DE TRANSICIÓN INICIAL

Hay 2 secuencias pares (0 1 0 1 1 0 1 0 y 0 1 1 0 1 1 0 0) del mismo número de bits (8).

Número de combinaciones de la tabla de transiciones inicial: Apartado “2.b” del método.

Secuencias pares: Al ser las 2 secuencias iguales (mismo número de bits) el número de

combinaciones es el número de bits de una de ellas, en este caso 8.

Page 105: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

105

TABLA INICIAL: 8 FILAS, UNA POR CADA COMBINACIÓN Y 2 SALIDAS UNA PARA

CADA SECUENCIA.

”01101100”

QB

“01011010”

QA

Estado

0 0 0

1 1 3

1 0 2

0 1 1

1 1 3

1 0 2

0 1 1

0 0 0

Tabla A4.1 Tabla Inicial del Generador

El sistema de la tabla inicial no es estable, se repiten los estados 0, 1, 2 y 3. Para tratar de

eliminar la inestabilidad del sistema (repetición de estados) se añade un biestable y se le

asocia una secuencia de manera que no se repitan estados y se comprueba de nuevo la tabla.

“00001111”

QC

”01101100”

QB

“01011010”

QA

Estado

0 0 0 0

0 1 1 3

0 1 0 2

0 0 1 1

1 1 1 7

1 1 0 6

1 0 1 5

1 0 0 4

Tabla A4.2 Tabla del sistema corregida con un biestable.

El Sistema es estable, no se repite ningún estado. Se puede continuar con el procedimiento de

diseño del Generador de Secuencias.

ESTADOS REPETIDOS

NO SE REPITEN ESTADOS

Page 106: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

3. DIAGRAMA DE ESTADOS DEL SISTEMA

El sistema resultante es muy estable ya que todos los posibles estados con tres bits están

incluidos en el diagrama de estados.

4. TABLA DE TRANSICIONES DEL CONTADOR SÍNCRONO RESULTANTE

QC(t) QB(t) QA(t) QC(t+1) QB(t+1) QA(t+1) JC KC JB KB JA KA

0 3 2 1

4 5 6 7

0 0 0 0 1 1 0X 1X 1X 0 0 1 1 1 1 1X 1X X0 0 1 0 0 0 1 0X X1 1X 0 1 1 0 1 0 0X X0 X1 1 0 0 0 0 0 X1 0X 0X 1 0 1 1 0 0 X0 0X X1 1 1 0 1 0 1 X0 X1 1X 1 1 1 1 1 0 X0 X0 X1

5. SIMPLIFICACIÓN DE FUNCIONES

JC QC QB KC QCQB

QA 00 01 11 10 QA 00 01 11 10 0 0 0 X X 0 X X 0 1

1 1 0 X X 1 X X 0 0

JC = /QB ∗ QA KC = /QB ∗ /QA

JB QC QB KB QCQB QA 00 01 11 10 QA 00 01 11 10

0 1 X X 0 0 X 1 1 X

1 1 X X 0 1 X 0 0 X

JB = /QC KB = /QA

106

Page 107: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

JA QCQB KA QCQB

QA 00 01 11 10 QA 00 01 11 10

0 1 0 0 X 1 1 X X X

1 X 1X X X 0 1 1 1

JA = /QC + QB KA = QC + QB

6. IMPLEMENTACIÓN DEL GENERADOR

Figura 56 Circuito y Simulación del Generador de las Secuencias Binarias

“0 - 1 - 1 - 0 - 1 - 1 - 0 - 0” y “0 - 1 - 0 - 1 - 1 - 0 - 1 - 0”.

107

Page 108: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

A4.2 Diseñe por el método de “Secuencias Múltiples” un generador de los patrones

binarios siguientes, a) “1 0 0 0 1 0 0 0”, b) “1 1 1 0 1 1 1 0” y c) “1 0 1 0 1 0 1 0”.

1. COMPROBACIÓN DE LAS CARACTERÍSTICAS DE LAS SECUENCIAS

Las patrones binarios se utilizan para rellenar el campo de datos de las tramas binarias con una información preestablecida y conocida por el terminal receptor. De esta manera se facilita la realización de pruebas de un enlace de comunicaciones o de cualquier otro elemento, activo o pasivo, basta con rellenar en el terminal de transmisión todos los bits de datos del flujo binario o bloque de información con la secuencia elegida.

Aunque las tres secuencias son de 8 bits se repiten dentro de cada una de ellas de 4 en 4 bits,

por lo tanto el diseño se puede tratar como si fuesen tres secuencias de 4 bits y el resultado

seria el mismo. Las secuencias a considerar son, a) “1 0 0 0”, b) “1 1 1 0” y c) “1 0 1 0”.

Solución:

DISEÑO POR EL MÉTODO DE SECUENCIAS MÚLTIPLES Y SIMULTÁNEAS:

Por observación se comprueba que son 3 secuencias (1 0 0 0 – 1 1 1 0 y 1 0 1 0) de 4

bits cada una.

2. CATALOGAR LAS SECUENCIAS Y LA TABLA DE TRANSICIÓN INICIAL

Hay 3 secuencias pares (1000, 1110 y 1010) del mismo número de bits (4).

Número de combinaciones, tabla de transiciones inicial: Apartado “2.b” del método.

Secuencias pares: Al ser las 3 secuencias iguales (mismo número de bits) el número de

combinaciones es el número de bits de una de ellas, 4.

108

Page 109: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

3. TABLA INICIAL: TIENE 4 FILAS, UNA POR CADA COMBINACIÓN, Y 3

SALIDAS UNA PARA CADA SECUENCIA.

”1 0 1 0”

QC

”1 1 1 0”

QB

“1 0 0 0”

QA

Estado

1 1 1 7

0 1 0 2

1 0 1 6

0 0 0 0

A los estados no incluidos en el sistema (1, 3, 4 y 5) se les hace evolucionar al estado “7”.

El sistema de la tabla inicial es estable, no se repite ningún estado.

DIAGRAMA DE ESTADOS Y TABLA DE TRANSICIONES DEL SISTEMA

1 - 3 7 2

4 - 5

0 6

SE ELIGEN BIESTABLES TIPO “JK” PARA LA IMPLEMENTACIÓN DEL SISTEMA

109

Page 110: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

4. TABLA DE TRANSICIONES DEL SISTEMA

JC = 1 = “Vcc” KC = QB

J B = /QA ∗ QC

QC QB QA QC QB QA JCKC JBKB JAKA

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

0 0 1 1 1 1 1X 1X X0

0 1 0 1 1 0 1X X0 0X

0 1 1 1 1 1 1X X0 X0

1 0 0 1 1 1 X0 1X 1X

1 0 1 1 1 1 X0 1X X0

1 1 0 0 0 0 X1 X1 0X

1 1 1 0 1 0 X1 X0 X1

5. SIMPLIFICACIÓN DE FUNCIONES

QCQB

QA

00

01

11

10

0 1 1 X X

1 1 X 1 X

QCQB

QA

00

01

11

10

0 1 X X 0

1 X X 1 0

QCQB

QA

00

01

11

10

0 1 X X 1

1 1 X X 1

QCQB

QA

00

01

11

10

0 0 X 1 X

1 X 0 0 X

B = 1 = “Vcc” K

110

Page 111: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

JA = /QB KA = QB ∗ QC

QCQB

QA

00

01

11

10

0 1 0 0 1

1 X X X X

QCQB

QA

00

01

11

10

0 X X X X

1 0 0 1 0

6. IMPLEMENTACIÓN DEL CIRCUITO DEL GENERADOR

Figura 57 Generador de las Secuencias Binarias, 10101010, 11101110 y 10001000.

111

Page 112: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

A5. MÁQUINAS SECUENCIALES SÍNCRONAS. AUTÓMATAS

A5.1 Diseñe un Sistema Secuencial Síncrono (Autómata de Mealy) con las siguientes características: 1) Una salida “S” pasará a valer “1” después de recibir cuatro ceros seguidos por una entrada “e” y 2) Con S = 1, al detectar el siguiente bit en “e” la salida “S” pasará a valer cero (S = 0), hasta que se reciban de nuevo 4 ceros seguidos por la entrada “e”. Condiciones de diseño: 1. Implemente con biestables tipo “JK” y los componentes combinacionales necesarios. e = 0000 0000 0000 0000 - - - - - - S = 0001 0001 0001 0001 - - - - - - Solución: 1. DIAGRAMA DE ESTADOS Y TABLA DE ESTADOS INICIAL DIAGRAMA DE ESTADOS 1/0 0/0 0/0 0/0 0/1 E0 1 2 3 E E E E4 1/0 1/0 1/0 0/0 1/0 TABLA DE ESTADOS

e = 0 e = 1 E0 E1 / 0 E0 / 0 E1 E2 / 0 E0 / 0 E2 E3 / 0 E0 / 0 E3 E4 / 1 E0 / 0 E4 E1 / 0 E0 / 0

112

Page 113: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

2. CLASES DE EQUIVALENCIA Hay dos clases de equivalencia, la C1 (0 – 0) con los estados E0, E1, E2 y E4 y la C2 (0 – 1) con el estado E3. En la C1 los estados E0 y E4 son equivalentes, uno de ellos se puede eliminar, en la C2 al tener solo un estado no hay eliminación de estados.

A0 → E0, E4

A1 → E1

0/0 0/0 0/0

A0 → 00 A1 → 01 A2 → 10 A3 → 11

NUEVA TABLA DE ESTADOS Correspondencia de nuevos estados con los anteriores y nueva tabla de estados:

e = 0 e = 1 A0 A1 / 0 A0 / 0 A1 A2 / 0 A0 / 0 A2 A3 / 0 A0 / 0 A3 A0 / 1 A0 / 0

A2 → E2

A3 → E3 En la nueva tabla de estados no hay estados equivalentes. NUEVO DIAGRAMA DE ESTADOS

1/0

A0 A1 A2 A3 1/0 1/0 1/0 0/1

Codificación de estados (con 2 biestables se puede codificar los 4 estados)

113

Page 114: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

3. TABLA DE TRANSICIONES Y ECUACIONES

e Q2 Q1 Q2 Q1 S J2 K2 J1 K1 0 0 0 0 1 0 0X 1X 0 0 1 1 0 0 1X X1 0 1 0 1 1 0 X0 1X 0 1 1 0 0 1 X1 X1 1 0 0 0 0 0 0X 0X 1 0 1 0 0 0 0X X1 1 1 0 0 0 0 X1 0X 1 1 1 0 0 0 X1 X1

J2 = /e ∗ Q1 K2 = e + Q1 J1 = /e K1 = “1” = “Vcc”

4. IMPLEMENTACIÓN DEL AUTÓMATA

Figura 58 Simulación y Circuito del Autómata del enunciado.

114

Page 115: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

A6. APLICACIONES A6.1 GENERADOR DE CÓDIGO DE LÍNEA HDB3 En Sistemas de transmisión digital los códigos de línea adaptan las señales digitales a los medios de comunicaciones de manera que no manden muchos ceros seguidos, esto facilita la recuperación del Reloj del Sistema en recepción, además, los códigos de línea, tratan de eliminar la posible componente de continua que pueda introducir los datos. El código de línea HDB3 se introduce a una señal a la que ya se le ha aplicado bipolaridad (AMI - alterna los “1” con “+V” y “-V”) para eliminar la componente de continua, en este diseño solo se propone no mandar a línea mas de tres ceros seguidos (HDB3). El esquema de la Figura 59 representa el entorno del “Sistema Síncrono Secuencial” del diseño que se propone a continuación,

Figura 59 Entorno de diseño del Sistema Síncrono Secuencial propuesto. Diseñe un “Sistema Síncrono Secuencial” que realice la siguiente función; Cuando por una entrada de datos “e”, TTL, NRZ y a 2 Mbit/seg., se reciban mas de 3 ceros seguidos (nº de ceros seguidos ≥ 4) el Sistema los agrupará en grupos de cuatro ceros, desestimando los restos de tres ceros o menos, y los codificará a la salida “S” como “0001” y como “1001”, dependiendo de si el número de bits recibidos a “1” por la entrada de datos “e”, desde la última agrupación de cuatro ceros, es impar o par respectivamente. Controlar la salida “S” con el reloj del Sistema para obtener datos TTL-RZ a la salida.

115

Page 116: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL Solución (Planteamiento):

3. Subsistema que almacene los últimos cuatro bits recibidos por la entrada “e”, para su codificación cuando sean ceros.

4. Subsistema de lógica combinacional de apoyo para todos los Subsistemas anteriores.

5. Inclusión del Reloj del Sistema “Clk” a la salida para convertir los datos “NRZ” a

“RZ”.

6. Correcta integración de todos los Subsistemas anteriores. ESQUEMA DEL DISEÑO PROPUESTO

Para la implementación de sistema propuesto hay que realizar y sincronizar las siguientes funciones:

1. Subsistema que detecte cuando se han recibido 4 ceros seguidos por la entrada “e”.

2. Subsistema que controle si el número de bits recibidos por la entrada “e” a “1”, desde la última agrupación de cuatro ceros, es par o impar.

Figura 60 Esquema del Sistema Síncrono Secuencial para la implementación del

Código de Línea HDB3 en el flujo binario de la entrada “e”.

116

Page 117: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

CIRCUITO DEL DISEÑO PROPUESTO

Figura 62 Simulación del generador del Código HDB3 en el flujo binario de entrada “e”.

Figura 61 Circuito del Sistema Síncrono Secuencial para la implementación del Código de

Línea HDB3 en el flujo binario de entrada “e”.

117

Page 118: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL

GLOSARIO

Autómata de Mealy Estructura en una maquina secuencial en la que la salida depende de

la entrada y del estado interno presente.

Autómata de Moore Estructura de una maquina secuencial en la que la salida en un

instante determinado responde solo del estado interno del circuito y este es a su vez es

función del estado interno y de las entradas externas de control.

Circuito Secuencial Circuito digital cuyos estados lógicos dependen de una determinada

secuencia temporal.

Contador Asíncrono Contador que utiliza como entrada de reloj de cada etapa la salida de

la etapa precedente, excepto el bit LSB que utiliza el reloj externo o del sistema.

Contador Síncrono Contador en el que todas las etapas utilizan el mismo pulso de reloj.

E1 Flujo Binario Tramado con capacidad para 30+2 canales telefónicos, a 64 Kbit/seg. por

canal (secuencia binaria de 256 bits). Trama básica de la Jerarquía Digital Plesiócrona

Europea Recomendada por E.T.S.I. para establecer enlaces de Comunicaciones digitales para

esa capacidad.

E.T.S.I. “European Telecommunications Standard Institute”, Organismo Internacional

Europeo que establece las normativas y recomendaciones para Telefonía, Telegrafía y

Radiodifusión.

Generador de Secuencias Binarias Múltiples y Simultaneas Sistema Secuencial diseñado

para generar varias secuencias binarias simultaneas en el mismo circuito y controladas por el

diseñador, cada secuencia se estará generando en la salida de cada uno de los biestables del

circuito. Se podrá acceder a las secuencias en paralelo, para aplicaciones diferentes o

seleccionando una de ellas en una salida común, para lo que habría que incluir dispositivos

combinacionales de control y selección

118

Page 119: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

Glitch Pico de tensión o de corriente de corta duración, no deseado y generalmente

producido de forma no intencionada.

Patrón de Bits Secuencia binaria normalmente utilizada para relleno de flujos binarios

digitales para realizar pruebas en sistemas de comunicaciones digitales y otros dispositivos.

Reducción de estados equivalentes Método sistemático para la reducción de estados de

una maquina secuencial, resultantes en el proceso de diseño.

J.D.P. Jerarquía Digital Plesiócrona. Jerarquía normalizada por la Unión Internacional de

las Telecomunicaciones (UIT-T), donde se establece el formato lógico y eléctrico para la

transmisión de señales digitales por medios guiados y por medios no guiados.

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

la lógica interna y las entradas externas. Cualquier circuito secuencial que exhibe una

determinada secuencia de estados.

Palabra de Alineamiento de Trama Secuencia de bits fijos y únicos que se insertan al

inicio de los flujos binarios Tramados con la intención de sincronizar los terminales de

transmisión y recepción.

Registro Circuito digital capaz de almacenar y desplazar información: típicamente utilizado

como dispositivo de almacenamiento temporal.

Registro de Desplazamiento Universal Registro que tiene capacidad de entradas y salidas

serie y paralelo y cualquier función que se habilite.

Registro Paralelo-Serie Registro de desplazamiento en el que los datos realizan su entrada

en paralelo y la descarga se realiza en serie.

Registro Paralelo-Paralelo Registro de desplazamiento en el que los datos se cargan y

descargan en paralelo.

119

Page 120: Diseño y Síntesis de Sistemas de Lógica Secuencial

SISTEMAS DE LÓGICA SECUENCIAL Registro Paralelo-Paralelo con entradas asíncronas Registro de desplazamiento en el que

los datos se cargan en paralelo utilizando las entradas asíncronas de Preset-Clear y la

descarga se realiza igualmente en paralelo.

Registro Paralelo-Paralelo con entradas síncronas Registro de desplazamiento en el que

los datos se cargan en paralelo utilizando las entradas síncronas (entradas biestable y flancos

reloj) y la descarga se realiza igualmente en paralelo.

Registro Serie-Paralelo Registro de desplazamiento en el que los datos realizan su entrada

en serie y una vez cargado el dato se entrega (descarga) en paralelo.

Registro Serie-Serie Registro de desplazamiento en el que los datos realizan su entrada y

salida en serie (de izquierda a derecha o de derecha a izquierda).

Trama Flujo binario provisto de secuencias binarias identificadoras del inicio de bloque

(Palabra de Alineamiento de Trama) y otras características que dependerá del sistema y la

aplicación.

Secuencia Binaria Grupo de bits que se generan de forma secuencial por un sistema digital

síncrono o asíncrono.

120

Page 121: Diseño y Síntesis de Sistemas de Lógica Secuencial

MONOGRAFÍA CIENTÍFICA

BIBLIOGRAFÍA HAYES, JOHN P. (1996). Diseño Lógico Digital. Wilmington, Delaware: Addison-Wesley Iberoamericana, S.A. FLOYD, T. (2000). Fundamentos de Sistemas Digitales. 7ª Edición. Madrid: Prentice Hall. ANGULO, JOSÉ M. (2002). Sistemas Digitales y Tecnología de Computadores. International Thomson Editores Spain Paraninfo S.A. CHARLES H. ROTH, Jr. (2004). Fundamentos de Diseño Lógico. 5° Edición. International Thomson Editores Spain Paraninfo S.A.

PORTILLO M., JORGE (2005). Generador de Secuencias Binarias Múltiples y Simultáneas / Método Sistemático de Diseño. Monografía Científica - © Jorge Portillo Meniz, 2005.

121