fundamentos de lógica digital. sesión 28. retardo de ...problema: obtener la tabla de secuencias...

13
Fundamentos de Lógica digital. Sesión 28. Retardo de propagación. Ejercicios. PROBLEMA: Determinar si el siguiente contador es simétrico o asimétrico. Obtenemos primero la secuencia natural del contador que es la siguiente: La salida del circuito está determinada por el último flip-flop, Q3. El diagrama de tiempos de la salida del último flip-flop, obtenida directamente de la secuencia del contador arriba expuesta, junto con los pulsos de "reloj" a la entrada del circuito que producen dicha salida, es como sigue: Puesto que un contador es simétrico solo si la forma de la señal de salida es simétrica para una entrada igualmente simétrica y uniforme de pulsos, podemos ver que el contador es asimétrico, con una asimetría 3:2.

Upload: others

Post on 18-Nov-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Fundamentos de Lógica digital. Sesión 28. Retardo de ...PROBLEMA: Obtener la tabla de secuencias producida por el siguiente contador: suponiendo que los flip-flops J-K utilizados

Fundamentos de Lógica digital. Sesión 28. Retardo de propagación.

Ejercicios.

PROBLEMA: Determinar si el siguiente contador es simétrico o asimétrico.

Obtenemos primero la secuencia natural del contador que es la siguiente:

La salida del circuito está determinada por el último flip-flop, Q3. El diagrama de tiempos de

la salida del último flip-flop, obtenida directamente de la secuencia del contador arriba

expuesta, junto con los pulsos de "reloj" a la entrada del circuito que producen dicha salida,

es como sigue:

Puesto que un contador es simétrico solo si la forma de la señal de salida es simétrica para

una entrada igualmente simétrica y uniforme de pulsos, podemos ver que el contador es

asimétrico, con una asimetría 3:2.

Page 2: Fundamentos de Lógica digital. Sesión 28. Retardo de ...PROBLEMA: Obtener la tabla de secuencias producida por el siguiente contador: suponiendo que los flip-flops J-K utilizados

PROBLEMA: Obtener la tabla de secuencias producida por el siguiente contador:

suponiendo que los flip-flops J-K utilizados son activados en sus cambios de estado por una

transición positiva (de "0" a "1") en su terminal de "reloj", pero suponiendo también que la

combinación de valores J=0 y K=0 se mantiene como la combinación que hace que el flip-

flop J-K cambie de estado cada vez que hay una transición positiva en la terminal de "reloj".

Supóngase que el estado inicial del contador es Q3Q2Q1=000.

Suponiendo que el estado inicial del contador es Q3Q2Q1=000, al ir la terminal de entrada de

"0" a "1" el primer flip-flop cambiará de estado de Q1=0 a Q1=1. Pero como la salida del

primer flip-flop está alimentando la terminal de entrada C del segundo flip-flop, al ir de "0"

a "1" esto cambiará el estado del segundo flip-flop de Q2=0 a Q2=1. Y como la salida del

segundo flip-flop está alimentando la terminal de entrada C del tercer flip-flop, al ir de "0" a

"1" el tercer flip-flop cambiará de estado de Q3=0 a Q3=1 . Todo el contador pasará del estado

Q=Q3Q2Q1=000 al estado Q3Q2Q1=111. Al siguiente pulso de "reloj" en la terminal

principal de entrada C, únicamente cambiará el estado del primer flip-flop pasando de Q1=1

a Q1=0, lo cual no tendrá efecto alguno sobre el segundo flip-flop y a su vez tampoco

producirá efecto alguno en el tercer flip-flop. El contador pasa pues del estado Q3Q2Q1=111

al estado Q3Q2Q1=110. Al siguiente pulso, el primer flip-flop cambia de estado de Q1=0 a

Q1=1, lo cual cambiará el estado del segundo flip-flop de Q2=1 a Q2=0, lo cual no tendrá

