27
Fundamentos de Computadores V. A. García Alcántara, M. Gascón de Toro, A. Leal Hernández Pag.-1 Tema 4 LOGICA SECUENCIAL 4.1 REPRESENTACION DE UN CIRCUITO SECUENCIAL . Definición.- Una máquina secuencial puede definirse como un circuito que tiene dos propiedades básicas: 1.- El sistema debe de estar constituido por elementos de memoria. 2.- Debe de existir una realimentación entre salidas y entradas del circuito. En esta figura se representa el esquema lógico de un sistema secuencial, en el que se pueden hacer las siguientes consideraciones: E n-1 ………. E 0 = Variables de entrada al sistema. S m-1 ………. S 0 = Variables de salida del sistema. I r-1 ……….. I 0 = Estado interno siguiente. Q s-1 ………. Q 0 = Estado interno presente. Se denomina estado interno a todas aquellas situaciones en las que se puede encontrar el circuito en cada momento. Como se puede ver en la figura anterior, un circuito secuencial es aquel que genera las salidas a partir de lo que valgan dos tipos de entradas diferentes, por un lugar las entradas exteriores (E n-1 … E 0 ) y por otro lo que valgan las variables de estado interno presente (Q s-1 … Q 0 ).

Tema4 lógica secuencial

Embed Size (px)

Citation preview

Page 1: Tema4 lógica secuencial

Fundamentos de Computadores

V. A. García Alcántara, M. Gascón de Toro, A. Leal Hernández Pag.-1

Tema 4

LOGICA SECUENCIAL 4.1 REPRESENTACION DE UN CIRCUITO SECUENCIAL. Definición.- Una máquina secuencial puede definirse como un circuito que tiene dos propiedades básicas: 1.- El sistema debe de estar constituido por elementos de memoria. 2.- Debe de existir una realimentación entre salidas y entradas del circuito.

En esta figura se representa el esquema lógico de un sistema secuencial, en el que se pueden hacer las siguientes consideraciones: E n-1………. E0 = Variables de entrada al sistema. S m-1………. S0 = Variables de salida del sistema. I r-1……….. I0 = Estado interno siguiente. Q s-1………. Q0 = Estado interno presente. Se denomina estado interno a todas aquellas situaciones en las que se puede encontrar el circuito en cada momento. Como se puede ver en la figura anterior, un circuito secuencial es aquel que genera las salidas a partir de lo que valgan dos tipos de entradas diferentes, por un lugar las entradas exteriores (E n-1 … E0) y por otro lo que valgan las variables de estado interno presente (Q s-1 … Q0).

Page 2: Tema4 lógica secuencial

Fundamentos de Computadores

V. A. García Alcántara, M. Gascón de Toro, A. Leal Hernández Pag.-2

Estos circuitos generan dos tipos de salidas, por un lado las que van al exterior (S m-1 … S0) y por otro las variables de estado interno al que evoluciona el circuito, estado interno siguiente, (I r-1 … I0). Para entender lo que significan los estados internos, pensaremos en una puerta mecánica que es controlada por una célula fotoeléctrica:

Cuando alguien atraviesa por delante de las células fotoeléctricas, la entrada X de la unidad de control se pone a 1, y esta en consecuencia dará las salidas oportunas hacia los motores para que la puerta se abra, si es que esta cerrada, o que no se muevan y la dejen abierta si es que ya está abierta. Como se ve los motores atienden no sólo a la entrada X sino también a la situación en la que se encuentra la puerta en ese momento. A eso se le llama estado interno, por ejemplo: Estado Interno 0: Que la puerta esté cerrada Estado Interno 1: Que la puerta esté abriéndose Estado Interno 2: Que la puerta esté abierta Estado Interno 3: Que la puerta esté cerrándose Como hay 4 estados internos, estos un circuito no los puede identificar así, sino que han de estar codificados con ceros y con unos, y se les denomina Variables de Estado Interno. De manera que en el caso que nos ocupa habría que utilizar dos variables (ya que son cuatro estados) y podría ser: CODIFICACIÓN Q1 Q0 Estado Interno 0: Que la puerta esté cerrada……………… 0 0 Estado Interno 1: Que la puerta esté abriéndose………… .. 0 1 Estado Interno 2: Que la puerta esté abierta………………. 1 0 Estado Interno 3: Que la puerta esté cerrándose………….. 1 1 Como se aprecia, un circuito secuencial tiene dos características fundamentales: 1.- Dependen del tiempo, ya que para una misma entrada se pueden obtener distintas salidas dependiendo del estado interno en que se encuentre el circuito. 2.- Necesitan una realimentación de la salida a la entrada. Esto es debido a que como se tiene que almacenar la historia anterior del circuito, es necesario que entrada y salida estén comunicadas. Este almacenamiento se hace en la memoria.

