Está en la página 1de 18

DISEO SECUENCIAL

En los circuitos combinacionales estudiados anteriormente, sus salidas obedecan inmediatamente a los cambios de los datos en sus entradas, en los circuitos secuenciales esto no sucede. En un circuito secuencial, el valor de la salida ya no depende nicamente de los valores de entrada sino tambin del estado en que se encuentra la unidad de memoria. En la figura 5.1. se muestra un diagrama de bloque de un circuito secuencial. Consiste de un circuito combinacional y elementos de memoria que son capaces de almacenar informacin binaria.

ENTRADAS

CIRCUITO COMBINACIONAL

SALIDAS

ELEMENTOS DE MEMORIA

Diagrama de Bloque de un Circuito Secuencial Esta informacin binaria almacenada en los elementos de memoria en cualquier instante definen el "estado" del circuito secuencial. La informacin binaria en las entradas externas y el estado presente de los elementos de memoria determinarn el valor de la las salidas. Las entradas tambin determinarn las condiciones para el cambio del "estado" de los elementos de memoria. Las salidas del circuito secuencial son una funcin de las entradas y del "estado" presente de los elementos de memoria. El prximo estado de los elementos de memoria tambin es funcin de las entradas y del estado presente. En resumen, el comportamiento de un circuito secuencial se determina por la secuencia en el tiempo de entradas, salidas y estados internos, que lo harn pasar por un numero finito de estados. Los elementos de memoria en un circuito secuencial se denominan flip-flops. Un flip flop posee dos salidas, una para el valor normal y otro para el valor complementado (negado) almacenado en l. TIPOS DE CIRCUITOS SECUENCIALES Existen por diseos dos tipos de circuitos, los cuales son: 5.1.1. Circuitos Secuenciales Sincronos: Son aquellos circuitos que para su funcionamiento necesitan de una seal externa denominada seal de reloj. Con la presencia de esta seal las salidas cambiarn de estado solamente en los tiempos en que el reloj cambie ya sea en los flancos de subida o en los flancos de bajada.

Su diseo de estos circuitos secuenciales sncronos son de relativa dificultad pero en cambio, son de mayor estabilidad e inmunes a posibles cambios indeseados ya que estn sincronizadas las salidas con los pulsos del reloj. 5.1.2. Circuitos Secuenciales Asncronos: Son aquellos que su funcionamiento no depende de una seal externa pudiendo cambiar sus salidas en cualquier momento que sus entradas cambien. El diseo del circuito secuencial asncrono son fciles pero tienen el problema de la estabilidad ya que cualquier perturbacin externa pueden cambiar su estado en cualquier momento. LOS FLIP-FLOPS Un flip-flop puede construirse a partir de dos compuertas NAND o dos compuertas NOR. Estos flip-flops se muestran en la figura 5.2. Cada flip-flop posee dos salidas, Q y de flip-flop se denomina flip-flop SR o latch SR. Tabla de Verdad S S 1 0 0 0 1 R 0 0 1 0 1 Q 1 1 0 0 0
Q

Q,

y dos entradas, set y reset. Este tipo

0 0 1 1 0

Flip-Flop con compuertas NOR Tabla de Verdad S 1 1 0 1 0 R 0 1 1 1 0 Q 0 0 1 1 1


Q

1 1 0 0 1

Flip-Flop con compuertas NAND Figura N 5.2 Representacin General


S Q

5.2.1. Estados del Flip- Flop Se denominar Qt al estado presente o actual, y Q(t+1) al estado futuro. Cuando se aplica un 1 en ambas entradas en el flip-flop, tanto la salida Q como la
Q va

a 0. Esta

condicin viola el hecho que las salidas sean complementarias. Esta condicin viola el hecho de que las salidas sean una la negacin de la otra. En la operacin normal esta condicin debe evitarse, asegurndose que no se aplique simultneamente un 1 en ambas entradas.

Tabla Caracterstica S R 0 0 1 1 0 1 0 1 Q(t+1) Qt 0 1 Indeterminado

Para la descripcin del funcionamiento de un FF se utilizan tablas de verdad, tablas caractersticas, ecuaciones caractersticas y tablas de excitacin. Tabla de verdad: muestra el comportamiento del estado futuro en funcin de las entradas y el estado presente. Se utiliza para obtener la ecuacin caracterstica.