efecto alguno sobre el tercer flip-flop. Así, el contador pasará del estado Q3Q2Q1=110 al

estado Q3Q2Q1=101. Repitiendo el análisis, logramos obtener la siguiente tabla de

secuencias:

Page 3: Fundamentos de Lógica digital. Sesión 28. Retardo de ...PROBLEMA: Obtener la tabla de secuencias producida por el siguiente contador: suponiendo que los flip-flops J-K utilizados

No nos debe llevar mucho tiempo para reconocer en base a esta tabla de secuencias que este

contador es un contador binario de conteo descendente, un contador binario que va contando

"hacia abajo" en lugar de ir contando "hacia arriba". Pero si repasamos los problemas

anteriores, encontraremos uno en el cual estudiamos precisamente este mismo circuito,

excepto que en dicho problema se comportaba como un contador binario de conteo

ascendente. El giro radical en el comportamiento del circuito se dió porque en vez de utilizar

flip-flops J-K en los cuales el cambio de estado ocurre cuando la transición en la terminal de

reloj es una transición negativa utilizamos ahora flip-flops J-K en los cuales la transición

positiva en la terminal de reloj C es la que produce el cambio de estado. Al llevar a cabo un

diseño, la especificación de los flip-flops a ser utilizados, ya sea flip-flops activados por una

transición negativa o flip-flops activados por una transición positiva, se vuelve tan importante

como el diseño mismo, ya que cualquier ambigüedad en dejar clara esta especificación puede

arruinar el propósito del diseño produciendo un circuito secuencial con un comportamiento

que puede ser completamente inesperado.

Retardo de propagación

PROBLEMA: ¿Qué es una línea de retardo?

Considérese la siguiente configuración:

Page 4: Fundamentos de Lógica digital. Sesión 28. Retardo de ...PROBLEMA: Obtener la tabla de secuencias producida por el siguiente contador: suponiendo que los flip-flops J-K utilizados

Aparentemente, la combinación arriba mostrada no lleva a cabo ninguna función útil, ya que

la información que es invertida por el primer inversor vuelve a ser invertida por el segundo

inversor obteniéndose así a la salida la información original a la entrada sin cambio alguno.

Sin embargo, un momento de reflexión nos indica que tenemos a la mano una variable que

no habíamos considerado hasta ahora. Sabemos de antemano que, al introducir información

binaria a la entrada de un inversor, es físicamente imposible que aparezca instantáneamente

la respuesta a la salida del mismo. En efecto, antes de llegar al límite impuesto por la

velocidad de la luz, entran en juego otros parámetros físicos relacionados con las cuestiones

eléctricas (tales como la inductancia y la capacitancia) que ponen un límite a la velocidad de

respuesta del inversor. Esto es, hay un retardo de tiempo introducido por el inversor.

Dependiendo de la familia lógica utilizada, cada circuito integrado tendrá un retardo en la

propagación de la señal desde su entrada hasta su salida conocido en las especificaciones

técnicas como retardo de propagación (propagation delay). A manera de ejemplo, para un

inversor NOT disponible en un circuito integrado TTL 7404, el retardo de propagación en

promedio es de 10 nanosegundos, y para un inversor NOT disponible en un circuito integrado

CMOS 4049 el retardo de propagación en promedio es de 25 nanosegundos. Hasta ahora se

había considerado este retardo de tiempo como despreciable. Sin embargo, al conectar dos

inversores en serie, este retardo de tiempo se vuelve el doble del retardo original.

Configuraciones como la anterior que no llevan a cabo ningún procesamiento de información

pero que introducen un retardo de tiempo T a la información a su entrada se conocen

comúnmente como línea de retardo y se pueden representar de la siguiente manera:

La doble banda indica el lado en el cual se introduce la información en la línea de retardo. El

retardo de tiempo T se indica dentro de la línea de retardo (100 microsegundos, 10

nanosegundos, etc.).

Básicamente, el funcionamiento es sencillo. Si se introduce un “1” a la entrada de la línea de

