1
Profesor Leopoldo Silva Bijit 19-01-2010
Captulo 14
Mquinas secuenciales asincrnicas.
Se estudiarn algunos circuitos asincrnicos simples que son la base para construir los
diferentes tipos de flip-flops; mostrando las tcnicas para lograr la sincronizacin mediante una
seal de reloj. Luego se analizan los multivibradores aestable y monoestable.
Se analizan en mayor profundidad las carreras y la forma de evitarlas; para finalmente ilustrar
las tcnicas de diseo asincrnico basadas en diagramas de flujo y de estado.
14.1 Bases electrnicas para almacenar bits.
Puede almacenarse un nivel lgico como carga en un condensador. El transistor nmos permite
cargar y descargar el condensador, el esquema tiene la ventaja de usar un solo transistor, pero
debido a las fugas (por no ser el dielctrico ideal) se requiere refrescar la carga cada cierto
tiempo. Es la configuracin que se emplea como base de las memorias dinmicas (DRAM).
Figura 14.1 Almacenamiento en memorias dinmicas.
Para mantener el almacenamiento de un bit en forma permanente (mientras se tenga fuentes
aplicadas) se emplea la siguiente configuracin:
Figura 14.2 Almacenamiento esttico.
Vref
C
Vin
2 Sistemas Digitales
Profesor Leopoldo Silva Bijit 19-01-2010
Que es un elemento de almacenamiento biestable. El empleo de compuertas restaura los niveles,
lo cual permite el almacenamiento esttico. La siguiente configuracin ilustra que se requieren
cuatro transistores para almacenar un bit (dos por cada inversor), por esta razn las memorias
estticas SRAM son de mayor costo que las dinmicas.
VDD
Vout2 Vin1 Vout1
Vin2
Figura 14.3 Inversores CMOS realimentados.
La caracterstica de transferencia de los dos inversores en cascada se muestra junto a la recta
que debe satisfacerse por la restriccin que impone la conexin de la realimentacin. El
amplificador, no inversor, tiene tres puntos de equilibrio posibles, el del centro es inestable; los
otros son estables (por esto se dice biestable) y se emplean para almacenar los estados lgicos.
Una pequea diferencia entre la recta y la curva, en torno al punto inestable, llevan rpidamente
a una de las situaciones estables. Se producen saltos entre las curvas para mantener voltajes iguales en la entrada y salida; stos se ilustran con pequeas flechas entre las curvas, en la
Figura 14.3a.
Vin
Vout
Vin = Vout
Figura 14.3a. Puntos de equilibrio.
Otra forma de analizar los inversores realimentados puede lograrse dibujando las caractersticas
de transferencia de cada transistor, en un solo par de ejes coordenados.
Captulo 14. Mquinas secuenciales asincrnicas 3
Profesor Leopoldo Silva Bijit 19-01-2010
Vin1
Vout1
Vout2
Vin2
Figura 14.3b. Caractersticas de transferencia individuales.
La probabilidad de que en una transicin se llegue exactamente al estado inestable es muy baja.
14.1.1. Metaestabilidad.
Calcularemos la probabilidad de no llegar a un estado estable en un determinado tiempo.
Asumiendo un amplificador lineal, con saturacin, las ecuaciones para el siguiente circuito son:
Vout = A Vin; Vout - Vin = Ri; i = C (dVin/dt), esto considerando que la corriente de salida del
amplificador slo circula por el condensador, como se ilustra en la siguiente figura:
Con Vin(0) diferente de cero.
Figura 14.4 Anlisis metaestabilidad.
Cuya solucin es: Vin(t) = Vin(0) e t/
con = RC/(A-1). Adems, en general Vout ser mayor
que Vin, debido a la amplificacin. Por esta razn si el voltaje de entrada aumenta, tambin lo
har el de salida y se tendr que despus de un tiempo la tensin de salida satura al
amplificador.
A pesar que el circuito tiene realimentacin positiva podra suceder que una determinada
conmutacin no se produzca en un tiempo predeterminado. Para estudiar esto suponemos un
modelo simplificado lineal, antes que se sature el amplificador. En ese caso, tendremos:
Vin(T) = Vin(0) e T/
Vout(T) = A Vin(0) e T/
= V es decir, la salida se satura en T = ln( V/( AVin(0) ).
Con Vin(0) < V e -T/
/A, la salida Vout se saturar en un tiempo mayor que T. Entonces la
probabilidad de no llegar a un estado estable en un tiempo T, es el cuociente entre las
C R
A
Vout Vin Vin
T
Vout
t
lineal
V
4 Sistemas Digitales
Profesor Leopoldo Silva Bijit 19-01-2010
situaciones que cumplen la condicin dividido por todos los casos independientes que puedan
presentarse. Es decir:
p(no estable en T) = (V e -T/
/A ) / V = e -T/
/A
Se asume que Vin(0) tiene una distribucin de probabilidad uniforme entre 0 y V. Puede
imaginarse un gran nmero de experimentos, algunos de ellos comenzarn con un valor menor
del voltaje inicial que el calculado antes y tomar un tiempo mayor que T para que la salida se
sature en un valor estable, esto se considera un ensayo fallido; los experimentos que comienzan
con un valor mayor se consideran exitosos.
Por otra parte, en un determinado intervalo las conmutaciones se producen en una fraccin del
tiempo; esto contempla que no todo el tiempo se estn efectuando transiciones. Sea f la fraccin
del perodo del reloj durante la cual el voltaje de entrada est sufriendo una transicin. f se
expresa como el cuociente de lo que dura una transicin, dividido por el intervalo entre
transiciones, y es la probabilidad que el voltaje de entrada est efectuando una transicin.
Entonces la probabilidad que en una transicin, no se llegue a estado estable en un tiempo T,
queda dada por: p(transicin no estable en T) = f e -T/
/A
Con los siguientes valores: A = 10 (una ganancia razonable), con una constante de tiempo de 1
nseg, con f = 0,1; y una frecuencia de cambios de 100MHz puede calcularse el valor de T para
cumplir con cierta probabilidad.
Si asumimos un caso en un ao, en que no se alcance el estado estable en T, podremos calcular
el tiempo T. Se asume 100*106 cambios por segundo (slo cantos de subida o de bajada), en
un ao se tendrn: 365*24*60*60 segundos, y por lo tanto:
p = 1/ (3,15 *1015
) resulta T = 31 ns.
Con una frecuencia de 100 MHz, y esperando 100 ns, se puede calcular que habr un caso en
que no se llegue a estabilidad en 1030
aos. Puede concluirse que con "buena" probabilidad no
se entra al estado inestable.
14.1.2. Latchs.
Entonces tenemos que dos inversores forman una celda de memoria esttica, lo que resta es un
mtodo para almacenar valores lgicos en la celda:
El siguiente esquema ilustra la forma de hacer llegar valores y guardarlos en una celda esttica.
Figura 14.5 Lectura y escritura.
Existen dos circuitos que cumplen los requerimientos anteriores, y se denominan latch (cerrojo,
picaporte, pasador); uno en base a NAND , el otro en base a NOR. La denominacin de las
entradas se explicar ms adelante.
dato
grabar
cargar
valor almacenado
Captulo 14. Mquinas secuenciales asincrnicas 5
Profesor Leopoldo Silva Bijit 19-01-2010
Figura 14.6 Latch mediante NANDs y NORs.
Los siguientes diagramas muestran valores estables almacenados en las celdas estticas de 1 bit,
o latchs.
Figura 14.7 Valores estticos almacenados.
14.2. Latch asincrnico S-R. (Latch de NAND)
14.2.1. Esquemtico.
Se tiene el siguiente circuito:
Figura 14.8 Variables en latch de NANDs.
Se emplea el nombre latch para referirse a una memoria de un bit, y cuando no existe una seal
de reloj. En stos, las salidas cambian cuando las entradas cambian. En flip-flops las salidas
cambian respecto al reloj.
Las compuertas se asumen ideales. Y se modela el retardo de propagacin, mediante una
componente externa.
qn
q
R'
S'
S
R
Q
Qn
Q
Q'
S'
R'
Q
Q'
R
S
1
0
1
1
0
1
1
1
1
0
0
0
0
1
0
0
6 Sistemas Digitales
Profesor Leopoldo Silva Bijit 19-01-2010
14.2.2. Variables.
Apenas ocurran cambios en las entradas de las compuertas (R', S', q y qn) se producirn
simultneamente los cambios en las salidas Q o Qn, ya que se asume que estas compuertas no
tienen retardo.
El prximo valor que toma q, despus de S, ser el valor de Q. Dicho de otra forma: el valor
presente de Q ser el prximo valor que tome q. Anlogamente para Qn.
Analticamente:
Q(t) = q(t + S)
Qn(t) = qn(t + R)
Se tienen: q(t) = Q(t - S)
qn(t) = Qn(t - R)
Grficamente:
Q(t)
to t
q(t)
to t
S
Figura 14.9 Valores presente y prximo, en el tiempo.
Denominaremos:
estado presente al conjunto: {q, qn}
estado prximo al conjunto: {Q, Qn}
Salida al estado presente (mquina de Moore).
Debido a que, como se ver, los eventos que inician los cambios estn asociados a los cantos de
bajada de las seales de entrada, se las denomina S y R, siguiendo el convenio general para
identificar a seales de lgica negativa.
En el esquema general de mquina secuencial:
Y y
x
z
FPE FS
Figura 14.10 Retardos como memorias de corto plazo.
Se destaca que los retardos pueden considerarse como una memoria de corto plazo.
Memorizan el valor anterior de una entrada al bloque de retardo, durante segundos.
Captulo 14. Mquinas secuenciales asincrnicas 7
Profesor Leopoldo Silva Bijit 19-01-2010
Para estudiar el circuito secuencial se emplea un diagrama de estados o una matriz de
transiciones.
14.2.3. Ecuaciones.
En el caso del latch de nand, se tienen las siguientes ecuaciones asociadas a la red
combinacional ideal:
Q = (S' qn)' = S''+qn' = S + qn'
Qn = (R' q)' = R'' +q' = R + q
14.2.4. Matriz de transiciones.
Representndolas en un mapa, se logra la matriz de transiciones siguiente:
Figura 14.11 Matriz de transiciones del latch de NAND.
En la matriz de excitaciones o tabla de transiciones est toda la informacin para analizar el
latch. Se denomina de excitaciones, notando que las columnas describen las seales de entrada o
estmulos. Matriz de transiciones hace referencia al hecho de que el contenido de cada columna
muestra las transiciones al estado prximo.
Si las entradas no cambian, se est en una de las columnas. Un cambio de una de las entradas
implica un cambio de columna. En una determinada columna, si el prximo estado es igual al
estado presente, se dice que ese estado es estable. En caso contrario, se produce una transicin
o cambio de estado.
Suelen encerrarse, con crculos, los estados estables.
q qn
S'R' 00 01
00
01
11 11
11 11 1
0 4
5
11 10
11 11
01 01 13
12 8
9
11
10
11 10
11 10 2
3 7
6
00 01
10 11 14
15 11
10
Q, Qn
8 Sistemas Digitales
Profesor Leopoldo Silva Bijit 19-01-2010
En el diagrama se aprecian tres estados estables. Si el objetivo es usar el circuito para emplearlo
como memoria de un bit (flip-flop), no deber usarse el estado estable 11; para lo cual basta
restringir que ambas entradas puedan ser cero simultneamente.
14.2.5. Modo fundamental de operacin.
Para simplificar el anlisis se define un modo fundamental de operacin. En el cual, las
entradas pueden cambiarse slo cuando se est en estado estable; y slo un cambio de una
entrada por vez. Otra forma de plantearlo es que los cambios ocurran con una separacin
mnima en el tiempo; pero no concurrentes.
Si el prximo estado es inestable ocurre una transicin, o cambio de estado.
Si dos o ms variables de estado deben cambiar, se dice que se produce una carrera.
Se denomina ciclo a la ocurrencia de una secuencia de dos o ms estados inestables.
Si la carrera origina diferentes transiciones (dependiendo de qu entrada cambia primero), pero
finalmente se llega a un mismo estado estable, la carrera se denomina no crtica. Si se llega a
estados estables diferentes es una carrera crtica.
Si nunca se llega a estados estables, se denomina oscilacin.
14.2.6. Diagrama de estados.
La informacin de la matriz de transiciones puede verse tambin con un diagrama de estados:
Figura 14.12. Diagrama de estados del latch de NAND.
00
11/01 10 01
11,10
11
00
00,10 00,01
11
10
01
11,10,01,00
Captulo 14. Mquinas secuenciales asincrnicas 9
Profesor Leopoldo Silva Bijit 19-01-2010
14.2.7. Secuencias de inters
Con la condicin S'+R'=1, el sistema slo puede estar en uno de los dos estados estables, que
llamaremos set y reset. En este caso, y una vez terminadas las transiciones, se cumple que qn es
q'.
set = {q = 1, qn = 0}
reset = {q = 0, qn = 1}
Nos interesa estudiar secuencias de las entradas, que llevan de un estado estable al otro. Y que
no se ocupe el estado estable 11, ya que en este caso qn no es la negacin lgica de q.
a) Transicin set a reset
Entradas en S'=1, R'=1; estado inicial: q=1, qn=0.
Se analiza cuando ocurre un canto de bajada en R':
Figura 14.13 De set a reset.
Las salidas Q, Qn pasan por la secuencia: 10, 11, 01
El estado q, qn pasa por la misma secuencia, pero con retardo: 10, 11, 01
Despus de R ms S se produce el cambio a reset.
Durante un corto tiempo, S, se pasa por estado 11. Que no es set ni reset.
Las entradas no pueden cambiar, cuando se estn produciendo cambios en el estado interno; es
decir cuando estn cambiando las seales q y qn.
q qn
S'R' 00 01
00
01
11 11
11 11 1
0 4
5
11 10
11 11
01 01 13
12 8
9
11
10
11 10
11 10 2
3 7
6
00 01
10 11 14
15 11
10
Q, Qn R
S
S'
R S
R'
Q
t
t
t
Qn
qn
q t
t
t
| reset
. set |
10 Sistemas Digitales
Profesor Leopoldo Silva Bijit 19-01-2010
Estando en reset, un canto de subida en R', no produce cambios. Tampoco se producen cambios
de estado con pulsos en R'. Slo responde al primer canto de bajada en R', estando en set.
b) Transicin de reset a set
Estado inicial: q=0, qn=1. Entradas en S' = 1, R' = 1. Se analiza cuando ocurre un canto de
bajada en S'.
Figura 14.14 De set a reset.
Cuando ocurre canto de bajada de S', estando en reset, despus de un tiempo ( S + R) se llega al estado set.
Estando en set, un canto de subida en S', no produce cambios. Tampoco pulsos en S', cambian el estado.
Anlisis del estado 11 en latch S-R
Con entradas S'=0 y R'=0, despus de un tiempo el sistema permanece en estado estable q=1,
qn=1. Pero no es set, ni reset.
a) Si ocurre un canto de subida en S'.
Se tiene S' = 1, R' = 0 y se pasa en forma confiable a reset. Ya que cambia una variable de
estado por vez.
b) Si ocurre un canto de subida en R'.
Se tiene S' = 0, R' = 1 y se pasa en forma confiable a estado set.
c) Si cambian simultneamente S' y R' a 1.
q qn
S'R' 00 01
00
01
11 11
11 11 1
0 4
5
11 10
11 11
01 01 13
12 8
9
11
10
11 10
11 10 2
3 7
6
00 01
10 11 14
15 11
10
Q, Qn
R
S
R'
S R
S'
Qn
t
t
t
Q
q
qn t
t
t
reset | | set
Captulo 14. Mquinas secuenciales asincrnicas 11
Profesor Leopoldo Silva Bijit 19-01-2010
Pueden suceder 3 casos, considerando carreras en las entradas. c1) S'R' pasa por secuencia: 00, 10, 11
Se llega a reset.
Figura 14.15 S adelanta a R.
c2) S'R' pasa por secuencia: 00,01, 11
Se llega a set.
Figura 14.16 R adelanta a S.
c3) Cambio simultneo: 00, 11
Se produce oscilacin.
Figura 14.17. S y R llegan juntas.
Si se excitan ambas variables de estado a la vez, dependiendo de los retardos de las compuertas
puede que una u otra cambie primero, (pero no se queda en un estado estable) ya que
inevitablemente se producir el cambio de la ms lenta. En cualquier caso se llega a un estado
inestable en que ambas variables de estado vuelven a excitarse, generando una oscilacin.
En los casos c1 y c2 (con tiempo entre cantos de subida menores que los retardos) tambin se
producen problemas; ya que las entradas cambian durante las transiciones internas. Para evitar
esta incertidumbre, se suele evitar el estado 11. Esto se logra con la condicin S'+R'=1. (Es
decir, que ambas entradas no estn simultneamente en cero). Adems, en estas circunstancias
(caso c), el latch cambia con cantos de subida.
Normalmente se ocupan 8 de los 16 casilleros de la matriz de transicin. Las transiciones de set
a reset y viceversa que se analizaron antes.
14.2.8. Funcionamiento restringido.
Si se cumple la condicin para funcionamiento confiable, Qn se puede anotar como Q'.
Las casillas del mapa por las que nunca se pase, pueden ser consideradas superfluas.
mayor que S
S'
R'
mayor que R
S'
R'
R'
S'
12 Sistemas Digitales
Profesor Leopoldo Silva Bijit 19-01-2010
Entonces puede escribirse: Q = S'' + q R' + q qn'
El ltimo trmino slo interviene cuando q = 1, qn = 0, S' = 1 y R' =0; pero esta situacin es
transitoria, en forma estable queda q = 0 y qn = 1, por esta razn puede no considerarse al
plantear la ecuacin del prximo estado. De este modo resulta, usando notacin abreviada,
reemplazando q por Q y Q por Q+:
Q+ = SQ' + R' Q, formando los grupos: (0, 1, 4, 5) y (6, 7, 14, 15).
Figura 14.18. Matriz de transiciones en modo confiable.
Ntese que tambin puede escribirse, agrupando (0,1,2,3,4,5,6,7) y (6,7,14,15): Q+ = S + R'Q
Tanto las tablas como la ecuacin caracterstica, pueden obtenerse conceptualmente a travs del
funcionamiento normal del circuito, sin usar la matriz de transiciones.
La ecuacin caracterstica puede plantearse segn:
Q(k+1) = S(k) + R'(k)Q(k)
Ntese que esta expresin puede obtenerse a partir de: Q = S + qn y Qn = R + q deducidas anteriormente, si se hace Qn = qn, y se eliminan estas variables.
La tabla caracterstica, para el latch SR, pueden plantearse:
Figura 14.19. Tabla caracterstica S-R.
Q, Qn
q qn
S'R'
00 01
00
01
11 1
0 4
5
11 10
01 01 13
12 8
9
11
10
10
10 2
3 7
6
01
10 11 14
15 11
10
S' R' Q(k+1)
1 1 Q(k)
1 0 0
0 1 1
0 0 ?
Captulo 14. Mquinas secuenciales asincrnicas 13
Profesor Leopoldo Silva Bijit 19-01-2010
Con S' + R' = 1:
No cambia de estado con entradas altas. Pasa a reset con canto de bajada en R'.
Pasa a set con canto de bajada en S'. Entradas bajas causan indeterminacin.
La tabla de excitaciones, para el latch SR, puede plantearse:
Figura 14.20. Tabla de excitaciones parta S-R.
Si est en reset: permanece en reset si ocurren pulsos en R'; pasa a set con canto de bajada de S'.
Si est en set: permanece en set si ocurren pulsos en S'; pasa a reset con canto de bajada de R'.
Resumen Latch de NAND:
Con: S'+R' = 1
Figura 14.21 Resumen funcionamiento latch de NANDs..
Normalmente S' y R' estn en uno lgico, un pulso de corta duracin en una de las entradas
produce el correspondiente cambio de estado. La duracin del pulso debe ser mayor que el
retardo de ambas compuertas. El evento que inicia la conmutacin es el canto de bajada.
Ambas entradas no pueden ser ceros.
El latch de NAND recuerda la ltima entrada que tuvo un canto de bajada.
14.2.9. Anlisis simplificado.
Puede inferirse el funcionamiento del latch de NAND, mediante un anlisis simplificado, ste
consiste en asumir una sola variable de estado:
a
b
S'
R'
Q
Q(k) Q(k+1) S' R'
0 0 1
0 1 0 1
1 0 1 0
1 1 1
Q'
Q
R
S'
a >
b >
= S + R
14 Sistemas Digitales
Profesor Leopoldo Silva Bijit 19-01-2010
Figura 14.22 Anlisis con un retardo.
Se tiene para el prximo estado, asumiendo ambas compuertas ideales, que:
Q + = ((R' q)' S')' = S + R' q
Ntese que el retardo de q, respecto de Q, es ahora ( S + R).
La matriz de transiciones resulta:
Figura 14.23. Matriz de transiciones con un solo retardo.
Y el diagrama de estados asociado se muestra a continuacin:
Figura 14.24. Diagrama de estados simplificado.
Sin embargo esta simplificacin no muestra los problemas del estado 11, y los riesgos de
oscilacin al tener ambas entradas bajas. Esto se debe a que el efecto de la carrera entre las
entradas no se puede observar con un modelo obtenido con slo un retardo de propagacin, en
el cual slo puede observarse Q. Puede restringirse la columna 00, y colocar prximos estados
superfluos.
S' R'
Q
S R
q
q
S'R' 00 01
0
1
1 1
1 1 1
0 3
2
11 10
0 0
1 0 7
6 4
5
Q+
11/10 0 1
11,01,00
00,01
10
Captulo 14. Mquinas secuenciales asincrnicas 15
Profesor Leopoldo Silva Bijit 19-01-2010
14.2.10. Simulacin de circuitos asincrnicos.
La simulacin de estos circuitos, presenta problemas a los programas simuladores. Pero puede
emplearse el siguiente esquema:
V3
V2
V1 Init
1
Qn
Q
R'
S'
1
Figura 14.25. Diagrama para simular un latch.
Si se marca el cuadro de mostrar el estado de las lneas, se vern todas no iniciadas o en tercer
estado, esto en el simulador. Si se hiciera correr la simulacin, mostrara una oscilacin en el
estado.
Para evitar un estado inicial indeterminado, se emplea un nand de tres entradas.
Donde el switch V1 se emplea para dejar en un estado inicial, para esto basta comenzar la
simulacin con V1 = 0, y luego de algunos ticks (basta uno) se pasa V1 a uno. El flip-flop queda
en set (1).
Figura 14.26. Formas de ondas generadas en la simulacin.
Si se generaran pequeos pulsos en S, mediante V2, no se producen cambios de estado.
Un pulso en R, inicia el cambio de estado (2). La simulacin muestra los retardos entre las
seales que conmutan. Posteriores pulsos en R, no modifican el estado. No importa la duracin
de estos pulsos.
Un canto de bajada en S', inicia el cambio a set (3). Posteriores pulsos en S, no modifican el
estado. No importa la duracin de estos pulsos (4).
Estando en set, un pulso angosto de reset (5), en el caso de la figura de un tic, que tambin es la
propagacin de una compuerta, confunden al simulador y se inicia una oscilacin. Sucede que
Init
Qn
Q
R'
S'
1 2 3 4 5
16 Sistemas Digitales
Profesor Leopoldo Silva Bijit 19-01-2010
se efecta un cambio en las entradas antes de que hayan ocurrido todas las transiciones
asociadas al cambio de las entradas; es decir, no se cumple la condicin para trabajar en modo
fundamental de operacin.
Las siguientes formas de ondas ilustran el funcionamiento no deseado del latch:
Figura 14.27. Oscilacin en latch de NAND.
Si se excita con R'=0 y S'= 0, pasa a estado 11 (1).
Se muestra el efecto de un canto de subida en S' (2). En estas condiciones habra cambio de
estado con canto de bajada y tambin de subida, lo cual no es deseable.
Un cambio simultneo de ambas entradas a uno (3), produce oscilacin.
14.2 Elimina rebotes (debounce)
Una aplicacin comn del latch de NAND es eliminar los rebotes mecnicos que se producen
en un interruptor. El siguiente circuito ilustra el funcionamiento.
Figura 14.28. Elimina rebotes.
Se colocan resistencias de pull-up para fijar un uno lgico en las entradas al aire. Se emplea un
interruptor de dos posiciones. Se denomina SPDT (polo simple, doble garganta), es decir existe
un punto comn, por donde se ingresa la seal, y normalmente un contacto est cerrado
(obviamente el otro est abierto). Se marcan NO (normaly open) y NC (normaly closed).
Init
Qn
Q
R'
S'
1 2 3
S1 5V
5V
1
S'
R'
Q
Qn
1
2.2k
2.2k
2.2k
Captulo 14. Mquinas secuenciales asincrnicas 17
Profesor Leopoldo Silva Bijit 19-01-2010
Al operar el interruptor se produce un movimiento mecnico que impactar al conector en la
otra posicin. En forma microscpica, y debido a choques semi-elsticos, se producen rebotes.
Pueden ser varios rebotes, el proceso mecnico termina despus de 5 mseg aproximadamente.
El contacto mvil no produce problemas al despegarse del otro contacto.
La forma de onda en el interruptor, al hacer contacto, exhibe un canto de bajada seguido de
varios pequeos pulsos hasta que se estabiliza en un valor cero, esto debido a que el interruptor
ha dejado de moverse. Entre el primer canto de bajada y el primer canto de subida debido a los
rebotes transcurren 500 nanosegundos aproximadamente. Pero este tiempo es mucho mayor que
el de propagacin a travs de dos compuertas. En la figura anterior se est en set, al cambiar el
interruptor, el latch conmuta y permanece en reset, ya que absorbe mltiples pulsos en reset.
Igual cosa sucede al volver a operar el interruptor, se cambiar de estado a pesar de los rebotes.
Las salidas Q y Qn estn libres de rebotes.
Este elimina rebotes requiere un interruptor de tres terminales, que suele denominarse SPDT.
Existen otros diseos, basados en interruptores de dos terminales (SPST simple polo, simple
throat), que pueden conectar o desconectar dos puntos.
14.3 Sincronizacin de un S-R
El esquema siguiente ilustra cmo se agrega un reloj a un latch SR, en base a NAND.
Mientras enable est bajo, las seales S' y R' estarn en uno, por lo que cumplen las condiciones
para funcionamiento normal del latch.
Se ilustran seales de preset' y clear', de lgica negativa, que permiten dejar en un estado inicial
al latch. Su operacin sobrepasa a las excitaciones S' y R', en este sentido se dicen que son
asincrnicas con ellas, apenas ocurra un canto de bajada en estas seales, el latch permanecer
en un estado determinado hasta liberar el control asincrnico, llevndolo a uno. Al igual que con
las seales R y S, debe evitarse mantener preset y clear en cero al mismo tiempo.
Figura 14.29. Sincronizacin. Empleo de seal de reloj.
clear'
preset'
R'
S'
Q'
Q
Set
enable
Reset
18 Sistemas Digitales
Profesor Leopoldo Silva Bijit 19-01-2010
Ahora cuando enable tenga un canto de subida dejar pasar las excitaciones externas Set y
Reset, hacia las entradas del latch S' y R'.
Tambin puede pensarse que enable es una seal de reloj, que sincroniza al latch. En esta
situacin, las entradas Set y Reset deben ser estables antes de un canto de subida del reloj. En el
canto de subida se inspeccionan las entradas y despus de un tiempo de propagacin, ocurre el
canto de bajada en S' o R'. Lo cual implica que para funcionamiento determinstico, no pueden
estar altas ambas entradas externas. Si se cumplen estas condiciones, slo podr existir un canto
de bajada en S' o R', garantizando la operacin del latch SR.
Se ilustran las formas de ondas para un funcionamiento normal:
clk
Set
S'
Figura 14.30 Funcionamiento normal.
La seal S es sincrnica con clk; Set es asincrnica con respecto a clk.
14.4. Latch asincrnico S-R. (Latch de NOR)
14.4.1. Esquemtico.
Se tiene el siguiente circuito:
q
qn
R
S
Q
Qn
Figura 14.31. Latch de NOR.
Las compuertas se asumen ideales. Y se modela el retardo de propagacin, mediante
componentes externas, ubicadas en el lazo de realimentacin.
Apenas ocurran cambios en las entradas R, S, q y qn se producirn simultneamente los cambios
en las salidas Q o Qn, estas compuertas no tienen retardo.
Captulo 14. Mquinas secuenciales asincrnicas 19
Profesor Leopoldo Silva Bijit 19-01-2010
14.4.2. Variables.
Denominaremos:
estado presente al conjunto: {q, qn}
estado prximo al conjunto: {Q, Qn}
Salida al estado presente (mquina de Moore).
14.4.3. Ecuaciones.
En el caso del latch de NOR, se tienen:
Q = (R + qn )' = R'qn'
Qn = (S + q )' = S'q'
14.4.4. Matriz de transiciones.
Representando en un mapa, se logra la matriz de transiciones siguiente:
Figura 14.32. Matriz de transiciones latch de nor.
En el diagrama se aprecian tres estados estables. Si el objetivo es usar el circuito para emplearlo
como elemento de memoria, y por lo tanto que q y qn sean el complemento la una de la otra, no
deber usarse el estado estable 00; para lo cual basta restringir que ambas entradas puedan ser
uno simultneamente.
14.4.5. Diagrama de estados.
La informacin de la matriz de transiciones puede verse tambin con un diagrama de estados:
q qn SR
00 01
00
01
11 01
01 01 1
0 4
5
11 10
00 10
00 00 13
12 8
9
11
10
00 00
10 00 2
3 7
6
00 00
00 10 14
15 11
10
Q, Qn
20 Sistemas Digitales
Profesor Leopoldo Silva Bijit 19-01-2010
Figura 14.33. Diagrama de estados latch de nor.
Con la condicin SR=0, el sistema slo puede estar en uno de dos estados estables, que
llamaremos set y reset. En este caso, y una vez terminadas las transiciones, se cumple que qn es
q'.
set = {q = 1, qn = 0}
reset = {q = 0, qn = 1}
14.4.6. Secuencias de inters.
Nos interesa estudiar secuencias de las entradas, que llevan de un estado estable al otro. Y que
no se ocupe el estado estable 00, ya que en este caso qn no es la negacin lgica de q.
La figura ilustra algunas secuencias:
Figura 14.34. Secuencias de inters en latch de nor.
El canto de subida en S (1), inicia el cambio de estado de reset a set.
Luego entre (1) y (2) ocurre una entrada a la columna 11, lo que lleva al estado 00, que no es
adecuado para utilizar el circuito como flip-flop.
11
00/10 10 01
00,01
00
11
11,01 11,10
00
01
10
11,10,01,00
S
R
Q'
Q
1 2 3 4 5
Captulo 14. Mquinas secuenciales asincrnicas 21
Profesor Leopoldo Silva Bijit 19-01-2010
En esta situacin un canto de bajada (2) tambin conmuta el latch. No es deseable tener
conmutaciones con cantos de subida y de bajada.
Luego se vuelve a condiciones normales de operacin, ambas excitaciones en cero, y se tiene
una conmutacin normal a set, en (3).
Estando en estado 00, un cambio simultneo de las entradas a cero, produce una oscilacin (4),
la cual se detiene al llevar el latch a reset. Finalmente en (5) se coloca en modo normal.
14.4.7. Funcionamiento simplificado.
El diagrama de transiciones, marcando como superfluas los estados por los cuales nunca se
pasar, si se cumplen las restricciones para operacin normal, se indica a continuacin:
Figura 14.35. Funcionamiento simplificado, latch de NORs.
Formando grupos: (8, 10, 12, 14) y (2, 3, 10, 11), se logra:
Q+ = Sqn' + R' q
El mintrmino 8, que cubre la expresin que contiene qn', ocurre slo durante la transicin. En
estado estacionario se tiene qn = 0, por lo tanto, la ecuacin caracterstica puede plantearse
segn:
Q(k+1) = S(k) + R'(k)Q(k)
La tabla caracterstica, para el latch SR en base a nor, pueden plantearse:
Q, Qn
q qn
SR 00 01
00
01
01
01 01 1
0 4
5
11 10
10
00 13
12 8
9
11
10
10 00 2
3 7
6
10 14
15 11
10
22 Sistemas Digitales
Profesor Leopoldo Silva Bijit 19-01-2010
Figura 14.36. Tabla caracterstica, latch de NOR.
Con SR = 0
No cambia estado con entradas bajas. Pasa a set con canto de subida en S.
Pasa a reset con canto de subida en R. Entradas altas causan indeterminacin.
La tabla de excitaciones, para el latch SR en base a nor, puede plantearse:
Figura 14.37. Tabla de excitaciones, latch de NORs.
Si est en reset: permanece en reset si ocurren pulsos en R, pasa a set con canto de subida de S.
Si est en set: permanece en set si ocurren pulsos en S; pasa a reset con canto de subida de R.
14.4.8. Resumen Latch de NOR.
Normalmente S y R estn en cero lgico, un pulso de corta duracin en una de las entradas
produce el correspondiente cambio de estado. La duracin del pulso debe ser mayor que el
retardo de ambas compuertas. Ambas entradas no pueden estar altas. El evento que inicia la
conmutacin es el canto de subida. Este latch recuerda la ltima entrada que tuvo un canto de
subida.
14.4.9. Anlisis simplificado, con un retardo.
Puede inferirse el funcionamiento del latch de NOR, mediante un anlisis simplificado, ste
consiste en asumir una sola variable de estado:
Se tiene: Q += ((S +q)' + R )'
Entonces: Q+ = R( S + Q) que es la ecuacin caracterstica. El retardo entre Q' y q' es la suma del retardo de las componentes individuales.
S R Q(k+1)
0 0 Q(k)
1 0 1
0 1 0
1 1 ?
Q(k) Q(k+1) S R
0 0 0
0 1 1 0
1 0 0 1
1 1 0
Captulo 14. Mquinas secuenciales asincrnicas 23
Profesor Leopoldo Silva Bijit 19-01-2010
Figura 14.38. Esquema con solo una variable de estado.
El siguiente circuito elimina rebotes empleando un latch de nor:
Figura 14.39. Elimina rebotes con latch de nor.
Puede verse un diseo de este tipo en el chip 7475.
14.9.10. Latch positivo D
La seal G (por gate) habilita la entrada de cantos de subida hacia el latch de nor, y garantiza el
funcionamiento normal de ste. La entrada D se copia hacia la salida Q cuando G, que acta
como reloj, est en nivel alto. Cuando G est en nivel cero, el latch mantiene el estado
almacenado. Se dice tambin que es un latch sensible al nivel.
S
R Q
Q'
G
D
Figura 14.39a. Latch positivo D.
Puede operarse con cantos de bajada de G, si se coloca un inversor en la puerta habilitadora.
+V
S1
0.33k
0.33k
S
R
Q'
R S Q
q
24 Sistemas Digitales
Profesor Leopoldo Silva Bijit 19-01-2010
14.5. Diseo de latch JK en base a Latch de NOR
Diseo de JK en base a SR:
Se tiene la tabla de transiciones de un JK. Que es la matriz que se desea disear.
Figura 14.40 Matriz de transiciones JK.
Y la tabla de transiciones del SR, que es el flip-flop que se emplear:
Figura 14.41. Tabla de transiciones SR.
Empleando el mtodo tabular, se logra el programa del SR:
Figura 14.42. Programa del SR.
Leyendo del mapa se logra: S = JQ' ; R = KQ
El siguiente circuito implementa un JK en base a un SR.
0 0 10 10
0 01 01 0
0
1
S, R
JK
Q(k) 00 01 11 10
Q(k) Q(k+1) S R
0 0 0
0 1 1 0
1 0 0 1
1 1 0
0
1
0 0 1 1
1 0 0 1
Q(k+1)
JK
Q(k) 00 01 11 10
Captulo 14. Mquinas secuenciales asincrnicas 25
Profesor Leopoldo Silva Bijit 19-01-2010
Figura 14.43. Latch JK basado en SR.
Se tienen las siguientes formas de ondas:
Figura 14.44. Formas de ondas en latch JK.
El latch de nor inicialmente est en set. En (1) llega un canto de subida en K, el cual origina un
canto de subida en el control interno del latch de NOR, llevando a uno la excitacin R; lo cual
hace cambiar a Q y luego a Q'. El cambio de Q tambin origina un canto de bajada en R, lo cual
deja en condiciones normales al latch de NOR.
En (2) se aprecia una orden de set, en J. Lo cual lleva a excitar S, que inicia la conmutacin del
latch interno; y el cambio de Q' lleva a cero a S, dejando en condiciones predecibles al latch.
En el instante (3) se inicia el modo toggle, que se detiene al llevar a modo hold al JK, en (4)
En el modo toggle, con J y K iguales a uno, se puede dejar pasar slo una de las entradas hacia
el latch. Esto puede lograrse dejando pasar K si Q=1, ya que esto implica resetear el flip-flop.
Y dejar "pasar" J si Q=0.
14.6. Diseo de un flip-flop JK sincrnico.
Al circuito del punto anterior se le agrega un reloj.
J
K
S
R
Q
Q'
1 2 3 4
J
K
S
R Q
Q'
26 Sistemas Digitales
Profesor Leopoldo Silva Bijit 19-01-2010
Figura 14.45. Sincronizacin de flip-flop JK
Este diseo tiene restricciones del ancho de pulso del reloj. Como puede comprobarse esta
restriccin se produce en el modo toggle; es decir con J y K iguales a uno. Para el anlisis se
asume que el flip-flop est en modo reset.
Cuando el reloj sube, habilita la excitacin S, despus de J. A su vez este cambio desencadena
la conmutacin del latch, bajando Q' despus de S, y luego subiendo Q despus de R. Al
mismo tiempo que se levanta Q, se inicia la propagacin, a travs de la compuerta habilitada por
K y el reloj de un canto de subida en R, lo cual ocurre despus de K. Si se llega a producir la
excitacin R, el latch volver a conmutar; salvo que el reloj sea angosto y baje antes que Q suba.
Es decir ancho del pulso del reloj debe ser menor que : S + J+ R
Figura 14.46. Formas de ondas conmutacin JK.
clk
S
Q
Q'
R
J S
R K
ancho mximo del reloj.
clk
J
K
S
R Q
Q'
J S
R K
Captulo 14. Mquinas secuenciales asincrnicas 27
Profesor Leopoldo Silva Bijit 19-01-2010
El problema de este diseo es que al cambiar de estado, necesariamente se pasa por estado 00;
es decir los cambios se producen con el reloj en alto.
Para mantener conducta predecible, las entradas no deben cambiar estando el reloj en alto. Y si
dichas entradas provienen de otro flip-flop similar (es decir son salidas de ste), se llega a la
conclusin que para un flip-flop cualquiera: No se pueden cambiar entradas y salidas, de un
mismo flip-flop, en el mismo pulso de reloj.
Para disolver estas restricciones hay dos soluciones.
14.7. Flip-flops disparados por cantos
En estos flip-flops, pueden cambiarse las entradas y salidas en el mismo pulso del reloj.
El pulso angosto del reloj se obtiene mediante redes de disparo; que bsicamente derivan un
pulso de entrada. En estos circuitos, se requiere buena pendiente del reloj (no un pulso angosto),
para operacin correcta.
Diseos de este tipo se encuentran en el chip 7470.
Tambin puede explicarse el funcionamiento de los disparados por canto mediante un circuito
que genera un reloj muy angosto, que se produce asociado a un canto. El ancho del reloj
generado debe ser de menor ancho que S+ J+ R; si esto es as, cuando ya haya pasado por
estado 00 el reloj comenzar a estar en bajo, y no se activar R.
Con fines didcticos se muestra cmo puede lograrse un reloj angosto con una perturbacin:
Figura 14.47. Reloj angosto.
Y las formas de ondas:
Figura 14.48. Formas de ondas.
El reloj cp (clock pulse) tiene un ancho de pulso igual a un retardo de compuerta.
Una variante de la idea anterior, es generar un pulso angosto asociado al canto de bajada del
reloj, luego de producirse el evento: canto de subida en J.
En este caso, con J=1, S=clk + clk, con clk atrasada respecto de clk; se produce perturbacin a la salida del OR, en el canto de bajada del reloj.
clk cp
Generador
1 1
clk
cp
28 Sistemas Digitales
Profesor Leopoldo Silva Bijit 19-01-2010
J
clk
J
J
S
J+clk
clk
J
J
S
Figura 14.48a. Generacin de pulso angosto.
De este modo pueden generarse pulsos adecuados para el latch de nand, que registra los
cambios.
clk
K
J Q
Q
J
K R
S
S
R
Figura 14.48b. JK, disparado por cantos de bajada del reloj.
Los flip-flops JK suelen tener entradas asincrnicas de set y reset, que sobrepasan las entradas
sincrnicas. De esta forma la ecuacin caracterstica para un JK:
Q(k+1) = J(k)Q'(k) + K'(k)Q(k)
Con S y R controles asincrnicos de lgica positiva, la ecuacin resulta:
Q(k+1) = S + R' ( J(k)Q'(k)+K'(k)Q(k) )
14.8. Master Slave. Maestro-esclavo.
Una solucin al problema de sincronizacin, mediante un pulso angosto, de un flip-flop JK, es
la estructura master-slave, que consiste en dos latchs que operan con dos relojes; uno el
complemento del otro. El latch maestro, captura las entradas con el canto de subida del reloj. El
esclavo inspecciona sus entradas con el canto de bajada del clk, es el reloj clk' en la Figura
14.49. De esta forma el master-slave cambia sus salidas cuando ya ha almacenado
confiablemente las entradas registradas por el maestro.
Captulo 14. Mquinas secuenciales asincrnicas 29
Profesor Leopoldo Silva Bijit 19-01-2010
Figura 14.49. Flip-flop JK master-slave.
Se ilustra la seal init, que inicia los latch, para la simulacin, puede considerarse como una
seal asincrnica de preset.
A continuacin se ilustran algunas secuencias de valores:
La seal de inicio setea a ambos latch, en el punto (1) se inicia la simulacin con valores
iniciales correctos. Como K est inicialmente alto, el primer canto de subida del clock, produce
Smtr, que setea el master. Ese nivel es inspeccionado en el canto de subida de clk' (2), lo que
origina el canto de subida de Rslv, el que a su vez origina la conmutacin del latch esclavo. El
flip -flop cambia sus salidas, quedando en estado reset. De esta forma se deshabilita la entrada
K.
Figura 14.50. Formas de ondas en flip-flop master-slave.
J
K
clk
Smt
r Rmt
r clk'
Sslv
Rslv
Q
Q'
1 2
3 4 5
a
J
K
clk
Smt
r
Rmt
r
clk'
Ssl
v
Rsl
v Q
Q'
init
30 Sistemas Digitales
Profesor Leopoldo Silva Bijit 19-01-2010
En (3) se cambia las entradas J =1 y K = 0. J puede pasar, habilitado por Q', y se genera con el
canto de subida de clk, la seal Rmtr que resetea el master. Ese cambio slo es tomado en cuenta
por el slave en el canto de subida de clk' (que es el canto de bajada de clk) que genera el set del
esclavo (a); lo que a su vez inicia la conmutacin del segundo latch, conmutando la salida.
En (4) se ingresa a modo hold, donde se advierte que no cambia el latch maestro, y que en el
latch esclavo se generan pulsos de set, que no cambian las salidas.
Desde (5) se inicia modo toggle. Donde se aprecian las secuencias de set, reset, set y reset del
maestro y las correlativas reset, set, reset, y set en el esclavo.
Los flip-flops de tipo maestro esclavo tienen asociado un pequeo pulso en la seal clock en la
tabla de funcionamiento. Algunos ejemplos: 7471, 7472, 7473, 7476.
Puede comprobarse que si una seal de entrada est alta durante el reloj ser interpretada como
uno en la salida, cuando los latch son en base a NOR. (se denomina captura de unos). Estos
flip-flops no pueden ser alimentados con salidas que tengan perturbaciones de cero. Lo dual
ocurre para latch en base a NAND, en que se capturan ceros.
Figura 14.51. Captura de unos.
En (1), estando el reloj alto y en modo set, se captura un uno en la entrada K. Esto podra ser
una perturbacin en cero de dicha entrada. Esto ocasiona la conmutacin del flip-flop master-
slave.
Ntese que el latch maestro puede estar en cero o en uno, por esta razn en cada canto de subida
de clk' se origina un cambio de estado del latch esclavo.
En (2) se aprecia una captura de un uno en la entrada J, estando en reset la perturbacin que
viene en la entrada J hace conmutar al flip-flop.
Para un correcto uso de este tipo de flip-flops las entradas no deben tener perturbaciones en
cero, si son en base a latch de NOR, y en uno si los latchs son de NAND. Los flip-flops
maestro-esclavo no tienen requerimiento de pulsos angostos, ni de pendiente del reloj.
J
K
clk
Smtr
Rmt
r clk'
Sslv
Rslv
Q
Q'
1 2
Captulo 14. Mquinas secuenciales asincrnicas 31
Profesor Leopoldo Silva Bijit 19-01-2010
Los flip-flops disparados por cantos no tienen la dificultad de los anteriores, pero requieren que
el tiempo de levantamiento (en los disparados por cantos de subida) o el de bajada (en los
disparados por canto de bajada) cumpla cierta pendiente mnima; en caso contrario la derivada
no genera un pulso de suficiente magnitud para comandar los cambios internos.
Master Slave de tipo D.
Tiene la ventaja de no capturar unos o ceros. Ver: Paul Horowitz. The Art of Electronics. 1989.
Figura 14.52. Master-slave de tipo D.
14.9. Flip-Flop Sincrnico D.
El siguiente circuito implementa un flip-flop sincrnico tipo D en base a tres latch de NAND.
Este diagrama es la descripcin lgica del 7474, su diseo interno es en base a redes de disparo.
D
clk
Smt
r
Rmt
r
clk'
Ssl
v
Rsl
v Q
Q'
init
32 Sistemas Digitales
Profesor Leopoldo Silva Bijit 19-01-2010
Figura 19.53. Flip-flop sincrnico D.
Se tienen las siguientes formas de ondas que ilustran las conmutaciones internas:
Figura 19.54. Formas de ondas. Conmutacin flip flop sincrnico D.
El control asincrnico clear deja en estado inicial reset al flip-flop D. En (1).
Los cambios de D son registrados en el latch superior e inferior. En (2) y (5)
Los cantos del reloj provocan la conmutacin del latch de salida. Entre (3) y (4) se tiene una
secuencia de set; en (6) y (7) se tiene una secuencia reset.
Puede efectuarse un anlisis ms detallado de la configuracin de entrada de este flip-flop, para
esto se consideran en estado alto, las entradas preset y clear. De este modo la red simplificada
puede verse a continuacin:
preset
clear
clk
D
Dset
t
Dclr
S
R
Q
QN
1
1
1
1
1
1
preset
clea
r clk
D
Dset
Dcl
r S
R
Q
QN
1 2 3 4 6 5
7
Captulo 14. Mquinas secuenciales asincrnicas 33
Profesor Leopoldo Silva Bijit 19-01-2010
Figura 19.55. Anlisis esquema simplificado.
Se consideran D y clk como entradas. Las salidas sern S y R. No se contempla en el anlisis el
latch de salida. Su comportamiento queda determinado por los cantos de bajada de R y S, y que
se asume que no se presentar la situacin en que ambas estn bajas.
Se tienen las siguientes ecuaciones, considerando como variables de estado a las seales: s, r,
dset, dclr, que se producen despus de un retardo, respecto de las salidas de las compuertas que
se asumen ideales:
S = (dset clk )' R = ( clk dclr s )'
Dset = ( dclr s )' Dclr = ( D r)'
Las cuales implican la siguiente matriz de transiciones:
clk
D
Dset
Dclr
S
R
Q
Q
N 1
1
1
1
1
1
34 Sistemas Digitales
Profesor Leopoldo Silva Bijit 19-01-2010
s r dset dclr 00 01 11 10
0000 1111 1111 1111 1111
0001 1111 1111 1111 1111
0011 1111 1111 0111 0111
0010 1111 1111 0111 0111
0110 1111 1110 0110 0111
0111 1111 1110 0110 0111
0101 1111 1110 1110 1111
0100 1111 1110 1110 1111
1100 1111 1110 1110 1111
1101 1101 1100 1000 1001
1111 1101 1100 0000 0001
1110 1111 1110 0110 0111
1010 1111 1111 0111 0111
1011 1101 1101 0001 0001
1001 1101 1101 1001 1001
1000 1111 1111 1111 1111
clk D
S, R, Dset, Dclr
Figura 19.56. Matriz de transiciones flip-flop sincrnico D.
Observando la matriz, puede concluirse que:
Cuando el reloj est bajo, las rdenes S y R al latch de salida estn en 1, y por lo tanto ste est
en hold.
Con el reloj en bajo, existen dos estados estables, uno asociado a la entrada D=0 y el otro a
D=1. Lo cual establece los valores de los latchs de entrada; si la entrada D est en 0, se tienen
Dset=0 y Dclr=1. Con D=1 se tienen Dset= 1 y Dclr=0.
Si con el reloj bajo, cambia la entrada D, se cambia del estado 1101 al 1110 y viceversa. El
cambio de estado dura dos tiempos de propagacin.
Activacin del reloj.
Se puede pasar de entradas D=0, clk=0 a D=0 y clk=1.
La entrada D debe estar estable el tiempo de setup (puede haber un cambio de 1 a 0 en D, pero
tiene que permitir estabilizar los latch de entrada en estado 1101, lo cual puede durar dos
propagaciones), antes de que suba el reloj. Lo cual implica pasar del estado 1101 al 1001,
activando un canto de bajada en R, lo cual captura en el latch de salida el valor 0 de D. Mientras
dura esta transicin (un tiempo de propagacin), no puede cambiarse D. Este requerimiento es el
tiempo de hold.
Se puede pasar de entradas D=1, clk=0 a D=1 y clk=1.
La entrada D debe estar estable el tiempo de setup (puede haber un cambio de 0 a 1 en D, pero
tiene que permitir estabilizar los latch de entrada en estado 1110, lo cual puede durar dos
propagaciones), antes de que suba el reloj. Lo cual implica pasar del estado 1110 al 0110,
Captulo 14. Mquinas secuenciales asincrnicas 35
Profesor Leopoldo Silva Bijit 19-01-2010
activando un canto de bajada en S, lo cual captura en el latch de salida el valor 1 de D. Mientras
dura esta transicin (un tiempo de propagacin), no puede cambiarse D. Este requerimiento es el
tiempo de hold.
Estando el reloj alto, D puede cambiar, esto no afecta al valor ya registrado, ya que no se
activan ni S ni R. En caso que D cambie de 0 a 1, habiendo grabado previamente un cero,
permanece en estado 1001. Si se hubiera grabado en la salida un uno, se cambia de 0110 a 0111,
activando un cambio en Dclr.
Luego de los posibles cambios anteriores, el reloj debe volver a cero, lo cual reestablece
valores normales, en uno lgico, para R y S. Quedando en estado 1101 1110 segn sea el
valor de D.
14.10. Latch transparente.
Se denomina latch a un elemento de almacenamiento de un bit. Puede conceptualizarse como
un mux realimentado. Apenas G se active (en 1), inmediatamente en Q se copia el valor de D.
Cuando G se desactiva (va a 0) la salida Q se mantiene capturada (latch) mediante la va de
realimentacin.
Figura 14.57. Latch transparente.
Una implementacin directa mediante compuertas es la siguiente:
G
R
D
Q
S
P
Figura 14.58. Latch transparente mediante compuertas.
Cuando G est alto: Q sigue a D, en forma transparente; en caso contrario, Q permanece estable.
El circuito se denomina Latch D esttico, ya que mantiene el dato en Q, mientras G est
inactivo, no importando cunto tiempo permanezca bajo (siempre y cuando las fuentes
permanezcan aplicadas).
Q D
G
1
0
Q D
G
36 Sistemas Digitales
Profesor Leopoldo Silva Bijit 19-01-2010
Cuando D est alto (y despus de un tiempo, Q tambin estar alto), al ocurrir un canto de
bajada en G, se produce una perturbacin (un falso cero) en Q. Esto debido a que las seales R y
S conmutan en tiempos diferentes. Esta perturbacin puede afectar a los circuitos conectados a
la salida del latch.
Sin embargo existen dos dificultades importantes, una de ellas es si el ancho del pulso G es
demasiado angosto, esto implicara que el latch no alcanzara a setearse. Otra dificultad, y ms
importante, es si D cambia casi al mismo tiempo que el latch (candado) se cierra, con el canto
de bajada de G. En este caso no puede determinarse cual ser el valor que ser capturado.
El siguiente anlisis permite determinar el tipo de transiciones cuando se cambian las entradas.
Para esto se plantean las ecuaciones a las salidas de las compuertas:
P=G; Q=r+s; R=pq; S=GD
Luego se representan las ecuaciones en una tabla de transiciones. Despus se procede a estudiar,
a partir de un estado estable, las transiciones que se producen cuando cambia una sola de las
entradas.
Si G y D estn largo tiempo en 1, se llega al estado estable 0101.
a) Al llegar un canto de bajada en G se produce una carrera entre p y s, lo cual origina una
oscilacin en q y en r, o dependiendo de los retardos podra estabilizarse en uno de los dos
estados estables de la columna. Esta transicin es conflictiva.
b) Al llegar un canto de bajada en D, se pasa transitoriamente por el estado 0100 y luego se
estabiliza en 0000.
Con GD=10, con un canto de subida en D, se producen las transiciones: 0001, 0101. Si se
produce canto de bajada en G, se pasa por 1000, y queda estable.
Con GD=00, al cambiar las entradas a 01 10, se producen transiciones a estados estables.
Con GD=01, al cambiar entradas a 00 permanece en estado estable; al cambiar a 11, se
presentan carreras en p y s; pero no es una carrera crtica, y finalmente se llega al estable 0101.
Captulo 14. Mquinas secuenciales asincrnicas 37
Profesor Leopoldo Silva Bijit 19-01-2010
pqrs GD
00 01 11 10
0000 1000 1000 0001 0000
0001 1100 1100 0101 0100
0011 1100 1100 0101 0100
0010 1100 1100 0101 0100
0110 1100 1100 0101 0100
0111 1100 1100 0101 0100
0101 1100 1100 0101 0100
0100 1000 1000 0001 0000
1100 1010 1010 0011 0010
1101 1110 1110 0111 0110
1111 1110 1110 0111 0110
1110 1110 1110 0111 0110
1010 1100 1100 0101 0100
1011 1100 1100 0101 0100
1001 1100 1100 0101 0100
1000 1000 1000 0001 0000
PQRS
Figura 14.58a. Tabla de transiciones latch transparente.
Por estas razones, el diseo de dispositivos secuenciales debe garantizar que las entradas sean
vlidas y estables durante los perodos en que stas pueden influir sobre el cambio de estado.
Para el circuito analizado, estas restricciones son:
Figura 14.59. Restricciones temporales.
La seal G debe permanecer activa por el tiempo que sea suficiente para que el latch pueda
capturar el dato. Esto requiere un ancho mnimo para el pulso G.
El tiempo de set-up debe garantizar que el valor de D se haya propagado a travs del lazo de
realimentacin antes de que se cierre el latch.
El tiempo de hold debe garantizar que el latch est cerrado y Q estable antes de permitir
cambios en la entrada D.
set-up hold
ancho pulso
G
D
38 Sistemas Digitales
Profesor Leopoldo Silva Bijit 19-01-2010
Un mejor diseo del latch consiste en eliminar la perturbacin y la posibilidad de carreras
crticas. Esto puede lograrse agregando una compuerta de dos entradas, como se muestra en la
Figura 14.59a.
G
R
D
Q
S
P
Figura 14.59a. Latch sin perturbaciones.
Las ecuaciones se modifican levemente. Se simplifica el anlisis no considerando una variable
de estado adicional a la salida del inversor.
P=G+D; Q=r+s; R=pq; S=GD
La tabla de transiciones resulta ahora:
pqrs GD
00 01 11 10
0000 1000 1000 1001 0000
0001 1100 1100 1101 0100
0011 1100 1100 1101 0100
0010 1100 1100 1101 0100
0110 1100 1100 1101 0100
0111 1100 1100 1101 0100
0101 1100 1100 1101 0100
0100 1000 1000 1001 0000
1100 1010 1010 1011 0010
1101 1110 1110 1111 0110
1111 1110 1110 1111 0110
1110 1110 1110 1111 0110
1010 1100 1100 1101 0100
1011 1100 1100 1101 0100
1001 1100 1100 1101 0100
1000 1000 1000 1001 0000
PQRS
Figura 14.59b. Transiciones latch transparente. Carreras no crticas.
Se producen carreras con GD=11 al pasar las entradas a 10, pero no es crtica. Tambin estando
con GD=10, al cambiar las entradas a 11 se produce una carrera no crtica.
Captulo 14. Mquinas secuenciales asincrnicas 39
Profesor Leopoldo Silva Bijit 19-01-2010
Un latch transparente basado en un latch de NAND se ilustra en la Figura 14.60. Un ejemplo de
stos es el 74LS373.
Enable
D
I Dn
D
R
S
R
Q
QN
S
Figura 14.60. Esquema latch 74LS373.
Su principio de funcionamiento se ilustra a travs de algunas seales:
Figura 14.61. Formas de ondas latch figura 19.60.
En (1) queda en reset.
Se observa entre (2) y (3) que cambios de D con Enable = 0, no generan cambios.
Los cantos de subida y bajada de Enable generan las correspondientes conmutaciones del latch.
Estando Enable = 1, apenas ocurren cambios en la entrada se producen las conmutaciones del
latch que producen salida. En (4) comienza la conmutacin y hasta (5) hay salida "nueva" antes
de la captura del dato con el canto de bajada del Enable. Por esto se denomina transparente a
este latch, permite anticipar la salida del nuevo dato.
Se dice modo captura, ya que al bajar la seal Enable, la salida no puede cambiar.
Registros en base a flip-flops disparados por cantos (por ejemplo: 74LS374) cambian sus salidas
con el canto del reloj, y no anticipan como el latch que se acaba de explicar.
El ancho mnimo del pulso Enable debe ser mayor que S + R. Esto para esperar que hayan
terminado las transiciones de estados internos.
Enable
D
S
R
Q
QN
1 2 3 4 5 transparente
captura
40 Sistemas Digitales
Profesor Leopoldo Silva Bijit 19-01-2010
D no puede cambiar I antes del canto de subida de Enable. De esta forma se generan las
seales S o R, segn corresponda, en forma confiable.
D no puede cambiar D+ S+ R, antes del canto de bajada de Enable, para no cambiar las
entradas mientras ocurren transiciones internas. Equivale a un tiempo de set-up. El tiempo de
hold es 0, pues con el canto de bajada de Enable, S y R quedan en 1, luego de un tiempo
mn( D , Dn).
La Figura 14.61a, muestra un latch activado por cantos de bajada del control G.
Figura 14.61a. Latch transparente negativo.
La Figura 14.61b, muestra un flip-flop de tipo maestro esclavo, implementado con un par de
latchs. El canto de subida del primer latch, deja pasar o muestrea la entrada. Con el canto de
subida del reloj, se toma una muestra de la salida del primer latch (el maestro) que se encuentra
estable, y se la copia al esclavo; capturndola en el canto de bajada, en el segundo latch.
Qm
D
clk
0
1
Qs
clk
1
0
Figura 14.61b. Master Slave basado en latchs
14.11. Anlisis de Multivibrador aestable.
El circuito de la Figura 14.62 opera como un oscilador elemental.
El anlisis comienza identificando las variables de estado: x, y, z. Se identifican X, Y, Z como las
salidas de circuitos combinacionales ideales.
Se tienen: X = (z Init)' ; Y = x' ; Z = y'
La seal Init se ha agregado para dejar en un estado inicial al multivibrador. Esto es importante
para simular en diseo. En un armado de laboratorio, al aplicar la polarizacin, se producir una
oscilacin naturalmente.
Q D
G
0
1
Q D
G
Captulo 14. Mquinas secuenciales asincrnicas 41
Profesor Leopoldo Silva Bijit 19-01-2010
Init Z Y X
y
z
x
Figura 14.62. Oscilador elemental, mediante compuertas.
Puede entonces escribirse la matriz de transiciones:
xyz 0 1
000 111 111
001 111 011
010 110 110
011 110 010
100 101 101
101 101 001
110 100 100
111 100 000
Figura 14.63. Matriz de transiciones, oscilador asincrnico figura 14.62.
Donde se aprecia un solo estado estable (101), con Init = 0. Si Init est en cero, despus de
algn tiempo, no importando cual es el estado inicial, el sistema queda en estado 101.
Cuando llega un canto de subida en Init, se pasa a prximo estado 001 (sin carreras, ya que slo
cambia una variable de estado), debe ir a cero la variable x. Esto se produce despus de x.
Habindose establecido el estado 001, debe efectuarse la transicin a 011, nuevamente sin
carreras y despus de y debe subir a uno la variable y. Y as sucesivamente hasta llegar al
estado 101, donde el ciclo de transiciones inestables vuelve a repetirse.
Init
X,Y,Z
42 Sistemas Digitales
Profesor Leopoldo Silva Bijit 19-01-2010
Figura 14.64. Formas de ondas multivibrador aestable.
Se muestra un perodo de la oscilacin. En el ciclo ocurre tpHL y tpLH para cada compuerta. Si
las compuertas son iguales, el perodo resulta: T = 3 ( tpHL + tpLH) .
Similares comportamientos tienen un nmero impar de inversores, donde la salida del ltimo es
la entrada del primero. En el caso de desear simular el circuito, es preciso colocar una seal de
Init, de tal modo de, despus de algunos ticks, llevar todas las salidas a valores lgicos estables.
Los flip-flops se clasifican como multivibradores biestables.
14.12. Multivibrador monoestable.
Este dispositivo permite generar un pulso de ancho programable. Se suele emplear para generar
temporizadores, que desencadenen eventos despus de un tiempo dado.
Consisten en incorporar un retardo, generalmente mayor que el de propagacin, pudiendo ser el
ancho del pulso generado del orden de los microsegundos. (ver circuito 74LS123).
El siguiente circuito ilustra un diseo posible:
S
R
Q'
Q
Figura 14.65. Multivibrador monoestable.
Con la seal R se inicia el multivibrador. La componente que genera el retardo, suele ser una red
RC, que se intercala despus del inversor (y en forma externa al chip). Para fines de simulacin
se agrand el tiempo de propagacin del inversor.
Se obtienen las siguientes formas de ondas:
Init
Z
Y
X
Captulo 14. Mquinas secuenciales asincrnicas 43
Profesor Leopoldo Silva Bijit 19-01-2010
Figura 14.66. Formas de ondas para figura 14.65.
La orden para iniciar la medicin de tiempo es el canto de subida de R.
Cuando ocurre un canto de subida en R (1) comienza una conmutacin del latch de NOR.
Despus que ocurre el canto de bajada de Q, pasa el tiempo del retardo hasta que S sube (2).
Cuando S sube deja Q' en cero.
El tiempo que el multivibrador genera es la seal Q'. Este tiempo se muestra entre los
marcadores (3) y (4), el evento que dispara al multivibrador es el canto de subida de R.
Para operar correctamente debe reponerse a cero la seal R.
Algunos multivibradores son redisparables, esto implica que si existen pulsos en R, mientras se
est generando la banda de tiempo, que es propia del multivibrador (entre (3) y (4)), vuelve a
comenzar la medicin del tiempo. Los no redisparables, imponen que hasta que Q' no haya
bajado, no tienen efectos los pulsos en R.
El anlisis anterior est basado en usar los conceptos del latch. Sin embargo, puede efectuarse
un anlisis asincrnico, como se ver a continuacin.
Anlisis:
Si se denomina Y a la salida del inversor; se tendr una nueva variable de estado, se tendrn:
Q+ = (R+qn)' ; Qn+ = (S+q)' ; Y = q' ; S = y
Eliminando la variable interna S, se logra:
Q+ = R' qn'; Qn+ = y' q' ; Y = q'
Con la siguiente tabla de transiciones:
S
R
Q'
Q
1 2 3 4 Disparo
44 Sistemas Digitales
Profesor Leopoldo Silva Bijit 19-01-2010
R
q qn y 0 1
000 111 011
001 101 001
010 011 011
011 001 001
100 100 000
101 100 000
110 000 000
111 000 000
Q+, Qn+, Y
Figura 14.67. Tabla de transiciones de Figura 14.65.
Con estado inicial 100, y entrada R = 0. El canto de subida inicia la transicin a 000 sin
carreras. Luego del retardo R pasa a estado inestable 000, el que inicia otra transicin; esta
vez con carreras de las variables qn e y. En el caso del multivibrador, se asume Y mucho
mayor que S. Debido a esto llega primero al estado 010, el cual sostiene la transicin de y que
an est en curso; llegando finalmente despus de Y (a partir del canto de bajada de q) al
estado, tambin inestable: 011.
Lo cual excita a la variable qn que baja a cero despus de S. Lo cual lleva al estado estable
001. Finalizando el ciclo del monoestable.
La entrada es R, la salida es qn. En R se aplica un canto de subida, y se inicia una ventana de
tiempo, de largo Y, en qn.
El armado del multivibrador consiste en reponer la entrada R a cero, lo cual despus de algunas
transiciones coloca a la mquina en estado 100. Y puede volver a emplearse el temporizador,
para ello, debe esperarse un tiempo algo mayor que Y.
Un circuito ms sencillo es el siguiente:
Figura 14.68. Otro esquema para multivibrador monoestable.
R
Q
Captulo 14. Mquinas secuenciales asincrnicas 45
Profesor Leopoldo Silva Bijit 19-01-2010
14.13. Carreras.
El cambio de dos o ms variables de estado se denomina carrera; los cambios dentro de una
columna de la tabla de transiciones se propagan por vas alternativas. Los cambios de dos o ms
seales a travs de redes combinacionales; dependiendo de la duracin de los retardos de
propagacin, ocasionan diferentes transiciones a travs de estados inestables. Si finalmente se
llega a un mismo estado estable, se dice que la carrera no es crtica; en caso contrario se tiene
una carrera crtica, lo cual introduce incertidumbre. En algunos casos esto puede evitarse
efectuando una asignacin binaria de los estados que est libre de carreras; en otros pueden
agregarse estados intermedios que den confiabilidad al diseo.
Si una red asincrnica tiene mltiples entradas, pueden ocurrir carreras entre stas. En estos
casos, para realizar el anlisis, se requiere restringir los cambios de las entradas. No se aceptan
cambios de las entradas cuando estn ocurriendo transiciones de estados, y adems deben tener
una mnima separacin temporal, de tal modo que se logre determinar con certeza los cambios
de estado.
14.13.1. Carrera no crtica.
La siguiente red tiene carreras no crticas.
a
b
x
r
d
c
Figura 14.69. Carrera no crtica.
Considerando un retardo individual para cada compuerta se tienen cuatro variables de estado.
a+ = d + b; b+ = x + c; c+ = ba; d+ = xa
A partir de las ecuaciones se desarrolla la tabla de transiciones, se marcan en sta los estados
estables. Se tienen los estados estables: 0000 y 1100, uno en cada columna. Se observa que
estando en el estado estable 0000, al cambiar la entrada x a uno, se excitan cambios en b y d, lo
cual implica una carrera entre esas variables.
46 Sistemas Digitales
Profesor Leopoldo Silva Bijit 19-01-2010
x
abcd 0 1
0000 0000 0101
0001 1000 1101
0010 0100 0101
0011 1100 1101
0100 1010 1111
0101 1010 1111
0110 1110 1111
0111 1110 1111
1000 0000 0100
1001 1000 1100
1010 0100 0100
1011 1100 1100
1100 1000 1100
1101 1000 1100
1110 1100 1100
1111 1100 1100
a+b+c+d+
Figura 14.70. Tabla de transiciones. Carrera no crtica.
En la Figura 14.69 se ha agregado la seal r que permite dejar en cero la seal c, y a su vez dejar
en cero la salida b, cuando x=0. De este modo, con x=0 y r=0 puede dejarse, al sistema en
estado 0000.
El siguiente mdulo permite simular las transiciones. Se simula primero una propagacin lenta
de la seal que genera b.
module ej(x, r, a, b, c, d);
input x, r;
output a, b, c, d;
wire ap;
or #2 G2 (a, d, b);
or #5 G4 (b, c, x); //b se propaga ms lentamente que d
and #2 G1 (d, x, ap);
and #2 G3 (c, b, ap, r);
not #1 G5 (ap, a);
endmodule
Con orden para el estado dado por (a, b, c, d) se tienen las siguientes transiciones: 0000, 0001,
1001, 1101, 1100, con los retardos asignados a cada compuerta, que se muestran en el mdulo
anterior. En la simulacin, luego del reset se tiene un tiempo hasta quedar en estado inicial
0000.
Captulo 14. Mquinas secuenciales asincrnicas 47
Profesor Leopoldo Silva Bijit 19-01-2010
Figura 14.71. Transiciones. Carrera no crtica, gana d.
Con los retardos del mdulo que se muestra a continuacin, d se propaga ms lento que b, se
tienen las siguientes transiciones: 0000, 0100, 1110, 1111, 1101, 1100.
module ej(x, r, a, b, c, d);
input x, r;
output a, b, c, d;
wire ap;
or #2 G2 (a, d, b);
or #2 G4 (b, c, x);
and #5 G1 (d, x, ap); //d se propaga ms lentamente
and #2 G3 (c, b, ap, r);
not #1 G5 (ap, a);
endmodule
Figura 14.72. Transiciones. Carrera no crtica, gana b.
En ambas situaciones se llega finalmente al estado estable: 1100, mostrando que la carrera no es
crtica.
Cuando se baja x a cero, se retorna al estado 0000, sin carreras. Se pasa de 1100 a 1000,
cambiando slo b, y luego a 0000 cambiando a.
48 Sistemas Digitales
Profesor Leopoldo Silva Bijit 19-01-2010
14.13.2. Carrera crtica.
La siguiente matriz de transiciones ilustra una carrera crtica. Se tienen tres estados estables: 00
en la columna con x=0, y dos estados estables en la columna con x=1: 11 y 10. Se tienen las
ecuaciones: a+ = ax + bx; b+ = abx + abx.
x
ab 0 1
00 00 01
01 00 10
11 00 11
10 00 10
a+b+
Figura 14.73. Carrera crtica.
Cuando x es cero, se tiene el estado estable 00, no es necesaria ahora una seal de reset. Cuando
x pasa a 1, despus del retardo de propagacin de la seal b, se pasa al estado inestable 01, en
este estado inestable se excitan cambios simultneos en a y b, generndose una carrera.
El siguiente mdulo genera, mediante compuertas, las ecuaciones anteriores. Se ha elegido un
retardo mayor para la generacin de la seal b.
module ej(x, a, b, c, d, e, f);
input x;
output a, b, c, d, e, f;
wire ap, bp;
not #1 G1 (ap, a);
not #1 G2 (bp, b);
and #2 G3 (c, a, b, x);
and #2 G4 (d, ap, bp, x);
or #6 G5 (b, d, c); //Si b ms lento => llega a estado 11
and #3 G6 (e, a, x);
and #3 G7 (f, b, x);
or #2 G8 (a, e, f); //Cambiado este retardo con a ms lento => llega a estado 10
endmodule
Captulo 14. Mquinas secuenciales asincrnicas 49
Profesor Leopoldo Silva Bijit 19-01-2010
Figura 14.74. Carrera crtica. Llegando a 11.
Cambiando el retardo de G5 a 2, y el de G8 a 6, se obtienen:
Figura 14.75. Carrera crtica. Llegando a 10.
Las carreras pueden evitarse con una adecuada asignacin de estados. Si en la tabla de
transiciones de la Figura 14.73, se reemplazan los cdigos binarios por smbolos se obtiene:
x
ab 0 1
A A B
B A D
C A C
D A D
a+b+
Figura 14.76. Transiciones simblicas.
Luego de cada estado estable se marcan las transiciones en un diagrama de transiciones entre
estados, cuando se cambia slo una de las entradas. Estando en estado estable A, con entrada
x=0, se cambia x a 1, desde A se pasa a B, y de B al estable D. Del estado estable C, cuando x
50 Sistemas Digitales
Profesor Leopoldo Silva Bijit 19-01-2010
pasa de 1 a 0, se tiene transicin al estado A. Del estado estable D, cuando x pasa de 1 a 0, se
tiene transicin al estado A.
A
B
D
C
Figura 14.77. Transiciones entre estados.
No se producirn carreras si los estados adyacentes tienen codificaciones binarias a distancia
uno. En el caso de la Figura 14.77, no es posible asignar los tres estados A, B y D, que forman
un tringulo, de tal modo que cumplan lo anterior. Es preciso agregar estados intermedios, una
solucin se muestra en la Figura 14.78, agregando el estado E.
A
B
D
C
E
Figura 14.78. Estados intermedios.
La tabla de transiciones agregando c, una variable de estado adicional, ya que ahora se tienen
ms de 4 estados:
x
abc 0 1
A A B
B A D
C A C
D E D
E A -
a+b+c+
Figura 14.79. Transiciones simblicas.
Asignando estados binarios de tal modo que estn a distancia uno: A con B; B con D; D con E;
A con E; y finalmente C con A, se obtiene:
Captulo 14. Mquinas secuenciales asincrnicas 51
Profesor Leopoldo Silva Bijit 19-01-2010
x
abc 0 1
000 000 001
001 000 011
100 000 100
011 010 011
010 000 -
a+b+c+
Figura 14.80. Transiciones libres de carreras.
Se obtienen, para el diseo de la red asincrnica libre de carreras:
a+ = ax; b+ = bc + cx; c+ = ax.
14.14. Diseo de sistema asincrnico basado en diagrama de flujo.
Se desea disear un sistema asincrnico que produzca en las salidas, en forma alternada un
pulso de reloj.
Distribuidor clk
f1
f2
Figura 14.81. Generacin de fases de reloj.
clk
f1
f2
Figura 14.82. Formas de ondas de fases de reloj.
Se identifican los estados estables, como los intervalos en los cuales no se producen
transiciones. Se tienen cuatro estados, que se han identificado con las letras A, B, C y D.
clk
f1
f2
A B C D A
Figura 14.83. Estados estables y transiciones.
52 Sistemas Digitales
Profesor Leopoldo Silva Bijit 19-01-2010
Se resume la informacin anterior en una tabla de flujo de las transiciones. Se destacan los
estados estables, y se asocian las salidas al estado actual.
clk
Presente 0 1 f1f2
A A B 00
B C B 10
C C D 00
D A D 01
Prximo
Figura 14.84. Tabla de flujo de transiciones.
Se describen las transiciones entre estados, mediante un diagrama de transiciones. Se anotan las
transiciones, desde un estado estable a otro, cuando se cambia una de las entradas. Los estados
entre los cuales existe una transicin deben codificarse adyacentes, es decir a distancia uno. De
esta manera al producirse la transicin slo se excitar una variable de estado, y no se
producirn carreras.
A
B
C
D
Figura 14.85. Diagrama de transiciones.
En este caso bastan 4 estados.
Cdigo binario
Estado ab
A 00
B 10
C 11
D 01
Figura 14.86. Codificacin libre de carreras.
Con la codificacin binaria, se escribe la tabla de transiciones, en trminos de las variables de
estado: a y b.
Captulo 14. Mquinas secuenciales asincrnicas 53
Profesor Leopoldo Silva Bijit 19-01-2010
clk
ab 0 1 f1f2
00 00 10 00
10 11 10 10
11 11 01 00
01 00 01 01
a+b+
Figura 14.87. Tabla de transiciones.
Se disean las redes combinacionales libres de perturbaciones, para esto se cubren implicantes
adyacentes con trminos de consenso.
a+ = a clk + b clk + ab b+ = a clk + b clk + ab f1 = ab f2 = ab
14.15. Diseo de sistema asincrnico basado en diagrama de estados.
Disear un contador binario asincrnico ascendente, mdulo 3, en base a compuertas (sin
emplear flip-flops), el diseo debe estar libre de perturbaciones y carreras. Con z1 la cifra ms
significativa y z0 la menos significativa. Se cuentan los cantos de subida de la seal de entrada
x. Asignar estado con puros ceros a aqul en que se encuentra la mquina cuando la entrada
est baja y la cuenta es cero.
a) Determinar diagrama de estados.
b) Asignacin de estados libres de carreras
c) Expresar el diseo mediante ecuaciones, indicando cmo elimina las posibles perturbaciones.
Un diagrama de estados, modelo de Moore, de un contador asincrnico mdulo 3 se ilustra en la
Figura14.88. La transicin entre estados se produce en los cantos de subida y bajada de la seal
de entrada x. Se requieren 6 estados, lo cual implica tres variables de estado, sean stas: q2, q1 y
q0.
A
B
F 1
0
0
1 1
C
0
E
1 D
0
1
1
0
0
00
01
01 10
10
00
Figura 14.88. Diagrama de estados contador mdulo 3.
54 Sistemas Digitales
Profesor Leopoldo Silva Bijit 19-01-2010
La asignacin de estados se efecta de tal modo que los estados adyacentes en la Figura 14.88
estn a distancia 1, la asignacin se muestra en la Figura 14.89. Se elige arbitrariamente que el
estado A est asociado al cdigo 000.
q0
q2q1
00 01
0
1
A F
B C
11 10
E
D
Figura 14.89. Asignacin de estados sin carreras.
Con la asignacin de la Figura 14.89, se construye la tabla de transiciones de la Figura 14.90,
donde se han marcado los estados estables, y se agrega la funcin de salida en las variables z1 y
z0.
x
q2q1q0 0 1
A 000 000 001 00
B 001 011 001 01
C 011 011 111 01
D 111 110 111 10
E 110 110 010 10
F 010 000 010 00
- 101
- 100
q2+q1+q0+ z1z0
Figura 14.90. Tabla de transiciones contador mdulo 3.
Mediante un mapa del prximo estado, que se muestra en la Figura 14.91, se efecta la
minimizacin considerando las condiciones superfluas y de tal modo que no se produzcan
perturbaciones.
Captulo 14. Mquinas secuenciales asincrnicas 55
Profesor Leopoldo Silva Bijit 19-01-2010
q1q0
xq2
00 01
00
01
000 ---
011 ---
11 10
--- 001
--- 001
11
10
011 110
000 110
111 111
010 010
q2+q1+q0+
Figura 14.91. Minimizacin empleando condiciones superfluas.
Las funciones de prximo estado, resultan:
q2+ = xq2 + x q1q0 + q2q0 q1+ =q2 + xq0 + xq1 + q1q0 q0+ = q2q0 + xq1 + xq0
El trmino q2q0 en q2+, cubre los implicantes anteriores, cuando ocurre un evento en la
entrada. En la funcin para q1+, se emplea el trmino q1q0 para eliminar perturbaciones,
cubriendo implicantes adyacentes.
Mediante el mapa de las funciones de salida, de la Figura 14.92, se obtienen:
z1 = q2
z0 = q2q0
q0
q2q1
00 01
0
1
00 00
01 01
11 10
10
10
z1z0
Figura 14.92. Minimizacin de salidas.
56 Sistemas Digitales
Profesor Leopoldo Silva Bijit 19-01-2010
Solucin alternativa.
La asignacin de estados puede realizarse de mltiples maneras. Se muestra a continuacin una
alternativa de diseo, que ilustra la tcnica de emplear estados internos inestables, para evitar
carreras.
La asignacin de estados se efecta empleando cdigo Gray, de tal modo que los estados
adyacentes en la Figura 14.93, estn a distancia 1. Se elige que el estado A est asociado al
cdigo 000; en el ejemplo, F queda con cdigo binario 111, y debe pasar al estado A; esto
implica cambio de tres variables. Se emplean los estados inestables G y H para transitar sin
carreras desde estado F hasta el estado A.
La Figura 14.93 muestra un diagrama de estados para el contador asincrnico mdulo 3.
1
H
A
B
F 0
1
1
0 0
C
1
E
0 D
1
0
0
1
1
G 1
00
00
01 01
10
10
00 00
Figura 14.93. Diagrama de estados contador mdulo 3.
El mtodo de emplear estados inestables, se visualiza mejor en la tabla de transiciones de la
Figura 14.94, la cual muestra que estando en F, al llegar un canto de subida, se pasa por la
secuencia de estados: 111, 101, 100, 000. En cada transicin solo cambia una variable interna;
y los desplazamientos son dentro de la columna con x igual a 1.
Se dejan dos estados prximos sin especificar: estando en G con entrada 0, y estando en H con
entrada 0, que pueden emplearse como condiciones superfluas.
Captulo 14. Mquinas secuenciales asincrnicas 57
Profesor Leopoldo Silva Bijit 19-01-2010
x
q2q1q0 0 1
A 000 001 000 00
B 001 001 011 00
C 011 010 011 01
D 010 010 110 01
E 110 111 110 10
F 111 111 101 10
G 101 - 100 00
H 100 - 000 00
q2+q1+q0+ z1z0
Figura 14.94. Tabla de transiciones contador mdulo 3.
La Figura 14.95 muestra un mapa del prximo estado, construido a partir de la tabla de la Figura
14.94. Minimizando las funciones de prximo estado, libres de perturbaciones, se obtienen:
q2+ = xq1q0 + q2q1 + q2q0 q1+ = xq2q0 + q1q0+ xq1 + q2q1 q0+ = q2q1q0+ q2'q1'q0 + xq2'q0 + x'q1' + x'q2 + xq1q0
Con lgica de mayor costo que el diseo anterior.
q1q0
xq2
00 01
00
01
001 ---
001 ---
11 10
000 000
100 011
11
10
010 111
010 111
101 011
110 110
q2+q1+q0+
Figura 14.95. Mapa de prximos estados de contador mdulo 3.
Las funciones de salida, se representan en el mapa de la Figura 14.96, a partir de la tabla de la
Figura 14.94.
58 Sistemas Digitales
Profesor Leopoldo Silva Bijit 19-01-2010
q0
q2q1
00 01
0
1
00 01
00 01
11 10
10 00
10 00
z1z0
Figura 14.96. Mapa de funciones de salida de contador mdulo 3.
Se obtienen:
z1 = q2q1; z0 = q2q1
La Figura 14.97 muestra las formas de ondas de los cambios de estado relativas a los pulsos
asincrnicos de la entrada x. Se han enumerado los diferentes cambios de las seales, x y q0, en
un perodo.
2 x
q2
q1
1 3
1 2 q0
z1
z0
C D E F G B H A
Figura 14.97. Relaciones causa-efecto contador mdulo 3.
Captulo 14. Mquinas secuenciales asincrnicas 59
Profesor Leopoldo Silva Bijit 19-01-2010
Problemas resueltos.
Problema 14.1.
Para el siguiente circuito secuencial asincrnico:
Figura P14.1.
Determinar:
a) Matriz de transiciones y estados estables.
b) Dibujar las formas de ondas de q y qn (estado actual), relativas a X e Y, asumiendo retardos
x y y para las compuertas.
c) Indicar las restricciones de T1 y T2, respecto a los retardos de las compuertas para tener
modo fundamental de operacin. Indicar el tipo de transicin, si hay o no carreras, perodos de
oscilacin si los hubiera.
Figura P14.2.
Solucin.
a) Q = (Xqn) = X + qn; Qn = Y + q
T1 T2
Y
Top Related