Sistemas De Logica Secuencial

  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
File loading please wait...
Citation preview

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

SISTEMAS DE LÓGICA SECUENCIAL

2

MONOGRAFÍA CIENTÍFICA

Índice INTRODUCCIÓN

CAPÍTULO 1. CONTADORES ASÍNCRONOS

7

11

Introducción ……………………..…………………..……..……………... 13 1.1 Biestable tipo “T” ……………………………………………………. 15 1.2 Divisor por 2 y divisor por 4 de la frecuencia de reloj ………………

17

1.3 Contador ascendente y descendente de módulo 4 …..……………….. 18 1.4 Contador ascendente y descendente de módulo 8 ..………………….. 20 1.5 Contador asíncrono reversible ……………………...……………....... 20 1.6 Contador asíncrono de cualquier secuencia ………………………….

22

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

23

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

24

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

CAPÍTULO 2. CONTADORES SÍNCRONOS

27

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

30

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

31

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

31

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

CAPÍTULO 3. REGISTROS DE DESPLAZAMIENTO

41

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

3

SISTEMAS DE LÓGICA SECUENCIAL 3.1 Registro Serie → Serie, con entrada asíncrona de Clear …………….

44

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

45

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

46

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

47

3.4.1 Con entrada de datos síncrona ………………………………... 47 3.4.2 Con entrada de datos asíncrona ………………………………. 48 3.5 Registro de Desplazamiento Universal / Método Sistemático de

Diseño……………………………………………………................... 49 3.6 Ejemplo de diseño de un Registro de Desplazamiento Universal …… 50

CAPÍTULO 4. GENERADORES DE SECUENCIAS BINARIAS

53

Introducción ………………..……………….…………………………....... 55 4.1 Generador de Secuencias Binarias basado en Registros ……………..

56

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

Sistemático de Diseño ……………………………………………….. 59 4.3 Ejemplo de diseño de un GSBMS ….………………………………... 62

CAPÍTULO 5. MAQUINAS SECUENCIALES FINÍTAS, AUTÓMATAS DE MOORE Y AUTÓMATAS DE MEALY

67

Introducción …………….………………………………………………... 69 5.1 Clasificación de Autómatas ………………………………………….. 69 5.2 Fases en el diseño de Autómatas …………………………………….. 72 5.3 Ejemplo de diseño de un Autómata Mealy ………………………......

APÉNDICE. EJEMPLOS Y APLICACIONES

79

83

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) …………………………….....

4

85

MONOGRAFÍA CIENTÍFICA A1.2 Diseño de un contador asíncrono ascendente de módulo 6, (0→1→2→3→4→5) ……………………………………….. 86

A1.3 Diseño de un contador asíncrono descendente de módulo 4, (5→4→3→2) ………………………………………………. 88 A2. CONTADOR SÍNCRONO A2.1 Diseño Sistemático de un contador síncrono ascendente de módulo 8 ……………………..……………………………..

90

A2.2 Diseño Intuitivo de un contador síncrono ascendente de módulo 256 (0..255) ………………………………………... 93

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) ……………………………….. 97 A3. REGISTRO DE DESPLAZAMIENTO UNIVERSAL A3.1 Diseño de un Registro Universal de 4 bits ………………….. 101 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 ………………...... 104

A4.2 Generador de Patrones Binarios basado en un GSBMS …... 108 A5. MAQUINAS SECUENCIALES SÍNCRONAS, AUTÓMATAS A5.1 Autómata de Mealy …………………………………………. 112 A6. APLICACIONES – DISEÑO DE SISTEMAS DIGITALES A6.1 Diseño de un Generador de Código de línea HDB3 ……….. 115

GLOSARIO

118

BIBLIOGRAFÍA

121

5

SISTEMAS DE LÓGICA SECUENCIAL

6

MONOGRAFÍA CIENTÍFICA

Introducción

7

SISTEMAS DE LÓGICA SECUENCIAL

8

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

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