Tabla Caracterstica: tambin muestra el comportamiento del estado futuro pero de una manera mas compacta que la tabla de verdad. Ecuacin caracterstica: es otra forma de describir el comportamiento del estado futuro, pero a menudo ms til durante el anlisis de circuito porque puede ser utilizada como par de una expresin booleana. Tabla de excitacin: se obtiene de la ecuacin caracterstica. Muestra las entradas que se necesitan para pasar de un estado a otro. Se utilizan en la sntesis de circuitos secuenciales. La ecuacin caracterstica se obtiene de la tabla de verdad y ser: Q(t+1)= S + R Qt Hay que recordar que la condicin S=R=1 es prohibida, por lo que la ecuacin caracterstica ser valida siempre que SR=0 La tabla de excitacin, que nos da el valor de las entradas para pasar de un estado a otro y se obtiene de la ecuacin caracterstica. Tabla de Excitacin Qt 0 0 1 1 Q(t+1) 0 1 0 1 S 0 1 0 X R X 0 1 0

Flip-Flop maestro-esclavo Un flip flop maestro-esclavo se construye con dos FF, uno sirve de maestro y otro de esclavo. Durante la subida del pulso de reloj se habilita el maestro y se deshabilita el esclavo. La informacin de entrada es transmitida hacia el FF maestro. Cuando el pulso baja nuevamente a cero se deshabilita el maestro lo cual evita que lo afecten las entradas externas y se habilita el esclavo. Entonces el esclavo pasa al mismo estado

del maestro. El comportamiento del flip-flop maestro-esclavo que acaba de describirse hace que los cambios de estado coincidan con la transicin del flanco negativo del pulso.

maestro J
Jm clk Q

esclavo
Je clk Q

Km

Ke

CLK Flip-Flop JK Maestro-Esclavo

FLIP FLOP ACTIVADOS POR RELOJ Se utiliza cuando se desea que las salidas de los sistemas varen en forma precisa, lo que se obtiene por medio de una seal de disparo o cambio, llamada seal de reloj. Los Flip Flops son sensibles a los cambios de nivel de seales, pudiendo ser transicin con flanco de subida o con flanco de bajada.

FLANCO DE BAJADA FLANCO DE SUBIDA

CK
J clk K Q Q

CK
J Q

clk
K Q

FLIP FLOP DISPARADO POR FLANCO POSITIVO

FLIP FLOP DISPARADO POR FLANCO NEGATIVO

TIEMPO DE ESTABLECIMIENTO (ts) Es el intervalo que precede inmediatamente a la transicin activa de la seal de CK, durante la cual la entrada sincrona tiene que mantenerse en el nivel indicado. Es dato de fabricante, si no se cumple este requisito, quizs el flip flops no responda de manera confiable cuando ocurra la transicin de reloj.

Algunos FF cambian de estado en la subida del pulso de reloj, y otros en el flanco de bajada. Los primeros se denominaran Flip flop disparados por flanco positivo y los segundos Flip flops disparados por flanco negativo. La distincin entre unos y otros se indicar con la presencia o ausencia de una negacin en la entrada de reloj como se muestra en la figura.

PARMETROS DE LOS FLIP-FLOPS Adems de los parmetros caractersticos de la familia lgica a que pertenecen, como son niveles lgicos, fan-out., etc. Cabe destacar una serie de parmetros, ms o menos normalizados, relativos a la temporizacin de las diferentes seales que intervienen en la conmutacin de los flip-flops. De ellos cabe destacar los siguientes: 1. 2. 3. 4. 5. Tiempo de establecimiento (SET UP TIME). Es el tiempo anterior al flanco activo de toma de datos durante el cual las entradas no deben cambiar. Tiempo de mantenimiento (HOLD TIME). Es el tiempo posterior al flanco activo de toma de datos durante el cual las entradas no deben cambiar. Frecuencia mxima de reloj. Es la frecuencia mxima admisible de la seal de reloj que garantiza el fabricante. Duracin del tiempo alto de reloj. Es el tiempo mnimo que debe durar la parte alta del impulso de reloj. Duracin del tiempo bajo de reloj. Es el tiempo mnimo que debe durar la parte baja del impulso de reloj.

6. 7.

