41
14: Asincrónicas 1 ELO211: Sistemas Digitales Tomás Arredondo Vidal 1er Semestre – 2009 Este material está basado en: textos y material de apoyo: Contemporary Logic Design 1 st / 2 nd edition. Gaetano Borriello and Randy Katz. Prentice Hall, 1994, 2005 material del curso ELO211 del Prof. Leopoldo Silva material en el sitio http://es.wikipedia.org

ELO211: Sistemas Digitales TomásArredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/14... · después del ciclo de lectura los amplificadores recargar

  • Upload
    dangnga

  • View
    213

  • Download
    1

Embed Size (px)

Citation preview

Page 1: ELO211: Sistemas Digitales TomásArredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/14... · después del ciclo de lectura los amplificadores recargar

14: Asincrónicas 1

ELO211: Sistemas Digitales

Tomás Arredondo Vidal1er Semestre – 2009

Este material está basado en:

❒ textos y material de apoyo: Contemporary Logic Design 1st / 2nd edition. Gaetano Borriello and Randy Katz. Prentice Hall, 1994, 2005

❒ material del curso ELO211 del Prof. Leopoldo Silva

❒ material en el sitio http://es.wikipedia.org

Page 2: ELO211: Sistemas Digitales TomásArredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/14... · después del ciclo de lectura los amplificadores recargar

14: Asincrónicas 2

14-Maquinas Secuenciales Asincrónicas

14.1 Bases electrónicas para almacenar bits

14.2 Latch asincrónico R-S

14.3 Diseño de FFs en base a latches

14.4 Multivibrador aestable

14.5 Multivibrador monoestable

Page 3: ELO211: Sistemas Digitales TomásArredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/14... · después del ciclo de lectura los amplificadores recargar

14: Asincrónicas 3

Bases electrónicas para almacenamiento de bits

❒ Los programas de computadoras usan memoria RAM(Random Access Memory) para almacenar programas y datos (bits) utilizados para la computación

❒ Ha habido una gran mejora en la densidad de almacenamiento desde tubos a memoria electromagnéticas (ferritas) a circuitos integrados actuales (ICs: Integrated Circuits)

❒ Memoria volátil tiene que ser realimentada con electricidad o se pierde toda la información cuando se apaga la computadora

Page 4: ELO211: Sistemas Digitales TomásArredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/14... · después del ciclo de lectura los amplificadores recargar

14: Asincrónicas 4

Bases electrónicas para almacenamiento de bits

❒ RAM volátil moderna almacena bits en una de dos formas:

❍ como cargas en condensadores (e.g. DRAM: Dynamic RAM)

❍ como estados en flip flops (e.g. SRAM: Static RAM)

❒ DRAM tiene que ser refrescada periódicamente (e.g. el standard JEDEC especifica cada 64ms o menos)

❒ Memorias no volátiles incluyen ROM, Flash, discos duros, floppys, cintas magnéticas. Pueden o no ser secuenciales y típicamente son mas caras y mas lentas que memorias volátiles (e.g. DRAM)

❒ Otros tipos de memoria no volátiles siendo actualmente desarrollados incluyen nanotubos de carbón y el efecto de magnetoresistencia de tunnel (TMR)

Page 5: ELO211: Sistemas Digitales TomásArredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/14... · después del ciclo de lectura los amplificadores recargar

14: Asincrónicas 5

Bases electrónicas para almacenamiento de bits (cont)

❒ DRAM es un tipo de RAM que almacena cada bit de datos en un condensador separado

❒ Ya que los condensadores no ideales tienen perdidas de electrones (cargas) la información eventualmente se pierde si no se refresca

❒ La ventaja de DRAM es que estructuralmente es mas simple, solo se necesita un transistor y condensador por bit, esto permite una gran densidad

❒ Ejemplo: Transistor NMOS (Negative-Channel Metal-Oxide Semiconductor) usados para cargar un condensador

Datos: 1/0