MONOGRAFÍA CIENTÍFICA

Capítulo 1 Contadores Asíncronos

11

SISTEMAS DE LÓGICA SECUENCIAL

12

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

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

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

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

Q2

Q1

Q0

0

0

0

0

0

1

0

1

0

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

0

1

1

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

1

0

0

1

0

1

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

1

1

0

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

1

1

1

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

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

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

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

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.

Con biestables activos en el flanco de bajada de la señal de reloj resulta un contador ascendente en Qn y descendente en /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 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

18

Contador ascendente y descendente de módulo 4

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

SALIDA “Qn” QUE SE CONECTA

TIPO DE CONTADOR

(flip-flop) UTILIZADO

A LA ENTRADA “Clkn+1”

RESULTANTE

“Qn”

Descendente en “Qn“ y ascendente en “/Qn”.

Activo en el flanco de subida (↑Clk)

“/Qn”

Ascendente en “Qn” y descendente en “/Qn”.

“Qn”

descendente en “/Qn”.

Activo en el flanco de bajada (↓Clk)

Ascendente en “Qn” y

“/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

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

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

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

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

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

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

SISTEMAS DE LÓGICA SECUENCIAL

26

MONOGRAFÍA CIENTÍFICA

Capítulo 2 Contadores Síncronos

27

SISTEMAS DE LÓGICA SECUENCIAL

28

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

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

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

SISTEMAS DE LÓGICA SECUENCIAL 3. TABLA DE TRANSICIONES DEL BIESTABLE JK (↓CLK)

J

K

Qt

Clk

Qt+1

Qt→Qt+1

Qt→Qt+1

Qt→Qt+1

Qt→Qt+1

0

0

0



0

0→0

0→1

1→0

1→1

0

0

1



1

JK

JK

JK

JK

0

1

0



0

00

10

01

00

0

1

1



0

01

11

11

10

1

0

0



1

1

0

1



1

0X

1X

X1

X0

1

1

0



1

1

1

1



0

Diagrama de estados del biestable JK.

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

32

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

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

Q3Q2

Q1Q0

00

01

11

Q1Q0

10

00

1

0

0

0

01

X

X

X

X

11

X

X

X

10

0

0

0

11

10

X

X

X

X

01

1

1

1

1

X

11

1

1

1

1

0

10

X

X

X

X

K0 = 1 = “Vcc”

Q3Q2

Q3Q2 00

01

11

10

Q1Q0

00

01

11

10

00

0

0

0

0

00

X

X

X

X

01

0

0

0

0

01

X

X

X

X

11

X

X

X

X

11

1

1

1

1

10

X

X

X

X

10

1

1

1

1

J1 = 0 = “gnd”

K1 = 1 = “Vcc”

Q3Q2

Q3Q2 Q1Q0

00

01

11

10

Q1Q0

00

01

11

10

00

0

X

X

0

00

X

1

1

X

01

0

X

X

0

01

X

1

1

X

11

0

X

X

0

11

X

1

1

X

10

0

X

X

0

10

X

1

1

X

J2 = 0 = “gnd”

34

01

00

J0 = /Q3 /Q2 /Q1

Q1Q0

00

K2 = 1 = “Vcc”

MONOGRAFÍA CIENTÍFICA

Q3Q2

Q3Q2 Q1Q0

00

01

11

10

Q1Q0

00

01

11

10

00

0

0

X

X

00

X

X

1

1

01

1

0

X

X

01

X

X

1

1

11

0

0

X

X

11

X

X

1

1

10

0

0

X

X

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

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

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

AB = 00

cuenta c)

AB = 01

3

2

2

0

cuenta d)

0

1

3

1

AB = 10

3

2

AB = 11

1

2

0

37

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

38

Q1(t) Q0(t)

Q1(t+1) Q0(t+1)

J1 K1

J0 K0

0 0

0

0

0

1

0X

1X

0 0

0

1

1

0

1X

X1

0 0

1

0

1

1

X0

1X

0 0

1

1