Tiempo bajo de PRESET Y RESET. Es el tiempo mnimo que debe activarse las entradas asncronas para garantizar su funcionamiento. Tiempo de retardo o propagacin. Es el tiempo que transcurre desde el flanco activo del reloj que produce la conmutacin y el momento en que sta tiene lugar.

FLIP FLOP TIPO RS Smbolo


S clk R Q Q

Tabla Caracterstica S 0 0 1 1 R 0 1 0 1 Q(t+1) Qt 0 1 ?

Ecuacin Caracterstica

Q(t+1) = S + R Qt

FLIP FLOP TIPO J K La operacin de un FF tipo J K es muy similar a la de un FF S R. La nica diferencia es que no tiene un estado invlido. Para la condicin J=K=1 el FF complementa el estado presente. La tabla caracterstica resume el comportamiento del FF tipo J K disparado por flanco negativo. Smbolo Tabla Caracterstica J K 0 0 0 1 1 0 1 1 Qt+1 Qt 0 1
Qt

Ecuacin Caracterstica

Q clk

Q(t+1) = J

On

Qt

FLIP FLOP TIPO D

La operacin de un FF tipo D es mucho mas simple. Solo posee una entrada adems de la del reloj. Se le denomina "data" y es muy til cuando queremos almacenar un dato de un bit (0 o 1). Si hay un 1 en la entrada D cuando se aplica el pulso de reloj la salida Q toma el valor de 1 (SET) y lo almacena. Si hay un 0 en la entrada D, cuando se aplica el pulso de reloj la salida toma el valor de 0 (RESET) y lo almacena. El cambio en la salida del FF se efecta en el flanco de bajada del reloj. La tabla caracterstica resume el comportamiento del FF tipo D disparado por flanco negativo. Smbolo
D clk Q Q

Tabla Caracterstica D Q(t+1) 0 0 1 1

Ecuacin Caracterstica

Q(t+1)= D

FLIP FLOP TIPO T Solo posee una entrada adems de la del reloj. Se le denomina "toggle". Si hay un 0 en la entrada T, cuando se aplica el pulso de reloj la salida mantiene el valor del estado presente. Si hay un 1 se complementa La tabla caracterstica resume el comportamiento del FF tipo T disparado por flanco negativo. Smbolo
T clk Q Q

Tabla Caracterstica T 0 1 Q(t+1) Qt


Qn

Ecuacin Caracterstica

Q(t+1) = T Qt +

Qt

FLIP FLOP TIPO J K: FLIP FLOP UNIVERSAL El FF JK puede considerarse como el flip flop de tipo universal puesto que puede configurarse para obtener los dems flip-flops estudiados en el cuadro a continuacin se muestra el equivalente de cada uno de lo tipos de flip flop en funcin del J K.

Flip Flop tipo S R


J clk K Q Q

Flip Flop tipo D


J clk K Q Q

Flip Flop tipo T


J clk K Q Q

TABLAS CARACTERSTICAS S 0 0 1 1 R 0 1 0 1 Q(t+1) Qt 0 1 ? J 0 0 1 1 K 0 1 0 1 Q(t+1) Q(t) 0 1


Q (t)

D 0 1

Q(t+1) 0 1

T 0 1

Q(t+1)
T

Q(t)
Q (t)

TABLAS DE EXCITACIN Q(t) 0 0 1 1 Q(t+1) 0 1 0 1 S 0 1 0 X R X 0 1 0 Q(t) 0 0 1 1 Q(t+1) 0 1 0 1 D 0 1 0 1

10

Q(t) 0 0 1 1

Q(t+1) 0 1 0 1

J 0 1 X X

K X X 1 0

Q(t) 0 0 1 1

Q(t+1) 0 1 0 1

T 0 1 1 0

DISEO CON FLIP FLOP 5.3.1. Diseo de Contadores Un contador es un circuito secuencial que pasa por una secuencia prescrita de estados. La secuencia puede seguir un conteo binario o cualquier otra secuencia de estados. Los contadores se encuentran en casi todo sistema digital. Se utiliza para contar el nmero de ocurrencias de un evento o para generar secuencias de temporizado para controlar operaciones en un sistema digital. De las diversas secuencias que puede seguir un contador, la secuencia binaria directa es la mas simple y la mas directa. Un contador que sigue la secuencia binaria se denomina contador binario n bits, consta de n flip-flops y puede contar en binario desde 0 hasta 2n-1.

