Circuitos secuenciales

Anuncio
Circuitos secuenciales
Circuitos secuenciales
Los circuitos lógicos secuenciales contienen uno o más bloques lógicos combinacionales
junto con elementos de memoria en un camino de realimentación con la lógica.
Hay varios puntos importantes:
Se necesita tener las señales correlacionadas en el tiempo, I.e., las señales no han de
mezclarse (en el tiempo). No importa donde esten las fronteras.
De hecho, si el retraso a través de la lógica fuese exáctamente el mismo, no se
necesitarían relojes. Los estados se almacenarían en las puertas y las líneas de conexión.
Los relojes sirven para enlentecer las señales demasiado rápidas mediante Latches y FlipFlops, que actúan de barreras.
Con un latch, la señal no puede propagarse hasta que el nivel del reloj es alto (latch
activado a nivel alto)
Con un FF, la señal sólo puede propagarse durante el flanco de subida del reloj (FF
activado por flanco de subida).
Los elementos de memoria son LATCHES o FLIP-FLOPS
DMI
DMI
Circuitos secuenciales – A. Diéguez
Circuitos secuenciales
Circuitos secuenciales – A. Diéguez
Elementos de memoria: Latches
El problema es que latches y FFs también enlentecen las señales lentas.
Los latches enlentecen la señal en el retraso a través del latch (td-q).
Los FFs enlentecen la señal en el tiempo de set-up más el retraso desde la llegada del
reloj hasta que se tiene el dato a la salida (tsu + tck-q).
El problema más importante es que el reloj controla la carga de los latches/registros y nos
es posible garantizar su distribución instantánea
DMI
Circuitos secuenciales – A. Diéguez
DMI
Circuitos secuenciales – A. Diéguez
Elementos de memoria: Latches
Elementos de memoria: Latches
Los elementos de memoria en sistemas VLSI son LATCHES o FLIP-FLOPS tipo D
D LATCH/FF significa Delay: Un FF D retrasa la señal (dato) un cliclo de reloj
El latch más simple tipo D:
z Almacena un 1 o un 0 en una capacidad
X Interruptor cerrado: la capacidad se carga a la señal de entrada
Y Interruptor abierto: la capacidad mantiene el valor
El latch estático tipo D:
z Utiliza realimentación para almacenar, no una capacidad
z Puede recordar mientras se mantenga la alimentación
z La capacidad sólo es necesaria para recordar el valor durante la conmutación
X CLOCK=‘1’: La señal de entrada pasa a la salida Q (el latch es transparente)
Y CLOCK=‘0’: La última entrada determina Q
Posible implementación:
Posible implementación:
z 12 transistores
z Hay una degradación del
tsetup debido a la puerta de
transmisión
DMI
Circuitos secuenciales – A. Diéguez
DMI
Circuitos secuenciales – A. Diéguez
Elementos de memoria: Latches
Elementos de memoria: Latches
El inversor C2MOS (Clocked-inverter):
z El inversor C2MOS es un híbrido entre una TG y un INV
X E flota cuando el reloj φ está bajo
Y E invierte la entrada E cuando el reloj φ está alto
El MUX D-LATCH
z Es simplemente un multiplexor
X CLOCK=‘1’: D pasa a Q
Y CLOCK=‘0’: Q se mantiene a través del camino de realimentación
El latch C2MOS (Clocked-inverter):
z 14 transistores
X φ=‘1’: G1 está ‘on’, el latch es transparente. La señal D viaja DÆXÆq
Y φ =‘0’: G2 está ‘on’. El latch almacena XÆqÆX formando un bucle no inversor
z Implementado
con puertas tiene 12 transistores + 2 del buffer de salida
C y !C tienen retrasos diferentes se produce un glitch
z La entrada es buffered: tiempo de setup aislada de la impedancia de salida de la etapa
anterior
z Si
z Layout más
z No
DMI
simple
hay puerta de paso a la entrada
Circuitos secuenciales – A. Diéguez
DMI
Circuitos secuenciales – A. Diéguez
Elementos de memoria: Latches
Elementos de memoria: Latches
El MUX D-LATCH: implementación alternativa
Alternativas dinámicas:
Timming:
DMI
Circuitos secuenciales – A. Diéguez
DMI
Circuitos secuenciales – A. Diéguez
Elementos de memoria: FlipFlip-Flops
Elementos de memoria: FlipFlip-Flops
Mayoritariamente basados en estructuras Master-Slave (tipo D en sistemas VLSI)
Efectivamente, es edge-triggered (activado por flanco)
Implementación: 2 latches D en serie, uno con CLK y el otro con CLK
Operación:
X MASTER transparente, SLAVE en hold
Y MASTER en hold, SLAVE transparente
Como siempre hay un latch en modo hold, el FF nunca es transparente.
z El
dato que entra en D justo antes de la caida del clock, llega a Q tras el flanco de bajada del reloj
z Todos los FF D master-slave son activados por flanco, pero no todos los FF D activados por
flanco son master-slave
Símbolo D-FF:
DMI
Circuitos secuenciales – A. Diéguez
DMI
Circuitos secuenciales – A. Diéguez
Elementos de memoria: FlipFlip-Flops
DMI
Circuitos secuenciales – A. Diéguez
Elementos de memoria: FlipFlip-Flops
DMI
Elementos de memoria: FlipFlip-Flops
Elementos de memoria: FlipFlip-Flops
El Enabled D Flip-Flop
z A menudo se necesita mantener un dato varios ciclos de reloj
z En ocasiones se necesita eliminar datos indeseados de las entradas
z ¿Por qué no desactivar el reloj estas ocasiones?
El Enabled D Flip-Flop
z Es una forma simple de eliminar el problema de inhabilitar el reloj con puertas
z Conmuta la entrada D del flip-flop entre la antigua Q y la nueva entrada
Operación:
X ENABLE=1: la entrada introducida en el flip-flop
Y ENABLE=0: Q se recarga en la entrada desde la salida
Poner puertas para inhabilitar el reloj provoca Clock Skew:
Aplicación:
z El enable permite al flip-flop mantener el dato estable tanto tiempo como se desea sin
poner puertas en la entrada del reloj
Otras razones para no inhabilitar el reloj con puertas (gating the clock)
z Puede causar falsos flancos de reloj si SIT cambia cuando CLK=1
DMI
Circuitos secuenciales – A. Diéguez
Circuitos secuenciales – A. Diéguez
DMI
Circuitos secuenciales – A. Diéguez
Propiedades temporales de los FFs
Propiedades temporales de los FFs
Tiempos de setup y de hold
z Los FFs tienen regisones restringidas cerca del flanco activo del reloj
z Si D cambia en estas regiones, Q es indefinido
z Q puede: ser el último valor de D; el nuevo D, tomar un nivel medio (~VDD/2)
Señales síncronas y asíncronas
z Síncrona: si no cambia en la región restringida
z Asíncrona: puede cambiar en cualquier sitio
Las señales asíncronas pueden generarse cuando:
z Vienen de fuera del CI
z Vienen de un circuito controlado por otro reloj
z Señales generadas usando el reloj con algo más
que latches o flip-flops. Ej: clock gating
Los FFs actuales tienen un hold time nulo o negativo.
z El dato puede cambiar antes del flanco y ser capturado
z El diseño (del sistema) se simplifica
DMI
Circuitos secuenciales – A. Diéguez
DMI
Circuitos secuenciales – A. Diéguez
Propiedades temporales de los FFs
Propiedades temporales de los FFs
Tiempo de propagación, tc-q
z Es el retraso de un cambio de Q respecto al flanco de reloj activo
z Los diseñadores han de hacer tc-q > thold
Tiempo de ciclo (periodo)
z En un circuito secuencial generalmente hay lógica entre FFs
z Existe un periodo mínimo del reloj (o un tiempo máximo de propagación en la lógica)
La señal de salida de un FF es siempre síncrona
z si tc-q > thold (incluso si D no lo es ya que Q sólo cambia por acción del reloj)
z tc-q desplaza los cambios deQ fuera de la región restringida para el siguiente FF
(si algo produce un retraso despues del FF no tiene porque cumplirse)
z Esta
z Si
DMI
Circuitos secuenciales – A. Diéguez
DMI
es la principal restricción temporal en circuitos digitales.
no se cumple se denomina violación de tiempo de setup
Circuitos secuenciales – A. Diéguez
Propiedades temporales de los FFs
Propiedades temporales de los FFs
Tiempo de hold
z Existe un tiempo mínimo para la propagación de la lógica: Ocurre si tc-q < thold
z Considerad 2 FFs con el mismo reloj. Para un tiempo grande de hold el FF1 puede
cambiar de estado y enviar su nueva salida al FF2 de forma que ambos conmuten en el
mismo flanco.
z Para
Tiempo de hold, visión alternativa
z El mínimo retraso aparece cuando tc-q < thold
z En este caso D1 puede provocar Q1 en el FF1 y viajar a través de la lógica y alcanzar el
FF2 dentro de su tiempo de hold. El FF2 puede, por tanto, cambiar en el mismo flanco.
evitar dobles conmutaciones:
z Dicho
de otra forma, el mínimo tiempo de propagación en la logica es:
z Los
z Si
DMI
prolemas de hold pueden solucionarse insertando un par de inversores en la lógica
no se cumple se denomina violación de tiempo de hold. Máximo peligro en shift Regs.
DMI
Circuitos secuenciales – A. Diéguez
Circuitos secuenciales – A. Diéguez
Incertidumbre en el reloj
Clock skew
Clock skew
z Cuando el flanco del reloj no alcanza a todos los FFs al mismo tiempo
4 Power Supply
3 Interconnect
Devices
2
5 Temperature
6 Capacitive Load
7 Coupling to Adjacent Lines
1 Clock Generation
Skew positivo
z Los datos y el reloj se retrasan en la misma dirección.
Skew negativo
z Los datos y el reloj se retrasan en direcciones opuestas
Retardo en una conexión del reloj
DMI
Circuitos secuenciales – A. Diéguez
DMI
Circuitos secuenciales – A. Diéguez
Clock skew
Clock skew
Efecto del skew en el máximo tiempo de propagación
skew positivo incrementa el periodo efectivo del reloj (hay más tiempo para alcanzar FF2)
z El skew positivo incrementa tPD(MAX) en el skew
Efecto del skew en el mínimo tiempo de propagación
skew positivo equivale a aumentar el tiempo de hold del FF2
z El mínimo retraso de la lógica, tPD(MIN), necesario para evitar la región restringida aumenta
z El
DMI
z El
DMI
Circuitos secuenciales – A. Diéguez
Circuitos secuenciales – A. Diéguez
Clock skew
DMI
Circuitos secuenciales – A. Diéguez
Clock skew
DMI
Circuitos secuenciales – A. Diéguez
Distribución del reloj
Distribución del reloj
CLK
Distribución de arbol en H
DMI
Esquema de buffers distribuidos en áreas locales
DMI
Circuitos secuenciales – A. Diéguez
Esquema del reloj en un sistema de dos fases
Ejemplos de redes de distribución
DEC Alpha 21164
300 MHz
Circuitos secuenciales – A. Diéguez
Con dos fases no solapadas, flancos distintos guardan los datos y modifican la salida
EV6 (Alpha 21264)
600 MHz – 0.35 micron CMOS
Generación:
100
Clk
Phase 1
Phase 2
DMI
Circuitos secuenciales – A. Diéguez
DMI
Circuitos secuenciales – A. Diéguez
Descargar