Logo Studenta

Circuitos secuenciales

¡Este material tiene más páginas!

Vista previa del material en texto

Ministerio de Educación 
Gobierno de la Provincia de Córdoba 
 
Instituto Técnico Superior Córdoba 
Extensión Áulica Villa El Libertador 
 
 
Tecnicatura Superior en Desarrollo de Software - AdlC - 2017 
 1 
Tecnicatura Superior en Desarrollo de Software 
Arquitectura de las Computadoras – 2017 
Rodriguez Pesce Eduardo S. 
 
CIRCUITOS SECUENCIALES 
 
Los circuitos analizados hasta ahora se denominan circuitos combinacionales, en ellos los valores 
de las salidas dependen exclusivamente de los valores de las variables de entrada. 
Los circuitos secuenciales son aquellos cuya salida en cualquier momento no depende 
exclusivamente de la entrada del circuito sino también de la historia anterior de las entradas, es 
decir de la secuencia de entradas que tuvo anteriormente. 
 
Pueden clasificarse en dos grandes grupos: 
 Asíncronos: pueden cambiar de estado en cualquier instante de tiempo cuando están 
presentes las entradas adecuadas. 
 Síncronos: Para cambiar de estado precisan además de estar presentes las entradas 
adecuadas, que coincidan con determinados instantes de tiempo, por lo que decimos 
que están sincronizados con una señal de reloj (Clock), únicamente se hace caso de las 
entradas en los instantes de sincronismo. 
 
Tipos de sincronismo: 
 Sincronismo por nivel (alto o bajo): el sistema hace caso de las entradas cuando el 
reloj esté en el nivel activo (alto o bajo). 
 Sincronismo por flanco (de subida o de bajada): el sistema hace caso de las entradas 
y evoluciona, en el instante que se produce el flanco activo (de subida o de bajada). 
 
Son los componentes básicos para construir los circuitos secuenciales. Se caracterizan por 
poseer memoria, es decir, recuerdan las entradas anteriores que se han producido en el circuito. 
Se pueden construir cableando a partir de puertas lógicas o lo que es más común, formando 
parte de circuitos integrados. También son llamados básculas o Flip-Flop (FF). 
 
Biestables 
 
Según la lógica de disparo, se pueden dar los siguientes tipos: 
 Biestables R-S 
 Biestable D 
 Biestable J-K 
 Biestable T 
 
Biestables SR 
Es un dispositivo con dos entradas S Y R (Set y Reset) y una variable de estado o salida Q capaz 
de almacenar un bit de información. Su funcionamiento es el siguiente: 
 Si su entrada Set se activa su estado Q se pone en Alto. 
 Si su entrada Reset se activa su estado Q se pone en Bajo. 
 
Ministerio de Educación 
Gobierno de la Provincia de Córdoba 
 
Instituto Técnico Superior Córdoba 
Extensión Áulica Villa El Libertador 
 
 
Tecnicatura Superior en Desarrollo de Software - AdlC - 2017 
 2 
 Si no se activa ni Set ni Reset su estado no cambia. 
 Por supuesto, no se permite activar Set y Reset simultáneamente. 
 
Tabla de Funcionamiento 
Los fabricantes de circuitos integrados, para describir la operación que realiza el circuito, 
emplean la llamada tabla de funcionamiento, que es lo que hasta ahora hemos venido llamando 
tabla de verdad para los circuitos combinacionales, a la que se ha añadido el estado del tiempo, 
que resulta esencial para los circuitos secuenciales. 
 
La tabla de funcionamiento del biestable SR, resulta ser: 
 
Tabla de Funcionamiento de un FF SR 
Entradas Salida 
S R Qt+1 
0 0 Qt 
0 1 0 
1 0 1 
1 1 Inviable 
 
Hemos empleado la siguiente notación: 
tn = instante de tiempo en el que se aplican las entradas. 
tn+1 = instante de tiempo inmediatamente posterior en el que el circuito responde. 
Q0 = salida Q en el instante tn 
Q+ = salida en el instante tn+1 
 
