• No se han encontrado resultados

INTRODUCCIÓN A LOS SISTEMAS DIGITALES Parte 2

N/A
N/A
Protected

Academic year: 2021

Share "INTRODUCCIÓN A LOS SISTEMAS DIGITALES Parte 2"

Copied!
10
0
0

Texto completo

(1)

INTRODUCCIÓN

A LOS

SISTEMAS

DIGITALES

Parte 2

2014

MATERIAL DE

APOYO A LOS

TEMAS DE LA

UNIDAD I –

Basado en la obra

del autor M.

Morris Mano:

Arquitectura de

Computadoras –

3era. edición

(2)

Pág. 2

1. FLIP-FLOPS

Los circuitos digitales considerados hasta aquí han sido combinatorios, donde las salidas para cualquier tiempo dado son enteramente dependientes de las entradas que estén presentes en ese tiempo. Aunque es probable que cada sistema digital tenga un circuito combinatorio, la mayor parte de los sistemas encontrados en la práctica también incluyen elementos de almacenamiento que requieren que el sistema se describa en términos de circuitos secuenciales. El tipo más común de circuitos secuenciales es el tipo síncrono. Los circuitos secuenciales síncronos emplean señales que afectan los elementos de almacenamiento sólo en instantes discretos de tiempo. La sincronización se logra con un dispositivo de tiempo llamado generador de pulso de reloj, que produce un tren periódico de pulsos de reloj. Los pulsos de reloj se distribuyen a través del sistema de manera tal que los elementos de almacenamiento se afectan sólo con la llegada del pulso de sincronización. Los circuitos secuenciales síncronos con reloj son de los que más se emplean en la práctica, ya que raramente manifiestan problemas de inestabilidad y su temporización se descompone fácilmente en pasos discretos independientes, cada uno de los cuales puede considerarse separadamente.

Los elementos de almacenamiento empleados en los circuitos secuenciales con reloj se llaman flip-flops. Un flip-flop es una celda binaria capaz de almacenar un bit de información. Tiene dos salidas, una para el valor normal y una para el valor complementario del bit almacenado en él. Un flip-flop mantiene un estado binario hasta que es dirigido por un pulso de reloj para que cambie de estado. La diferencia entre los diversos tipos de flip-flops está en el número de entradas que posean y la manera en la cual las entradas afectan el estado binario. A continuación se presentan los tipos más

comunes de flip-flops,

FLIP-FLOP SR

El símbolo gráfico del flip-flop SR se muestra en la figura 15(a). Tiene tres entradas, S (SET: de inicio), R (RESET: reinicio o borrado) y C (para reloj). Tiene una salida Q, y a veces también tiene una salida complementada, la que se indica con un círculo en la otra terminal de salida. Hay un pequeño triángulo enfrente de la letra C, para designar una entrada dinámica. El símbolo indicador dinámico denota el hecho de que el flip-flop responde a una transición positiva (de 0 a 1) de la señal de reloj.

La operación del flip-flop es como sigue. Si no hay un señal en la entrada de reloj en la salida del circuito no puede cambiar independientemente de cuáles sean los valores de las entradas S y R. Sólo cuando la señal de reloj cambia de 0 a 1 puede la salida afectarse de acuerdo con los valores de las entradas S y R. Si S = 1 y R = 0 cuando C cambia de 0 a 1, la salida Q se inicia en 1. Si S = 0 y R = 1 cuando C cambia de 0 a 1, la salida Q se "reinicia" o borra en 0. Si tanto S como R son 0 durante la transición de reloj, la salida no cambia. Cuando tanto S como R son iguales a 1, la salida es impredecible y puede ser 0 o 1, dependiendo de los retrasos de tiempo internos que ocurran dentro del circuito.

La tabla característica mostrada en la figura 15(b) resume la operación del flip-flop SR en forma tabular. Las columnas de S y R dan los valores binarios de las dos entradas. Q(t) es el estado binario de la salida Q en un tiempo dado (referido como el estado presente). Q(t + 1) es el estado binario de la salida Q después de la ocurrencia de una transición de reloj (referida como el estado siguiente). Si S = R = 0, una transición de reloj no produce un cambio de estado [esto es, Q(t + 1) = Q(t)]. Si S = 0 y R = 1, el flip-flop va al estado 0 (reinicio). Si S = 1 y R = 0, el flip-flop va al estado 1 (inicio).

(3)

Pág. 3

El flip-flop SR no debe recibir pulsos de reloj cuando S = R = 1 ya que produce un estado siguiente indeterminado. Esta condición indeterminada hace al flip-flop SR difícil de manejar y por lo tanto se usa rara vez en la práctica.

Figura 15: Flip-flop SR FLIP-FLOP D