Un contador con n flip-flops no necesariamente debe contar 2n nmeros. Puede truncarse la secuencia para contar un numero menor de estados. Por ejemplo un contador BCD (contador del 0 al 9) cuenta la secuencia binaria desde 0000 hasta 1001 y regresa a 0000 para repetir la secuencia. Otros contadores pueden seguir una secuencia arbitraria que es posible no sea la secuencia binaria directa. En cualquier caso, el procedimiento de diseo ser el mismo. Existe una clasificacin bsica de los contadores, que se divide en asncronos y sncronos, en funcin de la seal de reloj que dispara simultneamente a todos los flip-flops (sncrono) o no (asncrono). Adems, los contadores pueden clasificarse atendiendo al tipo de secuencia que generan o al nmero de estados por el que pasan (mdulo).

5.3.2. Contadores Asncronos


En los sistemas asncronos los FF no estn conectados al mismo reloj, por lo que no cambian simultneamente. La seal de reloj slo ataca al flip-flop que representa al bit menos significativo. Los otros FF se conectan en cascada sirviendo su salida de reloj para el siguiente, hasta llegar al bit mas significativo.

11

Contador binario ascendente tipo ripple

Q0 1
J0 Q0

1
J1 Q1

Q1

Q0

clk
FF0 FF1 K1 Q1

En la figura se muestra un contador asincrono de 2 bits. Est constituida con dos flip flop J K con ambas entradas conectadas a 1, por lo que cambiarn de estado en el flanco de bajada de su entrada de reloj. El reloj externo se conecta solamente a la entrada de reloj del primer flip flop (FF0). Este cambiar de estado en cada flanco de bajada del reloj. El siguiente flip flop(FF1), tiene como entrada de reloj la salida de FF0 por lo que cambiar de estado cada vez que la salida Q0 cambie de 1 a 0. Debido a que cada flip flop responde con cierto retardo, los flip flop no son disparados simultneamente, por lo que operan de forma asncrona. De hecho, la salida Q0 se producir un tiempo despus de que baje el reloj, y como esta es la entrada de reloj de FF1, la salida Q1 se producir un tiempo despus de que Q0 cambie de 1 a 0. De esta forma el retardo se ir propagando a medida que se vayan agregando flip flops, como las olas en el agua, de aqu que estos contadores se denominan tipo "ripple" Note que por simplicidad, en el diagrama de tiempo no se toma en cuenta este retardo, y se muestra como si las transiciones ocurrieran simultneamente. Usualmente todas las entradas de CELAR se conectan juntas, de manera que un pulso pueda poner todos los FF en cero antes de comenzar la cuenta. Como se mostr anteriormente este contador de 2 bit tipo ripple pasa por 4 estados diferentes, dependiendo del valor de la cuenta (00,01,10,11). De igual forma, un contador con n flip flops, pasar por 2 n estados diferentes. El numero de estados diferentes por lo que pasa un contador se denomina modulo. El contador de 2 bits se denomina entonces contador modulo 4. Un contador mod-n (modulo n) puede denominarse tambin contador divisor por n (divide-by-n counter) . Esto porqu el FF correspondiente al bit mas significativo ( el mas lejos desde el que est conectado al pulso de reloj original) produce un pulso de reloj por cada n pulsos del reloj de entrada del FF correspondiente al bit menos significativo ( el FF disparado por el reloj principal) El contador mod-4 analizado anteriormente puede llamarse tambin contador divisor por 4 (divide-by-4 counter). El siguiente es un contador asncrono de 3 bits. Trabaja exactamente como el de dos bits, solo que ahora, debido al tercer FF se contarn 8 estados.

Q0 Q1 1
J0 SET Q0

1
J1
SET

1 Q2
Q1 J2
SET

Q2

clk

FF0

FF1

FF2

12

clk Q0 Q1 Q2 cuenta 0 0 0 0 1 0 0 1 0 1 0 2 1 1 0 3 0 0 1 4 1 0 1 5 0 1 1 6 1 1 1 7 0 0 0 0

5.3.3. Contador Ascendente BCD Asincrono