0

0

X1

X1

0 1

0

0

1

1

1X

1X

0 1

0

1

0

0

0X

X1

0 1

1

0

0

1

X1

1X

0 1

1

1

1

0

X0

X1

1 0

0

0

0

1

0X

1X

1 0

0

1

1

1

1X

X0

1 0

1

0

0

0

X1

0X

1 0

1

1

1

0

X0

X1

1 1

0

0

1

0

1X

0X

1 1

0

1

0

0

0X

X1

1 1

1

0

1

1

X0

1X

1 1

1

1

0

1

X1

X0

MONOGRAFÍA CIENTÍFICA 5. SIMPLIFICACIÓN DE FUNCIONES

AB

AB

Q1Q0

00

01

11

10

Q1Q0

00

01

11

10

00

1

1

0

1

00

X

X

X

X

01

X

X

X

X

01

1

1

1

0

11

X

X

X

X

11

1

1

0

1

10

1

1

1

0

10

X

X

X

X

J0 = /A + /B /Q1 + B Q1

K0 = /A + B /Q 1 + /B Q1

J0 = /A + B ⊗ Q1

K0 = /A + B ⊕ Q1

AB

AB Q1Q0

00

01

11

10

Q1Q0

00

01

11

10

00

0

1

1

0

00

X

X

X

X

01

1

0

0

1

01

X

X

X

X

11

X

X

X

X

11

1

0

1

0

10

X

X

X

X

10

0

1

0

1

J1 = B /Q0 + /B Q0 J1 = B ⊕ Q0

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

39

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

MONOGRAFÍA CIENTÍFICA

Capítulo 3 Registros de Desplazamiento

41

SISTEMAS DE LÓGICA SECUENCIAL

42

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 paraleloparalelo, 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

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

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

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

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

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

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

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

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

0

0

1



Q1 Q2 Q3 1

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)

(t)

Desplazamiento de derecha a izquierda.

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

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

MONOGRAFÍA CIENTÍFICA

Capítulo 4 Generadores de Secuencias Binarias

53

SISTEMAS DE LÓGICA SECUENCIAL

54

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

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

MONOGRAFÍA CIENTÍFICA QC QB QA 1

1

0

6



0

1

1

3



1

0

1

5



0

1

0

2



1

0

1

5



5

6

2

3

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

1

0

1

1

11

0

1

0

1

5

1

0

1

0

10

1

1

0

1

13

6

11

13

5

10

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

57

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 →

0

1

1 0

6





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

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

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

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

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” ”10110010” “10011011” QC

QB

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

MONOGRAFÍA CIENTÍFICA TABLA INICIAL DEFINITIVA Bit

”00111010” ”10110010” “10011011”

QD

QC

QB

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

1

7

8

13

9-10-11 y 12

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

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

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

SISTEMAS DE LÓGICA SECUENCIAL

66

MONOGRAFÍA CIENTÍFICA

Capítulo 5 Máquinas Secuénciales Finitas / Autómatas de Mealy y Moore

67

SISTEMAS DE LÓGICA SECUENCIAL

68

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

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

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

a / Z1

b / Z1

E0

Mealy

b

E0/Z1

Moore

71

SISTEMAS DE LÓGICA SECUENCIAL NO HOMOGÉNEO

a

a / Z0

E0/Z0 b / Z1

E0 E0/Z1

b

- 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

MONOGRAFÍA CIENTÍFICA ESTRUCTURA MEALY

entrada ↓

1/0 0/0

E0

E1

0

0/0

1

E0

E0/0

E1/0

E1

E0/0

E2/0

E2

E0/0

E2/1

1/0 0/0

E2

1/1





estados internos

salida

ESTRUCTURA MOORE entrada ↓

1 0

A/0

1

0

D/1

1

Z(t)

A

A

B

0

B

A

C

0

C

A

D

0

D

A

D

1

B/0 0

0

0

1

1

C/0

↑ estados internos

↑ salida

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

73

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

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