retardo, después de un tiempo T aparecerá un “1” a la salida de la misma. Y si se introduce

un “0” en la línea de retardo, después de un tiempo T aparecerá un “0” a la salida de la misma.

Además de los retardos inherentes en los circuitos integrados utilizados para construir

sistemas digitales, existen varias formas de obtener retardos de tiempo en la propagación de

una señal introduciendo un mínimo de distorsión en la misma, tales como el uso de bobinas

como la que se muestra a continuación capaz de producir un retardo de 390 nanosegundos:

Page 5: Fundamentos de Lógica digital. Sesión 28. Retardo de ...PROBLEMA: Obtener la tabla de secuencias producida por el siguiente contador: suponiendo que los flip-flops J-K utilizados

Y a continuación tenemos la línea de retardo ADL CS344 que puede producir un retardo

constante de 64 microsegundos:

Es muy importante aclarar antes de continuar adelante que las líneas de retardo tienen poco

uso en la construcción de sistemas digitales de uso común, excepto para aplicaciones muy

especializadas. La línea de retardo es útil en el estudio conceptual de los multivibradores que

se pueden construir utilizando circuitos lógicos, y un retardo puede ser producido de modo

mucho más económico utilizando una resistencia R y un condensador C cuya constante de

tiempo RC en combinación con un temporizador (timer) como el 555 puede ser utilizada

para construir multivibradores de todo tipo.

Normalmente, los retardos de tiempo son un efecto sumamente desagradable que se desea

reducir al mínimo con el fin de tratar de obtener la máxima velocidad posible de un sistema

digital. Sin embargo, para construir algunos multivibradores, la introducción de retardos de

tiempo se vuelve prácticamente una necesidad.

Page 6: Fundamentos de Lógica digital. Sesión 28. Retardo de ...PROBLEMA: Obtener la tabla de secuencias producida por el siguiente contador: suponiendo que los flip-flops J-K utilizados

PROBLEMA: Diseñar un multivibrador mono-estable utilizando un flip-flop R-S y una

línea de retardo.

El diseño deseado se muestra a continuación:

Para analizar este diseño, suponemos que el flip-flop R-S está inicialmente en la

condiciónR=0, S=0 y Q=0.

Al aplicar un pulso (o un “1”) de corta duración en la terminal “gatillo” (trigger), el flip-flop

R-S entra en el estado Q=1 en donde permanece después de desaparecer el pulso. Al tomar

la terminal de "Salida" el valor Q=1, se coloca al mismo tiempo un “1” a la entrada de la

línea de retardo. Transcurrido un tiempo T, este “1” aparece a la salida de la línea de retardo,

lo cual a su vez hace que R=1. Puesto que el pulso en la terminal "gatillo" fue de corta

duración, al tomar R el valor de “1” encontramos que S ya tiene el valor “0”. Con la

condición R=1 yS=0, el flip-flop R-S regresa automáticamente al estado Q=0. Este

estado Q=0 pone un “0” en la línea de retardo que después de un tiempo T vuelve a dejar al

flip-flop R-S en su estado original R=0, S=0 y Q=0.

Un diagrama de tiempos ilustrando la acción sería como el siguiente:

Nótese que el ancho de pulso de la señal “gatillo” siempre debe ser menor que el ancho de la

señal de salida para evitar poner al flip-flop en el estado no-definido R=1 y S=1.

El multivibrador monoestable también es conocido como el "multivibrador de un disparo"

(one-shot).

Page 7: Fundamentos de Lógica digital. Sesión 28. Retardo de ...PROBLEMA: Obtener la tabla de secuencias producida por el siguiente contador: suponiendo que los flip-flops J-K utilizados

PROBLEMA: Diseñar un registro recirculante con tres bits de capacidad, del tipo entrada-

serial salida-serial, usando flip-flops D.

Un diseño con las características pedidas, capaz de poder dar la "autorización" para ir

