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:
- Asignación de estados
- Construcción del diagrama de transición
- Elaboración de la tabla de estados
- Obtención de ecuaciones o funciones lógicas
- 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).
Entrada | Estado Actual | Estado Siguiente | Excitaciones | |||||
---|---|---|---|---|---|---|---|---|
X | A | B | A | B | JA | KA | JB | KB |
0 | 0 | 0 | 0 | 0 | 0 | X | 0 | X |
1 | 0 | 0 | 0 | 1 | 0 | X | 1 | X |
0 | 0 | 1 | 1 | 0 | 1 | X | X | 1 |
1 | 0 | 1 | 0 | 1 | 0 | X | X | 0 |
0 | 1 | 0 | 1 | 0 | X | 0 | 0 | X |
1 | 1 | 0 | 1 | 1 | X | 0 | 1 | X |
0 | 1 | 1 | 1 | 1 | X | 0 | X | 0 |
1 | 1 | 1 | 0 | 0 | X | 1 | X | 1 |
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 (JA, KA, JB 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 JA , JB, KA y KBPaso 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).
Entrada Estado actual Estado siguiente Salida X A B A(DA) B(DB) Y 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 0 1 0 1 0 0 1 1 0 1 1 1 0 1 1 1 1 0 1 1 1 0 0 0 Tabla 7.2.2. Tabla de estadoPaso 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 2Paso 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 (DA, DB) 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 DA , DB, y YPaso 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 (0000, 0001, 1100, 1101, 1110 y 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 actual | Entrada | Estado siguiente | Excitaciones | Salida | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
A | B | C | X | A | B | C | JA | KA | JB | KB | JC | KC | Y |
0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | X | 0 | X | X | 0 | 0 |
0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | X | 1 | X | X | 1 | 0 |
0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | X | X | 0 | 1 | X | 0 |
0 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | X | X | 1 | 0 | X | 0 |
0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | X | X | 1 | X | 0 | 0 |
0 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | X | X | 1 | X | 1 | 0 |
1 | 0 | 0 | 0 | 1 | 0 | 1 | X | 0 | 0 | X | 1 | X | 0 |
1 | 0 | 0 | 1 | 1 | 0 | 0 | X | 0 | 0 | X | 0 | X | 1 |
1 | 0 | 1 | 0 | 0 | 0 | 1 | X | 1 | 0 | X | X | 0 | 0 |
1 | 0 | 1 | 1 | 1 | 0 | 0 | X | 0 | 0 | X | X | 1 | 1 |
, 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 (JA, KA, JB, 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