68
Sistemas Digitales II Registros y circuitos secuenciales Felipe Andrés Delgado Ramírez

Unidad I - Parte II

Embed Size (px)

DESCRIPTION

Sistema digitales

Citation preview

  • Sistemas Digitales IIRegistros y circuitos secuenciales

    Felipe Andrs Delgado Ramrez

  • Circuitos combinatorios Funciones Booleanas El resultado depende slo de las entradas

    Para hacer aplicaciones mas interesantes, necesitamos circuitos que puedan recordar su estado y que acten segn su estado y las entradas.

    Para que? Para construir memorias, registros, contadores, etc.

    Un circuito lgico de estas caractersticas se denomina flip-flop. La razn porque memoriza un estado hasta que se le grabe otro estado diferente.

    Flip-flops

  • Para utilizar sus valores previos, los circuitos secuenciales recurren a la realimentacin.

    La realimentacin se produce cuando una salida se conecta a una entrada.

    Ejemplo simple:. Si Q es 0 siempre ser 0, si es 1, siempre ser 1,

    porqu?

    Realimentacin

  • Uno de los circuitos secuenciales ms bsicos es el flip-flop SR. SR por set/reset.

    Circuito lgico y diagrama en bloque

    Flip-flop SR

  • La tabla caracterstica describe el comportamiento del flip-flop SR.

    Q(t) es el valor de la salida al tiempo t. Q(t+1) es el valor de Q en el prximo ciclo de clock.

    Flip-flop SR

  • A los efectos del anlisis de los estados, podemos considerar que el flip-flop SR tiene en realidad 3 entradas: S, R, y su salida actual Q(t).

    Note los dos valores indefinidos, cuando las entradas S y R son 1, el flip-flop es inestable Por qu?

    Flip-flop SR

  • Flip-flop RS Para uniformar el tipo de compuerta a

    utilizar puede demostrarse fcilmente que todos los circuitos lgicos se pueden construir utilizando compuertas NOR o Compuertas NAND solamente.

    Esto ayuda a trabajar con los elementos reales ya que minimiza la cantidad de componentes fsicos que incluimos en nuestro diseo lgico

  • Flip-flop RS NANDQ

    Q

    S

    R

    Q

    Q

    S

    R

    Q

    Q

    S

    R

    Aplicando De Morgan

    S + Qt = S . Qt

  • Habilitacin de datos (Enable)

    Generalmente es necesario determinar cuando grabar informacin en un latch, a pesar de tener datos en la entrada

    Para habilitar (enable) es ideal la compuerta AND.

    A

    Enable

    Q Si Enable = 0, Q = 0Si Enable = 1, Q = A

  • Flip-flop SR con EnableQ

    Q

    S

    R

    S

    R

    Enable

    Q

    Q

    S

    R

    S

    R

    EnableIntegramente con compuertas NAND

  • Circuitos sincrnicos Los circuitos sincrnicos funcionan sobre

    lo que denominaremos base de tiempo.

    Es decir, las salidas dependen no slo de las entradas, sino del estado en que estaban las salidas y del ritmo que impone la base de tiempo.

  • En general, necesitamos una forma de ordenar los diferentes eventos que producen cambios de estados

    Para esto usamos relojes Un reloj (clock) es un circuito capaz de producir

    seales elctricas oscilantes, con una frecuencia uniforme

    Bases de tiempo = Relojes

  • Los cambios de estado se producen en cada tick de reloj

    Estos cambios pueden producirse cuando se produce un cambio de flanco (ascendente o descendente) o por un cambio nivel (alto o bajo)

    Cambios de estado

  • S Q

    QR

    CK

    Flip-flop RS sincrnico

    CK S R Q

    0 0 Q

    0 1 0

    1 0 1

    1 1 -

  • Flip-flop RS sincrnico

    CK S R Q

    0 0 Q

    0 1 0

    1 0 1

    1 1 -

    CK

    S Q

    QR

    set

    reset

    clock

  • SQ

    R

    Encontrar Q para las seales R, Sdadas usando RS sncrono

    t

    CK S R Q

    0 0 Q

    0 1 0

    1 0 1

    1 1 -

    CK

    S Q

    QR

    CK

    Ejercicio

  • SQ

    R

    t

    CK

    Encontrar Q para las seales R, Sdadas usando RS sncrono CK S R Q

    0 0 Q

    0 1 0

    1 0 1

    1 1 -

    Ejercicio

    CK

    S Q

    QR

  • Otra modificacin al flip-flop SR es el denominado flip-flop D.

    Elimina el estado inestable asegurando que siempre S y R son mutuamente inversas

    Note que retiene el valor de la entrada al pulso de clock, hasta que cambia dicha entrada, pero al prximo pulso de clock.

    Flip-flop D

  • El flip-flop D es el circuito fundamental en: una celda de 1 bit de memoria RAM, de tecnologa

    esttica (de las que nos ocuparemos en breve). un bit de un registro de un controlador Entrada

    Salida. un bit de un registro que compone la arquitectura de

    la CPU

    Flip-flop D

  • CK

    D Q

    Q

    data

    clock

    PR

    CLR

    PR CLR CK D Q

    0 1 X X 1

    1 0 X X 0

    1 1 1 1

    1 1 0 0

    1 1 0 X Q

    Latch D con Preset y Clear

  • Registro de 4 bits compuesto por 4 flip-flop D.

    Registros

  • CK

    D Qdata

    CK

    D Q

    CK

    D Q

    CK

    D Q

    Registro de desplazamiento basado en flip-flop D

  • Limitaciones de los flip-flop

    CK

    D Q

    Q

    data

    clock CK

    D Q

    Q

    Ciclo de reloj

    tpd

    tpd

    Cuando se conectan en cascada para construir circuitos secuenciales, el tiempo de propagacin tpd, que es el que tarda la entrada del latch en grabarse a su salida, puede hacer que una entrada tome el nuevo estado en tpd en lugar de en el ciclo siguiente de clock.

    Se trata de dispositivos transparentes. La entrada se propaga a la salida luego de tpd.

    Cmo se arregla esto?

  • Flip-flops Master Slave Son dispositivos de almacenamiento no

    transparentes

    CK

    S2 Q2

    Q2R2

    CK

    S1 Q1

    Q1R1

    S

    R

    Q

    QCiclo de reloj

    tpd

    tpd

    Q1

    Q2

  • La idea es convertir el flip-flop SR en un flip-flop estable. Es posible realizar esta modificacin.

    El flip-flop modificado se denomina JK. JK en honor de Jack Kilby (inventor del circuito

    integrado).

    Flip-flop JK

  • Flip-Flop JK A la derecha podemos

    ver el circuito lgico de flip-flop SR modificado.

    La tabla caracterstica indica que es estable para cualquier combinacin de sus entradas.

  • CK

    J Q

    QK

    clock

    CK J K Q

    0 0 Q

    0 1 0

    1 0 1

    1 1 Q

    0 X X Q

    Latch JK

  • Los circuitos digitales se pueden ver desde dos puntos de vista: anlisis digital y sntesis digital. El Anlisis Digital explora la relacin entre las

    entradas a un circuito y sus salidas. La Sntesis Digital crea diagramas lgicos utilizando

    los valores expresados en una tabla de verdad. Los diseadores de circuitos digitales deben tener

    en cuenta el comportamiento fsico de los circuitos electrnicos, es decir existen retardos de propagacin, los cuales pueden incidir cuando las seales toman distintos caminos, en la tabla de verdad de todo el sistema.

    Diseo de circuitos

  • Un contador binario es otro ejemplo de circuito secuencial.

    El bit de menor orden se complementa a cada pulso de clock.

    Cualquier cambio de 0 a 1 , produce el prximo bit complementado, y as siguiendo a los otros flip-flop.

    Contadores

  • CK

    J Q

    K

    1

    1

    CK

    J Q

    K

    1

    1

    CK

    J Q

    K

    1

    1

    CK

    J Q

    K

    1

    1

    LSB MSB

    Contador de 4 bits basado en Flip Flop JK

  • Diseo de un circuito secuencial

    Disear un circuito secuencial que genere una secuencia de estados binarios: 00, 01, 10, 11 a partir de una seal de control x, que cada vez que est en 1 y venga una seal de clock cambie de estado.

    Ejemplo

  • Diseo de un circuito secuencial

    Diagrama de estado 00

    01 11

    10

    EjemploDisear un circuito secuencial que genere una secuencia de estados binarios: 00, 01, 10, 11 a partir de una seal de control x, que cada vez que est en 1 y venga una seal de clock cambie de estado.

  • Diseo de un circuito secuencial

    x = 1

    x = 1

    x = 1

    x = 1

    x = 0x = 0

    x = 0

    x = 0 x : seal de control

    Diagrama de estado

    00

    01 11

    10

  • 00

    01 11

    10

    x = 1

    x = 1

    x = 1

    x = 1

    x = 0x = 0

    x = 0

    x = 0 x : seal de reloj

    A B x A B0 0 0 ? ?0 0 1 ? ?0 1 0 ? ?0 1 1 ? ?1 0 0 ? ?1 0 1 ? ?1 1 0 ? ?1 1 1 ? ?

    t t +1

    control

    Como el contador tiene dos bits, seusarn dos flip-flops (A y B), uno para cada bit.

    AB

  • 00

    01 11

    10

    x = 1

    x = 1

    x = 1

    x = 1

    x = 0x = 0

    x = 0

    x = 0 x : seal de reloj

    A B x A B0 0 0 0 00 0 1 0 10 1 0 0 10 1 1 1 01 0 0 1 01 0 1 1 11 1 0 1 11 1 1 0 0

    t t +1

    control

    Tabla de estado

  • A B x A B0 0 0 0 00 0 1 0 10 1 0 0 10 1 1 1 01 0 0 1 01 0 1 1 11 1 0 1 11 1 1 0 0

    t t +1

    CK J K Q

    0 0 Q

    0 1 0

    1 0 1

    1 1 Q

    CK

    J Q

    QK

    FF

    JA KA? ?? ?? ?? ?? ?? ?? ?? ?

    Usando flip-flops JK cmo deben ser sus entradas para que A cambie de su estado t a su estado t+1?

    control

  • A B x A B0 0 0 0 00 0 1 0 10 1 0 0 10 1 1 1 01 0 0 1 01 0 1 1 11 1 0 1 11 1 1 0 0

    t t +1

    CK J K Q

    0 0 Q

    0 1 0

    1 0 1

    1 1 Q

    CK

    J Q

    QK

    FF

    JA KA0 X0 X0 X1 XX 0X 0X 0X 1

    controlTabla de excitacin

    Tabla de verdad Flip Flop JK

  • A B x A B0 0 0 0 00 0 1 0 10 1 0 0 10 1 1 1 01 0 0 1 01 0 1 1 11 1 0 1 11 1 1 0 0

    t t +1

    JA KA0 X0 X0 X1 XX 0X 0X 0X 1

    A

    B

    x

    JA

    Mapas de Karnough

    A

    B

    x

    KA

  • A B x A B0 0 0 0 00 0 1 0 10 1 0 0 10 1 1 1 01 0 0 1 01 0 1 1 11 1 0 1 11 1 1 0 0

    t t +1

    JA KA0 X0 X0 X1 XX 0X 0X 0X 1

    X X X X

    0 1 0 0

    A

    B

    x

    JA

    Mapas de Karnough

    0 1 0 0

    X X X X

    A

    B

    x

    KA

  • A B x A B0 0 0 0 00 0 1 0 10 1 0 0 10 1 1 1 01 0 0 1 01 0 1 1 11 1 0 1 11 1 1 0 0

    t t +1

    JA KA0 X0 X0 X1 XX 0X 0X 0X 1

    X X X X

    0 1 0 0

    A

    B

    x

    JA

    Mapas de Karnough

    0 1 0 0

    X X X X

    A

    B

    x

    KA

    JA = B.x

    KA = B.x

  • A B x A B0 0 0 0 00 0 1 0 10 1 0 0 10 1 1 1 01 0 0 1 01 0 1 1 11 1 0 1 11 1 1 0 0

    t t +1

    CK J K Q

    0 0 Q

    0 1 0

    1 0 1

    1 1 Q

    CK

    J Q

    QK

    FF

    JB KB? ?? ?? ?? ?? ?? ?? ?? ?

    Usando flip-flops JK cmo deben ser sus entradas para que B cambie de su estado t a su estado t+1?

    control

  • A B x A B0 0 0 0 00 0 1 0 10 1 0 0 10 1 1 1 01 0 0 1 01 0 1 1 11 1 0 1 11 1 1 0 0

    t t +1

    CK J K Q

    0 0 Q

    0 1 0

    1 0 1

    1 1 Q

    CK

    J Q

    QK

    FFUsando flip-flops JK cmo deben ser sus entradas para que B cambie de su estado t a su estado t+1?

    JB KB0 X1 XX 0X 10 X1 XX 0X 1

    control

  • A B x A B0 0 0 0 00 0 1 0 10 1 0 0 10 1 1 1 01 0 0 1 01 0 1 1 11 1 0 1 11 1 1 0 0

    t t +1

    A

    B

    x

    JB

    Mapas de Karnough

    A

    B

    x

    KB

    JB KB0 X1 XX 0X 10 X1 XX 0X 1

    Tabla de verdad Flip Flop JK

  • A B x A B0 0 0 0 00 0 1 0 10 1 0 0 10 1 1 1 01 0 0 1 01 0 1 1 11 1 0 1 11 1 1 0 0

    t t +1

    X X 1 0

    X X 1 0

    A

    B

    x

    JB

    Mapas de Karnough

    0 1 X X

    0 1 X X

    A

    B

    x

    KB

    JB KB0 X1 XX 0X 10 X1 XX 0X 1

  • A B x A B0 0 0 0 00 0 1 0 10 1 0 0 10 1 1 1 01 0 0 1 01 0 1 1 11 1 0 1 11 1 1 0 0

    t t +1

    X X 1 0

    X X 1 0

    A

    B

    x

    JB

    Mapas de Karnough

    0 1 X X

    0 1 X X

    A

    B

    x

    KB

    JB = x

    KB = x

    JB KB0 X1 XX 0X 10 X1 XX 0X 1

  • JB = x

    KB = x

    JA = B.x

    KA = B.x

    CK

    JA Q

    QKA

    FFA

    CK

    JB Q

    QKB

    FFB

    A

    B

  • JB = x

    KB = x

    JA = B.x

    KA = B.x

    CK

    JA Q

    QKA

    FFA

    CK

    JB Q

    QKB

    FFB

    A

    B

    x

    clock

  • Consideraciones de diseo:

    1. Hacer un diagrama de estado identificando las variables entrada (control) y salida. En el diagrama: un estado es un crculo, un flecha es una transicin de un estado a otro.

    2. El nmero de flip-flops necesarios para el circuito es el nmero de bits que tienen los estados.

    3. Se realiza la tabla de estados y la tabla de excitacin para cada flip-flop.

    4. Se disea el circuito combinacional para cada entrada de cada flip-flop usando mapas de Karnough.

    5. Se implementa el circuito secuencial.

    Circuitos secuenciales

  • Celda de memoria

    entrada

    salida

    leer/escribir (1/0)

    seleccionar

    S

    R

    Q

  • entrada

    salida

    leer/escribir (1/0)

    seleccionar

    S

    R

    Q

    Celda de memoria

    BCentradaseleccionar

    salida

    leer/escribir (1/0)

    Celda de memoria

  • BC BC BC

    BC BC BC

    BC BC BC

    BC BC BC

    Dato de entrada (3 bits)

    Dato de salidaleer/escribir

    Entrada de seleccin de memoria

    Decoder24

    D0

    D1

    D2

    D3

    A0A1

    Unidad de memoria de 4 3 bitsUnidad de memoria de 4 x 3

    bits

  • Unidad de memoria RAM

  • Unidad de memoria RAM

  • Celda de memoria RAM

  • IN OUT

    EN = 0

    IN OUT

    EN = 1

    Esquema elctricoEN: enableIN: inputOUT: output

    Buffer de 3 estados

  • EN: enableIN: inputOUT: output

    Diagrama Tabla de verdad

    Buffer de 3 estados

  • Diagrama

    Tabla de verdad

    Buffer de 3 estados

  • Ejemplo: RAM de 16 x 1 bit

  • Ejemplo: RAM de 16 x 1 bit usando celdas de 4 x 4

  • Chip 64 x 8 RAM

    Diagrama en bloqueRAM de 64K x 8 bits

  • Ejemplo: RAM de 256K con 4 chips de 64K x 8

  • Ejemplo: RAM de 64K x 16 utilizando 2 chips de 64K x 8

  • Memoria ROM (read only memory)

  • Lgica interna de una ROM

  • Tabla de verdad ROM 32 x 8

  • Programacin de ROM 32 x 8

  • Flip-Flops Tablas de Excitacin

    67

    Flip-Flop SRQ(t) Q(t+1) S R

    0 0 0 x

    0 1 1 0

    1 0 0 1

    1 1 x 0

    Flip-Flop DQ(t) Q(t+1) D

    0 0 0

    0 1 1

    1 0 0

    1 1 1

    Flip-Flop JKQ(t) Q(t+1) J K

    0 0 0 x

    0 1 1 x

    1 0 x 1

    1 1 x 0

    Flip-Flop TQ(t) Q(t+1) T

    0 0 0

    0 1 1

    1 0 1

    1 1 0

  • Comunicacin y Redes de Datos

    Felipe Andrs Delgado Ramrez

    Gracias por su atencin