metiendo una palabra binaria en forma serial dentro del mismo activando la

terminal W(Write) y desactivándola cuando la palabra ya está metida y será puesta a

"recircular", es el siguiente:

En este caso, para introducir una palabra binaria en el registro recirculante a través de la

terminal de entrada In, activamos primero con un "1" la terminal de "escribir" W (Write),

metiendo dicha palabra en forma serial bit por bit dentro del circuito con varias transiciones

en la terminal de "reloj". Una vez introducida la palabra dentro del registro recirculante,

desactivamos la terminal de escritura W con un "0", con lo cual el circuito trabajará como un

registro recirculante sin perder la información almacenada.

PROBLEMA: Diseñar un registro de transferencia para almacenar un número decimal en

sistema BCD, de rapidez óptima, usando flip-flops D. Diseñar asimismo un registro para

una calculadora electrónica con capacidad para seis dígitos.

Considerando que la representación decimal de un número en sistema BCD requiere de

cuatro bits para su representación, y que el registro de transferencia más rápido posible es el

de entrada-paralela y salida-paralela o pipo (parallel-in parallel-out), el diseño deberá ser

como sigue:

Page 8: Fundamentos de Lógica digital. Sesión 28. Retardo de ...PROBLEMA: Obtener la tabla de secuencias producida por el siguiente contador: suponiendo que los flip-flops J-K utilizados

Puesto que la calculadora electrónica utiliza el sistema BCD (por lo menos para mostrarle el

número al usuario en sistema decimal que pueda entender en lugar del lenguaje de "unos" y

"ceros" usado por la máquina), si esta es de seis dígitos deberá poder almacenar seis cifras

en sistema BCD, usando cuatro bits para almacenar cada cifra decimal. Esto sugiere que

podemos usar el diseño pipo de arriba como bloque fundamental. Tomando en cuenta que en

toda calculadora los números van entrando de izquierda a derecha, desplazándose todos los

números un espacio a la vez para poder ir entrando en el registro de la calculadora, el registro

tomará el siguiente aspecto:

Este tipo de registro recibe en ocasiones el nombre de registro de almacenamiento. En la

mayoría de las calculadoras hay varios de este tipo. Uno de ellos es el que mantiene los

números decimales que le están siendo mostrados al usuario. Otro de ellos es uno al que

simplemente se le conoce como la memoria (de la cual puede haber varias), a la cual tenemos

acceso con alguna tecla como "M+" ó "M-".

PROBLEMA: Determinar si el contador que se muestra tiene estados denegados.

Analizamos primero la secuencia natural que recorre el contador suponiendo que este está

inicialmente en la condición Q1Q2Q3=000. Trabajando sobre el diagrama del circuito,

obtenemos cada uno de sus estados después de las transiciones que le son aplicadas a la

terminal de "reloj", los cuales resultan ser:

Primera transición: El estado es Q1Q2Q3=100.

Segunda transición: El estado es Q1Q2Q3=110.

Page 9: Fundamentos de Lógica digital. Sesión 28. Retardo de ...PROBLEMA: Obtener la tabla de secuencias producida por el siguiente contador: suponiendo que los flip-flops J-K utilizados

Tercera transición: El estado es Q1Q2Q3=011.

Cuarta transición: El estado es Q1Q2Q3=001.

Quinta transición: El estado es Q1Q2Q3=000.

Puesto que en la quinta transición el contador regresa a su estado original, no es necesario

proseguir con el análisis.

Para encontrar los posibles estados denegados en el contador, comparamos los estados de su

secuencia natural con todos los estados posibles que no están incluidos en la secuencia

normal del contador:

Secuencia Natural

Estados Posibles

Vemos entonces que hay tres posibles estados denegados:

Q1Q2Q3=010

Q1Q2Q3=101

Q1Q2Q3=111

Falta ver si el contador se puede "sacar" a sí mismo de cada uno de estos estados. Para esto,