Aunque el FF SR tiene dos entradas S y R, y una salida Q, es habitual que al implementarlo 
aparezca con otra salida más, la resultante de complementar la salida Q, y la entrada de reloj C. 
Se suele representar simbólicamente como un rectángulo como se indica en la figura. 
 
 
FF SR 
 
Diseño de un biestable SR 
Estos circuitos se pueden diseñar siguiendo las técnicas que hemos venido empleando en el 
diseño de los circuitos combinacionales, sin más que tener en cuenta, que los circuitos 
secuenciales presentan una realimentación. 
 
Vamos a aplicar el método al diseño de un FF SR. En nuestro caso la salida Q+ depende tanto de 
la salida anterior Q0, como de las entradas S y R, por lo que para implementarlo vamos a tratarlo 
como a un circuito combinacional, pero considerando que Q0es también una entrada, por lo que 
 
Ministerio de Educación 
Gobierno de la Provincia de Córdoba 
 
Instituto Técnico Superior Córdoba 
Extensión Áulica Villa El Libertador 
 
 
Tecnicatura Superior en Desarrollo de Software - AdlC - 2017 
 3 
manejaremos la tabla de verdad que se adjunta, a partir de la tabla de estado que acabamos de 
comentar. 
 
Tabla de Verdad de un FF SR 
Entradas Salida 
S R Qt Qt+1 
0 0 0 0 
0 0 1 1 
0 1 0 0 
0 1 1 0 
1 0 0 1 
1 0 1 1 
1 1 0 X 
1 1 1 X 
 
Las entradas a cero no producen variación del valor de salida. 
Si la entrada S es 1, el valor de la salida pasa a 1. 
Si la entrada R es 1, el valor de la salida pasa a 0. 
Las dos entradas a uno (no se utilizan) dan una salida indeterminada. 
La función canónica será: 
 
Que al simplificar quedará: 
Qt \ SR 00 01 11 10 
0 X 1 
1 1 x 1 
 
Aunque no es el procedimiento habitual, se consigue una función más simplificada si 
despreciamos los términos indiferentes del mapa de Karnaugh. Por lo tanto se hacen dos bolsas 
de dos celdas y se obtiene: 
 
Si lo implementamos empleando únicamente puertas NOR: 
 
Que una vez implementado quedará 
 
Circuito combinacional de un FF RS con salida Q 
La siguiente implementación tiene la ventaja de que también produce la función en la salida 
de la primera puerta NOR, de modo que se suele dibujar este circuito (en el circuito y en muchas 
ocasiones). 
: 
 
Ministerio de Educación 
Gobierno de la Provincia de Córdoba 
 
Instituto Técnico Superior Córdoba 
Extensión Áulica Villa El Libertador 
 
 
Tecnicatura Superior en Desarrollo de Software - AdlC - 2017 
 4 
 
 
Imagen 3: Circuito combinacional de un FF SR con salida Q’ 
 
En el caso de un biestable SR síncrono por nivel alto sería: 
 
 
 Circuito combinacional de un FF SR síncrono Esquema de un FF SR síncrono 
 
Su cronograma y su tabla de estados: 
 
 
Cronograma y tablas de estados de un FF SR 
 
 
Biestable D 
Se conocen por el nombre de biestables de datos o seguidores. Tienen una única entrada D, que 
es copiada en el interior del biestable en los instantes de sincronismo. 
Solamente tienen sentido como biestables síncronos por nivel o por flanco. 
 
Su tabla de funcionamiento es: 
 
Tabla de Funcionamiento de un FF D 
Entradas Salida 
D Qt Qt+1 
0 0 0 
0 1 0 
1 0 1 
1 1 1 
 
El nuevo estado Qt+1 es 1, si D está activa 1 en el instante de sincronismo. 
El nuevo estado Qt+1 es 0, si D está inactiva 0 en el instante de sincronismo. 
Ck R S Qn+1 
0 X X Qn 
1 0 0 Qn 
1 0 1 1 
1 1 0 0 
1 1 1 No permitido 
 
Ministerio de Educación 
Gobierno de la Provincia de Córdoba 
 
Instituto Técnico Superior Córdoba 
Extensión Áulica Villa El Libertador 
 
 
Tecnicatura Superior en Desarrollo de Software - AdlC - 2017 
 5 