Entrada

Entrada

Internos

e=0

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

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 Para e = 1 ⇒ Salida = 0

M

A esta agrupación la llamaremos

P

“Clase de Equivalencia 1”.

Q S

e = 0 ⇒ Salida = 0

T

Para

A esta agrupación la llamaremos “Clase de Equivalencia 2”.

e = 1 ⇒ Salida = 0

R

e = 0 ⇒ Salida = 0 Para

A esta agrupación la llamaremos 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

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

e =1

1 1

2 2

1 1

1









E0

E1

E2

E3

← Clases a las que evolucionan los estados internos. ← 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

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

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

E0

1/0

E1

0/0

E2 0/0

1/0

1/0

E3 0/0

0/0

E4

1/1

E5

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

SISTEMAS DE LÓGICA SECUENCIAL 3. REDUCCIÓN DE ESTADOS POR CLASES DE EQUIVALENCIA

Clase 1

E1

E0 e =

1

0

1

E1

E0

E0

E2

E3

0

1

0

1

E2

E3

E0

E0

E4

E6

0

1

0

1

0

E4

E5

E0

E1

E0

Nuevos













Estados

A

B

C

D

E

A

Clase 2

E5 e

=

1

0

E6

E0 Nuevo



Estado

F

Los nuevos estados son A-B-C-D-E y F Se ha reducido un estado, se ha pasado de 7 a 6 estados.

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

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

A

0/0

B

1/0

C

0/0

0/0

D

1/0

E

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

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

MONOGRAFÍA CIENTÍFICA

Apéndice

⎯⎯⎯⎯⎯

Ejemplos y Aplicaciones

83

SISTEMAS DE LÓGICA SECUENCIAL

84

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

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

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

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

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

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,

90

0

1

2

3

7

6

5

4

MONOGRAFÍA CIENTÍFICA 2. TABLA DE TRANSICIONES

Q2(t) 0 0 0 0 1 1 1 1

Q1(t) 0 0 1 1 0 0 1 1

Q0(t) 0 1 0 1 0 1 0 1

Q2(t+1) 0 0 0 1 1 1 1 0

Q1(t+1) 0 1 1 0 0 1 1 0

Q0(t+1) 1 0 1 0 1 0 1 0

J2 K2 0X 0X 0X 1X X0 X0 X0 X1

J1 K1 0X 1X X0 X1 0X 1X X0 X1

J0 K0 1X X1 1X X1 1X X1 1X X1

3. SIMPLIFICACIÓN DE FUNCIONES

Q2 Q1

J2

Q2 Q1

K2

Q0

00

01

11

10

0

0

0

X

x

1

0

1

X

X

Q0

00

01

11

10

0

X

X

0

0

1

X

X

1

0

J2 = K2 = Q1∗Q0 Q2Q1

J1 Q0

00

01

11

Q2 Q1 K1 Q0

10

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 Q2 Q1

J0 Q0

00

01

11

10

K0 Q2 Q1 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

SISTEMAS DE LÓGICA SECUENCIAL 4. IMPLEMENTACIÓN DEL CIRCUITO

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

92

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

SISTEMAS DE LÓGICA SECUENCIAL 2. TABLA DE TRANSICIONES

Q2 0 0 0 0 1 1 1 1

Q1 0 0 1 1 0 0 1 1

Q0 0 1 0 1 0 1 0 1

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

Q3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

Q2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

Q1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

Q0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 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

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

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

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

3

5

3

1

1

2

97

SISTEMAS DE LÓGICA SECUENCIAL 2. TABLA DE TRANSICIONES

C Q2(t) Q1(t) Q0(t) Q2(t+1) 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 0 0 0 1 0 0 1 0 1 0 1 0 1 1 0 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 0 0 1 1 1 1 0

Q1(t+1) 1 0 0 1 1 0 0 1 1 1 0 0 1 1 0 0

Q0(t+1) 1 0 1 0 1 0 1 0 0 1 0 1 0 1 1 0

