tema 5: circuitos secuenciales · tema 5: circuitos secuenciales 5.1 introducción: tablas de...

32
Estructura de computadores Tema 5: Sistemas secuenciales 1 Tema 5: Circuitos secuenciales 5.1 Introducción: tablas de transición, cronogramas. Hemos visto como en los circuitos combinacionales, las salidas sólo dependen de las entradas en el mismo instante de tiempo. Existe otro tipo de circuitos digitales en los cuales esto no es así. Son los llamados circuitos o sistemas secuenciales. Circuitos secuenciales Son aquellos en los cuales las salidas en un instante de tiempo determinado dependen de las entradas en ese instante y en instantes anteriores de tiempo. Como consecuencia de la definición anterior podemos llegar a la conclusión de que este tipo de circuitos son capaces de memorizar información y que esta información en un momento dado depende de las entradas ocurridas en el circuito hasta ese momento. El circuito no es capaz de memorizar todas las entradas ocurridas hasta un instante de tiempo determinado, sino solo una cierta parte. A la información almacenada se le denomina estado del sistema, y el número máximo de informaciones almacenables es el número de estados posibles del sistema. El diagrama de bloques de un circuito secuencial es: El circuito secuencial recibe información binaria de su ambiente a través de las entradas E, las cuales, en combinación con el estado actual Q(t) (almacenado en los elementos de almacenamiento), determinan el valor binario de las salidas S y el siguiente estado Q(t+1). Las salidas de un circuito secuencial son las salidas del circuito combinacional. Circuito combinacional E S Elementos de almacenamiento Q(t) Q(t+1)

Upload: others

Post on 11-Oct-2020

34 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tema 5: Circuitos secuenciales · Tema 5: Circuitos secuenciales 5.1 Introducción: tablas de transición, cronogramas. Hemos visto como en los circuitos combinacionales, las salidas

Estructura de computadores Tema 5: Sistemas secuenciales

1

Tema 5: Circuitos secuenciales

5.1 Introducción: tablas de transición, cronogramas.

Hemos visto como en los circuitos combinacionales, las salidas sólodependen de las entradas en el mismo instante de tiempo. Existe otro tipo decircuitos digitales en los cuales esto no es así. Son los llamados circuitos osistemas secuenciales.

Circuitos secuenciales

Son aquellos en los cuales las salidas en un instante de tiempodeterminado dependen de las entradas en ese instante y en instantesanteriores de tiempo.

Como consecuencia de la definición anterior podemos llegar a laconclusión de que este tipo de circuitos son capaces de memorizar informacióny que esta información en un momento dado depende de las entradasocurridas en el circuito hasta ese momento.

El circuito no es capaz de memorizar todas las entradas ocurridas hastaun instante de tiempo determinado, sino solo una cierta parte. A la informaciónalmacenada se le denomina estado del sistema, y el número máximo deinformaciones almacenables es el número de estados posibles del sistema.

El diagrama de bloques de un circuito secuencial es:

El circuito secuencial recibe información binaria de su ambiente a travésde las entradas E, las cuales, en combinación con el estado actual Q(t)(almacenado en los elementos de almacenamiento), determinan el valor binariode las salidas S y el siguiente estado Q(t+1).

Las salidas de un circuito secuencial son las salidas del circuitocombinacional.

Circuitocombinacional

E S

Elementos dealmacenamiento

Q(t) Q(t+1)

Page 2: Tema 5: Circuitos secuenciales · Tema 5: Circuitos secuenciales 5.1 Introducción: tablas de transición, cronogramas. Hemos visto como en los circuitos combinacionales, las salidas

Estructura de computadores Tema 5: Sistemas secuenciales

2

5.1.1 Funciones de transición

Un circuito o sistema secuencial queda definido por dos funcioneslógicas, llamadas funciones de transición:

1. Función de salida: nos indica cómo depende la salida o salidas, delas entradas actuales y del estado actual.

2. Función de transición de estado: nos indica como depende elnuevo estado del estado anterior y de las entradas al sistema.

5.1.1.1 Función de salida

Si designamos por:S(t) = salidas en el mismo instante de tiempo tE(t) = entradas en el mismo instante de tiempo tQ(t) = estado en el instante de tiempo t

La función de salida puede expresarse:

S (t) = F [ E (t), Q (t) ]

5.1.1.2 Función de transición de estado

Nos indica si unas determinadas entradas producen un cambio en elestado y a qué estado se cambia. La función puede expresarse:

Q(t+1) = G [ E(t), Q(t) ]

Tanto F como G son funciones lógicas, exactamente iguales a lasestudiadas hasta ahora. La única novedad, que confiere a los circuitossecuenciales propiedades totalmente distintas a los combinacionales, es elhecho de que existe realimentación. La función G nos da los valores Q enfunción de los propios valores Q anteriores. Las mismas variables son variablesde entrada y salida de la función.

Las funciones F y G pueden expresarse mediante tablas de verdad.como cualquier otra función. Por el hecho de existir realimentación, se lesdenomina tablas de transición del circuito secuencial.

5.1.2 Cronogramas

Hemos visto que los circuitos secuenciales tienen una estructura tal quelas salidas dependen del tiempo, ya que el estado depende de las entradas yéstas son función del tiempo.

Aunque las tablas de transición permiten definir un circuito secuencial,cuando éste es complejo, es más cómodo manejar una representación gráficade las variables en función del tiempo. A esta representación se le llamacronograma.

Más adelante veremos los cronogramas de los distintos biestables.

Page 3: Tema 5: Circuitos secuenciales · Tema 5: Circuitos secuenciales 5.1 Introducción: tablas de transición, cronogramas. Hemos visto como en los circuitos combinacionales, las salidas

Estructura de computadores Tema 5: Sistemas secuenciales

3

5.2 Biestables

Los biestables son circuitos lógicos capaces de permanecer en uno deentre dos estados estables, aún después de desaparecer la causa que provocóel paso al estado alcanzado. Son, pues, capaces de almacenar unainformación binaria (1 bit).

5.2.1 Tipos de biestables.

Deben distinguirse tres aspectos en las señales de entrada queproducen la transición de un estado a otro:

1. La lógica de disparo, que determinará que el biestable cambie deestado cuando en sus entradas se dé una cierta combinación deseñales. Es el modo de funcionamiento. Puede haber tantosbiestables como lógicas de cambio nos imaginemos. En la prácticasólo se usan 4 tipos de biestables.

2. El tipo de disparo, que determinará la forma en que las excitacionesde entrada afectan al estado del biestable.

3. El sincronismo en el disparo, que determinará si el funcionamientodel biestable se hará de acuerdo con la presencia de una señaladicional a las entradas, y que se denomina señal de reloj.

Combinando estos tres aspectos, los fabricantes han comercializado unagran variedad de biestables, que son suficientes para las necesidades dediseño. Podemos clasificar los biestables según estos criterios.

1. Atendiendo a la lógica de disparo (modo de funcionamiento):q Biestables R-Sq Biestables J-Kq Biestables Dq Biestables T

2. Atendiendo al sincronismo en el disparo y tipo de disparo:q Asíncronos (latches): funcionan sin señal de reloj.q Síncronos (flip-flops): funcionan con señal de reloj.

§ Disparo por nivel de tensión: alto ("1") o bajo ("0")§ Nivel alto ("1"): El biestable podrá cambiar de estado

cuando la señal de reloj esté a "1".§ Nivel bajo ("0"): El biestable podrá cambiar de estado

cuando la señal de reloj esté a "0".