Control Acceso: 1/0

Page 6: ELO211: Sistemas Digitales TomásArredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/14... · después del ciclo de lectura los amplificadores recargar

14: Asincrónicas 6

Bases electrónicas para almacenamiento de bits (cont)❒ Ejemplo: DRAM de 4x4 celdas

❒ Para leer un valor, con RAS (Random Access Strobe = 0)

❍ usando a0 y a1 se activan los transistores de una fila y se conectan los condensadores de esa fila a las líneas de detección (senselines)

❍ los amplificadores (sense amplifiers) discriminan entre un 0 y un 1 y amplifican las señales al valor correcto (e.g. TTL = 5V)

❍ se usan a2 y a3 para seleccionar la columna correcta y se conecta al output via el MUX

❍ después del ciclo de lectura los amplificadores recargar los valores de los condensadores que fueron descargados por la lectura

❒ Para la escritura de un bit se lee su fila completa al latch, se modifica el bitdeseado en el latch usando Data In (D.I) y se almacena la fila modificada en los condensadores correspondientes

D.I.

Page 7: ELO211: Sistemas Digitales TomásArredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/14... · después del ciclo de lectura los amplificadores recargar

14: Asincrónicas 7

Bases electrónicas para almacenamiento de bits (cont)

❒ SRAM es un tipo de RAM volátil que almacena cada bit de datos en una configuración estable que mantiene el valor del bit mientras haya poder aplicado

❒ Usando un par de inversores CMOS esta configuración se puede lograr de la siguiente forma. Esto se denomina almacenamiento bi-estable ya que el output en CMOS es estable alrededor de los dos valores Vcc y GND

"0"

"1"

"stored value"

Page 8: ELO211: Sistemas Digitales TomásArredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/14... · después del ciclo de lectura los amplificadores recargar

14: Asincrónicas 8

"remember"

"load""data"

"stored value"

"0"

"1"

"stored value"

Circuitos simples con feedback

❒ Dos inversores forman una celda de memoria estática

❍ van a mantener valor mientras tenga energía el circuito

❒ Como se introduce un nuevo valor en la celda?

❍ selectivamente romper realimentación

❍ cargar nuevo valor en la celda

Page 9: ELO211: Sistemas Digitales TomásArredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/14... · después del ciclo de lectura los amplificadores recargar

14: Asincrónicas 9

Estabilidad e inputs asincrónicos

❒ Circuitos sincrónicos (con reloj)❍ inputs, estados e outputs muestreados o cambian en relación a señal común (reloj)

❍ pueden ser master/slave, activados con cantos

❒ Circuitos asincrónicos❍ inputs, estados y outputs muestreados o cambian independientes de señal de referencia común (glitches/hazards una preocupacion )

❍ e.g., R-S latch

Page 10: ELO211: Sistemas Digitales TomásArredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/14... · después del ciclo de lectura los amplificadores recargar

14: Asincrónicas 10

Estabilidad e inputs asincrónicos (cont)❒ Inputs asincrónicos a circuitos sincrónicos

❍ inputs pueden cambiar en cualquier tiempo, no van a satisfacer tiempos de setup/hold

❍ peligroso, inputs sincrónicos son preferidos

❍ en generar es buena practica de diseño el tener circuitos que solamente tienen inputs sincrónicos

❍ hay veces que los inputs asincrónicos no se pueden evitar (e.g., señal reset, memory wait, input de usuario), por eso se usa un sincronizador

D Q

D Q

Clock

Clock

AsyncInput D Q

Sincronizador (D0)

Page 11: ELO211: Sistemas Digitales TomásArredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/14... · después del ciclo de lectura los amplificadores recargar

14: Asincrónicas 11

Input a D0 es asincrónico

FF no captura la señal

se llega a estado inconsistente o erróneo!

In

Q0

CLK

Estabilidad e inputs asincrónicos (cont)❒ Que puede salir mal?