hay que analizar el comportamiento del contador empleando cada uno de los tres posibles

estados denegados como condición inicial.

Page 10: Fundamentos de Lógica digital. Sesión 28. Retardo de ...PROBLEMA: Obtener la tabla de secuencias producida por el siguiente contador: suponiendo que los flip-flops J-K utilizados

Posible estado denegado Q1Q2Q3=010

Condición inicial: Q1Q2Q3=010.

Primera transición: Q1Q2Q3=101.

Segunda transición: Q1Q2Q3=110. (El contador resume su operación normal, ya que este es

uno de los estados propios pertenecientes a la secuencia natural del contador.)

Tercera transición: Q1Q2Q3=011.

Posible estado denegado: Q1Q2Q3=101

Condición inicial: Q1Q2Q3=101.

Primera transición: Q1Q2Q3=110.

Segunda transición: Q1Q2Q3=011. (El contador resume su operación normal, ya que este es

uno de los estados propios pertenecientes a la secuencia natural del contador.)

Posible estado denegado Q1Q2Q3=111

Condición inicial: Q1Q2Q3=111.

Primera transición: Q1Q2Q3=011.

Segunda transición: Q1Q2Q3=001. (El contador resume su operación normal, ya que este es

uno de los estados propios pertenecientes a la secuencia natural del contador.)

Puesto que el contador puede recuperar su secuencia natural de cualquier estado posible en

el que se encuentre, concluimos que el contador no tiene estados denegados.

PROBLEMA: Derivar para un flip-flop D la ecuación de su entrada D en función de Qn (el

estado del flip-flop D previo a una transición) y de Qn+1 (el estado del flip-flop D después de

que ha ocurrido una transición al siguiente estado).

Tomando en cuenta las propiedades del flip-flop D, desarrollamos primero una tabla de

secuencias que describa el comportamiento para el cual queremos encontrar su expresión

Boleana:

Page 11: Fundamentos de Lógica digital. Sesión 28. Retardo de ...PROBLEMA: Obtener la tabla de secuencias producida por el siguiente contador: suponiendo que los flip-flops J-K utilizados

Usando minterms, la "salida" D del flip-flop en función de Qn y de Qn+1 será:

D = Q’nQn+1 + QnQn+1

D = Qn+1(Q’n + Qn)

D = Qn+1

PROBLEMA: Dado el siguiente circuito secuencial asíncrono construido a base de flip-flops D:

obtener la tabla de secuencias para dicho circuito suponiendo que los flip-flops D utilizados son del

tipo en los cuales los cambios de estado ocurren en la transición positiva (de "0" a "1") del pulso a

la entrada de la terminal de reloj. Tras esto, supóngase que hubo una equivocación en la adquisición

de los flip-flops D y que el circuito se construye con flip-flops del tipo en los cuales los cambios de

estado ocurren en la transición negativa del pulso a la entrada de la terminal de reloj. ¿Qué

diferencia hay entre el comportamiento de ambos?

Supondremos, como de costumbre, que el estado inicial del circuito es Q0Q1Q2=000.

Al empezar, para la primera transición, con dos ceros en el NAND, Q1Q2=00; esto pone un

"1" en su salida, el cual es invertido en la burbuja inversora NOT en la terminal Clear (CLR)

de los tres flip-flops D y por lo tanto no afecta a ninguno de ellos. El primer flip-flop D

cambia de estado de Q0=0 a Q0=1 por estar alimentada su entrada con su salida

complementaria Q’0=1 (de hecho, el primer flip-flop se estará comportando todo el tiempo

como un flip-flop T). Este cambio hace que Q’0 caiga de "1" a "0", sin efecto alguno en el

segundo flip-flop que le sigue puesto que sólo las transiciones de "0" a "1" en la terminal C

producirán un cambio. Por lo tanto, el segundo flip-flop se queda en su estado Q1=0, y lo

mismo sucede con el tercer flip-flop.

