Organización del Computador
Práctico 3: Circuitos Secuenciales1

B. Gonzalez Kriegel - N. Wolovick

  1. Deduzca como cuenta el siguiente circuito, para $X=0$ y para $X=1$, es decir, obtenga la tabla de estados y luego el diagrama de transición de estados a partir del circuito esquemático2.
    \includegraphics [keepaspectratio=true, height=25mm]{p3seq1.ps}

  2. Obtenga el diagrama de transición de estados para una $\ensuremath{\mathit{FSM}}$ que ordena 2 palabras binarias que entran de manera serial en $A$ y $B$ (con el bit más significativo primero), en 2 palabras binarias que salen por $GE$ y $LT$ de manera serial también con el $\ensuremath{\mathit{MSB}}$ primero. Por $GE$ deberá salir la palabra mayor o igual y por $LT$ la menor o igual.

    1. Demuestre que el delay flip-flop $\ensuremath{\mathit{FFD}}$ es una ``base'' para los demás tipos de flip-flops, es decir demuestre que los $\ensuremath{\mathit{FFSR}}$, $\ensuremath{\mathit{FFT}}$ y $\ensuremath{\mathit{FFJK}}$ se pueden construir a partir de este.
    2. ! ¿Se cumple en general que a partir de cada $\ensuremath{\mathit{FF}}$ podemos generar todos los otros?

  3. Un comparador serial $\ensuremath{\mathit{COMP}}$ consta de un par de entradas $X$ y $Y$ por donde entran dos palabras bit a bit de manera serial. También tiene una salida $Z$ que indica 1 si hasta el momento la palabra recibida en $X$ es mayor o igual a la palabra recibida en $Y$. Dependiendo si las palabras entran con el $\ensuremath{\mathit{MSB}}$ o $\ensuremath{\mathit{LSB}}$ primero, surgen dos diseños.
    1. Obtenga los dos diagramas de transición de estados que especifican la función $\ensuremath{\mathit{COMP}}$3.
    2. De las dos $\ensuremath{\mathit{FSM}}$ implemente la que vaya a emplear la menor cantidad de flip-flops. Utilice $\ensuremath{\mathit{FFD}}$, $\ensuremath{\mathit{DECODERS}}$ y compuertas $\ensuremath{\mathit{OR_{n}}}$.

  4. Diseñe un circuito secuencial utilizando $\ensuremath{\mathit{FFD}}$ que implemente el siguiente diagrama de transición de estados,
    \includegraphics [keepaspectratio=true, height=60mm]{p3diagtrans.ps}
    donde el estado se etiqueta $ABC$, la entrada $X$ y la salida $Y$.
    1. Obtenga la tabla de estados, rellenando con condiciones no-importa para los estados no contemplados en la $\ensuremath{\mathit{FSM}}$. A partir de la tabla, obtenga funciones $\ensuremath{\mathit{SOP}}$ mínimas $A_{t+1}$, $B_{t+1}$, $C_{t+1}$ y $Y$ utilizando $\ensuremath{\mathit{KMAP}}$s con condiciones no-importa.
    2. Verifique que la solución obtenida sea autocorrectiva, es decir, que si por alguna circunstancia se salta a un estado no contemplado en la $\ensuremath{\mathit{FSM}}$, en una cantidad finita de ticks de clock se llegue a un estado que si pertenece a la máquina de estados finitos cualquiera sea el valor de la entrada.

  5. ! El código Gray es otra forma más de representar números naturales con bits. Esta codificación tiene la particularidad que sólo cambia un bit entre cada número y su sucesor. La siguiente tabla muestra el código Gray para números en el rango $[0,7]$.
    Num. Gray
    0 000
    1 001
    2 011
    3 010
    Num. Gray
    4 110
    5 111
    6 101
    7 100

    Diseñe un circuito secuencial que implemente un contador cíclico código Gray ascendente/descendente de 3 bits $A_{2}A_{1}A_{0}$ utilizando $\ensuremath{\mathit{MUX}}$es y $\ensuremath{\mathit{FFD}}$. El circuito posee una entrada $X$ que indica el modo de cuenta (0 descendente, 1 ascendente), mientras que las salidas están dadas por los bits de la cuenta $A_{2}A_{1}A_{0}$.

    1. Obtenga el diagrama de transición de estados.
    2. Genere la tabla de transición de estados asociada.
    3. Dibuje el diagrama lógico completo del circuito contador utilizando $\ensuremath{\mathit{MUX}}$es 8-a-1 para las funciones de entrada de los $\ensuremath{\mathit{FFD}}$ $D_{A_{2}}$, $D_{A_{1}}$ y $D_{A_{0}}$ que se obtienen del estado en $t\!+\!1$.

  6. * Diseñe una $\ensuremath{\mathit{FSM}}$ utilizando $\ensuremath{\mathit{FFJK}}$ que detecte números congruentes a 0 módulo 5. Analice su autocorrectividad.

  7. Dada una $\ensuremath{\mathit{FSM}}$ de $n$ estados y otra de $m$ estados ¿Cuántos estados son posibles en un circuito como este?
    \includegraphics[keepaspectratio=true, height=15mm]{p3seqnm.ps}

  8. Considere un $\ensuremath{\mathit{FSM}}$ con $m$ flip-flops y un número arbitrario de compuertas $\ensuremath{\mathit{NAND_{2}}}$ para la lógica combinacional que define el estado siguiente. Además en circuito consta de un número arbitrario de entradas. ¿Cuál es el máximo número de estados posibles para esta máquina?

  9. Diseñe un contador binario ascendente síncrono genérico de $n$ bits utilizando sólo $\ensuremath{\mathit{FFT}}$.

  10. ! Se tiene una $\ensuremath{\mathit{FSM}}$ de $n$ estados que sólo tiene la entrada $\ensuremath{\mathit{CLK}}$ y la salida $D$, que toma el valor 1 si y solo si el número de clock ticks es múltiplo de 2 o de 3. ¿Cuántos estados se requieren para esta máquina?

  11. Un divisor de frecuencia por 2 tiene la siguiente especificación:
    \includegraphics[keepaspectratio=true, height=30mm]{p3div2.ps}
    señe este dispositivo usando un sólo $\ensuremath{\mathit{FFD}}$ y lógica combinatoria externa. Intente que esta última sea mínima. ¿Qué otro nombre tiene este circuito?

  12. Dado el siguiente circuito secuencial asíncrono
    \includegraphics[keepaspectratio=true, height=30mm]{p3wavecount.ps}
    ¿Que es lo que hace? ¿Es posible extender el diseño a cualquier longitud? Explique.

  13. Un conversor paralelo serie es un circuito capaz de almacenar una palabra y devolverla en forma serial. Diseñe un conversor paralelo serie de 8 bits con entradas $D_{0}\ldots D_{7}$ para cargarlo en paralelo, entrada de selección de modo $\ensuremath{\mathit{STO/SER}}$ donde $\ensuremath{\mathit{STO/SER}}=1$ indica carga en paralelo y $\ensuremath{\mathit{STO/SER}}=0$ indica salida serial. La única salida es $S$ por dónde salen los bits seriales.
    \includegraphics[keepaspectratio=true, height=15mm]{p3par2ser.ps}

  14. Trace el diagrama de lógica de un registro de $n$ bits con carga paralelo, reset y complemento. Las operaciones se controlan con dos entradas de modo $S_{1}S_{0}$ como lo indica la siguiente tabla:
    $S_{1}S_{0}$ Operación
    00 Sin cambio
    01 Complemento de la salida
    10 Poner a 0 el registro
    11 Carga de datos en paralelo
    Se dispone también de una entrada de habilitación $E$ que desconecta el circuito de sus salidas, a fin de poder interactuar sobre un bus. Asegure que cuando $E=0$ nada cambia en los registros.



odc@hal.famaf.unc.edu.ar