❍ input cambia muy cerca de un canto de reloj (violando restricciones de tiempo de setup/hold) esto causa que el output del FF sincronizador sea indefinido

Clock

AsyncInput D Q

Sincronizador (D0)

?

Page 12: ELO211: Sistemas Digitales TomásArredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/14... · después del ciclo de lectura los amplificadores recargar

14: Asincrónicas 12

small, but non-zero probability that the FF output will get stuck

in an in-between state

oscilloscope traces demonstratingsynchronizer failure and eventual

decay to steady state

logic 0 logic 1logic 0

logic 1

Falla de sincronización❒ Ocurre cuando el input a un FF cambia cerca del canto del reloj

(tiempo de setup y hold del input no son respetados)

❍ el FF puede entrar en un estado metaestable – no es ni logica 0 ni 1

❍ puede quedarse en este estado indefinidamente (poco probable dado variaciones termales y asimetrías en retardos de señales a nivel de transistores de implementación del FF)

Page 13: ELO211: Sistemas Digitales TomásArredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/14... · después del ciclo de lectura los amplificadores recargar

14: Asincrónicas 13

D DQ Qasynchronous

inputsynchronized

input

synchronous system

Clk

Falla de sincronización (cont)❒ Probabilidad de falla puede ser reducida pero nunca puede ser 0

❒ Posibles mejoras:

❍ hacer que el reloj sea mas lento: esto le da mas tiempo al sincronizador para decaer a un estado estable; fallas del sincronizador puede ser un grave problema para sistemas de alta velocidad

❍ usar tecnología con lógica mas rápida: esto hace que la “cumbre” sea mas delgada

❍ poner dos sincronizadores en cascada: ambos tendrían que fallar para tener un estado metaestable

Page 14: ELO211: Sistemas Digitales TomásArredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/14... · después del ciclo de lectura los amplificadores recargar

14: Asincrónicas 14

D Q

D Q

Q0

Clock

Clock

Q1

AsyncInput

D Q

D Q

Q0

Clock

Clock

Q1

AsyncInput D Q

Clocked Synchronous

System

Synchronizer

Falla de sincronización (cont)

❒ Nunca tener inputs asincrónicos que hagan fan-out a mas de un flip-flop❍ por diferencias en cableado y otros retardos podrían

tener valores diferentes, seria un estado invalido

❍ hay que sincronizar lo antes posible y tratar como señal sincrónica

Page 15: ELO211: Sistemas Digitales TomásArredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/14... · después del ciclo de lectura los amplificadores recargar

14: Asincrónicas 15

14-Maquinas Secuenciales Asincrónicas

14.1 Bases electrónicas para almacenar bits

14.2 Latch asincrónico R-S

14.3 Diseño de FFs en base a latches

14.4 Multivibrador aestable

14.5 Multivibrador monoestable

Page 16: ELO211: Sistemas Digitales TomásArredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/14... · después del ciclo de lectura los amplificadores recargar

14: Asincrónicas 16

❒ Se denomina latch a un elemento de almacenamiento de un bit❒ Usando compuertas NOR

❍ similar a par de inversores, pueden forzar output Q a 0 (reset=1, set=0) o 1 (set=1, reset=0)

❒ Usando compuertas NAND❍ similar a par de inversores, pueden forzar output Q a 0 (reset=0,

set=1) o 1 (set=0, reset=1)

R

S

Q

Q'

R

S

Q

R'

S'Q

Q

Q'

S'

R'

Memoria basada en compuertas conectadas

NORx y z0 0 10 1 01 0 01 1 0

NANDx y z0 0 10 1 11 0 11 1 0

Reset

Set

Page 17: ELO211: Sistemas Digitales TomásArredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/14... · después del ciclo de lectura los amplificadores recargar

14: Asincrónicas 17

Reset Hold Set SetReset Race

R

S

Q

\Q

100

Comportamiento temporal de latch R-S

R

S

Q

Q'