J2 K2 1X 0X 0X 0X X1 X0 X0 X0 0X 0X 1X 1X X0 X0 X1 X1

J1 K1 1X 0X X1 X0 1X 0X X1 X0 1X 1X X1 X1 1X 1X X1 X1

J0 K0 1X X1 1X X1 1X X1 1X X1 0X X0 0X X0 0X X0 1X X1

3. SIMPLIFICACIÓN DE FUNCIONES

C Q2 J2 Q1Q0

00

01

11

10

00

1

X

X

0

01

0

X

X

11

0

X

10

0

X

CQ2 K2 Q1Q0

00

11

10

00

1

0

X

0

01

X

0

0

X

X

1

11

X

0

1

X

X

1

10

X

0

1

X

J2 = K2 = /C ∗ /Q0 ∗ /Q1 + C ∗ Q1

98

01

X

MONOGRAFÍA CIENTÍFICA

C Q2 J1 Q1Q0

00

01

11

10

00

1

1

1

1

01

0

0

1

11

X

X

10

X

X

CQ2 K1 Q1Q0

00

01

11

10

00

X

X

X

X

1

01

X

X

X

X

X

X

11

0

0

1

1

X

X

10

1

1

1

1

X

X

X

J1 = K1 = C + /Q0

C Q2 J0 Q1Q0

00

01

11

10

CQ2 K0 Q1Q0

00

01

11

10

00

1

1

0

0

00

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

99

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

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) 2) 3) 4)

Desplazamiento Serie de Izquierda a Derecha, Desplazamiento Serie de Derecha a Izquierda, Desplazamiento Paralelo/Paralelo y 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

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

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)

Mantenimiento del dato.

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

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

=

Función:

00

01

10

11

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

SISTEMAS DE LÓGICA SECUENCIAL 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.

104

MONOGRAFÍA CIENTÍFICA TABLA INICIAL: 8 FILAS, UNA POR CADA COMBINACIÓN Y 2 SALIDAS UNA PARA CADA SECUENCIA.

”01101100”

“01011010”

QB

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

ESTADOS REPETIDOS

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”

”01101100”

“01011010”

QC

QB

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

NO SE REPITEN ESTADOS

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.

105

SISTEMAS DE LÓGICA SECUENCIAL 3. DIAGRAMA DE ESTADOS DEL SISTEMA

0

3

2

1

4

5

6

7

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) 0 0 0 0 1 1 1 1

QB(t) 0 0 1 1 0 0 1 1

QA(t) 0 1 0 1 0 1 0 1

QC(t+1) 0 1 0 0 0 1 1 1

QB(t+1) 1 1 0 1 0 0 0 1

QA(t+1) 1 1 1 0 0 0 1 0

JC KC JB KB JA KA 0X 1X 1X 1X 1X X0 0X X1 1X 0X X0 X1 X1 0X 0X X0 0X X1 X0 X1 1X X0 X0 X1

5. SIMPLIFICACIÓN DE FUNCIONES

QC QB

JC QA

00

01

11

10

01

11

10

0

X

X

0

X

X

0

1

1

1

0

X

X

1

X

X

0

0

KC = /QB ∗ /QA

QA

106

00

0

QC QB

JB = /QC

QCQB

0

JC = /QB ∗ QA JB

KC QA

00

01

11

10

0

1

X

X

0

1

1

X

X

0

KB QA

QCQB

KB = /QA

00

01

11

10

0

X

1

1

X

1

X

0

0

X

MONOGRAFÍA CIENTÍFICA

QCQB

JA QA

00

01

11

10

0

1

1

1

0

1

X

X

X

X

JA = /QC + QB

KA QCQB QA

00

01

11

10

0

X

X

X

X

1

0

1

1

1

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

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”. 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: 1. COMPROBACIÓN DE LAS CARACTERÍSTICAS DE LAS SECUENCIAS

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

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”

”1 1 1 0”

QC

QB

QA

Estado

1

1

1

7

0

1

