EL-3102
Sistemas Digitales
Circuitos Secuenciales
Parte 1: Elementos de Memoria, Latch,
Flip-flop y Registros
Entradas Salidas
Tipos de Circuitos Secuenciales Lógica
Combinacional
Estado Estado
Síncronos Actual Siguiente
Salidas definidas por su entrada y estado en instantes
discretos en el tiempo. (pulsos de reloj -Clock ticks-)
El estado también se actualiza sólo en tiempos discretos
Asíncronos
Comportamiento definido por el cambio de las entradas y estado
en cualquier instante de tiempo.
Si el reloj se considerara como otra entrada, todos los circuitos
serían asíncronos.
Sin embargo, la abstracción síncrona (tiempo discreto) hace
manejable (analizable) diseños complejos.
EL-4002 Sistemas Digitales
Estado A In0
almacenado en Y
B In1
un Mux
S
B S Y Comentarios
Tiempo 1 0 0 Y=0
1 1 1 Y = B cuando S = 1
1 0 1 Ahora Y “recuerda” B = 1
para S = 0
0 0 1 No hay cambios en Y cuando
B cambia
0 1 0 Y = B cuando S = 1 ¿ Donde queda
0 0 0 Y “recuerda” B = 0 para S = almacenado el valor
0
1 0 0 No hay cambios en Y cuando el sistema esta
cuando B cambia “recordando”?
“Latch” S–R (Set-Reset) NOR Básico
“Cross-Coupling” R (reset)
Q
de dos compuertas
NOR se obtiene un
“Latch” S-R: S (set) Q
Tiempo R S Q Q Comentario
0 0 ? ? Estado desconocido
0 1 1 0 “Set” Q a 1
0 0 1 0 Ahora Q “recuerda” 1
1 0 0 1 “Reset” Q a 0
0 0 0 1 Ahora Q “recuerda” 0
1 1 0 0 Ambos se van a 0 (prohibido)
0 0 ? ? Inestable!
EL-4002 Sistemas Digitales
“Latch” S–R (NAND) Básico
“Cross-Coupling” S (set)
Q
de dos compuertas
NAND se obtiene
un “Latch” S-R:
R (reset) Q
S = 0, R = 0 es R S Q Q Comentario
Tiempo
prohibido como 1 1 ? ? Estado desconocido
patrón de 1 0 1 0 “Set” Q a 1
1 1 1 0 Ahora Q “recuerda” 1
entrada 0 1 0 1 “Reset” Q a 0
1 1 0 1 Ahora Q “recuerda” 0
0 0 1 1 Ambos se van a 1 (prohibido)
1 1 ? ? Inestable!
EL-4002 Sistemas Digitales
“Latch” S–R (Set-Reset) con Reloj
Agregando dos S
Q
compuertas NAND al
Latch S - R básico, C
se obtiene el Latch
Q
S – R con Reloj: R
Tiene un comportamiento de
Tiempo
secuencia en el tiempo similar al R S Q Q Comentario
Latch S-R básico, excepto que 1 1 ? ? Estado desconocido
las entradas S-R son solamente 1 0 1 0 “Set” Q a 1
observadas cuando la línea C es 1 1 1 0 Ahora Q “recuerda” 1
“high” 0 1 0 1 “Reset” Q a 0
C significa “control” o “reloj 1 1 0 1 Ahora Q “recuerda” 0
(Clock)”. 0 0 1 1 Ambos se van a 1
1 1 ? ? Inestable!
EL-4002 Sistemas Digitales
“Latch” S–R (Set-Reset) con Reloj
El Latch S-R con Reloj puede ser descrito por una
tabla de estado ‘actual’ y ‘siguiente':
Q(t) S R Q(t+1) Comentario
S
Q 0 0 0 0 No hay cambios
0 0 1 0 Clear Q
C
0 1 0 1 Set Q
Q 0 1 1 ??? Indeterminado
R
1 0 0 1 No hay cambios
1 0 1 0 Clear Q
La tabla describe qué 1 1 0 1 Set Q
sucede cuando el reloj se 1 1 1 ??? Indeterminado
hace 1 en función de:
Hay dos configuraciones
entradas actuales (S,R), y
en la que no hay
estado actual Q(t).
cambios, Es decir es
EL-4002 Sistemas Digitales
“Biestable”
Latch D (Data)
Agregando un decoder, se S
obtiene el Latch D D
Ya no hay estados Q
indeterminados !
Q
R
Q D Q(t+1) Comentario
El símbolo gráfico
0 0 0 No hay cambios
para el Latch D es:
0 1 1 Set Q
1 0 0 Clear Q D Q
1 1 1 No hay cambios
C Q
EL-4002 Sistemas Digitales
Ejemplo: Aplicación Latch D con reloj
Latch Resumen
• Un Latch es el elemento mas básico de memoria
• Alamcena un bit de información en uno de sus dos
estados “estables” (biestable)
• Es un elemento de memoria “volatil”, es decir mantiene
el estado mientras esté energizado.
• En su versión más simple es un circuito secuencial
asíncrono
• Se puede incorporar una señal de control o “reloj”
• Sus salidas son afectadas por las entradas (y el estado
anterior) mientras el control (reloj) sea “1”
Flip-Flops
Contenido:
El problema de tiempo del Latch
Flip-Flop “Master-Slave”
Flip-Flop activado por flanco (“Edge-triggered Flip-Flop”)
Flip-Flop J-K
Símbolos estándares para elementos de memoria
Entradas directas (S-R) a los Flip-Flops
Aplicaciones
EL-4002 Sistemas Digitales
El Problema de Tiempo del Latch
Considere el siguiente circuito:
D Q Y
Supongamos que inicialmente
Y=0 Reloj C Q
Reloj
Y
Mientras C = 1, el valor de Y sigue cambiando!
Los cambios están basados en el retardo presente en el
loop a través de la conexión de realimentación de Y a Y
Este comportamiento es inaceptable
Comportamiento deseado de la logica sincrona: 'Y'
cambia sólo una vez por pulso de reloj
EL-4002 Sistemas Digitales
El Problema de Tiempo del Latch
Una solución al problema
de tiempo del Latch es D Q Y
romper el camino
Reloj C Q
"combinacional” de D a Y
La solución es usar otro elemento de memoria
(Latch) lo que convierte el conjunto en un:
Flip-Flop SR “Master-Slave”
Flip-Flop D Activado por Flancos (“edge-triggered”)
EL-4002 Sistemas Digitales
Flip-Flop S-R Master-Slave
Master Slave
Consiste de dos Latches S-R 1 1 0 >1
S S Q Ss Q Q
en serie con reloj invertido C
1 >0
C 0 >1 Cs
en el segundo Latch. R R Q 0 Rs
Q Q
La entrada es observada por
el primer Latch cuando C = 1
La salida es cambiada por el segundo Latch cuando C = 0
El camino (combinacional, asíncrono) de la entrada a la salida se
rompe por la diferencia en los valores del reloj (C = 1 y C = 0)
El flip-flop S-R asegura que la salida cambia solo una vez por ciclo
de reloj.
EL-4002 Sistemas Digitales
Problema del Flip-Flop SR
Master Slave
0>1>0 0>1 S 0>1 Q
El cambio en la salida del S S Q Q al bajar
1
C C C el reloj
Flip-Flop es retardado por el 0
R R Q R Q
ancho del pulso lo cual hace Q
al circuito más lento, y
S y/o R pueden cambiar mientras C = 1
Supongamos que Q = 0 y S cambia a 1 y luego a 0 con R
permaneciendo en 0
El Latch Master se pone en 1
Un 1 es transferido al Slave
Supongamos que Q = 0 y S cambia a 1 y luego a 0 y R cambia a 1 y
luego a 0
El Master hace un “set” y luego un “reset”
Un 0 es transferido al Slave
Este comportamiento se llama “1s catching”
EL-4002 Sistemas Digitales
Solución: Flip-Flop D (Edge-Triggered)
Master Slave
0>1>0 0>1>0 S 0
El Flip-Flop D “edge-triggered” es D D Q Q Q
similar al flip-flop Master Slave, pero C
se reemplaza el primer Latch S-R por 1
C C Q R Q
Q
un latch D
El comportamiento “1s-catching” no se presenta cuando se reemplazan
las entradas S y R con la entrada D
El cambio de la salida del Flip-Flop D (Latch Slave) está asociada con
el flanco de reloj.
Esto se llama un Flip-Flop activado por flanco negativo (o flanco de
bajada) “negative-edge triggered Flip-Flop”
EL-4002 Sistemas Digitales
Flip-Flop D Activado Con Flanco Positivo
Formado al agregar D D Q S Q Q
un inversor a la C
C C Q R Q Q
entrada del reloj
Q cambia al valor en D al aplicar el flanco
positivo del reloj
Esta será nuestra elección como el Flip-Flop
Estándar para la mayoría de los circuitos que
diseñemos.
Es el flip-flop mas usado en la lógica secuencial
moderna
EL-4002 Sistemas Digitales
Aplicaciones:
Que hace el circuito de la figura ??
Aplicaciones: Registros de desplazamiento
(Shift Registers)
Serial-in, parallel-out (SIPO)
Aplicaciones: Registros de desplazamiento
(Shift Registers)
Que hace el circuito de la figura ??
Aplicaciones: Registros de desplazamiento (Shift
Registers): Parallel-in, Serial-out (PISO)
Flip-Flop J-K
Resuelve el problema de inestabilidad del flip-flop
S-R para S=R=1
J y K operan como Set y Reset, con la diferencia
que J=K=1 produce un “flip” conmutación de la
salida.
Haciendo K=J’ se puede sintetizar un Flip-Flop D
EL-4002 Sistemas Digitales
Que hace el circuito de la figura ??
(Suponga que los flip-flops fueron iniciados en cero)
Aplicaciones: Contador binario
Un contador binario es también un divisor de frecuencia !!
Símbolos Estándares para Elementos de Memoria
S Q S Q D Q D Q
Latches
R Q R Q C Q C Q
SR SR D con Control (1) D con Control (0)
S Q S Q
Flip-Flops SR “Master-Slave” C C
R Q R Q
“Triggered” SR “Triggered” SR
Edge-Triggered indicator
D Q D Q J Q
C
C Q C Q K Q
Triggered D Triggered D Triggered JK
Flip Flop “Edge-Triggered”
EL-4002 Sistemas Digitales
Entradas (Set / Reset)
D D Q S Q
Q
C
C C Q R Q
Q
Como se
implementa?
Al encender o al “resetear”, todo o parte de un circuito secuencial,
normalmente es inicializado a un estado conocido antes de
comenzar su operación
Dos entradas adicionales S y R, son utilizadas para esta
inicializacion
Lo anterior ocurre en un ciclo de reloj
EL-4002 Sistemas Digitales
Problema:
Usando un sumador de 1 bit y Flip-Flops D, construya un
circuito que reciba dos números de 4 bits de forma serial y
entregue como salida la suma de ambos números de forma
Paralela.
Aplicaciones
USB/USB2.0
Half duplex
USB3.0
Full Duplex
Linear-Feedback Shift Register (LFSR)
Generación de números pseudo-aleatorios
Pasa por todos los estados menos el “0,0,0,0” de forma pseudo-aleatoria
Periodo 2n-1
Para un registro suficientemente grande de bits es casi imposible distinguir de
números realmente aleatorios.
Aplicaciones: Spread Spectrum radio (CDMA), Generadores de ruido blanco,
Criptografía, Simulaciones de Monte Carlo
Simulación de Monte Carlo
LFSR de 4 bits y un feedback XOR
para el calculo de Pi