S R Q

0 0 hold

0 1 0

1 0 1

1 1 unstable

Page 18: ELO211: Sistemas Digitales TomásArredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/14... · después del ciclo de lectura los amplificadores recargar

14: Asincrónicas 18

S R Q

0 0 hold

0 1 0

1 0 1

1 1 unstable

Estados para un latch R-S

❒ Tabla de verdadQ Q'0 1

Q Q'1 0

Q Q'0 0

Q Q'1 1

R

S

Q

Q'

Page 19: ELO211: Sistemas Digitales TomásArredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/14... · después del ciclo de lectura los amplificadores recargar

14: Asincrónicas 19

Comportamiento de estados de latch R-S

❒ Diagrama de estados

❍ estados: valores posibles

❍ transiciones: cambios basados en inputs

❒ Difícil observar latch R-S en estado 1-1

❍ R o S usualmente cambian antes

❍ condición de “carrera” o transicion “no deterministica”

Q Q'0 1

Q Q'1 0

Q Q'0 0

Q Q'1 1

SR=00SR=11SR=00

SR=10

SR=01

SR=00SR=10

SR=00SR=01

SR=11 SR=11

SR=10SR=01

SR=01 SR=10

SR=11

oscilaciones posibles entre estados 00 y 11

S R Q

0 0 hold

0 1 0

1 0 1

1 1 unstable

Page 20: ELO211: Sistemas Digitales TomásArredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/14... · después del ciclo de lectura los amplificadores recargar

14: Asincrónicas 20

Q(t+∆)

R

S

Q(t)

S R Q(t) Q(t+∆)0 0 0 0

0 0 1 1

0 1 0 0

0 1 1 0

1 0 0 1

1 0 1 1

1 1 0 X

1 1 1 X

hold

reset

set

no permitido ecuación característica

Q(t+∆) = S + R’ Q(t)

Análisis de latch R-S❒ Para generar tabla estados y K-mapa: poner valores de

input, dejar que señales se propaguen y llenar próximo estado

R

S

Q

Q'

0 0

1 0

X 1

X 1Q(t)

R

S

S=R=1 no es permitido

NORx y z0 0 10 1 01 0 01 1 0

Page 21: ELO211: Sistemas Digitales TomásArredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/14... · después del ciclo de lectura los amplificadores recargar

14: Asincrónicas 21

R’

S’Q

Q'

Actividad: latch R-S usando NAND

ecuacion caracteristica

Q(t+∆) = S + R’ Q(t)

R’

S’

Q(t)

0 0

1 0

X 1

X 1Q(t)

R

S

S R S’ R’ Q(t) Q(t+∆)0 0 1 1 0 0

0 0 1 1 1 1

0 1 1 0 0 0

0 1 1 0 1 0

1 0 0 1 0 1

1 0 0 1 1 1

1 1 0 0 0 X

1 1 0 0 1 X

hold

reset

set

not allowed

Page 22: ELO211: Sistemas Digitales TomásArredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/14... · después del ciclo de lectura los amplificadores recargar

14: Asincrónicas 22

enable'

S'Q'

QR' R

S

Latch R-S con enable

❒ Controlar cuando entradas R y S importan

❍ de otra forma cualquier ruido en R o S mientras enable es bajo podría causar cambio en valor almacenado

Set Reset

S'

R'

enable'

Q

Q'

100

NORx y z0 0 10 1 01 0 01 1 0

Page 23: ELO211: Sistemas Digitales TomásArredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/14... · después del ciclo de lectura los amplificadores recargar

14: Asincrónicas 23

14-Maquinas Secuenciales Asincrónicas

14.1 Bases electrónicas para almacenar bits

14.2 Latch asincrónico S-R

14.3 Diseño de FFs en base a latches

14.4 Multivibrador aestable

14.5 Multivibrador monoestable

Page 24: ELO211: Sistemas Digitales TomásArredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/14... · después del ciclo de lectura los amplificadores recargar

