máquinas secuenciales asincrónicas - elo.utfsm.cllsb/elo211/clases/c14.pdf · se estudiarán...
Post on 28-Sep-2018
247 Views
Preview:
TRANSCRIPT
1
Profesor Leopoldo Silva Bijit 19-01-2010
Capítulo 14
Máquinas secuenciales asincrónicas.
Se estudiarán algunos circuitos asincrónicos simples que son la base para construir los
diferentes tipos de flip-flops; mostrando las técnicas para lograr la sincronización mediante una
señal 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 técnicas de diseño asincrónico basadas en diagramas de flujo y de estado.
14.1 Bases electrónicas para almacenar bits.
Puede almacenarse un nivel lógico 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 dieléctrico ideal) se requiere refrescar la carga cada cierto
tiempo. Es la configuración que se emplea como base de las memorias dinámicas (DRAM).
Figura 14.1 Almacenamiento en memorias dinámicas.
Para mantener el almacenamiento de un bit en forma permanente (mientras se tenga fuentes
aplicadas) se emplea la siguiente configuración:
Figura 14.2 Almacenamiento estático.
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 estático. La siguiente configuración ilustra que se requieren
cuatro transistores para almacenar un bit (dos por cada inversor), por esta razón las memorias
estáticas SRAM son de mayor costo que las dinámicas.
VDD
Vout2 Vin1 Vout1
Vin2
Figura 14.3 Inversores CMOS realimentados.
La característica de transferencia de los dos inversores en cascada se muestra junto a la recta
que debe satisfacerse por la restricción que impone la conexión de la realimentación. 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 lógicos.
Una pequeña diferencia entre la recta y la curva, en torno al punto inestable, llevan rápidamente
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 pequeñas 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 características
de transferencia de cada transistor, en un solo par de ejes coordenados.
Capítulo 14. Máquinas secuenciales asincrónicas 3
Profesor Leopoldo Silva Bijit 19-01-2010
Vin1
Vout1
Vout2
Vin2
Figura 14.3b. Características de transferencia individuales.
La probabilidad de que en una transición 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 saturación, 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 sólo circula por el condensador, como se ilustra en la siguiente figura:
Con Vin(0) diferente de cero.
Figura 14.4 Análisis metaestabilidad.
Cuya solución es: Vin(t) = Vin(0) e t/
con = RC/(A-1). Además, en general Vout será mayor
que Vin, debido a la amplificación. Por esta razón si el voltaje de entrada aumenta, también lo
hará el de salida y se tendrá que después de un tiempo la tensión de salida satura al
amplificador.
A pesar que el circuito tiene realimentación positiva podría suceder que una determinada
conmutación 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 condición 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 distribución de probabilidad uniforme entre 0 y V. Puede
imaginarse un gran número de experimentos, algunos de ellos comenzarán 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 fracción del
tiempo; esto contempla que no todo el tiempo se están efectuando transiciones. Sea f la fracción
del período del reloj durante la cual el voltaje de entrada esté sufriendo una transición. f se
expresa como el cuociente de lo que dura una transición, dividido por el intervalo entre
transiciones, y es la probabilidad que el voltaje de entrada esté efectuando una transición.
Entonces la probabilidad que en una transición, no se llegue a estado estable en un tiempo T,
queda dada por: p(transición 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 año, en que no se alcance el estado estable en T, podremos calcular
el tiempo T. Se asume 100*106 cambios por segundo (sólo cantos de subida o de bajada), en
un año se tendrán: 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
años. 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 estática, lo que resta es un
método para almacenar valores lógicos en la celda:
El siguiente esquema ilustra la forma de hacer llegar valores y guardarlos en una celda estática.
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 denominación de las
entradas se explicará más adelante.
dato
grabar
cargar
valor almacenado
Capítulo 14. Máquinas secuenciales asincrónicas 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 estáticas de 1 bit,
o latchs.
Figura 14.7 Valores estáticos almacenados.
14.2. Latch asincrónico S-R. (Latch de NAND)
14.2.1. Esquemático.
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 señal
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 propagación, 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 producirán
simultáneamente los cambios en las salidas Q o Qn, ya que se asume que estas compuertas no
tienen retardo.
El próximo valor que toma q, después de S, será el valor de Q. Dicho de otra forma: el valor
presente de Q será el próximo valor que tome q. Análogamente para Qn.
Analíticamente:
Q(t) = q(t + S)
Qn(t) = qn(t + R)
Se tienen: q(t) = Q(t - S)
qn(t) = Qn(t - R)
Gráficamente:
Q(t)
to t
q(t)
to t
S
Figura 14.9 Valores presente y próximo, en el tiempo.
Denominaremos:
estado presente al conjunto: {q, qn}
estado próximo al conjunto: {Q, Qn}
Salida al estado presente (máquina de Moore).
Debido a que, como se verá, los eventos que inician los cambios están asociados a los cantos de
bajada de las señales de entrada, se las denomina S´ y R´, siguiendo el convenio general para
identificar a señales de lógica negativa.
En el esquema general de máquina 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.
Capítulo 14. Máquinas secuenciales asincrónicas 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.
Representándolas 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 información para analizar el
latch. Se denomina de excitaciones, notando que las columnas describen las señales de entrada o
estímulos. Matriz de transiciones hace referencia al hecho de que el contenido de cada columna
muestra las transiciones al estado próximo.
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 próximo estado es igual al
estado presente, se dice que ese estado es estable. En caso contrario, se produce una transición
o cambio de estado.
Suelen encerrarse, con círculos, 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 simultáneamente.
14.2.5. Modo fundamental de operación.
Para simplificar el análisis se define un modo fundamental de operación. En el cual, las
entradas pueden cambiarse sólo cuando se está en estado estable; y sólo un cambio de una
entrada por vez. Otra forma de plantearlo es que los cambios ocurran con una separación
mínima en el tiempo; pero no concurrentes.
Si el próximo estado es inestable ocurre una transición, o cambio de estado.
Si dos o más variables de estado deben cambiar, se dice que se produce una “carrera”.
Se denomina “ciclo” a la ocurrencia de una secuencia de dos o más 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 crítica. Si se llega a
estados estables diferentes es una carrera crítica.
Si nunca se llega a estados estables, se denomina oscilación.
14.2.6. Diagrama de estados.
La información de la matriz de transiciones puede verse también 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
Capítulo 14. Máquinas secuenciales asincrónicas 9
Profesor Leopoldo Silva Bijit 19-01-2010
14.2.7. Secuencias de interés
Con la condición S'+R'=1, el sistema sólo 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 negación lógica de q.
a) Transición 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
Después de R más 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 están produciendo cambios en el estado interno; es
decir cuando están cambiando las señales 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'. Sólo responde al primer canto de bajada en R', estando en set.
b) Transición 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, después 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.
Análisis del estado 11 en latch S-R
Con entradas S'=0 y R'=0, después 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 simultáneamente 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
Capítulo 14. Máquinas secuenciales asincrónicas 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 simultáneo: 00, 11
Se produce oscilación.
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 más lenta. En cualquier caso se llega a un estado
inestable en que ambas variables de estado vuelven a excitarse, generando una oscilación.
En los casos c1 y c2 (con tiempo entre cantos de subida menores que los retardos) también 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 condición S'+R'=1. (Es
decir, que ambas entradas no estén simultáneamente en cero). Además, en estas circunstancias
(caso c), el latch cambia con cantos de subida.
Normalmente se ocupan 8 de los 16 casilleros de la matriz de transición. Las transiciones de set
a reset y viceversa que se analizaron antes.
14.2.8. Funcionamiento restringido.
Si se cumple la condición 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 término sólo interviene cuando q = 1, qn = 0, S' = 1 y R' =0; pero esta situación es
transitoria, en forma estable queda q = 0 y qn = 1, por esta razón puede no considerarse al
plantear la ecuación del próximo estado. De este modo resulta, usando notación 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.
Nótese que también 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 ecuación característica, pueden obtenerse conceptualmente a través del
funcionamiento normal del circuito, sin usar la matriz de transiciones.
La ecuación característica puede plantearse según:
Q(k+1) = S(k) + R'(k)Q(k)
Nótese que esta expresión 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 característica, para el latch SR, pueden plantearse:
Figura 14.19. Tabla característica 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 ?
Capítulo 14. Máquinas secuenciales asincrónicas 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 indeterminación.
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' están en uno lógico, un pulso de corta duración en una de las entradas
produce el correspondiente cambio de estado. La duración del pulso debe ser mayor que el
retardo de ambas compuertas. El evento que inicia la conmutación 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. Análisis simplificado.
Puede inferirse el funcionamiento del latch de NAND, mediante un análisis 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 Análisis con un retardo.
Se tiene para el próximo estado, asumiendo ambas compuertas ideales, que:
Q + = ((R' q)' S')' = S + R' q
Nótese 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 continuación:
Figura 14.24. Diagrama de estados simplificado.
Sin embargo esta simplificación no muestra los problemas del estado 11, y los riesgos de
oscilación 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 sólo un retardo de propagación, en
el cual sólo puede observarse Q. Puede restringirse la columna 00, y colocar próximos 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
Capítulo 14. Máquinas secuenciales asincrónicas 15
Profesor Leopoldo Silva Bijit 19-01-2010
14.2.10. Simulación de circuitos asincrónicos.
La simulación 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 líneas, se verán todas no iniciadas o en tercer
estado, esto en el simulador. Si se hiciera correr la simulación, mostraría una oscilación 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
simulación 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 simulación.
Si se generaran pequeños pulsos en S, mediante V2, no se producen cambios de estado.
Un pulso en R, inicia el cambio de estado (2). La simulación muestra los retardos entre las
señales que conmutan. Posteriores pulsos en R, no modifican el estado. No importa la duración
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 duración de estos pulsos (4).
Estando en set, un pulso angosto de reset (5), en el caso de la figura de un tic, que también es la
propagación de una compuerta, confunden al simulador y se inicia una oscilación. Sucede que
Init
Qn
Q
R'
S'
1 2 3 4 5
16 Sistemas Digitales
Profesor Leopoldo Silva Bijit 19-01-2010
se efectúa 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 condición para trabajar en modo
fundamental de operación.
Las siguientes formas de ondas ilustran el funcionamiento no deseado del latch:
Figura 14.27. Oscilación 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 habría cambio de
estado con canto de bajada y también de subida, lo cual no es deseable.
Un cambio simultáneo de ambas entradas a uno (3), produce oscilación.
14.2 Elimina rebotes (debounce)
Una aplicación común del latch de NAND es eliminar los rebotes mecánicos 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 lógico en las entradas al aire. Se emplea un
interruptor de dos posiciones. Se denomina SPDT (polo simple, doble garganta), es decir existe
un punto común, por donde se ingresa la señal, 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
Capítulo 14. Máquinas secuenciales asincrónicas 17
Profesor Leopoldo Silva Bijit 19-01-2010
Al operar el interruptor se produce un movimiento mecánico que impactará al conector en la
otra posición. En forma microscópica, y debido a choques semi-elásticos, se producen rebotes.
Pueden ser varios rebotes, el proceso mecánico termina después de 5 mseg aproximadamente.
El contacto móvil 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 pequeños 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 propagación a través 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 múltiples 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 están libres de rebotes.
Este elimina rebotes requiere un interruptor de tres terminales, que suele denominarse SPDT.
Existen otros diseños, basados en interruptores de dos terminales (SPST simple polo, simple
throat), que pueden conectar o desconectar dos puntos.
14.3 Sincronización de un S-R
El esquema siguiente ilustra cómo se agrega un reloj a un latch SR, en base a NAND.
Mientras enable esté bajo, las señales S' y R' estarán en uno, por lo que cumplen las condiciones
para funcionamiento normal del latch.
Se ilustran señales de preset' y clear', de lógica negativa, que permiten dejar en un estado inicial
al latch. Su operación sobrepasa a las excitaciones S' y R', en este sentido se dicen que son
asincrónicas con ellas, apenas ocurra un canto de bajada en estas señales, el latch permanecerá
en un estado determinado hasta liberar el control asincrónico, llevándolo a uno. Al igual que con
las señales R’ y S’, debe evitarse mantener preset’ y clear’ en cero al mismo tiempo.
Figura 14.29. Sincronización. Empleo de señal 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'.
También puede pensarse que enable es una señal de reloj, que sincroniza al latch. En esta
situación, 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 después de un tiempo de propagación, ocurre el
canto de bajada en S' o R'. Lo cual implica que para funcionamiento determinístico, no pueden
estar altas ambas entradas externas. Si se cumplen estas condiciones, sólo podrá existir un canto
de bajada en S' o R', garantizando la operación del latch SR.
Se ilustran las formas de ondas para un funcionamiento normal:
clk
Set
S'
Figura 14.30 Funcionamiento normal.
La señal S’ es sincrónica con clk; Set es asincrónica con respecto a clk.
14.4. Latch asincrónico S-R. (Latch de NOR)
14.4.1. Esquemático.
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 propagación, mediante
componentes externas, ubicadas en el lazo de realimentación.
Apenas ocurran cambios en las entradas R, S, q y qn se producirán simultáneamente los cambios
en las salidas Q o Qn, estas compuertas no tienen retardo.
Capítulo 14. Máquinas secuenciales asincrónicas 19
Profesor Leopoldo Silva Bijit 19-01-2010
14.4.2. Variables.
Denominaremos:
estado presente al conjunto: {q, qn}
estado próximo al conjunto: {Q, Qn}
Salida al estado presente (máquina 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 simultáneamente.
14.4.5. Diagrama de estados.
La información de la matriz de transiciones puede verse también 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 condición SR=0, el sistema sólo 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 interés.
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 negación lógica de q.
La figura ilustra algunas secuencias:
Figura 14.34. Secuencias de interés 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
Capítulo 14. Máquinas secuenciales asincrónicas 21
Profesor Leopoldo Silva Bijit 19-01-2010
En esta situación un canto de bajada (2) también conmuta el latch. No es deseable tener
conmutaciones con cantos de subida y de bajada.
Luego se vuelve a condiciones normales de operación, ambas excitaciones en cero, y se tiene
una conmutación normal a set, en (3).
Estando en estado 00, un cambio simultáneo de las entradas a cero, produce una oscilación (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 operación normal, se indica a continuación:
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 mintérmino 8, que cubre la expresión que contiene qn', ocurre sólo durante la transición. En
estado estacionario se tiene qn = 0, por lo tanto, la ecuación característica puede plantearse
según:
Q(k+1) = S(k) + R'(k)Q(k)
La tabla característica, 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 característica, 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 indeterminación.
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 están en cero lógico, un pulso de corta duración en una de las entradas
produce el correspondiente cambio de estado. La duración del pulso debe ser mayor que el
retardo de ambas compuertas. Ambas entradas no pueden estar altas. El evento que inicia la
conmutación es el canto de subida. Este latch recuerda la última entrada que tuvo un canto de
subida.
14.4.9. Análisis simplificado, con un retardo.
Puede inferirse el funcionamiento del latch de NOR, mediante un análisis simplificado, éste
consiste en asumir una sola variable de estado:
Se tiene: Q += ((S +q)' + R )'
Entonces: Q+ = R’( S + Q) que es la ecuación característica. 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
Capítulo 14. Máquinas secuenciales asincrónicas 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 diseño de este tipo en el chip 7475.
14.9.10. Latch positivo D
La señal 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 actúa
como reloj, está en nivel alto. Cuando G está en nivel cero, el latch mantiene el estado
almacenado. Se dice también 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. Diseño de latch JK en base a Latch de NOR
Diseño de JK en base a SR:
Se tiene la tabla de transiciones de un JK. Que es la matriz que se desea diseñar.
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 método 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
Capítulo 14. Máquinas secuenciales asincrónicas 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 excitación R; lo cual
hace cambiar a Q y luego a Q'. El cambio de Q también 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 conmutación 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 sólo 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. Diseño de un flip-flop JK sincrónico.
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. Sincronización de flip-flop JK
Este diseño tiene restricciones del ancho de pulso del reloj. Como puede comprobarse esta
restricción se produce en el modo toggle; es decir con J y K iguales a uno. Para el análisis se
asume que el flip-flop está en modo reset.
Cuando el reloj sube, habilita la excitación S, después de J. A su vez este cambio desencadena
la conmutación del latch, bajando Q' después de S, y luego subiendo Q después de R. Al
mismo tiempo que se levanta Q, se inicia la propagación, a través de la compuerta habilitada por
K y el reloj de un canto de subida en R, lo cual ocurre después de K. Si se llega a producir la
excitación 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 conmutación JK.
clk
S
Q
Q'
R
J S
R K
ancho máximo del reloj.
clk
J
K
S
R Q
Q'
J S
R K
Capítulo 14. Máquinas secuenciales asincrónicas 27
Profesor Leopoldo Silva Bijit 19-01-2010
El problema de este diseño 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
conclusión 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 básicamente derivan un
pulso de entrada. En estos circuitos, se requiere buena pendiente del reloj (no un pulso angosto),
para operación correcta.
Diseños de este tipo se encuentran en el chip 7470.
También 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 didácticos se muestra cómo puede lograrse un reloj angosto con una perturbación:
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 perturbación 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. Generación 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 asincrónicas de set y reset, que sobrepasan las entradas
sincrónicas. De esta forma la ecuación característica para un JK:
Q(k+1) = J(k)Q'(k) + K'(k)Q(k)
Con S y R controles asincrónicos de lógica positiva, la ecuación resulta:
Q(k+1) = S + R' ( J(k)Q'(k)+K'(k)Q(k) )
14.8. Master Slave. Maestro-esclavo.
Una solución al problema de sincronización, 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.
Capítulo 14. Máquinas secuenciales asincrónicas 29
Profesor Leopoldo Silva Bijit 19-01-2010
Figura 14.49. Flip-flop JK master-slave.
Se ilustra la señal init, que inicia los latch, para la simulación, puede considerarse como una
señal asincrónica de preset.
A continuación se ilustran algunas secuencias de valores:
La señal de inicio setea a ambos latch, en el punto (1) se inicia la simulación 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 conmutación 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 señal Rmtr que resetea el master. Ese cambio sólo 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 conmutación 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 pequeño pulso en la señal clock en la
tabla de funcionamiento. Algunos ejemplos: 7471, 7472, 7473, 7476.
Puede comprobarse que si una señal 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 podría ser
una perturbación en cero de dicha entrada. Esto ocasiona la conmutación del flip-flop master-
slave.
Nótese que el latch maestro puede estar en cero o en uno, por esta razón 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 perturbación 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
Capítulo 14. Máquinas secuenciales asincrónicas 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 mínima; 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 Sincrónico D.
El siguiente circuito implementa un flip-flop sincrónico tipo D en base a tres latch de NAND.
Este diagrama es la descripción lógica del 7474, su diseño 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 sincrónico D.
Se tienen las siguientes formas de ondas que ilustran las conmutaciones internas:
Figura 19.54. Formas de ondas. Conmutación flip flop sincrónico D.
El control asincrónico 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 conmutación 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 análisis más detallado de la configuración 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 continuación:
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
Capítulo 14. Máquinas secuenciales asincrónicas 33
Profesor Leopoldo Silva Bijit 19-01-2010
Figura 19.55. Análisis esquema simplificado.
Se consideran D y clk como entradas. Las salidas serán S y R. No se contempla en el análisis 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 situación en que ambas estén bajas.
Se tienen las siguientes ecuaciones, considerando como variables de estado a las señales: s, r,
dset, dclr, que se producen después 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 sincrónico D.
Observando la matriz, puede concluirse que:
Cuando el reloj está bajo, las órdenes S y R al latch de salida están 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 propagación.
Activación 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 transición (un tiempo de propagación), 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,
Capítulo 14. Máquinas secuenciales asincrónicas 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 transición (un tiempo de propagación), 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 lógico, para R y S. Quedando en estado 1101 ó 1110 según 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 vía de
realimentación.
Figura 14.57. Latch transparente.
Una implementación 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 estático, ya que mantiene el dato en Q, mientras G esté
inactivo, no importando cuánto 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 después de un tiempo, Q también estará alto), al ocurrir un canto de
bajada en G, se produce una perturbación (un falso cero) en Q. Esto debido a que las señales R y
S conmutan en tiempos diferentes. Esta perturbación 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 implicaría que el latch no alcanzaría a setearse. Otra dificultad, y más
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 análisis 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. Después 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 están 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
oscilación en q y en r, o dependiendo de los retardos podría estabilizarse en uno de los dos
estados estables de la columna. Esta transición 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 crítica, y finalmente se llega al estable 0101.
Capítulo 14. Máquinas secuenciales asincrónicas 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 diseño de dispositivos secuenciales debe garantizar que las entradas sean
válidas y estables durante los períodos en que éstas pueden influir sobre el cambio de estado.
Para el circuito analizado, estas restricciones son:
Figura 14.59. Restricciones temporales.
La señal G debe permanecer activa por el tiempo que sea suficiente para que el latch pueda
capturar el dato. Esto requiere un ancho mínimo para el pulso G.
El tiempo de set-up debe garantizar que el valor de D se haya propagado a través del lazo de
realimentación 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 diseño del latch consiste en eliminar la perturbación y la posibilidad de carreras
críticas. 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 análisis 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 críticas.
Se producen carreras con GD=11 al pasar las entradas a 10, pero no es crítica. También estando
con GD=10, al cambiar las entradas a 11 se produce una carrera no crítica.
Capítulo 14. Máquinas secuenciales asincrónicas 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 través de algunas señales:
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 conmutación 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 señal 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 mínimo 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
señales S o R, según 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
mín( 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; capturándola 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. Análisis de Multivibrador aestable.
El circuito de la Figura 14.62 opera como un oscilador elemental.
El análisis 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 señal Init se ha agregado para dejar en un estado inicial al multivibrador. Esto es importante
para simular en diseño. En un armado de laboratorio, al aplicar la polarización, se producirá una
oscilación naturalmente.
Q D
G
0
1
Q D
G
Capítulo 14. Máquinas secuenciales asincrónicas 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 asincrónico figura 14.62.
Donde se aprecia un solo estado estable (101), con Init = 0. Si Init está en cero, después de
algún 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 próximo estado 001 (sin carreras, ya que sólo
cambia una variable de estado), debe ir a cero la variable x. Esto se produce después de x.
Habiéndose establecido el estado 001, debe efectuarse la transición a 011, nuevamente sin
carreras y después 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 período de la oscilación. En el ciclo ocurre tpHL y tpLH para cada compuerta. Si
las compuertas son iguales, el período resulta: T = 3 ( tpHL + tpLH) .
Similares comportamientos tienen un número 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 señal de
Init, de tal modo de, después de algunos ticks, llevar todas las salidas a valores lógicos 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 después de un tiempo dado.
Consisten en incorporar un retardo, generalmente mayor que el de propagación, pudiendo ser el
ancho del pulso generado del orden de los microsegundos. (ver circuito 74LS123).
El siguiente circuito ilustra un diseño posible:
S
R
Q'
Q
Figura 14.65. Multivibrador monoestable.
Con la señal R se inicia el multivibrador. La componente que genera el retardo, suele ser una red
RC, que se intercala después del inversor (y en forma externa al chip). Para fines de simulación
se agrandó el tiempo de propagación del inversor.
Se obtienen las siguientes formas de ondas:
Init
Z
Y
X
Capítulo 14. Máquinas secuenciales asincrónicas 43
Profesor Leopoldo Silva Bijit 19-01-2010
Figura 14.66. Formas de ondas para figura 14.65.
La orden para iniciar la medición de tiempo es el canto de subida de R.
Cuando ocurre un canto de subida en R (1) comienza una conmutación del latch de NOR.
Después 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 señal 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 señal 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 medición del tiempo. Los no redisparables, imponen que hasta que Q' no haya
bajado, no tienen efectos los pulsos en R.
El análisis anterior está basado en usar los conceptos del latch. Sin embargo, puede efectuarse
un análisis asincrónico, como se verá a continuación.
Análisis:
Si se denomina Y a la salida del inversor; se tendrá una nueva variable de estado, se tendrán:
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 transición a 000 sin
carreras. Luego del retardo R pasa a estado inestable 000, el que inicia otra transición; 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 transición de y que
aún está en curso; llegando finalmente después de Y (a partir del canto de bajada de q) al
estado, también inestable: 011.
Lo cual excita a la variable qn que baja a cero después 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 después de algunas
transiciones coloca a la máquina en estado 100. Y puede volver a emplearse el temporizador,
para ello, debe esperarse un tiempo algo mayor que Y.
Un circuito más sencillo es el siguiente:
Figura 14.68. Otro esquema para multivibrador monoestable.
R
Q
Capítulo 14. Máquinas secuenciales asincrónicas 45
Profesor Leopoldo Silva Bijit 19-01-2010
14.13. Carreras.
El cambio de dos o más variables de estado se denomina carrera; los cambios dentro de una
columna de la tabla de transiciones se propagan por vías alternativas. Los cambios de dos o más
señales a través de redes combinacionales; dependiendo de la duración de los retardos de
propagación, ocasionan diferentes transiciones a través de estados inestables. Si finalmente se
llega a un mismo estado estable, se dice que la carrera no es crítica; en caso contrario se tiene
una carrera crítica, lo cual introduce incertidumbre. En algunos casos esto puede evitarse
efectuando una asignación binaria de los estados que esté libre de carreras; en otros pueden
agregarse estados intermedios que den confiabilidad al diseño.
Si una red asincrónica tiene múltiples entradas, pueden ocurrir carreras entre éstas. En estos
casos, para realizar el análisis, se requiere restringir los cambios de las entradas. No se aceptan
cambios de las entradas cuando están ocurriendo transiciones de estados, y además deben tener
una mínima separación temporal, de tal modo que se logre determinar con certeza los cambios
de estado.
14.13.1. Carrera no crítica.
La siguiente red tiene carreras no críticas.
a
b
x
r
d
c
Figura 14.69. Carrera no crítica.
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 crítica.
En la Figura 14.69 se ha agregado la señal r que permite dejar en cero la señal 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 módulo permite simular las transiciones. Se simula primero una propagación lenta
de la señal 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 más 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 módulo
anterior. En la simulación, luego del reset se tiene un tiempo hasta quedar en estado inicial
0000.
Capítulo 14. Máquinas secuenciales asincrónicas 47
Profesor Leopoldo Silva Bijit 19-01-2010
Figura 14.71. Transiciones. Carrera no crítica, gana d.
Con los retardos del módulo que se muestra a continuación, d se propaga más 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 más lentamente
and #2 G3 (c, b, ap, r);
not #1 G5 (ap, a);
endmodule
Figura 14.72. Transiciones. Carrera no crítica, gana b.
En ambas situaciones se llega finalmente al estado estable: 1100, mostrando que la carrera no es
crítica.
Cuando se baja x a cero, se retorna al estado 0000, sin carreras. Se pasa de 1100 a 1000,
cambiando sólo b, y luego a 0000 cambiando a.
48 Sistemas Digitales
Profesor Leopoldo Silva Bijit 19-01-2010
14.13.2. Carrera crítica.
La siguiente matriz de transiciones ilustra una carrera crítica. 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 + a’b’x.
x
ab 0 1
00 00 01
01 00 10
11 00 11
10 00 10
a+b+
Figura 14.73. Carrera crítica.
Cuando x es cero, se tiene el estado estable 00, no es necesaria ahora una señal de reset. Cuando
x pasa a 1, después del retardo de propagación de la señal b, se pasa al estado inestable 01, en
este estado inestable se excitan cambios simultáneos en a y b, generándose una carrera.
El siguiente módulo genera, mediante compuertas, las ecuaciones anteriores. Se ha elegido un
retardo mayor para la generación de la señal 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 más 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 más lento => llega a estado 10
endmodule
Capítulo 14. Máquinas secuenciales asincrónicas 49
Profesor Leopoldo Silva Bijit 19-01-2010
Figura 14.74. Carrera crítica. Llegando a 11.
Cambiando el retardo de G5 a 2, y el de G8 a 6, se obtienen:
Figura 14.75. Carrera crítica. Llegando a 10.
Las carreras pueden evitarse con una adecuada asignación de estados. Si en la tabla de
transiciones de la Figura 14.73, se reemplazan los códigos binarios por símbolos se obtiene:
x
ab 0 1
A A B
B A D
C A C
D A D
a+b+
Figura 14.76. Transiciones simbólicas.
Luego de cada estado estable se marcan las transiciones en un diagrama de transiciones entre
estados, cuando se cambia sólo 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 transición al estado A. Del estado estable D, cuando x pasa de 1 a 0, se
tiene transición al estado A.
A
B
D
C
Figura 14.77. Transiciones entre estados.
No se producirán 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 triángulo, de tal modo que cumplan lo anterior. Es preciso agregar estados intermedios, una
solución 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
más 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 simbólicas.
Asignando estados binarios de tal modo que estén a distancia uno: A con B; B con D; D con E;
A con E; y finalmente C con A, se obtiene:
Capítulo 14. Máquinas secuenciales asincrónicas 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 diseño de la red asincrónica libre de carreras:
a+ = ax; b+ = bc + cx; c+ = a’x.
14.14. Diseño de sistema asincrónico basado en diagrama de flujo.
Se desea diseñar un sistema asincrónico que produzca en las salidas, en forma alternada un
pulso de reloj.
Distribuidor clk
f1
f2
Figura 14.81. Generación 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 información 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
Próximo
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 transición deben codificarse adyacentes, es decir a distancia uno. De
esta manera al producirse la transición sólo se excitará una variable de estado, y no se
producirán carreras.
A
B
C
D
Figura 14.85. Diagrama de transiciones.
En este caso bastan 4 estados.
Código binario
Estado ab
A 00
B 10
C 11
D 01
Figura 14.86. Codificación libre de carreras.
Con la codificación binaria, se escribe la tabla de transiciones, en términos de las variables de
estado: a y b.
Capítulo 14. Máquinas secuenciales asincrónicas 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 diseñan las redes combinacionales libres de perturbaciones, para esto se cubren implicantes
adyacentes con términos de consenso.
a+ = a clk’ + b’ clk + ab’
b+ = a clk’ + b clk + ab
f1 = ab’
f2 = a’b
14.15. Diseño de sistema asincrónico basado en diagrama de estados.
Diseñar un contador binario asincrónico ascendente, módulo 3, en base a compuertas (sin
emplear flip-flops), el diseño debe estar libre de perturbaciones y carreras. Con z1 la cifra más
significativa y z0 la menos significativa. Se cuentan los cantos de subida de la señal de entrada
x. Asignar estado con puros ceros a aquél en que se encuentra la máquina cuando la entrada
está baja y la cuenta es cero.
a) Determinar diagrama de estados.
b) Asignación de estados libres de carreras
c) Expresar el diseño mediante ecuaciones, indicando cómo elimina las posibles perturbaciones.
Un diagrama de estados, modelo de Moore, de un contador asincrónico módulo 3 se ilustra en la
Figura14.88. La transición entre estados se produce en los cantos de subida y bajada de la señal
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 módulo 3.
54 Sistemas Digitales
Profesor Leopoldo Silva Bijit 19-01-2010
La asignación de estados se efectúa de tal modo que los estados adyacentes en la Figura 14.88
estén a distancia 1, la asignación se muestra en la Figura 14.89. Se elige arbitrariamente que el
estado A esté asociado al código 000.
q0
q2q1
00 01
0
1
A F
B C
11 10
E
D
Figura 14.89. Asignación de estados sin carreras.
Con la asignación 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 función 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 módulo 3.
Mediante un mapa del próximo estado, que se muestra en la Figura 14.91, se efectúa la
minimización considerando las condiciones superfluas y de tal modo que no se produzcan
perturbaciones.
Capítulo 14. Máquinas secuenciales asincrónicas 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. Minimización empleando condiciones superfluas.
Las funciones de próximo estado, resultan:
q2+ = x’q2 + x q1q0 + q2q0
q1+ =q2 + x’q0 + xq1 + q1q0
q0+ = q2’q0 + xq1’ + xq0
El término q2q0 en q2+, cubre los implicantes anteriores, cuando ocurre un evento en la
entrada. En la función para q1+, se emplea el término 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 = q2’q0
q0
q2q1
00 01
0
1
00 00
01 01
11 10
10
10
z1z0
Figura 14.92. Minimización de salidas.
56 Sistemas Digitales
Profesor Leopoldo Silva Bijit 19-01-2010
Solución alternativa.
La asignación de estados puede realizarse de múltiples maneras. Se muestra a continuación una
alternativa de diseño, que ilustra la técnica de emplear estados internos inestables, para evitar
carreras.
La asignación de estados se efectúa empleando código Gray, de tal modo que los estados
adyacentes en la Figura 14.93, estén a distancia 1. Se elige que el estado A esté asociado al
código 000; en el ejemplo, F queda con código 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 asincrónico módulo 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 módulo 3.
El método 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 transición solo cambia una variable interna;
y los desplazamientos son dentro de la columna con x igual a 1.
Se dejan dos estados próximos sin especificar: estando en G con entrada 0, y estando en H con
entrada 0, que pueden emplearse como condiciones superfluas.
Capítulo 14. Máquinas secuenciales asincrónicas 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 módulo 3.
La Figura 14.95 muestra un mapa del próximo estado, construido a partir de la tabla de la Figura
14.94. Minimizando las funciones de próximo estado, libres de perturbaciones, se obtienen:
q2+ = xq1q0’ + q2q1 + q2q0
q1+ = xq2’q0 + q1q0’+ x’q1 + q2’q1
q0+ = q2q1q0+ q2'q1'q0 + xq2'q0 + x'q1' + x'q2 + xq1q0
Con lógica de mayor costo que el diseño 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 próximos estados de contador módulo 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 módulo 3.
Se obtienen:
z1 = q2q1; z0 = q2’q1
La Figura 14.97 muestra las formas de ondas de los cambios de estado relativas a los pulsos
asincrónicos de la entrada x. Se han enumerado los diferentes cambios de las señales, x y q0, en
un período.
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 módulo 3.
Capítulo 14. Máquinas secuenciales asincrónicas 59
Profesor Leopoldo Silva Bijit 19-01-2010
Problemas resueltos.
Problema 14.1.
Para el siguiente circuito secuencial asincrónico:
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 operación. Indicar el tipo de transición, si hay o no carreras, períodos de
oscilación si los hubiera.
Figura P14.2.
Solución.
a) Q = (Xqn)’ = X’ + qn’; Qn = Y + q
T1 T2
Y
X
X
Y
Q
Qn
60 Sistemas Digitales
Profesor Leopoldo Silva Bijit 19-01-2010
x
b
a
Figura P14.3.
b) El estado inicial se obtiene considerando que luego de un tiempo de tener aplicada las
entradas XY = 00, se llega al estado estable qqn = 11.
c) Cuando ocurre el canto de subida de Y, XY = 01, permanece en qqn = 11. Por lo cual no hay
restricciones para T1 (salvo que sea mayor que cero), tiempo que debe transcurrir antes de
cambiar la entrada X a 1. No hay transiciones.
Luego cuando se produce XY = 11, se excita sólo la variable q (no hay carreras), la cual pasa a
cero después de x; llegando al estado estable qqn = 01.
Por lo tanto se requiere T2 > x para modo fundamental de operación; es decir, el cambio de la
entrada Y se efectúa luego de haberse realizado las transiciones de estado, que demoran x en
este caso.
T1 T2
Y
X
q
qn
x
y
período
Figura P14.4.
Capítulo 14. Máquinas secuenciales asincrónicas 61
Profesor Leopoldo Silva Bijit 19-01-2010
Después cuando XY = 10, se produce oscilación; pasando por la siguiente secuencia de estados
inestables: 00, 10, 11, 01, la que se repite periódicamente.
No hay carreras, ya que se excita una variable en cada transición.
El período de la oscilación es: 2( x + y). Se asume que los retardos de propagación para
cambios de la salida de alto a bajo y viceversa son iguales.
Problema 14.2.
Para el siguiente circuito secuencial asincrónico:
a) Determinar la matriz de transiciones empleando código Gray, para el estado presente xyzq
(en ese orden las variables)
b) Determinar estados estables.
c) Para las siguientes formas de ondas de las entradas, dibujar la salida Q.
A
B
d) Indicar los retardos entre los cambios de Q con respecto al evento que los produce.
Figura P14.5.
Solución.
a) Ecuaciones: X = Aq ; Y = AB ; Z = Bq ; Q = x + y + z
B
Q
A x
y
z
62 Sistemas Digitales
Profesor Leopoldo Silva Bijit 19-01-2010
Estado AB
xyzq 00 01 11 10
0000 0000 0000 0100 0000
0001 0000 0010 1110 1000
0011 0001 0011 1111 1001
0010 0001 0001 0101 0001
0110 0001 0001 0101 0001
0111 0001 0011 1111 1001
0101 0001 0011 1111 1001
0100 0001 0001 0101 0001
1100 0001 0001 0101 0001
1101 0001 0011 1111 1001
1111 0001 0011 1111 1001
1110 0001 0001 0101 0001
1010 0001 0001 0101 0001
1011 0001 0011 1111 1001
1001 0001 0011 1111 1001
1000 0001 0001 0101 0001
XYZQ
Figura P14.6.
b) Estados estables 0000, 0011, 1001, 1111
c) Si ambas entradas están en cero, luego de un tiempo se estará en estado estable 0000.
Las entradas (AB) siguen la secuencia: 00, 10, 11, 01, 00, 01, 11, 10, 00
De 00 a 10 no cambia de estado, queda en 0000.
De 10 a 11: pasa por la secuencia de estados: 0100(después de y), 0101(después de q), luego
se produce carrera entre las variables x y z; pudiendo pasar por la secuencia 1101, 1111; o bien
0111, 1111. La carrera no es crítica, ya que en ambos casos se llega al estado estable
1111(después de x o z, según cual sea el retardo mayor).
De 11 a 01: se produce carrera entre las variables x e y. Pasa por los estados 0111, 0011 o bien
1011, 0011. La carrera no es crítica y llega al estado estable 0011 después de x o y, según
cual sea el retardo mayor.
De 01 a 00: Pasa por la secuencia: 0001(después de z) y luego al estable 0000(después de q).
De 00 a 01: Permanece en estado 0000
De 01 a 11: Pasa a 0100(después de y), luego a 0101(después de q), luego se produce carrera
no crítica entre x y z; pasando por 1101, 1111(si x es menor que z) o bien pasa por 0111,
1111(si z es menor que x). Finalmente llega al estable 1111.
De 11 a 10: se produce carrera no crítica entre las variables y y z. Pasa por 1101, 1001(si y es
menor que z) o bien por la secuencia 1011, 1001(si z es menor que y) llegando finalmente
al estable 1001 después de un retardo (el mayor de entre z y y).
De 10 a 00: Después de x pasa a 0001, y luego de q pasa a 0000.
Capítulo 14. Máquinas secuenciales asincrónicas 63
Profesor Leopoldo Silva Bijit 19-01-2010
A
B
Q
y+ q z+ q y+ q x+ q
Figura P14.7.
d) se han indicado en el diagrama los retardos correspondientes
Observación: El circuito se conoce como Elemento C de Muller. Cambia a uno sólo cuando
ambas entradas son unos y permanece en ese estado hasta que ambas entradas son cero, instante
en el que va a cero; y permanece en cero hasta que ambas entradas sean iguales a uno.
Detecta la igualdad de las entradas.
A B Q+
0 0 0
0 1 Q
1 0 Q
1 1 1
Figura P14.8.
Problema 14.3.
Para un sistema secuencial asincrónico se tiene la siguiente matriz de transiciones:
Figura P14.9.
Determinar:
a) Ecuaciones para X, Y, Z
b) Circuito
c) Estados Estables
AB
xyz 00 01 11 10
000 001 001 001 001
001 001 011 111 101
010 001 001 001 001
011 001 011 111 101
111 000 010 110 100
110 000 000 000 000
101 001 011 111 101
100 001 001 001 001
XYZ
64 Sistemas Digitales
Profesor Leopoldo Silva Bijit 19-01-2010
d) Estando las entradas (bastante tiempo) en 00, se produce canto de subida en B, determinar la
secuencia de estados.
e) Estando las entradas (bastante tiempo) en 10, se produce canto de bajada en A, determinar
la secuencia de estados.
f) Estando las entradas (bastante tiempo) en 00, se produce canto de subida en B, luego de
llegar a un estado estable se produce un canto de subida en A, determinar la secuencia de
estados.
g) Estando las entradas (bastante tiempo) en 00, se produce canto de subida en A, luego de
llegar a un estado estable se produce un canto de subida en B, determinar la secuencia de
estados.
Solución:
a) Deben plantearse tres ecuaciones, y la implementación debe realizarse con tres compuertas,
ya que cada compuerta aporta una variable de estado.
X = x’zA +xzA = Az
Y = x’zB + xzB = Bz
Z = x’ + y’ = (xy)’
b)
Figura P14.10.
c) Estados estables: 001, 011, 101
d) Si las entradas están en A = 0 y B = 0, se está en estado 001.
Al ocurrir un canto de subida en B, Y tiene un canto de subida instantáneamente y luego de Y
se pasa al estado 011 que también es estable y permanece en él, si no hay cambio de las
entradas.
e) Si las entradas están en A = 1 y B = 0, se está en estado 101.
Al ocurrir un canto de bajada en A, X tiene un canto de bajada instantáneamente y luego de X
se pasa al estado 001 que también es estable y permanece en él, si no hay cambio de las
entradas.
f) Si las entradas están en A = 0 y B = 0, se está en estado 001.
Al ocurrir un canto de subida en B, Y tiene un canto de subida instantáneamente y luego de Y
se pasa al estado 011 que también es estable; luego se produce un canto de subida en A.
Entonces X pasa instantáneamente a 1, y luego de X se llega a 111. Después de Z se llega a
110. A continuación se produce una carrera entre x e y; después de la cual se pasa a 000(si
ambas cambian simultáneamente) o a 100(si x es más rápida que y) o a 010(si y es más rápida
x
B
A
X
Y
Z
X
y
Y
Z z
Capítulo 14. Máquinas secuenciales asincrónicas 65
Profesor Leopoldo Silva Bijit 19-01-2010
que x). En fin, puede decirse que se producirá una oscilación ya que en la columna 11 no se
encuentran estados estables.
001 011 111 110 000 001 111 ......
g) Las tres variables de estado oscilan. Se producen carreras entre las variables x e y.
001 101 111 110 000 001 111 ......
Problema 14.4.
Se dispone de un contador ascendente binario módulo 9, con Q0 la cifra menos significativa.
Diseñar circuito empleando un latch de nand, cuya salida se ponga alta desde la cuenta 3 hasta
la cuenta 8 (ambas inclusive).
Solución.
El latch de nand opera con cantos de bajada de las señales S’ y R’, además debe cuidarse que
ambos controles no queden simultáneamente en cero.
Se tienen, las salidas de los circuitos combinacionales, que detectan cuando el contador módulo
nueve pasa por las cuentas 8, 3 y 0, respectivamente:
C8=Q3
C3 = Q3’Q2’Q1Q0
C0 = Q3’Q2’Q1’Q0’
En la Figura P14.11, se advierte que se puede emplear C3’, tal que su canto de bajada setee el
latch. Para resetear el latch no puede emplearse el canto de bajada de la señal C8, ya que se
viola la condición para funcionamiento confiable del latch. Puede notarse que la señal C0’
cumple las especificaciones de funcionamiento del latch y además establece correctamente la
duración de la salida z.
C3
C8
C0
z
C3’
C0’
Figura P14.11. Formas de ondas de decodificadores y controles del latch.
Finalmente:
66 Sistemas Digitales
Profesor Leopoldo Silva Bijit 19-01-2010
B
A
z
y
x
z S’=C3’
R’=C0’
Figura 14.12. Latch de nand.
Ejercicios propuestos.
Ejercicio 14.1.
Se tiene el siguiente circuito asincrónico
Figura E14.1.
a) Determinar tabla de transiciones e indicar estados estables.
b) Determinar las condiciones que deben cumplir los intervalos T1, T2 y T3 para que las
entradas no cambien mientras ocurran transiciones de estados.
Considere la siguiente de secuencia de las entradas:
Figura E14.2.
A
B
x
y
z
T1 T2 T3
Capítulo 14. Máquinas secuenciales asincrónicas 67
Profesor Leopoldo Silva Bijit 19-01-2010
Asumir: X = 2 ; Y = 1 ; Z = 4 Con el tiempo de propagación.
Dibujar las formas de ondas de las salidas x, y, z; dada la secuencia de entradas que se muestra.
Ejercicio 14.2.
Analizar la siguiente red:
x
b
a
Figura E14.3.
Ejercicio 14.3.
Para el siguiente módulo descrito en Verilog, identificar el tipo de carreras. Si son críticas,
eliminarlas mediante rediseño de la codificación binaria de los estados.
module ej(x,r,a,b,c,d,e);
input x,r;
output a,b,c,d,e;
wire ap,bp;
not #1 G1 (ap,a);
not #1 G2 (bp,b);
and #2 G3 (c,ap,x);
and #2 G4 (d,a,b,r);
or #6 G5 (b,d,c); //G8=2 G5=6. b más lento => llega a 11
and #3 G6 (e,bp,x);
or #2 G8 (a,e,d); //G8=6 G5=2. a más lento => llega a 01
endmodule
Ejercicio 14.4.
Se tiene el siguiente circuito asincrónico:
Figura E14.4.
b
a X
Y
68 Sistemas Digitales
Profesor Leopoldo Silva Bijit 19-01-2010
a) Determinar tabla de transiciones.
b) Determinar estados Estables.
c) Con Estado1 = { a = 0, b = 0 } y Estado2 = { a = 1, b = 1 } determinar secuencias de las
entradas para pasar del Estado1 al Estado2 en forma confiable y viceversa.
Indicando cuál es el evento que inicia el cambio de estado
d) Qué combinación de las entradas debe evitarse para que no se presenten oscilaciones. Cómo
podría presentarse oscilación?.
Capítulo 14. Máquinas secuenciales asincrónicas 69
Profesor Leopoldo Silva Bijit 19-01-2010
Índice general.
CAPÍTULO 14 ........................................................................................................................................... 1
MÁQUINAS SECUENCIALES ASINCRÓNICAS. ............................................................................... 1
14.1 BASES ELECTRÓNICAS PARA ALMACENAR BITS. ............................................................................... 1 14.1.1. Metaestabilidad. ...................................................................................................................... 3 14.1.2. Latchs. ..................................................................................................................................... 4
14.2. LATCH ASINCRÓNICO S-R. (LATCH DE NAND) .............................................................................. 5 14.2.1. Esquemático. ........................................................................................................................... 5 14.2.2. Variables. ................................................................................................................................ 6 14.2.3. Ecuaciones. ............................................................................................................................. 7 14.2.4. Matriz de transiciones. ............................................................................................................ 7 14.2.5. Modo fundamental de operación. ............................................................................................ 8 14.2.6. Diagrama de estados. .............................................................................................................. 8 14.2.7. Secuencias de interés ............................................................................................................... 9
a) Transición set a reset ................................................................................................................................... 9 b) Transición de reset a set............................................................................................................................. 10 Análisis del estado 11 en latch S-R ................................................................................................................ 10
14.2.8. Funcionamiento restringido. ................................................................................................. 11 14.2.9. Análisis simplificado. ............................................................................................................ 13 14.2.10. Simulación de circuitos asincrónicos. ................................................................................. 15
14.2 ELIMINA REBOTES (DEBOUNCE) ...................................................................................................... 16 14.3 SINCRONIZACIÓN DE UN S-R .......................................................................................................... 17 14.4. LATCH ASINCRÓNICO S-R. (LATCH DE NOR) ............................................................................... 18
14.4.1. Esquemático. ......................................................................................................................... 18 14.4.2. Variables. .............................................................................................................................. 19 14.4.3. Ecuaciones. ........................................................................................................................... 19 14.4.4. Matriz de transiciones. .......................................................................................................... 19 14.4.5. Diagrama de estados. ............................................................................................................ 19 14.4.6. Secuencias de interés. ............................................................................................................ 20 14.4.7. Funcionamiento simplificado. ............................................................................................... 21 14.4.8. Resumen Latch de NOR. ........................................................................................................ 22 14.4.9. Análisis simplificado, con un retardo. ................................................................................... 22 14.9.10. Latch positivo D .................................................................................................................. 23
14.5. DISEÑO DE LATCH JK EN BASE A LATCH DE NOR ......................................................................... 24 14.6. DISEÑO DE UN FLIP-FLOP JK SINCRÓNICO. ..................................................................................... 25 14.7. FLIP-FLOPS DISPARADOS POR CANTOS ........................................................................................... 27 14.8. MASTER SLAVE. MAESTRO-ESCLAVO. ........................................................................................... 28
Master Slave de tipo D. ..................................................................................................................... 31 14.9. FLIP-FLOP SINCRÓNICO D. ............................................................................................................ 31 14.10. LATCH TRANSPARENTE. ............................................................................................................... 35 14.11. ANÁLISIS DE MULTIVIBRADOR AESTABLE. .................................................................................. 40 14.12. MULTIVIBRADOR MONOESTABLE................................................................................................. 42
Análisis: ............................................................................................................................................. 43 14.13. CARRERAS. .................................................................................................................................. 45
14.13.1. Carrera no crítica. .............................................................................................................. 45
70 Sistemas Digitales
Profesor Leopoldo Silva Bijit 19-01-2010
14.13.2. Carrera crítica. .................................................................................................................... 48 14.14. DISEÑO DE SISTEMA ASINCRÓNICO BASADO EN DIAGRAMA DE FLUJO. ......................................... 51 14.15. DISEÑO DE SISTEMA ASINCRÓNICO BASADO EN DIAGRAMA DE ESTADOS. ..................................... 53 PROBLEMAS RESUELTOS. ........................................................................................................................ 59
Problema 14.1. ................................................................................................................................... 59 Problema 14.2. ................................................................................................................................... 61 Problema 14.3. ................................................................................................................................... 63 Problema 14.4. ................................................................................................................................... 65
EJERCICIOS PROPUESTOS. ........................................................................................................................ 66 Ejercicio 14.1. .................................................................................................................................... 66 Ejercicio 14.2. .................................................................................................................................... 67 Ejercicio 14.3. .................................................................................................................................... 67 Ejercicio 14.4. .................................................................................................................................... 67
ÍNDICE GENERAL. .................................................................................................................................... 69 ÍNDICE DE FIGURAS ................................................................................................................................. 71
Capítulo 14. Máquinas secuenciales asincrónicas 71
Profesor Leopoldo Silva Bijit 19-01-2010
Índice de figuras
Figura 14.1 Almacenamiento en memorias dinámicas. ................................................................. 1 Figura 14.2 Almacenamiento estático. .......................................................................................... 1 Figura 14.3 Inversores CMOS realimentados. .............................................................................. 2 Figura 14.3a. Puntos de equilibrio. ............................................................................................... 2 Figura 14.3b. Características de transferencia individuales. ......................................................... 3 Figura 14.4 Análisis metaestabilidad. ........................................................................................... 3 Figura 14.5 Lectura y escritura. ..................................................................................................... 4 Figura 14.6 Latch mediante NANDs y NORs. ............................................................................. 5 Figura 14.7 Valores estáticos almacenados. .................................................................................. 5 Figura 14.8 Variables en latch de NANDs. ................................................................................... 5 Figura 14.9 Valores presente y próximo, en el tiempo. ................................................................. 6 Figura 14.10 Retardos como memorias de corto plazo. ................................................................ 6 Figura 14.11 Matriz de transiciones del latch de NAND. ............................................................. 7 Figura 14.12. Diagrama de estados del latch de NAND. .............................................................. 8 Figura 14.13 De set a reset. ........................................................................................................... 9 Figura 14.14 De set a reset. ......................................................................................................... 10 Figura 14.15 S’ adelanta a R’. ..................................................................................................... 11 Figura 14.16 R’ adelanta a S’. ..................................................................................................... 11 Figura 14.17. S’ y R’ llegan juntas. ............................................................................................. 11 Figura 14.18. Matriz de transiciones en modo confiable. ........................................................... 12 Figura 14.19. Tabla característica S-R. ....................................................................................... 12 Figura 14.20. Tabla de excitaciones parta S-R. ........................................................................... 13 Figura 14.21 Resumen funcionamiento latch de NANDs.. ......................................................... 13 Figura 14.22 Análisis con un retardo. ......................................................................................... 14 Figura 14.23. Matriz de transiciones con un solo retardo. .......................................................... 14 Figura 14.24. Diagrama de estados simplificado. ....................................................................... 14 Figura 14.25. Diagrama para simular un latch. ........................................................................... 15 Figura 14.26. Formas de ondas generadas en la simulación. ..................................................... 15 Figura 14.27. Oscilación en latch de NAND. .............................................................................. 16 Figura 14.28. Elimina rebotes. .................................................................................................... 16 Figura 14.29. Sincronización. Empleo de señal de reloj. ............................................................ 17 Figura 14.30 Funcionamiento normal. ........................................................................................ 18 Figura 14.31. Latch de NOR. ...................................................................................................... 18 Figura 14.32. Matriz de transiciones latch de nor. ...................................................................... 19 Figura 14.33. Diagrama de estados latch de nor. ........................................................................ 20 Figura 14.34. Secuencias de interés en latch de nor. ................................................................... 20 Figura 14.35. Funcionamiento simplificado, latch de NORs. .................................................... 21 Figura 14.36. Tabla característica, latch de NOR. ...................................................................... 22 Figura 14.37. Tabla de excitaciones, latch de NORs. ................................................................. 22 Figura 14.38. Esquema con solo una variable de estado. ............................................................ 23 Figura 14.39. Elimina rebotes con latch de nor. .......................................................................... 23 Figura 14.39a. Latch positivo D. ................................................................................................. 23 Figura 14.40 Matriz de transiciones JK. ...................................................................................... 24
72 Sistemas Digitales
Profesor Leopoldo Silva Bijit 19-01-2010
Figura 14.41. Tabla de transiciones SR. ...................................................................................... 24 Figura 14.42. Programa del SR. .................................................................................................. 24 Figura 14.43. Latch JK basado en SR. ........................................................................................ 25 Figura 14.44. Formas de ondas en latch JK. ............................................................................... 25 Figura 14.45. Sincronización de flip-flop JK .............................................................................. 26 Figura 14.46. Formas de ondas conmutación JK. ........................................................................ 26 Figura 14.47. Reloj angosto. ........................................................................................................ 27 Figura 14.48. Formas de ondas. ................................................................................................... 27 Figura 14.48a. Generación de pulso angosto. .............................................................................. 28 Figura 14.48b. JK, disparado por cantos de bajada del reloj. ...................................................... 28 Figura 14.49. Flip-flop JK master-slave. ..................................................................................... 29 Figura 14.50. Formas de ondas en flip-flop master-slave. .......................................................... 29 Figura 14.51. Captura de unos. .................................................................................................... 30 Figura 14.52. Master-slave de tipo D. ......................................................................................... 31 Figura 19.53. Flip-flop sincrónico D. .......................................................................................... 32 Figura 19.54. Formas de ondas. Conmutación flip flop sincrónico D. ........................................ 32 Figura 19.55. Análisis esquema simplificado. ............................................................................. 33 Figura 19.56. Matriz de transiciones flip-flop sincrónico D. ...................................................... 34 Figura 14.57. Latch transparente. ................................................................................................ 35 Figura 14.58. Latch transparente mediante compuertas. ............................................................. 35 Figura 14.58a. Tabla de transiciones latch transparente. ............................................................. 37 Figura 14.59. Restricciones temporales. ...................................................................................... 37 Figura 14.59a. Latch sin perturbaciones. ..................................................................................... 38 Figura 14.59b. Transiciones latch transparente. Carreras no críticas. ......................................... 38 Figura 14.60. Esquema latch 74LS373. ....................................................................................... 39 Figura 14.61. Formas de ondas latch figura 19.60. ..................................................................... 39 Figura 14.61a. Latch transparente negativo. ................................................................................ 40 Figura 14.61b. Master Slave basado en latchs ............................................................................. 40 Figura 14.62. Oscilador elemental, mediante compuertas. .......................................................... 41 Figura 14.63. Matriz de transiciones, oscilador asincrónico figura 14.62. .................................. 41 Figura 14.64. Formas de ondas multivibrador aestable. .............................................................. 42 Figura 14.65. Multivibrador monoestable. .................................................................................. 42 Figura 14.66. Formas de ondas para figura 14.65. ...................................................................... 43 Figura 14.67. Tabla de transiciones de Figura 14.65. .................................................................. 44 Figura 14.68. Otro esquema para multivibrador monoestable. ................................................... 44 Figura 14.69. Carrera no crítica. .................................................................................................. 45 Figura 14.70. Tabla de transiciones. Carrera no crítica. .............................................................. 46 Figura 14.71. Transiciones. Carrera no crítica, gana d. ............................................................... 47 Figura 14.72. Transiciones. Carrera no crítica, gana b. ............................................................... 47 Figura 14.73. Carrera crítica. ....................................................................................................... 48 Figura 14.74. Carrera crítica. Llegando a 11. .............................................................................. 49 Figura 14.75. Carrera crítica. Llegando a 10. .............................................................................. 49 Figura 14.76. Transiciones simbólicas. ....................................................................................... 49 Figura 14.77. Transiciones entre estados. .................................................................................... 50 Figura 14.78. Estados intermedios. ............................................................................................. 50 Figura 14.79. Transiciones simbólicas. ....................................................................................... 50 Figura 14.80. Transiciones libres de carreras. ............................................................................. 51
Capítulo 14. Máquinas secuenciales asincrónicas 73
Profesor Leopoldo Silva Bijit 19-01-2010
Figura 14.81. Generación de fases de reloj. ................................................................................ 51 Figura 14.82. Formas de ondas de fases de reloj. ........................................................................ 51 Figura 14.83. Estados estables y transiciones. ............................................................................ 51 Figura 14.84. Tabla de flujo de transiciones. .............................................................................. 52 Figura 14.85. Diagrama de transiciones. ..................................................................................... 52 Figura 14.86. Codificación libre de carreras. .............................................................................. 52 Figura 14.87. Tabla de transiciones. ............................................................................................ 53 Figura 14.88. Diagrama de estados contador módulo 3. ............................................................. 53 Figura 14.89. Asignación de estados sin carreras. ....................................................................... 54 Figura 14.90. Tabla de transiciones contador módulo 3. ............................................................ 54 Figura 14.91. Minimización empleando condiciones superfluas. ............................................... 55 Figura 14.92. Minimización de salidas. ...................................................................................... 55 Figura 14.93. Diagrama de estados contador módulo 3. ............................................................. 56 Figura 14.94. Tabla de transiciones contador módulo 3. ............................................................ 57 Figura 14.95. Mapa de próximos estados de contador módulo 3. ............................................... 57 Figura 14.96. Mapa de funciones de salida de contador módulo 3. ............................................ 58 Figura 14.97. Relaciones causa-efecto contador módulo 3. ........................................................ 58 Figura P14.1. ............................................................................................................................... 59 Figura P14.2. ............................................................................................................................... 59 Figura P14.3. ............................................................................................................................... 60 Figura P14.4. ............................................................................................................................... 60 Figura P14.5. ............................................................................................................................... 61 Figura P14.6. ............................................................................................................................... 62 Figura P14.7. ............................................................................................................................... 63 Figura P14.8. ............................................................................................................................... 63 Figura P14.9. ............................................................................................................................... 63 Figura P14.10. ............................................................................................................................. 64 Figura P14.11. Formas de ondas de decodificadores y controles del latch. ................................ 65 Figura 14.12. Latch de nand. ....................................................................................................... 66 Figura E14.1. ............................................................................................................................... 66 Figura E14.2. ............................................................................................................................... 66 Figura E14.3. ............................................................................................................................... 67 Figura E14.4. ............................................................................................................................... 67
top related