10-IntroduccionSecuenciales

33
ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES Universidad Rey Juan Carlos Introducción a los circuitos secuenciales Luis Rincón Córcoles José Ignacio Martínez Torre Cristina Conde Vilda Introducción a los circuitos secuenciales 2 Programa 1. Circuitos Secuenciales: Conceptos de ESTADO y REALIMENTACIÓN 2. Concepto de sincronismo. Tipos de sincronismo 3. Técnicas de representación de circuitos secuenciales 4. Concepto de biestable 5. Tipos de biestables 6. Parámetros temporales de los biestables 7. Metaestabilidad 8. Biestables S-R 8.1. S-R NOR y S-R NAND asíncronos 8.2. S-R síncrono 9. Biestables D 10. Biestables J-K 11. Biestables T 12. Biestables maestro-esclavo 13. Conversión entre biestables 14. Entradas asíncronas en los biestables 15. Biestables síncronos por flancos con habilitación de entrada y/o de salida.

description

secuncualess

Transcript of 10-IntroduccionSecuenciales

  • 11

    ESTRUCTURA Y TECNOLOGA DE COMPUTADORES

    Universidad

    Rey Juan Carlos

    Introduccin a los circuitos secuenciales

    Luis Rincn CrcolesJos Ignacio Martnez Torre

    Cristina Conde Vilda

    Introduccin a los circuitos secuenciales

    2

    Programa1. Circuitos Secuenciales: Conceptos de ESTADO y REALIMENTACIN2. Concepto de sincronismo. Tipos de sincronismo3. Tcnicas de representacin de circuitos secuenciales4. Concepto de biestable5. Tipos de biestables6. Parmetros temporales de los biestables7. Metaestabilidad8. Biestables S-R

    8.1. S-R NOR y S-R NAND asncronos8.2. S-R sncrono

    9. Biestables D10. Biestables J-K11. Biestables T12. Biestables maestro-esclavo13. Conversin entre biestables14. Entradas asncronas en los biestables15. Biestables sncronos por flancos con habilitacin de entrada y/o de salida.

  • 22

    Introduccin a los circuitos secuenciales

    3

    En los sistemas secuenciales la salida Z en un determinado instante detiempo ti depende de X en ese mismo instante de tiempo ti y en todoslos instantes temporales anteriores. Para ello es necesario que el sistema disponga de elementos de memoria que le permitan recordar la situacin en que se encuentra ( estado).

    1. Circuitos secuenciales: concepto de estado

    =+=

    transicindefuncin:HS(t))H(X(t),1)S(tsalidadefuncin:GS(t))G(X(t),Z(t)

    G,HX(t) Z(t)

    memoriaRealimentacin

    S(t+1)S(t)

    X(t): entrada actual

    S(t+1): estado prximo

    Z(t): salida actualS(t): estado actual

    Como un sistema secuencial es finito, tiene una capacidad de memoria finita y un conjunto finito de estados posibles mquina finita de estados (FSM: finite state machine).

    Introduccin a los circuitos secuenciales

    4

    Un sistema secuencial dispone de elementos de memoria cuyo contenido puede cambiar a lo largo del tiempo.

    El estado de un sistema secuencial viene dado por el contenido de sus elementos de memoria.

    Es frecuente que en los sistemas secuenciales exista una seal que inicia los elementos de memoria con un valor determinado: seal de inicio (reset).

    La seal de inicio determina el estado del sistema en el momento del arranque (normalmente pone toda la memoria a cero).

    La salida en un instante concreto viene dada por la entrada y por el estado anterior del sistema.

    El estado actual del sistema, junto con la entrada, determinar el estado en el instante siguiente realimentacin.

    Concepto de realimentacin

  • 33

    Introduccin a los circuitos secuenciales

    5

    Existen dos tipos de sistemas secuenciales: asncronos y sncronos.

    Los asncronos son sistemas secuenciales que pueden cambiar de estado encualquier instante de tiempo en funcin de cambios en las seales de entrada.

    Son ms frecuentes en la vida real. Existen mtodos especficos para disear sistemas asncronos (no los vamos a estudiar).

    Los sncronos son sistemas secuenciales que slo pueden cambiar de estadoen determinados instantes de tiempo, es decir, estn sincronizados con unaseal que marca dichos instantes y que se conoce como seal de reloj (Clk). El sistema slo hace caso de las entradas en los instantes de sincronismo.

    Son ms fciles de disear.En este tema estudiaremos los sistemas sncronos, y al final veremos cmo sincronizar los sistemas asncronos.

    2. Concepto de Sincronismo

    Introduccin a los circuitos secuenciales

    6

    El reloj es una seal peridica que regula el funcionamiento y sincronismo de un sistema sncrono.

    Tipos de sincronismo:

    Sincronismo por nivel (alto o bajo): el sistema hace caso de las entradas mientras el reloj est en el nivel activo (alto o bajo).

    Sincronismo por flanco (de subida o de bajada): el sistema hace caso de las entradas y evoluciona justo cuando se produce el flanco activo (de subida o de bajada).

    ClkNivel alto

    Nivel bajo

    Flanco desubida

    Flanco debajada

    Ciclo de reloj(medido entre dosflancos de bajada)

    Ciclo de reloj(medido entre dosflancos de subida)

    Pulso denivel alto

    Pulso denivel bajo

    Tipos de sincronismo

  • 44

    Introduccin a los circuitos secuenciales

    7

    3.Tcnicas de representacin de secuencialesDiagrama de transicin de estados (DTE)Crculos: estadosArcos: transiciones

    Las salidas pueden estar asociadas a los estados o a las transiciones (no aparece ninguna en este ejemplo)El nombre de las entradas se puede omitir

    S0

    S2

    S1

    X = 0

    X = 0

    X = 0

    X = 1

    X = 1

    X = 1

    inicio

    Tablas de transicin de estadosSon tablas de verdad en las que aparece descrito el comportamiento del sistema.El estado presente aparece como una de las entradas (a veces el reloj tambin).

    Introduccin a los circuitos secuenciales

    8

    4. Concepto de BIESTABLEUn biestable es un dispositivo capaz de almacenar un bit (H L).

    Principio de funcionamiento de un biestable: Utilizando realimentacin entre puertas se puede mantener (almacenar) un valor estable hasta que cambien las condiciones de entrada.

    Estas dos puertas NOT mantienen un valor estable (no puede modificarse porque no hay entradas)

    E S

    S(t+1) = S(t)+E

    Al poner E a 1, S valdr 1 (ese 1 ya no se puede borrar)

    Ejemplos:

  • 55

    Introduccin a los circuitos secuenciales

    9

    Segn el tipo de sincronismo de los biestables, podemos clasificarlos en:

    Asncrono (latch) Sncrono por nivel alto o bajo (latch with enable high/low) Sncrono por flanco de subida o de bajada (flip-flop positive/negative edge triggered)

    Segn las entradas de datos de que disponen (lgica de disparo o de excitacin) podemos establecer varios tipos de biestables:

    S-R: entradas de puesta a 1 (S, set) y puesta a 0 (R, reset) J-K: entradas de puesta a 1 (J, set) y puesta a 0 (K, reset) D: entrada de datos (D) T: entrada de inversin o basculamiento (toggle)

    5. Tipos de biestables

    Introduccin a los circuitos secuenciales

    10

    Tabla de excitacin de un biestable

    Muestra las entradas que hay que introducir en un biestable para gobernar sus transiciones entre estados.

    Los biestables sncronos pueden tener entradas asncronas que dominan sobre las sncronas:

    Puesta a 0 asncrona (clear, reset) Puesta a 1 asncrona (preset, set)

    Tipos de biestables

  • 66

    Introduccin a los circuitos secuenciales

    11

    6. Parmetros temporales de los biestablesTiempo de propagacin o retardo del biestable (delay time)

    Tiempo necesario para que el efecto de un cambio en la entrada se haga estable en la salida.

    tpHL: cuando la salida cambia de H a L. tpLH: cuando la salida cambia de L a H. tpd: media de los dos anteriores.

    Tiempo de establecimiento (setup time)

    Tiempo mnimo anterior al flanco de disparo en que las entradas no deben variar (tiempo necesario para que el biestable asiente las entradas antes del flanco).

    Tiempo de mantenimiento (hold time)

    Es el tiempo mximo posterior al flanco de disparo en que las entradas no debenvariar (tiempo necesario para que el biestable procese las entradas).

    Introduccin a los circuitos secuenciales

    12

    Parmetros temporales de los biestables

  • 77

    Introduccin a los circuitos secuenciales

    13

    Anchura del reloj tWH y tWL

    Duracin mnima necesaria para los pulsos de nivel alto y bajo respectivamente.

    Frecuencia mxima fmax

    Mxima frecuencia permitida al reloj del biestable. Si se supera, el biestablepuede funcionar mal.

    Tiempo de preset y clear

    Es el tiempo mnimo que debe durar el nivel activo de las entradas asncronas de puesta a 1 y puesta a 0 para que el biestable tome el valor pertinente. Este tiempo suele estar incluido en tpLH y tpHL respectivamente.

    Parmetros temporales de los biestables

    Introduccin a los circuitos secuenciales

    14

    7. MetaestabilidadEn determinadas circunstancias los biestables sncronos por flanco pueden entrar en un estado que no es ni H ni L. Este fenmeno es conocido como metaestabilidad.La metaestabilidad se puede producir cuando las entradas del biestable no estn sincronizadas con su reloj y no respetan los parmetros temporales dados por el fabricante, en particular los tiempos de establecimiento (tsetup) y mantenimiento (thold). Si el valor de las entradas cambia en el tiempo dado por tsetup+ thold el biestable puede quedar en estado metaestable.

    Esto puede tener graves consecuencias, puesto que la salida ofrecida por el biestable puede ser interpretada como H por unos componentes del sistema y como L por otros, causando as un mal funcionamiento de caractersticas impredecibles.

    No siempre es posible saber si un biestable se encuentra o no en estado metaestable, y tampoco es posible conocer en trminos absolutos cunto tiempo va a durar dicho estado.

    Existen frmulas empricas que dan la probabilidad (nunca la certeza) de que se produzca un fallo en un sistema por causa de la metaestabilidad.

  • 88

    Introduccin a los circuitos secuenciales

    15

    8. Biestable S-REl biestable S-R tiene dos entradas (S, R) y dos salidas (Q.H y Q.L)

    Entrada S (set): puesta a 1 Entrada R (reset): puesta a 0 Salida Q.H: contenido del biestable (activa por nivel alto) Salida Q.L: contenido del biestable (activa por nivel bajo)

    S y R no deben estar activas a la vez!

    Tabla de verdad

    Introduccin a los circuitos secuenciales

    16

    Biestable S-RDiagrama de transicin de estados Tabla de excitacin

    Se obvian las situaciones prohibidas (indeseadas) con S y R activas a la vez.

    Ecuacin caracterstica

    SQ(t)R1)Q(t +=+Circuito equivalente

    0 1

    10

    01

    0X X0

  • 99

    Introduccin a los circuitos secuenciales

    17

    8.1 Biestable S-R NOR asncrono Es una implementacin del biestable S-R con puertas NOR. Las entradas S y R son activas por nivel alto.

    S

    Q

    Q

    R

    S

    Q

    Q

    R

    El nuevo estado es 1 si S est activa (H) y R inactiva (L) o si R estinactiva (L) y el estado anterior era 1. El nuevo estado es 0 si R est activa (L) y S inactiva (H) o si S estinactiva (H) y el estado anterior era 0.

    Introduccin a los circuitos secuenciales

    18

    Biestable S-R NOR asncronoTabla de verdad (valores fsicos) Tabla de excitacin

  • 1010

    Introduccin a los circuitos secuenciales

    19

    Biestable S-R NAND asncrono Es una implementacin del biestable S-R con puertas NAND. Las entradas S y R son activas por nivel bajo.

    S

    Q

    Q

    R

    S

    Q

    Q

    R

    El nuevo estado es 1 si S est activa (L) y R inactiva (H) o si R est inactiva (H) y el estado anterior era 1.El nuevo estado es 0 si R est activa (L) y S inactiva (H) o si S est inactiva (H) y el estado anterior era 0.

    Introduccin a los circuitos secuenciales

    20

    Biestable S-R NAND asncronoTabla de verdad (valores fsicos) Tabla de excitacin

  • 1111

    Introduccin a los circuitos secuenciales

    21

    8.2 Biestable S-R sncrono por nivel Este biestable cuenta con una entrada de reloj que habilita o inhabilita las entradas S y R segn est en nivel alto o bajo.

    Al ser activa por nivel, a la entrada de reloj se la suele llamar entrada de habilitacin (enable, a veces se la llama strobe si es activa por nivel bajo).

    El biestable puede ser activo por nivel alto o por nivel bajo (S-R latch with enable high/low).

    Las entradas S y R son activas por nivel alto

    S

    Q

    Q

    R

    Enable

    S

    Q

    Q

    R

    EnableS-R activo por nivel alto

    S-R activo por nivel bajo

    Introduccin a los circuitos secuenciales

    22

    Biestable S-R sncrono por nivel

    S-R activo por nivel alto

    S-R activo por nivel bajo

  • 1212

    Introduccin a los circuitos secuenciales

    23

    Biestable S-R sncrono por nivelS-R activo por nivel alto: tabla de verdad

    S-R activo por nivel bajo: tabla de verdad

    Introduccin a los circuitos secuenciales

    24

    Circuitos detectores de flancos

  • 1313

    Introduccin a los circuitos secuenciales

    25

    Biestable S-R sncrono por flancoS-R sncrono por flanco de subida

    S-R sncrono por flanco de bajada

    Introduccin a los circuitos secuenciales

    26

    Biestable S-R sncrono por flancoS-R activo por flanco de subida: tabla de verdad

    S-R activo por flanco de bajada: tabla de verdad

  • 1414

    Introduccin a los circuitos secuenciales

    27

    9. Biestable DTambin llamado biestable seguidor o biestable de datos.

    Cuenta con una nica entrada D que se copia al interior del biestable en los instantes de sincronismo.

    Slo tiene sentido en modo sncrono (por nivel o por flanco). La entrada D es activa por nivel alto

    Diagrama de transicin de estados

    El nuevo estado es 1 si D est activa (H) en el instante de sincronismo.

    El nuevo estado es 0 si D est inactiva (L) en el instante de sincronismo.

    0 1

    1

    0

    0 1

    Tabla de excitacin

    Introduccin a los circuitos secuenciales

    28

    Biestable D sncrono por nivelEste biestable cuenta con una entrada de reloj que habilita o inhabilita la entrada D segn est en nivel alto o bajo.

    El biestable puede ser activo por nivel alto o por nivel bajo (D latch with enable high/low).

    D sncronopor nivel alto

    D sncronopor nivel bajo

    D

    Q

    Q

    Enable

    D

    Q

    Q

    Enable

  • 1515

    Introduccin a los circuitos secuenciales

    29

    Biestable D sncrono por nivel

    D sncronopor nivel alto

    D sncronopor nivel bajo

    Introduccin a los circuitos secuenciales

    30

    Biestable D sncrono por nivelD sncrono por nivel alto: tabla de verdad

    D sncrono por nivel bajo: tabla de verdad

  • 1616

    Introduccin a los circuitos secuenciales

    31

    Biestable D sncrono por flancoD sncrono por flanco de subida

    D sncrono por flanco de bajada

    Introduccin a los circuitos secuenciales

    32

    Biestable D sncrono por flancoD sncrono por flanco de subida: tabla de verdad

    D sncrono por flanco de bajada: tabla de verdad

  • 1717

    Introduccin a los circuitos secuenciales

    33

    10. Biestable J-KTiene dos entradas de excitacin (J,K) y dos salidas (Q.H y Q.L)

    Entrada J (set): puesta a 1 Entrada K (reset): puesta a 0 Salida Q.H: contenido del biestable (activa por nivel alto) Salida Q.L: contenido del biestable (activa por nivel bajo)

    Las dos entradas J y K pueden estar activas a la vez. En tal caso se produce una inversin en el estado del biestable.

    Slo se utilizan en modo sncrono por flanco, porque en asncrono y en sncrono por nivel se producen oscilaciones en el estado si J=K=1.

    Introduccin a los circuitos secuenciales

    34

    Biestable J-KDiagrama de transicin de estados Tabla de excitacin

    Ecuacin caracterstica

    Q(t)K(t)QJ1)Q(t +=+

    Circuito equivalente (sin considerar reloj)

    0 1

    1X

    X1

    0X X0

  • 1818

    Introduccin a los circuitos secuenciales

    35

    Biestable J-K sncrono por flancoJ-K sncrono por flanco de subida

    J-K sncrono por flanco de bajada

    Introduccin a los circuitos secuenciales

    36

    Biestable J-K sncrono por flanco

    J-K sncrono

    por flanco de subida

    J-K sncronopor flanco de bajada

  • 1919

    Introduccin a los circuitos secuenciales

    37

    11. Biestable T

    Diagrama de transicin de estados Tabla de excitacin

    Ecuacin caracterstica

    Q(t)T(t)QT1)Q(t +=+

    0 1

    1

    1

    0 0

    El biestable T cambia de estado cada vez que recibe un flanco de reloj (es un divisor de frecuencia).

    Circuito equivalente (sin considerar reloj)

    Introduccin a los circuitos secuenciales

    38

    Biestable TEl biestable T slo tiene sentido si es sncrono por flanco de reloj.

    El biestable T puede tener una entrada de activacin (T, toggle), que active / inhiba el flanco de reloj.

  • 2020

    Introduccin a los circuitos secuenciales

    39

    12. Biestables maestro-esclavo (master-slave)Es un biestable construido a partir de dos biestables sncronos por nivel colocados en cascada con relojes invertidos.

    El primer biestable (maestro) se encarga de procesar la entrada mientras su reloj est activo. Durante este tiempo el reloj del segundo biestable (esclavo) est inactivo, y dicho biestable permanece congelado.

    Al quedar inactivo el reloj del maestro, ste queda congelado. Entonces se activa el reloj del esclavo, que simplemente copia el estado del maestro.

    A los biestables maestro-esclavo se les llama tambin biestables sncronospor pulso, porque su proceso dura un pulso entero de reloj.

    Los biestables S-R maestro-esclavo y los J-K maestro-esclavo presentan el problema de la captacin de unos y el de la captacin de ceros.

    El biestable D maestro-esclavo se comporta como un biestable sncrono por flanco.

    Introduccin a los circuitos secuenciales

    40

    Biestable S-R maestro-esclavo (master-slave)Activo por pulso de nivel alto

  • 2121

    Introduccin a los circuitos secuenciales

    41

    Biestable S-R maestro-esclavo (master-slave)Activo por pulso de nivel bajo

    Introduccin a los circuitos secuenciales

    42

    Biestable D maestro-esclavo (master-slave)Activo por pulso de nivel alto

  • 2222

    Introduccin a los circuitos secuenciales

    43

    Biestable D maestro-esclavo (master-slave)Activo por pulso de nivel bajo

    Introduccin a los circuitos secuenciales

    44

    Biestable J-K maestro-esclavo (master-slave)Activo por pulso de nivel alto

    Activo por pulso de nivel bajo

  • 2323

    Introduccin a los circuitos secuenciales

    45

    13. Equivalencia entre biestablesConstruccin de un biestable D a partir de un S-R o un J-K

    Esta equivalencia es vlida tambin para biestables sncronos por nivel, cambiando el tipo de sincronismo del reloj (salvo para biestables JK).

    Introduccin a los circuitos secuenciales

    46

    Equivalencia entre biestables

    Biestable J-K a partir de un S-R

  • 2424

    Introduccin a los circuitos secuenciales

    47

    Equivalencia entre biestables

    Biestable J-K a partir de un T con entrada de activacin

    Introduccin a los circuitos secuenciales

    48

    Equivalencia entre biestables

    Biestable J-K a partir de un D

  • 2525

    Introduccin a los circuitos secuenciales

    49

    Equivalencia entre biestablesBiestable T a partir de un S-R un J-K

    Introduccin a los circuitos secuenciales

    50

    Equivalencia entre biestablesBiestable T con entrada de activacin a partir de un S-R un J-K

  • 2626

    Introduccin a los circuitos secuenciales

    51

    14. Entradas asncronas en los biestablesNormalmente los biestables sncronos cuentan con entradas asncronas que se utilizan para forzar un valor determinado en los mismos al margen del reloj.

    Puesta a 0 asncrona (clear, reset) Puesta a 1 asncrona (preset, set)

    Las entradas asncronas de un biestable actan al margen de las sncronas y prevalecen sobre ellas. Son muy tiles para iniciar o reiniciar el sistema con un estado inicial determinado.

    Las entradas asncronas pueden ser activas por nivel alto o por nivel bajo.

    Existen biestables que tienen entradas de puesta a 0 y puesta a 1 sncronas al margen de las entradas de datos (no las vamos a estudiar).

    Introduccin a los circuitos secuenciales

    52

    Biestable S-R por nivel con entradas asncronas

  • 2727

    Introduccin a los circuitos secuenciales

    53

    Biestable S-R por nivel con entradas asncronas

    Introduccin a los circuitos secuenciales

    54

    Biestable D por nivel con entradas asncronas

  • 2828

    Introduccin a los circuitos secuenciales

    55

    Biestable D por nivel con entradas asncronas

    Introduccin a los circuitos secuenciales

    56

    Biestable D por flanco con entradas asncronasBiestable comercial 74LS74

  • 2929

    Introduccin a los circuitos secuenciales

    57

    Biestable D por flanco con entradas asncronas

    Introduccin a los circuitos secuenciales

    58

    Biestable J-K por flanco con entradas asncronasBiestable comercial 74LS109

  • 3030

    Introduccin a los circuitos secuenciales

    59

    Biestable J-K por flanco con entradas asncronas

    Introduccin a los circuitos secuenciales

    60

    15. Biestables sncronos por flanco con habilitacin de entrada y de salida

    A veces es conveniente que los biestables sncronos por flanco no cambien de estado en todos los flancos del reloj, sino slo en algunos. Para ello se les dota de una entrada de habilitacin de reloj (clock enable, CE) activa por nivel.

    Si CE est activa habilita el efecto de los flancos del reloj. Si CE est inactiva inhibe los flancos del reloj preservando el estado delbiestable.

    En ocasiones los biestables estn dotados de un buffer triestado interpuesto entre el valor del estado y la salida, regulado por una entrada de habilitacin de la salida (output enable, OE) activa por nivel alto o bajo.

    Si OE est activa, la salida del biestable es L H y coincide con el estado.

    Si OE est inactiva, la salida del biestable queda desconectada en alta impedancia.

  • 3131

    Introduccin a los circuitos secuenciales

    61

    Biestables sncronos por flanco con habilitacinde entrada y de salida

    Ejemplo: biestable D con habilitacin de entrada activa por nivel alto.

    Introduccin a los circuitos secuenciales

    62

    Biestables sncronos por flanco con habilitacinde entrada y de salida

    Ejemplo: biestable D con habilitacin de entrada activa por nivel alto.

  • 3232

    Introduccin a los circuitos secuenciales

    63

    Biestables sncronos por flanco con habilitacinde entrada y de salida

    Ejemplo: biestable D con habilitacin de entrada activa por nivel alto y habilitacin de salida activa por nivel bajo.

    Introduccin a los circuitos secuenciales

    64

    Biestables sncronos por flanco con habilitacinde entrada y de salida

    Ejemplo: biestable D con habilitacin de entrada activa por nivel alto y habilitacin de salida activa por nivel bajo. Su tabla de verdad es igual al anterior, pero hay que aadir las condiciones de salida.

  • 3333

    Introduccin a los circuitos secuenciales

    65

    J.M. ANGULO, J.GARCA. Sistemas Digitales y Tecnologa de Computadores.Paraninfo, 2002. T. FLOYD. Fundamentos de los Sistemas Digitales. 7 edicin. Prentice Hall, 1999. J. WAKERLY. Digital Design: Principles and Practice. 3rd ed., Prentice Hall, 2000. J. WAKERLY. Diseo digital: principios y prcticas. 1 edicin, Prentice Hall, 2001 (es la traduccin del anterior). D. GAJSKI. Principios de diseo digital. Prentice Hall, 2000. J.M. ANGULO. Electrnica Digital Moderna. Paraninfo, 2002. D.A. PATTERSON, J.L. HENNESSY. Estructura y diseo de computadores. Revert, 2000.

    Bibliografa