14: Asincrónicas 24

clock’

R’ and S’

changing stable changing stablestable

Latch R-S con reloj❒ Control del latch R-S con un reloj

❍ no se puede dejar que R y S cambien mientras el reloj esta activo (cuando clock’=0)

❍ solo se tiene la mitad del periodo de reloj para que las señales se propagan

❍ señales tienen que estar estables durante la otra mitad del periodo del reloj

clock’

S’Q’

QR’ R

S

NORx y z0 0 10 1 01 0 01 1 0

Page 25: ELO211: Sistemas Digitales TomásArredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/14... · después del ciclo de lectura los amplificadores recargar

14: Asincrónicas 25

clock

R

S Q

Q’ R

S Q

Q’R

S

Latches en cascada❒ Conectar output de un latch al input de otro

❒ Como se controla la propagación de los cambios entre los latches?

❍ debería moverse por un latch por periodo del reloj

❍ el movimiento de señales entre los latches no debe ser mas rápido

❍ inputs correctos, con respecto al tiempo se dan a los FFs

❍ ningún FF cambia de estado mas de una vez por evento del reloj (canto o nivel)

Page 26: ELO211: Sistemas Digitales TomásArredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/14... · después del ciclo de lectura los amplificadores recargar

14: Asincrónicas 26

Estructura maestro-esclavo (Master-slave)❒ Se rompe el flujo alternando relojes

❍ usar el nivel positivo del reloj para hacer que los inputs entren al primer latch

❍ usar el nivel del reloj negativo para activar segundo latch

❒ Ver el par como una unidad básica usado para almacenar un bit

❒ La segunda etapa va a tener cambio de output un corto tiempo

después que el reloj vaya de alto a bajo

❒ Por esto se considera como un latch master-slave activado en elcanto negativo (negative edge-triggered master-slave latch)

master stage slave stage

P

P’

CLK

R

S Q

Q’ R

S Q

Q’R

S

Page 27: ELO211: Sistemas Digitales TomásArredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/14... · después del ciclo de lectura los amplificadores recargar

14: Asincrónicas 27

Estructura maestro-esclavo (Master-slave) (cont)❒ A pesar del costo adicional, el latch master-slave activado en el

canto negativo tiene varias ventajas sobre un latch activado en niveles

1. Cambios de valores están restringidos a un latch master-slave y no se pueden propagar a un segundo latch hasta el próximo periodo del reloj

2. Ya no estamos preocupados que el retardo de la lógica combinacionalsea mayor que el periodo del reloj sino que la lógica entre las latchescalcule nuevos valores antes del nuevo canto de bajada

3. Por lo anterior generalmente se puede incrementar la frecuencia del reloj en esta configuración (mas que en una basada en niveles)

Page 28: ELO211: Sistemas Digitales TomásArredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/14... · después del ciclo de lectura los amplificadores recargar

14: Asincrónicas 28

Set1s catch

S

R

CLK

P

P’

Q

Q’

Reset

MasterOutputs

SlaveOutputs

Master-Slave: Problema de captura de 1❒ Esta configuración de tiene un problema de captura de

perturbaciones

❒ Ejemplo: En la primer etapa de master-slave latch

❍ perturbación 0-1-0 en R o S mientras reloj esta alto se captura en etapa master

❍ induce restricción que lógica no tenga perturbacionesmaster stage slave stage

P

P’

CLK

R

S Q

Q’ R

S Q

Q’R

S

Page 29: ELO211: Sistemas Digitales TomásArredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/14... · después del ciclo de lectura los amplificadores recargar

14: Asincrónicas 29

10 compuertas

Flip-flop D❒ Hace que S y R se complementen

❍ elimina problema de captura de 1

❍ no puede mantener valor previo(debe tener un valor nuevo en cada periodo del reloj)

❍ valor de D antes que el reloj baje es lo que se guarda en el FF

D Q

Q’

master stage slave stage