El flip-flop D (datos) es una ligera modificación del flip-flop SR. Un flip-flop SR se convierte a un flip-flop D insertando un inversor entre S y R y asignando el símbolo D a la entrada única. La entrada D se muestra durante la ocurrencia de una transición de reloj de 0 a 1. Si D = 1, la salida del flip-flop va al estado 1, pero si D = 0, la salida del flip-flop va al estado 0.

El símbolo gráfico y la tabla característica del flip-flop D se muestran en la figura 16. De la tabla característica notamos que el siguiente estado Q(t + 1) se determina de la entrada D. La relación puede expresarse por una ecuación característica:

Q(t + 1) = D

Esto significa que la salida Q del flip-flop recibe su valor de la entrada D cada vez que la señal de reloj pasa a través de una transición de 0 a 1.

Nótese que no existe una condición de entrada que deje el estado del flip-flop D sin cambio. Aunque el flip-flop D tiene la ventaja de tener sólo una entrada (excluyendo a

C), tiene la desventaja de que su tabla característica no tiene una condición Q(t + 1) = Q(t) "sin cambio". La condición "sin cambio" puede llevarse a cabo deshabilitando la

señal de reloj o retroalimentando la salida en la entrada, de manera que los pulsos de reloj conserven inalterado el estado del flip-flop.

Figura 16: Flip Flop D

FLIP FLOP JK

Un flip-flop JK es un refinamiento del flip-flop SR en el sentido que la condición indeterminada del tipo SR se define en el tipo JK. Las entradas J y K se comportan como las entradas S y R para iniciar y reiniciar el flip-flop, respectivamente. Cuando las entradas J y K son ambas igual a 1, una transición de reloj alterna las salidas del flip-flop

(4)

Pág. 4

a su estado complementario.

La figura 17 muestra el símbolo gráfico y la tabla característica del flip-flop JK. La entrada J es equivalente a la entrada S (inicio) del flip-flop SR, y la entrada K es equivalente a la entrada R (reinicio). En lugar de la condición indeterminada, el flip-flop JK tiene una condición complementaria Q(t + 1) = Q'(t) cuando tanto J como K son igual a 1.

Figura 17: Flip Flop JK

FLIP FLOP T .

Otro tipo de flip-flop que se encuentra en los libros de texto es el flip-flop T (de complemento, toggle). Este flip-flop, que se muestra en la figura 18, se obtiene del tipo

JK cuando las entradas J y K se conectan para proporcionar una entrada única designada

por T. El flip-flop T, por lo tanto, tiene sólo dos condiciones. Cuando T = 0 (J = K = 0) una transición de reloj no cambia el estado del flip-flop. Cuando T= 1 (J = K = 1) una transición de reloj complementa el estado del flip-flop. Estas condiciones pueden expresarse por una ecuación característica:

Q(t + 1) = Q(t) T

Figura 18: Flip Flop T

TABLAS DE EXCITACION

Las tablas características de los flip-flops especifican el estado siguiente cuando se conocen las entradas y el estado presente. Durante el diseño de los circuitos secuenciales conocemos por lo general la transición requerida del estado presente al estado siguiente y quisiéramos encontrar las condiciones de entrada del flip-flop que causen la transición requerida. Por esta razón necesitamos una tabla que enliste las combinaciones de entrada requeridas para un cambio de estado dado: la tabla de excitación del flip-flop.

La tabla 3 lista las tablas de excitación para los cuatro tipos de flip-flops.

Cada tabla consta de dos columnas, Q(t) y Q(t + 1) y una columna para cada entrada para mostrar cómo se alcanza la transición requerida. Hay cuatro transiciones posibles del estado presente Q(t) al estado siguiente Q(t + 1).

(5)

Pág. 5

Tabla 3: Tabla de excitación para cuatro flip flops

Las condiciones de entrada requeridas para cada una de estas transiciones se derivan de la información disponible en las tablas características. El símbolo X en las tablas representa una condición "no importa" esto es, no tiene importancia si la entrada del flip-flop es 0 o 1.

La razón de las condiciones "no importa" de las tablas de excitación es que hay dos maneras de llevar a cabo la transición requerida. Por ejemplo, en un flip-flop JK, la transición del estado presente de 0 a un estado siguiente de 0 puede llevarse a cabo haciendo que las entradas J y K sean iguales a 0 (para no obtener ningún cambio) o dejando que J = 0 y K = 1 para borrar el flip-flop (aunque ya esté borrado). En ambos casos J debe ser 0, pero K es 0 en el primer caso y 1 en el segundo. Puesto que la transición requerida ocurrirá en cualquier caso, marcamos la entrada K con una X "no importa" y dejaremos que el diseñador escoja 0 o 1 para la entrada K, o sea lo más conveniente.

2. CIRCUITOS SECUENCIALES