Los contadores analizados anteriormente cuentan 2 n estados diferentes, donde n es el numero de FF. Realmente con n flip flop se puede tener en la secuencia HASTA 2 n estados diferentes, por lo que podramos contar un menor numero de estados y tendramos una secuencia truncada. Esto se hace forzando a reciclar los FF antes de que pase por todos sus estados normales. Un ejemplo comn se tiene con un contador de dcada. Si quisiramos realizar un contador modulo 10 (de 0 a 9) se necesitaran 4 flip flops. Con 4 FF de la forma indicada anteriormente podramos contar hasta 16 estados diferentes (de 0 a 15), por lo que al llegar a 9 si queremos volver a 0 lo que hacemos es poner en cero todos los FF utilizando las entradas de RESET. Para hacer esto necesitamos decodificar el estado de numeracin siguiente al mas alto con un circuito combinatorio adicional que haga que los FF, en lugar de mostrar un 10 (1010) muestren un cero (0000) haciendo un RESET en todos los FF. Esto se hace con la compuerta NAND que se muestra en el circuito. Se utiliza una compuerta NAND porque la entrada de RESET est negada. Esto quiere decir que los FF se resetean con un cero.

El siguiente es un contador de dcada, contador de 0 a 9 o contador BCD:


Q0 Q1

1
J0
SET

1
Q0 J1
SET

1
Q1 J2
SET

1
Q2 J3
SET

Q2
Q3

Q3

clk
K0 CLR Q0 K1 CLR Q1 K2 CLR Q2 K3 CLR Q3

Debe ser evidente la manera de obtener la funcin del circuito que resetea a cero. Contadores Sncronos

13

Muchas veces se desea tener contadores que sigan secuencias de conteo que no sea la binaria, en ese caso ya no se dispondr de circuitos integrados que contengan el contador, sino que debemos disearlo. Al ser el contador un circuito secuencial para disearlo se utilizarn las tcnicas de diseo de circuitos secuenciales. No es objeto de este curso un anlisis profundo de los procedimientos de sntesis de circuitos secuenciales en general. Solo se analizar el procedimiento para el caso de los contadores, lo que implica una gran simplificacin del procedimiento. Antes de proceder al mtodo de sntesis para el diseo de contadores se darn algunas definiciones. 5.3.5. Diagrama de Estados Describe grficamente el circuito secuencial, el contador en este caso, indicando cual es el estado siguiente en funcin del estado actual y de las entradas, que para el caso de contadores no existen. En este diagrama, un estado se representa por un circulo, y la transicin se indica con lneas o arcos que conectan los crculos. Dentro de cada circulo se escribe un numero binario que representa el estado. La figura muestra el diagrama de estados de un contador de 3 bits.
0 0 0

0 0 1 0 1 0

1 1 1 1 1 0

0 1 1

1 0 0

1 0 1

5.3.6. Tabla de Transiciones La tabla de estados consiste de tres columnas denominadas estado presente, estado futuro y entradas de los flip flops. El estado presente denota el estado de los flip flops antes de la ocurrencia de un pulso de reloj. El estado futuro muestra el estado de los flip flops despus del pulso de reloj. Las entradas de los flip flops muestran que valores deben recibir las entradas de los flip flops para pasar del estado presente al estado futuro despus del pulso de reloj. Es importante recordar las tablas de excitacin de los flip flop ya que la funcin de entrada se obtiene a partir de estas. De hecho el procedimiento consiste en determinar que entrada necesitan los flip flops para pasar del estado presente al estrado futuro. Como se mencion en el resumen de flip flops, las tablas de excitacin son las siguientes.

14

Flip Flop tipo J K Qt 0 0 1 1 Q(t+1) 0 1 0 1 J 0 1 X X K X X 1 0

Flip Flop tipo T Qt 0 0 1 1 Q(t+1) 0 1 0 1 T 0 1 1 0

Flip Flop tipo D Qt 0 0 1 1 Q(t+1) 0 1 0 1 D 0 1 0 1

PROCEDIMIENTO DE DISEO 1. 2. 3. 4. Realizar el diagrama de estado. Del numero de estados diferentes se obtiene el numero de flip flops. Realizar la tabla de transiciones. De la tabla se obtienen las funciones de entradas de los flip flops. Se selecciona el tipo de flip flop para el diseo (JK, T, D) Minimizacin de las funciones de entradas utilizando mapas de Karnaugh. Dibujar el diagrama circuital