P

P’

CLK

R

S Q

Q’ R

S Q

Q’

FF DD Q(k+1)0 01 1

Page 30: ELO211: Sistemas Digitales TomásArredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/14... · después del ciclo de lectura los amplificadores recargar

14: Asincrónicas 30

Q

D

Clk=1

R

S

0

D’

0

D’D

Q’

D FF activado en canto negativo

4-5 retardos de compuertas

debe respetar tiempos de setupy hold para capturar input

correctamente

ecuación característica

Q(t+1) = D

tiene D’ cuandoreloj va a bajo

tiene D cuandoreloj va a bajo

FF D Activado en cantos (versión 2)❒ Solución mas eficiente: solo 6 compuertas

❍ sensible a inputs solo cerca de los cantos del reloj (no mientras reloj este alto)

Page 31: ELO211: Sistemas Digitales TomásArredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/14... · después del ciclo de lectura los amplificadores recargar

14: Asincrónicas 31

Q

D

Clk=0

R

S

D

D’

D’

D’ D

cuando reloj va de alto a bajose almacena input

cuando reloj es bajodatos se mantienen

FFs Activados en cantos (cont)❒ Análisis

Q

new D

Clk=0

R

S

D

D’

D’

D’ D

new D ≠ old D

Page 32: ELO211: Sistemas Digitales TomásArredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/14... · después del ciclo de lectura los amplificadores recargar

14: Asincrónicas 32

positive edge-triggered FF

negative edge-triggered FF

D

CLK

Qpos

Qpos’

Qneg

Qneg’

100

FFs Activados en cantos (cont)❒ Cantos positivos

❍ inputs muestreados en canto de subida; outputscambian después de canto de subida

❒ Cantos negativos❍ inputs muestreados en canto de bajada; outputscambian después de canto de bajada

Page 33: ELO211: Sistemas Digitales TomásArredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/14... · después del ciclo de lectura los amplificadores recargar

14: Asincrónicas 33

Flip-flop JK❒ J es un set, K es reset, ambos indican complemento del estado

actual

❒ Ecuación característica: Q(t+1) = J(t) Q’(t) + K’(t) Q(t)

❒ Implementación de un FF D usando un FF JK

CLK

J

K

Q

FF JKJ K Q(k+1)0 0 Q(k)0 1 01 0 11 1 Q’(k)

CLK

J

K

Q

Q’

D

Page 34: ELO211: Sistemas Digitales TomásArredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/14... · después del ciclo de lectura los amplificadores recargar

14: Asincrónicas 34

Flip-flop T❒ T es un toggle (un tipo de interruptor de presión), se oprime una

vez y queda en un estado, se vuelve a oprimir y cambia de estado

❒ Implementación de FF T usando un FF JK

CLK

T Q

CLK

J

K

Q

Q’

T

FF TT Q(k+1)0 Q(k)1 Q’(k)

Page 35: ELO211: Sistemas Digitales TomásArredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/14... · después del ciclo de lectura los amplificadores recargar

14: Asincrónicas 35

Latch Transparente

❒ Un latch transparente puede verse como un mux realimentado

CLK

D Q

G

1 QDFF D

D Q(k+1)0 01 1

0

Page 36: ELO211: Sistemas Digitales TomásArredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/14... · después del ciclo de lectura los amplificadores recargar

14: Asincrónicas 36

Latch Transparente (cont)❒ Una implementación mediante compuertas es la siguiente

❒ Cuando G esta alto, Q sigue a D. En caso contrario Q permanece estable. Se denomina un latch D estático ya que mantiene Q mientras G este inactivo.

❒ Si D esta alto al ocurrir un canto de bajada en G, se produce una perturbación (falso cero) en Q. Esto debido a que R y S conmutan en tiempos diferentes. Esta perturbación genera oscilaciones.

❒ Otro problema es si el ancho del pulso G es demasiado angostocausa que el latch no alcanza a setearse.

