開啟原PDF

Anuncio
1.
2.
3.
4.
5.
6.
7.
Retardos, “glitches” y registros de sincronización
Temporización en sistemas síncronos
El “skew” de reloj
Distribución de reloj
Circuitos no recomendados
Frecuencia máxima de funcionamiento de un circuito síncrono
Metaestabilidad: sincronizadores
Diseño síncrono
NOT 7404
La salida de los circuitos no se produce de forma instantánea cuando
cambian sus entradas sino que transcurre un tiempo determinado
entre ambos sucesos.
A este tiempo se le conoce como retardo de propagación.
1. Retardos y glitches
No es posible determinar de forma exacta el valor de estos retardos
por lo que en los catálogos se especifican valores mínimos, típicos y
máximos.
El retardo de propagación depende de la carga, de la temperatura de
operación y del envejecimiento de los componentes.
• TPHL: Tiempo que transcurre entre la variación de la entrada y el
paso de la salida de nivel alto a nivel bajo. Este tiempo se mide en
los puntos donde la amplitud de las señales es del 50%.
• TPLH:
Retardos (Definiciones)
S
A
B
C
(A⊕B)
S
A
B
C
(A⊕B)
Operación de un sumador de tres bits S = (A ⊕ B) ⊕ C
Retardos de propagación de una puerta XOR 74S86
Glitches cuando pasa de 000 → 101 y de 010 → 111
Glitches
La diferencia de retardos entre caminos puede producir glitches en la
salida. Durante estos estados espúreos el valor de la salida no es
válido, ni estable.
En un diseño correcto no deben utilizarse señales con glitches como
señales de reloj en circuitos sensibles a flancos.
Glitches (Actividad espúria)
El empleo de lógica registrada no evita los glitches, sino su efecto
sobre el resto del sistema.
Se trata de sincronizar la lógica de modo que se toman muestras de
la señal en determinados puntos, fuera de ellos, los espúreos no
tienen efecto.
• Circuito síncrono:
• Circuito que emplea una señal de reloj para sincronizar todos
los cambios de estados internos
• Contienen elementos de memoria, flip-flops, temporizados
por la misma señal de reloj común
Diseño síncrono
• Síncronos: Incorporan señales de reloj. Los eventos se capturan
en flancos de reloj que ocurren en intervalos bien definidos. Las
salidas de un estado tienen un ciclo de reloj para propagarse al
próximo estado. Se toleran retardos en la llegada del dato dentro
del mismo periodo de reloj.
El sistema es más fiable.
• Asíncronos: No existen señales de reloj. Para garantizar un
correcto funcionamiento el cambio en una entrada sólo puede
producirse después de que el circuito esté estable como
consecuencia del cambio anterior.
El sistema es menos fiable.
Sistemas secuenciales:
Diseño síncrono
Q
Q
D
CLK
tpFF
thold
DATO
ESTABLE
tsetup
DATO
ESTABLE
Si no se respetan los tiempos de setup y de hold no se garantiza el
correcto funcionamiento del FF
CLK
D
Parámetros temporales en un FF
2. Temporización
t
t
t
FF 7474
CLK
D
Q
Parámetros temporales en un FF
Q2
D2
Q1
D1
CLK
D1
Q
DATO
tpFF
tsetup thold
tpFF
CLK
D
Q1
tpFF
DATO
tsetup thold
CLK
D
Q
DATO
tsetup
D2
Q2
tCLKmin : tiempo mínimo del periodo de
reloj para captura con éxito
tpLCR
DATO
tpLCR
LÓGICA
COMBINACIONAL
+ RUTADO
Temporización
t
t
t
t
t
Clk
Q_C
Q_B
Q_A
3 ciclos
CLK 0.0
0
A
D Q_A
4.5
0
Q_C
Q_B
Q_A
B Clk
Clk de
FF_A y FF_C
B
D Q_B
0
2 ciclos
0.0
Puede provocar un fallo en la sincronización
D
C
Q_C
3. Retardo en el reloj (Clock Skew)
Las dos primeras causas dependen de la implementación del
circuito (emplazamiento-rutado)
Las dos últimas dependen de la fabricación
Factores que lo originan:
ƒ Diferencia de caminos en las líneas de reloj
ƒ Diferencia entre los parámetros distribuidos (R,C) de cada línea
ƒ Diferencia de retardo de los buffers de la línea de reloj
ƒ Diferencias entre registros (características eléctricas): tFF,
umbrales de disparo, etc.
Retardo en el reloj (Clock Skew)
‹
‹
‹
• All major synthesis tools can infer global buffers onto clock signals that come
from off-chip
You can always use a BUFG symbol and the software will choose an
appropriate buffer type
• XC4000E/L and Spartan have 4 BUFGPs and 4 BUFGSs
• XC4000EX/XL/XV and SpartanXL have 8 BUFGLSs
• Virtex and Spartan-II have 4 BUFGs
All Xilinx FPGAs have global buffers
• This routing network is balanced to minimize skew
Global buffers are connected to dedicated routing
Usar buffers globales para reducir el skew
4. Distribución de reloj
Pínes dedicados para utilizar las líneas dedicadas de reloj
• GCLK1 – GCLK8
• Cada uno se conecta a un BUFGLS
Buffers:
• BUFGLS: Global Low-Skew Buffer
• BUFGE: Global Early Buffer
Líneas globales: distribuyen el reloj y otras señales de alto fan-out
Líneas globales en XC400XL
Líneas globales en XC4000XL
Cualquier BUFGLS puede
conectarse a las líneas
globales de todo el dispositivo
Los BUFGE sólo se pueden
conectar a las líneas globales
de su cuadrante
Líneas globales en XC4000XL
Entrada de reloj
Distribución de las líneas de reloj
Introduce skew entre CLK1 y CLK2
El uso de un BUFG extra lo reduce
‹
No hay skew de reloj
Divisor de reloj recomendado
‹
‹
Divisor de reloj tradicional
CLK1
CLK1
BUFG
BUFG
D
D
Q
Q
CLK2_CE
BUFG
CLK2
Retardo en el reloj (Clock Skew)
Q
D Q
CE
D
Contador
D
FF
Q
Si la línea conectada a Q3 es más
lenta, la transición 0111→1000, puede
convertirse en 0111→1111→1000
Produciendo un glitch en el reloj
CLK
Q3
Q2
Q1
Q0
Contador
CE
D
FF
Q
Este circuito no produce glitches: hay que
utilizar las entradas de “clock enable” para
evitar los glitches en el reloj
CLK
Q3
Q2
Q1
Q0
Hay que evitar que se produzcan glitches en el reloj
• Los FFs de los dispositivos actuales son muy rápidos: pueden
responder a pulsos de reloj muy estrechos
⇒ NO conectar la salida de lógica combinacional a una
entrada de reloj de un FF (“gated-clock”)
5. Circuitos NO recomendados
Ejemplo: contadores
Circuitos NO recomendados
RST
CLK
X
CLK_12MHz
FPGA
CLK
RST
INx
P
DETECTOR DE
PATRON “01101”
CLK_in CLK_out
RST
DIVISOR DE
FRECUENCIA
CLK_1KHz
CLK
RST
CE
Q
CONTADOR
2 BITS
Ejemplo: contador de secuencias
2
RST
RST
RST
TC
S(3..0)
TC
CLK
INC
RST
TC
S(3..0)
CONTADOR
BCD
CLK
INC
TC
S(3..0)
CONTADOR
BCD
CLK
INC
CONTADOR
BCD
CLK
4
4
4
4
SEL
M
C
MUX_4a1
D
U
O
DECODIFICADOR
S(3..0)
CONTADOR
BCD
INC
I
BCD(3..0)
4
DIS(3..0)
4
Circuitos recomendados
INCORRECTO
Gated Clock
CORRECTO
Circuitos NO recomendados
RESET asíncrono
CLR
FF
Q
Los glitches en SET/RESET asíncronos
pueden dar lugar a comportamientos
indeseados del circuito
CLK
Q[0]
Q[x]
Contador
binario
D
Q[0]
RESET síncrono
R
FF
Q
Siempre que sea posible hay que
utilizar SET/RESET síncronos
CLK
Q[x]
Contador
binario
D
Hay que evitar que se produzcan glitches en los Set/Reset
Circuitos NO recomendados
El camino más lento determinará la frecuencia máxima de trabajo
Caminos:
•Retardo de FF a FF
•Retardo de FF a Pad de salida
•Retardo de Pad de entrada a FF
•Retardo combinacional Pad a Pad
•Reloj a través de lógica
6. Frecuencia máxima de funcionamiento de un circuito
síncrono
tpLC
tpFF
Violación del tiempo de hold
Máxima frecuencia de reloj
tsetup
CLK
D
Q
tH ≤ tpFF+tpLC
TCLK ≥ tpFF+tpLC+tsetup
LÓGICA
COMBINACIONAL
+ RUTADO
Q
CLK
D
Máxima frecuencia de reloj
Clock-to-clock
Clock-to-clock
Clock-to-pad
Pad-to-clock
Pad-to-pad
Reloj a través de lógica
Se desea implementar en el dispositivo
CPLD 9536-5 los siguientes circuitos
Indíquese:
1.Número de macroceldas
2.Número y tipo de pines utilizados
3.Frecuencia máxima de funcionamiento
del circuito
Ejercicios
Clk
A
U3
C
D
U1
Q
8 ns
U4
7 ns
C
D
U2
Q
Y
6 ns
U6
DFFs :
Tsu = 3 ns
Thd = 4 ns
Tc2q = 5 ns
9 ns
U5
¿Cuál es la máxima frecuencia de operación de este circuito?
2 ns
U8
U7
1 ns
Ejercicio
BUFG
D
Q
D
D
Q
Q
D
D
Q
Q
• Aplicando las ecuaciones anteriores a cada etapa
registrada
• Analizar los retardos en las entradas y salidas
• El retardo más restrictivo fijará la velocidad máxima de
funcionamiento del sistema completo
BUS [7..0]
CLK
ADATA
¿Cómo garantizar que nuestro sistema funciona?
Máxima frecuencia de reloj
OUT1
Datos
CLK interno
Microprocesador
FPGA, u otro
sistema
A nuestro sistema pueden llegar señales externas (de un teclado, del ratón, de un
sensor, etc.) que no están sincronizadas con el reloj del sistema.
Por ello, en su captura pueden producirse violaciones de setup o hold que van a
conducir al sistema a un estado metaestable.
Para minimizar (no se pueden evitar) la metaestabilidad (oscilación de la salida del
FF) se utilizan los sincronizadores.
Fuente
externa de
datos
7. Metaestabilidad, sincronizadores
FF
Clk del sistema
Entrada
así
asíncrona
FF
Dato
sincronizado
ƒ Para sincronizar una señal asíncrona pueden colocarse dos o
más FFs en cascada funcionando con el reloj del sistema.
Sincronización de una entrada asíncrona
Problemas de la sincronización con un único FF:
1. Que la duración del pulso sea mayor de dos periodos de la señal de reloj
(podría interpretarse que llega más de un pulso).
2. Que la duración del pulso sea menor que un periodo de la señal de reloj (es
posible que se pierda).
Sincronización de señales asíncronas
Sincronización de señales asíncronas
Sincronización de un sistema multireloj
Click below to find more
Mipaper at www.lcis.com.tw
Mipaper at www.lcis.com.tw
Descargar