Ejemplo de diseo: contador binario ascendente de 3 bits. Para entender el procedimiento de diseo, sigamos los pasos para disear un contador sncrono binario ascendente de 3 bits . La cuenta ser 000, 001, 010, 011, 100, 101, 110, 111. y as de nuevo. (En decimal corresponde a la cuenta 0,1,2,3,4,5,6,7 y de nuevo a 0)

Paso 1: Diagrama de Estado Describimos el contador mediante un diagrama de estado, que nos muestra la manera como avanza la secuencia cada vez que se aplica un pulso de reloj. El numero de estados por lo que pasa el contador es de 7 por lo que se necesitarn 3 FF para disearlo. En el diseo de circuitos secuenciales en general, el diagrama de estado es el primer paso hacia la obtencin del circuito. Para el caso de contadores por ser una secuencia directa no es necesario el diagrama de estado ya que en la especificacin de diseo est suficientemente clara la secuencia de conteo, y de esta se puede obtener directamente el numero de flip flops necesarios y la tabla de transiciones. Paso 2: Tabla de Transiciones El prximo paso es el de desarrollar la tabla de transiciones a partir del diagrama de estado. En ella listaremos para cada uno de los estados presentes de la secuencia, cual debe ser el valor de entrada de los flip flops para que al aplicarse un pulso de reloj se pase al siguiente estado de la secuencia (estado futuro).

15

Para ello nos ayudamos con la tabla de excitacin de los flip flop. Podemos disear el contador utilizando FF tipo JK, T o D. En este ejemplo utilizaremos el Flip Flop tipo JK. Si notan en la primera fila estamos en el estado 000 y el presente estado futuro de la cuenta debe ser el 001. En las entradas de los flip flops deberemos poner los valores necesarios para pasar del estado presente al estado futuro cuando baje el pulso de reloj.

TRANSICIONES DE ESTADO Estado Presente Estado Futuro Q2 0 0 0 0 1 1 1 1 Q(t) Q1 0 0 1 1 0 0 1 1 Q0 0 1 0 1 0 1 0 1 Q2 0 0 0 1 1 1 1 0 Q(t+1) Q1 0 1 1 0 0 1 1 0 Q0 1 0 1 0 1 0 1 0 J2 0 0 0 1 X X X X

ENTRADAS DE LOS FLIP FLOPS FF2 K2 X X X X 0 0 0 1 J1 0 1 X X 0 1 X X FF1 K1 X X 0 1 X X 0 1 J0 1 X 1 X 1 X 1 X FF0 K0 X 1 X 1 X 1 X 1

As, para el FF2 que genera Q2, el estado presente es 0 y el estado futuro es 0. Esto sucede cuando J 2=K2=0 o cuando J2 = 0 y K2 = 1. De este modo, J2 tiene que ser cero, y K2 puede tener cualquier valor que indicaremos en la columna correspondiente a J2 con un 0 y en la correspondiente a K2 con una X indicando la condicin de "no importa". As vamos obteniendo las entradas para todos los FF y para todas las transiciones de estado. Esta representacin es una tabla de verdad de las entradas de los flip flop en funcin del estado presente, por lo que podemos obtener las funciones mnimas de estas entradas utilizando los Mapas de Karnaugh. Paso 3: Minimizacin de Funciones de Entrada de los Flip Flops De la tabla de transiciones para cada una de las entradas de los FF obtenemos los Mapas de Karnaugh en funcin del estado presente, y simplificando obtenemos las funciones de las entradas de cada flip flop. K2 = Q1.Qo J2 = Q1.Qo K1 = Qo J1 = Qo Ko= 1 Jo= 1

Paso 4: Diagrama Circuital

16

El paso final es obtener el diagrama circuital. Para ello utilizamos las funciones de entrada de los flip flops para dibujar la lgica cambinacional correspondiente a las entradas de cada flip flop y formar as el contador. Las funciones de entrada obtenidas de los Mapas de Karnaugh son: J2 = K2 =Q1Q0 J1 = K1 = Q0 J0 = K0 = 1 Note que el circuito obtenido corresponde al del contador de 3 bits analizado en la gua de contadores sncronos. Q0 Q1 1
J0 Q0 FF0 J1 Q1 FF1 J2 Q2 FF2

Q2

clk

17

18