Vamos a considerar que la entrada D es activa por nivel alto, con lo que su circuito será
 
Circuito combinacional de un FF D 
 
Su símbolo: 
 
Imagen 8: Esquema de un FF D 
Su tabla de estados: 
Tabla de Estados de un FF D 
z D Qt+1 
0 x Qt 
1 0 0 
1 1 1 
 
Por tanto, su función lógica es: 
 
 
 
Biestable JK 
Su funcionamiento es similar al FF SR, de modo que la entrada K actúa para la puesta a 0 (reset) 
y la entrada J para la puesta a 1 (set). Cuando se activan las dos entradas simultáneamente, el 
biestable cambia de estado. Son biestables síncronos, lo que quiere decir que las transiciones de 
los valores de salida se producen durante los flancos activos de las señales de reloj. 
 
Su circuito es: 
 
Circuito combinacional de un FF JK 
 
Ministerio de Educación 
Gobierno de la Provincia de Córdoba 
 
InstitutoTécnico Superior Córdoba 
Extensión Áulica Villa El Libertador 
 
 
Tecnicatura Superior en Desarrollo de Software - AdlC - 2017 
 6 
 
Se representa con el siguiente símbolo: 
 
Esquema de un FF JK 
 
Su tabla de estados es: 
Tabla de Estados de un FF JK 
Entradas Salida 
C J K Qt+1 
0 x x Qt 
1 0 0 Qt 
1 0 1 0 
1 1 0 1 
1 1 1 Qt’ 
 
Y su función lógica: 
 
 
Cronograma de un biestable J-K síncrono por flanco de subida. 
 
 
Cronograma de un FF JK 
 
Biestable T 
Es igual que el biestable J-K, de modo que estas dos entradas están puenteadas y forman la 
entrada T de la báscula, de forma que cuando T toma el valor 0 la salida Qt+1=Qt, es decir no 
cambia. 
Cuando la entrada T toma el valor 1, la salida cambia de estado (báscula, de ahí su nombre). 
En el caso de que se mantenga la entrada T permanente igual a 1, la báscula T se comporta 
como un divisor de frecuencia de la señal de reloj entre dos. 
 
 
 
Ministerio de Educación 
Gobierno de la Provincia de Córdoba 
 
Instituto Técnico Superior Córdoba 
Extensión Áulica Villa El Libertador 
 
 
Tecnicatura Superior en Desarrollo de Software - AdlC - 2017 
 7 
 
 
Su símbolo es como el de la figura adjunta: 
 
 
Esquema de un FF T 
 
Y su tabla de estados: 
 
Tabla de Estados de un FF T 
Entradas Salida 
Qt T Qt+1 
0 0 0 
0 1 1 
1 0 1 
1 1 0 
 
 
 
 
 
Ministerio de Educación 
Gobierno de la Provincia de Córdoba 
 
Instituto Técnico Superior Córdoba 
Extensión Áulica Villa El Libertador 
 
 
Tecnicatura Superior en Desarrollo de Software - AdlC - 2017 
 8 
DIAGRAMA DE ESTADOS 
En un sistema o Circuito secuencial las salidas se calculan en función de las entradas y de un 
estado almacenado en el Circuito (memoria). Es decir que los estados están definidos por la 
información que almacenan los Flip-Flop, por lo que si alguno de ellos cambia, se puede decir 
que ha cambiado el estado del sistema secuencial. 
Es posible modelar el comportamiento de los estados de un sistema secuencial, mediante un 
diagrama de estados. En este diagrama, los nodos (Círculos) representan los estados del sistema, 
es decir, cada nodo representa una combinación de valores específicos para cada Flip-Flop. Los 
arcos (líneas) por su parte representan las transiciones entre los estados, que están dadas por 
eventos que se explican en sus rótulos. Los rótulos consisten en las entradas al circuito y sus 
salidas, separadas por una barra. 
Ejemplo: 
El sistema de apertura de una caja fuerte está compuesto por dos teclas A y B, un circuito 
secuencial a diseñar y un temporizador que mantiene la caja fuerte abierta durante 5 minutos 
cuando recibe un nivel lógico 1 desde el circuito secuencial. Este temporizador vuelve a cerrar la 
caja fuerte pasado dicho tiempo, independientemente del circuito secuencial. 
Cuando se pulsa la tecla A, se produce un nivel lógico 1 que entra al circuito secuencial, mientras 
que cuando se pulsa la tecla B se produce un nivel lógico 0 de entrada al circuito a diseñar. 
Mientras no se pulse ninguna tecla no se genera ningún nivel lógico de entrada al circuito 
secuencial. 
 
 
Esquema general del problema 
 
