domingo, 22 de septiembre de 2013

ANÁLISIS Y DISEÑO DE CIRCUITOS SECUENCIALES SINCRÓNICOS


La gran mayoría de los circuitos digitales contienen flip-flops y compuertas para realizar funciones específicas. El diseño de estos circuitos inicia a partir de las especificaciones y finaliza con las funciones lógicas, de las cuales se obtiene el circuito lógico.

Inicialmente se debe crear una tabla de estado o representación equivalente, para identificar la secuencia de estados que deseada. Luego de seleccionar el número y tipo de flip-flopscon los cuales se desea hacer el diseño, se deduce la lógica combinatoria necesaria para generar la secuencia de estados.

Los circuitos secuenciales se pueden analizar y diseñar siguiendo un procedimiento claramente definido que consiste en los siguientes pasos:
  1. Asignación de estados
  2. Construcción del diagrama de transición
  3. Elaboración de la tabla de estados
  4. Obtención de ecuaciones o funciones lógicas
  5. Realización de circuitos lógicos
Para explicar este método se desarrollará un ejemplo aplicado a un diseño particular.

Ejemplo
Diseñar el circuito secuencial del proceso que se cumple de acuerdo al diagrama de estados de la figura 7.2.1.
Paso 1. Asignación de estados 
Este proceso tiene cuatro estados, una entrada y no tiene salidas (se pueden considerar como salidas las de los flip-flops). Para representar los cuatro estados se usarán dos flip-flops identificados como A y B de tipo JK. y la entrada será identificada como X.
Figura 7.2.1. Diagrama de estados
Paso 2. Contrucción del diagrama del transición o de estado 
La figura 7.2.1 corresponde al diagrama de transición. Analizando este diagrama se observa que el estado 10 se mantiene mientras X=0 y en el momento que X=1 pasa al estado 11, después al estado 00 y finalmente al estado 01, hasta el momento que nuevamente X=0, volviendo de esta forma al estado AB=10. Adicionalmente observe que los estados 00 10 y 11, se mantienen cuando X=0 y el estado 01 se mantiene cuando X=1.

Paso 3. Elaboración de la tabla de estados 
A partir del diagrama de estados y de la tabla de transción del flip-flop JK se puede contruir la tabla de estados (ver tabla 7.2.1).
EntradaEstado ActualEstado SiguienteExcitaciones
XABABJAKAJBKB
000000X0X
100010X1X
001101XX1
101010XX0
01010X00X
11011X01X
01111X0X0
11100X1X1
Tabla 7.2.1. Tabla de estado
Para la simplificación de los circuitos combinatorios es conveniente que se presenten condiciones de"no importa", ya que estas permiten simplicar las funciones lógicas y por tanto el tamaño del circuito lógico.

Paso 4. Obtención de ecuaciones o funciones lógicas. 
En este paso se obtienen las funciones lógicas para las entradas de los flip-flops (JAKAJB y KB) y el objetivo es deducir la lógica combinatoria de estado siguiente, mediante el uso de Mapas de Karnaugh. A continuación en la figura 7.2.2. se muestran los Mapas de Karnaugh y las funciones lógicas correspondientes.
Figura 7.2.2. Mapas de Karnaugh para las entradas J, JB, KA y KB
Paso 5. Realización de circuitos lógicos 
Este es el ultimo paso del diseño, y consiste en implementar la lógica combinacional a partir de las ecuaciones lógicas obtenidas en el paso anterior para las entradas J yK de los flip-flops. Las conexiones correspondientes, se efectúan mediante el uso de compuertas e inversores y en la figura 7.2.3. se muestra el diseño final del circuito lógico.
Figura 7.2.3. Circuito Lógico del Diseño
Diseño de Circuitos Secuenciales con flip-flops D

El diseño del circuito de la figura 7.2.3 se hizo con flip-flops JK. En esta sección veremos como se realiza el diseño de circuitos secuenciales mediante el uso de flip-flops tipo D.

A diferencia de las entradas de los flip-flops JK, las entradas en los flip-flops D corresponden exactamente a los estados siguientes. Por esta razón en la tabla de estado no se requiere una columna independiente para las excitaciones. En el siguiente ejemplo se verá como realizar el diseño de circuitos secuenciales con flip-flops D.