❒ Otra dificultad es si D cambia casi al mismo tiempo que el latch se activa con el canto de bajada G. En este caso no puede determinarse cual será el valor se captura en el latch.

D

GS

R

QP

Si G y D están un tiempo suficiente en 1 se llega al estado estable PQRS=0101

Page 37: ELO211: Sistemas Digitales TomásArredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/14... · después del ciclo de lectura los amplificadores recargar

14: Asincrónicas 37

Latch Transparente (cont)

❒ Por estas razones, el diseño de dispositivos secuenciales debe garantizar que las entradas sean validas y estables durante los periodos en que estas pueden influir sobre el cambio de estado.

❒ G debe permanecer activa por el tiempo que sea suficiente para que el latch pueda capturar el dato. Esto requiere un mínimo ancho para el pulso G.

❒ El tiempo de set-up debe garantizar que el valor de D se haya propagado a través del lazo de realimentación antes que se active el latch.

❒ El tiempo de hold debe garantizar que el latch este cerrado y Q estable antes de permitir los cambios en la entrada D.

❒ Latches transparentes también se pueden configurar en forma maestro-esclavo (activados por cantos de subida y bajada)

D

GS

R

QP

Page 38: ELO211: Sistemas Digitales TomásArredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/14... · después del ciclo de lectura los amplificadores recargar

14: Asincrónicas 38

14-Maquinas Secuenciales Asincrónicas

14.1 Bases electrónicas para almacenar bits

14.2 Latch asincrónico S-R

14.3 Diseño de FFs en base a latches

14.4 Multivibrador aestable

14.5 Multivibrador monoestable

Page 39: ELO211: Sistemas Digitales TomásArredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/14... · después del ciclo de lectura los amplificadores recargar

14: Asincrónicas 39

Multivibrador Aestable (oscilador continuo)❒ Este circuito es un oscilador elemental (para oscilar se le asigna Init = 1)❒ x, y, z son las variables de estado, se tiene que:

❍ X = (z Init)’ Y = x’ Z = y’

❒ La matriz de transiciones indica que solo el estado 101 es estable ya que con Init = 0 eventualmente se llega y se queda en el estado 101.

❒ Si se tiene un ciclo de oscilación de High a Low (HL) y de Low a High (LH) para cada compuerta se obtiene un circuito oscilador con el periodo:

T = 3(THL + TLH)❒ Los FFs se clasifican como multivibradores bi-estables

Initxyz 0 1000 111 111001 111 011010 110 110011 110 010100 101 101101 101 001110 100 100111 100 000

Init

X ZY

xz y

Page 40: ELO211: Sistemas Digitales TomásArredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/14... · después del ciclo de lectura los amplificadores recargar

14: Asincrónicas 40

14-Maquinas Secuenciales Asincrónicas

14.1 Bases electrónicas para almacenar bits

14.2 Latch asincrónico S-R

14.3 Diseño de FFs en base a latches

14.4 Multivibrador aestable

14.5 Multivibrador monoestable

Page 41: ELO211: Sistemas Digitales TomásArredondo Vidal 1er ...profesores.elo.utfsm.cl/~tarredondo/info/digital-systems/14... · después del ciclo de lectura los amplificadores recargar

14: Asincrónicas 41

Multivibrador Monoestable

❒ El siguiente circuito permite generar un pulso de ancho programable❒ Se emplea para generar temporizadores que generan eventos

después de un tiempo dado

❒ Se suele usar una red RC después del inversor para generar el retardo (no esta en diagrama)

❒ Con el canto de subida en R (1) se inicia el multivibrador, después del canto de bajada en Q hay un retardo hasta que S sube (2)

❒ El tiempo que genera el multivibrador es la señal Q’ (entre 3 y 4).❒ Se debe reiniciar la señal R a cero para reiniciar disparo del circuito

tiene un estado estable (dispara una vez o one shot)

R

SQ’

Q

Dispara