Para abrir la caja fuerte, la combinación secreta es: pulsar dos veces seguidas la tecla A, a 
continuación pulsar una vez la tecla B, y finalmente pulsar una vez la tecla A. Si se hace de esta 
manera, el circuito secuencial dará una salida a nivel lógico 1, que actuará sobre el 
temporizador, permitiendo la apertura de la caja fuerte durante 5 minutos. Si en cualquier 
momento se introdujera un error al pulsar la secuencia secreta, en el siguiente ciclo de reloj 
todos los biestables se pondrán a cero (el sistema pasará al estado inicial), y la secuencia debe 
volver a introducirse desde el principio. 
 
 
Ministerio de Educación 
Gobierno de la Provincia de Córdoba 
 
Instituto Técnico Superior Córdoba 
Extensión Áulica Villa El Libertador 
 
 
Tecnicatura Superior en Desarrollo de Software - AdlC - 2017 
 9 
a) Dibujar el diagrama de estados, explicando claramente en qué consiste cada estado. 
Solución: 
En este caso, el diagrama de estados tiene que ser capaz de reconocer la combinación de 
entrada 1101. Partimos de un estado inicial en el que se espera la introducción del código. A 
continuación, se pasará a un nuevo estado cada vez que se reconozca correctamente el 
siguiente bit del código, mientras que si éste no corresponde al código se volverá al estado 
inicial, y habrá que teclear todo el código de nuevo. El significado de los estados será por tanto 
el de la siguiente tabla. 
Estado Definición Q1 Q0 
q0 Estado inicial. No hay código 0 0 
q1 Se ha recibido el primer 1 0 0 
q2 Se han recibido dos 1 consecutivos 1 0 
q3 Se ha recibido el 0 después de dos 1 consecutivos 1 1 
 
Diagrama de estados 
 
El funcionamiento del diagrama será el que se explica a continuación. Inicialmente nos 
encontramos en el estado q0. Mientras no se teclee un 1 (recordemos que la combinación válida 
es 1101) nos mantendremos en este estado. Cuando llegue el primer 1 pasamos a q1. Si el 
siguiente bit es de nuevo un 1, habremos reconocido los dos primeros correctamente, por lo que 
el siguiente estado será q2. Sin embargo, si en lugar de un 1 se recibe un 0, la secuencia es 
incorrecta, y como resultado habrá que regresar a q0, para que el código sea tecleado por 
completo de nuevo. Del mismo modo, al recibir un 0 estando en q2 pasaremos a q3 (hemos 
reconocido 110). Y finalmente, si en q3 la entrada es un 1, el código ha sido correcto, y por lo 
tanto la salida del circuito será 1 y volveremos a q0. Si la entrada es un 0, entonces falló el 
último bit, y aunque volvamos también a q0, en este caso la salida del circuito es 0, puesto que 
el código fue erróneo. 
 
Ministerio de Educación 
Gobierno de la Provincia de Córdoba 
 
Instituto Técnico Superior Córdoba 
Extensión Áulica Villa El Libertador 
 
 
Tecnicatura Superior en Desarrollo de Software - AdlC - 2017 
 10 
DISEÑO DE CIRCUITOS SECUENCIALES 
La gran mayoría de los circuitos digitales contienen FF 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 FF con 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 las ecuaciones o funciones lógicas 
 Realización de los circuitos lógicos 
Para explicar este método se desarrollarán ejemplos aplicados a un diseño particular. 
Ejemplos: 
Diseño de Circuitos Secuenciales con FF JK 
Diseñar el circuito secuencial del proceso que se cumple de acuerdo al diagrama de estados de la 
siguiente figura: 
 
