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