§ Disparo por flanco: de subida o bajada§ Flanco de subida: El biestable podrá cambiar de estado en

el instante en que la señal de reloj pase de "0" a "1".§ Flanco de bajada: El biestable podrá cambiar de estado en

el instante en que la señal de reloj pase de "1" a "0".

Page 4: Tema 5: Circuitos secuenciales · Tema 5: Circuitos secuenciales 5.1 Introducción: tablas de transición, cronogramas. Hemos visto como en los circuitos combinacionales, las salidas

Estructura de computadores Tema 5: Sistemas secuenciales

4

5.2.1.1 Biestables asíncronos (latches)

Asíncronos quiere decir que funcionan sin señal de reloj; cualquiercambio en las entradas produce un cambio en las salidas, en cualquiermomento. En el caso de tener varios biestables asíncronos en un circuito, cadauno actuaría de forma independiente a los otros.

5.2.1.2 Biestables síncronos (flip-flops)

Son los que funcionan en sincronismo con una señal de reloj. A estostambién se les llama circuitos secuenciales sincronizados, y son el tipo decircuito más utilizados en la práctica, ya que son relativamente sencillos dediseñar.

Un circuito secuencial síncrono emplea señales que afectan loselementos de almacenamiento sólo a instantes discretos de tiempo. Lasincronización se logra por medio de un dispositivo de sincronía, llamadogenerador de reloj, que produce un tren periódico de pulsos de reloj, aintervalos fijos.

Esto significa que en los biestables síncronos, la tabla de transición solose cumple cuando se activa la señal de reloj. Si la señal de reloj no se activa,no se produce ninguna transición. Por tanto, aunque en las entradas haya unacombinación de señales que conduzcan a una transición de estado, ésta no seproducirá hasta que se active la señal de reloj, y no volverá a producirse unanueva transición hasta que se active de nuevo la señal de reloj.

La señal de reloj puede activarse de dos formas: por nivel o por flanco.

5.2.1.2.1 Biestables activados por nivel (de tensión):

Un biestable activado por nivel podrá cambiar de estado cuando laseñal de reloj esté a un determinado nivel de tensión: "1" (nivel alto) o "0" (nivelbajo).

5.2.1.2.2 Biestables activados por flanco:

Un biestable activado por flanco ignora el pulso de reloj mientras estáen un nivel constante y se dispara sólo durante una transición de la señal dereloj, de "0" a "1" (flanco de subida) o de "1" a "0" (flanco de bajada).

t

Reloj

Flanco de subida

t

Reloj

Flanco de bajada

Nivel altoNivel bajo

Page 5: Tema 5: Circuitos secuenciales · Tema 5: Circuitos secuenciales 5.1 Introducción: tablas de transición, cronogramas. Hemos visto como en los circuitos combinacionales, las salidas

Estructura de computadores Tema 5: Sistemas secuenciales

5

El diseño de circuitos asíncronos complejos es más difícil que el decircuitos síncronos, puesto que su comportamiento depende en gran medida delos retardos de propagación de las puertas lógicas y de la sincronía de loscambios de las entradas.

De todas formas, siempre se necesita algo de diseño asíncrono, ya que:

1. los latches (elementos de almacenamiento en circuitos asíncronos)se utilizan como bloques de construcción de los flip-flops(elementos de almacenamiento en circuitos síncronos).

2. Los biestables (flip-flops) que vamos a estudiar decimos que tienenentradas síncronas, ya que los datos se transfieren sincronizados conla señal de reloj, sólo durante el flanco de disparo del pulso de reloj.Pero la mayoría de los IC disponibles en el mercado presentantambién entradas asíncronas, las cuales pueden cambiar el estadodel flip-flop independientemente del reloj. Estas entradas pueden serpor nivel alto ("1") o por nivel bajo ("0") y son prioritaras sobre lasotras señales de entrada. Podemos tener las siguientes:• Inicialización o Preset (PRE): pone al biestable en estado SET

("1").• Borrado o Clear (CLR): pone al biestable en estado RESET ("0").

En su forma más elemental, un biestable consiste en dos inversoresinteracoplados (realimentados), la salida de uno conectada a la entrada del otroy viceversa, como se ve en la figura:

Este circuito es capaz de estar en dos estados estables, pero paracambiar de estado, hay que actuar sobre las salidas, por lo que no es útil.

Se requiere un circuito de entrada, separado del de salida. Además, senecesita que el biestable responda a una lógica de disparo, es decir, cambie deestado según un criterio preestablecido fijo.

Ahora vamos a estudiar los 4 tipos básicos de biestables: R-S, J-K, D yT, estudiando su tabla de de transición, circuito y cronograma, tanto para elcaso de que funcionen asíncronamente (sin señal de reloj) comosíncronamente (con señal de reloj). Veremos los casos en que la señal de relojse activa por nivel (alto/bajo) o por flanco (subida/bajada).

0

1

1

00

1

1

0

Page 6: Tema 5: Circuitos secuenciales · Tema 5: Circuitos secuenciales 5.1 Introducción: tablas de transición, cronogramas. Hemos visto como en los circuitos combinacionales, las salidas

Estructura de computadores Tema 5: Sistemas secuenciales

6

5.2.2 Biestable R-S (latch)

El único biestable que tiene sentido como asíncrono es el R-S. Losdemás requieren reloj para un correcto funcionamiento.

Este biestable tiene dos entradas:• R (Reset): permite poner a 0 el estado del biestable.• S (Set): permite ponerlo a 1.

Tiene dos salidas complementarias: Q y Q'. Para analizar la tabla detransición basta con que nos fijemos en Q.

La tabla de transición es la siguiente, en forma normal y formacompacta:

R S Q(t) Q(t+1) R S Q(t+1) Comentario0 0 0 0 0 0 Q(t) No cambia0 0 1 1 0 1 1 Se activa Set0 1 0 1 1 0 0 Se activa Reset0 1 1 1 1 1 ND No Definido1 0 0 01 0 1 01 1 0 ND1 1 1 ND ND = No definido

En el último caso, el hecho de que el nuevo estado no está definido noquiere decir que el biestable se deteriore si R=S=1. Lo que significa es que nopodemos predecir en qué estado quedará.

El símbolo como bloque del biestable R-S es el siguiente:

y el circuito puede ser implementado con sólo dos puertas NOR conacoplamiento cruzado y con entrada activa a nivel alto o con dos puertas NANDcon entrada activa a nivel bajo:

En el caso de utilizar puertas NAND, las órdenes Reset y Set sucedenpara entradas a nivel bajo (0); en este caso, el biestable se llama biestableR'S', y su tabla de verdad es todo invertido (R=S=0 no permitido, etc.)

Q

Q'

R

S

Q

Q'

R'

S'

R Q

S Q'

R' Q

S' Q'

Page 7: Tema 5: Circuitos secuenciales · Tema 5: Circuitos secuenciales 5.1 Introducción: tablas de transición, cronogramas. Hemos visto como en los circuitos combinacionales, las salidas

Estructura de computadores Tema 5: Sistemas secuenciales

7

Vamos a explicar el funcionamiento del biestable R-S (latch) con elprimer circuito (con puertas NOR). Lo que hacemos es cambiar los valores delas dos entradas R y S y observaremos las señales de salida Q y Q'.

Suponemos que R=S=Q=0 (nivel bajo). Dado que la salida Q serealimenta a una entrada de la puerta 2 y su otra entrada es S=0, la salida de lapuerta 2 tiene que ser Q'=1. Pero esta salida está acoplada de nuevo a unaentrada de la puerta 1, asegurando así que su salida sea Q=0, es decir, elbiestable no cambia de estado.