1. Asignación de estados 
Este proceso tiene cuatro estados, una entrada y no tiene salidas (se pueden considerar como 
salidas las de los FF). Para representar los cuatro estados se usarán dos FF identificados como A 
y B de tipo JK y la entrada será identificada como X. 
 
 
Ministerio de Educación 
Gobierno de la Provincia de Córdoba 
 
Instituto Técnico Superior Córdoba 
Extensión Áulica Villa El Libertador 
 
 
Tecnicatura Superior en Desarrollo de Software - AdlC - 2017 
 11 
2. Construcción del diagrama de transición 
Es la figura presentada anteriormente. 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 momentoque 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. 
3. Elaboración de la tabla de estados 
A partir del diagrama de estados y de la tabla de transición del FF JK se puede construir la tabla de 
estados: 
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 
 
Para la simplificación de los circuitos combinatorios es conveniente que se presenten 
condiciones de "no importa", ya que estas permiten simplificar las funciones lógicas y por tanto 
el tamaño del circuito lógico. 
4. Obtención de ecuaciones o funciones lógicas. 
En este paso se obtienen las funciones lógicas para las entradas de los FF (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 se desarrollan los Mapas de Karnaugh y las funciones lógicas 
correspondientes. 
 
 
Ministerio de Educación 
Gobierno de la Provincia de Córdoba 
 
Instituto Técnico Superior Córdoba 
Extensión Áulica Villa El Libertador 
 
 
Tecnicatura Superior en Desarrollo de Software - AdlC - 2017 
 12 
 
5. Realización de circuitos lógicos 
Este es el último 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 y K de FF. Las conexiones 
correspondientes, se efectúan mediante el uso de compuertas e inversores y en la figura a 
continuación, se muestra el diseño final del circuito lógico: 
 
Diseño de Circuitos Secuenciales con flip-flops D 
A diferencia de las entradas de los FF JK, las entradas en los FF 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. 
Realizar el diseño del circuito lógico correspondiente a la siguiente tabla de estados. Observe 
que esta tabla es la misma del ejemplo anterior, pero adicionalmente 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 
 
1. Asignación de estados 
Este proceso tiene cuatro estados de dos bits (AB), una entrada (X) y una salida (Y). Para 
representar los cuatro estados se usarán dos FF D identificados como A y B. 
 
 
Ministerio de Educación 
Gobierno de la Provincia de Córdoba 
 
Instituto Técnico Superior Córdoba 
Extensión Áulica Villa El Libertador 
 
 
Tecnicatura Superior en Desarrollo de Software - AdlC - 2017 
 13 
 
 
2. Construcción del diagrama de transición 
 
3. Elaboración de la tabla de estado 
Para este ejemplo inicialmente se dio la tabla de estados. 
4. Obtención de ecuaciones o funciones lógicas 
En este paso se deben obtener las funciones lógicas para las entradas de los FF (DA, DB) y la 
salida (Y). En la figura a continuación, se muestran los Mapas de Karnaugh y las funciones lógicas 
correspondientes. 
 
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 se 
obtiene el siguiente diseño del circuito. 
 
Ministerio de Educación 
Gobierno de la Provincia de Córdoba 
 
Instituto Técnico Superior Córdoba 
Extensión Áulica Villa El Libertador 
 
 
Tecnicatura Superior en Desarrollo de Software - AdlC - 2017 
 14 
 
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 de no importa. Estos estados se 
identifican con una (X) en los Mapas de Karnaugh. 
Para ilustrar como emplear estos estados, observe el siguiente cuadro. 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", al momento de elaborar los Mapas de Karnaugh. 
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 
 
Los mapas de Karnaugh correspondientes a las entradas de cada FF (JA, KA, JB, KB, JC y KC) y la 
salida (Y), se muestran más adelante. 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. 
 
Ministerio de Educación 
Gobierno de la Provincia de Córdoba 
 
Instituto Técnico Superior Córdoba 
Extensión Áulica Villa El Libertador 
 
 
Tecnicatura Superior en Desarrollo de Software - AdlC - 2017 
 15 
 
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 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.

Continuar navegando

Otros materiales