secuenciales maquina

download secuenciales maquina

of 73

description

teoria de maquinas secuenciales asincronicas

Transcript of secuenciales maquina

  • 1

    Profesor Leopoldo Silva Bijit 19-01-2010

    Captulo 14

    Mquinas secuenciales asincrnicas.

    Se estudiarn algunos circuitos asincrnicos simples que son la base para construir los

    diferentes tipos de flip-flops; mostrando las tcnicas para lograr la sincronizacin mediante una

    seal de reloj. Luego se analizan los multivibradores aestable y monoestable.

    Se analizan en mayor profundidad las carreras y la forma de evitarlas; para finalmente ilustrar

    las tcnicas de diseo asincrnico basadas en diagramas de flujo y de estado.

    14.1 Bases electrnicas para almacenar bits.

    Puede almacenarse un nivel lgico como carga en un condensador. El transistor nmos permite

    cargar y descargar el condensador, el esquema tiene la ventaja de usar un solo transistor, pero

    debido a las fugas (por no ser el dielctrico ideal) se requiere refrescar la carga cada cierto

    tiempo. Es la configuracin que se emplea como base de las memorias dinmicas (DRAM).

    Figura 14.1 Almacenamiento en memorias dinmicas.

    Para mantener el almacenamiento de un bit en forma permanente (mientras se tenga fuentes

    aplicadas) se emplea la siguiente configuracin:

    Figura 14.2 Almacenamiento esttico.

    Vref

    C

    Vin

  • 2 Sistemas Digitales

    Profesor Leopoldo Silva Bijit 19-01-2010

    Que es un elemento de almacenamiento biestable. El empleo de compuertas restaura los niveles,

    lo cual permite el almacenamiento esttico. La siguiente configuracin ilustra que se requieren

    cuatro transistores para almacenar un bit (dos por cada inversor), por esta razn las memorias

    estticas SRAM son de mayor costo que las dinmicas.

    VDD

    Vout2 Vin1 Vout1

    Vin2

    Figura 14.3 Inversores CMOS realimentados.

    La caracterstica de transferencia de los dos inversores en cascada se muestra junto a la recta

    que debe satisfacerse por la restriccin que impone la conexin de la realimentacin. El

    amplificador, no inversor, tiene tres puntos de equilibrio posibles, el del centro es inestable; los

    otros son estables (por esto se dice biestable) y se emplean para almacenar los estados lgicos.

    Una pequea diferencia entre la recta y la curva, en torno al punto inestable, llevan rpidamente

    a una de las situaciones estables. Se producen saltos entre las curvas para mantener voltajes iguales en la entrada y salida; stos se ilustran con pequeas flechas entre las curvas, en la

    Figura 14.3a.

    Vin

    Vout

    Vin = Vout

    Figura 14.3a. Puntos de equilibrio.

    Otra forma de analizar los inversores realimentados puede lograrse dibujando las caractersticas

    de transferencia de cada transistor, en un solo par de ejes coordenados.

  • Captulo 14. Mquinas secuenciales asincrnicas 3

    Profesor Leopoldo Silva Bijit 19-01-2010

    Vin1

    Vout1

    Vout2

    Vin2

    Figura 14.3b. Caractersticas de transferencia individuales.

    La probabilidad de que en una transicin se llegue exactamente al estado inestable es muy baja.

    14.1.1. Metaestabilidad.

    Calcularemos la probabilidad de no llegar a un estado estable en un determinado tiempo.

    Asumiendo un amplificador lineal, con saturacin, las ecuaciones para el siguiente circuito son:

    Vout = A Vin; Vout - Vin = Ri; i = C (dVin/dt), esto considerando que la corriente de salida del

    amplificador slo circula por el condensador, como se ilustra en la siguiente figura:

    Con Vin(0) diferente de cero.

    Figura 14.4 Anlisis metaestabilidad.

    Cuya solucin es: Vin(t) = Vin(0) e t/

    con = RC/(A-1). Adems, en general Vout ser mayor

    que Vin, debido a la amplificacin. Por esta razn si el voltaje de entrada aumenta, tambin lo

    har el de salida y se tendr que despus de un tiempo la tensin de salida satura al

    amplificador.

    A pesar que el circuito tiene realimentacin positiva podra suceder que una determinada

    conmutacin no se produzca en un tiempo predeterminado. Para estudiar esto suponemos un

    modelo simplificado lineal, antes que se sature el amplificador. En ese caso, tendremos:

    Vin(T) = Vin(0) e T/

    Vout(T) = A Vin(0) e T/

    = V es decir, la salida se satura en T = ln( V/( AVin(0) ).

    Con Vin(0) < V e -T/

    /A, la salida Vout se saturar en un tiempo mayor que T. Entonces la

    probabilidad de no llegar a un estado estable en un tiempo T, es el cuociente entre las

    C R

    A

    Vout Vin Vin

    T

    Vout

    t

    lineal

    V

  • 4 Sistemas Digitales

    Profesor Leopoldo Silva Bijit 19-01-2010

    situaciones que cumplen la condicin dividido por todos los casos independientes que puedan

    presentarse. Es decir:

    p(no estable en T) = (V e -T/

    /A ) / V = e -T/

    /A

    Se asume que Vin(0) tiene una distribucin de probabilidad uniforme entre 0 y V. Puede

    imaginarse un gran nmero de experimentos, algunos de ellos comenzarn con un valor menor

    del voltaje inicial que el calculado antes y tomar un tiempo mayor que T para que la salida se

    sature en un valor estable, esto se considera un ensayo fallido; los experimentos que comienzan

    con un valor mayor se consideran exitosos.

    Por otra parte, en un determinado intervalo las conmutaciones se producen en una fraccin del

    tiempo; esto contempla que no todo el tiempo se estn efectuando transiciones. Sea f la fraccin

    del perodo del reloj durante la cual el voltaje de entrada est sufriendo una transicin. f se

    expresa como el cuociente de lo que dura una transicin, dividido por el intervalo entre

    transiciones, y es la probabilidad que el voltaje de entrada est efectuando una transicin.

    Entonces la probabilidad que en una transicin, no se llegue a estado estable en un tiempo T,

    queda dada por: p(transicin no estable en T) = f e -T/

    /A

    Con los siguientes valores: A = 10 (una ganancia razonable), con una constante de tiempo de 1

    nseg, con f = 0,1; y una frecuencia de cambios de 100MHz puede calcularse el valor de T para

    cumplir con cierta probabilidad.

    Si asumimos un caso en un ao, en que no se alcance el estado estable en T, podremos calcular

    el tiempo T. Se asume 100*106 cambios por segundo (slo cantos de subida o de bajada), en

    un ao se tendrn: 365*24*60*60 segundos, y por lo tanto:

    p = 1/ (3,15 *1015

    ) resulta T = 31 ns.

    Con una frecuencia de 100 MHz, y esperando 100 ns, se puede calcular que habr un caso en

    que no se llegue a estabilidad en 1030

    aos. Puede concluirse que con "buena" probabilidad no

    se entra al estado inestable.

    14.1.2. Latchs.

    Entonces tenemos que dos inversores forman una celda de memoria esttica, lo que resta es un

    mtodo para almacenar valores lgicos en la celda:

    El siguiente esquema ilustra la forma de hacer llegar valores y guardarlos en una celda esttica.

    Figura 14.5 Lectura y escritura.

    Existen dos circuitos que cumplen los requerimientos anteriores, y se denominan latch (cerrojo,

    picaporte, pasador); uno en base a NAND , el otro en base a NOR. La denominacin de las

    entradas se explicar ms adelante.

    dato

    grabar

    cargar

    valor almacenado

  • Captulo 14. Mquinas secuenciales asincrnicas 5

    Profesor Leopoldo Silva Bijit 19-01-2010

    Figura 14.6 Latch mediante NANDs y NORs.

    Los siguientes diagramas muestran valores estables almacenados en las celdas estticas de 1 bit,

    o latchs.

    Figura 14.7 Valores estticos almacenados.

    14.2. Latch asincrnico S-R. (Latch de NAND)

    14.2.1. Esquemtico.

    Se tiene el siguiente circuito:

    Figura 14.8 Variables en latch de NANDs.

    Se emplea el nombre latch para referirse a una memoria de un bit, y cuando no existe una seal

    de reloj. En stos, las salidas cambian cuando las entradas cambian. En flip-flops las salidas

    cambian respecto al reloj.

    Las compuertas se asumen ideales. Y se modela el retardo de propagacin, mediante una

    componente externa.

    qn

    q

    R'

    S'

    S

    R

    Q

    Qn

    Q

    Q'

    S'

    R'

    Q

    Q'

    R

    S

    1

    0

    1

    1

    0

    1

    1

    1

    1

    0

    0

    0

    0

    1

    0

    0

  • 6 Sistemas Digitales

    Profesor Leopoldo Silva Bijit 19-01-2010

    14.2.2. Variables.

    Apenas ocurran cambios en las entradas de las compuertas (R', S', q y qn) se producirn

    simultneamente los cambios en las salidas Q o Qn, ya que se asume que estas compuertas no

    tienen retardo.

    El prximo valor que toma q, despus de S, ser el valor de Q. Dicho de otra forma: el valor

    presente de Q ser el prximo valor que tome q. Anlogamente para Qn.

    Analticamente:

    Q(t) = q(t + S)

    Qn(t) = qn(t + R)

    Se tienen: q(t) = Q(t - S)

    qn(t) = Qn(t - R)

    Grficamente:

    Q(t)

    to t

    q(t)

    to t

    S

    Figura 14.9 Valores presente y prximo, en el tiempo.

    Denominaremos:

    estado presente al conjunto: {q, qn}

    estado prximo al conjunto: {Q, Qn}

    Salida al estado presente (mquina de Moore).

    Debido a que, como se ver, los eventos que inician los cambios estn asociados a los cantos de

    bajada de las seales de entrada, se las denomina S y R, siguiendo el convenio general para

    identificar a seales de lgica negativa.

    En el esquema general de mquina secuencial:

    Y y

    x

    z

    FPE FS

    Figura 14.10 Retardos como memorias de corto plazo.

    Se destaca que los retardos pueden considerarse como una memoria de corto plazo.

    Memorizan el valor anterior de una entrada al bloque de retardo, durante segundos.

  • Captulo 14. Mquinas secuenciales asincrnicas 7

    Profesor Leopoldo Silva Bijit 19-01-2010

    Para estudiar el circuito secuencial se emplea un diagrama de estados o una matriz de

    transiciones.

    14.2.3. Ecuaciones.

    En el caso del latch de nand, se tienen las siguientes ecuaciones asociadas a la red

    combinacional ideal:

    Q = (S' qn)' = S''+qn' = S + qn'

    Qn = (R' q)' = R'' +q' = R + q

    14.2.4. Matriz de transiciones.

    Representndolas en un mapa, se logra la matriz de transiciones siguiente:

    Figura 14.11 Matriz de transiciones del latch de NAND.

    En la matriz de excitaciones o tabla de transiciones est toda la informacin para analizar el

    latch. Se denomina de excitaciones, notando que las columnas describen las seales de entrada o

    estmulos. Matriz de transiciones hace referencia al hecho de que el contenido de cada columna

    muestra las transiciones al estado prximo.

    Si las entradas no cambian, se est en una de las columnas. Un cambio de una de las entradas

    implica un cambio de columna. En una determinada columna, si el prximo estado es igual al

    estado presente, se dice que ese estado es estable. En caso contrario, se produce una transicin

    o cambio de estado.

    Suelen encerrarse, con crculos, los estados estables.

    q qn

    S'R' 00 01

    00

    01

    11 11

    11 11 1

    0 4

    5

    11 10

    11 11

    01 01 13

    12 8

    9

    11

    10

    11 10

    11 10 2

    3 7

    6

    00 01

    10 11 14

    15 11

    10

    Q, Qn

  • 8 Sistemas Digitales

    Profesor Leopoldo Silva Bijit 19-01-2010

    En el diagrama se aprecian tres estados estables. Si el objetivo es usar el circuito para emplearlo

    como memoria de un bit (flip-flop), no deber usarse el estado estable 11; para lo cual basta

    restringir que ambas entradas puedan ser cero simultneamente.

    14.2.5. Modo fundamental de operacin.

    Para simplificar el anlisis se define un modo fundamental de operacin. En el cual, las

    entradas pueden cambiarse slo cuando se est en estado estable; y slo un cambio de una

    entrada por vez. Otra forma de plantearlo es que los cambios ocurran con una separacin

    mnima en el tiempo; pero no concurrentes.

    Si el prximo estado es inestable ocurre una transicin, o cambio de estado.

    Si dos o ms variables de estado deben cambiar, se dice que se produce una carrera.

    Se denomina ciclo a la ocurrencia de una secuencia de dos o ms estados inestables.

    Si la carrera origina diferentes transiciones (dependiendo de qu entrada cambia primero), pero

    finalmente se llega a un mismo estado estable, la carrera se denomina no crtica. Si se llega a

    estados estables diferentes es una carrera crtica.

    Si nunca se llega a estados estables, se denomina oscilacin.

    14.2.6. Diagrama de estados.

    La informacin de la matriz de transiciones puede verse tambin con un diagrama de estados:

    Figura 14.12. Diagrama de estados del latch de NAND.

    00

    11/01 10 01

    11,10

    11

    00

    00,10 00,01

    11

    10

    01

    11,10,01,00

  • Captulo 14. Mquinas secuenciales asincrnicas 9

    Profesor Leopoldo Silva Bijit 19-01-2010

    14.2.7. Secuencias de inters

    Con la condicin S'+R'=1, el sistema slo puede estar en uno de los dos estados estables, que

    llamaremos set y reset. En este caso, y una vez terminadas las transiciones, se cumple que qn es

    q'.

    set = {q = 1, qn = 0}

    reset = {q = 0, qn = 1}

    Nos interesa estudiar secuencias de las entradas, que llevan de un estado estable al otro. Y que

    no se ocupe el estado estable 11, ya que en este caso qn no es la negacin lgica de q.

    a) Transicin set a reset

    Entradas en S'=1, R'=1; estado inicial: q=1, qn=0.

    Se analiza cuando ocurre un canto de bajada en R':

    Figura 14.13 De set a reset.

    Las salidas Q, Qn pasan por la secuencia: 10, 11, 01

    El estado q, qn pasa por la misma secuencia, pero con retardo: 10, 11, 01

    Despus de R ms S se produce el cambio a reset.

    Durante un corto tiempo, S, se pasa por estado 11. Que no es set ni reset.

    Las entradas no pueden cambiar, cuando se estn produciendo cambios en el estado interno; es

    decir cuando estn cambiando las seales q y qn.

    q qn

    S'R' 00 01

    00

    01

    11 11

    11 11 1

    0 4

    5

    11 10

    11 11

    01 01 13

    12 8

    9

    11

    10

    11 10

    11 10 2

    3 7

    6

    00 01

    10 11 14

    15 11

    10

    Q, Qn R

    S

    S'

    R S

    R'

    Q

    t

    t

    t

    Qn

    qn

    q t

    t

    t

    | reset

    . set |

  • 10 Sistemas Digitales

    Profesor Leopoldo Silva Bijit 19-01-2010

    Estando en reset, un canto de subida en R', no produce cambios. Tampoco se producen cambios

    de estado con pulsos en R'. Slo responde al primer canto de bajada en R', estando en set.

    b) Transicin de reset a set

    Estado inicial: q=0, qn=1. Entradas en S' = 1, R' = 1. Se analiza cuando ocurre un canto de

    bajada en S'.

    Figura 14.14 De set a reset.

    Cuando ocurre canto de bajada de S', estando en reset, despus de un tiempo ( S + R) se llega al estado set.

    Estando en set, un canto de subida en S', no produce cambios. Tampoco pulsos en S', cambian el estado.

    Anlisis del estado 11 en latch S-R

    Con entradas S'=0 y R'=0, despus de un tiempo el sistema permanece en estado estable q=1,

    qn=1. Pero no es set, ni reset.

    a) Si ocurre un canto de subida en S'.

    Se tiene S' = 1, R' = 0 y se pasa en forma confiable a reset. Ya que cambia una variable de

    estado por vez.

    b) Si ocurre un canto de subida en R'.

    Se tiene S' = 0, R' = 1 y se pasa en forma confiable a estado set.

    c) Si cambian simultneamente S' y R' a 1.

    q qn

    S'R' 00 01

    00

    01

    11 11

    11 11 1

    0 4

    5

    11 10

    11 11

    01 01 13

    12 8

    9

    11

    10

    11 10

    11 10 2

    3 7

    6

    00 01

    10 11 14

    15 11

    10

    Q, Qn

    R

    S

    R'

    S R

    S'

    Qn

    t

    t

    t

    Q

    q

    qn t

    t

    t

    reset | | set

  • Captulo 14. Mquinas secuenciales asincrnicas 11

    Profesor Leopoldo Silva Bijit 19-01-2010

    Pueden suceder 3 casos, considerando carreras en las entradas. c1) S'R' pasa por secuencia: 00, 10, 11

    Se llega a reset.

    Figura 14.15 S adelanta a R.

    c2) S'R' pasa por secuencia: 00,01, 11

    Se llega a set.

    Figura 14.16 R adelanta a S.

    c3) Cambio simultneo: 00, 11

    Se produce oscilacin.

    Figura 14.17. S y R llegan juntas.

    Si se excitan ambas variables de estado a la vez, dependiendo de los retardos de las compuertas

    puede que una u otra cambie primero, (pero no se queda en un estado estable) ya que

    inevitablemente se producir el cambio de la ms lenta. En cualquier caso se llega a un estado

    inestable en que ambas variables de estado vuelven a excitarse, generando una oscilacin.

    En los casos c1 y c2 (con tiempo entre cantos de subida menores que los retardos) tambin se

    producen problemas; ya que las entradas cambian durante las transiciones internas. Para evitar

    esta incertidumbre, se suele evitar el estado 11. Esto se logra con la condicin S'+R'=1. (Es

    decir, que ambas entradas no estn simultneamente en cero). Adems, en estas circunstancias

    (caso c), el latch cambia con cantos de subida.

    Normalmente se ocupan 8 de los 16 casilleros de la matriz de transicin. Las transiciones de set

    a reset y viceversa que se analizaron antes.

    14.2.8. Funcionamiento restringido.

    Si se cumple la condicin para funcionamiento confiable, Qn se puede anotar como Q'.

    Las casillas del mapa por las que nunca se pase, pueden ser consideradas superfluas.

    mayor que S

    S'

    R'

    mayor que R

    S'

    R'

    R'

    S'

  • 12 Sistemas Digitales

    Profesor Leopoldo Silva Bijit 19-01-2010

    Entonces puede escribirse: Q = S'' + q R' + q qn'

    El ltimo trmino slo interviene cuando q = 1, qn = 0, S' = 1 y R' =0; pero esta situacin es

    transitoria, en forma estable queda q = 0 y qn = 1, por esta razn puede no considerarse al

    plantear la ecuacin del prximo estado. De este modo resulta, usando notacin abreviada,

    reemplazando q por Q y Q por Q+:

    Q+ = SQ' + R' Q, formando los grupos: (0, 1, 4, 5) y (6, 7, 14, 15).

    Figura 14.18. Matriz de transiciones en modo confiable.

    Ntese que tambin puede escribirse, agrupando (0,1,2,3,4,5,6,7) y (6,7,14,15): Q+ = S + R'Q

    Tanto las tablas como la ecuacin caracterstica, pueden obtenerse conceptualmente a travs del

    funcionamiento normal del circuito, sin usar la matriz de transiciones.

    La ecuacin caracterstica puede plantearse segn:

    Q(k+1) = S(k) + R'(k)Q(k)

    Ntese que esta expresin puede obtenerse a partir de: Q = S + qn y Qn = R + q deducidas anteriormente, si se hace Qn = qn, y se eliminan estas variables.

    La tabla caracterstica, para el latch SR, pueden plantearse:

    Figura 14.19. Tabla caracterstica S-R.

    Q, Qn

    q qn

    S'R'

    00 01

    00

    01

    11 1

    0 4

    5

    11 10

    01 01 13

    12 8

    9

    11

    10

    10

    10 2

    3 7

    6

    01

    10 11 14

    15 11

    10

    S' R' Q(k+1)

    1 1 Q(k)

    1 0 0

    0 1 1

    0 0 ?

  • Captulo 14. Mquinas secuenciales asincrnicas 13

    Profesor Leopoldo Silva Bijit 19-01-2010

    Con S' + R' = 1:

    No cambia de estado con entradas altas. Pasa a reset con canto de bajada en R'.

    Pasa a set con canto de bajada en S'. Entradas bajas causan indeterminacin.

    La tabla de excitaciones, para el latch SR, puede plantearse:

    Figura 14.20. Tabla de excitaciones parta S-R.

    Si est en reset: permanece en reset si ocurren pulsos en R'; pasa a set con canto de bajada de S'.

    Si est en set: permanece en set si ocurren pulsos en S'; pasa a reset con canto de bajada de R'.

    Resumen Latch de NAND:

    Con: S'+R' = 1

    Figura 14.21 Resumen funcionamiento latch de NANDs..

    Normalmente S' y R' estn en uno lgico, un pulso de corta duracin en una de las entradas

    produce el correspondiente cambio de estado. La duracin del pulso debe ser mayor que el

    retardo de ambas compuertas. El evento que inicia la conmutacin es el canto de bajada.

    Ambas entradas no pueden ser ceros.

    El latch de NAND recuerda la ltima entrada que tuvo un canto de bajada.

    14.2.9. Anlisis simplificado.

    Puede inferirse el funcionamiento del latch de NAND, mediante un anlisis simplificado, ste

    consiste en asumir una sola variable de estado:

    a

    b

    S'

    R'

    Q

    Q(k) Q(k+1) S' R'

    0 0 1

    0 1 0 1

    1 0 1 0

    1 1 1

    Q'

    Q

    R

    S'

    a >

    b >

    = S + R

  • 14 Sistemas Digitales

    Profesor Leopoldo Silva Bijit 19-01-2010

    Figura 14.22 Anlisis con un retardo.

    Se tiene para el prximo estado, asumiendo ambas compuertas ideales, que:

    Q + = ((R' q)' S')' = S + R' q

    Ntese que el retardo de q, respecto de Q, es ahora ( S + R).

    La matriz de transiciones resulta:

    Figura 14.23. Matriz de transiciones con un solo retardo.

    Y el diagrama de estados asociado se muestra a continuacin:

    Figura 14.24. Diagrama de estados simplificado.

    Sin embargo esta simplificacin no muestra los problemas del estado 11, y los riesgos de

    oscilacin al tener ambas entradas bajas. Esto se debe a que el efecto de la carrera entre las

    entradas no se puede observar con un modelo obtenido con slo un retardo de propagacin, en

    el cual slo puede observarse Q. Puede restringirse la columna 00, y colocar prximos estados

    superfluos.

    S' R'

    Q

    S R

    q

    q

    S'R' 00 01

    0

    1

    1 1

    1 1 1

    0 3

    2

    11 10

    0 0

    1 0 7

    6 4

    5

    Q+

    11/10 0 1

    11,01,00

    00,01

    10

  • Captulo 14. Mquinas secuenciales asincrnicas 15

    Profesor Leopoldo Silva Bijit 19-01-2010

    14.2.10. Simulacin de circuitos asincrnicos.

    La simulacin de estos circuitos, presenta problemas a los programas simuladores. Pero puede

    emplearse el siguiente esquema:

    V3

    V2

    V1 Init

    1

    Qn

    Q

    R'

    S'

    1

    Figura 14.25. Diagrama para simular un latch.

    Si se marca el cuadro de mostrar el estado de las lneas, se vern todas no iniciadas o en tercer

    estado, esto en el simulador. Si se hiciera correr la simulacin, mostrara una oscilacin en el

    estado.

    Para evitar un estado inicial indeterminado, se emplea un nand de tres entradas.

    Donde el switch V1 se emplea para dejar en un estado inicial, para esto basta comenzar la

    simulacin con V1 = 0, y luego de algunos ticks (basta uno) se pasa V1 a uno. El flip-flop queda

    en set (1).

    Figura 14.26. Formas de ondas generadas en la simulacin.

    Si se generaran pequeos pulsos en S, mediante V2, no se producen cambios de estado.

    Un pulso en R, inicia el cambio de estado (2). La simulacin muestra los retardos entre las

    seales que conmutan. Posteriores pulsos en R, no modifican el estado. No importa la duracin

    de estos pulsos.

    Un canto de bajada en S', inicia el cambio a set (3). Posteriores pulsos en S, no modifican el

    estado. No importa la duracin de estos pulsos (4).

    Estando en set, un pulso angosto de reset (5), en el caso de la figura de un tic, que tambin es la

    propagacin de una compuerta, confunden al simulador y se inicia una oscilacin. Sucede que

    Init

    Qn

    Q

    R'

    S'

    1 2 3 4 5

  • 16 Sistemas Digitales

    Profesor Leopoldo Silva Bijit 19-01-2010

    se efecta un cambio en las entradas antes de que hayan ocurrido todas las transiciones

    asociadas al cambio de las entradas; es decir, no se cumple la condicin para trabajar en modo

    fundamental de operacin.

    Las siguientes formas de ondas ilustran el funcionamiento no deseado del latch:

    Figura 14.27. Oscilacin en latch de NAND.

    Si se excita con R'=0 y S'= 0, pasa a estado 11 (1).

    Se muestra el efecto de un canto de subida en S' (2). En estas condiciones habra cambio de

    estado con canto de bajada y tambin de subida, lo cual no es deseable.

    Un cambio simultneo de ambas entradas a uno (3), produce oscilacin.

    14.2 Elimina rebotes (debounce)

    Una aplicacin comn del latch de NAND es eliminar los rebotes mecnicos que se producen

    en un interruptor. El siguiente circuito ilustra el funcionamiento.

    Figura 14.28. Elimina rebotes.

    Se colocan resistencias de pull-up para fijar un uno lgico en las entradas al aire. Se emplea un

    interruptor de dos posiciones. Se denomina SPDT (polo simple, doble garganta), es decir existe

    un punto comn, por donde se ingresa la seal, y normalmente un contacto est cerrado

    (obviamente el otro est abierto). Se marcan NO (normaly open) y NC (normaly closed).

    Init

    Qn

    Q

    R'

    S'

    1 2 3

    S1 5V

    5V

    1

    S'

    R'

    Q

    Qn

    1

    2.2k

    2.2k

    2.2k

  • Captulo 14. Mquinas secuenciales asincrnicas 17

    Profesor Leopoldo Silva Bijit 19-01-2010

    Al operar el interruptor se produce un movimiento mecnico que impactar al conector en la

    otra posicin. En forma microscpica, y debido a choques semi-elsticos, se producen rebotes.

    Pueden ser varios rebotes, el proceso mecnico termina despus de 5 mseg aproximadamente.

    El contacto mvil no produce problemas al despegarse del otro contacto.

    La forma de onda en el interruptor, al hacer contacto, exhibe un canto de bajada seguido de

    varios pequeos pulsos hasta que se estabiliza en un valor cero, esto debido a que el interruptor

    ha dejado de moverse. Entre el primer canto de bajada y el primer canto de subida debido a los

    rebotes transcurren 500 nanosegundos aproximadamente. Pero este tiempo es mucho mayor que

    el de propagacin a travs de dos compuertas. En la figura anterior se est en set, al cambiar el

    interruptor, el latch conmuta y permanece en reset, ya que absorbe mltiples pulsos en reset.

    Igual cosa sucede al volver a operar el interruptor, se cambiar de estado a pesar de los rebotes.

    Las salidas Q y Qn estn libres de rebotes.

    Este elimina rebotes requiere un interruptor de tres terminales, que suele denominarse SPDT.

    Existen otros diseos, basados en interruptores de dos terminales (SPST simple polo, simple

    throat), que pueden conectar o desconectar dos puntos.

    14.3 Sincronizacin de un S-R

    El esquema siguiente ilustra cmo se agrega un reloj a un latch SR, en base a NAND.

    Mientras enable est bajo, las seales S' y R' estarn en uno, por lo que cumplen las condiciones

    para funcionamiento normal del latch.

    Se ilustran seales de preset' y clear', de lgica negativa, que permiten dejar en un estado inicial

    al latch. Su operacin sobrepasa a las excitaciones S' y R', en este sentido se dicen que son

    asincrnicas con ellas, apenas ocurra un canto de bajada en estas seales, el latch permanecer

    en un estado determinado hasta liberar el control asincrnico, llevndolo a uno. Al igual que con

    las seales R y S, debe evitarse mantener preset y clear en cero al mismo tiempo.

    Figura 14.29. Sincronizacin. Empleo de seal de reloj.

    clear'

    preset'

    R'

    S'

    Q'

    Q

    Set

    enable

    Reset

  • 18 Sistemas Digitales

    Profesor Leopoldo Silva Bijit 19-01-2010

    Ahora cuando enable tenga un canto de subida dejar pasar las excitaciones externas Set y

    Reset, hacia las entradas del latch S' y R'.

    Tambin puede pensarse que enable es una seal de reloj, que sincroniza al latch. En esta

    situacin, las entradas Set y Reset deben ser estables antes de un canto de subida del reloj. En el

    canto de subida se inspeccionan las entradas y despus de un tiempo de propagacin, ocurre el

    canto de bajada en S' o R'. Lo cual implica que para funcionamiento determinstico, no pueden

    estar altas ambas entradas externas. Si se cumplen estas condiciones, slo podr existir un canto

    de bajada en S' o R', garantizando la operacin del latch SR.

    Se ilustran las formas de ondas para un funcionamiento normal:

    clk

    Set

    S'

    Figura 14.30 Funcionamiento normal.

    La seal S es sincrnica con clk; Set es asincrnica con respecto a clk.

    14.4. Latch asincrnico S-R. (Latch de NOR)

    14.4.1. Esquemtico.

    Se tiene el siguiente circuito:

    q

    qn

    R

    S

    Q

    Qn

    Figura 14.31. Latch de NOR.

    Las compuertas se asumen ideales. Y se modela el retardo de propagacin, mediante

    componentes externas, ubicadas en el lazo de realimentacin.

    Apenas ocurran cambios en las entradas R, S, q y qn se producirn simultneamente los cambios

    en las salidas Q o Qn, estas compuertas no tienen retardo.

  • Captulo 14. Mquinas secuenciales asincrnicas 19

    Profesor Leopoldo Silva Bijit 19-01-2010

    14.4.2. Variables.

    Denominaremos:

    estado presente al conjunto: {q, qn}

    estado prximo al conjunto: {Q, Qn}

    Salida al estado presente (mquina de Moore).

    14.4.3. Ecuaciones.

    En el caso del latch de NOR, se tienen:

    Q = (R + qn )' = R'qn'

    Qn = (S + q )' = S'q'

    14.4.4. Matriz de transiciones.

    Representando en un mapa, se logra la matriz de transiciones siguiente:

    Figura 14.32. Matriz de transiciones latch de nor.

    En el diagrama se aprecian tres estados estables. Si el objetivo es usar el circuito para emplearlo

    como elemento de memoria, y por lo tanto que q y qn sean el complemento la una de la otra, no

    deber usarse el estado estable 00; para lo cual basta restringir que ambas entradas puedan ser

    uno simultneamente.

    14.4.5. Diagrama de estados.

    La informacin de la matriz de transiciones puede verse tambin con un diagrama de estados:

    q qn SR

    00 01

    00

    01

    11 01

    01 01 1

    0 4

    5

    11 10

    00 10

    00 00 13

    12 8

    9

    11

    10

    00 00

    10 00 2

    3 7

    6

    00 00

    00 10 14

    15 11

    10

    Q, Qn

  • 20 Sistemas Digitales

    Profesor Leopoldo Silva Bijit 19-01-2010

    Figura 14.33. Diagrama de estados latch de nor.

    Con la condicin SR=0, el sistema slo puede estar en uno de dos estados estables, que

    llamaremos set y reset. En este caso, y una vez terminadas las transiciones, se cumple que qn es

    q'.

    set = {q = 1, qn = 0}

    reset = {q = 0, qn = 1}

    14.4.6. Secuencias de inters.

    Nos interesa estudiar secuencias de las entradas, que llevan de un estado estable al otro. Y que

    no se ocupe el estado estable 00, ya que en este caso qn no es la negacin lgica de q.

    La figura ilustra algunas secuencias:

    Figura 14.34. Secuencias de inters en latch de nor.

    El canto de subida en S (1), inicia el cambio de estado de reset a set.

    Luego entre (1) y (2) ocurre una entrada a la columna 11, lo que lleva al estado 00, que no es

    adecuado para utilizar el circuito como flip-flop.

    11

    00/10 10 01

    00,01

    00

    11

    11,01 11,10

    00

    01

    10

    11,10,01,00

    S

    R

    Q'

    Q

    1 2 3 4 5

  • Captulo 14. Mquinas secuenciales asincrnicas 21

    Profesor Leopoldo Silva Bijit 19-01-2010

    En esta situacin un canto de bajada (2) tambin conmuta el latch. No es deseable tener

    conmutaciones con cantos de subida y de bajada.

    Luego se vuelve a condiciones normales de operacin, ambas excitaciones en cero, y se tiene

    una conmutacin normal a set, en (3).

    Estando en estado 00, un cambio simultneo de las entradas a cero, produce una oscilacin (4),

    la cual se detiene al llevar el latch a reset. Finalmente en (5) se coloca en modo normal.

    14.4.7. Funcionamiento simplificado.

    El diagrama de transiciones, marcando como superfluas los estados por los cuales nunca se

    pasar, si se cumplen las restricciones para operacin normal, se indica a continuacin:

    Figura 14.35. Funcionamiento simplificado, latch de NORs.

    Formando grupos: (8, 10, 12, 14) y (2, 3, 10, 11), se logra:

    Q+ = Sqn' + R' q

    El mintrmino 8, que cubre la expresin que contiene qn', ocurre slo durante la transicin. En

    estado estacionario se tiene qn = 0, por lo tanto, la ecuacin caracterstica puede plantearse

    segn:

    Q(k+1) = S(k) + R'(k)Q(k)

    La tabla caracterstica, para el latch SR en base a nor, pueden plantearse:

    Q, Qn

    q qn

    SR 00 01

    00

    01

    01

    01 01 1

    0 4

    5

    11 10

    10

    00 13

    12 8

    9

    11

    10

    10 00 2

    3 7

    6

    10 14

    15 11

    10

  • 22 Sistemas Digitales

    Profesor Leopoldo Silva Bijit 19-01-2010

    Figura 14.36. Tabla caracterstica, latch de NOR.

    Con SR = 0

    No cambia estado con entradas bajas. Pasa a set con canto de subida en S.

    Pasa a reset con canto de subida en R. Entradas altas causan indeterminacin.

    La tabla de excitaciones, para el latch SR en base a nor, puede plantearse:

    Figura 14.37. Tabla de excitaciones, latch de NORs.

    Si est en reset: permanece en reset si ocurren pulsos en R, pasa a set con canto de subida de S.

    Si est en set: permanece en set si ocurren pulsos en S; pasa a reset con canto de subida de R.

    14.4.8. Resumen Latch de NOR.

    Normalmente S y R estn en cero lgico, un pulso de corta duracin en una de las entradas

    produce el correspondiente cambio de estado. La duracin del pulso debe ser mayor que el

    retardo de ambas compuertas. Ambas entradas no pueden estar altas. El evento que inicia la

    conmutacin es el canto de subida. Este latch recuerda la ltima entrada que tuvo un canto de

    subida.

    14.4.9. Anlisis simplificado, con un retardo.

    Puede inferirse el funcionamiento del latch de NOR, mediante un anlisis simplificado, ste

    consiste en asumir una sola variable de estado:

    Se tiene: Q += ((S +q)' + R )'

    Entonces: Q+ = R( S + Q) que es la ecuacin caracterstica. El retardo entre Q' y q' es la suma del retardo de las componentes individuales.

    S R Q(k+1)

    0 0 Q(k)

    1 0 1

    0 1 0

    1 1 ?

    Q(k) Q(k+1) S R

    0 0 0

    0 1 1 0

    1 0 0 1

    1 1 0

  • Captulo 14. Mquinas secuenciales asincrnicas 23

    Profesor Leopoldo Silva Bijit 19-01-2010

    Figura 14.38. Esquema con solo una variable de estado.

    El siguiente circuito elimina rebotes empleando un latch de nor:

    Figura 14.39. Elimina rebotes con latch de nor.

    Puede verse un diseo de este tipo en el chip 7475.

    14.9.10. Latch positivo D

    La seal G (por gate) habilita la entrada de cantos de subida hacia el latch de nor, y garantiza el

    funcionamiento normal de ste. La entrada D se copia hacia la salida Q cuando G, que acta

    como reloj, est en nivel alto. Cuando G est en nivel cero, el latch mantiene el estado

    almacenado. Se dice tambin que es un latch sensible al nivel.

    S

    R Q

    Q'

    G

    D

    Figura 14.39a. Latch positivo D.

    Puede operarse con cantos de bajada de G, si se coloca un inversor en la puerta habilitadora.

    +V

    S1

    0.33k

    0.33k

    S

    R

    Q'

    R S Q

    q

  • 24 Sistemas Digitales

    Profesor Leopoldo Silva Bijit 19-01-2010

    14.5. Diseo de latch JK en base a Latch de NOR

    Diseo de JK en base a SR:

    Se tiene la tabla de transiciones de un JK. Que es la matriz que se desea disear.

    Figura 14.40 Matriz de transiciones JK.

    Y la tabla de transiciones del SR, que es el flip-flop que se emplear:

    Figura 14.41. Tabla de transiciones SR.

    Empleando el mtodo tabular, se logra el programa del SR:

    Figura 14.42. Programa del SR.

    Leyendo del mapa se logra: S = JQ' ; R = KQ

    El siguiente circuito implementa un JK en base a un SR.

    0 0 10 10

    0 01 01 0

    0

    1

    S, R

    JK

    Q(k) 00 01 11 10

    Q(k) Q(k+1) S R

    0 0 0

    0 1 1 0

    1 0 0 1

    1 1 0

    0

    1

    0 0 1 1

    1 0 0 1

    Q(k+1)

    JK

    Q(k) 00 01 11 10

  • Captulo 14. Mquinas secuenciales asincrnicas 25

    Profesor Leopoldo Silva Bijit 19-01-2010

    Figura 14.43. Latch JK basado en SR.

    Se tienen las siguientes formas de ondas:

    Figura 14.44. Formas de ondas en latch JK.

    El latch de nor inicialmente est en set. En (1) llega un canto de subida en K, el cual origina un

    canto de subida en el control interno del latch de NOR, llevando a uno la excitacin R; lo cual

    hace cambiar a Q y luego a Q'. El cambio de Q tambin origina un canto de bajada en R, lo cual

    deja en condiciones normales al latch de NOR.

    En (2) se aprecia una orden de set, en J. Lo cual lleva a excitar S, que inicia la conmutacin del

    latch interno; y el cambio de Q' lleva a cero a S, dejando en condiciones predecibles al latch.

    En el instante (3) se inicia el modo toggle, que se detiene al llevar a modo hold al JK, en (4)

    En el modo toggle, con J y K iguales a uno, se puede dejar pasar slo una de las entradas hacia

    el latch. Esto puede lograrse dejando pasar K si Q=1, ya que esto implica resetear el flip-flop.

    Y dejar "pasar" J si Q=0.

    14.6. Diseo de un flip-flop JK sincrnico.

    Al circuito del punto anterior se le agrega un reloj.

    J

    K

    S

    R

    Q

    Q'

    1 2 3 4

    J

    K

    S

    R Q

    Q'

  • 26 Sistemas Digitales

    Profesor Leopoldo Silva Bijit 19-01-2010

    Figura 14.45. Sincronizacin de flip-flop JK

    Este diseo tiene restricciones del ancho de pulso del reloj. Como puede comprobarse esta

    restriccin se produce en el modo toggle; es decir con J y K iguales a uno. Para el anlisis se

    asume que el flip-flop est en modo reset.

    Cuando el reloj sube, habilita la excitacin S, despus de J. A su vez este cambio desencadena

    la conmutacin del latch, bajando Q' despus de S, y luego subiendo Q despus de R. Al

    mismo tiempo que se levanta Q, se inicia la propagacin, a travs de la compuerta habilitada por

    K y el reloj de un canto de subida en R, lo cual ocurre despus de K. Si se llega a producir la

    excitacin R, el latch volver a conmutar; salvo que el reloj sea angosto y baje antes que Q suba.

    Es decir ancho del pulso del reloj debe ser menor que : S + J+ R

    Figura 14.46. Formas de ondas conmutacin JK.

    clk

    S

    Q

    Q'

    R

    J S

    R K

    ancho mximo del reloj.

    clk

    J

    K

    S

    R Q

    Q'

    J S

    R K

  • Captulo 14. Mquinas secuenciales asincrnicas 27

    Profesor Leopoldo Silva Bijit 19-01-2010

    El problema de este diseo es que al cambiar de estado, necesariamente se pasa por estado 00;

    es decir los cambios se producen con el reloj en alto.

    Para mantener conducta predecible, las entradas no deben cambiar estando el reloj en alto. Y si

    dichas entradas provienen de otro flip-flop similar (es decir son salidas de ste), se llega a la

    conclusin que para un flip-flop cualquiera: No se pueden cambiar entradas y salidas, de un

    mismo flip-flop, en el mismo pulso de reloj.

    Para disolver estas restricciones hay dos soluciones.

    14.7. Flip-flops disparados por cantos

    En estos flip-flops, pueden cambiarse las entradas y salidas en el mismo pulso del reloj.

    El pulso angosto del reloj se obtiene mediante redes de disparo; que bsicamente derivan un

    pulso de entrada. En estos circuitos, se requiere buena pendiente del reloj (no un pulso angosto),

    para operacin correcta.

    Diseos de este tipo se encuentran en el chip 7470.

    Tambin puede explicarse el funcionamiento de los disparados por canto mediante un circuito

    que genera un reloj muy angosto, que se produce asociado a un canto. El ancho del reloj

    generado debe ser de menor ancho que S+ J+ R; si esto es as, cuando ya haya pasado por

    estado 00 el reloj comenzar a estar en bajo, y no se activar R.

    Con fines didcticos se muestra cmo puede lograrse un reloj angosto con una perturbacin:

    Figura 14.47. Reloj angosto.

    Y las formas de ondas:

    Figura 14.48. Formas de ondas.

    El reloj cp (clock pulse) tiene un ancho de pulso igual a un retardo de compuerta.

    Una variante de la idea anterior, es generar un pulso angosto asociado al canto de bajada del

    reloj, luego de producirse el evento: canto de subida en J.

    En este caso, con J=1, S=clk + clk, con clk atrasada respecto de clk; se produce perturbacin a la salida del OR, en el canto de bajada del reloj.

    clk cp

    Generador

    1 1

    clk

    cp

  • 28 Sistemas Digitales

    Profesor Leopoldo Silva Bijit 19-01-2010

    J

    clk

    J

    J

    S

    J+clk

    clk

    J

    J

    S

    Figura 14.48a. Generacin de pulso angosto.

    De este modo pueden generarse pulsos adecuados para el latch de nand, que registra los

    cambios.

    clk

    K

    J Q

    Q

    J

    K R

    S

    S

    R

    Figura 14.48b. JK, disparado por cantos de bajada del reloj.

    Los flip-flops JK suelen tener entradas asincrnicas de set y reset, que sobrepasan las entradas

    sincrnicas. De esta forma la ecuacin caracterstica para un JK:

    Q(k+1) = J(k)Q'(k) + K'(k)Q(k)

    Con S y R controles asincrnicos de lgica positiva, la ecuacin resulta:

    Q(k+1) = S + R' ( J(k)Q'(k)+K'(k)Q(k) )

    14.8. Master Slave. Maestro-esclavo.

    Una solucin al problema de sincronizacin, mediante un pulso angosto, de un flip-flop JK, es

    la estructura master-slave, que consiste en dos latchs que operan con dos relojes; uno el

    complemento del otro. El latch maestro, captura las entradas con el canto de subida del reloj. El

    esclavo inspecciona sus entradas con el canto de bajada del clk, es el reloj clk' en la Figura

    14.49. De esta forma el master-slave cambia sus salidas cuando ya ha almacenado

    confiablemente las entradas registradas por el maestro.

  • Captulo 14. Mquinas secuenciales asincrnicas 29

    Profesor Leopoldo Silva Bijit 19-01-2010

    Figura 14.49. Flip-flop JK master-slave.

    Se ilustra la seal init, que inicia los latch, para la simulacin, puede considerarse como una

    seal asincrnica de preset.

    A continuacin se ilustran algunas secuencias de valores:

    La seal de inicio setea a ambos latch, en el punto (1) se inicia la simulacin con valores

    iniciales correctos. Como K est inicialmente alto, el primer canto de subida del clock, produce

    Smtr, que setea el master. Ese nivel es inspeccionado en el canto de subida de clk' (2), lo que

    origina el canto de subida de Rslv, el que a su vez origina la conmutacin del latch esclavo. El

    flip -flop cambia sus salidas, quedando en estado reset. De esta forma se deshabilita la entrada

    K.

    Figura 14.50. Formas de ondas en flip-flop master-slave.

    J

    K

    clk

    Smt

    r Rmt

    r clk'

    Sslv

    Rslv

    Q

    Q'

    1 2

    3 4 5

    a

    J

    K

    clk

    Smt

    r

    Rmt

    r

    clk'

    Ssl

    v

    Rsl

    v Q

    Q'

    init

  • 30 Sistemas Digitales

    Profesor Leopoldo Silva Bijit 19-01-2010

    En (3) se cambia las entradas J =1 y K = 0. J puede pasar, habilitado por Q', y se genera con el

    canto de subida de clk, la seal Rmtr que resetea el master. Ese cambio slo es tomado en cuenta

    por el slave en el canto de subida de clk' (que es el canto de bajada de clk) que genera el set del

    esclavo (a); lo que a su vez inicia la conmutacin del segundo latch, conmutando la salida.

    En (4) se ingresa a modo hold, donde se advierte que no cambia el latch maestro, y que en el

    latch esclavo se generan pulsos de set, que no cambian las salidas.

    Desde (5) se inicia modo toggle. Donde se aprecian las secuencias de set, reset, set y reset del

    maestro y las correlativas reset, set, reset, y set en el esclavo.

    Los flip-flops de tipo maestro esclavo tienen asociado un pequeo pulso en la seal clock en la

    tabla de funcionamiento. Algunos ejemplos: 7471, 7472, 7473, 7476.

    Puede comprobarse que si una seal de entrada est alta durante el reloj ser interpretada como

    uno en la salida, cuando los latch son en base a NOR. (se denomina captura de unos). Estos

    flip-flops no pueden ser alimentados con salidas que tengan perturbaciones de cero. Lo dual

    ocurre para latch en base a NAND, en que se capturan ceros.

    Figura 14.51. Captura de unos.

    En (1), estando el reloj alto y en modo set, se captura un uno en la entrada K. Esto podra ser

    una perturbacin en cero de dicha entrada. Esto ocasiona la conmutacin del flip-flop master-

    slave.

    Ntese que el latch maestro puede estar en cero o en uno, por esta razn en cada canto de subida

    de clk' se origina un cambio de estado del latch esclavo.

    En (2) se aprecia una captura de un uno en la entrada J, estando en reset la perturbacin que

    viene en la entrada J hace conmutar al flip-flop.

    Para un correcto uso de este tipo de flip-flops las entradas no deben tener perturbaciones en

    cero, si son en base a latch de NOR, y en uno si los latchs son de NAND. Los flip-flops

    maestro-esclavo no tienen requerimiento de pulsos angostos, ni de pendiente del reloj.

    J

    K

    clk

    Smtr

    Rmt

    r clk'

    Sslv

    Rslv

    Q

    Q'

    1 2

  • Captulo 14. Mquinas secuenciales asincrnicas 31

    Profesor Leopoldo Silva Bijit 19-01-2010

    Los flip-flops disparados por cantos no tienen la dificultad de los anteriores, pero requieren que

    el tiempo de levantamiento (en los disparados por cantos de subida) o el de bajada (en los

    disparados por canto de bajada) cumpla cierta pendiente mnima; en caso contrario la derivada

    no genera un pulso de suficiente magnitud para comandar los cambios internos.

    Master Slave de tipo D.

    Tiene la ventaja de no capturar unos o ceros. Ver: Paul Horowitz. The Art of Electronics. 1989.

    Figura 14.52. Master-slave de tipo D.

    14.9. Flip-Flop Sincrnico D.

    El siguiente circuito implementa un flip-flop sincrnico tipo D en base a tres latch de NAND.

    Este diagrama es la descripcin lgica del 7474, su diseo interno es en base a redes de disparo.

    D

    clk

    Smt

    r

    Rmt

    r

    clk'

    Ssl

    v

    Rsl

    v Q

    Q'

    init

  • 32 Sistemas Digitales

    Profesor Leopoldo Silva Bijit 19-01-2010

    Figura 19.53. Flip-flop sincrnico D.

    Se tienen las siguientes formas de ondas que ilustran las conmutaciones internas:

    Figura 19.54. Formas de ondas. Conmutacin flip flop sincrnico D.

    El control asincrnico clear deja en estado inicial reset al flip-flop D. En (1).

    Los cambios de D son registrados en el latch superior e inferior. En (2) y (5)

    Los cantos del reloj provocan la conmutacin del latch de salida. Entre (3) y (4) se tiene una

    secuencia de set; en (6) y (7) se tiene una secuencia reset.

    Puede efectuarse un anlisis ms detallado de la configuracin de entrada de este flip-flop, para

    esto se consideran en estado alto, las entradas preset y clear. De este modo la red simplificada

    puede verse a continuacin:

    preset

    clear

    clk

    D

    Dset

    t

    Dclr

    S

    R

    Q

    QN

    1

    1

    1

    1

    1

    1

    preset

    clea

    r clk

    D

    Dset

    Dcl

    r S

    R

    Q

    QN

    1 2 3 4 6 5

    7

  • Captulo 14. Mquinas secuenciales asincrnicas 33

    Profesor Leopoldo Silva Bijit 19-01-2010

    Figura 19.55. Anlisis esquema simplificado.

    Se consideran D y clk como entradas. Las salidas sern S y R. No se contempla en el anlisis el

    latch de salida. Su comportamiento queda determinado por los cantos de bajada de R y S, y que

    se asume que no se presentar la situacin en que ambas estn bajas.

    Se tienen las siguientes ecuaciones, considerando como variables de estado a las seales: s, r,

    dset, dclr, que se producen despus de un retardo, respecto de las salidas de las compuertas que

    se asumen ideales:

    S = (dset clk )' R = ( clk dclr s )'

    Dset = ( dclr s )' Dclr = ( D r)'

    Las cuales implican la siguiente matriz de transiciones:

    clk

    D

    Dset

    Dclr

    S

    R

    Q

    Q

    N 1

    1

    1

    1

    1

    1

  • 34 Sistemas Digitales

    Profesor Leopoldo Silva Bijit 19-01-2010

    s r dset dclr 00 01 11 10

    0000 1111 1111 1111 1111

    0001 1111 1111 1111 1111

    0011 1111 1111 0111 0111

    0010 1111 1111 0111 0111

    0110 1111 1110 0110 0111

    0111 1111 1110 0110 0111

    0101 1111 1110 1110 1111

    0100 1111 1110 1110 1111

    1100 1111 1110 1110 1111

    1101 1101 1100 1000 1001

    1111 1101 1100 0000 0001

    1110 1111 1110 0110 0111

    1010 1111 1111 0111 0111

    1011 1101 1101 0001 0001

    1001 1101 1101 1001 1001

    1000 1111 1111 1111 1111

    clk D

    S, R, Dset, Dclr

    Figura 19.56. Matriz de transiciones flip-flop sincrnico D.

    Observando la matriz, puede concluirse que:

    Cuando el reloj est bajo, las rdenes S y R al latch de salida estn en 1, y por lo tanto ste est

    en hold.

    Con el reloj en bajo, existen dos estados estables, uno asociado a la entrada D=0 y el otro a

    D=1. Lo cual establece los valores de los latchs de entrada; si la entrada D est en 0, se tienen

    Dset=0 y Dclr=1. Con D=1 se tienen Dset= 1 y Dclr=0.

    Si con el reloj bajo, cambia la entrada D, se cambia del estado 1101 al 1110 y viceversa. El

    cambio de estado dura dos tiempos de propagacin.

    Activacin del reloj.

    Se puede pasar de entradas D=0, clk=0 a D=0 y clk=1.

    La entrada D debe estar estable el tiempo de setup (puede haber un cambio de 1 a 0 en D, pero

    tiene que permitir estabilizar los latch de entrada en estado 1101, lo cual puede durar dos

    propagaciones), antes de que suba el reloj. Lo cual implica pasar del estado 1101 al 1001,

    activando un canto de bajada en R, lo cual captura en el latch de salida el valor 0 de D. Mientras

    dura esta transicin (un tiempo de propagacin), no puede cambiarse D. Este requerimiento es el

    tiempo de hold.

    Se puede pasar de entradas D=1, clk=0 a D=1 y clk=1.

    La entrada D debe estar estable el tiempo de setup (puede haber un cambio de 0 a 1 en D, pero

    tiene que permitir estabilizar los latch de entrada en estado 1110, lo cual puede durar dos

    propagaciones), antes de que suba el reloj. Lo cual implica pasar del estado 1110 al 0110,

  • Captulo 14. Mquinas secuenciales asincrnicas 35

    Profesor Leopoldo Silva Bijit 19-01-2010

    activando un canto de bajada en S, lo cual captura en el latch de salida el valor 1 de D. Mientras

    dura esta transicin (un tiempo de propagacin), no puede cambiarse D. Este requerimiento es el

    tiempo de hold.

    Estando el reloj alto, D puede cambiar, esto no afecta al valor ya registrado, ya que no se

    activan ni S ni R. En caso que D cambie de 0 a 1, habiendo grabado previamente un cero,

    permanece en estado 1001. Si se hubiera grabado en la salida un uno, se cambia de 0110 a 0111,

    activando un cambio en Dclr.

    Luego de los posibles cambios anteriores, el reloj debe volver a cero, lo cual reestablece

    valores normales, en uno lgico, para R y S. Quedando en estado 1101 1110 segn sea el

    valor de D.

    14.10. Latch transparente.

    Se denomina latch a un elemento de almacenamiento de un bit. Puede conceptualizarse como

    un mux realimentado. Apenas G se active (en 1), inmediatamente en Q se copia el valor de D.

    Cuando G se desactiva (va a 0) la salida Q se mantiene capturada (latch) mediante la va de

    realimentacin.

    Figura 14.57. Latch transparente.

    Una implementacin directa mediante compuertas es la siguiente:

    G

    R

    D

    Q

    S

    P

    Figura 14.58. Latch transparente mediante compuertas.

    Cuando G est alto: Q sigue a D, en forma transparente; en caso contrario, Q permanece estable.

    El circuito se denomina Latch D esttico, ya que mantiene el dato en Q, mientras G est

    inactivo, no importando cunto tiempo permanezca bajo (siempre y cuando las fuentes

    permanezcan aplicadas).

    Q D

    G

    1

    0

    Q D

    G

  • 36 Sistemas Digitales

    Profesor Leopoldo Silva Bijit 19-01-2010

    Cuando D est alto (y despus de un tiempo, Q tambin estar alto), al ocurrir un canto de

    bajada en G, se produce una perturbacin (un falso cero) en Q. Esto debido a que las seales R y

    S conmutan en tiempos diferentes. Esta perturbacin puede afectar a los circuitos conectados a

    la salida del latch.

    Sin embargo existen dos dificultades importantes, una de ellas es si el ancho del pulso G es

    demasiado angosto, esto implicara que el latch no alcanzara a setearse. Otra dificultad, y ms

    importante, es si D cambia casi al mismo tiempo que el latch (candado) se cierra, con el canto

    de bajada de G. En este caso no puede determinarse cual ser el valor que ser capturado.

    El siguiente anlisis permite determinar el tipo de transiciones cuando se cambian las entradas.

    Para esto se plantean las ecuaciones a las salidas de las compuertas:

    P=G; Q=r+s; R=pq; S=GD

    Luego se representan las ecuaciones en una tabla de transiciones. Despus se procede a estudiar,

    a partir de un estado estable, las transiciones que se producen cuando cambia una sola de las

    entradas.

    Si G y D estn largo tiempo en 1, se llega al estado estable 0101.

    a) Al llegar un canto de bajada en G se produce una carrera entre p y s, lo cual origina una

    oscilacin en q y en r, o dependiendo de los retardos podra estabilizarse en uno de los dos

    estados estables de la columna. Esta transicin es conflictiva.

    b) Al llegar un canto de bajada en D, se pasa transitoriamente por el estado 0100 y luego se

    estabiliza en 0000.

    Con GD=10, con un canto de subida en D, se producen las transiciones: 0001, 0101. Si se

    produce canto de bajada en G, se pasa por 1000, y queda estable.

    Con GD=00, al cambiar las entradas a 01 10, se producen transiciones a estados estables.

    Con GD=01, al cambiar entradas a 00 permanece en estado estable; al cambiar a 11, se

    presentan carreras en p y s; pero no es una carrera crtica, y finalmente se llega al estable 0101.

  • Captulo 14. Mquinas secuenciales asincrnicas 37

    Profesor Leopoldo Silva Bijit 19-01-2010

    pqrs GD

    00 01 11 10

    0000 1000 1000 0001 0000

    0001 1100 1100 0101 0100

    0011 1100 1100 0101 0100

    0010 1100 1100 0101 0100

    0110 1100 1100 0101 0100

    0111 1100 1100 0101 0100

    0101 1100 1100 0101 0100

    0100 1000 1000 0001 0000

    1100 1010 1010 0011 0010

    1101 1110 1110 0111 0110

    1111 1110 1110 0111 0110

    1110 1110 1110 0111 0110

    1010 1100 1100 0101 0100

    1011 1100 1100 0101 0100

    1001 1100 1100 0101 0100

    1000 1000 1000 0001 0000

    PQRS

    Figura 14.58a. Tabla de transiciones latch transparente.

    Por estas razones, el diseo de dispositivos secuenciales debe garantizar que las entradas sean

    vlidas y estables durante los perodos en que stas pueden influir sobre el cambio de estado.

    Para el circuito analizado, estas restricciones son:

    Figura 14.59. Restricciones temporales.

    La seal G debe permanecer activa por el tiempo que sea suficiente para que el latch pueda

    capturar el dato. Esto requiere un ancho mnimo para el pulso G.

    El tiempo de set-up debe garantizar que el valor de D se haya propagado a travs del lazo de

    realimentacin antes de que se cierre el latch.

    El tiempo de hold debe garantizar que el latch est cerrado y Q estable antes de permitir

    cambios en la entrada D.

    set-up hold

    ancho pulso

    G

    D

  • 38 Sistemas Digitales

    Profesor Leopoldo Silva Bijit 19-01-2010

    Un mejor diseo del latch consiste en eliminar la perturbacin y la posibilidad de carreras

    crticas. Esto puede lograrse agregando una compuerta de dos entradas, como se muestra en la

    Figura 14.59a.

    G

    R

    D

    Q

    S

    P

    Figura 14.59a. Latch sin perturbaciones.

    Las ecuaciones se modifican levemente. Se simplifica el anlisis no considerando una variable

    de estado adicional a la salida del inversor.

    P=G+D; Q=r+s; R=pq; S=GD

    La tabla de transiciones resulta ahora:

    pqrs GD

    00 01 11 10

    0000 1000 1000 1001 0000

    0001 1100 1100 1101 0100

    0011 1100 1100 1101 0100

    0010 1100 1100 1101 0100

    0110 1100 1100 1101 0100

    0111 1100 1100 1101 0100

    0101 1100 1100 1101 0100

    0100 1000 1000 1001 0000

    1100 1010 1010 1011 0010

    1101 1110 1110 1111 0110

    1111 1110 1110 1111 0110

    1110 1110 1110 1111 0110

    1010 1100 1100 1101 0100

    1011 1100 1100 1101 0100

    1001 1100 1100 1101 0100

    1000 1000 1000 1001 0000

    PQRS

    Figura 14.59b. Transiciones latch transparente. Carreras no crticas.

    Se producen carreras con GD=11 al pasar las entradas a 10, pero no es crtica. Tambin estando

    con GD=10, al cambiar las entradas a 11 se produce una carrera no crtica.

  • Captulo 14. Mquinas secuenciales asincrnicas 39

    Profesor Leopoldo Silva Bijit 19-01-2010

    Un latch transparente basado en un latch de NAND se ilustra en la Figura 14.60. Un ejemplo de

    stos es el 74LS373.

    Enable

    D

    I Dn

    D

    R

    S

    R

    Q

    QN

    S

    Figura 14.60. Esquema latch 74LS373.

    Su principio de funcionamiento se ilustra a travs de algunas seales:

    Figura 14.61. Formas de ondas latch figura 19.60.

    En (1) queda en reset.

    Se observa entre (2) y (3) que cambios de D con Enable = 0, no generan cambios.

    Los cantos de subida y bajada de Enable generan las correspondientes conmutaciones del latch.

    Estando Enable = 1, apenas ocurren cambios en la entrada se producen las conmutaciones del

    latch que producen salida. En (4) comienza la conmutacin y hasta (5) hay salida "nueva" antes

    de la captura del dato con el canto de bajada del Enable. Por esto se denomina transparente a

    este latch, permite anticipar la salida del nuevo dato.

    Se dice modo captura, ya que al bajar la seal Enable, la salida no puede cambiar.

    Registros en base a flip-flops disparados por cantos (por ejemplo: 74LS374) cambian sus salidas

    con el canto del reloj, y no anticipan como el latch que se acaba de explicar.

    El ancho mnimo del pulso Enable debe ser mayor que S + R. Esto para esperar que hayan

    terminado las transiciones de estados internos.

    Enable

    D

    S

    R

    Q

    QN

    1 2 3 4 5 transparente

    captura

  • 40 Sistemas Digitales

    Profesor Leopoldo Silva Bijit 19-01-2010

    D no puede cambiar I antes del canto de subida de Enable. De esta forma se generan las

    seales S o R, segn corresponda, en forma confiable.

    D no puede cambiar D+ S+ R, antes del canto de bajada de Enable, para no cambiar las

    entradas mientras ocurren transiciones internas. Equivale a un tiempo de set-up. El tiempo de

    hold es 0, pues con el canto de bajada de Enable, S y R quedan en 1, luego de un tiempo

    mn( D , Dn).

    La Figura 14.61a, muestra un latch activado por cantos de bajada del control G.

    Figura 14.61a. Latch transparente negativo.

    La Figura 14.61b, muestra un flip-flop de tipo maestro esclavo, implementado con un par de

    latchs. El canto de subida del primer latch, deja pasar o muestrea la entrada. Con el canto de

    subida del reloj, se toma una muestra de la salida del primer latch (el maestro) que se encuentra

    estable, y se la copia al esclavo; capturndola en el canto de bajada, en el segundo latch.

    Qm

    D

    clk

    0

    1

    Qs

    clk

    1

    0

    Figura 14.61b. Master Slave basado en latchs

    14.11. Anlisis de Multivibrador aestable.

    El circuito de la Figura 14.62 opera como un oscilador elemental.

    El anlisis comienza identificando las variables de estado: x, y, z. Se identifican X, Y, Z como las

    salidas de circuitos combinacionales ideales.

    Se tienen: X = (z Init)' ; Y = x' ; Z = y'

    La seal Init se ha agregado para dejar en un estado inicial al multivibrador. Esto es importante

    para simular en diseo. En un armado de laboratorio, al aplicar la polarizacin, se producir una

    oscilacin naturalmente.

    Q D

    G

    0

    1

    Q D

    G

  • Captulo 14. Mquinas secuenciales asincrnicas 41

    Profesor Leopoldo Silva Bijit 19-01-2010

    Init Z Y X

    y

    z

    x

    Figura 14.62. Oscilador elemental, mediante compuertas.

    Puede entonces escribirse la matriz de transiciones:

    xyz 0 1

    000 111 111

    001 111 011

    010 110 110

    011 110 010

    100 101 101

    101 101 001

    110 100 100

    111 100 000

    Figura 14.63. Matriz de transiciones, oscilador asincrnico figura 14.62.

    Donde se aprecia un solo estado estable (101), con Init = 0. Si Init est en cero, despus de

    algn tiempo, no importando cual es el estado inicial, el sistema queda en estado 101.

    Cuando llega un canto de subida en Init, se pasa a prximo estado 001 (sin carreras, ya que slo

    cambia una variable de estado), debe ir a cero la variable x. Esto se produce despus de x.

    Habindose establecido el estado 001, debe efectuarse la transicin a 011, nuevamente sin

    carreras y despus de y debe subir a uno la variable y. Y as sucesivamente hasta llegar al

    estado 101, donde el ciclo de transiciones inestables vuelve a repetirse.

    Init

    X,Y,Z

  • 42 Sistemas Digitales

    Profesor Leopoldo Silva Bijit 19-01-2010

    Figura 14.64. Formas de ondas multivibrador aestable.

    Se muestra un perodo de la oscilacin. En el ciclo ocurre tpHL y tpLH para cada compuerta. Si

    las compuertas son iguales, el perodo resulta: T = 3 ( tpHL + tpLH) .

    Similares comportamientos tienen un nmero impar de inversores, donde la salida del ltimo es

    la entrada del primero. En el caso de desear simular el circuito, es preciso colocar una seal de

    Init, de tal modo de, despus de algunos ticks, llevar todas las salidas a valores lgicos estables.

    Los flip-flops se clasifican como multivibradores biestables.

    14.12. Multivibrador monoestable.

    Este dispositivo permite generar un pulso de ancho programable. Se suele emplear para generar

    temporizadores, que desencadenen eventos despus de un tiempo dado.

    Consisten en incorporar un retardo, generalmente mayor que el de propagacin, pudiendo ser el

    ancho del pulso generado del orden de los microsegundos. (ver circuito 74LS123).

    El siguiente circuito ilustra un diseo posible:

    S

    R

    Q'

    Q

    Figura 14.65. Multivibrador monoestable.

    Con la seal R se inicia el multivibrador. La componente que genera el retardo, suele ser una red

    RC, que se intercala despus del inversor (y en forma externa al chip). Para fines de simulacin

    se agrand el tiempo de propagacin del inversor.

    Se obtienen las siguientes formas de ondas:

    Init

    Z

    Y

    X

  • Captulo 14. Mquinas secuenciales asincrnicas 43

    Profesor Leopoldo Silva Bijit 19-01-2010

    Figura 14.66. Formas de ondas para figura 14.65.

    La orden para iniciar la medicin de tiempo es el canto de subida de R.

    Cuando ocurre un canto de subida en R (1) comienza una conmutacin del latch de NOR.

    Despus que ocurre el canto de bajada de Q, pasa el tiempo del retardo hasta que S sube (2).

    Cuando S sube deja Q' en cero.

    El tiempo que el multivibrador genera es la seal Q'. Este tiempo se muestra entre los

    marcadores (3) y (4), el evento que dispara al multivibrador es el canto de subida de R.

    Para operar correctamente debe reponerse a cero la seal R.

    Algunos multivibradores son redisparables, esto implica que si existen pulsos en R, mientras se

    est generando la banda de tiempo, que es propia del multivibrador (entre (3) y (4)), vuelve a

    comenzar la medicin del tiempo. Los no redisparables, imponen que hasta que Q' no haya

    bajado, no tienen efectos los pulsos en R.

    El anlisis anterior est basado en usar los conceptos del latch. Sin embargo, puede efectuarse

    un anlisis asincrnico, como se ver a continuacin.

    Anlisis:

    Si se denomina Y a la salida del inversor; se tendr una nueva variable de estado, se tendrn:

    Q+ = (R+qn)' ; Qn+ = (S+q)' ; Y = q' ; S = y

    Eliminando la variable interna S, se logra:

    Q+ = R' qn'; Qn+ = y' q' ; Y = q'

    Con la siguiente tabla de transiciones:

    S

    R

    Q'

    Q

    1 2 3 4 Disparo

  • 44 Sistemas Digitales

    Profesor Leopoldo Silva Bijit 19-01-2010

    R

    q qn y 0 1

    000 111 011

    001 101 001

    010 011 011

    011 001 001

    100 100 000

    101 100 000

    110 000 000

    111 000 000

    Q+, Qn+, Y

    Figura 14.67. Tabla de transiciones de Figura 14.65.

    Con estado inicial 100, y entrada R = 0. El canto de subida inicia la transicin a 000 sin

    carreras. Luego del retardo R pasa a estado inestable 000, el que inicia otra transicin; esta

    vez con carreras de las variables qn e y. En el caso del multivibrador, se asume Y mucho

    mayor que S. Debido a esto llega primero al estado 010, el cual sostiene la transicin de y que

    an est en curso; llegando finalmente despus de Y (a partir del canto de bajada de q) al

    estado, tambin inestable: 011.

    Lo cual excita a la variable qn que baja a cero despus de S. Lo cual lleva al estado estable

    001. Finalizando el ciclo del monoestable.

    La entrada es R, la salida es qn. En R se aplica un canto de subida, y se inicia una ventana de

    tiempo, de largo Y, en qn.

    El armado del multivibrador consiste en reponer la entrada R a cero, lo cual despus de algunas

    transiciones coloca a la mquina en estado 100. Y puede volver a emplearse el temporizador,

    para ello, debe esperarse un tiempo algo mayor que Y.

    Un circuito ms sencillo es el siguiente:

    Figura 14.68. Otro esquema para multivibrador monoestable.

    R

    Q

  • Captulo 14. Mquinas secuenciales asincrnicas 45

    Profesor Leopoldo Silva Bijit 19-01-2010

    14.13. Carreras.

    El cambio de dos o ms variables de estado se denomina carrera; los cambios dentro de una

    columna de la tabla de transiciones se propagan por vas alternativas. Los cambios de dos o ms

    seales a travs de redes combinacionales; dependiendo de la duracin de los retardos de

    propagacin, ocasionan diferentes transiciones a travs de estados inestables. Si finalmente se

    llega a un mismo estado estable, se dice que la carrera no es crtica; en caso contrario se tiene

    una carrera crtica, lo cual introduce incertidumbre. En algunos casos esto puede evitarse

    efectuando una asignacin binaria de los estados que est libre de carreras; en otros pueden

    agregarse estados intermedios que den confiabilidad al diseo.

    Si una red asincrnica tiene mltiples entradas, pueden ocurrir carreras entre stas. En estos

    casos, para realizar el anlisis, se requiere restringir los cambios de las entradas. No se aceptan

    cambios de las entradas cuando estn ocurriendo transiciones de estados, y adems deben tener

    una mnima separacin temporal, de tal modo que se logre determinar con certeza los cambios

    de estado.

    14.13.1. Carrera no crtica.

    La siguiente red tiene carreras no crticas.

    a

    b

    x

    r

    d

    c

    Figura 14.69. Carrera no crtica.

    Considerando un retardo individual para cada compuerta se tienen cuatro variables de estado.

    a+ = d + b; b+ = x + c; c+ = ba; d+ = xa

    A partir de las ecuaciones se desarrolla la tabla de transiciones, se marcan en sta los estados

    estables. Se tienen los estados estables: 0000 y 1100, uno en cada columna. Se observa que

    estando en el estado estable 0000, al cambiar la entrada x a uno, se excitan cambios en b y d, lo

    cual implica una carrera entre esas variables.

  • 46 Sistemas Digitales

    Profesor Leopoldo Silva Bijit 19-01-2010

    x

    abcd 0 1

    0000 0000 0101

    0001 1000 1101

    0010 0100 0101

    0011 1100 1101

    0100 1010 1111

    0101 1010 1111

    0110 1110 1111

    0111 1110 1111

    1000 0000 0100

    1001 1000 1100

    1010 0100 0100

    1011 1100 1100

    1100 1000 1100

    1101 1000 1100

    1110 1100 1100

    1111 1100 1100

    a+b+c+d+

    Figura 14.70. Tabla de transiciones. Carrera no crtica.

    En la Figura 14.69 se ha agregado la seal r que permite dejar en cero la seal c, y a su vez dejar

    en cero la salida b, cuando x=0. De este modo, con x=0 y r=0 puede dejarse, al sistema en

    estado 0000.

    El siguiente mdulo permite simular las transiciones. Se simula primero una propagacin lenta

    de la seal que genera b.

    module ej(x, r, a, b, c, d);

    input x, r;

    output a, b, c, d;

    wire ap;

    or #2 G2 (a, d, b);

    or #5 G4 (b, c, x); //b se propaga ms lentamente que d

    and #2 G1 (d, x, ap);

    and #2 G3 (c, b, ap, r);

    not #1 G5 (ap, a);

    endmodule

    Con orden para el estado dado por (a, b, c, d) se tienen las siguientes transiciones: 0000, 0001,

    1001, 1101, 1100, con los retardos asignados a cada compuerta, que se muestran en el mdulo

    anterior. En la simulacin, luego del reset se tiene un tiempo hasta quedar en estado inicial

    0000.

  • Captulo 14. Mquinas secuenciales asincrnicas 47

    Profesor Leopoldo Silva Bijit 19-01-2010

    Figura 14.71. Transiciones. Carrera no crtica, gana d.

    Con los retardos del mdulo que se muestra a continuacin, d se propaga ms lento que b, se

    tienen las siguientes transiciones: 0000, 0100, 1110, 1111, 1101, 1100.

    module ej(x, r, a, b, c, d);

    input x, r;

    output a, b, c, d;

    wire ap;

    or #2 G2 (a, d, b);

    or #2 G4 (b, c, x);

    and #5 G1 (d, x, ap); //d se propaga ms lentamente

    and #2 G3 (c, b, ap, r);

    not #1 G5 (ap, a);

    endmodule

    Figura 14.72. Transiciones. Carrera no crtica, gana b.

    En ambas situaciones se llega finalmente al estado estable: 1100, mostrando que la carrera no es

    crtica.

    Cuando se baja x a cero, se retorna al estado 0000, sin carreras. Se pasa de 1100 a 1000,

    cambiando slo b, y luego a 0000 cambiando a.

  • 48 Sistemas Digitales

    Profesor Leopoldo Silva Bijit 19-01-2010

    14.13.2. Carrera crtica.

    La siguiente matriz de transiciones ilustra una carrera crtica. Se tienen tres estados estables: 00

    en la columna con x=0, y dos estados estables en la columna con x=1: 11 y 10. Se tienen las

    ecuaciones: a+ = ax + bx; b+ = abx + abx.

    x

    ab 0 1

    00 00 01

    01 00 10

    11 00 11

    10 00 10

    a+b+

    Figura 14.73. Carrera crtica.

    Cuando x es cero, se tiene el estado estable 00, no es necesaria ahora una seal de reset. Cuando

    x pasa a 1, despus del retardo de propagacin de la seal b, se pasa al estado inestable 01, en

    este estado inestable se excitan cambios simultneos en a y b, generndose una carrera.

    El siguiente mdulo genera, mediante compuertas, las ecuaciones anteriores. Se ha elegido un

    retardo mayor para la generacin de la seal b.

    module ej(x, a, b, c, d, e, f);

    input x;

    output a, b, c, d, e, f;

    wire ap, bp;

    not #1 G1 (ap, a);

    not #1 G2 (bp, b);

    and #2 G3 (c, a, b, x);

    and #2 G4 (d, ap, bp, x);

    or #6 G5 (b, d, c); //Si b ms lento => llega a estado 11

    and #3 G6 (e, a, x);

    and #3 G7 (f, b, x);

    or #2 G8 (a, e, f); //Cambiado este retardo con a ms lento => llega a estado 10

    endmodule

  • Captulo 14. Mquinas secuenciales asincrnicas 49

    Profesor Leopoldo Silva Bijit 19-01-2010

    Figura 14.74. Carrera crtica. Llegando a 11.

    Cambiando el retardo de G5 a 2, y el de G8 a 6, se obtienen:

    Figura 14.75. Carrera crtica. Llegando a 10.

    Las carreras pueden evitarse con una adecuada asignacin de estados. Si en la tabla de

    transiciones de la Figura 14.73, se reemplazan los cdigos binarios por smbolos se obtiene:

    x

    ab 0 1

    A A B

    B A D

    C A C

    D A D

    a+b+

    Figura 14.76. Transiciones simblicas.

    Luego de cada estado estable se marcan las transiciones en un diagrama de transiciones entre

    estados, cuando se cambia slo una de las entradas. Estando en estado estable A, con entrada

    x=0, se cambia x a 1, desde A se pasa a B, y de B al estable D. Del estado estable C, cuando x

  • 50 Sistemas Digitales

    Profesor Leopoldo Silva Bijit 19-01-2010

    pasa de 1 a 0, se tiene transicin al estado A. Del estado estable D, cuando x pasa de 1 a 0, se

    tiene transicin al estado A.

    A

    B

    D

    C

    Figura 14.77. Transiciones entre estados.

    No se producirn carreras si los estados adyacentes tienen codificaciones binarias a distancia

    uno. En el caso de la Figura 14.77, no es posible asignar los tres estados A, B y D, que forman

    un tringulo, de tal modo que cumplan lo anterior. Es preciso agregar estados intermedios, una

    solucin se muestra en la Figura 14.78, agregando el estado E.

    A

    B

    D

    C

    E

    Figura 14.78. Estados intermedios.

    La tabla de transiciones agregando c, una variable de estado adicional, ya que ahora se tienen

    ms de 4 estados:

    x

    abc 0 1

    A A B

    B A D

    C A C

    D E D

    E A -

    a+b+c+

    Figura 14.79. Transiciones simblicas.

    Asignando estados binarios de tal modo que estn a distancia uno: A con B; B con D; D con E;

    A con E; y finalmente C con A, se obtiene:

  • Captulo 14. Mquinas secuenciales asincrnicas 51

    Profesor Leopoldo Silva Bijit 19-01-2010

    x

    abc 0 1

    000 000 001

    001 000 011

    100 000 100

    011 010 011

    010 000 -

    a+b+c+

    Figura 14.80. Transiciones libres de carreras.

    Se obtienen, para el diseo de la red asincrnica libre de carreras:

    a+ = ax; b+ = bc + cx; c+ = ax.

    14.14. Diseo de sistema asincrnico basado en diagrama de flujo.

    Se desea disear un sistema asincrnico que produzca en las salidas, en forma alternada un

    pulso de reloj.

    Distribuidor clk

    f1

    f2

    Figura 14.81. Generacin de fases de reloj.

    clk

    f1

    f2

    Figura 14.82. Formas de ondas de fases de reloj.

    Se identifican los estados estables, como los intervalos en los cuales no se producen

    transiciones. Se tienen cuatro estados, que se han identificado con las letras A, B, C y D.

    clk

    f1

    f2

    A B C D A

    Figura 14.83. Estados estables y transiciones.

  • 52 Sistemas Digitales

    Profesor Leopoldo Silva Bijit 19-01-2010

    Se resume la informacin anterior en una tabla de flujo de las transiciones. Se destacan los

    estados estables, y se asocian las salidas al estado actual.

    clk

    Presente 0 1 f1f2

    A A B 00

    B C B 10

    C C D 00

    D A D 01

    Prximo

    Figura 14.84. Tabla de flujo de transiciones.

    Se describen las transiciones entre estados, mediante un diagrama de transiciones. Se anotan las

    transiciones, desde un estado estable a otro, cuando se cambia una de las entradas. Los estados

    entre los cuales existe una transicin deben codificarse adyacentes, es decir a distancia uno. De

    esta manera al producirse la transicin slo se excitar una variable de estado, y no se

    producirn carreras.

    A

    B

    C

    D

    Figura 14.85. Diagrama de transiciones.

    En este caso bastan 4 estados.

    Cdigo binario

    Estado ab

    A 00

    B 10

    C 11

    D 01

    Figura 14.86. Codificacin libre de carreras.

    Con la codificacin binaria, se escribe la tabla de transiciones, en trminos de las variables de

    estado: a y b.

  • Captulo 14. Mquinas secuenciales asincrnicas 53

    Profesor Leopoldo Silva Bijit 19-01-2010

    clk

    ab 0 1 f1f2

    00 00 10 00

    10 11 10 10

    11 11 01 00

    01 00 01 01

    a+b+

    Figura 14.87. Tabla de transiciones.

    Se disean las redes combinacionales libres de perturbaciones, para esto se cubren implicantes

    adyacentes con trminos de consenso.

    a+ = a clk + b clk + ab b+ = a clk + b clk + ab f1 = ab f2 = ab

    14.15. Diseo de sistema asincrnico basado en diagrama de estados.

    Disear un contador binario asincrnico ascendente, mdulo 3, en base a compuertas (sin

    emplear flip-flops), el diseo debe estar libre de perturbaciones y carreras. Con z1 la cifra ms

    significativa y z0 la menos significativa. Se cuentan los cantos de subida de la seal de entrada

    x. Asignar estado con puros ceros a aqul en que se encuentra la mquina cuando la entrada

    est baja y la cuenta es cero.

    a) Determinar diagrama de estados.

    b) Asignacin de estados libres de carreras

    c) Expresar el diseo mediante ecuaciones, indicando cmo elimina las posibles perturbaciones.

    Un diagrama de estados, modelo de Moore, de un contador asincrnico mdulo 3 se ilustra en la

    Figura14.88. La transicin entre estados se produce en los cantos de subida y bajada de la seal

    de entrada x. Se requieren 6 estados, lo cual implica tres variables de estado, sean stas: q2, q1 y

    q0.

    A

    B

    F 1

    0

    0

    1 1

    C

    0

    E

    1 D

    0

    1

    1

    0

    0

    00

    01

    01 10

    10

    00

    Figura 14.88. Diagrama de estados contador mdulo 3.

  • 54 Sistemas Digitales

    Profesor Leopoldo Silva Bijit 19-01-2010

    La asignacin de estados se efecta de tal modo que los estados adyacentes en la Figura 14.88

    estn a distancia 1, la asignacin se muestra en la Figura 14.89. Se elige arbitrariamente que el

    estado A est asociado al cdigo 000.

    q0

    q2q1

    00 01

    0

    1

    A F

    B C

    11 10

    E

    D

    Figura 14.89. Asignacin de estados sin carreras.

    Con la asignacin de la Figura 14.89, se construye la tabla de transiciones de la Figura 14.90,

    donde se han marcado los estados estables, y se agrega la funcin de salida en las variables z1 y

    z0.

    x

    q2q1q0 0 1

    A 000 000 001 00

    B 001 011 001 01

    C 011 011 111 01

    D 111 110 111 10

    E 110 110 010 10

    F 010 000 010 00

    - 101

    - 100

    q2+q1+q0+ z1z0

    Figura 14.90. Tabla de transiciones contador mdulo 3.

    Mediante un mapa del prximo estado, que se muestra en la Figura 14.91, se efecta la

    minimizacin considerando las condiciones superfluas y de tal modo que no se produzcan

    perturbaciones.

  • Captulo 14. Mquinas secuenciales asincrnicas 55

    Profesor Leopoldo Silva Bijit 19-01-2010

    q1q0

    xq2

    00 01

    00

    01

    000 ---

    011 ---

    11 10

    --- 001

    --- 001

    11

    10

    011 110

    000 110

    111 111

    010 010

    q2+q1+q0+

    Figura 14.91. Minimizacin empleando condiciones superfluas.

    Las funciones de prximo estado, resultan:

    q2+ = xq2 + x q1q0 + q2q0 q1+ =q2 + xq0 + xq1 + q1q0 q0+ = q2q0 + xq1 + xq0

    El trmino q2q0 en q2+, cubre los implicantes anteriores, cuando ocurre un evento en la

    entrada. En la funcin para q1+, se emplea el trmino q1q0 para eliminar perturbaciones,

    cubriendo implicantes adyacentes.

    Mediante el mapa de las funciones de salida, de la Figura 14.92, se obtienen:

    z1 = q2

    z0 = q2q0

    q0

    q2q1

    00 01

    0

    1

    00 00

    01 01

    11 10

    10

    10

    z1z0

    Figura 14.92. Minimizacin de salidas.

  • 56 Sistemas Digitales

    Profesor Leopoldo Silva Bijit 19-01-2010

    Solucin alternativa.

    La asignacin de estados puede realizarse de mltiples maneras. Se muestra a continuacin una

    alternativa de diseo, que ilustra la tcnica de emplear estados internos inestables, para evitar

    carreras.

    La asignacin de estados se efecta empleando cdigo Gray, de tal modo que los estados

    adyacentes en la Figura 14.93, estn a distancia 1. Se elige que el estado A est asociado al

    cdigo 000; en el ejemplo, F queda con cdigo binario 111, y debe pasar al estado A; esto

    implica cambio de tres variables. Se emplean los estados inestables G y H para transitar sin

    carreras desde estado F hasta el estado A.

    La Figura 14.93 muestra un diagrama de estados para el contador asincrnico mdulo 3.

    1

    H

    A

    B

    F 0

    1

    1

    0 0

    C

    1

    E

    0 D

    1

    0

    0

    1

    1

    G 1

    00

    00

    01 01

    10

    10

    00 00

    Figura 14.93. Diagrama de estados contador mdulo 3.

    El mtodo de emplear estados inestables, se visualiza mejor en la tabla de transiciones de la

    Figura 14.94, la cual muestra que estando en F, al llegar un canto de subida, se pasa por la

    secuencia de estados: 111, 101, 100, 000. En cada transicin solo cambia una variable interna;

    y los desplazamientos son dentro de la columna con x igual a 1.

    Se dejan dos estados prximos sin especificar: estando en G con entrada 0, y estando en H con

    entrada 0, que pueden emplearse como condiciones superfluas.

  • Captulo 14. Mquinas secuenciales asincrnicas 57

    Profesor Leopoldo Silva Bijit 19-01-2010

    x

    q2q1q0 0 1

    A 000 001 000 00

    B 001 001 011 00

    C 011 010 011 01

    D 010 010 110 01

    E 110 111 110 10

    F 111 111 101 10

    G 101 - 100 00

    H 100 - 000 00

    q2+q1+q0+ z1z0

    Figura 14.94. Tabla de transiciones contador mdulo 3.

    La Figura 14.95 muestra un mapa del prximo estado, construido a partir de la tabla de la Figura

    14.94. Minimizando las funciones de prximo estado, libres de perturbaciones, se obtienen:

    q2+ = xq1q0 + q2q1 + q2q0 q1+ = xq2q0 + q1q0+ xq1 + q2q1 q0+ = q2q1q0+ q2'q1'q0 + xq2'q0 + x'q1' + x'q2 + xq1q0

    Con lgica de mayor costo que el diseo anterior.

    q1q0

    xq2

    00 01

    00

    01

    001 ---

    001 ---

    11 10

    000 000

    100 011

    11

    10

    010 111

    010 111

    101 011

    110 110

    q2+q1+q0+

    Figura 14.95. Mapa de prximos estados de contador mdulo 3.

    Las funciones de salida, se representan en el mapa de la Figura 14.96, a partir de la tabla de la

    Figura 14.94.

  • 58 Sistemas Digitales

    Profesor Leopoldo Silva Bijit 19-01-2010

    q0

    q2q1

    00 01

    0

    1

    00 01

    00 01

    11 10

    10 00

    10 00

    z1z0

    Figura 14.96. Mapa de funciones de salida de contador mdulo 3.

    Se obtienen:

    z1 = q2q1; z0 = q2q1

    La Figura 14.97 muestra las formas de ondas de los cambios de estado relativas a los pulsos

    asincrnicos de la entrada x. Se han enumerado los diferentes cambios de las seales, x y q0, en

    un perodo.

    2 x

    q2

    q1

    1 3

    1 2 q0

    z1

    z0

    C D E F G B H A

    Figura 14.97. Relaciones causa-efecto contador mdulo 3.

  • Captulo 14. Mquinas secuenciales asincrnicas 59

    Profesor Leopoldo Silva Bijit 19-01-2010

    Problemas resueltos.

    Problema 14.1.

    Para el siguiente circuito secuencial asincrnico:

    Figura P14.1.

    Determinar:

    a) Matriz de transiciones y estados estables.

    b) Dibujar las formas de ondas de q y qn (estado actual), relativas a X e Y, asumiendo retardos

    x y y para las compuertas.

    c) Indicar las restricciones de T1 y T2, respecto a los retardos de las compuertas para tener

    modo fundamental de operacin. Indicar el tipo de transicin, si hay o no carreras, perodos de

    oscilacin si los hubiera.

    Figura P14.2.

    Solucin.

    a) Q = (Xqn) = X + qn; Qn = Y + q

    T1 T2

    Y