Ejemplo
Realizar el diseño del circuito lógico correspondiente a la tabla de estado 7.2.2. Observe que esta tabla es la misma del ejemplo anterior, pero adicionamente se agregó una salida (Y).
EntradaEstado actualEstado siguienteSalida
XABA(DA)B(DB)Y
000000
100011
001100
101010
010100
110111
011110
111000
Tabla 7.2.2. Tabla de estado
Paso 1. Asignación de estados 
Este proceso al igual que el ejemplo anterior tiene cuatro estados de dos bits (AB), una entrada (X) y una salida (Y). Para representar los cuatro estados se usarán dosflip-flops D identificados como A y B.

Paso 2. Construcción del diagrama del transición o de estado 
El diagrama de transición es el mismo del ejemplo anterior, excepto que ahora se tiene en cuenta la salida (Y). En la figura 7.2.4 se observa el diagrama de estado.
Figura 7.2.4. Diagrama de estados - Ejemplo 2
Paso 3. Elaboración de la tabla de estado. 
Para este ejemplo inicialmente se dió la tabla de estados, la cual se observa en la tabla 7.2.2.

Paso 4. Obtención de ecuaciones o funciones lógicas. 
En este paso se deben obtener las funciones lógicas para las entradas de los flip-flops (DADB) y la salida (Y). En la figura 7.2.5 se muestran los Mapas de Karnaugh y las funciones lógicas correspondientes.

Figura 7.2.5. Mapas de Karnaugh para las entradas D, DB, y Y
Paso 5. Realización de circuitos lógicos 
Con las ecuaciones lógicas obtenidas en el paso anterior se puede implementar el circuito lógico. Las conexiones correspondientes, se efectúan mediante el uso de compuertas e inversores y en la figura 7.2.6 se muestra el diseño del circuito.
Figura 7.2.6. Circuito Lógico
Estados no usados

Durante el diseño de los circuitos secuenciales para simplificar las representaciones lógicas, es conveniente emplear los estados no usados como condiciones que no importa. Estos estados se identifican con una (X) en los Mapas de Karnaugh.

Para ilustrar como emplear estos estados, observe la tabla 7.2.3. Teniendo en cuenta todas las posibles combinaciones de las variables A, B, C y X, Note que en esta tabla hay seis estados que no están presentes (00000001, 1100, 1101, 1110 1111) . Las seis filas de la tabla correspondientes a estos estados se identifican como estados X (1 o 0) o condiciones de "No importa"
Estado actualEntradaEstado siguienteExcitacionesSalida
ABCXABCJAKAJBKBJCKCY
00100010X0XX00
00110100X1XX10
01000110XX01X0
01011001XX10X0
01100010XX1X00
01111001XX1X10
1000101X00X1X0
1001100X00X0X1
1010001X10XX00
1011100X00XX11
, al momento de elaborar los Mapas de Karnaugh.

Tabla 7.2.3. Tabla de estado - Condiciones de "no importa"
Los mapas de karnaugh correspondientes a las entradas de cada flip-flop (JAKAJB, KB, JC y KC) y la salida (Y), se muestran en la figura 7.2.7. Observe que en cada mapa los estados resaltados en rojo corresponden a los estados no usados, los cuales se han incluido como condiciones "no importa" para simplificar la mayor cantidad de variables en las expresiones.


Figura 7.2.7. Mapas de Karnaugh para las entradas a los flip-flops
Como conclusión sobre esta sección, podemos decir que es recomendable incluir los estados no usados en el diseño de los circuitos secuenciales. Esto implica una reducción en las expresiones lógicas y por consiguiente en el tamaño del circuito, que en otros términos representará obviamente un menor tiempo de desarrollo y costo de implementación. 
Se plantea como ejercicio hacer el diagrama lógico correspondiente a las ecuaciones halladas a partir de los mapas de Karnaugh de la figura 7.2.7 y hacer el diseño del circuito secuencial sin tener en cuenta los estados no usados para comparar los dos casos y notar las diferencias.

No hay comentarios:

Publicar un comentario