Electrónica Digital Tema 3
Diseño Síncrono
Diseño Síncrono
• Régimen transitorio en los circuitos digitales
– Concepto de espurio. Clasificación – Alternativas para evitarlos
• Diseño síncrono de Sistemas Digitales
– Estructura de un sistema síncrono – Principio de funcionamiento
– El reloj. Skew. Habilitación de reloj – Reset y preset funcionales
– Sincronización de entradas asíncronas. La Metaestabilidad
• Ejemplos
A F = A·/A = 0 t
p=
2 nst
p=
1 nsRégimen Transitorio en Circuitos Digitales
En los circuitos combinacionales sin realimentación pueden darse valores transitorios anómalos en las salidas debido a la existencia de retardos en los dispositivos lógicos.
A
/A
Régimen Transitorio en Circuitos Digitales
• Dependiendo del uso que se vaya a hacer de las salidas, la aparición de pulsos espurios puede ser irrelevante o catastrófica.
• Si el circuito combinacional tiene realimentaciones, los valores transitorios pueden dar lugar a
oscilaciones en las salidas.
• Los valores espurios en las salidas se denominan
glitches o riesgos.
Régimen Transitorio en Circuitos Digitales
• Riesgos estáticos: Son pulsos espurios que aparecen al producirse un cambio en las entradas que no produce un cambio en el estado de la salida.
• Riesgos dinámicos: Son pulsos espurios que aparecen al producirse un cambio en las entradas que debe producir un cambio en el estado de la salida.
Clasificación de los riesgos en Circuitos Digitales
Régimen Transitorio en Circuitos Digitales
Clasificación de los riesgos en Circuitos Digitales
abcd (t) abcd (t+t
0)
0101 1101 1111
ó 0111
F = 1 F = 0 F = 1
glitch funcional
• Riesgos funcionales: Son glitches que sólo aparecen cuando se producen cambios en más de una variable de entrada
1
1 1
1 1
ab cd
00
01 11 10 00
01 11 10
B F A
C Tp =1 ns
A B C F
• Riesgos lógicos: Son debidos a la realización hardware del
circuito y pueden producirse aunque sólo cambie de estado una entrada.
Régimen Transitorio en Circuitos Digitales
Clasificación de los riesgos en Circuitos Digitales
• Inserción de retardos hardware: Su valor es difícilmente controlable y varía con las condiciones de funcionamiento, pudiendo dar lugar a nuevos riesgos.
• Inserción de lógica redundante: Permite eliminar únicamente los riesgos lógicos.
• Inserción de lógica registrada: No elimina los riesgos, sino su efecto. Consiste en muestrear la lógica cuando ha finalizado el régimen transitorio -y por tanto ya no existen glitches-
almacenando los estados de salida en flip-flops. Esta solución es la más ampliamente utilizada tanto para el diseño de ASICs como para circuitos realizados con lógica programable o TTL.
Se denomina Metodología de diseño Síncrono.
Régimen Transitorio en Circuitos Digitales
Alternativas para evitar los riesgos
Diseño síncrono de circuitos digitales
Estructura de un Sistema Digital Síncrono
REG L/C REG REG
RELOJ E N T R A D A S
S A L I D A S
L/C
t
pfft
pffCambio de estado
Diseño síncrono de circuitos digitales
– Todas las entradas de los circuitos combinacionales
están registradas, luego sólo pueden cambiar de estado en los flancos activos de reloj
Bases de funcionamiento
t
pfft
pffFin del Régimen Transitorio t
pLCt
pLCDiseño síncrono de circuitos digitales
Bases de funcionamiento
– El régimen transitorio de los circuitos combinacionales sin realimentación finaliza cuando ha transcurrido el tiempo de propagación máximo del circuito desde el último
cambio en una entrada.
t
pfft
pLCt
sut
pfft
pLCt
suT
clkPor tanto: T
clk> t
pff+ t
pLC+ t
suDiseño síncrono de circuitos digitales
Bases de funcionamiento
– Para que las salidas de los circuitos combinacionales puedan registrarse correctamente deberán ser estables un tiempo antes del flanco activo de reloj, el tiempo de set-up de los flip-flops.
min max
max max
1
su pLC
pff
clk
t t t
f = + +
Diseño síncrono de circuitos digitales
donde tpLC max es el tiempo de propagación del bloque combinacional mas lento de los existentes en el circuito.
Bases de funcionamiento
– La frecuencia máxima de la señal de reloj en un circuito secuencial síncrono viene dada por la expresión:
Diseño síncrono de circuitos digitales
Bases de funcionamiento
– Un circuito digital síncrono funcionando con una frecuencia de reloj menor o igual a la dada por la expresión anterior funcionará correctamente si:
• Se emplean flip-flops activos en el mismo tipo de flanco como elementos de memoria del sistema.
• A todos los flip-flops les llega de manera simultánea la señal de reloj del circuito.
• No se activan, durante la operación normal del sistema, las entradas asíncronas de los flip-flops.
• No existe lógica combinacional realimentada.
• Todas las entradas de los circuitos combinacionales, incluso las externas al sistema, están registradas.
Diseño síncrono de circuitos digitales
– A todos los flip-flops del circuito debe llegarles de manera simultánea los flancos de la señal de reloj.
– Esto, en general, no es posible que se verifique de
manera estricta; el reloj llegará con cierto desfase a las entradas de los flip-flops debido a las distintas longitudes de las pistas y a las distintas cargas que soportan los
buffers del árbol de reloj.
– El desfase en la llegada del reloj a los flip-flops de un circuito se denomina skew del reloj.
– Un circuito síncrono puede admitir un valor máximo de skew en la señal de reloj.
Distribución del reloj
Reloj
C
T/5 C
T/5 C
T/5 C
T/5 C
T/5
Reloj
C
T/2 C
T/4 C
T/8
C
T/16 C
T/16
Diseño síncrono de circuitos digitales
Distribución del reloj
Diseño síncrono de circuitos digitales
El skew.
Modelo general:
CLK
D Q
CLK
D Q
Reloj
L/C
SKEW
Hmin min
pLC min
pFF
t t
t
skew < +
−Diseño síncrono de circuitos digitales
skew
t
Ht
pFF+t
pLCL/C
SKEW
El skew.
Análisis
Reloj
CLK
D Q
Entrada Salida
Combinacional
Diseño síncrono de circuitos digitales
Reloj generado por Lógica Combinacional
glitch
Reloj Entrada
Diseño síncrono de circuitos digitales
Reloj generado por Lógica Combinacional
Reloj
CLK
D Q
Entrada Salida
Combinacional
Reloj
CLK
D Q
Entrada
Salida
Combinacional
0 1
Mux
Reloj
Entrada Mux
Diseño síncrono de circuitos digitales
Habilitación de reloj
CK CLK
D Q
D Q
0 1 Clock Enable
Diseño síncrono de circuitos digitales
Habilitación de reloj
CLK
D Q
CE
Diseño síncrono de circuitos digitales
Reloj generado por un flip-flop
Ent. Síncrona1 Salida
Ent. Síncrona2
CLK Q
D Q
Reloj
CLK
D Q
CLK
D Q
Ent. Síncrona1 Reloj
Ent. Síncrona2
Q Violación
de set-up
!
Diseño síncrono de circuitos digitales
Reloj generado por un flip-flop
Ent. Síncrona1 Salida
Ent. Síncrona2
CLK Q
D Q
Reloj
CLK
D Q
CLK
D Q
Ent. Síncrona1 Salida Ent. Síncrona2
CLK Q
D Q
Reloj
CLK
D Q
CLK
D Q
CE
Ent. Síncrona1 Reloj
Ent. Síncrona2
Q El funcionamiento
es diferente
Habilitación de reloj
Diseño síncrono de circuitos digitales
Reset funcional
Diseño síncrono de circuitos digitales
Reloj Ent. Síncrona1 Q2 Ent. Síncrona2
CLK
D Q
CLK
D Q Salida
Q1
RST CLK
D Q
Q
Ent. Síncrona1 Reloj
Salida Ent. Síncrona2
Q1
Q2
Q2 cambia más tarde de tpFF
!
Reset funcional
Diseño síncrono de circuitos digitales
Reloj Ent. Síncrona1 Q2 Ent. Síncrona2
CLK
D Q
CLK
D Q
CLK
D Q Salida
Q1
Q RST
Reset funcional
Diseño síncrono de circuitos digitales
Reloj Ent. Síncrona1 Q2 Ent. Síncrona2
CLK
D Q
CLK
D Q Salida
CLK Q1
D Q
Q
Ent. Síncrona1 Reloj
Salida Ent. Síncrona2
Q1
Q2
. .
Flip-flop D con Reset síncrono
Flip-flop D con Preset síncrono
Reset y Preset funcionales
Diseño síncrono de circuitos digitales
Dato Reloj
Salida Resetn
CLK
D Q
Dato Reloj
Salida Preset
CLK
D Q
Diseño síncrono de circuitos digitales
– A menudo existen entradas al circuito que son asíncronas respecto a su reloj y deben ser
sincronizadas antes de poder ser usadas en el mismo.
– La sincronización consiste en registrar la entrada en un flip-flop conectado al reloj del circuito. Durante esta
operación puede ocurrir que se violen los tiempos de set-up o de hold del flip-flop.
– Como consecuencia, el flip-flop puede registrar o no el evento de entrada o, lo que es peor, entrar en un estado metaestable.
Sincronización de entradas asíncronas
Diseño síncrono de circuitos digitales
Sincronización de entradas asíncronas.
Metaestabilidad
– Cuando se violan los tiempos de set-up o de hold de un flip-flop, su salida puede pasar a un nivel intermedio; al cabo de un tiempo indeterminado tomará aleatoriamente el valor 0 ó 1.
Ent. Asíncrona Reloj
Q
tSU tH
tpFF tmet
Diseño síncrono de circuitos digitales
Sincronización de entradas asíncronas.
Metaestabilidad
– La metaestabilidad solo afecta a los flip-flops usados para sincronizar entradas asíncronas.
– La probabilidad de que un flip-flop entre en estado
metaestable y el tiempo de permanencia en dicho estado depende del proceso tecnológico y de las condiciones ambientales de funcionamiento.
– Generalmente los flip-flops pasan rápidamente a un estado estable.
– Si la salida del flip-flop es muestreada en el estado
metaestable, se propagará un valor indefinido a la lógica a la que esté conectado.
Diseño síncrono de circuitos digitales
Asíncrona
Reloj
Síncrona
CLK
D Q
CLK
D Q
CLK
D Q
Sincronización de entradas asíncronas.
☺ Provee tiempo para que desaparezca la metaestabilidad antes de usar la señal en el circuito.
Mayor tiempo de respuesta del sistema.
Asíncrona Reloj
Diseño síncrono de circuitos digitales
Sincronización de entradas asíncronas.
Conformación de pulsos
– Pulsos mayores que un período de reloj
Asíncrona
Reloj
Síncrona
CLK
D Q
CLK
D Q
CLK
D Q
Q
Asíncrona Reloj
Síncrona
Diseño síncrono de circuitos digitales
Sincronización de entradas asíncronas.
Conformación de pulsos
– Pulsos menores que un período de reloj
Asíncrona
Reloj
Síncrona
CLK
D Q
CLK
D Q
CLK
D Q
Asíncrona Reloj
Diseño síncrono de circuitos digitales
Sincronización de entradas asíncronas.
Conformación de pulsos
– Pulsos menores que un período de reloj
Asíncrona
Reloj
Síncrona
CLK
D Q
Q
Vcc
CLK
D Q
RST
Asíncrona Reloj
Síncrona
Diseño síncrono de circuitos digitales
Sincronización de entradas asíncronas.
Eliminación de espurios
Asíncrona
Reloj
Síncrona
CLK
D Q
CLK
D Q
CLK
D Q
Preset
L/C
Asíncrona Reloj
Síncrona
Diseño síncrono de circuitos digitales
Conclusiones
– Las normas de diseño síncrono son una buena guía para la realización de diseños con un funcionamiento seguro.
– En su aplicación práctica es frecuente que se den casos en los que resulta inevitable vulnerarlas: en el interfaz con buses asíncronos o con memorias asíncronas, por
ejemplo, o en el de la sincronización de entradas asíncronas.
– Cuando esto ocurra es aconsejable aislar los módulos de interfaz con sistemas asíncronos y diseñar el resto del sistema ateniéndose a las reglas enunciadas.
Diseño síncrono de circuitos digitales
Conclusiones
– En el diseño de circuito es aconsejable utilizar flip-flops tipo D, puesto que son los de funcionamiento más simple y facilitan la interpretación del modo de operación del
circuito.
– Además, con los flip-flops tipo D resulta muy sencilla la incorporación de entradas síncronas de reset, preset y habilitación de reloj.
– Las entradas asíncronas de los flip-flops sólo deben utilizarse, si se desea, para la inicialización del circuito, pero nunca durante la operación normal del mismo.
alarma entra
sale
Contador
up/down
Q
A=B B
A T
Q rst_asinc
‘1’
n
max n
Ejemplos
Controlador de Aforo
sale entra
Contador
up/down
Q
A=B B
A D
Q n
max n
CE clk
sync sync
CE alarma
Ejemplos
Controlador de Aforo (diseño síncrono)
div_prog
N
Q contador
res_asinc
Q D Q div_prog
N
Q
N clk
ent
m sal
n m
div M
Ejemplos
Multiplicador de frecuencia programable
clk div ent sal
ent clk clk
ent div
ent div
ent
f N
f f
N f 1 f
1 f 1 T
M T
= •
=
=
=
clk
N f
f = f = • N
f
div= f
clkEjemplos
Funcionamiento del Multiplicador de frecuencia
div_prog
N
Q contador
res_sinc
Q D Q div_prog
N
Q
N clk
ent
m sal
n m
div EN M
sync
clk
CE
Ejemplos
Multiplicador de frecuencia (diseño síncrono)
div :N Q generador de
ventana
win
contador
res_asinc
Q n D Q E1
E2 E3 E4
S BCD
7seg
contador Q
C
S1 S2 S3 S4 E
clk ent
con
m m m m con_reg
2
m
Ejemplos
Frecuencímetro
clk win ent
con 0 1 2 3 4 5 0 1 2 3 4 5 0
5 5
con_reg X
Ejemplos
Funcionamiento del frecuencímetro
m m m m con_reg n
clk
ent sync con
clk
E1 E2 E3 E4
S BCD
7seg
C
S1 S2 S3 S4 E
m
div :N Q
contador
Q
CE 2
generador de ventana
win
D Q CE
contador
res_sinc Q CE