Un circuito secuencial es una interconexión de flip-flops y compuertas. Las compuertas por sí mismas constituyen un circuito combinatorio, pero cuando se incluyen junto con los flip-flops, el circuito completo se clasifica como un circuito secuencial. El diagrama

de bloques de un circuito secuencial sincronizado por el reloj se muestra en la figura 19. Consiste en un circuito combinatorio y un número de flip-flops sincronizados por el reloj. En general, puede incluirse cualquier número de flip-flops. Como se muestra en el diagrama, el bloque del circuito combinatorio recibe señales binarias de las entradas externas y de las salidas de los flip-flops, Las salidas del circuito combinatorio van a las salidas externas y a las entradas de los flip-flops. Las compuertas en el circuito combinatorio determinan el valor binario que va a almacenarse en los flip-flops después de cada transición de reloj. Las salidas de los flip-flops, a su vez, se aplican a las entradas del circuito combinatorio y determinan el comportamiento del circuito. Este proceso demuestra que las salidas externas de un circuito secuencial son funciones tanto de las entradas externas como del estado presente de los flip-flops.

(6)

Pág. 6

de las entradas externas. Así, un circuito secuencial se especifica por una secuencia de tiempos de las entradas externas, salidas externas y estados binarios de los flip-flops internos.

Figura 19: Diagrama de bloque de un circuito secuencial síncrono con reloj

ECUACIONES DE ENTRADA DE LOS FLIP-FLOPS

Un ejemplo de un circuito secuencial se muestra en la figura 20. Tiene una variable de entrada x, una variable de salida y y dos flip-flops D cronometrados. Las compuertas AND, compuertas OR y el inversor forman la parte lógica combinatoria del circuito. Las interconexiones entre las compuertas del circuito combinatorio pueden especificarse por un conjunto de expresiones booleanas. La parte del circuito combinatorio que genera las entradas a los flip-flops se describen por medio, de un conjunto de expresiones booleanas llamadas ecuaciones de entrada del flip-flop. Adoptamos la norma de usar el símbolo de entrada del flíp-flop para denotar el nombre de la variable de la ecuación de entrada y un subíndice para designar el símbolo escogido para la salida del flip-flop. Así, en la figura 20, tenemos dos ecuaciones de entrada, designadas DA y DB. La primera letra de cada

símbolo denota la entrada D de un flip-flop D. La letra del subíndice es el nombre del símbolo del flip-flop. Las ecuaciones de entrada son funciones booleanas para las variables de entrada del flip-flop y pueden deducirse por inspección del circuito. Puesto que la salida de la compuerta OR se conecta a la entrada D del flip-flop A, escribimos la primera ecuación de entrada como

DA = Ax + Bx

donde A y B son las salidas de los dos flip-flops y x es la entrada externa.

La segunda ecuación de entrada se deriva de una compuerta AND única cuya salida se conecta a la entrada D del flip-flop B:

DB = A'x

El circuito secuencial también tiene una salida externa, que es una función de la variable de entrada y el estado de los flip-flops. Esta salida puede especificarse algebraicamente por la expresión

y = Ax' + Bx'

De este ejemplo notamos que la ecuación de entrada del flip-flop es una expresión booleana para un circuito combinatorio. La variable con subíndice es el nombre de una variable bina ría para la salida de un circuito combinatorio. Esta salida siempre se conecta a la entrada de un flip-flop.

(7)

Pág. 7

Figura 20: Ejemplo de un circuito secuencial

TABLA DE ESTADO

El comportamiento de un circuito secuencial se determina por sus entradas, sus salidas y el estado de los flip-flops. Tanto las salidas como el estado siguiente son funciones de las entradas y del estado presente. Un circuito secuencial se especifica por una tabla de estado que relaciona las salidas y los estados siguientes como una función de las entradas y de los estados presentes. En circuitos secuenciales sincronizados por reloj, la transición del estado presente al estado siguiente se activa por la presencia de una señal de reloj.

(8)

Pág. 8

La tabla de estado para el circuito de la figura 20 se muestra en la tabla 4. La tabla consta de cuatro secciones, rotuladas estado presente, entrada, estado siguiente y salida. La sección del estado presente muestra los estados de los flip-flops A y B en cualquier tiempo t. La sección de entrada da un valor de x para cada estado presente posible. La sección de estado siguiente muestra los estados de los flip-flops un, período de reloj después a un tiempo t + 1. La sección de salida da el valor de y para cada estado presente y condición de entrada.

La derivación de una tabla de estado consiste, en listar primero todas las combinaciones binarias posibles del estado presente y las entradas. En este caso tenemos ocho combinaciones binarias del 000 al 111. Los valores del estado siguiente se deducen entonces del diagrama lógico o de las ecuaciones de entrada. La ecuación de entrada para el flip-flop A es

DA = Ax + Bx