Cuando la salida Q esté a nivel bajo (Q=0), el latch se encuentra enestado RESET ("0") y permanecerá indefinidamente en él hasta que se leaplique un nivel alto en la entrada S (S=1). Al tener S=1, la salida de la puerta 2se pone a nivel bajo (Q'=0). Como tenemos que R=0 y Q'=0, la salida de lapuerta 1 se pone a nivel alto (Q=1). Este nivel alto en la salida Q se realimentaa una de las entradas de la puerta 2, asegurando que su salida Q' permanece anivel bajo (Q'=0) incluso cuando se elimine el nivel alto de la entrada S (S=0).

Cuando la salida Q esté a nivel alto (Q=1), el latch se encuentra enestado SET ("1"), y permanecerá indefinidamente en él hasta que se le apliqueun nivel alto en la entrada R (R=1).

Si estando en este estado SET (Q=1), eliminamos simultánemente losniveles altos de las dos entradas (R=S=0), como la salida Q se realimenta enuna entrada de la puerta 2, y la otra entrada es S=0, su salida estará a nivelbajo (Q'=0). Como esta salida está acoplada de nuevo a una entrada de lapuerta 1, y la otra entrada es R=0, su salida estará a nivel alto (Q=1). Vemosque el biestable no cambia de estado.

En operación normal, las salidas de un latch (Q y Q') son siemprecomplementarias una de la otra. Sin embargo, se produce una condición defuncionamiento no válida en un biestable R-S cuando se aplicansimultáneamente niveles altos a las dos entradas R y S (R=S=1). En estasituación, las dos salidas deberían estar forzósamente a nivel bajo (Q=Q'=0), loque viola la condición de complementariedad de las salidas.

Además, si se eliminan simultánemente los niveles altos de las dosentradas (R=S=0), las dos salidas van a tender al nivel alto y, dado quesiempre va a existir un cierto retraso de propagación de la señal eléctrica através de las puertas, una de las puertas dominará en la transición a nivel alto(una de las puertas siempre será más lenta que la otra). Esto hará que la salidade la puerta más lenta permanezca a nivel bajo. Cuando se produce estasituación, no se puede predecir el siguiente estado del latch. Si los tiemposde propagación de las dos puertas fueran exactamente iguales se produciríanoscilaciones 0,1,0,1,...

1 Q

Q'

R

S 2

Page 8: Tema 5: Circuitos secuenciales · Tema 5: Circuitos secuenciales 5.1 Introducción: tablas de transición, cronogramas. Hemos visto como en los circuitos combinacionales, las salidas

Estructura de computadores Tema 5: Sistemas secuenciales

8

Los cronogramas correspondientes a un biestable R-S con puertasNOR y NAND son los siguientes. Como estamos analizando el biestable comoasíncrono, no dependerá de una señal de reloj, sino de cómo cambiemos lasentradas R y S y del estado anterior. Igual que hemos hecho antes, lo quehacemos ahora es cambiar los valores de las dos entradas R y S yobservaremos las señales de salida Q y Q'. Los estados de las entradas R y Slos hemos elegido arbitrariamente para realizar los cronogramas, partiendo enambos casos de que Q se encuentra a nivel bajo (Q=0).

NOTA: La condición R=S=1 origina un modo de funcionamiento noválido del biestable, lo que es un gran inconveniente en cualquier latch de tipoRESET-SET.

NOTA: Mientras no se diga lo contrario, de ahora en adelantesupondremos que los tiempos de propagación de las puertas lógicas quecomponen los biestables son nulos, con lo cual la respuesta del biestable seráinmediata.

NOTA: en este caso, la condición R=S=0 tiene el mismo problema queantes.

t

R'

Cronograma biestable R-S (puertas NAND)

S'

Q

Q'

Mantiene el estado anterior

t

R

Cronograma biestable R-S (puertas NOR)

S

Q

Q'

Mantiene el estado anterior Estados no definidos

Page 9: Tema 5: Circuitos secuenciales · Tema 5: Circuitos secuenciales 5.1 Introducción: tablas de transición, cronogramas. Hemos visto como en los circuitos combinacionales, las salidas

Estructura de computadores Tema 5: Sistemas secuenciales

9

Este tipo de biestable, y todos los que vamos a ver, pueden tener unaentrada adicional de habilitación (STROBE o ENABLE), que puede activarseen estado alto ("1") o bajo ("0"). Cuando esta señal está activa, el biestablefunciona (puede cambiar de estado); cuando está inactiva, no funciona.

En el caso del biestable R-S, debemos añadir la siguiente lógica al circuitopara tener dicha entrada de habilitación. El símbolo lógico o de bloques es elmismo que antes pero añadimos esta entrada de habilitación.

El biestable R-S puede funcionar de forma asíncrona (tal como hemosvisto hasta ahora), pero también de forma síncrona, es decir, utilizando unaseñal de reloj como entrada de habilitación. Cuando enumeramos los distintostipos de biestables, dentro de los síncronos (flip-flops) vimos que la señal dereloj se podía activar por "nivel" o por "flanco".

Los símbolos lógicos o de bloques de los biestables R-S síncronosson los siguientes. Todos tienen una entrada adicional de reloj (Clock). En elcaso de los flip-flops disparados por flanco colocamos un triángulo dentro delbloque en la entrada del reloj. Este triángulo se denomina "indicador de entradadinámica". Para distinguir si se activa por flanco de subida o por flanco debajada, colocamos un círculo (como los de negación) en la entrada del reloj.

Activados por nivel:

Activados por flanco:

NOTA: Esta misma nomenclatura se utiliza en el resto de biestables.

R Q Clock

S Q'

Activado por flanco de subida

R Q Clock

S Q'

Activado por flanco de bajada

R QClock

S Q'

Activado por nivel alto ("1")

R QClock

S Q'

Activado por nivel bajo ("0")

Q

Q'

R

S

EN

Page 10: Tema 5: Circuitos secuenciales · Tema 5: Circuitos secuenciales 5.1 Introducción: tablas de transición, cronogramas. Hemos visto como en los circuitos combinacionales, las salidas

Estructura de computadores Tema 5: Sistemas secuenciales

10

Vamos a analizar ahora los cronogramas correspondientes a estoscuatro casos. Al tratarse de biestables síncronos, ahora dependerán de unaseñal de reloj. Igual que antes, cambiamos las entradas R y S y comprobamoslas señales de salida Q y Q'. Podemos poner los cuatro casos en un sólocronograma.

Donde:Qna = Salida biestable activado por nivel alto ("1")Qnb = Salida biestable activado por nivel bajo ("0")Qfs = Salida biestable activado por flanco de subidaQfb = Salida biestable activado por flanco de bajada

Nota: Las salidas Q' las ignoramos, puesto que su señal simplemente esla inversa de Q.

Recuerda:

q Un flip-flop activado por nivel sólo puede cambiar mientras la señal dereloj esté en un determinado nivel: nivel alto ("1") o nivel bajo ("0").

q Un flip-flop activado por flanco no puede cambiar de estado excepto en elflanco de disparo de un pulso de reloj. Las entradas R y S se puedencambiar en cualquier momento sin que varíe la salida, salvo en esosinstantes. Para detectar los flancos, se utiliza un circuito "detector detransición de impulsos", que se conecta a la entrada ENABLE.

Ejemplo de IC: el 74LS279 tiene 4 latches R'S'.

t

Reloj

Cronograma biestables R-S (síncronos)

R

S

Qna

Qnb

Qfs

Qfb

Page 11: Tema 5: Circuitos secuenciales · Tema 5: Circuitos secuenciales 5.1 Introducción: tablas de transición, cronogramas. Hemos visto como en los circuitos combinacionales, las salidas

Estructura de computadores Tema 5: Sistemas secuenciales

11

5.2.3 Biestable J-K

El flip-flop J-K es uno de los más ampliamente utilizados. Lasdenominaciones J y K de sus entradas no tienen ningún significado conocido,excepto el hecho de que son dos letras consecutivas del alfabeto.

Es similar al R-S, pero elimina la indeterminación que se presentacuando las dos entradas son "1". En este caso, para esa combinación el estadocambia de valor, es decir, si tenía el valor "0" pasa a valor "1" y viceversa.

La razón de utilizar el biestable R-S es porque es mucho más simple yeconómico que el biestable J-K. Hay muchos casos en que tenemos la certezade que el circuito conectado al biestable no podrá activar simultánemente lasdos entradas a la vez ("1").

La tabla de transición es la siguiente, en forma normal y formacompacta:

J K Q(t) Q(t+1) J K Q(t+1) Comentario0 0 0 0 0 0 Q(t) No cambia0 0 1 1 0 1 0 Se activa Reset0 1 0 0 1 0 1 Se activa Set0 1 1 0 1 1 Q(t)' Invierte Q(t)1 0 0 11 0 1 11 1 0 11 1 1 0 ND = No definido

El símbolo como bloque es:

Ejemplo de IC: el 74HC112 tiene 2 flip-flops J-K (flanco de bajada), conentradas asíncronas de inicialización y borrado.

J Q Clock

K Q'

Activado por flanco de subida

J Q Clock

K Q'

Activado por flanco de bajada

Page 12: Tema 5: Circuitos secuenciales · Tema 5: Circuitos secuenciales 5.1 Introducción: tablas de transición, cronogramas. Hemos visto como en los circuitos combinacionales, las salidas

Estructura de computadores Tema 5: Sistemas secuenciales

12

Ejemplo de cronograma: se aplican las siguientes formas de onda a lasentradas J, K y de reloj. Determinar la salida Q para un biestable activado porflanco de subida y para otro activado por flanco de bajada, suponiendo que seencuentran inicialmente en estado RESET ("0").

Donde:Qfs = Salida biestable activado por flanco de subidaQfb = Salida biestable activado por flanco de bajada

El biestable J-K no tiene sentido como asíncrono:

Supongamos que el estado inicial es Q(0)=0 y que J=K=1. Mirando latabla de transición vemos que, para las entradas indicadas, el estado cambia alestado Q(1)=1. Ahora bien, apenas ha cambiado, como las señales de entradasiguen indicando que cambie, volverá a cambiar a un estado Q(2)=0, y asísucesivamente. Vemos que el funcionamiento es inestable, pues el estadoestaría cambiando continuamente.

Si por el contrario, dotamos al biestable J-K de una entrada de reloj quesincronice las transiciones, el problema puede solucionarse. Para queefectivamente se solucione, es necesario que la señal de reloj se active duranteun periodo de tiempo muy breve, de tal modo que en este periodo no puedahaber más que una transición. Es conveniente pues, que la señal de reloj actúepor flanco, reduciendo así al mínimo el período de tiempo en el cual está activa.

Para que las señales de entrada puedan ser tenidas en cuenta cuandose producen flancos de la señal de reloj, deberán estar en unos nivelesclaramente definidos. Por tanto, las restantes señales de entrada deben actuarsiempre por nivel.

t

Reloj

Cronograma biestables J-K (flanco de subida y flanco de bajada)

J

K

Qfs

Qfb

Page 13: Tema 5: Circuitos secuenciales · Tema 5: Circuitos secuenciales 5.1 Introducción: tablas de transición, cronogramas. Hemos visto como en los circuitos combinacionales, las salidas

Estructura de computadores Tema 5: Sistemas secuenciales

13

Finalmente, como ya hemos comentado, hay biestables síncronos conentradas asíncronas. El más utilizado es el J-K síncrono, con dos entradasasíncronas adicionales, llamadas Preset (puesta a "1") y Clear (puesta a "0"),análogas a las Set y Reset de un biestable R-S. Estas entradas PRE' y CLR'(asíncronas) son prioritarias sobre las entradas síncronas, y se activan por nivelbajo (las complementamos), por lo que deben mantenerse en estado alto parael funcionamiento síncrono. El símbolo de este biestable es:

Ejemplo de cronograma para el biestable anterior, teniendo en cuentaque Q está inicialmente a nivel bajo:

Donde:PRE' = Entrada asíncrona PRESET (se ignora cuando es "1")CLR' = Entrada asíncrona CLEAR (se ignora cuando es "1")Qfs = Salida biestable activado por flanco de subidaQfb = Salida biestable activado por flanco de bajada

PRE'J Q

Clock

K Q'CLR'

Clear ≈ Reset (Biestable R-S)

Preset ≈ Set (Biestable R-S)

t

Reloj

Cronograma biestables J-K (síncronos y con 2 entradas asíncronas)

J

K

PRE'

CLR'

Qfs

Qfb

Debería seguir a "1" hasta el siguiente flancode subida pero la entrada CLR' se ha activado.

Debería cambiar a "0", pero la entrada PRE' se haactivado; ya no podrá cambiar hasta el próximo flanco.

Page 14: Tema 5: Circuitos secuenciales · Tema 5: Circuitos secuenciales 5.1 Introducción: tablas de transición, cronogramas. Hemos visto como en los circuitos combinacionales, las salidas

Estructura de computadores Tema 5: Sistemas secuenciales

14

5.2.4 Biestable D (Datos)

Sólo tiene una entrada D, y su funcionamiento es tal, que el estadosiguiente Q(t+1) es la entrada D, independientemente del estado actual delbiestable Q(t).

Su tabla de transición es:

D Q(t) Q(t+1) D Q(t+1) Comentario0 0 0 0 0 No depende de Q(t)0 1 0 1 1 No depende de Q(t)1 0 11 1 1

Puede observarse que el nuevo estado coincide siempre con la entradaD. Si lo definimos así, esto no es un biestable, ya que no almacena ningunainformación. Lo que ocurre es que este biestable no tiene sentido comoasíncrono.

El biestable D síncrono es un elemento típico de almacenamientogobernado por la señal de reloj. La señal lógica que haya en la entrada D, nomodificará el estado Q hasta que se active la señal de reloj. Esto constituyeuna memoria elemental de 1 bit, ya que el valor presente en la entrada D,queda almacenado al llegar la señal de reloj. Para cambiar el contenido de estaceldilla de memoria, no hay más que colocar el nuevo valor en la entrada D yactivar la señal de reloj, momento en el cual el nuevo valor queda almacenadoen el biestable.

Su símbolo como bloque es:

Puede obtenerse también a partir de un biestable J-K y un inversor,según podemos observar en el esquema siguiente:

J K Q(t+1)0 0 Q(t)0 1 01 0 11 1 Q(t)'

D Q Clock

Q'

Activado por flanco de subida

D Q Clock

Q'

Activado por flanco de bajada

J Q Clock

K Q'

Biestable D a partir de un J-K

D

Page 15: Tema 5: Circuitos secuenciales · Tema 5: Circuitos secuenciales 5.1 Introducción: tablas de transición, cronogramas. Hemos visto como en los circuitos combinacionales, las salidas

Estructura de computadores Tema 5: Sistemas secuenciales

15

Ejemplo de IC: el 74AHC74 tiene 2 flip-flops D (flanco de subida), conentradas asíncronas de inicialización y borrado.

Vamos a analizar ahora los cronogramas.

Donde:Qna = Salida biestable activado por nivel alto ("1")Qnb = Salida biestable activado por nivel bajo ("0")Qfs = Salida biestable activado por flanco de subidaQfb = Salida biestable activado por flanco de bajada

Nota: Las salidas Q' las ignoramos, puesto que su señal simplemente esla inversa de Q.

Recuerda:

q Un flip-flop activado por nivel sólo puede cambiar mientras la señal dereloj esté en un determinado nivel: nivel alto ("1") o nivel bajo ("0").

q Un flip-flop activado por flanco no puede cambiar de estado excepto en elflanco de disparo de un pulso de reloj. Las entradas R y S se puedencambiar en cualquier momento sin que varíe la salida, salvo en esosinstantes.

t

Reloj

Cronograma biestables D (síncronos)

D

Qna

Qnb

Qfs

Qfb

Page 16: Tema 5: Circuitos secuenciales · Tema 5: Circuitos secuenciales 5.1 Introducción: tablas de transición, cronogramas. Hemos visto como en los circuitos combinacionales, las salidas

Estructura de computadores Tema 5: Sistemas secuenciales

16

5.2.5 Biestable T

Tiene una única entrada T. Si esta entrada está inactiva ("0"), el estadono cambia. Si T está activa ("1"), el estado cambia.

Su tabla de transición es:

T Q(t) Q(t+1) T Q(t+1) Comentario0 0 0 0 Q(t) No cambia el estado0 1 1 1 Q(t)' Invierte el estado1 0 11 1 0

Su símbolo como bloque es:

Puede comprobarse que un biestable J-K con las dos entradas unidasactúa como un biestable T, razón por la cual éste no existe comercialmente,sólo existe a nivel teórico.

J K Q(t+1)0 0 Q(t)0 1 01 0 11 1 Q(t)'

Por tanto, todo lo dicho para el biestable J-K es aplicable para elbiestable T.

NOTA: Si lo hacemos por nivel (alto o bajo), el biestable estará oscilandocontinuamente entre 0 y 1, cuando T=1 en el nivel correspondiente, y despuésno sabremos en que estado se ha quedado.

T Q Clock

Q'

Activado por flanco de subida

T Q Clock

Q'

Activado por flanco de bajada

J Q Clock

K Q'

Biestable T a partir de un J-K

T

t

Reloj

Cronograma biestables T (flanco de subida y bajada)

T

Qfs

Qfb

Page 17: Tema 5: Circuitos secuenciales · Tema 5: Circuitos secuenciales 5.1 Introducción: tablas de transición, cronogramas. Hemos visto como en los circuitos combinacionales, las salidas

Estructura de computadores Tema 5: Sistemas secuenciales

17

5.2.6 Flip-flops Maestro-Esclavo

Otra clase de flip-flops son los maestro-esclavo disparados por nivel,que han sido reemplazados progresivamente por los dispositivos disparadospor flanco.

Consiste en dos latches R-S con una entrada de habilitación (reloj), uninversor y algún circuito adicional. Al latch de la izquierda lo llamaremos"maestro", y al de la derecha lo llamaremos "esclavo". La diferencia es que el"maestro" está sincronizado con una señal de reloj, y el "esclavo" lo está poruna señal de reloj invertida y se controla mediante las salidas del "maestro" enlugar de por las entradas externas.

El "maestro" podrá cambiar de estado durante los flancos de subida, yeste estado se transfiere al "esclavo" durante el siguiente flanco de bajada. Elestado del "esclavo" depende únicamente del estado del "maestro" en elmomento que se produce el flanco de bajada, y aparece en sus salidas Q y Q'.

5.2.6.1 Biestable R-S maestro-esclavo

La tabla de verdad es la misma que la estudiada para biestables R-S.

J K Q(t+1) Comentario R S Q(t+1) Comentario0 0 Q(t) No cambia 0 0 Q(t) No cambia0 1 0 Reset 0 1 1 Set1 0 1 Set 1 0 0 Reset1 1 Q(t)' Invierte Q(t) 1 1 ND No Definido

Podemos ver un ejemplo de funcionamiento en el siguiente cronograma:

S Q Clock

R Q'

S Q Clock

R Q'

Reloj

R

S

Q'

Q

t

Reloj

Cronograma biestable J-K Maestro-Esclavo

S = Sm

R = Rm

Qm = Se

Q = Qe

Page 18: Tema 5: Circuitos secuenciales · Tema 5: Circuitos secuenciales 5.1 Introducción: tablas de transición, cronogramas. Hemos visto como en los circuitos combinacionales, las salidas

Estructura de computadores Tema 5: Sistemas secuenciales

18

5.2.6.2 Biestable J-K maestro-esclavo

La tabla de verdad es la misma que la estudiada para biestables J-K.

J K Q(t+1) Comentario R S Q(t+1) Comentario0 0 Q(t) No cambia 0 0 Q(t) No cambia0 1 0 Reset 0 1 1 Set1 0 1 Set 1 0 0 Reset1 1 Q(t)' Invierte Q(t) 1 1 ND No Definido

S Q Clock

R Q'

Reloj

K

J

Q'

QS Q Clock

R Q'

Page 19: Tema 5: Circuitos secuenciales · Tema 5: Circuitos secuenciales 5.1 Introducción: tablas de transición, cronogramas. Hemos visto como en los circuitos combinacionales, las salidas

Estructura de computadores Tema 5: Sistemas secuenciales

19

5.3 Registros y Contadores

Hasta ahora hemos estudiado circuitos combinacionales y circuitossecuenciales por separado. En este apartado vamos a unir ambos conceptos,para poder analizar los bloques funcionales secuenciales básicos, como sonlos registros y los contadores.

Los registros y los contadores son bloques funcionales secuenciales quese utilizan extensamente en el diseño de sistemas digitales. Los registros sonútiles para almacenar y manipular información; los contadores se emplean enlos circuitos que secuencian y controlan las operaciones de los sistemasdigitales.

5.3.1 Registros

Un registro no es más que una agrupación de biestables del mismo tipo.Puesto que un biestable es capaz de almacenar 1 bit de información, sitenemos "n" biestables, el registro será capaz de almacenar "n" bits deinformación binaria (de forma temporal).

El registro más sencillo consta tan sólo de flip-flops sin puertas lógicasexternas. Estas puertas son las que determinan los nuevos datos a almacenar.

5.3.1.1 Registros de almacenamiento (tipo D)

El registro tipo D es un conjunto de biestables D y es el más utilizadocomo almacén temporal de información. Cada entrada D se conecta a unalínea de entrada de información y cada salida Q se conecta a una línea desalida de información. Por otro lado, todas las señales de reloj van unidas entresí, activando todos los flip-flops por flanco (de subida o bajada) o por nivel paraque la información se almacene en todos los biestables al mismo tiempo.

El esquema es el de la figura (para n=4 bits):

Reloj

Clear

Q

Clock

D R

D3

Q3

Q

Clock

D R

D2

Q2

Q

Clock

D R

D1

Q1

Q

Clock

D R

D0

Q0

Page 20: Tema 5: Circuitos secuenciales · Tema 5: Circuitos secuenciales 5.1 Introducción: tablas de transición, cronogramas. Hemos visto como en los circuitos combinacionales, las salidas

Estructura de computadores Tema 5: Sistemas secuenciales

20

En este caso, la señal de reloj es con flanco de subida. Además,podemos observar como estos flip-flops tienen una entrada asíncrona de Resetactivada por 0 (Clear') para la inicialización del registro con ceros antes de suoperación, aunque esto es opcional (depende del uso que vayamos a darle alregistro en el sistema). Lo que haremos será tener la entrada Clear' a un valorde "1" durante la operación normal sincronizada, haremos que sea "0" sólocuando queramos inicializar el registro.

La transferencia de información nueva a un registro se conoce comocarga del registro. Como estamos utilizando una señal de reloj por flancopara la sincronización de todos los flip-flops, todos los bits del registro secargan de manera simultánea. Por ello decimos que la carga se hace enparalelo.

La entrada de reloj en los biestables tipo D puede ser por flanco o pornivel. La actuación por flanco requiere un circuito mucho más caro que por nively no presenta ventajas salvo en casos muy particulares. Por esta razón, en loscomputadores se utilizan casi siempre registros D activados por nivel, pero conuna señal de reloj, realmente se trata de actuación por nivel con señal de relojde corta duración.

5.3.1.2 Registros de desplazamiento

Son registros en los cuales la información contenida en un biestablepuede ser transferida al biestable adyacente. La transferencia se realiza entodos los biestables simultáneamente, es decir, la información contenida en elbiestable 1 pasa al 2, al mismo tiempo que la información que había antes en el2 pasa al 3, y así sucesivamente. Están conectados en cascada. La nuevainformación en el primer biestable se toma de una entrada, y la información delúltimo biestable se pierde.

Hay varios tipos de registros de desplazamiento:

1. Atendiendo a la entrada de información en el registro:1.1. Entrada paralelo: se puede modificar el valor de todos los biestables a

la vez (igual que en un registro tipo D).1.2. Entrada serie: sólo hay una entrada conectada a un biestable (como

hemos descrito anteriormente).

2. Atendiendo a la salida de información:2.1. Salida paralelo: todos los biestables son accesibles (sus salidas).2.2. Salida serie: sólo el último biestable (su salida) es accesible. Los datos

van saliendo uno detrás de otro, mediante desplazamientos sucesivos.

3. Atendiendo al sentido del desplazamiento:3.1. Desplazamiento sólo hacia la derecha / izquierda.3.2. Desplazamiento en ambos sentidos, no simultáneo.3.3. Rotación hacia la izquierda / derecha.

Page 21: Tema 5: Circuitos secuenciales · Tema 5: Circuitos secuenciales 5.1 Introducción: tablas de transición, cronogramas. Hemos visto como en los circuitos combinacionales, las salidas

Estructura de computadores Tema 5: Sistemas secuenciales

21

Para caracterizar o designar un registro de desplazamiento hay queindicar todas sus características: tipo de entrada, tipo de salida y sentido deldesplazamiento. Por ejemplo, la designación: "SRG8" indica que es un registrode desplazamiento (SRG, Shift Register) con una capacidad de 8 bits.

Suponiendo registros de 4 bits, los posibles movimientos de datos enlos registros de desplazamiento son:

Caso 1

Entrada: SerieSalida : SerieDesplazamiento: Hacia la derecha

Caso 2

Entrada: SerieSalida : SerieDesplazamiento: Hacia la izquierda

Caso 3

Entrada: ParaleloSalida : Serie

Caso 4

Entrada: SerieSalida : Paralelo

Caso 5

Entrada: ParaleloSalida : Paralelo

Caso 6

Desplazamiento: Rotación a la derecha

Caso 7

Desplazamiento: Rotación a la izquierda

Sus aplicaciones son muy numerosas. Entre ellas podemos citar:

• Conversión paralelo-serie y viceversa• Rotaciones de los datos (multiplicar y dividir por 2n)• Registros de memoria transitorios (buffers)• Sistemas para unidades aritméticas (+,·,/)• Como retardo de línea digital• Como generadores de secuencias

Entrada Salida Salida Entrada

Salida

Entradas

Entrada

Salidas Salidas

Entradas

Page 22: Tema 5: Circuitos secuenciales · Tema 5: Circuitos secuenciales 5.1 Introducción: tablas de transición, cronogramas. Hemos visto como en los circuitos combinacionales, las salidas

Estructura de computadores Tema 5: Sistemas secuenciales

22

El circuito puede implementarse con biestables R-S, J-K o D síncronos,con señal de reloj activa por flanco.

Veamos unos ejemplos de circuitos (esquemas).

Caso 1: Un registro de desplazamiento de 4 bits con entrada y salidaserie, desplazamiento a derecha.

Biestables R-S:

Vamos a construir un cronograma para comprobar el funcionamiento delregistro. Suponemos que el registro se activa por flanco de subida.

t

Reloj

Cronograma del registro con biestables R-S (síncronos con flanco de subida)

E' = R1

E = S1

Q1

Q2

Q3

S = Q4

S1 Q1

Clock

R1 Q1'

Entrada SalidaS2 Q2

Clock

R2 Q2'

S3 Q3

Clock

R3 Q3'

S4 Q4

Clock

R4Q '

Reloj

Page 23: Tema 5: Circuitos secuenciales · Tema 5: Circuitos secuenciales 5.1 Introducción: tablas de transición, cronogramas. Hemos visto como en los circuitos combinacionales, las salidas

Estructura de computadores Tema 5: Sistemas secuenciales

23

Biestables D:

Vamos a ver dos ejemplos de cronogramas, para comprobar elfuncionamiento, uno con flanco de subida y otro con flanco de bajada.

D1 Q1

Clock

Q1'

Entrada SalidaD2 Q2

Clock

Q2'

D3 Q3

Clock

Q3'

D4 Q4

Clock

Q4'

Reloj

t

Reloj

Cronograma del registro con biestables D (síncronos con flanco de subida)

E = D1

Q1

Q2

Q3

S = Q4

t

Reloj

Cronograma del registro con biestables D (síncronos con flanco de bajada)

E = D1

Q1

Q2

Q3

S = Q4

Page 24: Tema 5: Circuitos secuenciales · Tema 5: Circuitos secuenciales 5.1 Introducción: tablas de transición, cronogramas. Hemos visto como en los circuitos combinacionales, las salidas

Estructura de computadores Tema 5: Sistemas secuenciales

24

Caso 4: Un registro de desplazamiento de 4 bits con entrada serie ysalida paralelo.

Biestables D:

Caso 5: Un registro de desplazamiento de 4 bits con entrada paralelo ysalida paralelo.

Biestables D:

Como podemos observar, en este tipo de registros no se realiza ningúndesplazamiento, por lo que no se puede considerar como registro dedesplazamiento.

D1 Q1

Clock

Q1'

Entrada

Salidas de datos en paralelo

D2 Q2

Clock

Q2'

D3 Q3

Clock

Q3'

D4 Q4

Clock

Q4'

Reloj

S1 S2 S3 S4

D1 Q1

Clock

Q1'

E1

Salidas de datos en paralelo

D2 Q2

Clock

Q2'

D3 Q3

Clock

Q3'

D4 Q4

Clock

Q4'

Reloj

S1 S2 S3 S4

Entradas de datos en paralelo

E2 E3 E4

Page 25: Tema 5: Circuitos secuenciales · Tema 5: Circuitos secuenciales 5.1 Introducción: tablas de transición, cronogramas. Hemos visto como en los circuitos combinacionales, las salidas

Estructura de computadores Tema 5: Sistemas secuenciales

25

5.3.2 Contadores

Un contador es un registro que pasa por una secuencia predeterminadade estados al aplicársele pulsos de reloj.

Básicamente, son circuitos capaces de contar los impulsos que lleganpor una línea. El valor de la cuenta se expresa mediante un código, que en lamayoría de los casos es binario natural, y a veces, BCD. Los impulsos deentrada que son capaces de detectar son los flancos de la señal de entrada.Dado que el estado del contador debe cambiar cuando llega un flanco de laseñal de entrada, se utilizan biestables T para construir los contadores,conectando la línea con los impulsos a contar a la entrada de reloj. Tambiénpodemos utilizar biestables J-K.

5.3.2.1 Tipos de contadores

1. Atendiendo al código que cuentan1.1. Binario (natural)1.2. BCD1.3. En anillo1.4. En Gray1.5. Johnson

2. Atendiendo al sentido de conteo2.1. Contador hacia arriba (ascendentes)2.2. Contador hacia abajo (descenentes)2.3. Contador en ambos sentidos, no simultáneos

3. Atendiendo a la posibilidad de preselección3.1. Contador con carga en paralelo3.2. Contador con puesta a cero inicial solamente

4. Atendiendo a la forma de propagarse la señal de reloj internamente4.1. Contador asíncrono (contadores con propagación)4.2. Contador síncrono con acarreo serie4.3. Contador síncrono con acarreo paralelo

Para caracterizar un contador se indican todas las posibilidades. Porejemplo, un contador BCD Aiken ascendente asíncrono.

Un contador es asíncrono cuando la salida del biestable es la entradade reloj del biestable siguiente. Estos contadores llevan una secuencia(ascendente o descencente) que se repite indefinidamente.

Un contador es síncrono cuando la señal de reloj se conecta a laentrada de reloj de cada uno de los biestables. Se utiliza cuando los estadospor los que pasa (secuencia) no son correlativos. Por ejemplo: 1,8,7,4, etc.

Page 26: Tema 5: Circuitos secuenciales · Tema 5: Circuitos secuenciales 5.1 Introducción: tablas de transición, cronogramas. Hemos visto como en los circuitos combinacionales, las salidas

Estructura de computadores Tema 5: Sistemas secuenciales

26

5.3.2.2 Diseño de contadores asíncronos

Supongamos un contador de módulo N, siendo (N-1) el mayornúmero representable que contamos. Seguiremos los siguientespasos:

1. Calcular el número de biestables (flip-flops) necesarios: n.Deberemos cumplir que:

2n-1 < N ≤ 2n

Donde: N = Número de estados (0..N-1)n = Número de biestables (T o J-K).

2. Conectar las entradas de reloj de todos los biestables.

Activación del reloj Tipo contador Salida a conectar a la entrada dereloj del siguiente biestable

Ascendente QFlanco de bajadaDescendente Q'Ascendente Q'Flanco de subidaDescendente Q

3. Conectar las entradas de todos los biestables a "1" lógico.Biestables T: conectando T="1"Biestables J-K: conectando J=K="1"

Ambos tipos podrán tener o no entradas asíncronas de PRESET Y CLEAR.

Sólo si nuestros biestables tienen una entrada asíncrona PRESETseguimos con los siguientes pasos:

4. Escribir el número N-1 en binario.5. Para todos los biestables que tienen un 1 en dicho valor binario, conectar su

salida Q junto con la señal de reloj en una puerta NAND.6. Conectar la salida de la puerta NAND a las entradas PRESET del resto de

biestables, los que su valor binario era 0 en el valor N-1.

Por otro lado, sólo si nuestros biestables tienen una entrada asíncronaCLEAR seguimos con los siguientes pasos:

4. Escribir el número N-1 en binario.5. Para todos los biestables que tienen un 0 en dicho valor binario, conectar su

salida Q junto con la señal de reloj en una puerta NAND.6. Conectar la salida de la puerta NAND a las entradas CLEAR del resto de

biestables, los que su valor binario era 1 en el valor N-1.

Lógicamente, si tenemos biestables con las dos entradas asíncronasPRESET y CLEAR podemos utilizar cualquiera de los dos métodos descritos.Si estas entradas se activan a nivel bajo lo hacemos como hemos descrito; sise activan por nivel alto, utilizaremos una puerta AND en lugar de la NAND.

Page 27: Tema 5: Circuitos secuenciales · Tema 5: Circuitos secuenciales 5.1 Introducción: tablas de transición, cronogramas. Hemos visto como en los circuitos combinacionales, las salidas

Estructura de computadores Tema 5: Sistemas secuenciales

27

Un contador asíncrono es de módulo N cuando cuenta todos los estadosdesde el 0 hasta el N-1 correlativamente.

Si nos piden diseñar un contador asíncrono módulo 5, éste contará 0,1,2,3,4.Lo que hacemos utilizar biestables con entrada CLEAR, detectamos la últimacombinación (N-1) y procedemos como hemos explicado para biestablesCLEAR, para que se reinicie la cuenta al llegar a N-1. Esto no es necesario sifuera módulo potencia de 2, ya que se reinicia sólo. Por ejemplo, módulo 8.

Ejemplo

Vamos a ver como ejemplo, el circuito y cronograma de un contadorasíncrono de 3 bits, binario, con cuenta hacia arriba, sin preselección(PRESET) ni puesta a cero (CLR). Utilizamos biestables T para realizar elcircuito. Recordemos la tabla de transición del biestable T:

T Q(t) Q(t+1) T Q(t+1) Comentario0 0 0 0 Q(t) No cambia el estado0 1 1 1 Q(t)' Invierte el estado1 0 11 1 0

Necesitaremos "n" biestables. Tenemos que N = 8 estados. Se debecumplir:

2n-1 < N ≤ 2n ⇒ 2n-1 < 8 ≤ 2n ⇒ n ≥ 3

Con cuenta hacia arriba:

El funcionamiento se puede analizar en el siguiente cronograma:

T1 Q1

Clock

Q1'

"1" T2 Q2

Clock

Q2'

T3 Q3

Clock

Q3'

"1" "1"

Q1 (LSB) Q2 Q3 (MSB)

Pulsos de reloj

t

Reloj

Cronograma reloj asíncrono 3 bits (cuenta hacia arriba)

Q1

Q2

Q3

0 1 0 0 0 01 1 1 1

0 0 0 0 0 01 1 1 1

0 0 0 0 0 01 1 1 1

0 1 4 5 0 12 3 6 7

Page 28: Tema 5: Circuitos secuenciales · Tema 5: Circuitos secuenciales 5.1 Introducción: tablas de transición, cronogramas. Hemos visto como en los circuitos combinacionales, las salidas

Estructura de computadores Tema 5: Sistemas secuenciales

28

Con cuenta hacia abajo:

Lo único que tenemos que cambiar en el circuito anterior es la señal dereloj, para que se active por flanco de subida.

El funcionamiento se puede analizar en el siguiente cronograma:

Otra posibilidad hubiera sido conectar la salida Q' de cada biestable a laentrada de reloj del siguiente, en vez de Q, manteniendo el flanco de bajada.

La mayor parte de los contadores asíncronos no funciona bien parafrecuencias elevadas, sobre todo cuando implementamos contadores conmódulo que no son potencia de 2.

Cuando utilizamos contadores que si son potencia de 2 (2,4,8,...), estosfuncionan bastante bien, tanto en modo ascendente como en mododescendente. Sin embargo, en los otros casos conviene utilizar contadoressíncronos.

t

Reloj

Cronograma reloj asíncrono 3 bits (cuenta hacia abajo)

Q1

Q2

Q3

1 0 1 1 1 10 0 0

1 1 0 0 11 1 0 0

1 1 0 0 11 1 0 0

7 6 3 2 75 4 1 0

T1 Q1

Clock

Q1'

"1" T2 Q2

Clock

Q2'

T3 Q3

Clock

Q3'

"1" "1"

Q1 (LSB) Q2 Q3 (MSB)

Pulsos de reloj

T1 Q1

Clock

Q1'

"1" T2 Q2

Clock

Q2'

T3 Q3

Clock

Q3'

"1" "1"

Q1 (LSB) Q2 Q3 (MSB)

Pulsos de reloj

Page 29: Tema 5: Circuitos secuenciales · Tema 5: Circuitos secuenciales 5.1 Introducción: tablas de transición, cronogramas. Hemos visto como en los circuitos combinacionales, las salidas

Estructura de computadores Tema 5: Sistemas secuenciales

29

5.3.2.3 Diseño de contadores síncronos

Para los contadores síncronos podemos utilizar cualquier tipo de biestables:R-S, J-K, D y T.

El procedimiento de diseño de contadores síncronos es:

1. Calcular el número de biestables (flip-flops) necesarios: n.

Deberemos cumplir que:2n-1 < N ≤ 2n

Donde: N = Número de estadosn = Número de biestables (R-S, J-K, D ó T).

2. Escribimos la tabla de funcionamiento del biestable .

3. Construimos una tabla de transiciones y excitaciones correspondientesa las entradas del biestable utilizado. En esta tabla, averiguamos el valorque deben de tener las entradas del biestable para que en la salida seproduzca cualquier transición (0-0, 0-1, 1-0, 1-1).

4. Utilizando esta última tabla, construimos la tabla de transiciones yexcitaciones del contador. En esta tabla averiguamos el valor quedebemos tener en las entradas para producir la secuencia de estadospedida. Lo que conocemos son las salidas Q de los biestables, puesto queson las combinaciones que queremos que cuente. Por tanto, ponemoscomo posibles combinaciones de entrada los distintos valores que va acontar en binario, y se trata de calcular las funciones lógicascorrespondientes a cada una de las entradas de los biestables en funciónde las salidas.

5. Simplificar por Karnaugh las funciones lógicas obtenidas. Las tablas deKarnaugh se pueden obtener directamente de la tabla anterior.

6. Realización del circuito a partir de las funciones simplificadas.

7. Comprobar el funcionamiento realizando un cronograma.

Page 30: Tema 5: Circuitos secuenciales · Tema 5: Circuitos secuenciales 5.1 Introducción: tablas de transición, cronogramas. Hemos visto como en los circuitos combinacionales, las salidas

Estructura de computadores Tema 5: Sistemas secuenciales

30

Ejemplo

Vamos a diseñar un contador que siga la siguiente secuencia conbiestables J-K: 0, 4, 6, 1, 14, 7 y vuelvan a repetirse. Utilizamos biestables J-K,sin preselección (PRESET) ni puesta a cero (CLR).

1. Número de biestables:

Tenemos 6 posibles estados (N=6), por tanto:2n-1 < N ≤ 2n ⇒ 2n-1 < 16 ≤ 2n ⇒ n ≥ 3

En este ejemplo vamos a utilizar n=4.

2. Tabla de funcionamiento del biestable:

J K Q(t+1) Comentario0 0 Q(t) No cambia0 1 0 Reset1 0 1 Set1 1 Q(t)' Invierte Q(t)

3. Tabla de transiciones y excitaciones de las entradas del biestable:

TransiciónQ(t) ⇒ Q(t+1) J K

0 ⇒ 0 0 X0 ⇒ 1 1 X1 ⇒ 0 X 11 ⇒ 1 X 0

4. Tabla de transiciones y excitaciones del contador:

Q1 Q2 Q3 Q4 J1 K1 J2 K2 J3 K3 J4 K40 0 0 0 0 X 1 X 0 X 0 X0 1 0 0 0 X X 0 1 X 0 X0 1 1 0 0 X X 1 X 1 1 X0 0 0 1 1 X 1 X 1 X X 11 1 1 0 X 1 X 0 X 0 1 X0 1 1 1 0 X X 1 X 1 X 1

Para cada biestable x, rellenamos las columnas de Jx y Kx con losvalores que deben tomar las entradas para que en el siguiente estado cambiesu correspondiente Qx al valor del siguiente valor de la secuencia; si fuese elúltimo, entonces consideramos de nuevo el primero para que comience denuevo el ciclo.

¿Qué valores pueden tomar lasentradas J-K para conseguirdicha transición en la salida?

Page 31: Tema 5: Circuitos secuenciales · Tema 5: Circuitos secuenciales 5.1 Introducción: tablas de transición, cronogramas. Hemos visto como en los circuitos combinacionales, las salidas

Estructura de computadores Tema 5: Sistemas secuenciales

31

5. Simplificamos por Karnaugh las funciones de las entradas.

q J1 = Q2'

Q3Q4

Q1Q200 01 11 10

00 0 1 X X

01 0 X 0 0

11 X X X X

10 X X X X

q K1 = 1

No es necesario construir unmapa de Karnaugh pues todaslas casillas serán X menos un"1". Como podremos hacer ungrupo de 16 casillas (todas), lafunción lógica será "1".

q J2 = 1

q K2 = Q1'

Q3Q4

Q1Q200 01 11 10

00 X X X X

01 X X 1 1

11 X X X 0

10 X X X X

q J3 = Q2+Q4

Q3Q4

Q1Q200 01 11 10

00 0 1 X X

01 1 X X X

11 X X X X

10 X X X X

q K3 = Q1'

Q3Q4Q1Q2

00 01 11 10

00 X X X X

01 X X 1 1

11 X X X 0

10 X X X X

q J4 = Q3

Q3Q4Q1Q2

00 01 11 10

00 0 X X X

01 0 X X 1

11 X X X 1

10 X X X X

q K4 = 1

Page 32: Tema 5: Circuitos secuenciales · Tema 5: Circuitos secuenciales 5.1 Introducción: tablas de transición, cronogramas. Hemos visto como en los circuitos combinacionales, las salidas

Estructura de computadores Tema 5: Sistemas secuenciales

32

6. Circuito a partir de las funciones simplificadas.

7. Cronograma:

NOTA: Para construir el cronograma, como ahora cambian todos losbiestables al mismo tiempo, tendremos que mirar la entrada de cada uno en elestado anterior.

Ejemplos de IC:

q 74LS93: Asíncrono binario 4 bitsq 74LS163: Síncrono binario de 4 bitsq 74LS160: Décadas BCD síncronoq 74LS190: Décadas ascendente / descendente

Q1 (MSB)

J1 Q1

CLK1

K1 Q1'

Q2

J2 Q2

CLK2

K2 Q2'

Q3

J3 Q3

CLK3

K3 Q3'

Q4 (LSB)

J4 Q4

CLK3

K4 Q4'

Reloj

"1"

0 0 0 0 0 01 1 0 1

0 0 0 0 0 11 0 0 0

0 4 14 7 6 16 1 0 4 t

Reloj

Cronograma reloj síncrono (Secuencia: 0, 4, 6, 1, 14, 7)

(MSB) Q1

Q2

Q3

(LSB) Q4

0 0 1 1 0 10 1 0 0

0 1 1 1 1 01 0 0 1