Para la segunda transición de estados, el primer flip-flop, siempre alimentado en su entrada

D con su salida complementaria Q’0, cambia su salida de Q0=1 a Q0=0. Pero el segundo flip-

flop, estando alimentado con Q’0, ve cambiar esta terminal de Q’0=0 a Q’0=1, con lo cual se

provoca un cambio de estado en el segundo flip-flop.

Page 12: Fundamentos de Lógica digital. Sesión 28. Retardo de ...PROBLEMA: Obtener la tabla de secuencias producida por el siguiente contador: suponiendo que los flip-flops J-K utilizados

Manteniendo un análisis semejante, acumulamos la siguiente información.

Primera transición: El estado es Q0Q1Q2=100.

Segunda transición: El estado es Q0Q1Q2=010.

Tercera transición: El estado es Q0Q1Q2=110.

Cuarta transición: El estado es Q0Q1Q2=001.

Quinta transición: El estado es Q0Q1Q2=101.

Al llegar a la sexta transición, tenemos la situación Q1Q2=11, lo cual hace que la salida del

NAND cambie de "1" a "0", y este "0" al ser invertido por las burbujas inversoras NOT en

las terminales CLR de los tres flip-flops "limpia" al circuito regresándolo al

estadoQ0Q1Q2=000. Esto se ve más claramente en el diagrama de tiempos para este circuito:

Todo el comportamiento del circuito se puede resumir entonces en la siguiente tabla de

secuencias:

El circuito es pues un contador asíncrono módulo 6.

Page 13: Fundamentos de Lógica digital. Sesión 28. Retardo de ...PROBLEMA: Obtener la tabla de secuencias producida por el siguiente contador: suponiendo que los flip-flops J-K utilizados

Ahora llevaremos a cabo el análisis sobre este mismo circuito suponiendo que fue construido

con flip-flops D cuyo cambio de estado ocurre durante la transición negativa en la terminal

de reloj C.

Suponiendo que el estado inicial es Q0Q1Q2=000, al llevarse a cabo la primera transición de

"1" a "0" en la terminal C del primer flip-flop. Antes de que ocurra la transición, con dos

ceros a la entrada del NAND por el hecho de que Q1Q2=00, hay un "1" a la salida del mismo,

el cual es invertido a un "0" por la burbuja inversora NOT en la terminal CLR de los tres flip-

flops D. Al ocurrir la transición, el primer flip-flop D cambia de estado de Q0=0 a Q0=1 por

estar alimentada su entrada D con su salida complementaria Q’0=1. Lo mismo ocurre con el

segundo flip-flop por caer su entrada de reloj C de "1" a "0 al cambiar Q’0 de "1" a "0". Y lo

mismo ocurre en el tercer flip-flop. Pero esto hace que Q1Q2=11, lo cual a la salida del

NAND produce un "0", el cual es invertido por cada burbuja inversora NOT a "1" en todas

las terminales CLR, "limpiando" el circuito regresándolo al estado Q0Q1Q2=000. Este

circuito jamás saldrá del estado Q0Q1Q2=000. Por el simple hecho de haberse utilizado flip-

flops activados por transiciones negativas en vez de flip-flops activados por transiciones

positivas, el contador módulo 6 ha quedado totalmente inutilizado.

Por regla general, cuando un circuito secuencial asíncrono ha sido diseñado para cambiar de

estados con transiciones positivas en la terminal de reloj, si se utilizan flip-flops cuyo cambio

de estados ocurre con transiciones negativas el comportamiento del circuito será totalmente

diferente e impredecible. Y viceversa.

Es posible modificar el segundo circuito para que se comporte igual que el primero, pero ello

requiere poner un inversor NOT conectado inmediatamente a la entrada de cada terminal de

reloj C de todos los flip-flops. Si el circuito hubiese sido síncrono, solo se hubiera requerido

poner un solo NOT inversor a la entrada de la terminal de reloj "maestra" para igualar los

comportamientos de ambos circuitos.