Motor paso a paso con giro derecha e izquierda

Control

Page 3: Tema4 lógica secuencial

Fundamentos de Computadores

V. A. García Alcántara, M. Gascón de Toro, A. Leal Hernández Pag.-3

El concepto de memoria puede entenderse como un medio en el que se pueden almacenar los valores binarios 0 y 1, y en un momento determinado, recuperarlos así como reemplazarlos por otros valores. Una célula básica de memoria se representa en la

figura adjunta. Siendo cualquiera de ambos circuitos capaz de almacenar un bit. Los circuitos secuenciales se basan en la teoría de autómatas, entendiendo por autómata aquella máquina secuencial que realiza una determinada actividad. Esta actividad se representa por el diagrama de flujo del circuito, el cual es un grafo orientado, en el que aparecen los estados internos encerrados en círculos y las transiciones entre ellos representadas por arcos orientados, dependiendo de las entradas, así como la salida o respuesta que se obtiene en cada momento. Los circuitos con los que se van a trabajar son circuitos secuenciales finitos (que tienen un número finito de estados internos), síncronos (la evolución de un estado a otro está controlada por una señal externa de reloj).

La señal de reloj es una señal periódica ( que se repite en el tiempo ) con un período T. Esta señal tiene cuatro tramos en los que puede actuar sobre el circuito al que sincroniza: a) En el tramo de subida ( sincronismo en flanco de subida):

b) En el tramo de bajada (sincronismo en flanco de bajada):

S Q R Q

S Q R Q

Page 4: Tema4 lógica secuencial

Fundamentos de Computadores

V. A. García Alcántara, M. Gascón de Toro, A. Leal Hernández Pag.-4

c) En el nivel bajo(sincronismo en nivel bajo):

d) En el nivel alto(sincronismo en nivel alto):

La evolución en el tiempo de los circuitos secuenciales síncronos se representan mediante cronogramas. En ellos se representan los cambios de estado y las salidas del circuito dependiendo de las entradas a este. Por ejemplo representaremos un cronograma de un circuito secuencial que tenga dos estados internos, y que cambia de un estado a otro cada vez que a la entrada se presente un 1 y que no cambie de estado si se le presenta un 0. Está sincronizado con el flanco de subida de la señal de reloj. Se considerará que el estado inicial del circuito es “0”.

Page 5: Tema4 lógica secuencial

Fundamentos de Computadores

V. A. García Alcántara, M. Gascón de Toro, A. Leal Hernández Pag.-5

Otra forma de representar el funcionamiento de un circuito secuencial es mediante los DIAGRAMAS DE FLUJO, que son grafos orientados, en los cuales los estados internos se representan dentro de círculos y las transiciones entre estos círculos ( entre estados) por flechas orientadas. Supongamos que tenemos un circuito con dos estados internos E0 y E1, que el estado inicial es E0 y que cuando se presenta la entrada e1 , el circuito evoluciona hacia el estado E1 y se obtiene una salida z1.

El diagrama de flujo de una estructura de este tipo se esquematiza en la figura siguiente, en la que se observa que la salida generada por el circuito está asociada al estado interno y que la evolución entre estados depende de las entradas externas del estado anterior. En los circuitos en los que la salida generada está asociada al estado interno del mismo, o dicho de otra forma, en aquellos circuitos en que cada estado interno tiene asociada una salida, se dice que tienen estructura de MOORE. Existen otros circuitos con estructura de MEALY que no son objeto de estudio en la asignatura. Suponiendo un circuito con dos estados internos: E0 y E 1, dos salidas z0 y z1 asociadas cada una de ellas a cada uno de los estados internos, y siendo la entrada e1, un posible diagrama de flujo es:

4.2 BIESTABLES. TRANSFORMACION DE BIESTABLES Los biestables son los elementos básicos de memoria capaces de almacenar dos estados estables. Se dice que un estado interno es estable para unos determinados valores de las señales de entrada, cuando aplicados estos valores, el estado permanece en el mismo nivel lógico. Los biestables que se van a estudiar están sincronizados por una señal de reloj activa por flanco, y el criterio general que se seguirá en el estudio de cada uno de los biestables, es la descripción de los mismos mediante: A.-LA TABLA DE TRANSICIONES.- En esta tabla se representa el valor que tendrá el estado siguiente, Q(t+1),a partir de las entradas externas y del estado interno presente, Q(t). B.- LA TABLA DE FUNCIONAMIENTO.- Esta determina el funcionamiento de los mismos a partir de las entradas externas de datos. C.- LA TABLA DE EXCITACIÓN.- En esta tabla se indican los valores que deben tener las entradas externas para obtenerse en el biestable una transición determinada.