0

2

1

1

0

6

0

0

0

0

“1 0 0 0”

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

0

6

4- 5

A los estados no incluidos en el sistema (1, 3, 4 y 5) se les hace evolucionar al estado “7”.

SE ELIGEN BIESTABLES TIPO “JK” PARA LA IMPLEMENTACIÓN DEL SISTEMA

109

SISTEMAS DE LÓGICA SECUENCIAL 4. TABLA DE TRANSICIONES DEL SISTEMA

QC QB QA

QC QB QA

0

1

JCKC

JBKB JAKA

1

1X

1X

1X

0 0 1

1 1 1

1X

1X

X0

0

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

0

0

1

0

1

1

5. SIMPLIFICACIÓN DE FUNCIONES

QCQB

QCQB

QA

00

01

11

10

QA

01

11

10

0

1

1

X

X

0

X

X

1

0

1

1

1

X

X

1

X

X

1

0

JC = 1 = “Vcc”

KC = QB

QCQB

QCQB

QA

00

01

11

10

QA

00

01

11

10

0

1

X

X

1

0

X

0

1

X

1

1

X

X

1

1

X

0

0

X

JB = 1 = “Vcc”

110

00

KB = /QA ∗ QC

MONOGRAFÍA CIENTÍFICA

QCQB

QCQB

QA

00

11

10

QA

00

01

11

10

0

1

0

0

1

0

X

X

X

X

1

X

X

X

X

1

0

0

1

0

JA = /QB

6.

01

KA = QB ∗ QC

IMPLEMENTACIÓN DEL CIRCUITO DEL GENERADOR

Figura 57 Generador de las Secuencias Binarias, 10101010, 11101110 y 10001000.

111

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

E0

E1 1/0

TABLA DE ESTADOS

112

e=0 E1 / 0 E2 / 0 E3 / 0 E4 / 1 E1 / 0

0/1

E2

1/0

E0 E1 E2 E3 E4

0/0

e=1 E0 / 0 E0 / 0 E0 / 0 E0 / 0 E0 / 0

E3 1/0

E4 0/0

1/0

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.

NUEVA TABLA DE ESTADOS Correspondencia de nuevos estados con los anteriores y nueva tabla de estados:

A0 → A1 → A2 → A3 →

E0, E4 E1 E2 E3

A0 A1 A2 A3

e=0 A1 / 0 A2 / 0 A3 / 0 A0 / 1

e=1 A0 / 0 A0 / 0 A0 / 0 A0 / 0

En la nueva tabla de estados no hay estados equivalentes.

NUEVO DIAGRAMA DE ESTADOS 1/0 0/0

0/0

A0

0/0

A1 1/0

A2 1/0

A3 1/0

0/1

Codificación de estados (con 2 biestables se puede codificar los 4 estados) A0 → 00 A1 → 01 A2 → 10 A3 → 11

113

SISTEMAS DE LÓGICA SECUENCIAL 3. TABLA DE TRANSICIONES Y ECUACIONES

e Q2 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1

Q1 0 1 0 1 0 1 0 1

Q2 0 1 1 0 0 0 0 0

J2 = /e ∗ Q1 J1 = /e

Q1 1 0 1 0 0 0 0 0

S 0 0 0 1 0 0 0 0

J2 K2 0X 1X X0 X1 0X 0X X1 X1

J1 K1 1X X1 1X X1 0X X1 0X X1

K2 = e + Q1 K1 = “1” = “Vcc”

4. IMPLEMENTACIÓN DEL AUTÓMATA

Figura 58 Simulación y Circuito del Autómata del enunciado.

114

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

SISTEMAS DE LÓGICA SECUENCIAL Solución (Planteamiento): 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. 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

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

MONOGRAFÍA CIENTÍFICA CIRCUITO DEL DISEÑO PROPUESTO

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”.

Figura 62 Simulación del generador del Código HDB3 en el flujo binario de entrada “e”.

117

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

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.

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.

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.

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

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

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