El valor del estado siguiente de cada flip-flop es igual a su valor de entrada D en el estado presente. La transición del estado presente al estado siguiente ocurre después de la aplicación de la señal de reloj. Por lo tanto, el estado siguiente de A es igual a 1 cuando el estado presente y los valores de entrada satisfacen las condiciones Ax = 1 o Bx = 1, lo cual hace que DA sea igual a 1. Esto se muestra en la tabla de estado con tres unos bajo la columna para el estado siguiente de A. De manera similar, la ecuación de entrada para el flip-flop B es

DB =A`x

El estado siguiente de B en la tabla de estado es igual a 1 cuando el estado presente de A es 0 y la entrada x es igual a 1. La columna de salida se deriva de la ecuación de salida

y = Ax' + Bx'

La tabla de estado de cualquier circuito secuencial se obtiene por el procedimiento seguido en este ejemplo. En general, un circuito secuencial con m flip-flops, n variables de entrada y p variables de salida contendrá m columnas para el estado presente, n columnas para las entradas, m columnas para el estado siguiente y p columnas para las salidas. Las columnas para el estado presente y las entradas se combinan y bajo éstas listamos las 2m+n combinaciones binarias de 0 a 2m+n - 1. Las columnas del estado

siguiente y las salidas son funciones del estado presente y de los valores de entrada y se derivan directamente del circuito o de las ecuaciones booleanas que describen al circuito.

DIAGRAMA DE ESTADO

La información disponible en una tabla de estado se puede representar gráficamente en un diagrama de estado. En este tipo de diagrama, el estado se representa con un círculo y la transición entre estados se indica con líneas que conectan los círculos. El diagrama de estado del circuito secuencial de la figura 20 se muestra en la figura 21. El diagrama de estado proporciona la misma información que la tabla de estado y se obtiene directamente de la tabla 4. El número binario dentro de cada círculo identifica el estado de los flip-flops. Las líneas de conexión se rotulan con dos números binarios separados por una

(9)

Pág. 9

diagonal. El valor de entrada durante el estado presente se etiqueta primero y el número que sigue a la diagonal da la salida durante el estado presente. Por ejemplo, la línea que conecta del estado 00 al 01 se rotula l/0, significando que cuando el circuito secuencial está en el estado presente 00 y la entrada es 1, la salida es 0. Después de una transición de reloj, el circuito pasa al estado siguiente 01. La misma transición de reloj puede cambiar el valor de entrada. Si la entrada cambia a 0, la salida se vuelve 1, pero si la entrada se queda en 1, la salida permanece en 0. Esta información se obtiene del diagrama de estado a lo largo de las dos líneas que salen del círculo que representa el estado 01. Una línea que conecta a un círculo consigo mismo indica que no ocurre ningún cambio de estado.

No hay diferencia entre la tabla de estado y el diagrama de estado, excepto por la manera de presentación. La tabla de estado es más fácil de obtenerse de un diagrama lógico dado, y el diagrama de estado se deduce directamente de la tabla de estado. El

diagrama de estado da una vista gráfica de las transiciones de estado y es la forma adecuada para la interpretación humana del funcionamiento de un circuito. Por ejemplo,

el diagrama de estado de la figura 21 muestra claramente que, partiendo del estado 00, la salida es 0 mientras la entrada permanezca en 1. La primera entrada 0 después de una cadena de unos da una salida de i y transfiere el circuito otra vez al estado inicial 00.

Figura 21: Diagrama de estado de un circuito secuencial

EJEMPLO DE CIRCUITO SECUENCIAL: EL CONTADOR BINARIO

El procedimiento de diseño consiste en traducir primero las especificaciones del circuito a un diagrama de estado. El diagrama de estado se convierte entonces en una tabla de estado. De la tabla de estado obtenemos la información para conocer el diagrama del circuito lógico.

Queremos diseñar un circuito secuencial sincronizado por reloj que pase a través de una secuencia de estados binarios repetidos 00, 01, 10, 11 cuando la entrada externa x sea igual a 1. El estado del circuito permanece sin cambio cuando x = 0. Este tipo de circuito se llama contador binario de 2 bits porque la secuencia de estado es idéntica a la secuencia de recuento de dos dígitos binarios. La entrada x es la variable de control que especifica cuándo debe proceder el recuento.

El contador binario necesita dos flip-flops para representar los dos bits.

El diagrama de estado para el circuito secuencial se muestra en la figura 22. El diagrama se dibuja para mostrar que los estados del circuito siguen el recuento binario con tal de que x = 1. El estado siguiente de 11 es 00, el cual causa que el recuento se repita. Si x = 0, el estado del circuito permanece sin cambio. Este circuito secuencial no tiene salidas externas y por lo tanto sólo el valor de la entrada se etiqueta en el diagrama. El estado de los flip-flops se considera como la salida del contador.

(10)

Pág. 10

Referencias

Documento similar