Page 6: Tema4 lógica secuencial

Fundamentos de Computadores

V. A. García Alcántara, M. Gascón de Toro, A. Leal Hernández Pag.-6

D.- LA ECUACIÓN DE FUNCIONAMIENTO.- Es una ecuación lógica, que obtenida a partir de la simplificación por Karnaugh de la tabla de transiciones, define el funcionamiento del biestable. Como norma general un biestable al tener sólo dos estados, estos serán el estado 0 y el estado 1. Como ya se sabe para codificar dos cosas (en este caso estados) con variables binarias se necesita una sola variable, y en el trabajo con biestables por convenio se usan la variable Q. Por tanto Q(t) representa el estado interno presente en el instante t, y Q(t+1) representa el estado interno al que evoluciona el circuito. Como bloque será:

Los biestables más utilizados son: Biestable RS NOR, Biestable RS NAND, Biestable J-K, Biestable T y Biestable D. BIESTABLE R-S NOR.- Es llamado así porque tiene dos entradas de datos llamadas una R y otra S. La entrada R significa entrada de Reset, o lo que es lo mismo, es una entrada que activada pone la salida Q(t) del biestable igual a “0”. La entrada S significa entrada de Set, o lo que es lo mismo, es una entrada que activada pone la salida Q(t) del biestable igual a “1”. En este biestable las entradas son activas a nivel alto. La tabla de transiciones es:

S R Q(t) Q(t+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 N.P. 1 1 1 N.P.

N.P.= COMBINACIÓN DE ENTRADAS NO PERMITIDA

Page 7: Tema4 lógica secuencial

Fundamentos de Computadores

V. A. García Alcántara, M. Gascón de Toro, A. Leal Hernández Pag.-7

S = 1 y R = 1 es una combinación de entradas no permitida, por sentido común, si S es la señal de puesta a 1 y R la de puesta a 0, no es lógico que el usuario active ambas al mismo tiempo. Esta tabla informa, como ya se ha dicho anteriormente de las transiciones que se producen en el biestable en función de la combinación de los valores de entrada. Así si nos fijamos en la tabla en la parte que está enmarcada:

Podemos deducir que, si la entrada S = 1 y la R = 0, independientemente del valor que tenga Q(t) el estado interno al que evoluciona, Q(t+1), será 1. La tabla de funcionamiento es:

En esta tabla se observa lo mismo que en la tabla de transiciones pero de una forma reducida, de manera que las conclusiones que se obtienen de ella son: Si S = R = 0 el biestable no cambia de estado, Q(t+1) = Q(t) Si S = 0 y R = 1, el biestable independientemente del valor que tenga Q(t) evoluciona al estado 0. Si S = 1 y R = 0, el biestable independientemente del valor que tenga Q(t) evoluciona al estado 1. Si S = R = 1, son entradas no permitidas. La tabla de excitación es:

S R Q(t) Q(t+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 N.P. 1 1 1 N.P.

N.P.= COMBINACIÓN DE ENTRADAS NO PERMITIDA

S R Q(T+1) 0 0 Q(T) 0 1 0 1 0 1 1 1 N.P.

Page 8: Tema4 lógica secuencial

Fundamentos de Computadores

V. A. García Alcántara, M. Gascón de Toro, A. Leal Hernández Pag.-8

Esta tabla informa de los valores que hay que poner en las entradas S y R para conseguir las transiciones deseadas. De esta manera si nos fijamos en la parte marcada, podemos interpretar que: Para conseguir que este biestable que se encuentra en ese momento en el estado interno 1 evolucione al estado interno 0 se ha de poner en sus entradas S = 0 y R = 1. Por último la ecuación de funcionamiento, la cual se obtiene de la tabla de transiciones, es:

Resolviendo por Karnaugh, se obtiene: )()( tQRStQ +=+1 El esquema como bloque funcional se representa en la figura adjunta:

Como se puede apreciar este biestable es activo en flanco de subida de la señal de reloj. Esto quiere decir que las entradas serán efectivas cuando estén presentes y además se produzca la subida del reloj.

Q(t) Q(t+1) S R 0 0 0 X 0 1 1 0 1 0 0 1 1 1 X 0

Page 9: Tema4 lógica secuencial

Fundamentos de Computadores

V. A. García Alcántara, M. Gascón de Toro, A. Leal Hernández Pag.-9

BIESTABLE R-S NAND.- Como el anterior tiene dos entradas de datos, S y R, activas en este caso a nivel bajo. Esto quiere decir que S se activa con un 0 igual que R. La tabla de transiciones es:

S = 0 y R = 0 es una combinación de entradas no permitida, por sentido común, si S es la señal de puesta a 1 y R la de puesta a 0, no es lógico que el usuario active ambas al mismo tiempo. Esta tabla informa, como ya se ha dicho anteriormente de las transiciones que se producen en el biestable en función de la combinación de los valores de entrada. Así si nos fijamos en la tabla en la parte que está remarcada:

Podemos deducir que, si la entrada S = 1 y la R = 0, independientemente del valor que tenga Q(t) el estado interno al que evoluciona, Q(t+1), será 0, pues la entrada que está activada es la R . La tabla de funcionamiento es:

S R Q(t) Q(t+1) 0 0 0 N.P. 0 0 1 N.P. 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1

N.P.= COMBINACIÓN DE ENTRADAS NO PERMITIDA

S R Q(t) Q(t+1) 0 0 0 N.P 0 0 1 N.P 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1

N.P.= COMBINACIÓN DE ENTRADAS NO PERMITIDA

Page 10: Tema4 lógica secuencial

Fundamentos de Computadores

V. A. García Alcántara, M. Gascón de Toro, A. Leal Hernández Pag.-10

En esta tabla se observa lo mismo que en la tabla de transiciones pero de una forma reducida, de manera que las conclusiones que se obtienen de ella son: Si S = R = 1 el biestable no cambia de estado, Q(t+1) = Q(t) Si S = 0 y R = 1, el biestable independientemente del valor que tenga Q(t) evoluciona al estado 1. Si S = 1 y R = 0, el biestable independientemente del valor que tenga Q(t) evoluciona al estado 0. Si S = R = 0, son entradas no permitidas. La tabla de excitación es:

Esta tabla informa de los valores que hay que poner en las entradas S y R para conseguir las transiciones deseadas. De esta manera si nos fijamos en la parte marcada, podemos interpretar que: Para conseguir que este biestable que se encuentra en ese momento en el estado interno 1 evolucione al estado interno 0 se ha de poner en sus entradas S = 1 y R = 0. Por último la ecuación de funcionamiento, que se obtiene de la tabla de funcionamiento, es:

S R Q(T+1) 0 0 N.P 0 1 1 1 0 0 1 1 Q(t)

Q(t) Q(t+1) S R 0 0 1 X 0 1 0 1 1 0 1 0 1 1 X 1

Page 11: Tema4 lógica secuencial

Fundamentos de Computadores

V. A. García Alcántara, M. Gascón de Toro, A. Leal Hernández Pag.-11

Resolviendo por Karnaugh, se obtiene: )()( tRQStQ +=+1 El bloque funcional se muestra a continuación:

Como se puede apreciar este biestable es activo en flanco de subida de la señal de reloj. Esto quiere decir que las entradas serán efectivas cuando estén presentes y además se produzca la subida del reloj. BIESTABLE J-K.- Es llamado así porque tiene dos entradas de datos llamadas una J y otra K.”. En este biestable las entradas son activas a nivel alto. La tabla de transiciones es:

Esta tabla informa, como ya se ha dicho anteriormente de las transiciones que se producen en el biestable en función de la combinación de los valores de entrada. Así se observa que: Si J = 0 y K=0, el biestable no cambia de estado. Si J= 0 y K = 1, aunque el biestable se encuentre en el estado 0 o 1 evoluciona al estado 0. Si J= 1 y K = 0, aunque el biestable se encuentre en el estado 0 o 1 evoluciona al estado 1. Si J= 1 y K = 1, el biestable evoluciona al estado contrario en el que se encuentre.

J K Q(t) Q(t+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 1 1 1 1 0

Page 12: Tema4 lógica secuencial

Fundamentos de Computadores

V. A. García Alcántara, M. Gascón de Toro, A. Leal Hernández Pag.-12

Así si nos fijamos en la tabla en la parte que está enmarcada: Podemos deducir que, si la entrada J = 1 y la K = 0, independientemente del valor que tenga Q(t) el estado interno al que evoluciona, cuando se presenta un flanco activo de la señal de reloj, será 1 (Q(t+1)). La tabla de funcionamiento es:

En esta tabla se observa lo mismo que en la tabla de transiciones pero de una forma reducida, de manera que las conclusiones que se obtienen de ella son: Si J = K = 0 el biestable no cambia de estado, Q(t+1) = Q(t) Si J = 0 y R = 1, el biestable independientemente del valor que tenga Q(t) evoluciona al estado 0. Si J = 1 y K = 0, el biestable independientemente del valor que tenga Q(t) evoluciona al estado 1. Si J = K = 1, el biestable cambia de estado, Q(t+1) = Q(t) La tabla de excitación es:

J K Q(t) Q(t+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 1 1 1 1 0

J K Q(T+1) 0 0 Q(T) 0 1 0 1 0 1 1 1 Q(t)

Q(t) Q(t+1) J K 0 0 0 X 0 1 1 X 1 0 X 1 1 1 X 0

Page 13: Tema4 lógica secuencial

Fundamentos de Computadores

V. A. García Alcántara, M. Gascón de Toro, A. Leal Hernández Pag.-13

Esta tabla informa de los valores que hay que poner en las entradas J y K para conseguir las transiciones deseadas. De esta manera si nos fijamos en la parte marcada, podemos interpretar que: Para conseguir que este biestable que se encuentra en ese momento en el estado interno 1 evolucione al estado interno 0 se ha de poner en sus entradas J = X y R = 1. Por último la ecuación de funcionamiento, la cual se obtiene de la tabla de transiciones, es:

Resolviendo por Karnaugh, se obtiene: )()()( tQKtQJtQ +=+1 El bloque funcional del biestable J-K es el siguiente

BIESTABLE T.- Está dotado de una sola entrada de datos llamada T, la cual actúa de la siguiente manera. Cuando T vale 1 y se presenta un flanco activo de la señal de reloj, el biestable cambia de estado y cuando T vale 0 y se presenta un flanco activo de la señal de reloj el biestable no cambia de estado. La tabla de transiciones es la siguiente:

Page 14: Tema4 lógica secuencial

Fundamentos de Computadores

V. A. García Alcántara, M. Gascón de Toro, A. Leal Hernández Pag.-14

La tabla de funcionamiento es:

T Q(t+1) 0

Q(t)

1

Q(t)

La tabla de excitación es:

Q(t) Q(t+1) T 0 0 0 0 1 1 1 0 1 1 1 0

La ecuación de funcionamiento, que como se sabe se obtiene de la tabla de transiciones, es:

Q(t+1) = T ⊕ Q(t) Como bloque se representa de la siguiente manera:

BIESTABLE D.- Es un biestable que sólo tiene una entrada denominada D, que funciona de la siguiente manera, cuando D = 0, el estado al que evoluciona el circuito, Q(t+1), es el 0, y cuando D = 1 , el estado al que evoluciona el circuito, Q(t+1), es el 1. También se le denomina célula de retardo porque lo que hace es poner en la salida del biestable lo que hay en la entrada pero retardado el tiempo que tarda en aparecer el flanco activo de la señal de reloj. La tabla de transiciones es:

T Q(t) Q(t+1) 0 0 0 0 1 1 1 0 1 1 1 0

Page 15: Tema4 lógica secuencial

Fundamentos de Computadores

V. A. García Alcántara, M. Gascón de Toro, A. Leal Hernández Pag.-15

La tabla de funcionamiento es:

D Q(t+1) 0

0

1

1

La tabla de excitación es:

Q(t) Q(t+1) D 0 0 0 0 1 1 1 0 0 1 1 1

La ecuación de funcionamiento es:

Q(t+1) = D Como bloque se representa según la figura adjunta:

ENTRADAS ASINCRONAS A LOS BIESTABLES.- Hasta el momento , las entradas que se han estudiado en los biestables, se les denomina síncronas, por el hecho de que no se introducen en el biestable , y por tanto no hacen su efecto, mientras no aparezca un flanco activo de la señal de reloj. Pero existen otro tipo de entradas que no necesitan la presencia de este flanco de la señal de reloj, y que por tanto en el mismo momento que se presentan actúan sobre el

D Q(t) Q(t+1) 0 0 0 0 1 0 1 0 1 1 1 1

Page 16: Tema4 lógica secuencial

Fundamentos de Computadores

V. A. García Alcántara, M. Gascón de Toro, A. Leal Hernández Pag.-16

biestable. A estas entradas se les da el nombre de asíncronas, y hay dos, la entrada CLEAR y la entrada PRESET. La denominada CLEAR, es una entrada que cuando está activada (generalmente lo está a nivel bajo, esto es, con un cero) obliga al biestable a evolucionar al estado 0 (la salida Q(t) = 0 y la salida Q(t) = 1). La denominada PRESET, es una entrada que cuando está activada (generalmente lo está a nivel bajo, esto es, con un cero) obliga al biestable a evolucionar al estado 1 (la salida Q(t) =1 y la salida Q(t) = 0). Su funcionamiento se puede ver en la tabla adjunta:

(*) Estas dos entradas no deben de ser activadas nunca al mismo tiempo. Así mismo por sus características de asíncronas, tienen prioridad sobre las síncronas, lo que determina que si están activadas alguna de estas, preset o clear, al mismo tiempo que alguna síncrona, las que hacen su efecto son las asíncronas. Para ver el efecto, en la cronograma adjunto se estudia un biestable J-K activo en flanco de bajada de la señal de reloj, con entradas de Preset y de Clear.

Se va a obtener la señal de salida de un biestable J-K cuyas entradas de datos y entradas asíncronas evolucionan según se indica en el siguiente cronograma:

P Cl Funcionamiento 0 0 No Permitido (*) 0 1 Pone Q(t) = 1 1 0 Pone Q(t) = 0 1 1 No hay ninguna activada

Page 17: Tema4 lógica secuencial

Fundamentos de Computadores

V. A. García Alcántara, M. Gascón de Toro, A. Leal Hernández Pag.-17

Hasta la bajada del estado 4, el biestable funciona sin presencia de las entradas asíncronas. En el período 5 la entrada de Preset pasa a valer 0, con lo cual obligará a la salida Q a ponerse a 1, y en el período 8 es la entrada Clear la que se pone a 0, obligando a la salida Q a ponerse a 0. Esto se observa en el desarrollo del cronograma que se muestra a continuación:

4.2.1.- Transformación de biestables. En ocasiones se plantea la necesidad de utilizar un determinado tipo de biestables, no disponible en ese momento. Esta dificultad se puede solventar transformando los biestables disponibles, en el tipo pedido. Existen dos métodos para realizar la transformación: a) Por comparación de las ecuaciones de funcionamiento de los biestables (el disponible y el pedido). b) A partir de las tablas de transición y excitación.

Page 18: Tema4 lógica secuencial

Fundamentos de Computadores

V. A. García Alcántara, M. Gascón de Toro, A. Leal Hernández Pag.-18

4.2.1.1.- Comparación de las ecuaciones de funcionamiento. Supongamos que tenemos un biestable T y queremos convertirlo en un biestable JK. 1º.- Ecuación de funcionamiento del biestable T: T=1)+Q(t + Q(t) 2º.- Ecuación de funcionamiento del biestable JK. .Q(t)K+(t)QJ.=1)+Q(t Comparamos ambas ecuaciones: .Q(t)K+(t)QJ.=Q(t)+T Operando nos queda lo siguiente: Q(t)+.Q(t)]K+(t)Q[J.=T (t)Q.Q(t)]K+(t)Q[J.+.Q(t).Q(t)]K+(t)Q[J.=T (t)QJ+KQ(t)+KQ(t)J=T KQ(t)+(t)QJ=T Implementando esta función habríamos convertido el biestable T en un biestable JK. Aparece en la figura 23. 4.2.1.2.- Tablas de transición y de excitación. Este método consiste en obtener la ecuación de entrada al biestable dato de partida, a partir de la tabla de transiciones del biestable a obtener y de la tabla de excitación del biestable de partida. De la siguiente forma:

Page 19: Tema4 lógica secuencial

Fundamentos de Computadores

V. A. García Alcántara, M. Gascón de Toro, A. Leal Hernández Pag.-19

A continuación obtenemos T, en función de J, K y Q(t), del mapa de Karnaugh mostrado a continuación.

El valor obtenido es: K.Q(t)+(t)QJ.=T Implementando esta función, obtenemos el biestable JK a partir del T. Se muestra en la figura adjunta.

Page 20: Tema4 lógica secuencial

Fundamentos de Computadores

V. A. García Alcántara, M. Gascón de Toro, A. Leal Hernández Pag.-20

4.3.- ANALISIS DE CIRCUITOS SECUENCIALES CON BIESTABLES. Se entiende por realizar el análisis de un circuito, al conjunto de procedimientos que nos llevan a descubrir su comportamiento. Debe tenerse en cuenta que se van a analizar circuitos en los que todos los biestables que los componen, están controlados por la misma señal de reloj, a los cuales se les denomina circuitos síncronos. El proceso a seguir para realizar el análisis de estos circuitos es el siguiente: 1º.- Se obtienen las ecuaciones de entrada de los biestables. 2º- Se obtienen las tablas de transiciones de los biestables que forman el circuito. Esto se puede realizar de dos maneras: 2.a.- A partir de las ecuaciones de estado siguiente. 2.b.- A partir de las tablas de excitación de los biestables. 3º.- Obtención de la tabla de salida. 4º.- Diagrama de flujo completo 5º.- Realización del cronograma (si es posible). Para entender este procedimiento se va a proceder a realizar el análisis del siguiente circuito:

Page 21: Tema4 lógica secuencial

Fundamentos de Computadores

V. A. García Alcántara, M. Gascón de Toro, A. Leal Hernández Pag.-21

1º.- Obtención de las ecuaciones de entrada a los biestables:

100 == KJ 011 QKJ == 0122 QQKJ == 2º.- Obtención de las tablas de transiciones. 2.a.- A partir de las ecuaciones de estado siguiente.

( ) )()( tQKtQJtQ 00000 1 +=+ es, como sabemos, la ecuación de funcionamiento del biestable J-K(1) Sustituyendo en la ecuación de funcionamiento los valores de J0 y K0 obtenidos en el apartado 1 queda:

( ) )()( tQtQtQ 000 111 ⋅+⋅=+

De la misma forma: ( ) )()( tQKtQJtQ 111 111 +=+ ecuación de funcionamiento del biestable J-K(1)

sustituyendo en la ecuación de funcionamiento los valores de J1 y K1 obtenidos en el apartado 1 queda

( ) )()( tQQtQQtQ 10101 1 ⋅+⋅=+ . Finalmente, sustituyendo en )( 12 +tQ los valores de J2 y K2 obtenidos en el punto 1, obtenemos la siguiente ecuación de estado siguiente: )()()()()( tQQQtQQQtQQQtQ 2012012012 1 ⊕=⋅⋅+⋅⋅=+ Con estos valores se obtiene la tabla de transiciones. Esta, como se ha dicho, refleja las transiciones que se producen en el sistema en función del estado interno presente (t) y las entradas ( en este caso no hay entradas externas).

Page 22: Tema4 lógica secuencial

Fundamentos de Computadores

V. A. García Alcántara, M. Gascón de Toro, A. Leal Hernández Pag.-22

--------- t ------- ------- t+1 ------ Q2 Q1 Q0 Q2 Q1 Q0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 1 1 1 0 0 1 0 0 1 0 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 0 0 0

2.b.- A partir de las tablas de excitación de los biestables. En primer lugar se escribe la tabla con los estados presentes, y el valor que toman para cada uno de estos las variables de entrada a los biestables (J2, K2, J1, K1 y J0 y K0).

------------------------- t --------------------------- ------ t+1 -------- Q2 Q1 Q0 J2 K2 J1 K1 J0 K0 Q2 Q1 Q0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 1 1 1 1 0 1 0 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 0 1 0 0 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1

En segundo lugar se hallan los valores de los estados internos a los que evolucionará el circuito en cada situación.

------------------------- t --------------------------- ------ t+1 -------- Q2 Q1 Q0 J2 K2 J1 K1 J0 K0 Q2 Q1 Q0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 0 1 1 1 1 0 1 0 0 1 0 0 0 0 0 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 0 0 0 0 0 1 1 1 0 1 1 0 1 0 0 1 1 1 1 1 1 0 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0

Page 23: Tema4 lógica secuencial

Fundamentos de Computadores

V. A. García Alcántara, M. Gascón de Toro, A. Leal Hernández Pag.-23

3º.- Obtención de la tabla de salida. En este caso las salidas del circuito coinciden con las salidas de los biestables (Q2, Q1 y Q0) 4º.- Obtención del diagrama de flujo. Una vez obtenida la tabla de transiciones el análisis del circuito está finalizado. No obstante, aún obtendremos su diagrama de flujo para visualizar de una forma más sencilla su comportamiento. Cada estado interno (Q2, Q1, Q0), lo representaremos por un Ei, siendo i el número decimal equivalente del estado interno. La codificación de los estados internos la representamos en la siguiente tabla.

Q2 Q1 Q0 0 0 0 E0 0 0 1 E1 0 1 0 E2 0 1 1 E3 1 0 0 E4 1 0 1 E5 1 1 0 E6 1 1 1 E7

Finalmente, el diagrama de flujo del circuito es el indicado a continuación.

5º.- El cronograma nos permitirá ver la evolución en el tiempo de las señales características del circuito. En este caso veremos la evolución de Q2, Q1 y Q0. Los cambios de Q2, Q1 y Q0 se producirán en los instantes en que la señal de reloj cambie de uno a cero (de nivel alto a nivel bajo) ó dicho e otra forma, en los flancos de bajada de la señal de reloj. El cronograma de este ejemplo se deja como trabajo para el alumno.

Page 24: Tema4 lógica secuencial

Fundamentos de Computadores

V. A. García Alcántara, M. Gascón de Toro, A. Leal Hernández Pag.-24

4.4.- SINTESIS DE CIRCUITOS SECUENCIALES CON BIESTABLES. Los circuitos que se van a diseñar están compuestos por biestables controlados por la misma señal de reloj (circuitos síncronos) activados por flanco. Los pasos a seguir son los siguientes: 1.- A partir de las especificaciones se determinan el número de entradas y salidas. 2.- Obtención del diagrama de flujo (Reducción de estados equivalentes si es necesario). 3.- Codificación de los estados internos, entradas y salidas. 4.- Determinación del número y tipo de los biestables que se van a utilizar. El número de biestables se determina de la siguiente manera: Si el número de estados internos es M, el número de biestables es P de manera que :

2P-1 ≤ M ≤ 2P

P indica también el número de bits a emplear en la codificación de los estados internos. 5.- Construcción de la tabla de transiciones, tabla de excitación y tabla de salida. 6.- Obtención y minimización de las ecuaciones de entrada a los biestables y de las ecuaciones de salida. 7.- Estudio de los estados no definidos, comprobando que estos no forman bucle aparte y se incorporan al bucle principal. 8.- Implementación del circuito. El método expuesto lo vamos a desarrollar con el siguiente ejemplo: Diseñar un circuito que capaz de contar hasta 9 en binario natural . 1.- Determinación del número de entradas y salidas del circuito. Este circuito tiene cuatro salidas, necesarias para codificar en binario el 9. Su única entrada es la señal de reloj. 2.- Diagrama de flujo del circuito. El circuito pasará por diez estados. Su diagrama de flujo, en el que los estados los representamos en decimal, es el siguiente:

Page 25: Tema4 lógica secuencial

Fundamentos de Computadores

V. A. García Alcántara, M. Gascón de Toro, A. Leal Hernández Pag.-25

3.- Codificación de los estados internos Para codificar los estados internos necesitamos 4 bits. La codificación sería la siguiente:

ESTADO Q3 Q2 Q1 Q0 0 0 0 0 0 1 0 0 0 1 2 0 0 1 0 3 0 0 1 1 4 0 1 0 0 5 0 1 0 1 6 0 1 1 0 7 0 1 1 1 8 1 0 0 0 9 1 0 0 1

4.- Determinación del número y tipo de los biestables que se van a utilizar. Como el circuito debe pasar por 10 estados, necesitaremos para el diseño 4 biestables. Utilizaremos para el diseño 2 biestables J-K y dos biestables T. 5.- Construcción de la tabla de transiciones, tabla de excitación. t t+1 t

Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0 J3 K3 J2 K2 T1 T0 0 0 0 0 0 0 0 1 0 X 0 X 0 1 0 0 0 1 0 0 1 0 0 X 0 X 1 1 0 0 1 0 0 0 1 1 0 X 0 X 0 1 0 0 1 1 0 1 0 0 0 X 1 X 1 1 0 1 0 0 0 1 0 1 0 X X 0 0 1 0 1 0 1 0 1 1 0 0 X X 0 1 1 0 1 1 0 0 1 1 1 0 X X 0 0 1 0 1 1 1 1 0 0 0 1 X X 1 1 1 1 0 0 0 1 0 0 1 X 0 0 X 0 1 1 0 0 1 0 0 0 0 X 1 0 X 0 1 1 0 1 0 X X X X X X X X X X 1 0 1 1 X X X X X X X X X X 1 1 0 0 X X X X X X X X X X 1 1 0 1 X X X X X X X X X X 1 1 1 0 X X X X X X X X X X 1 1 1 1 X X X X X X X X X X

Tabla de transiciones

Tabla de excitación

Page 26: Tema4 lógica secuencial

Fundamentos de Computadores

V. A. García Alcántara, M. Gascón de Toro, A. Leal Hernández Pag.-26

6.- Obtención y minimización de las ecuaciones de entrada a los biestables. Se trata de obtener los valores de J3, K3, J2, K2, T1 y T0 en función de Q3, Q2, Q1 y Q0, en el instante “t”. Para ello, escribimos los mapas de Karnaugh y obtenemos las funciones de entrada a los biestables, J3, K3, J2, K2, T1 y T0 simplificadas. Sus valores son los siguientes:

0330123

QQKQQQJ

⋅=⋅⋅=

012012

QQKQQJ⋅=⋅=

10

031=

⋅=T

QQT

7.- Estudio de los estados no definidos, comprobando que estos no forman bucle aparte y se incorporan al bucle principal. Es fundamental comprobar que desde cada uno de los estados indefinidos por los que puede pasar el circuito, siempre se acabará en uno de los estados definidos ó dicho de otra forma nunca se creará un bucle independiente entre los estados no definidos. Veamos en una tabla el comportamiento de los estados indefinidos t t+1

Q3 Q2 Q1 Q0 J3 K3 J2 K2 T1 T0 Q3 Q2 Q1 Q0 1 0 1 0 0 0 0 0 0 1 1 0 1 1 1 0 1 1 0 1 1 1 0 1 0 1 1 0 1 1 0 0 0 0 0 0 0 1 1 1 0 1 1 1 0 1 0 1 0 0 0 1 0 1 0 0 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 1 0

El diagrama de flujo completo será el siguiente:

Como se puede observar, desde cualquier estado no definido, siempre se pasa a un estado del bucle principal.

Page 27: Tema4 lógica secuencial

Fundamentos de Computadores

V. A. García Alcántara, M. Gascón de Toro, A. Leal Hernández Pag.-27

8.- Implementación del circuito. El circuito resultante es el siguiente: