Академический Документы
Профессиональный Документы
Культура Документы
SISTEMAS
DIGITALES
INTRODUCCIÓN A LOS
SISTEMAS
DIGITALES
JAMES E. PALMER
DAVID E. PERLMAN
Rochester Institute of Technology
Revisión técnica:
M. en I. Pedro Rendón Torres
División de Estudios de Posgrado,
Facultad de Ingeniería, UNAM
Profesor del Departamento de Ingeniería Mecánica,
ITESM, Campus Estado de México
McGRAW-HILL
MÉXICO • BUENOS AIRES • CARACAS • GUATEMALA • LISBOA • MADRID • NUEVA YORK
PANAMÁ • SAN JUAN • SANTAFÉ DE BOGOTÁ • SANTIAGO • SAO PAULO
AUCKLAND • HAMBURGO • LONDRES • MILÁN • MONTREAL • NUEVA DELHI • PARÍS
SAN FRANCISCO • SINGAPUR • ST. LOUIS • SIDNEY • TOKIO • TORONTO
Gerente de producto: Carlos Mario Ramírez Torres
Supervisor de edición: Mateo Miguel García
Supervisor de producción: Zeferino García García
ISBN 970-10-0635-6
ISBN 0-07-048439-2
V
VI CONTENIDO
James E. Palmer es profesor de ingeniería eléctrica del Instituto de Tecnología de Rochester (RIT) en
Rochester, Nueva York. Obtuvo la licenciatura en la Universidad de Western Ontario, la maestría en cien-
cias en Ingeniería Eléctrica en la Universidad de Pennsylvania y el doctorado en el Instituto Case de
Tecnología. Su línea de investigación es el diseño de sistemas digitales con énfasis en el diseño del produc-
to y sus aspectos en ingeniería concurrente. Fue Director de Ingeniería en la Universidad Gannon de 1968
a 1974. También fue Jefe del Departamento de Ingeniería Eléctrica de 1974 a 1978 en RIT. Actualmente
dicta cursos en las áreas de prueba y diseño de sistemas digitales y también en las áreas del diseño de
sistemas de control.
IX
Prefacio
El objetivo de este libro es introducir una metodología de diseño unificada en este curso introductorio en
sistemas digitales. El libro está basado en el curso "Introducción a los sistemas digitales", el cual se ofrece
a estudiantes de los primeros años en la carrera de ingeniería eléctrica en el Instituto de Tecnología de
Rochester.
Como es usual en libros de esta materia, el primer capítulo describe los sistemas numéricos en general
y el sistema binario en particular como preparación para la introducción a las señales y variables lógicas
bivaluadas, presentes en toda computadora y circuitos digitales.
Los tres capítulos siguientes describen un procedimiento de diseño coherente para sistemas usando la
lógica combinatoria (o combinacional). Tres maneras diferentes de especificar un problema combinacional
—la tabla de verdad, ecuaciones booleanas y diagramas lógicos— se presentan en el capítulo 2, mientras
que en el capítulo 3 se tratan las manipulaciones del álgebra booleana; además, este capítulo contiene
material adicional para la construcción e interpretación de mapas de Karnaugh (mapas K). Aquí, el proble-
ma de diseño es analizado a un nivel puramente lógico, independientemente de las consideraciones del
hardware, y se estudia relación entre los mapas K, las ecuaciones booleanas y los diagramas lógicos. En el
capítulo 4 se presenta un enfoque estructurado para la implantación del hardware de la metodología lógica
usando la metodología de la lógica mixta. El resultado es una herramienta de diseño totalmente sin ambi-
güedades que producen una circuitería lógica funcional mientras preserva la identidad de la relación booleana.
El capítulo 5 ofrece una descripción de los elementos lógicos combinacionales MSI y LSI comúnmente
usados con énfasis en los dispositivos (tales como multiplexores y ROMs) que pueden programarse para
aplicaciones específicas.
El resto del libro está enfocado principalmente hacia la lógica secuencial síncrona. La construcción y el
uso de diagramas de temporización se presentan en el capítulo 6, donde se introducen herramientas de
diseño asistido por computadora tales como la captura esquemática y el software de simulación. La fun-
ción lógica de elementos básicos de memoria (flip-flops) se presenta en el capítulo 7, y algunos aspectos
importantes de combinaciones MSI y LSI de flip-flops se cubren en el capítulo 8, el cual trata de registros,
contadores y dispositivos de almacenamiento de datos. En el capítulo 9 se discute la operación básica de
dispositivos programables con lógica combinacional y flip-flops. El capítulo 10 ilustra el procedimiento de
diseño tradicional y el uso de las cartas de máquinas de estado algorítmicas como herramientas de diseño
para la lógica secuencial síncrona y para máquinas de estado simples. El capítulo 11 presenta una perspec-
tiva no tradicional de elementos lógicos como componentes de dispositivos de control y proporciona una
introducción a los arreglos de compuertas programables y su operación.
Aquí vale la pena hacer un comentario: desafortunadamente no hay una aceptación universal de la
notación simbólica. Mientras que la burbuja ha sido empleada durante muchos años en la notación de
lógica positiva para indicar inversión lógica, también es común que se use como alternativa para las me-
dias flechas denotando así una señal baja-VERDADERA en sistemas de lógica-mixta. Puesto que reservar
la media-flecha para designar exclusivamente la señal baja-VERDADERA es menos ambiguo, los autores
han enfatizado esta notación para usarla en el desarrollo del proceso de diseño unificado que se presenta en
los capítulos 2-4. Sin embargo, considerando que es más común que las burbujas y no las medias flechas se
produzcan tanto en la captura esquemática como en los paquetes de software para simulación, nosotros no
podemos eliminar arbitrariamente la burbuja bajo-VERDADERO. Su aplicación se discute en la sección
4.3 y se difunde a través del libro (como en las figuras 4-76, 4-79 y 5-38) con el fin de presentar a los
estudiantes ejemplos de la simbología que ellos muy probablemente enfrenten en "el mundo real".
XI
XII PREFACIO
Esta situación es menos confusa cuando se denotan las conexiones (o su ausencia) en dispositivos
lógicos programables. De los capítulos 9 al 11 se usan las "X", círculos sólidos o rectángulos sólidos para
indicar conexiones, mientras que los círculos huecos o ningún símbolo indican la ausencia de una co-
nexión. Desde luego, teniendo en cuenta que el lector enfrentará todas o varias de las convenciones antes
dichas, se decidió presentar un poco de todo en los ejemplos y problemas cuidando evitar cualquier ambi-
güedad en el significado de un símbolo.
El libro fue diseñado para trabajarlo como texto para un curso introductorio en el diseño de sistemas
digitales o para usarse como complemento de otros libros de texto. Como es típico en los libros de la Serie
Schaum, contiene numerosos ejemplos resueltos, así como problemas suplementarios con sus respuestas.
Es importante anotar que en el diseño existen diferentes soluciones válidas para un problema dado. En
estos casos los autores aplicaron su mejor juicio al seleccionar la solución dada y cuando consideraron
apropiado tener presente otras alternativas para un grupo representativo de problemas, así como las nuevas
técnicas desarrolladas en capítulos posteriores.
Se notará que en este libro muchos de los diagramas lógicos y de temporización se han generado en
computadora; además varias observaciones genéricas concernientes a la captura esquemática y a la simu-
lación aparecen en el texto y en el apéndice C. Esto es consecuencia natural del hecho de que ha ido en
aumento la dificultad de tratar el diseño de sistemas digitales sin referencia al software de diseño automá-
tico electrónico (Electronic Design Automation, EDA). Los autores eligieron usar LogicWorks™, una
versión a pequeña escala del software de diseño lógico digital de DesignWorks™ de Capilano Computing
Systems, Ltd., debido a que éste es un paquete de simulación extremadamente amigable, muy apreciado
por profesores y estudiantes. Los lectores interesados deberán escribir a Capilano en 406-960 Quayside
Drive, New Westminster, B. C, Canadá V3M 6G2, o llamar al (800) 444-9064 o al (604) 522-6200 para
mayor información, y/o para obtener un disco de demostración.
Los autores desean expresar su agradecimiento al Dr. Charles Schuler, quien revisó el manuscrito y nos
alentó con sus valiosos comentarios. También quisiéramos expresar nuestro agradecimiento a varias "ge-
neraciones" de estudiantes de licenciatura del RTI, quienes nos dieron una retroal¡mentación invaluable
sobre la efectividad de nuestra pedagogía y sobre la precisión en la solución de los problemas. En un
pasado no tan lejano, la elaboración de los cientos de diagramas integradas con el texto de este libro
hubiera hecho necesario agradecer el enorme esfuerzo (y la paciencia increíble) de una o más secretarias y/
o de los artistas gráficos. Nosotros no necesitamos hacer tal mención aquí, ya que el trabajo se hizo en casa
con la ayuda de una computadora Apple Macintosh LC II* corriendo a dos pantallas —una para dibujar y
otra para el texto—, lo cual hizo el proyecto razonablemente manejable y a menudo agradable. Sin embar-
go, queremos reconocer especialmente la paciencia y el apoyo de nuestras esposas, Mary Palmer y Marjorie
Lu Perlman, quienes tuvieron que soportar la falta de convivencia generada necesariamente por nuestras
muchas noches y fines de semana invertidos en este proyecto.
JAMUS E. PALMER
DAVID E. PERLMAN
Normalmente, los números se representan en el sistema decimal (base 10), el cual tiene 10 símbolos
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9). Este sistema es ponderado, y emplea una notación posicional, donde
la potencia de la base que multiplica a un dígito en particular se determina por su posición en la
secuencia de dígitos, la cual representa a un número dado. Considérese el número 853828 en base
10. El dígito 8 se presenta tres veces en la secuencia, pero en cada una tiene un valor distinto debido
a que el dígito ocupa una posición diferente que corresponde a la potencia de la base. Este arreglo
se muestra como sigue:
1
2 NÚMEROS Y EL SISTEMA BINARIO
El sistema binario
Es posible expresar un número en cualquier base. En el caso binario, la base es 2 y sólo se necesitan
dos símbolos (0 y 1). A cada dígito se llama "bit", y se emplea nuevamente la notación posicional.
Para encontrar el equivalente decimal de cualquier número binario, únicamente se escribe el equiva-
lente decimal de cada una de las potencias de 2, multiplicado por el dígito binario correspondiente y los
resultados parciales se suman.
EJEMPLO 1.1 Exprésese el número binario 1100111.1101 como un número decimal (en base 10).
Puesto que la parte entera tiene siete dígitos (bits), el más significativo tiene un peso de 26 o 64. Su equi-
valente en decimal se puede calcular fácilmente como
1100111 = 1 x 2 6 + 1 x 2 5 + 0 x 2 4 + 0 x 2 3 + 1 x 2 2 + 1 x 2 1 + 1 x 2 o
= 1x64 + 1x32 + 0x16 + 0 x 8 + 1 x 4 + 1 x 2 + 1x1
= 10310
.1101 = 1 x 2 -1 + 1 x 2 - 2 + 0 x 2 - 3 + 1 x 2 -4
= 1 x 0.5 + 1 x 0.25 + 0 x 0.125 + 1 x 0.0625
= 0.812510
Puesto que los números binarios sólo necesitan dos símbolos, son ideales para su representa-
ción mediante dispositivos electrónicos, ya que únicamente habrá que distinguir dos estados, como
ENCENDIDO (ON) y APAGADO (OFF), esto es, conduce o no conduce.
Las ventajas del sistema binario se pueden observar mejor al considerar el efecto de ruido o
interferencia sobre el desempeño de un sistema de procesamiento de datos. En el caso binario,
cuando los datos se van a transmitir o recuperar de algún medio de almacenamiento, es necesario
que el receptor determine, de una señal dada, a cuál de los dos niveles está más cercano. A la mitad
de estos dos niveles se puede fijar un umbral de decisión, de modo que cualquier ruido agregado
que sea menor a la diferencia entre el nivel de la señal y el umbral se ignore. Por otro lado, con el
almacenamiento en decimal, un sistema con el mismo rango global de voltaje asignado a sus seña-
les, tendrá una resistencia al ruido mucho menor, debido a que para un rango dado, éste se debe
dividir en 10 niveles por separado (véase la figura 1-1).
En sistemas de datos se habla de una figura de mérito llamada margen de ruido, la cual se
define como el máximo voltaje de ruido (o corriente) que es posible tolerar sin causar un cambio
no deseado en la salida.
EJEMPLO 1.2 Compárense los márgenes de ruido básicos de los sistemas de datos binario y decimal, teniendo
componentes de hardware ideales.
Para el caso binario, un 1 se almacena como Vmáx [típicamente 5 volts (V)] y un 0 como aproximadamen-
te 0 V, El umbral deberá fijarse en Vmáx/2, y cualquier ruido menor que este valor se ignora. En el sistema
decimal habría 10 niveles de almacenamiento igualmente espaciados entre 0 y Vmáx (0, Vmáx/9, 2 Vmáx/9, etcé-
tera) y habría umbrales situados a la mitad de los niveles adyacentes de almacenamiento (Vmáx/18, 3 Vmáx/18,
etcétera). Cualquier ruido que sea mayor de Vmáx/18 sería una lectura errónea de los datos. Para el caso bina-
rio con Vmáx = 5V, el margen de ruido sería de 5/2 = 2.5 V. Por otra parte, el sistema decimal con el mismo
Vmáx, tendría un margen de ruido de sólo (5/9)/2 = 0.28 V, que, obviamente, es menos deseable que el del
caso binario.
NÚMEROS Y EL SISTEMA BINARIO 3
Cada símbolo en octal representa la equivalencia numérica de un grupo de 3 dígitos binarios, y los ocho
símbolos forman un sistema numérico en base 8. En este caso, es necesario un teclado con ocho teclas
para guardar los datos, pero sólo se necesita presionar las teclas un tercio de las veces que si se hiciera
en un teclado binario.
4 NÚMEROS Y EL SISTEMA BINARIO
EJEMPLO 1.3 Exprésese el número 247 en octal como un binario y uno decimal.
El número en octal es posicional, con el dígito de menor orden (el más a la derecha) ponderado o con
un peso de 8o = 1 y el de mayor orden por 82 = 64. De este modo 247 = 2x 64+ 4 x 8 + 7 x 1 = 167 10.
Refiriéndose a la tabla anterior, la cual indica que la conversión a binario se puede llevar a cabo fácilmente
agrupando:
Esta conversión se puede verificar con facilidad determinando el equivalente decimal del número
binario resultante, 10100111. Obsérvese que los ceros se pueden eliminar conservando la posición de
los unos. El bit más significativo está en la octava posición y por lo tanto tiene un peso de 27 = 128. De
esta manera, 10100111 = 128 + 32 + 4 + 2 + 1 = 167.
En la sección 1.3 se presenta un método general para la conversión de números en las diferentes
bases.
Los símbolos hexadecimales del 0 al 9 son los equivalentes decimales de los primeros diez grupos
de 4 bits. Para representar los últimos seis grupos se necesitan nuevos símbolos, puesto que no hay
números decimales de un sólo dígito que representen números mayores a 9. Para este propósito se
emplean las primeras seis letras del alfabeto como se muestra en la tabla. En el sistema hexadecimal se
necesita un teclado de 16 teclas, con el cual la cantidad de presionado de teclas será solamente un cuarto
de la necesaria con un teclado binario.
El siguiente es un método general con el que se pueden convertir números entre cualquier par de bases:
1. Los enteros y las fracciones se convierten separadamente.
2. La porción entera se convierte empleando la división repetitiva por la nueva base y usando la
secuencia de residuos generada para crear el nuevo número. La aritmética se lleva a cabo en
términos de la base anterior.
3. La parte fraccionaria se convierte mediante la multiplicación repetitiva por la nueva base, em-
pleando los enteros generados para representar la fracción convertida. Una vez más, la aritmé-
tica se lleva a cabo en la base anterior.
Obsérvese que una vez que un residuo se ha formado, no toma parte en la aritmética. El proceso de conversión
de la parte entera siempre tendrá un final.
Paso 3. Conversión de la parte fraccionaria.
Nótese que una vez formado un entero, éste ya no se usa. Este proceso puede no terminar, en general, se lleva
a cabo hasta que se satisfacen los requerimientos de exactitud.
6 NÚMEROS Y EL SISTEMA BINARIO
EJEMPLO 1.6 Conviértase el número decimal 123.456 a su equivalente en octal (base 8).
Conversión de la parte entera:
Todos los sistemas numéricos que se presentaron previamente son posicionalmente ponderados,
haciendo posible llevar a cabo aritmética de un dígito a la vez con el uso de los acarreos. Tablas
completas de adición y multiplicación se pueden desarrollar mediante la aplicación repetitiva de las
reglas para un solo dígito.
Adición binaria
La tabla de adición binaria que se muestra abajo es muy sencilla. En esta tabla los dos dígitos invo-
lucrados se denotan mediante X y Y. Ci es el acarreo de entrada de la adición precedente de menor
orden.
Obsérvese la presencia del acarreo de salida, el cual se genera en todas las adiciones de un bit cuando
el resultado excede 1.
NÚMEROS Y EL SISTEMA BINARIO 7
Cuando se llevan a cabo sumas, cada par de dígitos produce un resultado y un acarreo de salida si la suma
excede a 1. Este acarreo se convierte en el acarreo de entrada para el siguiente dígito (de orden superior), como
se muestra. Por ejemplo, cuando X= 1 , Y = lyel acarreo de entrada es también 1, la suma es 3 (11 en bina-
rio). El bit de la izquierda, que tiene un valor decimal de 2, se acarrea a la siguiente columna (de mayor orden),
dejando un 1 en la posición de la suma, directamente abajo.
Sustracción binaria
La sustracción se puede discutir de una manera muy similar, haciendo uso de un préstamo y produ-
ciendo una diferencia. Sin embargo, en la práctica la sustracción se lleva a cabo mediante el mismo
hardware que se utiliza para la adición, a través de la aritmética complementaria. En el caso binario, los
números negativos se representan como el complemento a 2 del número binario positivo corres-
pondiente (véanse ejemplos 1.8 y 1.9). La sustracción de un número binario dado X de otro Y se lleva a
cabo obteniendo el complemento a 2 de X para convertirlo en -X y sumarlo a Y. En este método, el
dígito a la extrema izquierda es interpretado como el bit de signo (0 para el positivo, 1 para el negativo),
el cual es tratado como cualquier otro bit, excepto que el acarreo de salida de la suma de dos bits de
signo no se toma en cuenta.
El complemento a dos de un número binario se obtiene intercambiando los ls y Os del número
original y sumar 1 al resultado.
EJEMPLO 1.8 Réstese 18510 a 23010 convirtiendo a binario y usando la artimética de complemento a 2.
El número de dígitos binarios que se requieren para realizar el cálculo está determinado por el número
mayor (incluyendo el resultado). En este caso, el número mayor es 230 y requiere 8 bits y uno adicional para
el signo. De este modo, el equivalente binario de 185 es 010111001. Obsérvese que los ceros de la izquierda
no tienen ningún efecto sobre el valor numérico.
Se convierte este número al negativo correspondiente haciendo su complemento a 2:
Paso 1: Invertir los ls y Os.
010111001 → 101000110
Paso 2: Sumar 1.
101000110
+ 1
101000111 = -18510
Después, empleando nueve dígitos, se convierte 230 a binario y se suma al resultado del paso 2.
+ 230= 011100110
-185= 101000111
1000101101
8 NÚMEROS Y EL SISTEMA BINARIO
Ignorando el acarreo en el bit de signo (bit adicional a la izquierda) se obtiene 000101101, en el que se
observa que el bit más la izquierda es 0, lo que indica que el resultado es positivo. Verificación:
000101101, convertido a decimal, es +45.
EJEMPLO 1.9 Réstese 23010 a 18510, convirtiendo a binario y usando la artimética de complemento a 2.
El binario equivalente de 230 es 011100110, y su complemento a 2 se obtiene al invertir los ls y Os y suman-
do 1:
-230= 100011010
Ahora se suma al número binario equivalente de 185:
-230= 100011010
+ 185 = 010111001
111010011
El bit más a la izquierda es un 1, indicando que el resultado es negativo. Para obtener la magnitud del
número, se hace el complemento a 2 del resultado, puesto que -(-X) es igual a X.
000101100
+ ______ 1
000101101
El equivalente en decimal es 45, el cual ya se determinó que es negativo.
1.5 CÓDIGOS
Decimal codificado en binario
Los números decimales codificados en binario (DCB) son esencialmente números decimales codifi-
cados en una forma conveniente de dos valores (binario). Cada dígito decimal se representa, en orden,
por su equivalente binario de 4 bits; siendo éste el número mínimo requerido para representar los
decimales enteros de 0 a 9. Como hay 16 posibles combinaciones de 4 bits, 6 de ellas no son utilizadas
en el sistema DCB.
EJEMPLO 1.10 Compárense las representaciones binaria y DCB del número decimal 278.
En el ejemplo 1.5, se mostró que el equivalente binario de 278 es 100010110. La conversión se hizo consi-
derando el número decimal dado como un todo. En conversión DCB, cada dígito decimal es codificado separa-
damente:
Código Gray
Otro código de dos valores, significativo en ingeniería, es el código Gray, también conocido como
código binario reflejado. No es un código ponderado posicionalmente y, debido a esto, no es apro-
piado para operaciones aritméticas.
El código Gray de un bit es idéntico al código binario de un bit:
0
1
NÚMEROS Y EL SISTEMA BINARIO 9
El código Gray de dos bits se obtiene al "reflejar" el código Gray de un bit en un espejo imagi-
nario, como se muestra más adelante. Para el segundo dígito, se agregan Os sobre el eje de reflexión y ls
debajo de éste.
El código Gray de tres dígitos se forma empleando el código de dos dígitos como la base de
reflexión y agregando 0s arriba y 1s debajo nuevamente.
000
001
011
010
Eje de reflexión
110
111
101
100
Tabla 1.1
Una de las principales aplicaciones del código Gray es en medición. Un caso común se presenta en
el ejemplo 1.11.
10 NÚMEROS Y EL SISTEMA BINARIO
EJEMPLO 1.11 Disco de codificación posicional. En un sistema robótico, el movimiento del "brazo" a me-
nudo se controla mediante un microprocesador el cual genera una señal para manejar la rotación de las unio-
nes. Con frecuencia, esta señal se aplica a un circuito que controla la dirección y velocidad de un motor eléctri-
co. Es necesario para la computadora conocer la posición real de una unión y compararla con el comando
con el fin de asegurar que el movimiento deseado sea llevado a cabo. Con frecuencia, la medición de la posición
se realiza conectando un pequeño disco de codificación en la flecha del motor. Este disco consiste de pistas
circulares concéntricas que contienen patrones de sectores opacos y transparentes, como se muestra en la figu-
ra 1-2. Cada pista está asociada individualmente con un emisor y un detector de luz. Cuando un sector transpa-
rente de la pista está entre el emisor y el detector, la luz se transmite y en el detector se produce una señal eléctri-
ca. No se produce salida cuando un sector opaco pasa entre el emisor y el detector.
El disco en la figura l-2a está codificado en binario, en donde la pista externa corresponde al dígito menos
significativo. Mediante un arreglo radial de pares emisor-detector alineado en cada pista se ve que mientras
el disco gira, cada sector que pase por el arreglo de detectores producirá combinaciones únicas de salidas que
se pueden interpretar como números binarios. Por ejemplo, si el arreglo del emisor-detector está localizado
a lo largo de una línea vertical en la parte superior del disco y se considera que un detector iluminado produce
un 1 binario, entonces si el disco gira en sentido contrario a las manecillas del reloj por más de un sector, la
salida del detector indicará el número binario 0010. En el caso del disco de la figura 1-26, los sectores se identi-
fican como números codificados en Gray.
Considérese el caso de codificación binaria donde el disco se posiciona de modo que el arreglo de detecto-
res esté localizado a lo largo de la línea divisoria entre los sectores 7 y 8. Obsérvese que los sectores a cada
lado de esta frontera son diferentes para todas las pistas. Los emisores y detectores no se alinean individual-
mente con una tolerancia perfecta, ni los emisores producen una luz de ancho cero: por tanto la luz se difunde.
Si un emisor de luz está sobre la línea, podría o no producir salida en el detector. De esta manera, el número
binario que se produce pudiera ser cualquiera de todos los 0s o 1s, dependiendo del alineamiento y de la disper-
sión de luz. Lo cual puede producir errores burdos.
Por otro lado, si se emplea un disco codificado en Gray, debido a la propiedad de la distancia unitaria,
hay sólo una pista por sector donde la transmisión de luz en cada lado de la frontera de un sector es diferente,
únicamente un bit codificado en Gray puede ser el erróneo. El esquema de codificación en Gray sólo puede
producir los números correspondientes a los sectores adyacentes, y en consecuencia no es posible que se gene-
ren grandes errores.
Mientras el código Gray es muy conveniente para fines de medición, no es útil en aritmética
debido a que, como se mencionó, no tiene un ponderado (o peso) posicional.
NÚMEROS Y EL SISTEMA BINARIO 11
EJEMPLO 1.12 Conversión de binario a Gray. Conviértase el número binario 01101001101 a Gray.
Binario:
EJEMPLO 1.13 Conversión de Gray a binario. Conviértase el número Gray 1000110101010 a un número bi-
nario equivalente.
Gray:
Binario:
1000110101010 (en Gray) = 1111011001100 (en binario)
Código ASCII
No todos los datos almacenados y procesados por una computadora son numéricos. Debido a las
ventajas prácticas del sistema binario, otros tipos de datos se almacenan en una forma bivaluada (como
el binario) también. El código alfanumérico más comúnmente utilizado es el American Standard
Codefor Information Interchange (ASCII) del que algunos caracteres representativos del teclado se
presentan en la tabla 1.2. No se pretende que esta lista sea exhaustiva, sino meramente ilustrativa.
Nótese que los dígitos decimales se muestran como dígitos codificados en DCB precedidos por 011 (9 =
011 1001). Otros prefijos de tres dígitos se utilizan para datos no numéricos.
12 NÚMEROS Y EL SISTEMA BINARIO
B 100 0010 42
C 100 0011 43
D 100 0100 44
E 100 0101 45
F 100 0110 46
G 100 0111 47
H 100 1000 48
I 100 1001 49
J 100 1010 4A
K 100 1011 4B
L 100 1100 4C
M 100 1101 4D
N 100 1110 4E
O 100 1111 4F
P 101 0000 50
Q 101 0001 51
R 101 0010 52
S 101 0011 53
T 101 0100 54
U 101 0101 55
V 101 0110 56
W 101 0111 57
X 101 1000 58
Y 101 1001 59
Z 101 1010 5A
Espacio 010 0000 20
( 010 1000 28
) 010 1001 29
+ 010 1011 2B
0 011 0000 30
1 011 0001 31
2 011 0010 32
3 011 0011 33
4 011 0100 34
5 011 0101 35
6 011 0110 36
7 011 0111 37
8 011 1000 38
9 011 1001 39
NÚMEROS Y EL SISTEMA BINARIO 13
Tabla 1.3
Decimal DCB Bit de paridad agregado
0 0000 00001
1 0001 00010
2 0010 00100
3 001 1 001 1 1
4 0100 01000
5 0101 0101 1
6 01 10 01 101
7 01 1 1 01110
8 1000 10000
9 1001 1001 1
Fig. 1.3
14 NÚMEROS Y EL SISTEMA BINARIO
Corrección de errores
La paridad también se puede utilizar en combinaciones especiales que permiten tanto la corrección
como la detección de ciertas clases de errores. Un ejemplo del llamado código Hamming se muestra
en la figura 1-3. En este caso se usan 4 bits de datos (D1, D2, D3, D4) para crear tres bits de paridad
adicionales (P1, P2, P3) los cuales se agregan a los cuatro originales para formar siete dígitos binarios
que se almacenan o transmiten como grupo.
El procesamiento de código Hamming se realiza mediante un circuito lógico el cual lleva a cabo
el procedimiento definido por la tabla 1.4. Se forman tres grupos de paridad a partir de diferentes
combinaciones de tres dígitos de datos y uno sólo de paridad, el cual se genera para cada uno de esos
grupos. La pertenencia a un grupo de paridad se indica con una X en la columna del dígito apropiado.
Nótese que cada uno de los siete dígitos tiene una combinación única de pertenencia al grupo de
paridad. Si se asume que solamente dígitos aislados tendrán error debido al ruido o interferencia,
entonces se genera para cada posible error un solo patrón de fallas de paridad de grupo. El
conocimiento del patrón de falla de paridad permite la identificación del dígito con error. Como éste
es un sistema binario, el conocimiento del dígito erróneo hace posible la corrección.
Considérese el caso en el que los dígitos de datos D4, D3, D2, D1 son 1011. Refiriéndose a la tabla 1.4
se ve que para el grupo de paridad 2, la paridad impar requiere que P2 sea 1 ya que D1 y D4 son miembros
del grupo, D3 es 0, y D2 (que no es miembro) no se toma en cuenta. Las reglas de generación de paridad
impar combinadas con el algoritmo definido en la tabla 1.4 producirá los bits de paridad P3, P2, Pi = 110.
El código Hamming se transmite con la secuencia D4, D3, D2, P3, D1, P2, P1, de tal manera que en este
ejemplo la salida del circuito lógico se transmite como 1011110.
Ahora, supóngase que el segundo dígito más a la izquierda tiene un error, esto es, la secuencia
recibida es 1111110. Cuando se obtiene, los grupos de paridad se verifican individualmente y al refe-
rirse a la tabla 1.4 se muestra que los grupos de paridad 2 y 3 fallarán (muestran paridad impar).
La única situación en la que los grupos 2 y 3 fallan y el grupo 1 no es cuando D3 tiene error. Su
valor erróneo es 1 y, por lo tanto, se debe corregir a 0. Si un bit de paridad tiene error, solamente
fallará el grupo de paridad al que pertenece, permitiendo su identificación y corrección.
carácter está dañado. El código utilizado toma un carácter de los datos (uno de setenta posibles) y lo
configura (convierte) en un formato de 8 bits que tiene exactamente cuatro ls y cuatro 0s. En
el receptor se cuenta el número de ls en el carácter, y si la suma no es cuatro, se asume un error.
Este código detecta todos los números pares de error y también detecta los números impares de error
en los que un intercambio de 1 a 0 no va acompañado de un intercambio de 0 a 1.
Problemas resueltos
1.1 Conviértase el número decimal 234.567 a su equivalente número binario. Determínese la
exactitud fraccional si se hace la conversión en nueve pasos.
1.2 Conviértase el número 345.678 (en decimal) a un número equivalente en base 6, haciendo
que el error de conversión sea menor que 0.001.
Puesto que 6-3 = 0.0046 (en decimal) y 6-4 = 0.000771605 (en decimal), se requieren cuatro dí-
gitos para la parte fraccionaria.
Residuo
2 )217
2 )107 1
2 )43 1
2 )21 1
2 ) 10 1
2)4 0
2)2 0
2 )1 0
0 1
217 (en octal) = 10001111 (en binario)
$B73D = (1011X0111X0011X1101)
= 1011011100111101 (en binario)
Cámbiese el número de binario a octal (grupos de 3 bits). Empiécese por la derecha y agréguense
los ceros necesarios a la izquierda.
1.5 Exprésese el número octal 23456 como un número decimal y como uno en DCB.
(0010X0111X1001X0101) = 2795
Segundo, conviértase el número decimal a binario:
2)2795
2 )1397 res = 1
2 )698 res = 1
2 )349 res = 0
2 )174 res = 1
2 )87 res = 0
2 )43 res = 1
2 )21 res = 1
2 )10 res = 1
2 )5 res = 0
2 )2 res = 1
2 )1 res = 0
0 res = 1
$F5.3B = (1111X0101).(0011X1011)
= 11110101.00111011
Agrúpense en tercias, respetando el punto decimal, para convertir a octal.
18 NÚMEROS Y EL SISTEMA BINARIO
1.8 Súmese $A47 a $854. Hágase la aritmética en hexadecimal, pero obsérvese que el código he-
xadecimal es ponderado.
Sumando dígito a dígito:
A47
+ 854
129B
1.9 Súmese 234 (en decimal) a 189 (en decimal) y hágase la aritmética en binario.
Ambos números son positivos; el proceso sencillamente es sumar. Primero conviértase a binario.
La suma es positiva (bit de signo = 0) y se puede convertir a +423 (en decimal), el cual verifica.
1.10 La adición complementaria se puede usar para llevar a cabo la sustracción en cualquier base,
incluyendo base 10. Empléese la adición con complemento a 9 para restar 1462i0 a 193710.
Agréguese un cero a la izquierda a cada número que sirva como un dígito de signo. Un número
se complementa restándolo de BN - 1 donde B es la base y N es el número de cifras. En el presente
caso, B = 10, N = 4 y el número seleccionado (1462) será restado de 9999.
9999
-1462
98537 ← Nunca habrá un préstamo puesto que todos los números son menores de 9
__ +_1
98538 ←complemento a 9 de 1462
El dígito de la extrema izquierda (dígito de signo) es un 9 lo que indica que el número es negativo.
El hecho de que el complemento a 9 de 1462 es equivalente a -1462 se puede mostrar tomando el com-
plemento a 9 otra vez para regresar al número original. Será evidente que este proceso es equivalente
a X = -(-X).
NÚMEROS Y EL SISTEMA BINARIO 19
99999
-98538
01461 ← El dígito de signo es 0, lo cual indica que el resultado es positivo
___ +9
1462
La resta deseada se lleva a cabo ahora.
01937
+ 98538
100475
Excluyendo el extraño dígito de acarreo de signo, se tiene 475, el cual se interpreta como un núme-
ro positivo puesto que el dígito de la extrema izquierda es 0.
1.11 Réstese 176 de 204. Hágase el trabajo en binario empleando la notación de complemento a 2.
El mayor de estos números requiere 8 bits, y con el bit de signo, N = 9.
El complemento de un número de N dígitos en base 2 se obtiene restando el número de uno forma-
do por N ls. En el caso binario, esto se logra de una manera sencilla: simplemente invirtiendo los ls
y Os.
El complemento de 176: 010110000 → 101001111 Invertir los bits
Sumar 1: 000000001
El complemento a 2 es: 101010000 Esto es equivalente a -176
Sumar-176 a +204: 204 → 011001100
-176 → 101010000
1000011100
Se ignora el
acarreo de
salida del bit
de signo
Suma: 000011100
El dígito de signo es 0, de modo que el número es positivo. La conversión directa conduce a + 28
(en decimal), lo cual verifica.
1.12 Súmese -176 (en decimal) a -204 (en decimal); hágase la aritmética en binario empleando
la notación de complemento a 2.
La respuesta tendrá una magnitud de 38Oio la cual requiere 9 dígitos binarios. Incluyendo un bit
de signo, se necesitarán 10 dígitos para el cálculo. Exprésense los números negativos en la forma de
complemento a 2:
-1761O= 1101010000
-20410= 1100110100
Sumar: 1101010000
1100110100
11010000100
20 NÚMEROS Y EL SISTEMA BINARIO
Ignórese el acarreo de salida de la extrema izquierda y obsérvese que el siguiente dígito (dígito de
signo de la suma) es 1, lo que indica un resultado negativo. Para encontrar la magnitud del número
negativo, tómese el complemento a 2:
1010000100 → 0101111011
+ ________1
0101111100 = 38010
1.18 A veces, cuando un bloque de datos se almacena en cinta magnética se calcula la paridad,
tanto en renglones como en columnas. Obténganse las paridades de renglón y columna para
el grupo de datos mostrado enseguida, usando paridad impar.
Datos
10110
10001
10101
00010
11000
00000
11010
22 NÚMEROS Y EL SISTEMA BINARIO
En el renglón de paridad, el cero de mayor orden indica que hay un número impar de unos leyendo
verticalmente hacia abajo la columna de la extrema izquierda. El siguiente bit, un 1, indica que su res-
pectiva columna de datos tiene un número par de unos, etcétera.
1.19 Codifique los datos D4, D3, D2, D1 = 1001 en un códio Hamming de 7 bits. Úsese paridad
impar.
Refiérase a la tabla 1.4. El grupo de paridad 1 usa D4, D2, D1 y P1. Los bits de datos pertenecientes
son 101 y P1 es 1. El grupo de paridad 2 usa D4, D3, D2 y P2. Los bits de datos pertenecientes son 101 y
P2 es 1. El grupo de paridad 3 usa D4, D3, D2, y P3. Los bits de datos pertenecientes son 100 y P3 es
0. La secuencia final es D4, D3, D2, P3, D1, P2, P1 = 1000111.
1.20 Supóngase que la secuencia codificada en el problema 1.19 se recibe como 1010111. ¿Cuáles
bits tienen error?
El grupo de paridad 1 usa D4, D2, D1 y P1 → 1111 (par) la verificación falla.
El grupo de paridad 2 usa D4, D3, D1 y P2 → 1011 (impar) la verificación pasa.
El grupo de paridad 3 usa D4, D3, D2 y P3 → 1010 (par) la verificación falla.
Refiriéndose al diagrama de pertenencia de grupos de paridad, el único dígito individual que es miem-
bro de los grupos 1 y 3 pero no del grupo 2 es el dígito D2. Por lo tanto, D2 es el dígito erróneo.
1.21 Si se sabe que 4 bits de datos fueron codificados usando un código de detección de un solo
error (paridad impar), como se define en la tabla 1.4; si se asume que se va a presentar sólo
un error, ¿cuáles son los datos correctos si la secuencia recibida es D4, D3, D2, P3, D1, P2,
P 1 = 1011111?
Grupo de paridad 1 = 1111 Falla
Grupo de paridad 2 = 1011 Pasa
Grupo de paridad 3 = 1011 Pasa
El único dígito que se produce aisladamente en el grupo de paridad 1 es el bit de paridad P1 y,
por lo tanto, P1 es erróneo. Todos los dígitos de datos son correctos. Nótese que la falla de sólo un
grupo de paridad aislado significa que el error está en el dígito de paridad.
NÚMEROS Y EL SISTEMA BINARIO 23
1000001 → A
1000100 → D
1000100 → D
0100000 → En blanco
0110011 → 3
0110100 → 4
0111001 → 9
1.23 Compárense los márgenes de ruido en un sistema de almacenamiento decimal contra un sis-
tema hipotético de tres estados. Los dos sistemas utilizan la corriente en un transistor como
la variable almacenada.
Asúmase que los estados físicos son equidistantes entre cero y la máxima corriente (Imáx) para ambos
sistemas. Como se describió en la sección 1.2, la separación entre los niveles de señal y los umbrales
para el sistema decimal es Imáx/18. Para el sistema de tres estados, los niveles de señal serán 0, Imáx/2
e Imáx- Con umbrales de decisión situados a la mitad entre estos niveles (en Imáx/4 y 3 Imáx/4), la sepa-
ración del umbral de un nivel de señal es Imáx/4. Por lo tanto, el sistema de tres estados tiene un margen
de ruido 4.5 veces mayor que el del sistema decimal (Imáx/4)/(Imáx/18).
1.24 Desarróllese un código de corrección de un solo error para un grupo de 11 bits de datos.
Tabla 1.5
Bit PG4 PG3 PG2 PG1
P1 X
P2 X
D1 X X
P3 X
D2 X X
D3 X X
D4 X X X
P4 X
D5 X X
D6 X X
D7 X X X
D8 X X
D9 X X X
D10 X X X
D11 X X X X
24 NÚMEROS Y EL SISTEMA BINARIO
Debe haber una combinación única de miembros de paridad de grupa para cada bit codificado en el
grupo, por lo que se requieren por lo menos cuatro grupos de paridad. El número total de bits será
11 más 4 o 15 bits. Debido a que cuatro miembros de paridad de grupo pueden ser organizados en
16 combinaciones distintas, cuatro grupos de paridad son adecuados y cada bit puede ser "etiqueta-
do". Es conveniente ordenar los agrupamientos en forma binaria como se muestra en la tabla 1.5 (re-
fiérase a la sección 2.2 en lo concerniente a construcción de tablas de verdad).
1.25 Supóngase que el código de detección de errores únicos del problema 1.24 es utilizado en
un sistema con paridad impar. Los datos, ordenados con D11 como el bit más significativo
son
La entrada P4 es 1 debido a que los miembros de este grupo (D5 a D11) tienen un número par de
1s. Este proceso se repite para las demás entradas de paridad.
1.26 ¿Qué acción realizará el sistema del problema 1.25 si la secuencia recibida es
100001111111011?
Nótese que hay dos dígitos recibidos con error (D9 y D2). Sin embargo, como el sistema está dise-
ñado para detectar sólo errores únicos, responderá como si éste fuera el caso. Se ve que la verificación
de paridad PG4 falla y que el circuito de detección "asumirá" que el dígito que pertenece únicamente
a PG4 (P4) es el único bit con error. Se "corregirá" P4 a 0 y dejará el mensaje recibido aún con error.
1.27 La técnica de codificación ARQ es descrita en la sección 1.6. Muéstrese que esta técnica de
tectará a todos los números impares de error en una palabra codificada y algunos números
par. Utilice la palabra codificada 11001010 como ejemplo.
La clave del código es que exactamente cuatro ls son enviados en cada palabra. Un sólo error debe
provocar que uno de los ls sea 0 o que uno de los 0s sea 1 y, en cualquier caso, la cuenta de ls ya no
será cuatro. Para cualquier número impar de errores, el número de transiciones de 1 a 0 siempre será
diferente del número de transiciones de 0 a 1 y siempre habrá una cuenta errónea de ls. En el caso
de un número par de errores, es posible que las transiciones de 1 a 0 sean balanceadas por un número
igual de transiciones de 0 a 1, manteniendo así el número de ls constante y resultando en una falla
de la detección de error. Como ejemplo, véase la siguiente tabla en que el código transmitido es
11001010.
Problemas suplementarios
1.28 Conviértase el número binario 100110111 a decimal, octal y hexadecimal.
1.29 Conviértase el número decimal 416 a binario, octal y hexadecimal.
1.30 Escríbanse los dígitos decimales de 0 a 10 en base 4.
1.31 Exprésese el número decimal 250.5 en base 7 y base 16.
1.32 Conviértanse los siguientes números a sus equivalentes decimales:
a) 1032.24 b) 0.3426 c) 607 d) 18812
1.33 Conviértase el número hexadecimal AB6 en binario, octal y decimal.
1.34 Exprésese 205 (decimal) como número binario y como hexadecimal.
1.35 Conviértase el número DCB 10010110 a hexadecimal.
1.36 Dado el número hexadecimal $A38, conviértase a octal.
1.37 Dado el número hexadecimal $D3C, conviértase a DCB.
1.38 Dado el número octal 1216 conviértase a DCB.
1.39 Súmense los números octales 27 y 42 y exprésese el resultado en binario.
1.40 Encuéntrese el complemento a 2 equivalente de -119 (decimal) asumiendo una palabra binaria de 10
bits de longitud.
1.41 Sustráigase 100010 de 10100 usando el método de complemento a 2.
1.42 Súmense -105 (base 10) y -56 (base 8). Nótese que ambos números son negativos. Realice la aritmética
en complemento a 2 binario usando 9 bits, incluyendo el bit de signo. Exprese la magnitud de la res
puesta en hexadecimal.
1.43 Réstese 583io de 736g. Realícese la aritmética en complemento a dos binario y exprese el resultado en
base 6 complementada.
1.44 Encuéntrese el complemento a 16 de $0B7 (hexadecimal).
1.45 Convierta 1001101100011 (en código Gray) a binario.
1.46 Convierta 1100101101101 (en binario) a código Gray.
1.47 Un codificador de barra similar al mostrado en la figura 1-2b está codificado en Gray con 32 sectores
iguales. Determine la salida del código Gray si la barra se rota 36° en la dirección de las manecillas
del reloj.
1.48 Exprese el número codificado en Gray 101101101011 en números equivalentes en hexadecimal y bi-
nario.
1.49 Si en un teclado ASCII las teclas ADD 21 son presionadas, ¿qué señales binarias ingresan a la compu
tadora?
1.50 Los datos 1001 están codificados apropiadamente en un código de corrección de errores de acuerdo
con las reglas de la tabla 1.4. Se recibe, después de contaminarse con ruido, con los bits de datos D3
y D2 con error. El receptor espera un sólo error y procesa el código recibido de grupo de dicha mane
ra. Muéstrese la transmisión completa y las palabras recibidas e indíquese la decisión tomada por el
receptor.
26 NÚMEROS Y EL SISTEMA BINARIO
Lógica combinacional (o combinatoria) se define como aquella clase de circuitos digitales donde,
en cualquier tiempo dado, el estado de todas las salidas sólo depende de los valores de las entradas
en ese tiempo y no del estado de las entradas anteriores. Un circuito lógico combinacional se puede
considerar como una caja negra que tiene N líneas de entrada y P líneas de salida, cada una de las
cuales lleva a cabo una función digital (o lógica), la que sólo puede adoptar dos posibles valores,
comúnmente indicados como 1 y 0, o FALSO y VERDADERO.
A partir de un enunciado verbal o simbólico de la relación entre la entrada y la salida, la tarea
del diseñador de la lógica es ' 'llenar la caja" con un circuito formado de interconexiones apropiadas
de componentes lógicos fundamentales llamados compuertas.
Una tabla de verdad es una manera conveniente de representar simbólicamente una función lógica.
Todas las posibles combinaciones de los valores de la variable de entrada (normalmente en orden
ascendente) se presentan en forma tabular y, para cada combinación única de entradas, los valores
de la variable de salida se listan en una columna separada asignada a cada una de las variables. De
este modo, la tabla de verdad constituye una especificación completa de la lógica combinacional
que se va a diseñar.
Para ilustrar el empleo de una tabla de verdad para la especificación de un problema, considé-
rese el caso de un bloque lógico para convertir números de 4-bits codificados en Gray a números
binarios. En la figura 2-1 se muestra cómo debe diseñarse la caja.
Fig. 2-1
27
28 DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES I
Los subíndices indican la posición de cada dígito en la secuencia. El 4 es el bit más significativo
y el 1 el menos significativo. La relación entre los códigos binario y Gray se presentó en la sección
1.5, y a partir de esta lista se puede construir una tabla de verdad.
3. Llénese cada renglón con el valor deseado correspondiente de cada una de las variables de salida
P.
La tabla de verdad tiene N + P columnas y 2N renglones, y es una especificación simbólica com-
pleta de una función lógica combinacional, la cual en este caso presenta la relación entre los códigos
binario y Gray.
EJEMPLO 2.1 Enseguida se describe un sencillo método para ordenar todas las posibles combinaciones de
los valores de N variables binarias y emplearlas en el lado de las entradas de la tabla de verdad (refiérase a
la tabla 2.1):
DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES I 29
Fig. 2-2
Una vez que se ha entendido el proceso de adición de dígitos individuales, éste se puede descri-
bir mediante una tabla de verdad (tabla 2.2) la cual lista todas las posibles combinaciones de las
entradas y las correspondientes salidas. Ahora se tiene una especificación simbólica compacta de
la lógica combinacional que se debe diseñar que irá en la caja negra.
30 DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES I
Tabla 2.2
ENTRADA SALIDA
X Y Ci S Co
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
Equivalencia lógica
Dos variables lógicas son equivalentes si tienen valores verdaderos idénticos. El símbolo para la
equivalencia lógica es un signo de igual ( = ).
EJEMPLO 2.2 La expresión A = B significa que si A es VERDADERA entonces B también debe ser VER-
DADERA, y si A es FALSA entonces B también debe ser FALSA. No debe haber ninguna otra posibilidad.
Obsérvese que las variables lógicas A y B pueden representar, si fuera el caso, expresiones lógicas complicadas.
DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES I 31
La función booleana OR
La función OR se define de tal modo que la salida es VERDADERA si una o más de sus entradas
son VERDADERAS. El símbolo para la función lógica OR es el signo de más ( + ).
Inversión lógica
La expresión A' significa que si A es VERDADERA, entonces A' será FALSA, y viceversa.
Nótese que en la práctica, A o A' se puede emplear para indicar la inversión lógica. Quienes
utilizan procesadores de texto, prefieren la segunda forma.
La función OR exclusiva
El conectivo llamado OR exclusiva, aun cuando es muy útil para el diseñador de circuitos lógicos,
no es, estrictamente hablando, una función fundamental, booleana lógica. Ésta tiene dos variables
de entrada y produce una salida VERDADERA, si y sólo si, una de las entradas es VERDADERA
y la otra es FALSA.
La función OR exclusiva con frecuencia se relaciona con XOR y su símbolo es
Jerarquía de operaciones
Como en cualquier álgebra, la secuencia de la operación es muy importante. Para el álgebra boolea-
na, esta jerarquía de operaciones está ordenada como sigue:
INVERSIÓN LÓGICA
AND
OR
EQUIVALENCIA LÓGICA
El orden del desarrollo se puede modificar mediante el uso de paréntesis, igual que en el álgebra
convencional. Se llevan a cabo primero las operaciones entre los paréntesis más internos y se conti-
núa hacia el exterior, hasta que todos los paréntesis se hayan terminado.
Considérese nuevamente un módulo que se diseña para llevar a cabo la adición binaria de 1-bit.
El circuito en el bloque de la figura 2-2 forma la suma binaria de las entradas X, Y y el acarreo
de entrada Q a partir de un módulo previo. Hay dos variables de salida: la suma S y el acarreo
de salida Co. La tabla de verdad en la que se especifica el proceso de adición que se lleva a cabo
dentro de la caja se presenta en la tabla 2.3.
Tabla 2.3
Con el fin de reconstruir la información en la tabla de verdad en forma de una ecuación boolea-
na, se desarrolla una ecuación para cada una de las dos columnas. Obsérvese que los renglones de
la tabla de verdad corresponden a combinaciones únicas de los valores de entrada. Por ejemplo,
el último renglón corresponde a la situación donde X es 1 y Y es 1 y Ci es 1. Si se hace 1 equivalente
a VERDADERO, se ve, a partir del último renglón de la tabla de verdad, que una condición para
que S (y Co) sean VERDADEROS es que X, Y y Ci sean todos verdaderos. Así, a partir del ejemplo
2.3, se tiene
S = XYCi (2.1)
La función booleana AND necesita que todas las variables involucradas sean VERDADERAS. Con
el fin de aplicar esto a una tabla de verdad con números 0 (FALSO) como entradas se hace uso de
la INVERSIÓN LÓGICA, como se muestra en el ejemplo 2.5. De este modo, se ve que es posible
escribir una expresión AND para cada renglón de la tabla de verdad. Por ejemplo, la ecuación
S = X'YC´i (2.2)
34 DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES I
corresponde al tercer renglón de la tabla 2.3 y se puede leer como "S será VERDADERA cuando
(si) X' y Y y C´i son todas VERDADERAS". Esto es equivalente a establecer que "S será VERDA-
DERA cuando X y C´i sean FALSAS y Y sea VERDADERA".
Se ve, a partir de la tabla de verdad, que hay más de una situación de entrada (renglón) donde
la salida correspondiente es 1 (VERDADERO). Aquí, la función booleana OR es útil puesto que
se ve que la suma (S) es un 1 (VERDADERO), si se presenta cualquiera de las situaciones físicas
de los renglones 2, 3, 5 u 8. Expresándolo algebraicamente,
S = X'Y' Ci + X'Y C´i + XY' C´i + XY Ci (2.3)
De manera similar, la salida Co se puede expresar como:
Co = X'YCi + XY'Ci + XY C´i + XYCi (2.4)
Si estas dos ecuaciones se toman juntas, contienen toda la información que está en la tabla de
verdad (tabla 2.3) puesto que especifican cuáles combinaciones de entrada (renglones) producen ls
en las dos columnas. Las columnas de entradas que no son ls deben ser Os; no pueden tener otro
valor puesto que el álgebra booleana es bivaluada.
EJEMPLO 2.7 Es posible escribir también una ecuación booleana á partir de la tabla de verdad usando todos
los renglones donde la columna de salida contiene un 0. Para el sumador considerado, la ecuación booleana
resultante sería para S' = 1 y C´o = 1 (equivalente a valores 0 en S y Co). Esto da
S' = X'Y' C´i + X'Y Ci + XY' Ci + XY C´i
C´o = X'Y' C´i + X'Y' C´i + XY C´i + XY C´i
Es útil dibujar un diagrama esquemático de la lógica que se va a diseñar. Este diagrama, en el que
se hace uso de símbolos lógicos estándar, es útil en la traducción de las ecuaciones lógicas a circuitos
funcionales.
Fig. 2-3
DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES I 35
Fig.2-4
La marca diagonal,* utilizada para indicar la inversión lógica (véase la figura 2-4), es un tercer
símbolo básico, muy útil para los diseñadores de circuitos lógicos, aunque no se ha adoptado um-
versalmente.
XOR
EJEMPLO 2.8 En la figura 2-6 se muestra cómo se puede usar la compuerta XOR para producir una INVER-
SIÓN LÓGICA.
Dada una variable A se puede pasar a través de la compuerta sin cambios o invertida, dependiendo del
valor lógico de la segunda variable la cual sirve como un interruptor controlado. Este comportamiento se de-
muestra con facilidad observando en la tabla de verdad del ejemplo 2.6, que cuando B = 0, F es idéntica a A y
cuando B = 1, F es el inverso lógico de A.
Fig. 2-6
Combinación de símbolos
Es posible combinar gráficamente los símbolos básicos para obtener una clara imagen de una fun-
ción lógica. Por ejemplo, la ecuación F = A'BC + AB'D + A'B'CD' se puede bosquejar como en la
figura 2-7.
*E1 símbolo que se mostró en la figura 2-4 sólo es un símbolo lógico. La implementación del hardware se expone en la sección
4.3.
36 DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES I
Fig. 2-7
Por otro lado, algunas veces es necesario obtener la ecuación booleana básica a partir de un
diagrama lógico dado. Considérese el circuito mostrado en la figura 2-8. La salida F se produce
mediante una compuerta OR Gi la cual tiene tres entradas: la variable E y las salidas de las com-
puertas AND G2 y G3. Por conveniencia, se empleará la misma designación para una compuerta y su
salida. De este modo, dependiendo del contexto, G2 se puede tomar como el identificador de una
compuerta en particular o como la salida que produce dicha compuerta. Teniendo esta convención en
mente, es sencillo escribir las ecuaciones lógicas a partir del diagrama.
Procediendo de derecha a izquierda, se tiene,
F = E + G2 + G3
G 2 = AB'D
G3 = ABC
Fig. 2-8
DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES I 37
F = E + AB'D + ABC
La importancia del diagrama lógico viene del hecho de que los fabricantes de hardware digital
diseñan circuitos electrónicos de acuerdo con la lógica que estos diagramas realizan (por ejemplo,
compuertas OR); el símbolo usado en circuitos es en general una aproximación cercana, o una
variante, del símbolo lógico. De este modo, el diagrama lógico se puede usar para calcular las ne-
cesidades de hardware igualando los símbolos lógicos con sus compuertas electrónicas correspondien-
tes. Adicionalmente, las conexiones entre los símbolos de un diagrama lógico pueden conducir
directamente a la especificación del alambrado entre los elementos del hardware. Puesto que la in-
terconexión de los componentes físicos requiere apegarse a las reglas de compatibilidad de varias
interfaces, el diagrama lógico también puede ser una ayuda importante para el diseñador en la iden-
tificación y solución de problemas potenciales de conexión.
Problemas resueltos
2.1 Constrúyase la tabla de verdad para una caja que acepta cuatro dígitos de datos y produce
los tres dígitos de paridad adicionales para la corrección de un sólo error en código Ham-
ming, como se muestra en la tabla 1.4. Sean los dígitos de datos D4, D3, D2, Di y los dígitos
de paridad P3 P2, P1.
Empleando el método mostrado en el ejemplo 2.1 llénese el lado izquierdo de la tabla de verdad
con todas las posibles combinaciones de entrada. Después, asígnense los valores a las tres variables
de salida siguiendo las reglas definidas mediante la tabla 2.4. Por ejemplo, considérese el cuarto
renglón, 0011. El grupo de paridad 1 se ve que tiene un número par de ls puesto que D1 = 1, D2 =
1, D4 = 0 y D3 no es miembro del grupo. Para tener la paridad impar se debe sumar un 1, y esto se
logra haciendo el bit de paridad P1 igual a 1. Continuando el análisis, D1 es el único miembro del gru-
po de paridad 2 el cual es un 1 de modo que la paridad del grupo es impar y P2 = 0. El bit P3 = 0
debido a que D2 es el único 1 en el grupo de paridad 3. El proceso continúa para cada renglón hasta
que se completa la tabla, como se ve en la tabla 2.4.
2.2 Muchas calculadoras y relojes digitales emplean exhibidores de siete segmentos para su sali-
da. Cada dígito de estos exhibidores está formado por siete barras de material semiconduc-
tor emisor de luz (o de cristal líquido que absorbe la luz) colocadas como en la figura 2-9b).
Estas barras se energizan en forma selectiva para proveer la exhibición visual del dígito de
seado. Por ejemplo, si se va a mostrar el dígito decimal 2, entonces se energizan los segmen-
tos a, b, g, e y d. Constrúyase una tabla de verdad para una lógica que recibe un dígito BCD
como entrada y produce siete salidas para manejar el exhibidor del dígito correspondiente.
La tabla de verdad (tabla 2.5) se crea acomodando el lado de entrada en orden binario ascendente,
que corresponde a los dígitos 0 a 9. El lado de salida muestra los segmentos que se "encenderán" para
formar un dígito seleccionado. Un 1 indica un segmento energizado (visible).
Obsérvese que, debido a que las entradas son dígitos BCD, hay seis combinaciones binarias sin
usar de lado de la entrada.
38 DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES I
Tabla 2.4
2.3 Muéstrese cómo puede ser reescrita una tabla de verdad a partir de ecuaciones booleanas,
construyendo la tabla de verdad correspondiente a:
Obsérvese que este proceso es el inverso del que se usó para obtener las ecuaciones (2.3) y
(2.4).
DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES I 39
Tabla 2.5
Tabla 2.6
Tabla 2.7
Nótese que el mismo resultado puede obtenerse aplicando los teoremas del álgebra booleana (véa-
se el problema 3.4).
2.7 Dadas las siguientes ecuaciones de salida, determínese la tabla de verdad del sistema.
W = AB'C + A'B'C + ABC
X = A'B'C + AB'C + ABC' + ABC
Y = ABC + ABC + AB'C + AB'C + ABC
W será VERDADERA en los siguientes casos de ABC: 001,101 y 110. X será VERDADERA para
ABC = 001, 101, 110 y 111. Y será VERDADERA para ABC = 000,001, 100, 101 y 111. Véasela tabla
2.9.
2.8 Un sistema lógico se va a diseñar con dos salidas (F, G) y tres entradas (W, X, Y). La salida
F será VERDADERA si un número impar de entradas son VERDADERAS. La otra salida
G será VERDADERA si sólo una entrada es VERDADERA. Constrúyase la tabla de verdad
y escriba las correspondientes ecuaciones booleanas.
Créese el lado de entrada de la tabla de verdad con el número conocido de entradas (3) y aplíquense
los criterios de diseño a cada renglón para obtener las entradas en la tabla correspondientes a la salida,
como se muestra en la tabla 2.10.
Las ecuaciones son determinadas escogiendo las combinaciones de los reglones de entrada (términos
AND) que corresponden a los ls de salida:
2.9 Dada la tabla de verdad mostrada en la tabla 2.11, escríbanse las ecuaciones booleanas des-
criptivas usando los términos donde la columna de salida contiene Os.
Las ecuaciones correspondientes a Os en las columnas de salida:
2.11 Escríbanse las ecuaciones booleanas para el decodificador de siete segmentos del problema
2.2.
Véase la solución del problema 2.2 y recuérdese que los renglones en la tabla de verdad correspon-
den a términos AND y que las columnas en cada salida corresponden a hacer una OR de estas ANDs
para cada salida.
2.12. Dibújese el diagrama lógico para la salida P1 del generador de paridad del problema 2.1.
Las entradas relevantes se obtienen directamente de los renglones de la tabla de verdad. Véase la
figura 2-10.
Tabla 2.12
Las dos expresiones booleanas relevantes se derivan directamente de la tabla de verdad [ecuacio-
nes (2.3) y (2.4)].
El diagrama lógico puede ser dibujado por inspección, como se muestra en la figura 2-11.
2.14 Escríbase la ecuación booleana que corresponde al diagrama lógico mostrado en la figura
2-12
Salidas Función
2.15 La lógica mostrada en la figura 2-13a se denomina medio sumador. Determínese su tabla
de verdad. También se muestra la combinación de dos medios sumadores para formar un
sumador completo (figura 2-136). Determínese la tabla de verdad para la lógica de la figura
2-136, y muéstrese que, de hecho, es un sumador completo capaz de aceptar un acarreo de
entrada (Ci) de un dígito de menor orden, y de generar un acarreo de salida (Co), como se
requiere en el siguiente dígito de mayor orden.
44 DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES I
Fig. 2-10
C(acarreo) = 1 sólo cuando A y B son 1. S(suma) = 1 sólo cuando A o B, pero no ambos, son ls.
Se observa que la lógica se apega a las reglas de suma de bits individuales, con un acarreo generado
sólo cuando dos ls aparecen simultáneamente en las entradas A y B.
DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES I 45
SUMA
ARCO DE SALIDA
Fig. 2-11
Fig. 2-12
46 DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES I
b) La tabla de verdad del sumador completo (tabla 2.13) se traza usando las siguientes variables
intermedias para facilitar el proceso:
La tabla 2.13 muestra que se genera un acarreo de salida en cualquier momento en que dos o más
entradas ls están presentes y que la suma de salida es 1 sólo cuando existe un número impar de ls de
entrada. Esto satisface las reglas de la suma binaria, como se describieron en la sección 1.4.
Fig. 2-13
2.16 En el diagrama mostrado en la figura 2-14, la caja representa un elemento lógico que produ-
ce una salida VERDADERA si y sólo si la mayoría de las tres entradas son VERDADERAS.
Dibújese el diagrama lógico equivalente para la caja.
Bosquéjese la tabla de verdad.
Tabla 2.13
Fig. 2-14
Fig. 2-15
48 DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES I
2.17 En el diagrama del circuito mostrado en la figura 2-16, las cajas representan elementos lógi-
cos idénticos a los descritos en el problema 2.16. Escríbase la expresión booleana para G.
El circuito 2 se comporta como una compuerta OR para C ' y D debido al 1 alambrado en una
entrada:
Este hecho se puede confirmar con una tabla de verdad o tomando como referencia las relaciones
booleanas básicas presentadas en el capítulo 3.
El circuito 3 funciona como una compuerta AND para F 1 y F 2 debido al cero alambrado:
G = F' 1 F 2 · 0 + F 1 F' 2 · 0 + F 1 F 2 · 1+ F 1 F 2 · 0
= F1 F2 = (C' + D)(A'BC + AB'C + ABC' + ABC)
Fig. 2-16
DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES I 49
Problemas suplementarios
2.18 Dibújese un diagrama lógico que represente la función F = (A'B + AD')'C. Las entradas disponibles
son A, B, C y D.
Fig.2-17
2.20 Constrúyase la tabla de verdad para un circuito que multiplica dos números de 2 bits (A1( Ao, y Bj,
Bo).
2.21 Escríbase un conjunto de ecuaciones booleanas para el multiplicador del problema 2.20.
2.22 Dibújese un diagrama lógico para las ecuaciones del problema 2.21.
2.23 Hágase la tabla de verdad y dibújese el diagrama lógico para el sistema especificado por las siguientes
ecuaciones booleanas:
2.24 Escríbase la tabla de verdad y las ecuaciones lógicas para un circuito que genera dígitos de paridad
para un código Hamming, como el descrito en la tabla 1.4.
2.25 Escríbase la tabla de verdad y las ecuaciones lógicas para un circuito que controla una luz (L) mediante
dos interruptores (A y B). La luz se enciende (VERDADERO) cuando A y B son VERDADERAS,
y cada interruptor puede encender o apagar la luz en forma independiente.
2.26 Determínense las ecuaciones booleanas y la tabla de verdad para el diagrama lógico mostrado en la
figura 2-18.
50 DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES I
Fig. 2-18
2.27 Escríbase la tabla de verdad para un sustractor de bits individuales que realiza la operación X — Y =
D. Procédase de una manera análoga a la que se empleó para desarrollar el sumador de bits individua-
les descrito en la sección 2.4. Utilice el concepto de “préstamo” para reemplazar “acarreo” y asúmase
que siempre habrá algo disponible para tomar el préstamo.
2.28 Empleando la tabla de verdad del sustractor de bits individuales creada en el problema 2.27, obténgan-
se las ecuaciones booleanas para las salidas.
2.29 Utilizando la tabla de verdad del sustractor de bits individuales creada en el problema 2.27 o las ecua-
ciones del problema 2.28, dibújese el correspondiente diagrama lógico.
2.30 Constrúyase la tabla de verdad para un sistema con tres entradas (A, B, C), y dos salidas (D, E), donde
D es VERDADERA si y sólo si un número impar de entrada es VERDADERO y E es verdadero cuan-
do al menos dos entradas son verdaderas.
2.31 Constrúyase la tabla de verdad para el sistema descrito por el diagrama lógico de la figura 2-19.
2.32 Escríbanse las ecuaciones booleanas para la lógica del problema 2.30.
2.33 Un sistema digital tiene cuatro salidas y cinco entradas, estas últimas con un número binario de 4 bits
y un bit de arriba/abajo (U/D). El número de entrada varía entre el equivalente binario de 3 y 12. Si
U/D es 0, la salida es el siguiente número binario mayor, y si U/D = 1, la salida es el siguiente menor.
La secuencia de números se cierra sobre sí misma de tal manera que una entrada de 12 producirá 3
a la salida y una entrada de 3 producirá 12. Llámense A, B ,C, D, U/D a las entradas y An, Bn, Cn,
Dn a las salidas, y dibújese la tabla de verdad para todas las combinaciones posibles.
DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES I 51
Fig. 2-19
Fig. 2-20
2.20 El mayor número de 2 bits es 11 (3 decimal); por lo tanto, el mayor producto será 9 decimal (1001
binario). Se necesitarán cuatro bits para el producto. Denotándolos como C3, C2, C1 y C0, se obtiene
la tabla mostrada en la tabla 2.14.
52 DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES I
2.21
2.22 Véase la figura 2.21. Debe observarse que algunos términos AND aparecen en más de una expresión,
pero sólo es necesario evaluarlos una vez.
Tabla 2.14
2.24 Dado que los bits de paridad dependen de los bits de datos, estos últimos se usarán como las
entradas. La tabla de verdad se muestra en la tabla 2.15.
DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES I 53
Fig. 2-21
54 DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES I
Tabla 2.15
2.25 L = AB; tanto AB' o A'B deben apagar la luz (L' = AB' + A'B). También, una operación
individual en un interruptor hace que AB o A'B' enciendan de nuevo la luz. Cualquiera de las dos
ecuaciones booleanas pueden ser usadas para describir la operación y producen la correspondiente tabla
de verdad mostrada en la tabla 2.16.
Tabla 2.16
DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES I 55
Fig. 2-22
2.26 F = ABC' + A' BC' + AB'C. La tabla de verdad se muestra en la tabla 2.17.
Tabla 2.17
56 DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES I
2.27 Sea B0 un "préstamo de salida", esto es, un préstamo requerido de un dígito de mayor orden. Sea
Bi un "préstamo de entrada", lo cual significa que el bit se ha tomado prestado. La tabla de verdad
es mostrada en la tabla 2.18.
Tabla 2.18
2.29
Fig. 2-23
DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES I 57
2.30
Tabla 2.19
2.31
Tabla 2.20
58 DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES I
2.33
Tabla 2.21
U/D A B c D An Bn Cn Dn
0 0 0 1 1 0 1 0 0
0 0 1 0 0 0 1 0 1
0 0 1 0 1 0 1 1 0
0 0 1 1 0 0 1 1 1
0 0 1 1 1 1 0 0 0
0 1 0 0 0 1 0 0 1
0 1 0 0 1 1 0 1 0
0 1 0 1 0 1 0 1 1
0 1 0 1 1 1 1 0 0
0 1 1 0 0 0 0 1 1
1 0 0 1 1 1 1 0 0
1 0 1 0 0 0 0 1 1
1 0 1 0 1 0 1 0 0
1 0 1 1 0 0 1 0 1
1 0 1 1 1 0 1 1 0
1 1 0 0 0 0 1 1 1
1 1 0 0 1 1 0 0 0
1 1 0 1 0 1 0 0 1
1 1 0 1 1 1 0 1 0
1 1 1 0 0 1 0 1 1
Capítulo 3
Diseño de circuitos lógicos
combinacionales II: manipulación
3.1 INTRODUCCIÓN
59
60 DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES II: MANIPULACIÓN
5. Cualquier variable lógica sujeta a la operación OR o AND con sí misma se mantiene sin cambio.
A+A=A (3.5a)
A·A=A (3.5b)
6. Cualquier variable lógica sujeta a la operación OR con su inversa produce como resultado un 1.
A + A' = 1 (3.6)
7. Cualquier variable lógica sujeta a la operación AND con su inversa produce como resultado un 0.
A · A' = 0 (3.7)
EJEMPLO 3.1 Los teoremas booleanos se pueden entender y recordar más fácilmente mediante el uso de una
analogía con circuitos eléctricos sencillos. Si se piensa en el 1 lógico como una trayectoria de conducción continua
del mismo modo que un interruptor cerrado, entonces es razonable que el 0 sea la no conducción o un interruptor
abierto. Cada función AND se puede entonces considerar como una conexión en serie de dos interruptores nor-
malmente abiertos, los cuales se cierran (conducen) cuando se operan los interruptores (véase la figura 3-1). Los
interruptores A y B deben operar los dos cuando la luz (L) esté encendida (VERDADERO). Si B = 0 (no activa-
do y por ende sin conducir), entonces la luz se debe apagar (FALSO) sin considerar el estado en el que está A,
y se ve que A · 0 = 0 (Teorema 4).
Batería
L = AB
Fig. 3-1
De manera similar, la función OR se puede visualizar como dos interruptores normalmente abiertos en para-
lelo (véase la figura 3-2). Los interruptores A o B pueden encender la lámpara por separado. Si B = 1 (activado
y conduciendo), entonces la luz se debe encender (VERDADERO), sin considerar el estado en el que está A,
y se ve que A + 1 = 1 (Teorema 1).
L = A+B
Fig. 3-2
DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES II: MANIPULACIÓN 61
La función de inversión se representa mediante un interruptor normalmente cerrado, el cual deja de condu-
cir (FALSO) cuando se opera (véase la figura 3-3). En el circuito de la figura 3-3, es claro que B debe operar
a través de una función AND conjuntamente con NOT A (A') con el fin de encender la lámpara (VERDA-
DERO).
L = A'B
Fig. 3-3
Si se desea, se puede representar cualquier función lógica combinacional mediante la apropiada intercone-
xión de interruptores normalmente abiertos y cerrados. Por ejemplo, la expresión booleana F = AB + B'C'
+ A'(C + D') se puede representar mediante el circuito mostrado en la figura 3-4, en la que, cuando hay conduc-
ción, representa la condición F = VERDADERO.
Fig. 3-4
La analogía de las funciones lógicas mediante interruptores, además de su utilidad como ayuda para visuali-
zación, posee un significado histórico importante. Antes de la invención de los dispositivos de estado sólido y
los circuitos integrados (1Cs), las funciones lógicas fueron realmente construidas con interruptores electromecá-
nicos (relevadores) y las primeras computadoras literalmente contenían miles de estos dispositivos interconecta-
dos mediante mazos de alambres. ¡El término "bug" (insecto), como se aplica a fallas de hardware o de soft-
ware, muestra que su origen se remonta a los años de la década de 1940 cuando, el malfuncionamiento de una
computadora se debió a un insecto muerto alojado entre dos contactos de un relevador!
62 DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES II: MANIPULACIÓN
Ley distributiva
A(B + C) = AB + AC (como en la álgebra ordinaria) (3.8)
Ley conmutativa
AB = BA (3.9a)
A(B + C) = (B + C)A (3.9b)
Teorema de absorción
ABC + ABC = AB(C + C) = AB (3.10)
Este teorema es muy útil en la reducción del número de términos en una expresión booleana.
Se puede comprobar su utilidad en los teoremas fundamentales 3 y 6. Un teorema útil relacionado es,
A + AB = A (3.11)
el cual se puede probar fácilmente empleando la ley distributiva y los teoremas fundamentales 1 y 3.
Teorema de De Morgan
Uno de los teoremas más importantes del álgebra booleana se puede expresar en dos formas relacio-
nadas:
AB = (A' + B')' (3.12a)
A + B = (A'B')' (3.12b)
De manera alternativa, el estudiante se puede familiarizar con la notación equivalente:
AB = (A + B) (3.13a)
A + B = AB (3.13b)
Remítase a la sección de Problemas resueltos para la prueba de este teorema. Una consecuencia del
teorema de De Morgan que se pasa por alto con frecuencia es que si un diseñador desea agregar
inteligentemente unas cuantas inversiones lógicas, entonces las ANDs se deben cambiar por ORs,
y viceversa. Esto significa que dentro de cada función AND también hay una OR, y se tiene que
cualquier hardware que pueda implantar una AND también puede hacer una OR con tal que se pue-
dan tener las suficientes inversiones lógicas.
3. Evalúense estos elementos para cada una de las combinaciones de las variables de entrada (ren-
glón).
4. Si para cualquier combinación de entrada los dos miembros de la ecuación son idénticos a los
valores en la tabla de verdad, entonces se prueba el teorema.
EJEMPLO 3.2 Pruébese mediante exhausión la ley distributiva, A(B + C) = AB + AC, que se muestra en la
tabla 3.1. Obsérvese que las dos columnas encerradas en un cuadro en la tabla 3.1 son idénticas para todas las
posibles combinaciones de las variables de entrada (es decir, para cualquier renglón de la tabla de verdad); de
este modo las funciones booleanas correspondientes A(B + C) y AB + AC deben ser lógicamente equiva-
lentes.
Tabla 3.1
El siguiente es un teorema muy eficaz que surge con frecuencia del álgebra booleana
A + A'B = A + B (3.14a)
y se puede probar fácilmente mediante el método de exhausión.
El intercambio de variable única produce una forma complementaria de una ecuación muy útil
también, la (3.14a)
A' + AB = A' + B (3.14b)
Los mapas K, tomando la ventaja excepcional del cerebro humano para el reconocimiento de patro-
nes, se pueden usar como una poderosa herramienta en la simplificación de expresiones booleanas.
Los mapas K están directamente relacionados con las tablas de verdad, y su obtención se describe
enseguida:
1. Se crea un mapa para cada una de las variables de salida de la lógica que se va a diseñar.
2. Las coordenadas del mapa aparecen sobre dos de los lados ortogonalmente y engloban un con-
junto completo de todas las posibles combinaciones de las variables de entrada, ordenadas en
la forma del código Gray.
a) Tabla de verdad
Fig. 3-5
DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES II: MANIPULACIÓN 65
3. Las entradas en el cuerpo del mapa son los valores de las salidas correspondientes a cada
renglón de la tabla de verdad.
Considérense los mapas asociados con las salidas, suma y acarreo de un sumador de un sólo
bit definido mediante la tabla 2.2.
En el mapa de la figura 3-5, cada entrada corresponde a un renglón de la tabla de verdad y
cada 1 corresponde a un término AND en la ecuación booleana para la variable de salida con la que
el mapa es asociado. Por ejemplo, el término encerrado en un círculo en el mapa de S tiene
las coordenadas X = 0, Y = 1 y Ci = 0. Esto corresponde al renglón 2 de la tabla de verdad y
el término AND X'YC'i en la expresión booleana para S (véase la sección 2.4).
El objetivo de codificar los ejes en Gray es para asegurar que las entradas adyacentes en el
mapa corresponderán a las entradas que difieren en el valor de sólo una variable. La utilidad de
este arreglo se discutirá brevemente.
EJEMPLO 3.4 La ecuación booleana completa para C o se puede leer directamente del mapa K correspon-
diente, escribiendo las coordenadas de cada uno de los ls en el mapa, enlazándolos mediante ORs. De este
modo, por inspección se obtiene a partir del mapa de Co en la figura 3-5:
C o = X'Y C i + XYC' i + XY C i + XY' C i
Fig. 3-6
66 DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES II: MANIPULACIÓN
Z
Y
C) F(W, X, Y, Z)
Fig. 3-7
Reglas de simplificación
Estúdiese el mapa e identifíquense tantos bloques de ls adyacentes como sea posible, apegándose a
las siguientes reglas:
1. Cualquier círculo o bloque debe contener sólo 2N ls, donde N es un entero.
2. No se pueden incluir Os en ningún bloque.
3. Los bloques se pueden traslapar, es decir, los ls se pueden incluir en más de un bloque.
4. Los bloques se pueden formar considerando que los límites opuestos del mapa son adyacentes,
es decir, los renglones superior e inferior y la primera y última columnas.
5. Generalmente, la mejor simplificación se obtiene buscando primero los bloques más grandes.
Aplicando estas reglas al mapa para F produce los círculos mostrados en la figura 3-8.
68 DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES II: MANIPULACIÓN
La expresión booleana simplificada se obtiene ahora por inspección. Cada bloque (encircula-
miento) de ls representa un término; así, hay tres términos que tienen variables que se identifican
fácilmente por sus coordenadas de bloque correspondientes. Lo encerrado en el círculo a), por
ejemplo, el de la primera columna, corresponde a Y = 0 y Z = 0. Puesto que W y X incluyen los
dos posibles valores, se ignoran en virtud del teorema de absorción. Los dos términos restantes se
obtienen de una manera similar, dando la siguiente ecuación en la que los bloques correspondientes
a cada término se indican mediante las letras entre paréntesis de la figura 3-8:
El método descrito se conoce como cobertura de ls. Recuérdese que el álgebra booleana se puede
emplear para formar una ecuación para la lógica inversa de una función escribiendo simplemente
una expresión que contenga los términos de los renglones de la tabla de verdad donde la salida es
0. En este caso se puede obtener una simplificación a partir del mapa K encerrando en un círculo
de bloques de 0s en lugar de ls y procediendo de la manera descrita. Este método se conoce como
cobertura de 0s y, en este ejemplo, da una expresión simplificada F' en lugar de F.
EJEMPLO 3.6 Obténgase la función simplificada F' a partir de una cobertura de Os del mapa de la figura 3-7c.
Véase la figura 3-9.
Fig. 3-9
DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES II: MANIPULACIÓN 69
Fig. 3-10
Fig. 3-11
70 DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES II: MANIPULACIÓN
Fig. 3-12
Puesto que esta ecuación es obviamente más sencilla que la que se obtiene sin el uso de los "tér-
minos no importa", parece razonable agregar una regla de cobertura adicional a la lista de reglas
de simplificación de la sección 3.4:
6. Los términos no importa pueden emplearse para extender la cobertura de bloques, pero no nece-
sitan ser cubiertos ellos mismos.
Es importante observar que no hay necesidad de cubrir algunas o todas las X, para tal fin. Se pue-
den tratar ya sea como ls o Os y usarlos como el diseñador lo crea más conveniente.
EJE DE REFLEXIÓN
Fig. 3-13
Las entradas WW son adyacentes en el sentido usual y dan un término reducido A'CD'E'. Las
entradas XX son simétricas con respecto al eje de reflexión. Una inspección muestra que difieren
sólo en la variable A, de modo que el término reducido es B'CD'E. Las entradas YYYY forman
un bloque de cuatro cuando se toma en cuenta el eje de reflexión y produce el término reducido
BCD.
Es posible extender el concepto de reflexión a seis y más variables, pero la identificación de
patrones se hace más complicada.
EJEMPLO 3.7 Un mapa de seis variables con dos ejes de reflexión se muestra en la figura 3-14. Las entradas
XXXX son simétricas con respecto a los dos ejes de reflexión y corresponden al término B'CE'F. Las ocho
entradas Y también son simétricas con respecto a ambos ejes de reflexión y corresponde a BCE. Las dos W
son simétricas sólo al eje de reflexión vertical y contribuyen con el término ligeramente simplificado ABC'EF.
Fig. 3-14
72 DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES II: MANIPULACIÓN
EJEMPLO 3.8 Un enfoque alternativo para el trazo de seis variables se muestra en la figura 3-15. Después
de acomodar los cuatro mapas (franjas o rebanadas) en el orden EF = 00, EF = 01, EF = 11 y EF = 10,
se definen las siguientes adyacencias:
WW Adyacencia sólo en la franja (mapa) inferior (dando el término B'C'DE'F')
YYYYYYYY Adyacencia con y entre las dos franjas (dando el término BDF)
XXXXXXXX Adyacencia con y entre las franjas superior e inferior (dando el término B'D'F). Nótese
que las dos entradas X en el mapa EF = 11 no se incluyen en este agrupamiento
ZZ Adyacencia entre las dos franjas del medio (dando el término A'BCD'F)
Fig. 3-15
Diseñando la OR exclusiva
Las funciones OR exclusiva tienden a proyectarse en un tablero patrón. Considérese el mapa de la
expresión booleana, F = (A ⊕ B) ⊕ (C ⊕ D) del problema 2.10, como se muestra en la figura
3-16. Puesto que no hay adyacencias, se concluye que la función dada está en su forma más simple
que se puede expresar.
Con mucha frecuencia, si un mapa se puede manipular en un tablero o un tablero patrón, la
función asociada se puede simplificar de manera muy efectiva empleando XOR.
Fig. 3-16
EJEMPLO 3.9 Dado el mapa de la figura 3-17, se desea obtener una simplificación óptima. La apropiada
asignación de los ls o Os a términos "no importa" en los últimos dos renglones puede crear un tablero patrón
correspondiente a la función trazada en la figura 3-16. Es interesante comparar este resultado con la expresión
que se obtiene mediante reducciones por adyacencia mostradas en la figura 3-18.
Problemas resueltos
3.1 Demuéstrese que A + A' = 1.
Puesto que la variable lógica A puede ser sólo 1 o 0, si A = 0, entonces A' = 1, y viceversa. De
este modo, el lado izquierdo de la expresión dada nunca puede tener dos 0s, y el resultado es obvio a
partir del teorema fundamental 1.
74 DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES II: MANIPULACIÓN
Tabla 3.2
2. A + B = (A'B'). Véase la tabla 3.3. Una vez más las dos columnas encerradas en una caja prueban
el teorema.
Tabla 3.3
Tabla 3.4
DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES II: MANIPULACIÓN 75
3.4 Muéstrese que las dos expresiones booleanas dadas son equivalentes, respectivamente, a la
función OR exclusiva y a su inversa como se establece en las ecuaciones (3.15) y (3.16).
AB' + BA' = A ⊕ B (3.15)
AB + AB' = A⊕B (3.16)
La ecuación (3.15) se verifica fácilmente por inspección de la tabla de verdad para A ⊕ B. La ecua-
ción (3.16) se puede probar mediante el teorema de De Morgan [ecuaciones (3.12a) y (3.12b)]:
A ⊕ B = AB' + BA' = (A' + B)(B' + A)
= AB' + A'A + BB' + BA
Puesto que las dos, A'A y BB', son 0 [ecuación (3.7)], mediante la ecuación (3.16) se obtiene la
identidad expresada.
3.5 Pruébese o refútese la siguiente identidad. Si ésta se prueba, ¿se tiene que ACD = 0?
A'C + CD + ABC = A'C + CD + ABC' + ACD
Tabla 3.5
76 DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES II: MANIPULACIÓN
Fórmese una tabla de verdad con las columnas para cada una de las variables y términos,
como se muestra en la tabla 3.5. LS indica el lado izquierdo (de la identidad) y RS el lado
derecho de la misma. La identidad se prueba por exhausión puesto que LS = RS para todas las
posibles combinaciones de las variables independientes. Obsérvese que esto no implica que
ACD es 0. Más bien, que el término es redundante puesto que es igual 1 sólo cuando el resto de
los términos son 1.
Tabla 3.6
La identidad se prueba puesto que las entradas indicadas por negritas en la tabla 3.6 corresponden para
todas las posibles combinaciones de las variables independientes A, B y C.
b) A(A + B'C) = A. Empleando exhausión se obtiene la tabla 3.7
Tabla 3.7
DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES II: MANIPULACIÓN 77
Tabla 3.8
3.7 Empléese un mapa K para probar que (AB + BC + A'C) = (AB + A'C).
El primer miembro de la expresión se representa como se muestra en la figura 3-19.
Fig. 3-19
Fig. 3-20
Todos los ls se toman en cuenta para las dos coberturas mostradas de modo que la función se
puede expresar mediante AB + A'C. Se ve que BC es redundante, como se demostró en el problema
3.3.
Fig. 3-21
3.9 Con el mapa desarrollado en el problema 3.8 se puede obtener una forma alternativa simpli-
ficada para F.
En la figura 3-22, CD' es el bloque rectangular de 4 x 1 de la cuarta columna. AB' es el bloque
rectangular de I x 4 del cuarto renglón. B'D' está definido por las cuatro esquinas, es decir, la
intersección del primer y cuarto renglones y la primera y cuarta columnas. La función es
F = CD' + AB' + B'D'
DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES II: MANIPULACIÓN 79
CD´
Fig. 3-22
3.10 Con el mapa desarrollado en el problema 3.8 obténgase una expresión simplificada para F'.
Remítase a la figura 3-23. La cobertura de Os mostrada produce la expresión deseada. Los térmi-
nos individuales se etiquetan en el diagrama para facilitar su identificación.
Fig. 3-23
3.11 Represéntese la función de cuatro variables que es VERDADERA siempre que tres o más
de las variables sean VERDADERAS, y escríbase la expresión booleana más sencilla
posible.
Dibújense los ejes del mapa empleando A, B, C y D como variables de entrada y cuéntese el núme-
ro de ts en las coordenadas de cada cuadro. Véase la figura 3-24. La mejor simplificación que se puede
hacer es cuatro coberturas de dos ls cada una, como se muestra en la figura 3-25. La función que resul-
ta es:
F = BCD + ABC + ACD + ABD
= AB(C + D) + CD(A + B)
80 DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES II: MANIPULACIÓN
Fig. 3-24
Fig. 3-25
3.12 Empleando los términos "no importa", obténgase y redúzcase la expresión booleana para
la salida del segmento b de un manejador de un exhibidor de siete segmentos que tiene entra-
das DCB. Véase el problema 2.2.
El mapa se obtiene a partir de la tabla de verdad del problema 2.2, el cual W, X, Y, Z representan
los cuatro bits de un dígito dado en BCD. Véase la figura 3-26.
Fig. 3-26
DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES II: MANIPULACIÓN 81
3.13 La expresión booleana para la salida b de un DCB a un circuito exhibidor de siete segmentos
contiene los términos Y'Z' + YZ. En la sección 3.5 se ve que la expresión para el segmento
a también contiene esta estructura. Demuéstrese que en lugar de usar tres compuertas, el tér-
mino se puede realizar con la inversión lógica y una OR exclusiva.
Bosquéjese la tabla de verdad para F = Y'Z' + YZ, como se muestra en la tabla 3.9.
Tabla 3.9
Nótese que F' es la función XOR de Y y Z (véase la sección 2.3), de modo que su inversa es la
función deseada F. El diagrama lógico del segmento b se puede así dibujar en forma simplificada, co-
mo en la figura 3-27.
Fig. 3-27
3.14 El mapa de una función de cinco variables se muestra en la figura 3-28. Obténgase una expre-
sión simplificada para F(A,B,C,D).
Fig. 3-28
82 DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES II: MANIPULACIÓN
Empléese un eje de reflexión y una cobertura de ls para obtener la siguiente función, cuyos térmi-
nos se etiquetaron en el mapa de la figura 3-29.
Fig. 3-29
3.15 Del mapa de cinco variables que se muestra en la figura 3-30 y que contiene algunos términos
"no importa" obténgase una simplificación tanto para los ls como para los Os.
Fig. 3-30
DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES II: MANIPULACIÓN 83
c) d) b) a)
Debe observarse que cada una de las mitades del mapa se pueden tratar independientemente, es
decir, las coberturas no necesitan ser simétricas con respecto al eje de reflexión [(a) y (d), por ejemplo].
EJE DE REFLEXIÓN
a) Las cuatro esquinas
(Mitad superior)
Fig. 3-31
a) BC'E c) B'C'E
BC'E + B'C'E = C'E(B + B´) = CE
84 DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES II: MANIPULACIÓN
Fig. 3-32
3.16 Se desea diseñar un sistema digital lógico combinacional que tenga la tabla de verdad que se
muestra en la tabla 3.10. Las entradas son A, B, C y D y la salida es F. Las X corresponden
a las combinaciones de las entradas que nunca se presentan y por lo tanto son estados "no
importa".
Tabla 3.10
DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES II: MANIPULACIÓN 85
a) Dibújese el mapa K, simplifíquese tanto como sea posible y escríbase la expresión boolea-
na resultante para F.
b) Dibújese el diagrama lógico correspondiente para la función simplificada F.
a) Las coordenadas del mapa K para cada 1 y cada "no importa" se leen fácilmente de la tabla
de verdad. El renglón 6, por ejemplo, dice que X se debe situar en A = 0, B = 1, C = l y
D = 0, el cual está localizado en la intersección del segundo renglón y la cuarta columna del
mapa mostrado en la figura 3-33. Simplificando, se obtiene la figura 3-34.
C + B1 D1
Fig. 3-35
86 DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES II: MANIPULACIÓN
Fig. 3-36
Mapa F
Fig. 3-37
Fig. 3-38
Es claro que la simplificación se puede lograr combinando los términos 1 y 3 en una cobertura
que englobe cuatro ls como se muestra en la figura 3-38. La ecuación resultante es
c) Los tres términos indicados en la ecuación anterior corresponden a las salidas de las compuertas
AND en el diagrama lógico de la figura 3-39.
88 DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES II: MANIPULACIÓN
Fig. 3-39
3.18 Se necesita diseñar un circuito lógico para verificar la paridad. Demuéstrese el uso de la com-
puerta OR exclusiva para tal propósito.
La verificación de paridad comprende el determinar la existencia ya sea de un número par o impar
de ls en una palabra binaria dada. La ausencia de paridad impar debe indicar un 0 binario o paridad
par; no existen otras posibilidades.
Considérese el circuito XOR mostrado en la figura 3-40. A + B produce un 1 cuando las dos en-
tradas son diferentes, o de manera equivalente, cuando hay un número impar de ls en la entrada de
la compuerta Gi. Después considérese G2. La salida F será un 1 si hay un número impar de ls a su
entrada, esto quiere decir que Gi debe producir un 1 cuando C es 0, o, si G! es 0, C debe ser 1. Se
presentan dos posibilidades:
1. Si G1 = 1, entonces A, B es impar (tiene un número impar de ls) y F puede ser 1 sólo si C = 0.
2. Si G1 = 0, entonces A, B es par o 0 y F puede ser 1 sólo si C = 1.
Fig. 3-40
DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES II: MANIPULACIÓN 89
En ambos casos, F puede ser 1 sólo si la entrada A, B, C tiene un número impar de ls (paridad
impar). Esto se demuestra claramente mediante la construcción de un mapa K para F como se muestra
en la figura 3-41. Considérese la posibilidad de agregar una tercera compuerta XOR.
3.20 Muéstrese que la salida de un sumador de un sólo dígito de la sección 3.4 se puede realizar
con OR exclusivas.
El mapa K para S es idéntico al de la función XOR de tres entradas del problema 3.18 lo cual
significa que las dos funciones tienen la misma tabla de verdad y deben ser equivalentes. Por lo tanto la
realización para la salida (suma) es como se muestra en la figura 3-44.
3.21 Empleando los bloques (cajas) definidos en el problema 2.16 encuéntrese y simplifíquese la
expresión para la lógica que lleva a cabo el sistema mostrado en la figura 3-45.
Fig. 3-45
Con la tabla de verdad que se obtuvo en el problema 2.16 y creando el mapa K apropiado se obtie-
ne la figura 3-46. Después de sustituir las variables indicadas, las expresiones lógicas resultantes para
la salida de cada uno de los bloques (cajas) se simplifican empleando el álgebra booleana:
Fig. 3-46
La expresión para Z se puede simplificar mediante su representación. Iniciando con T1, como se
muestra en la figura 3-47. Insertando los términos T2 y T3 en el mapa de T1 se obtiene el mapa com-
puesto que se muestra en la figura 3-48 a partir del cual se obtiene la función deseada:
Fig. 3-47
Fig. 3-48
3.22 Empleando la tabla de verdad para el manejador del exhibidor de siete segmentos desarrolla-
do en el problema 2.2, simplifíquese la lógica empleando mapas K.
En la figura 3-49 se muestran los mapas K. Un conjunto de soluciones es
92 DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES II: MANIPULACIÓN
a = W + Y + XZ + X'Z'
b = X' + YZ + Y'Z'
c = X + Y' + Z
d = W + XY'Z + X'Y + X'Z' + YZ'
e = X'Z' + YZ'
f = w + Y'Z' + XY' + XZ'
g = W + YZ' + X'Y + XY'
Debido a gran número de términos "no importa", hay muchos posibles arreglos. El conjunto par-
ticular de soluciones seleccionadas tiene la ventaja de la apariencia múltiple de términos individuales,
los cuales pueden ayudar a reducir la cantidad de compuertas. Con frecuencia la experiencia es un fac-
tor importante en la obtención de una simplificación óptima.
"g"
Fig. 3-49
DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES II: MANIPULACIÓN 93
Problemas suplementarios
3.23 Simplifíquense las siguientes funciones booleanas para minimizar el numero de variables y términos.
a) BCD + B'C + BCD'
b) (A + B)'(A' + BT
c) (A + AB' + CD)'
d) B'(B + C) + D' + CD
e) {A[B + QA'+ B)]}'
3.24 Para cada una de las funciones booleanas, encuéntrese el complemento y simplifíquese tanto como
se pueda.
a) [(AA' + B)']B
b) (AB + AC)
c) ABC + ACD + A'BC' + B'D
d) A'B' + DC'
3.25 Para el multiplicador de dos dígitos descrito en el problema 2.20, simplifíquense las ecuaciones de dise-
ño empleando mapas K y determínese las compuertas lógicas requeridas.
3.26 En el problema 2.24 se obtuvieron las ecuaciones booleanas para los dígitos de paridad de un código
Hamming sencillo. Encuéntrese una implantación para P3 empleando OR exclusivas.
3.27 En el problema 2.25, se desarrolló la tabla de verdad para el problema de encendido. Muéstrese el ma-
pa K y esbócese el diagrama lógico.
3.28 Simplifíquense las expresiones booleanas para el restador del problema 2.28.
3.29 Empleando el mapa K de la figura 3-50, hágase el mejor uso posible de los términos "no importa"
para simplificar la expresión para F. Asúmase que se desea el mínimo número de coberturas máximas.
Mapa "F"
Fig. 3-50
94 DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES II: MANIPULACIÓN
3.30 Empleando la tabla de verdad desarrollada en el problema 2.33, prodúzcanse los mapas K para las
salidas An y Cn y hágase el mejor uso posible de los términos "no importa" para simplificar las ex-
presiones booleanas. Empléese el mínimo número de coberturas máximas.
3.31 Se desea diseñar un circuito lógico combinacional que cause que una luz encienda cada vez que el equi-
valente decimal de una entrada binaria de 4 bits sea divisible entre 3. Se sabe que los números 0, 1,
7, 11 y 14 nunca se presentarán como entradas. Represéntese la función, simplificándola tanto como
sea posible con una cobertura de ls de Karnaugh, y dibújese el diagrama lógico.
3.32 Un sistema tiene cuatro entradas para producir una salida que sea VERDADERA si y sólo si un núme-
ro impar de las entradas son VERDADERAS. Diséñese un circuito lógico para satisfacer dichas especi-
ficaciones.
3.33 Un mapa de seis variables para una función Z se muestra en la figura 3-51. Obténgase una expresión
booleana simplificada para Z empleando un número mínimo de coberturas máximas.
3.34 Háganse los mapas K para un convertidor de código Gray de cuatro bits. Señálense los dígitos binarios
mediante D, C, B, A y los bit en Gray mediante W, X, Y, Z.
Fig. 3-51
3.35 Obténganse las expresiones booleanas simplificadas para el convertidor a código Gray de cuatro bits
del problema 3.34.
3.36 Empleando mapas K, demuéstrese que A'B + C'D' + A'B'C = C'A' + ABC + AC'D'.
3.38 Obténgase una forma alternativa para F = (B'C + AC + AD)' mediante el uso del teorema de De
Morgan y otra empleando álgebra booleana.
3.39 Obténgase la tabla de verdad para un dispositivo que produce una salida VERDADERA si y sólo si
una mayoría de sus tres entradas son VERDADERAS. Escríbase la ecuación booleana y simplifíquela.
Respuestas a los problemas suplementarios
3.23 a)C b)0 c) A'(C' + D') d) C + D' e) A' + B'
C2 = A1 AO' B1 + A1 B1 BO'
(Dos compuertas AND de tres entradas y una compuerta OR de dos entradas)
Puesto que ninguna de las coberturas de ls involucra a D1, se representa nuevamente la función con
tres variables.
Cuando las entradas D4, D3, D2 tienen un número par de ls, entonces los ls se presentan como entradas.
De esta manera se debe usar la configuración XOR con la adición de un inversor, como se discutió en el
problema 3.19 y se muestra en largura 3-53. Una compuerta XOR adicional con una entrada fija en
1 lógico actúa como el inversor requerido.
Fig. 3-53
Fig. 3-54
DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES II: MANIPULACIÓN 97
3.29 Puesto que el álgebra booleana no es una técnica de cálculo para problemas de minimización, algunas
soluciones son posibles. Lo que sigue es el mejor esfuerzo por parte del autor (véase la figura 3-55).
Fig. 3-55
Fig. 3-56
98 DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES II: MANIPULACIÓN
3.32 Una solución a través de XOR es particularmente compacta (véase la figura 3-58).
3.35 W = D
X = CD' + C'D = C ⊕ D
Y = BC + B'C = B ⊕ C
Z = AB' + A'B = A ⊕ B
3.37 Represéntese cada uno de los miembros de la función. El primer miembro es una cobertura de ls para
F (como se muestra en la figura 3-60). El segundo miembro (entre los paréntesis) es una expresión para
F' y, por lo tanto, una cobertura de Os. Una vez más, los dos mapas son idénticos indicando una equi
valencia lógica.
L = B1 D + BC + ABD1 L
Fig. 3-57
DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES II: MANIPULACIÓN 99
Fig. 3-58
W X Y Z
Fig. 3-59
Fig. 3-60
100 DISEÑO DE CIRCUITOS LÓGICOS COMBINACIONALES II: MANIPULACIÓN
Tabla 3.11
Las compuertas están disponibles en circuitos integrados (ICs), los cuales contienen desde unas
cuantas compuertas hasta miles de ellas en una sola pastilla (chip) de silicio. Las características fun-
cionales de un tipo de compuerta en particular normalmente se especifican por el fabricante mediante
una tabla de voltajes o corrientes de entrada/salida (E/S), que describen el comportamiento eléctrico
del dispositivo físico.
EJEMPLO 4.1 Uno de los tipos más comunes de hardware es la compuerta NAND, cuya tabla de E/S se
muestra en la figura 4-1. Aunque sólo se muestra una de tres entradas, estas compuertas se fabrican de más
entradas (véase el apéndice B). La tabla de E/S consiste de una lista de todas las posibles combinaciones de los
niveles de voltaje de entrada y sus correspondientes niveles de voltaje de salida.
Si se igualan los niveles de voltaje de la figura 4-1 con los valores lógicos VERDADERO o
FALSO, entonces la tabla de voltajes de E/S se puede interpretar como una tabla de verdad lógica
(véase la sección 2.2). Debido a que en los inicios del diseño lógico, los valores lógicos más comunes
se habían asignado de manera que el mayor valor de voltaje fuera igual a VERDADERO (H = 1 o
HT). Esta asignación se denomina lógica positiva.
101
102 HARDWARE Y LA CONVENCIÓN DE LA LÓGICA MIXTA
EJEMPLO 4.2 Representación de la lógica positiva de una computadora NAND de tres entradas. Asignando
H = 1 (lo que implica que L = 0) se obtiene la tabla de verdad que se muestra en la figura 4-2a. Obsérvese que
esta tabla de verdad no cumple con la definición de las compuertas OR o AND. Esto se interpreta como
una AND seguida de una inversión lógica (una AND negada o NAND por comodidad). El símbolo de la
NAND en la figura 4-1 indica la inversión lógica, mediante un pequeño círculo (burbuja).
Muchos diseñadores han abandonado la lógica positiva y han empezado a trabajar con un concepto
llamado lógica mixta. En este enfoque, la asignación de los valores lógicos a valores de voltaje no es
fija sino, en su lugar, lo dejan a juicio del diseñador.
HARDWARE Y LA CONVENCIÓN DE LA LÓGICA MIXTA 103
Considérese la representación lógica mixta de la compuerta NAND del ejemplo 4.1, donde se
asigna H = 1 [ALTO-VERDADERO (HT)] para las entradas y L = 1 [BAJO-VERDADERO (LT)]
para la salida. Véase la tabla 4.1.
Tabla 4.1
Esta tabla de verdad satisface con claridad la definición de una función lógica AND; es decir,
la salida es VERDADERA si y sólo si todas las entradas son VERDADERAS. En forma alternati-
va, si se hace una asignación donde L = 1 (LT) en las entradas y H = 1 (HT) en la salida, se obtiene
una tabla de verdad donde la salida es VERDADERA si una o más de las entradas es VERDADE-
RA. Véase la tabla 4.2.
Tabla 4.2
Hardware de una NAND usada como OR Hardware de una NAND usada como AND
Fig. 4-3
La media flecha se usa para indicar LT en el punto del circuito donde ésta aparece. Contraria-
mente, la ausencia de la media flecha indica HT. Algunos diseñadores prefieren emplear un peque-
ño círculo o burbuja como un indicador de LT, y muy a menudo, se usa una doble etiqueta
redundante con lo cual la designación de la señal (variable) es mediante los sufijos X o . H para
indicar sus valores verdaderos asociados. Estas formas alternativas se muestran en la figura 4-4.*
Un término que a menudo se utiliza como sinónimo de BAJO-VERDADERO es activo-BAJO
o verificado-BAJO. En este caso, los símbolos en la figura 4-4 se deben interpretar como la descrip-
ción de una compuerta OR con entradas verificadas-BAJO o una compuerta AND con una salida
verificada-BAJA.
*El anális de la tabla de verdad y la simbología para la compuerta NOR se presenta en la sección Problemas resueltos, 4.1.
HARDWARE Y LA CONVENCIÓN DE LA LÓGICA MIXTA 105
Con el fin de facilitar el uso de la lógica mixta como una herramienta de diseño, muchos dise-
ñadores emplean una diagonal (slash) para indicar la inversión lógica. La diagonal (presentada pri-
meramente en la sección 2.5) es un símbolo lógico especial que se interpreta como un cambio de
interés de una variable a su inverso lógico. Nótese que este símbolo no representa al hardware (dis-
positivo físico); es sólo un componente lógico. Sin embargo, tiene una relación con la convención de
la media flecha. Si la línea horizontal mostrada en la figura 4-5 se considera como parte de un
alambre de alta conductividad eléctrica (hardware), entonces, debido a las propiedades de los con-
ductores, si se aplica un voltaje dado en el extremo izquierdo del alambre, el extremo derecho debe
estar a este mismo voltaje. Supóngase, sin embargo, que se asignan 0 V para representar el estado
FALSO y un voltaje mayor, digamos 5 V, para representar el estado VERDADERO. Supóngase,
también, que se aplican 5 V en el extremo izquierdo del alambre. Habrá entonces un conflicto apa-
rente puesto que la diagonal forzaría a interpretar el extremo de la derecha como FALSO cuando el
extremo de la izquierda es VERDADERO, mientras que, al mismo tiempo, se estaría siendo im-
pulsado por las leyes de la naturaleza a esperar un voltaje alto en ambos extremos. La única manera
en la que estos dos requerimientos pueden concordar es designando al extremo izquierdo como HT y
al izquierdo como LT, o viceversa. Esto implica que toda diagonal trae asociada consigo una media
flecha la cual sirve como un puente entre la lógica y el hardware (véase la figura 4-6).
Lógica
Voltaje
Lógica
Voltaje
EJEMPLO 4.3 Dadas las variables lógicas A, B y C, que son todas HT, se desea dibujar un diagrama en lógica
mixta para la función F = A'BC empleando una compuerta (de hardware) NAND. La diagonal en la figura
4-7 indica la necesidad de crear A' en la realización final del hardware.
Fig. 4-7
106 HARDWARE Y LA CONVENCIÓN DE LA LÓGICA MIXTA
Hay un problema con la figura 4-7 si ésta se utiliza para representar el hardware. Se supone
que la compuerta va llevar a cabo una AND lógica. Cuando se implanta con una NAND de hardwa-
re, ésta producirá una salida BAJA (interpretada como VERDADERA) cuando se alimente con
entradas ALTAS. Las entradas B y C, designadas como HT, satisfacen los requerimientos de entra-
da, pero la tercera entrada a la compuerta no puede ser ALTA e interpretada como A' al mismo
tiempo puesto que la diagonal requiere que A' sea LT. Este problema se puede identificar con rapi-
dez al inspeccionar el diagrama observando que el segmento de línea entre la entrada de la
compuerta y la diagonal tiene una media flecha desbalanceada; es decir, hay una media flecha en
un extremo del segmento y no la hay en el otro extremo. Esto indica que aun cuando la lógica es
correcta, el valor verdadero de la entrada no lo es.
El inversor de voltaje
El problema del valor verdadero se puede resolver proponiendo un componente de hardware llama-
do inversor de voltaje el cual no es lógico. Su única función es producir un estado BAJO a su salida
cuando se tiene un estado ALTO a su entrada y un estado ALTO cuando su entrada es un estado
BAJO por medio de la conversión de LT a HT y viceversa. Los símbolos empleados en la lógica
mixta para representar este componente se muestran en la figura 4-8 donde, como en el caso de la
diagonal, existe una media flecha asociada.
Lógica Lógica
Voltaje Voltaje
b) Forma alternativa
Fig. 4-8
Como se puntualizó previamente, algunos diseñadores prefieren la burbuja para representar LT,
como se muestra en las figuras 4-4 y 4-8b. Puesto que no hay un acuerdo general sobre esta
convención, se usarán burbujas para indicar LT (en lugar de la inversión lógica) en algunos proble-
mas y medias flechas en otros. Se ha tenido mucho cuidado en evitar el uso de burbuja para indicar
la inversión lógica a menos de que se establezca claramente que se está empleando lógica positiva.
En la convención de lógica mixta se separan el hardware y las funciones lógicas de modo que la
operación que cambia de A.H a A'.H o de A.L a A'.L se represente sistemáticamente por dos enti-
dades: la diagonal (lógica) indicando la inversión lógica y el triángulo (en hardware) indicando la
conversión requerida LT-HT. Los símbolos aplicables a la lógica mixta se muestran en la figura 4-9.
HARDWARE Y LA CONVENCIÓN DE LA LÓGICA MIXTA 107
Fig. 4-9
Nótese que en adición a las medias flechas asociadas con la diagonal y el inversor, se han agre-
gado medias flechas a las líneas identificadas con variables LT. Lo que produce el apareamiento de
medias flechas sobre cada segmento de línea donde éstas aparecen. Una regla importante en
diagramas de lógica mixta apropiadamente construidos es que las medias flechas estarán siempre
balanceadas sobre cualquier segmento de línea dado.
Se pueden emplear compuertas NAND o NOR para implantar inversores de voltaje, como se
muestra en la figura 4-10. Cada uno de los circuitos mostrados alcanza los requerimientos de un
inversor de voltaje puesto que tienen entradas HT y salidas LT, y no se lleva a cabo lógica. Se puede
demostrar la última característica aplicando las identidades booleanas A • A = A, A • 1 = A, (A + A)
= A, y (A + 0) = A.
Inversores
Inversores NOR
Fig. 4-10
EJEMPLO 4.4 Uso de inversores. Supóngase que se desea implantar la función lógica F = A'BC + (BCD)'
donde las variables A, B, C y D están disponibles en HT. Se van a emplear compuertas NAND como las descri-
tas en principio en la sección 4.3.
Paso 1. Constrúyase el diagrama lógico empleando diagonales donde se requiera (véase la figura 4-11).
108 HARDWARE Y LA CONVENCIÓN DE LA LÓGICA MIXTA
Fig.4-11
Paso 2. Insértense medias flechas en las entradas y/o salidas apropiadas para el hardware seleccionado.
Recuérdese que hay una media flecha implícita asociada con cada diagonal (véase la figura 4-12).
Fig. 4-12
Paso 3. Identifíquese la necesidad de los inversores de voltaje observando el desbalance de las medias fle-
chas sobre cualquiera de los segmentos de línea conectados. Hay dos casos en este ejemplo: la inversión A'
sobre la línea de entrada a G1 y el segmento entre la entrada a G3 y la diagonal. Estos desbalances se resuelven
agregando los inversores de voltaje G4 y G5, como se muestra en la figura 4-13. Nótese que a medida que el
resultado final es correcto, las medias flechas asociadas con las diagonales pudieron haber sido ubicadas en uno
u otro lado: existirá la necesidad de un inversor de hardware en cualquiera de los casos. En general, es una
buena práctica mantener la asociación de las medias flechas con las variables LT.
HARDWARE Y LA CONVENCIÓN DE LA LÓGICA MIXTA 109
Fig. 4-13
Paso 4. Conviértase el diagrama en lógica mixta en uno de alambrado. Remuévanse las diagonales puesto
que representan únicamente operaciones lógicas y no elementos de hardware. Como se muestra en el apéndice B,
las terminales sobre el encapsulado de dos en línea (DIP, de Dual In Package) están conectadas a las entra-
das y salidas de los elementos lógicos de hardware. Las compuertas G1, G2 y G3 se seleccionan como elemen-
tos del chip 74HC10 que tiene tres compuertas NAND de tres entradas, mientras que G4 y G5 son dos de los
seis inversores del 74HC04. Cuando los números de terminales se agregan al dibujo, el circuito está listo para
ser alambrado (véase la figura 4-14). Nótese que G3 es una compuerta NAND de tres entradas que se ha con-
vertido a una de dos entradas mediante la conexión conjunta de las terminales 9 y 10.
Fig. 4-14
EJEMPLO 4.5 Implántese la función F = E + A'B(C + D)' con compuertas NAND. Las variables A, B,
D y E son HT, mientras que C y F son LT.
Paso 1. Dibújese un diagrama lógico empleando la convención de las diagonales (véase la figura 4-15).
110 HARDWARE Y LA CONVENCIÓN DE LA LÓGICA MIXTA
Fig. 4-15
Paso 2. Agréguense las medias flechas asociadas con las inversiones lógicas, el hardware seleccionado,
y cualquiera de las entradas y salidas LT, que se etiquetarán de manera redundante. (Véase la figura 4-16).
Paso 3. Balancéense las medias flechas con los inversores de voltaje. (Véase la figura 4-17).
Las compuertas G1 hasta G4 se toman del mismo chip 7400 que tiene cuatro compuertas NAND de dos
entradas; las compuertas G5 hasta G10 se toman de un 7404 que tiene seis inversores.
Es importante notar que G6, G7, G9 y G10 ilustran el uso de los inversores donde no hay la inversión lógica
correspondiente.
Una de las ventajas de la convención de la lógica mixta es que es fácil determinar qué lógica está
realizando un circuito a partir del diagrama de alambrado directamente. ¡Esto es particularmente
útil si se trata de determinar qué tenía en mente algún otro diseñador antes de que él o ella deje
la compañía! Para recuperar la expresión booleana fundamental a partir de un diagrama de lógica
mixta, simplemente se remueven todas las medias flechas y los inversores y entonces leer directa-
mente la lógica a partir del diagrama. El proceso se puede seguir fácilmente observando las figuras
4-15 a la 4-17 de atrás hacia adelante.
No todos los diseñadores emplean la técnica descrita en la sección 4.3 aunque ellos a menudo
hacen uso de los conceptos de la lógica mixta en la descripción de los circuitos lógicos. En tales ca-
sos, sólo se muestran los circuitos que hay en hardware dentro del diagrama, eliminando así la in-
versión lógica como un símbolo por separado.
EJEMPLO 4.6 Considérese el diagrama de alambrado del ejemplo 4.4 (figura 4-14) en el que se han eliminado
las diagonales. La lógica booleana fundamental se puede determinar asumiendo que una inversión lógica tiene
112 HARDWARE Y LA CONVENCIÓN DE LA LÓGICA MIXTA
lugar sobre cualquier segmento de línea con medias flechas desbalanceadas. De este modo, en la figura 4-19,
se ve que la inversión lógica tiene lugar sobre el segmento de línea entre A y G4 y entre G2 y G5, así como no
se tiene inversión lógica entre G1 y G3 o G5 y G3. El punto a mantener en mente es que en la convención de
la lógica mixta, un conjunto de medias flechas desbalanceadas puede interpretarse como una inversión lógica.
Fig. 4-19
EJEMPLO 4.7 La convención de la lógica positiva muestra solamente el hardware, asume que todas las señales
son HT y emplea burbujas para indicar la inversión de voltaje. En este esquema, que es muy común, las
compuertas NAND se representan por un sólo símbolo, como se muestra en la figura 4-1, sin considerar su
propósito lógico. Aplicando esta convención alternativa al circuito de la figura 4-19, se obtiene el resultado
mostrado en la figura 4-20. La expresión esperada para la función F se puede obtener aplicando el teorema
de De Morgan.
Fig. 4-20
HARDWARE Y LA CONVENCIÓN DE LA LÓGICA MIXTA 113
Nótese que en la convención de lógica positiva, todos los inversores de voltaje llevan a cabo la
inversión lógica. Debido a que esto requiere manipulaciones booleanas con papel y lápiz para obtener
las funciones OR debe ser claro que la convención de lógica positiva orientada a hardware mostrada
en el ejemplo 4.7 no se presta particularmente bien por sí misma para la identificación de la lógica
fundamental.
Es importante observar que hay varias convenciones lógicas actualmente en uso, y el estudiante
deberá tener cuidado de entender en particular la que se esté empleando en cualquier documento. El
tiempo que se utilice está bien empleado en términos de la prevención de errores.
La convención de la lógica mixta, en adición a la ayuda para determinar la ubicación de los inverso-
res de voltaje en una implantación lógica desde el punto de vista físico, también permite la preserva-
ción del diagrama lógico durante todo el proceso de diseño. La media flecha es particularmente
valiosa porque ayuda a determinar el voltaje asociado con VERDADERO en un punto particular del
circuito. Esta es información importante puesto que la localización de fallas se hace generalmente en
términos de los voltajes más que de la lógica.
EJEMPLO 4.8
a) En la figura 4-21, las señales de entrada lógicas W, X y Y varían con el tiempo, como se muestra. Hágase
un esquema de las salidas lógicas en los puntos A, B y F como función del tiempo.
Fig. 4-21
114 HARDWARE Y LA CONVENCIÓN DE LA LÓGICA MIXTA
Retirando las medias flechas y el inversor (que no lleven a cabo ninguna lógica), se ve que A = WX,
B = WX + Y y F = Y(WX + Y). Un poco de álgebra booleana revela que F se puede reducir a F =
Y lo cual, un estudiante astuto realizará, ¡se puede lograr en hardware con alambre! El lector debe apre-
ciar tales circuitos sólo por su valor ilustrativo y no quejarse mucho de los académicos y su aislamiento
del "mundo real''. Las formas de onda requeridas, alineadas con las entradas para su referencia, se mues-
tran en la figura 4-22.
Fig. 4-22
b) Si se usara un analizador lógico, que trata a las señales como ALTO-VERDADERO (HT), muéstrense
las formas de onda de los voltajes que se deben observar en las entradas y en los puntos A, B y F.
Puesto que Y, A y F son LT, las formas de onda de voltaje en estos puntos estarán invertidas en
relación a sus equivalentes lógicos (véase la figura 4-23).
HARDWARE Y LA CONVENCIÓN DE LA LÓGICA MIXTA 115
Fig. 4-23
Problemas resueltos
4.1 La compuerta NOR se define como un dispositivo que produce una salida ALTA si y sólo
si todas sus entradas son BAJAS. Escríbase la tabla de voltajes de E/S para el caso de tres
entradas. Escríbanse también las tablas de verdad y los símbolos (empleando la
convención de las medias flechas) para el dispositivo usado como una compuerta AND y
como una OR.
Fig. 4-24
116 HARDWARE Y LA CONVENCIÓN DE LA LÓGICA MIXTA
La tabla E/S de la compuerta NOR se muestra en la figura 4-24. Señalando las entradas LT y
una salida HT se obtiene la tabla lógica de verdad que se muestra en la figura 4-25, en la cual se ve
que cumple con la definición de la AND. Señalando las entradas HT y la salida LT produce la tabla
de verdad correspondiente a una OR (véase la figura 4-26).
Fig. 4-25
Fig. 4-26
Tabla 4.3
HARDWARE Y LA CONVENCIÓN DE LA LÓGICA MIXTA 117
Para la función AND hay sólo un caso donde la salida es VERDADERA, de tal forma que se
debe seleccionar el renglón 3. La función G será obviamente HT. A la entrada B se debe asignar LT
y a la entrada A HT, creando así la tabla de verdad de la AND que se muestra en la tabla 4.4. En la
tabla 4.3 se ve que para la función OR, G y A deben ser LT, mientras que B es HT. Por último, si
A se mantiene ALTA, entonces G será el valor opuesto de voltaje de B, satisfaciendo así los requeri-
mientos para un inversor. (Véase la tabla 4.5.)
4.3 Las compuertas NOR de tres entradas vienen en paquetes de tres en un chip. Combínense
estas compuertas tan eficientemente como sea posible para crear una función equivalente
a una OR de cinco entradas. Úsense los valores verdaderos más convenientes para las entra-
das y salidas.
Se pueden combinar dos compuertas OR de tres entradas para obtener una OR equivalente de cin-
co entradas (figura 4-27). La implantación, empleando compuertas NOR, se obtiene como se muestra
en la figura 4-28. El inversor requerido para balancear la media flecha entre las dos compuertas se puede
obtener uniendo las entradas de una compuerta NOR, como se muestra en la figura 4-29. Se requiere un
solo chip; las entradas son HT y las salidas son LT.
Fig. 4-29
118 HARDWARE Y LA CONVENCIÓN DE LA LÓGICA MIXTA
4.4 Implántese la función lógica del ejemplo 4.4 con compuertas NOR.
Un diagrama puramente lógico es independiente del hardware. Un diagrama de lógica mixta es
de hardware específico, sin embargo, incorpora medias flechas para indicar los valores verdaderos
apropiados, como se muestra en la figura 4-30. A fin de completar la implantación, se balancean las
medias flechas para determinar la posición de los inversores de voltaje requeridos (véase la figura 4-
31). Obsérvese que la implantación mediante compuertas NOR requiere tres inversores más que im-
plantan la NAND del ejemplo 4.4.
Fig. 4-30 Paso inicial para la creación del diagrama de lógica mixta de una NOR
4.5 Implántese el sumador completo del problema 2.13 usando compuertas NAND.
Véase la figura 4-32.
4.6 Implántese el sumador completo del problema 2.15, usando compuertas NAND, y hágase
uso de la compuerta OR exclusiva donde sea aplicable. Asúmase que A, B, C1 y Co son to-
das HT.
Véase la figura 2-13 y agréguese tantas medias flechas, como se requieran (véase la figura 4-33).
Puesto que todas las medias flechas están balanceadas, no son necesarios los inversores de voltaje.
HARDWARE Y LA CONVENCIÓN DE LA LÓGICA MIXTA 119
4.7 Repítase el problema 4.6 con compuertas NOR exclusivas reemplazando a las OR exclusivas.
Recuédese que las NOR exclusivas tienen salida LT.
Véase la figura 4-34. Obsérvese el requerimiento de inversores de voltaje adicionales.
4.8 Repítase el problema 4.6 con compuertas NOR para las ANDs y ORs.
Véase la figura 4-35. Obsérvese que en este caso se necesitan cinco inversores de voltaje.
Fig. 4-32
Fig. 4-33
120 HARDWARE Y LA CONVENCIÓN DE LA LÓGICA MIXTA
Fig. 4-34
Fig. 4-35
4.9 Repítase el problema 4.6 con A, B y C o todas LT, mientras que C i y S son HT.
Véase la figura 4-36
Fig. 4-36
HARDWARE Y LA CONVENCIÓN DE LA LÓGICA MIXTA 121
4.10 Dado el diagrama de hardware en lógica positiva mostrado en la figura 4-37, dibújense tres
equivalentes diferentes en lógica mixta.
Fig. 4-37
Fig. 4-38
Si se desea se puede determinar la lógica fundamental con la ayuda del teorema de De Morgan,
como se muestra en la figura 4-38. Aunque no es un paso necesario, es conveniente para propósitos
de comparación y para enfatizar cómo la salida se puede expresar de más de una forma. Recuérdese
que todo el hardware con inversión se puede remplazar, en representaciones de lógica mixta, mediante
la combinación de las diagonales y el inversor lógico:
1. Asúmase que todas las compuertas NAND llevan a cabo la función OR. Esto conduce al arreglo
mostrado en la figura 4-39. Obsérvese que la diagonal asociada con G3 agrega una media flecha
extra entre G1 y G4, mientras que por otro lado, hay una media flecha perdida en la rama del cir-
cuito directamente abajo. Para corregir los desbalances, se mueve esta diagonal y otras a las entra-
das, y se ajusta la posición de la media flecha, como se muestra en la figura 4-40. Este caso ilustra
claramente cómo se emplean las interpretaciones duales del proceso de inversión. Invertir G3 sólo
sirve para convertir de HT a LT sin ningún cambio lógico, mientras la diagonal aislada en la parte
inferior indica el proceso implícito de inversión lógica, que se presenta entre G2 y G4. Aquí se está
convirtiendo mentalmente la variable G2.H a su equivalente G´2.L, los cuales son, en realidad
una interpretación diferente del mismo nivel de voltaje.
Fig. 4-39
Fig. 4-40
Retirando las medias flechas y los inversores no cubiertos el diagrama lógico fundamental (fi-
gura 4-41) a partir del cual se puede leer
2. Asúmase que todas las compuertas NAND llevan a cabo la función AND. Esto conduce al arreglo
que se muestra en la figura 4-42. Ahora se agregan o remueven las diagonales, según se requiera
para balancear las medias flechas. Obsérvese que existen elementos lógicos únicamente y no alte-
ran la configuración básica del hardware. Véase la figura 4-43.
Fig. 4-41
G3
Fig. 4-42
Después de remover los inversores y todas las medias flechas, la expresión booleana para la
salida se ve que es F = (AB) • (AD) = (AB)' + AD, la cual es idéntica al resultado previo.
124 HARDWARE Y LA CONVENCIÓN DE LA LÓGICA MIXTA
3. Asúmase que G1 y G2 llevan a cabo funciones de AND y que G4 es una OR, como se pudo dedu-
cir a partir del resultado de la figura 4-38. En la figura 4-44 se ve que todas las medias flechas
están balanceadas y no se requiere manipulación adicional. Esta es la transformación más sencilla
de todas y da la expresión esperada por inspección. La habilidad para llevar a cabo transformacio-
nes en hardware entre lógica positiva y mixta es particularmente útil cuando se desea predecir las
formas de onda y estudiar los efectos de los retardos en el circuito (véase el capítulo 6).
Fig. 4-44
4.11 La dificultad relativa para decifrar la lógica fundamental a partir de un diagrama de hardwa-
re en lógica positiva se hace más evidente a medida que la complejidad del circuito se incre-
menta. La figura 4-45 muestra la versión en lógica positiva del circuito del ejemplo 4.5, véase
la figura 4-17. Determínese la lógica implantada.
Fig. 4-45
Nótese que la variable de entrada C.L se ha remplazado por su equivalente C'.H, y se ha especifica-
do una salida HT porque solamente se permiten las variables HT en la convención de lógica positiva.
Escribiendo expresiones intermedias sobre el diagrama, se obtienen los resultados mostrados en la fi-
gura 4-46, los cuales se pueden emplear para obtener la función deseada como sigue:
Fig. 4-46
Es muy provechoso comparar la relativa facilidad para decifrar la lógica de la figura 4-15 de este
ejercicio.
4.12 La lógica mostrada en la figura 4-47 tiene entradas que varían en el tiempo, como se
muestra en la figura 4-48. Trácense las formas de onda del voltaje de salida asumiendo
que los circuitos responden instantáneamente a los cambios de entrada. Las
variables A, B, C y D son todas HT.
Fig. 4-47
126 HARDWARE Y LA CONVENCIÓN DE LA LÓGICA MIXTA
Después de remover los inversores y las medias flechas del diagrama lógico, se puede determinar
fácilmente que F = AB + (C + D)' la cual, después de aplicar el teorema de De Morgan al segundo
término, da F = AB + C'D'. Esto es, F será VERDADERO si A y B son ambas VERDADERAS o
C y D son ambas FALSAS. También, a partir del diagrama lógico, G = B'(C + D)' o, de manera equi-
valente, G = B'C'D'. De este modo, G será VERDADERO solamente si B, C y D son todas FALSAS.
Las formas de onda de la salida lógica se obtienen haciendo 1 = VERDADERO, 0 = FALSO
y aplicando las ecuaciones booleanas básicas punto por punto, como se muestra en la figura 4-49.
Puesto que G está especificada como LT, la forma de onda de G debe estar invertida para obtener
el voltaje de salida deseado.
Fig. 4-49
HARDWARE Y LA CONVENCIÓN DE LA LÓGICA MIXTA 127
4.13 Se desea diseñar un circuito que produzca una salida (F) VERDADERA siempre que
dos o más de sus tres entradas A, B o C sean VERDADERAS. Asúmase que A y C son
HT, mientras que B y F son LT. Véase la figura 4-50.
a) Dibújese un mapa K y selecciónese la mejor cobertura de ls.
b) Implántese el diseño de la parte a) empleando compuertas NOR.
a) Súmense los ls en las coordenadas de cada cuadro del mapa y ubíquese un 1 en todos en
los que la suma de sus coordenadas es 2 o más. Véase la figura 4-51.
b) Agréguense las medias flechas y los inversores de voltaje necesarios, se obtiene la figura
4-52.
Fig. 4-50
a) Mapa K b) Lógica
Fig. 4-51
128 HARDWARE Y LA CONVENCIÓN DE LA LÓGICA MIXTA
Fig. 4-52
Fig. 4-53
HARDWARE Y LA CONVENCIÓN DE LA LÓGICA MIXTA 129
Fig. 4-54
Fig. 4-55
4.15 Diséñese la lógica para examinar dos números binarios de 2 bits (A2 A1 y B2 B1) y produzca
una salida VERDADERA si el número B2 B1 es mayor o igual que el número A2 A1. Las
variables A1 y A2 som LT, las dos, mientras que B2 y B1 y la salida son HT. Implántese con
compuertas NAND.
130 HARDWARE Y LA CONVENCIÓN DE LA LÓGICA MIXTA
Fig. 4-57
Fig. 4-58
HARDWARE Y LA CONVENCIÓN DE LA LÓGICA MIXTA 131
4.16 En la función booleana F(A, B, C, D) = [D(A + B'C)(AB + C')]' donde A, B y D son HT,
mientras que C y F son LT, implántese la lógica con elementos físicos que cuentan con una
tabla de voltaje E/S descrita como sigue: la salida es ALTA si y sólo si todas las entradas
son ALTAS.
El dispositivo físico con las características especificadas se puede representar en forma tabular,
como se muestra en la tabla 4.6. Haciendo H = T para entrada y salida, se obtiene una función AND,
como se muestra en la figura 4-59. La función OR se obtiene haciendo las entradas y la salida como
L = T (figura 4-60). El diagrama lógico se muestra en la figura 4-61, y su implantación en hardware
se presenta en la figura 4-62 empleando la convención de la lógica mixta. Obsérvese la proliferación
de los inversores. Con esta elección de hardware se necesita un inversor de voltaje cada vez que una
AND se conecta a una OR y viceversa.
Tabla 4.6
ENTRADAS SALIDA
X Y Z
L L L
L H L
H L L
H H H
X Y Z
F F F
F T F
T F F
T T T
Fig. 4-59
X Y Z
T T T
T F T
F T T
F F F
Fig. 4-60
132 HARDWARE Y LA CONVENCIÓN DE LA LÓGICA MIXTA
Fig. 4-61
Fig. 4-62
4.17 En el mapa mostrado en la figura 4-63 implántese la función empleando compuertas NAND
e inversores y después con compuertas XOR. Asúmase que la salida y todas las entradas son
HT.
Fig. 4-63
HARDWARE Y LA CONVENCIÓN DE LA LÓGICA MIXTA 133
a) Realización con NAND: Una cobertura de ls haciendo uso de todos los términos "no importa"
da F = AC + CD' + AD' + A'CD. La implantación se muestra en la figura 4-64.
Fig. 4-64
b) Realización con XOR: El mapa se puede poner en la forma de un tablero (estándar), indicativo
de la función XOR, mediante la apropiada elección de los términos "no importa"; es decir, 0s
en la primera columna y Os en la segunda. La función resultante es
Los términos entre paréntesis se reconocen como iguales a (C ⊕ D)' y (C ⊕ D), respectivamen-
te, como se muestra en el problema 3.4. Sea X = C ⊕ D. Entonces,
F = A'X' + AX
= (A ⊕ X)'
Fig. 4-65
134 HARDWARE Y LA CONVENCIÓN DE LA LÓGICA MIXTA
Problemas suplementarios
4.18 Implántese la función F = A'C'D' + BD' + BC con compuertas NAND.
4.19 En el mapa K de la función F mostrada en la figura 4-66 asígnense valores a los términos no importa
para hacer la mejor cobertura de ls y dibújese el diagrama lógico. Especifíquense entradas y salidas
LT o HT como se requiera para minimizar el número de inversores de voltaje para la implantación
con compuertas NAND.
Fig. 4-66
4.20 Implántese la función F = A(B + C) con compuertas NAND empleando inversores donde se requie-
ran. Se especifica que todas las variables (tanto entradas como la salida) son HT.
4.21 Supóngase que todos los inversores y las compuertas NAND del circuito del problema 4.20 se remue-
ven y se remplazan por alambres. Escríbase una expresión booleana para la lógica positiva que este
circuito debe producir. Una vez más asúmase que las entradas y la salida son HT.
4.22 Dada la función F = ABC + A'BD' + BC'D + ABC, simplifíquese la lógica asumiendo que los
cuatro primeros renglones de la tabla de verdad son términos "no importa" y que las variables se orde-
nan alfabéticamente, donde A es la más significativa. Dibújese un diagrama lógico con compuertas
NOR.
4.23 Implántese la lógica para el decodificador (manejador) de siete segmentos, que se desarrolló en el pro-
blema 3.22.
4.24 Diséñese la lógica para examinar dos números binarios de 2 bits (A2 Ai y B2 B^ y produzca una salida
VERDADERA si el número B2 B! es mayor que el número A2 A,. Implántese con compuertas
NAND, y defínanse las variables como LT o HT de modo que no se requieran inversores.
4.25 Dado el mapa K que se muestra en la figura 4-67, simplifíquese la lógica empleando una cobertura
de ls, e implántese con compuertas NAND. Empléese lógica mixta con la convención de las burbujas
para indicar LT.
HARDWARE Y LA CONVENCIÓN DE LA LÓGICA MIXTA 135
Fig. 4-67
4.26 Implántese la lógica del problema 4.25 empleando una cobertura de Os y compuertas NOR.
4.27 Implántese el multiplicador simplificado en el problema 3.25 con compuertas NAND y determínese
la cantidad de chips de integración a pequeña escala (SSI) requeridos para el diseño.
4.28 Empleando la ecuación para L, implántese el circuito para el control de la lámpara del problema 2.25
con compuertas NAND y XOR. Asúmase que los interruptores A y B son HT y que L es LT. Compáre-
se la cantidad de chips SSI empleados.
4.29 Repítase el problema 4.28, esta vez empleando la ecuación para L'.
4.30 Implántese, empleando compuertas NAND, el restador binario diseñado en los problemas 2.27-2.29,
asumiendo que las entradas y las salidas son todas HT. Estímese la cantidad de chips que se podrían
necesitar.
4.31 Empleando las ecuaciones booleanas simplificadas para el restador binario desarrollado en el proble-
ma 3.28, implántese el circuito con compuertas NOR y XOR, empleando entradas y salidas HT. Com-
párese la cantidad de chips con los resultados del problema 4.30.
4.32 Repítase el problema 4.31 si las entradas y las salidas son LT.
4.33 Determínese la ecuación lógica representada por el circuito mostrado en la figura 4-68.
Fig.4-68
136 HARDWARE Y LA CONVENCIÓN DE LA LÓGICA MIXTA
4.34 Para el convertidor de números de 4 bit binarios a Gray que se discutió en los problemas 3.34 y 3.35,
Obténgase una representación mediante XOR para las salidas y hágase un comentario sobre la estima-
ción de la cantidad de chips requeridos.
Los siguientes cuatro problemas demuestran cómo el hardware y los valores verdaderos asignados
afectan la topología del circuito y la complejidad.
4.35 Implántese la cobertura de Os del problema 3.38 empleando compuertas NOR. Asúmase que las va-
riables de entrada y salida son todas HT.
4.36 Implántese el circuito del problema 4.35 empleando compuertas NAND, una vez más, asúmase que
las variables de entrada y salida son todas HT. Compárense los resultados.
4.37 Las dos formas booleanas equivalentemente lógicas de los problemas 4.35 y 4.36 son:
F = (B'C + AC + AD)' = A'C 4 C'D' + A'B
Implántense las dos empleando compuertas NAND, asumiendo que B y F son LT, mientras que todas
las otras variables con HT. Compárense los resultados de uno y otro con los circuitos obtenidos en
los problemas 4.35 y 4.36.
4.39 Escríbase la expresión booleana representada por el circuito en lógica positiva, que se muestra en la
figura 4-69.
Fig. 4-69
4.40 Repítase el problema 4.39 para el circuito mostrado en la figura 4-70. Coméntese la relación entre este
resultado y el previo si Y se designa como LT.
Fig. 4-70
4.41 Dibújese un diagrama en lógica mixta para la implantación mediante compuertas NAND del circuito
en el problema 4.40.
HARDWARE Y LA CONVENCIÓN DE LA LÓGICA MIXTA 137
Fig. 4-71
4.19 Véanse las figuras 4-72 y 4-73. La cobertura mostrada en la figura 4-72 más las cuatro esquinas dan
F = C + B'D'.
Fig. 4-72
Fig. 4-74
4.22 F = AB + BC + A'D' y F = AB + BC + BD' son respuestas válidas las dos. El diseño en hardware
para el primer caso se muestra en la figura 4-75.
Fig. 4-75
HARDWARE Y LA CONVENCIÓN DE LA LÓGICA MIXTA 139
4.23 Véase la figura 4-76. Obsérvese que la convención de la burbuja LT está siendo empleada.
Fig. 4-76
140 HARDWARE Y LA CONVENCIÓN DE LA LÓGICA MIXTA
4.24 La especificación se puede incluir directamente dentro del mapa K, dando la función F = A2B2 +
A2´A1´B1 + Ai´B2B1. El circuito requerido se muestra en la figura 4-77.
Fig. 4-77
4.25 La simplificación mostrada en la figura 4-78 incluye una covertura de las cuatro esquinas, que se
omite de la figura por claridad. La implantación con compuertas NAND se muestra en la figura 4-79
en la que se usa la convención de la burbuja para LT. Se requieren tres chips (una compuerta doble de
cuatro entradas, cuatro compuertas de dos entradas y dos inversores).
Fig. 4-78
HARDWARE Y LA CONVENCIÓN DE LA LÓGICA MIXTA 141
Fig. 4-79
4.26 Véanse las figuras 4-80 y 4-81. Se necesitan dos chips (tres compuertas de tres entradas y un cuatro
de dos entradas).
Fig. 4-80
4.28 Usando L = AB + A'B'= (A'B + AB')' = (A ⊕ B)' produce las soluciones de la figura 4-83.
4.29 Usando L' = A'B + AB' = A ⊕ B, las soluciones mostradas son de la figura 4-84.
4.30 Véase la figura 4-85. La cantidad de chips es cuatro: una compuerta NAND doble de cuatro entradas,
dos compuertas NAND triples de tres entradas, un chip de inversores.
4.31 A partir del problema 3.28, D = X⊕Y⊕Bi y B0 = X'Y + X'Bi + YB¡. La implantación se muestra
en la figura 4-86. La cantidad de chips es tres: una compuerta NOR triple de tres entradas, cuatro com-
puertas NOR de dos entradas, inversores XOR tomados de otros chips.
Fig. 4-83
Fig. 4-84
144 HARDWARE Y LA CONVENCIÓN DE LA LÓGICA MIXTA
X Y Bi
Fig. 4-85
Fig. 4-86
HARDWARE Y LA CONVENCIÓN DE LA LÓGICA MIXTA 145
Fig. 4-87
Fig. 4-88
W=D=D⊕0
X = CD' + C'D = C ⊕ D
Y = B⊕ C
Z = A⊕ B
146 HARDWARE Y LA CONVENCIÓN DE LA LÓGICA MIXTA
Puesto que las XOR vienen cuatro en un chip, únicamente se emplea un chip aquí. Si, por otro lado,
se emplean las ecuaciones originales, se necesitan las siguientes compuertas
AND de cuatro entradas 8 compuertas 2 chips
OR de ocho entradas 1 compuerta 1 chip
AND de tres entradas 4 compuertas 1 chip (se emplea una OR de cuatro entradas para una)
AND/OR de dos entradas 3 compuertas 1 chip
OR de cuatro entradas 1 compuerta 1 chip
Puesto que todas las señales de entrada se requieren tanto en forma directa como complementada,
se necesita un chip de 6 inversores adicional. De este modo, se requieren seis o siete chips para un dise-
ño AND/OR.
4.35 F = (B'C + AC + AD)'; la forma de realizarlo se muestra en la figura 4-88.
Fig. 4-89
Fig. 4-90
HARDWARE Y LA CONVENCIÓN DE LA LÓGICA MIXTA 147
Este método emplea un inversor menos. Sin embargo, la trayectoria más larga de la señal pasa a
través de cuatro compuertas, mientras que en la figura 4-89, la trayectoria crítica en tiempo es de tres
compuertas (véanse los problemas 6.11-6.13).
4.37 Véanse las figuras 4-91 y 4-92. Obsérvese cómo la selección de la forma de la ecuación y/o los valores
verdaderos puede tener un impacto significativo sobre la eficiencia del diseño.
F = (B1 C + A C + A D)1
Fig. 4-91
F = A1 C + C D1 + A' B
Fig. 4-92
148 HARDWARE Y LA CONVENCIÓN DE LA LÓGICA MIXTA
4.38 Véanse las figuras 4-93 y 4-94. Se ve que el número y ubicación de los inversores requeridos depende
de la técnica de cobertura sobre el mapa seleccionada y las compuertas empleadas ya sea NAND o
NOR.
4.40 Y = (R' + FP). Puesto que Y.L = Y'.H, el resultado se hace idéntico al del problema anterior, lo
que indica que los dos circuitos se pueden interpretar como lógicamente equivalentes. Véase el proble-
ma 8.22 para una aplicación de esta lógica.
Fig. 4-93
Fig. 4-94
HARDWARE Y LA CONVENCIÓN DE LA LÓGICA MIXTA 149
4.41 Véase la figura 4-95. Obsérvese que es mucho más fácil obtener una ecuación booleana a partir de este
diagrama, en comparación con el de los dos problemas anteriores está en lógica positiva.
Fig. 4-95
Capítulo 5
Elementos MSI y LSI
5.1 INTRODUCCIÓN
A medida que la tecnología de los circuitos integrados (IC) avanza, hace posible acomodar más y
más compuertas en una pastilla (chip) de silicio y tener una interconexión entre ellas más eficiente
y confiable. Estos avances han permitido el desarrollo de circuitos lógicos en un sólo chip, diseña-
dos para llevar a cabo tareas cada vez más complicadas. Los chips resultantes necesitan mucho me-
nos espacio que un circuito equivalente hecho con compuertas individuales, y la tecnología ha pro-
gresado a partir de la pequeña escala de integración (SSI) hacia niveles de mediana escala de
integración (MSI), gran escala de integración (LSI) hasta llegar hoy en día a la producción de dispo-
sitivos a muy grande escala de integración (VLSI). Estos dispositivos son muy complejos, de modo
que una computadora completa que cuenta hasta con un millón de compuertas se puede construir
sobre una pieza de silicio, cuyo tamaño es comparable al de la uña de un dedo. En este capítulo
se describen con detalle tres dispositivos importantes que están en una categoría entre MSI y LSI,
el multiplexor, el decodificador y la memoria sólo para lectura (ROM), así como sus aplicaciones.
5.2 MULTIPLEXORES
Un multiplexor (MUX) es un dispositivo que tiene N entradas (líneas) de selección, 2N datos de en-
trada y una sola salida. Hay varios tipos de símbolos para representar al multiplexor, que actual-
mente compiten para su utilización en general; dos de los más comunes se muestran en la figura
5-1, los cuales representan una versión en la que se tienen ocho datos de entrada y tres líneas de
selección (consúltese el apéndice B). La entrada de habilitación (EN) se utiliza para activar al chip,
si ésta es VERDADERA, el dispositivo funciona normalmente para todas las entradas, mientras
que si es FALSA el chip no aceptará datos.
El multiplexor se puede tratar desde dos puntos de vista distintos. Primero, se puede considerar
como el equivalente de un interruptor mecánico rotatorio y, segundo, como un módulo lógico uni-
versal (ULM), que se puede utilizar para la implantación en general de funciones lógicas combina-
cionales, como lo hacen las compuertas interconectadas. En cualquier caso, es necesario examinar
la lógica interna del dispositivo para entender su operación.
150
ELEMENTOS MSI Y LSI 151
si hay N variables de selección, habrá 2N líneas que se pueden conectar a las entradas de la compuerta
AND. Cada compuerta AND tiene N + 1 entradas, una de las cuales es el dato de entrada como se
muestra.
El circuito se diseña de manera que el dato de entrada pase a la salida de su compuerta AND
asociada, cuando la combinación única de las variables de selección que dirige a esta compuerta
esté presente en las líneas de selección. En el caso de dos líneas de selección, se puede ver de la tabla
5.1 que para cada combinación de las variables de selección habrá una compuerta AND única que
tiene sus entradas de selección (no de datos) ambas en VERDADERO al mismo tiempo.
Tabla 5.1
Entradas de selección
DATOS DE
ENTRADA
ENTRADAS DE
SELECCIÓN
Control de interruptores
(Entradas de Selección)
Fig. 5-3
ELEMENTOS MSI Y LSI 153
Fig.5-4
154 ELEMENTOS MSI Y LSI
EJEMPLO 5.1 Multiplexores como interruptores de datos. El circuito que se muestra en la figura 5-4 tiene
cuatro multiplexores con entradas de selección comunes. Las salidas de estos dispositivos sirven como entradas
a otro multiplexor, de este modo el circuito global se comporta como un solo multiplexor con 16 entradas de
datos. Tal arreglo se denomina árbol de multiplexores.
Si las entradas de selección son S3S2S1S0 = 1101, determínese cuál línea de datos se conectará a
F · S1S0 = 01 puntos de la entrada de datos 1 del multiplexor 5 a través del cual se conectará a la salida del
multiplexor 2. De manera similar, S3S2 = 11 apunta a la entrada 3 del multiplexor 2 la que se conecta a la
señal J. Así la entrada de selección 1101 conecta la salida F a la entrada J.
EJEMPLO 5.2 Muéstrense las conexiones de datos requeridas para que la salida F de un multiplexor esté rela-
cionada con sus entradas de selección A, B y C mediante la expresión booleana F = A'B'C' + A'BC + ABC.
Cada cuadro del mapa K contiene el valor de la función lógica F determinada por la combinación única
de las variables de entrada con las que el cuadro está asociada. Si se piensa en estas variables como las entradas
de selección de un multiplexor, entonces cada cuadro del mapa K contiene el valor de la salida del multiplexor,
la cual corresponde a una combinación en particular de las variables de selección (la dirección).
En la figura 5-5, se ve la función dada sobre un mapa K cuyos cuadros se numeran con el equivalente
en decimal de la dirección binaria para ayudar a asociarlas con los correspondientes datos de entrada del multi-
plexor.
Sobre el mapa K, el cuadro especificado mediante ABC = 011 contiene un 1 que indica que F es VERDA-
DERA para esta combinación de entradas. La condición corresponde al segundo término de la ecuación dada.
Con el fin de obtener en la salida del multiplexor un 1 cuando las entradas de selección son ABC = 011, sólo
es necesario conectar el dato de entrada 3 al voltaje correspondiente a VERDADERO o 1 lógico, como se
muestra ya que F será conectado lógicamente a esta entrada cuando la combinación de las variables de selec-
ción sea ABC = 011.
Las conexiones de los datos restantes se determinan en forma similar. Por ejemplo, las líneas 1, 2, 4,
5 y 6 se deben conectar a 0 lógico ya que los cuadros en el mapa K especificados mediante 001, 010, 100,
101 y 110 todos contienen 0s.
Obsérvese que cuando se emplea un multiplexor para implantar lógica combinacional, no se requiere el
proceso de simplificación del mapa K.
Fig. 5-5
ELEMENTOS MSI Y LSI 155
EJEMPLO 5.3 En el mapa K de la figura 5-6, muéstrese que se puede obtener una implantación de la lógica
del multiplexor más eficiente si se emplea una entrada de selección menos que el número de variables de diseño.
Fig. 5-6
Paso 1. Selecciónese un multiplexor con una entrada de selección menos que las variables de diseño exis-
tentes. En este ejemplo, escójase un multiplexor con tres entradas de selección.
Paso 2. Elíjanse tres variables de diseño cualquiera para usarlas como variables de selección. En este caso
se elijen arbitrariamente A, B y D de las cuatro posibles. Si la elección no está determinada por alguna restric-
ción de diseño de mayor prioridad, debe ser tal que simplifique el análisis tanto como sea posible de manera
que se minimice la posibilidad de error, como se demuestra en el problema 5.5.
Paso 3. Considérense, en secuencia, los efectos de varias combinaciones de selección sobre el mapa y el
multiplexor (consúltese la figura 5-7).
ABD = 000. Se refiere, a las dos primeras localidades de la parte superior izquierda en el primer renglón
del mapa. Puesto que hay un 1 en las dos localidades, se ve que F = 1 sin considerar el valor de C. En el multi-
plexor, la combinación de selección ABD = 000 hace que el dato de entrada Do se conecte a F. De este modo
la línea de datos (0) de la parte superior debe estar alambrada a un voltaje que corresponda al 1 lógico, como
se ha demostrado.
ABD = 001. Véanse las dos localidades de la parte superior derecha. Puesto que ambas son 0, F = 0
sin tomar en cuenta el valor de C. En el multiplexor, el dato de entrada D, se conectará a F. Así la línea de
datos 1 se debe conectar a un voltaje correspondiente a 0 lógico.
ABD = 010. Esta vez, la referencia en el mapa difiere. Puesto que F = 0 cuando C = 0 y F = 1 cuando
C = 1, se ve que F = C. En el multiplexor, el dato de entrada D2 se conectará a F. Puesto que la lógica dada
requiere que F = C, la línea de datos 2 se debe conectar a la línea que lleva a la variable C.
ABD = 101. Una vez más, la referencia en el mapa difiere. Ya que F = 0 cuando C = 1 y F = 1 cuando
C = 0, de modo que se concluye que F es el inverso lógico de C. En el multiplexor, la línea de datos 5 debe
ser conectada a C.
El multiplexor completamente alambrado se muestra en la figura 5-7, y se debe ser claro, en este punto,
que los datos de entrada sólo pueden ser 0, 1, C o C. El análisis de las conexiones restantes se deja al estudian-
te.
Se debe aclarar que hay una relación entre las expresiones booleanas, las tablas de verdad, los
mapa K y los multiplexores y que, dado un multiplexor de tamaño apropiado para el número de
variables, se puede implantar cualquier función.
Estos dos elementos MSI están estrechamente relacionados. El demultiplexor es un multiplexor in-
verso, en el sentido de que toma una sola entrada y la distribuye a una o varias salidas de datos,
156 ELEMENTOS MSI Y LSI
ABD = 000
F = 1 sin considerar
el valor de C.
Fig. 5-7
de acuerdo con el estado de las variables de selección. Hay 2N salidas de datos para N selecciones.
La estructura lógica es muy similar a la que se muestra en la figura 5-2 y en la tabla 5.1, excepto
que todas las entradas de datos están unidas y hay una compuerta OR. El símbolo lógico se muestra
en la figura 5-8 la cual, presenta la combinación miltiplexor-demultiplexor.
EJEMPLO 5.4 Multiplexación por división de tiempo. Un solo medio de transmisión será compartido por
cuatro usuarios (suscriptores). Esto se puede lograr mediante el uso de un demultiplexor, como se muestra
en la figura 5-8. En el demultiplexor, Lo hasta L3 representan las salidas individuales (líneas de suscriptor),
mientras que Sld y S0d son las entradas de selección empleadas para determinar la ruta a la salida.
Obsérvese que el arreglo ilustrado se puede considerar como un sistema de telecomunicaciones sencillo
en el cual cualquier fuente se puede conectar a cualquier destino a través de un solo canal de transmisión.
MULTIPLEXOR DEMULTIPLEXOR
Fig. 5-8
En la figura 5-9 se muestra esquemáticamente una ROM. Consiste de una lógica, que es equivalente
a un decodificador de direcciones (N = 3 en el ejemplo actual) y un conjunto de compuertas OR
que tienen un fan-in muy alto (gran número de entradas por compuerta). La única línea vertical
en la entrada de cada compuerta OR representa, en realidad, las 2N entradas a la compuerta, ha-
biendo una para cada línea direccionada (salida del decodificador).
Se obtiene un estado VERDADERO en una línea del decodificador correspondiente al número
de dirección de entrada. Esta línea se puede conectar a cualquiera de las entradas sobre una o más
de las compuertas OR. En el diagrama, la marca ■ indica una conexión hecha y O indica una posi-
ble conexión que no se ha hecho (símbolo opcional). En el ejemplo de la figura 5-9, hay ocho líneas
del decodificador y cuatro compuertas OR, de manera que el número total de conexiones posibles
es 8 x 4 = 32.
Si se recuerda que el decodificador completo es un arreglo de compuertas AND, cada una con
las entradas conectadas a una sola combinación de bits de direcciones las cuales usan efectivamente
a la dirección para "activar (key on)" una línea de la tabla de verdad, se ve entonces que el decodifi-
cador corresponde del lado de las entradas de una tabla de verdad. Una variable de salida será 1
si una o más de las líneas de selección correspondientes a los renglones de la tabla de verdad se co-
nectan a una compuerta OR, habiendo una compuerta OR por separado para variable de salida
independiente. La lista de conexiones para una compuerta OR dada se puede interpretar como una
columna de salida de la tabla de verdad. De esta manera, una ROM se puede interpretar como la
158 ELEMENTOS MSI Y LSI
Tabla 5.2
SALIDAS
Fig. 5-9
Decodificador
ELEMENTOS MSI Y LSI 159
representación en hardware de una tabla de verdad, y se puede emplear para implantar lógica com-
binacional, como se ilustra en la tabla 5.2 la cual representa las conexiones mostradas en la figura
5-9.
En forma alternativa, la ROM se puede considerar como un dispositivo de memoria con los
datos almacenados como un patrón de conexiones correspondiente a una dirección dada. Usual-
mente, una conexión se considera como un 1 y la ausencia de conexión como un 0. El patrón de
conexiones a lo largo de una línea de dirección dada se denomina el "contenido" de la dirección
y consiste del dato almacenado ahí. En la figura 5-9, si se considera que W es el bit más significativo
y Z el menos, entonces se ve que la dirección contiene 1011 en binario o B en hexadecimal. El dato
se recupera inicializando apropiadamente los bits de la dirección y haciendo la lectura en la salida
de las compuertas OR.
Fig 5-10
160 ELEMENTOS MSI Y LSI
EJEMPLO 5.5 ROM para la conversión de código binario a Gray. La ROM, como un dispositivo de memoria,
se puede ver como una búsqueda en una tabla. El conjunto de entradas binarias de la tabla de verdad
(B3B2B1B0 en la tabla 1.1) se emplean como las direcciones de la ROM, y los números codificados en Gray
correspondientes a cada entrada binaria se almacenan en la dirección correspondiente, como se muestra en
la figura 5-10. Se ve que la información en la tabla de verdad efectivamente se busca mediante las entradas
de selección.
Problemas resueltos
5.1 Dibújese el diagrama lógico de un multiplexor que tiene tres entradas de selección.
Determínense las conexiones de las compuertas AND formando el lado izquierdo de la tabla de
verdad como la que se muestra en la tabla 5.1 (véase la tabla 5.3).
Obsérvese que cada renglón tiene una combinación única de tres ls. Las conexiones correspon-
dientes se muestran en la figura 5-11.
Tabla 5.3
ELEMENTOS MSI Y LSI 161
Fig.5-11
Fig. 5-14
5.3 Repítase el problema 5.2. Esta vez empléense A, C y D como entradas de selección.
El mapa con los agrupamientos revisados se muestra en la figura 5-15, y el multiplexor alambrado
correspondiente se muestra en la figura 5-16.
ELEMENTOS MSI Y LSI 163
ACD = 010
Fig. 5-15
5.4 Repítase el problema 5.2, empleando un multiplexor con datos de entrada que consisten de
ls y 0s alambrados.
En este caso, todas las variables se emplean como entradas de selección y cada combinación selec-
cionada representa un solo cuadro en el mapa K, el cual selecciona inequívocamente una entrada co-
rrespondiente del multiplexor. Puesto que el multiplexor tiene cuatro entradas de selección, es del do-
ble de tamaño del multiplexor empleado en los problema 5.2 y 5.3. Los resultados tabulados se
presentan en la tabla 5.4.
5.5 Hágase el mapa K correspondiente al multiplexor que se muestra en la figura 5-17 en el que
Z es el bit de selección menos significativo.
Para el caso en el que las entradas de selección son X = 0, Y = 1 y Z = 0, se seleccionará la
línea de datos 2 y W se dirige hacia F. De este modo, F será igual a 0 cuando W = 1, y F será 1 cuando
W = 0; una relación que se puede expresar como f1 = W'X'YZ' es uno de los términos producto en
la expresión booleana total para F. Cuando XYZ = 001, se selecciona la línea 1, y se ve que la función
es igual a 1 sin considerar el valor de W. Esta condición se expresa como f2 = WX'Y'Z + W'X'Y'Z
o, de forma equivalente, F = 1 · X'Y'Z. La función lógica completa F se puede formar mediante un
análisis similar para cada una de las combinaciones de entrada, omitiendo todas las combinaciones
en las que la salida da 0. La expresión booleana resultante es F = X'Y'Z + W'X'Y'Z' + W'X'YZ' +
WX'YZ + WXY'Z' + WXYZ' la cual se puede representar ahora como se muestra en la figura 5-18.
Un método extremadamente sencillo consiste en arreglar el mapa K de manera que dos de las tres
variables de selección (X y Y en el presente ejemplo) estén en renglones o columnas adyacentes y la
tercera (Z) tenga sus ls o 0s apareados, como se muestra en la figura 5-19. Si se hace esto, será fácil
agrupar las entradas y llenar el mapa por inspección. Véase el ejemplo 5.3 y el problema 5.2.
164 ELEMENTOS MSI Y LSI
Tabla 5.4
S3 S2 S1 S0 Línea
A B C D de datos DATOS
0 0 0 0 0 1
0 0 0 1 1 1
0 0 1 0 2 1
0 0 1 1 3 0
0 1 0 0 4 0
0 1 0 1 5 1
0 1 1 0 6 0
0 1 1 1 7 1
1 0 0 0 8 0
1 0 0 1 9 1
1 0 1 0 10 0
1 0 1 1 11 0
1 1 0 0 12 1
1 1 0 1 13 1
1 1 1 0 14 1
1 1 1 1 15 0
ELEMENTOS MSI Y LSI 165
Obsérvese que aun cuando los mapas de las figuras 5-18 y 5-19 aparecen diferentes, en realidad
contienen la misma información. La lección que se aprendió aquí es que la dificultad de un problema
con frecuencia se puede incrementar o disminuir significativamente mediante el sencillo reordenamien-
to de las variables o su presentación.
5.6 Encuéntrese una realización equivalente única con un multiplexor para la lógica que se mues-
tra en la figura 5-20. Se requiere un multiplexor de gran tamaño.
La salida de M, es F1 = AC'D' + BC'D + CD'. La salida de M2 es F2 = A'B'C' + A'B +
ABD. Entonces F = F1 + F2, que se representa en la figura 5-21. Escogiendo arbitrariamente ABC
como entradas de selección, esto conduce a la realización que se muestra en la figura 5-22.
Fig. 5-18
Fig. 5-19
166 ELEMENTOS MSI Y LSI
Fig. 5-20
5.7 Diséñese una ROM que multiplique dos números binarios de 2 bits.
Llámense a los números de entrada A1A0 y B1B0 y fórmese la tabla de verdad necesaria para re-
presentar el producto de 4 bits (véase la tabla 5.5). Si se tratan a los números de entrada como las va-
riables de la dirección y se asigna cada salida 1 a una compuerta OR, las conexiones requeridas se pue-
den leer directamente de las columnas de la tabla de verdad, como se muestra en la figura 5-23. Puesto
que los círculos indican que las conexiones no hechas (sección 5.4) son redundantes, se omiten.
5.8 Diséñese un programa para una ROM que convierta de código Gray a binario.
La secuencia de números del código Gray se reacomoda en orden binario ascendente para que sir-
va como el lado de entrada de la tabla de verdad, la cual ya se discutió en el capítulo 2 (véase a la tabla
2.1). Se sabe que esta secuencia se puede interpretar también como la lista de direcciones de una ROM
y que cada uno de los dígitos binarios correspondiente a una entrada particular de código Gray se alma-
cena en una localidad única de la ROM y aparece como salida cuando su dirección con la que está rela-
cionado se sitúa en las líneas de selección. La tabla de verdad práctica se muestra en la tabla 5.6 y la
ROM correctamente alambrada en la figura 5-24.
5.9 Dado el diagrama de hardware que se muestra en la figura 5-25, diséñese una ROM equiva-
lente.
Obsérvese que hay dos casos de medias flechas desbalanceadas. Puesto que se da un diagrama
de hardware, se debe lograr el balance de las medias flechas sin agregar ningún hardware. Esto se puede
hacer mediante el uso apropiado de la inversión lógica, o las diagonales (un elemento que no es de hard-
ware), las cuales redefinen la verdadera polaridad (LT o HT) en su punto de inserción. El proceso se
168 ELEMENTOS MSI Y LSI
Fig. 5-23
puede entender mediante la revisión del material de la sección 4.3 en conjunto con la interpretación
de los inversores de voltaje y su relación con el proceso de inversión lógica. El diagrama balanceado
resultante se muestra en la figura 5-26 en el cual se emplea la convención alternativa de la burbuja en
lugar de las medias flechas.
Una vez logrado el balance, remuévanse todas las burbujas y los inversores de hardware (no las
diagonales) para exponer el diagrama lógico fundamental que permite la lectura de la expresión boo-
leana deseada por inspección:
F = W'X'Z' + W'X(Y ⊕ Z) + WX'YZ + WX(YZ)'
= W'X'Z' + W'XYZ' + W'XY'Z + WX'YZ + WXY' + WXZ'
El mapa K resultante y la ROM se muestran en la figura 5-27.
ELEMENTOS MSI Y LSI 169
Fig. 5-24
170 ELEMENTOS MSI Y LSI
Fig. 5-25
Fig. 5-26
5.10 Implántese la lógica que se muestra en la figura 5-28 con un solo multiplexor. A
partir del diagrama lógico, se ve que la ecuación booleana es
F = XZ' + WYZ + W'X'Z + W'YZ' + WXY
Mediante la representación, se obtiene la figura 5-29. Obsérvese en la figura 5-29 que el término
WXY es redundante ya que todos los ls incluidos en los círculos no lo contienen. A partir del mapa
se obtiene la tabla 5.7, de la cual se pueden hacer ahora las conexiones del multiplexor que se muestra
en la figura 5-30.
ELEMENTOS MSI Y LSI 171
Fig. 5-27
Fig. 5-28
172 ELEMENTOS MSI Y LSI
Fig. 5-29
Tabla 5.7
Fig. 5-30
ELEMENTOS MSI Y LSI 173
Fig. 5-33
5.11 Dado el circuito del multiplexor que se muestra en la figura 5-31, diséñese una lógica equiva-
lente empleando compuertas NAND.
Por ahora, el estudiante debe ser lo suficientemente hábil para hacer el mapa K directamente a
partir del multiplexor. El proceso se puede facilitar, si se hace una tabla similar a la tabla 5.7.
Puesto que la meta es una realización mediante compuertas NAND, es razonable proceder con
una simplificación para reducir el número de compuertas. El mapa K con una efectiva cobertura de
ls se muestra en la figura 5-32 y la función es F = AB + CD + BD'. El diagrama lógico resultante
con compuertas NAND se muestra en la figura 5-33.
174 ELEMENTOS MSI Y LSI
Fig. 5-36
5.12 Diséñese un multiplexor para verificar la paridad de una palabra digital de 4 bits; es decir,
el circuito debe producir una salida verdadera si el número de ls en la palabra es impar.
Habrá cuatro variables independientes y una dependiente (figura 5-34). Expresando la función
y agrupando las entradas como en el problema 5.5, se tiene la figura 5-35. Entonces, mediante el em-
pleo de A, B y C como las entradas de selección del multiplexor, se obtiene el arreglo que se muestra
en la figura 5-36.
5.13 Dado el diagrama de hardware que se muestra en la figura 5-37, implántese la lógica equiva-
lente con un solo multiplexor.
La lógica se puede descifrar fácilmente si primero se balancean las burbujas y se agregan las inver-
siones lógicas, como se muestra en la figura 5-38. Después de retirar todas las burbujas y los inversores
de hardware (dejando las diagonales no distribuidas), la ecuación booleana se puede leer directamente
del diagrama lógico que queda como
F = XZ' + WYZ + W'X'Z + W'YZ' + WXY
ELEMENTOS MSI Y LSI 175
Fig. 5-37
Fig. 5-38
176 ELEMENTOS MSI Y LSI
Fig. 5-41
ELEMENTOS MSI Y LSI 177
Fig. 5-44
Fig. 5-45
ELEMENTOS MSI Y LSI 179
5.15 Encuéntrense las expresiones simplificadas para cada una de las salidas de la ROM que se
muestra en la figura 5-45.
Las funciones se pueden representar directamente a partir de las conexiones de la ROM (figura
5-46).
5.16 Dada la ROM que se muestra en la figura 5-47, determínese la dirección en la que se almace
na el número hexadecimal El. Considérese la alternativa de emplear círculos sólidos para
indicar las conexiones.
Agrupando en cuartetas, se obtiene que $E1 = (1110)(0001), el cual se ve que está almacenado
en la línea 6, la dirección en binario es WXYZ = 0110.
Fig. 5-46
180 ELEMENTOS MSI Y LSI
Fig. 5-47
Problemas suplementarios
5.17 Dado el circuito del multiplexor que se muestra en la figura 5-48, fórmese una lógica equivalente em-
pleando compuertas NAND SSI.
Fig.5-48
ELEMENTOS MSI Y LSI 181
Fig. 5-49
5.18 Implántese la lógica que se muestra en la figura 5-49 mediante un multiplexor con tres entradas de se-
lección.
5.19 Implántese la lógica del multiplexor que se muestra en la figura 5-50 con compuertas NAND y minimi-
ce el número de compuertas tanto como sea posible. Se puede asumir que se dispone de todas las entra-
das tanto en forma directa como lógicamente invertidas (HT).
5.20 Implántese una lógica de verificación de paridad para el bit P3 del código Hamming para corrección
de errores del problema 3.26. Empléese un mapa de la ecuación booleana sin simplificaciones y un mul-
tiplexor de tres entradas de selección.
5.21 Repítase el problema 5.20 empleando un mapa simplificado y un multiplexor de dos entradas de selec-
ción.
5.22 Implántese la solución para el multiplicador de 2 bits del problema 3.25 empleando multiplexores y
compárese la cantidad de chips SSI utilizados en la solución que se obtuvo en el problema 4.27.
5.23 Implántese la solución del restador binario del problema 2.27 empleando multiplexores. Compárese
la cantidad de chips SSI utilizados en la solución que se obtuvo en el problema 4.30.
182 ELEMENTOS MSI Y LSI
Fig. 5-50
5.24 Implántese la solución del restador binario del problema 5.20 empleando un multiplexor con tres en-
tradas de selección. Compárese su resultado con la solución del problema 5.23.
5.25 En la figura 5-51, A y F son los bits más significativos. Viendo el circuito como un dispositivo de me-
moria, ¿cuáles son los números binarios almacenados en 1011 y 0101?
5.26 Viendo el circuito de la figura 5-51 como un dispositivo lógico, dibújese el mapa K para la variable
J y simplifíquese la función.
5.27 Dada la ROM alambrada que se muestra en la figura 5-52, implántese la lógica para la salida F con
un multiplexor de tres entradas de selección empleando W, X y Z como las variables de selección. Tó-
mese W como el bit más significativo.
5.28 Diséñese un circuito multiplexor con tres entradas de selección cuya salida sea VERDADERA si y sólo
si un número par de sus cuatro entradas son VERDADEROS.
ELEMENTOS MSI Y LSI 183
Fig. 5-51
Fig. 5-52
184 ELEMENTOS MSI Y LSI
Fig. 5-53
Fig. 5-54
ELEMENTOS MSI Y LSI 185
5.29 Diséñese una ROM para verificar la paridad de una palabra digital de 4 bits. Es decir, el circuito debe
producir una salida VERDADERA si el número de ls en la palabra es impar. Asúmanse que los dígitos
binarios son A, B, C y D, siendo A el más significativo.
5.30 Implántese la solución para el manejador del exhibidor de siete segmentos del problema 2.2 empleando
una ROM.
5.31 Tratando la ROM que se muestra en la figura 5-53 como un elemento de memoria, determínese el con-
tenido de todas las direcciones.
5.32 Tratando la ROM que se muestra en la figura 5-53 como un componente, como el que se muestra en
la figura 5-54, determínese la salida del sistema (Z1, Z2) para la entrada mostrada.
5.33 Véase el problema 2.2, implántese la lógica del manejador del decodificador de siete segmentos em-
pleando un multiplexor de tres entradas de selección.
Fig. 5-55
186 ELEMENTOS MSI Y LSI
5.34 Los multiplexores de ocho entradas vienen en un chip. Si un multiplexor cuesta 25 centavos de dólar,
una ROM 1.25 dólares y el costo de instalación y prueba de cualquier chip 35 centavos de dólar, com-
párese el costo de la implantación mediante multiplexores del manejador de un exhibidor de siete seg-
mentos completo (problema 5.33) con el de la implantación mediante una ROM (problema 5.30).
5.35 Considérese la red de conmutación que se muestra en la figura 5-55. ¿Qué señales se deben aplicar a
las entradas de selección para conectar b con N?
5.36 Considérese la red de conmutación que se muestra en la figura 5-55. ¿Qué conexiones hay que hacer
cuando las señales de selección están dadas por
s 1 ,s 2 ,s 3 ,s 4 ,s 5 ,s 6 ,s 7 ,s 8 = 01110101
5.37 Para la red de conmutación que se muestra en la figura 5-55, estímese el número de chips requeridos
para implantarla con compuertas SSI individuales. Compárese esto con la implantación mediante mul-
tiplexores, observando que vienen dos multiplexores de cuatro entradas en un chip. Refiérase a la figu-
ra 5-2 y la sección 5.3.
5.38 Para los dos diseños competitivos del problema 5.37, cada chip de compuertas cuesta 20 centavos de
dólar y cada multiplexor o demultiplexor doble cuesta 80 centavos de dólar. Si el costo de instalación
y prueba de cualquier chip es de 35 centavos de dólar y cada chip ocupa 1 in2 de espacio, compárense
los costos y espacio requeridos para cada una de las dos implantaciones y determínese el precio del
multiplexor para emparejar los costos.
5.39 Un diseñador está considerando el emplear una ROM para implantar el multiplicador binario de 2 bits
del problema 4.27. Un chip de compuertas cuesta 20 centavos de dólar y 35 centavos adicionales de
instalación y prueba. Si cuesta 85 centavos de dólar instalar y probar una ROM, ¿cuál es el máximo
precio que se puede pagar por una ROM para emparejar el costo relativo del diseño con compuertas
individuales?
5.40 Se dispone de una ROM comercial relativamente barata de ocho direcciones y ocho salidas. ¿De cuán-
tas posibles conexiones se dispone?
ELEMENTOS MSI Y LSI 187
Fig. 5-56
Fig. 5-57
5.19 Véase la figura 5-58. Obsérvese que la variable A se ha retirado para que no tenga efecto en la salida.
Fig. 5-58
188 ELEMENTOS MSI Y LSI
Fig. 5-59
5.21 Véase la figura 5-60.
Fig. 5-60
5.22 Véase la figura 5-61. Obsérvese que sólo se usan cuatro chips comparado con los cinco en el caso SSI
optimizado del problema 4.27.
5.23 Véase la figura 5-62.
5.24 La solución se muestra en la figura 5-63. Puesto que los multiplexores de tres entradas de selección
se empacan de uno por chip, se requieren dos chips. Sin embargo, no se necesitan inversores y el proble-
ma de distribución de partes se puede facilitar mediante este enfoque.
5.25 1001, 1100.
5.26 Véase la figura 5-64. J = C + B'D + A'D' o J = C + A'B' + A'D'.
5.27 Véase la figura 5-65.
ELEMENTOS MSI Y LSI 189
Fig. 5-61
X Y Bi D Bo
0 0 0 0 0
0 0 1 1 1
0 1 0 1 1
0 1 1 0 1
1 0 0 1 0
1 0 1 0 0
1 1 0 0 0
1 1 1 1 1
Fig. 5-62
190 ELEMENTOS MSI Y LSI
X Y Bi D Bo
0 0 0 0 0
0 0 1 1 1
0 1 0 1 1
0 1 1 0 1
1 0 0 1 0
1 0 1 0 0
1 1 0 0 0
1 1 1 1 1
Fig. 5-63
0 1 1 0 D
A B 0 0 1 1 C
0 0 1 1 1 1
0 1 1 0 1 1
1 1 0 0 1 1
1 0 0 1 1 1
Fig. 5-64
Fig. 5-65
ELEMENTOS MSI Y LSI 191
5.28 Véase la figura 5-66.
Fig.5-66
5.29 Véase la figura 5-67.
Fig. 5-67
192 ELEMENTOS MSI Y LSI
Fig. 5-68
5.31 Véase la tabla 5.8.
Tabla 5.8
Dirección Contenido Dirección Contenido
0 AC 8 BF
1 60 9 F5
2 D9 10 0A
3 D3 11 6B
4 66 12 88
5 97 13 C4
6 3F 14 28
7 40 15 0E
5.32 Z 1 = 0, Z 2 = 1.
5.33 Véase la figura 5-69.
5.34 Costo de la implantación con multiplexores = 7($0.25 + $0.35) = $4.20 (dólares); costo de la implan-
tación con ROM = $1.25 + $0.35 = $1.60.
Fig. 5-69
5.37
Tipo de compuerta Número Contenido de chip chips necesarios
3-entradas 36 3 compuertas 12
4-entradas 4 2 compuertas 2
Inversores 18 6 compuertas 3
Total = 17
Multiplexores 4 2 2
Demultiplexores 5 2 3
Total = 5
5.38 Diecisiete chips de compuertas a un costo de 3.40 dólares y de 5.95 dólares para instalación; el costo
total = 9.35 dólares. El requerimiento de espacio es de 17 in2. Cinco chips de multiplexores o demul-
tiplexores con un costo de 4.00 dólares y se requiere 1.75 dólares para la instalación; el costo total =
5.75 dólares. El espacio requerido es de sólo 5 in2. Los precios de los dos diseños se emparejan si el
costo de los multiplexores es de 1.52 dólares (ignorando la ventaja de espacio).
5.39 Son necesarios cinco chips, a partir del problema 4.27; de este modo, el costo para el enfoque de las
compuertas individuales es de 2.75 dólares, lo cual permite un precio tope de 1.90 dólares para la
ROM.
5.40 28 x 8 = 2048. El dispositivo se conoce como ROM de 2K, puesto que hay aproximadamente 2000
posibles conexiones.
Capítulo 6
Diagramas de tiempo
6.1 INTRODUCCIÓN
194
DIAGRAMAS DE TIEMPO 195
(tpd), se especifica por el fabricante del hardware en sus hojas de datos y tiende a ser una constante
que se aplica a todas las compuertas del mismo tipo.
Con frecuencia se asume que, para propósitos del análisis lógico de microtemporización, toda
compuerta en el sistema tiene una idéntica unidad de retardo de propagación. El diagrama de mi-
crotemporización toma en cuenta estos retardos de propagación para mostrar el comportamiento de
un sistema siguiendo un cambio específico en una o más de sus entradas, suponiendo que ocurren
en t = 0.
Fig. 6-1
196 DIAGRAMAS DE TIEMPO
6. Cada cambio en la salida de alguna de las compuertas, si se presenta, se trata ahora como un
cambio en la entrada de cualquiera de éstas a las que este cambio se conecta, y se repite el paso 5.
7. El proceso termina cuando ninguna salida de las compuertas ha cambiado.
EJEMPLO 6.1 Asúmase que los dispositivos físicos (compuertas e inversores) en el circuito lógico de la figura
6-1 tienen retardos de propagación idénticos. Todas las entradas y las salidas en este ejemplo se consideran
HT e, inicialmente, A, B, C y D son todas 1s. En t = 0, C cambia a 0 lógico. Dibújese el diagrama de microtem-
porización lógico apropiado, y conviértalo para exhibir las formas de onda de voltaje.
La separación de las formas de onda (particularmente si se dibujan a mano) de alguna manera se hace
menos confusa si se sombrean los estados que representan el 1 lógico como se muestra en la figura 6-2.
Fig. 6-4
f
En este mapa, la transición del estado inicial± ali estado final± se presenta en la frontera de
dos coberturas que no se traslapan. En general, con el fin de determinar si el cambio en una sola
variable produce una condición de razón de fallas, sólo se necesita buscar la adyacencia de los esta-
dos inicial y final sobre el mapa que están en coberturas separadas.
La situación se puede corregir con relativa facilidad. Se agrega una cobertura de razón de fallas
que se traslapa sobre las coberturas fuente y destino, como se muestra en la figura 6-5. El resultado
es la adición de un término en la ecuación para F y el incremento correspondiente en el hardware
requerido.
Es importante observar que mientras el mapa se puede utilizar para detectar razón de fallas
en la lógica combinacional que surgen de la diferencia entre la longitud de las trayectorias entre
una variable y su componente, hay otras clases de problemas de temporización que no son fáciles
de detectar (véanse los problemas 6.6 y 6.7). Adicionalmente, mientras el mapa puede indicar dos
estados de entrada, los cuales estarán involucrados en una razón de fallas, no se puede identificar
cuál es el inicial. Es muy posible que un glitch se presentará cuando se pasa de un estado Si a un
estado S2, pero no en la otra dirección, como se muestra en el problema 6.1.
Los glitches con frecuencia son inevitables, al menos los contabilizados por el propio diseño;
pueden causar serios errores en circuitos digitales. Un medio poderoso para hacerles frente contem-
pla la implantación de una selección estroboscópica o técnica de reloj, como se plantea en la sección
7.4.
DIAGRAMAS DE TIEMPO 199
Los diagramas de macrotemporización se utilizan para exhibir las salidas de varias compuertas rela-
cionadas con entradas independientes o con alguna referencia, como un tren de pulsos de reloj del
sistema. En un principio están relacionados con el comportamiento del circuito visto sobre una escala
de tiempo considerablemente más grande que la empleada en el estudio del fenómeno de retardo de
propagación. Los efectos del retardo individual de las compuertas se omiten intencionalmente o se
vuelven pequeños (insignificantes) comparados con las transiciones secuenciales de la lógica
relacionada que se muestra en el diagrama.
Cobertura de
razón de fallas
Fig. 6-5
EJEMPLO 6.2 Las entradas HT A, B, C y D para lógica que se muestran en la figura 6-6 varían con el tiempo,
como se ve en la parte superior de la figura 6-7. Asumiendo que el circuito responde instantáneamente a los
cambios en la entrada (esto es, el retardo de propagación de los dispositivos no se puede distinguir sobre la escala
de tiempo empleada) hágase un esquema de las formas de onda de los voltajes de salida F y G.
A partir del diagrama lógico, F = AB + (C + D)'. Empleando el teorema de De Morgan en el segundo término
se obtiene F = AB + C'D'; esto es, F será VERDADERA ya sea si A y B son VERDADERAS o C y D son
FALSAS. Estas condiciones se presentan tres veces para las entradas dadas, puesto que F es HT, su
correspondiente forma de onda de voltaje conformará a la lógica, como se muestra en la figura 6-7.
Obsérvese que la salida G es igual a B'(C + D)' o, de manera equivalente, G = B'C'D'. De este modo, G será
VERDADERA sólo si B, C y D son FALSAS y, puesto que G es LT, su forma de onda de voltaje será la inversa
que la sugerida por la lógica.
Una buena herramienta para confirmar el diseño lógico funcionalmente es un simulador lógico por
computadora que permita al diseñador imitar el circuito experimental y las fases de prueba de un
diseño sin la necesidad de alambrar. Aun cuando no es un sustituto del prototipo real, el simulador
acelera el proceso de diseño permitiendo la temprana detección de los problemas básicos de fallas
y temporización. Sentado frente a su computadora un ingeniero "ensambla" un circuito de
hardware mediante un proceso llamado captura esquemática con el cual se dibuja el diagrama del
circuito sobre la pantalla seleccionando los componentes lógicos de una librería de software e inter-
conectándolos con el ratón (mouse) o una herramienta similar que permita el conveniente posicio-
namiento de los objetos sobre la pantalla de la computadora. Una pantalla común que forma parte
DIAGRAMAS DE TIEMPO 201
Fig. 6-8
Fig. 6-9
202 DIAGRAMAS DE TIEMPO
Fig. 6-10
DIAGRAMAS DE TIEMPO 203
En la mayoría de los simuladores de software, es posible variar los retardos de los componentes
seleccionados e ir a la búsqueda del glitch. En el ejemplo todos los retardos de las compuertas se
fijaron a 10 unidades de tiempo anteriores a la corrida de la simulación. Algunos paquetes de soft-
ware incluyen rutinas para la detección de glitches las cuales predicen las condiciones de razón de
fallas.
En la figura 6-10 se muestra un circuito lógico combinacional que contiene dos realimentaciones.
En este caso, dos de las variables de salida (Yi y Y2) son funciones de varias variables, incluyendo
ellas mismas. En otras palabras, en un circuito con realimentación, el valor de una variable dada
se ve afectada por la misma variable.
Bajo ciertas condiciones, estos circuitos pueden ser inestables puesto que la llegada de una re-
alimentación puede propiciar que la salida cambie, y esto a su vez, modificará a la entrada y
producirá nuevamente un cambio, y así sucesivamente. Si un mapa K para la razón de fallas predice
un glitch, se podría esperar la probabilidad de oscilaciones sostenidas entre dos estados, la razón
dependerá de los retardos de propagación del circuito.
Se ve de la figura 6-10 que
Y 2 = Y' 1 Y 2 R'S' + S
Y1 = Y1Y2R' +RS + Y1S
Los mapas K para Y1 y Y2 se muestran en la figura 6-11 donde se observa, en el mapa de Y2,
que no hay coberturas con ls adyacentes que se traslapen. Esto indica que se puede presentar un
glitch en Y2 cuando R = 0 y S cambia, previniendo al diseñador para que analice el circuito con
más detalle y así evitar un comportamiento oscilatorio.
Es obvio que a medida que el diseño del circuito es más complicado y se incluyen realimentacio-
nes, la construcción a mano de los diagramas de microtemporización se hace una tarea muy pesada.
El simulador por computadora hace el trabajo muy sencillo, permitiendo a los diseñadores verificar
a los circuitos de una manera mucho más completa antes de invertir en el hardware. Como un ejem-
Fig. 6-11
204 DIAGRAMAS DE TIEMPO
plo, considérese el caso donde el circuito realimentado de la figura 6-10 se construye con compuer-
tas NAND. La inestabilidad predicha se demuestra fácilmente mediante una simulación con
LogicWorks™, como se muestra en la figura 6-12.*
Obsérvese que, como lo predijo el mapa K, se presenta inestabilidad en Y2 cuando R = 0 y
S cambia.
Problemas resueltos
6.1 Considérese la implantación con compuertas NAND de la función F = (AB)' + AD que
se muestra en la figura 6-13. Asumiendo que todas las compuertas tienen el mismo retardo de
tiempo, dibújese un diagrama de microtemporización para el caso donde A cambia mientras
que B = D = 1.
Fig. 6-13
Antes de trazar una señal paso por paso, se recomienda determinar la lógica fundamental, lo cual
se puede hacer fácilmente aplicando el proceso de conversión que se planteó en el problema 4.10, y
que permitió obtener el equivalente en lógica mixta requerido. Se presenta nuevamente en la figura
6-14.
Fig. 6-14
*La simulación de circuitos con retroalimentación a veces no opera apropiadamente debido a la falta de condiciones iniciales
sin ambigüedades. Una amplia discusión de cómo debe manejarse este problema al usar LogicWorks™, se encuentra en
el apéndice C.
206 DIAGRAMAS DE TIEMPO
6.2 Para el circuito del problema 6.1 dibújese el mapa K, agréguese una cobertura de razón de
fallas para eliminar el glitch y discútase su impacto sobre el hardware.
Aplicando el teorema de De Morgan a la función dada se obtiene F = A' + B' + AD. En la figura
6-17 se muestra el mapa K con los círculos correspondientes a esta forma booleana, donde el glitch
se puede identificar rápidamente como 1s adyacentes en coberturas aisladas. Se puede agregar una co-
bertura de razón de fallas sobre los dos 1s indicados, o se puede extender sobre la columna de entrada
del lado derecho. El arreglo formal requiere una compuerta AND. Esto último da un término booleano
sencillo, pero requiere un inversor para balancear las medias flechas, así, en el presente caso, probable-
mente no haya razón para elegir un método sobre el otro. Si alguna otra especificación o regla de dise-
ño no inclina el balance, se permite que lo decida un "volado" o cara o cruz entre ingenieros.
Fig. 6-17
6.3 Asumiendo que todo el hardware (compuertas e inversores) en la figura 6-18 tiene el mismo
retardo de tiempo, hágase el esquema del diagrama de microtemporización lógico completo.
Inicialmente, todas las variables de entrada son 1s. En t = 0, C cambia a 0. Todas las entra-
das y salidas son HT.
Fig. 6-18
208 DIAGRAMAS DE TIEMPO
6.4 El circuito que se muestra en la figura 6-20 es una interconexión común de compuertas deno-
minada latch, que se describirá con detalle en el capítulo 7. Obsérvese el arreglo de realimen-
tación acoplada en cruz donde la salida de una compuerta se utiliza como entrada para la otra.
Asúmanse que los estados de salida están como se muestra y ambas entradas se iniciali-zan en 0
lógico. En el tiempo t = 0, la entrada R cambia a 1. Dado que ambas compuertas tienen igual
retardo de tiempo, dibújese el diagrama de microtemporización lógico.
Debido a las inversiones lógicas, las entradas de realimentación a las compuertas G1 y G2 son 1
y 0, respectivamente. Con ambas entradas externas en 0 lógico, se ve que las salidas dadas son consis-
tentes. Cuando R cambia afecta a G2 la cual se va a 1 lógico después de un intervalo de retardo de
tiempo. Esto propicia que la entrada de realimentación de G1 se haga 0, y, puesto que esta compuerta
no tiene ceros en ambas entradas, su salida Q cambiará de 1 a 0 después de un intervalo de retardo
más (véase la figura 6-21).
Fig. 6-20
Fig. 6-22
Fig. 6-23
DIAGRAMAS DE TIEMPO 211
A partir de las condiciones finales dadas, se pueden deducir los estados lógicos de todas las com-
puertas en el circuito empleando las relaciones booleanas sencillas. Estos estados se ingresan en el
diagrama de tiempos antes de t = 0, en el tiempo en el que la entrada C se convierte en un escalón. Después
de observar cuáles compuertas se ven afectadas por cada cambio, se grafican las respuestas apropiadas un
intervalo de retardo de tiempo después, como se muestra en la figura 6-23.
La transición de G5 en el tiempo 8 no tiene efecto puesto que la compuerta G4 ya se encuentra en el
estado 1 a través de su entrada que viene de la compuerta G3. Por lo tanto, el proceso termina hasta que se
presenta otro cambio en la entrada.
En la figura 6-25 queda claro que se ha introducido una asimetría lógica en el circuito latch. Un
cambio en la salida de G1 se invierte lógicamente antes de pasar a G2, mientras que un cambio en la
salida de G2 pasa sin alterarse a la entrada de G1 Si S = 1, la salida de G1 será 1, la salida de G2 será
0 y un cambio en R no tendría efecto puesto que la compuerta OR G1; sólo requiere que una entrada
sea VERDADERA. El circuito es estable. Por otro lado, si S cambia de 1 a 0 cuando R = 0, como
se muestra, entonces se ve que la compuerta G1 tendrá dos entradas en 0 lógico y F se irá a 0 después
de un intervalo de retardo de tiempo. Esto se interpreta como un 1 en la entrada de G2 (obsérvese la
diagonal) cuya salida se va a 1 después de un intervalo de retardo más, y este 1 pasa inalterado por
G3 el cual agrega un incremento de retardo adicional. Así, tres intervalos de retardo de propagación
después se presenta el cambio en S, G1 recibe una señal de contraorden para regresar al estado 1. Por
supuesto, este cambio, inicia la cadena nuevamente y se espera una oscilación continua con un periodo
de repetición de seis intervalos de retardos de propagación. En la figura 6-26 se muestra el diagrama
de microtemporización apropiado.
212 DIAGRAMAS DE TIEMPO
Fig. 6-26
Puesto que el diagrama de microtemporización se construye por pasos, hace que el análisis secuen-
cial sea fácil de seguir y comprender más que tratar de razonar todo el proceso mediante una descrip-
ción verbal (por más elocuente que éste sea).
6.7 Demuéstrese que también se puede presentar la inestabilidad en el circuito del latch de la fi-
gura 6-20 si el cambio en la entrada se reduce en duración a un sólo intervalo de retardo.
Como en el problema 6.4, se asume que la entrada R pasa de 0 a 1 cuando Q = 1 y Q' = 0. Si,
después de este cambio, R regresa a 0 antes de que la señal se haya propagado a través de G1 y regrese
a la entrada de G2 con un 1 para asegurarlo, entonces G2 regresará al estado 0 en lugar de mantenerse
en el estado 1, como es de esperarse. Un análisis adicional muestra que se presentará una oscilación
continua hasta que R o S se conviertan a 1 lógico. Las formas de onda lógicas se muestran en la figura
6-27 donde las flechas indican las relaciones causa-efecto involucradas. Este problema ilustra el hecho
que los diseñadores deben considerar la duración de las entradas, así como las trayectorias de conexión
con el fin de asegurar que sus circuitos serán estables.
Fig. 6-27
DIAGRAMAS DE TIEMPO 213
6.8 Dibújese el diagrama de macrotemporización para el circuito y las formas de onda lógicas
que se muestran en la figura 6-28.
G = D ⊕ S0 y H = (XS1)'. La salida del multiplexor será F = XS, cuando H = 0 y F = GH
cuando H = 1.
Estas relaciones se muestran en la figura 6-29 en relación con el tiempo para las variables de entra-
da dadas.
Fig. 6-28
214 DIAGRAMAS DE TIEMPO
6.9 El circuito lógico que se muestra en la figura 6-30 representa un flip-flop JK maestro-esclavo
(el cual se describirá con detalle en el capítulo 7). Las condiciones iniciales presentes en sus
terminales externas (representadas mediante rectángulos) son como siguen: J = 1, K = 1,
CLK = 0, CLR = 0, PR = 0, Q = 1 y Q' = 0. Esbócese un diagrama de microtemporiza-
ción para mostrar qué pasa cuando la entrada CLR cambia de 0 a 1 en t = 0.
Antes de que se pueda iniciar el diagrama de tiempos, es necesario determinar el estado de todas
las compuertas en t = 0.
Esto se puede lograr razonando a partir de las condiciones iniciales dadas como sigue:
• Puesto que Q' = 0, las tres entradas a G8 deben ser 0. De esta manera, G6 = 0.
• El estado de G 5 no se puede determinar todavía ya que la entrada inferior de G7 es 1, y esto
es su-
ficiente para mantener el estado dado Q = 1.
Fig. 6-29
DIAGRAMAS DE TIEMPO 215
Fig. 6-30
Fig. 6-31
Obsérvese que este circuito requiere cuatro intervalos de retardo de tiempo para que la respuesta
proceda completamente. Aplicando una entrada CLR de menor duración resultaría en algunas displi-
cencias, como se demostró en el problema 6.7.
6.10 Considérese un problema de síntesis en el cual se requiere un circuito que produzca una
salida particular en respuesta a un conjunto dado de entradas. La especificación se presenta
en la figura 6-32 donde se asume que la salida F responde a las entradas A y B después que
un intervalo de retardo de propagación ha terminado. Diséñese el circuito.
DIAGRAMAS DE TIEMPO 217
Fig. 6-32
Para visualizar la relación funcional entre las entradas y la salida, se redibujan las formas de onda
como un diagrama de macrotemporización removiendo los retardos, como se muestra en la figura 6-
33. Ahora se puede preparar una tabla de verdad leyendo cada uno de los intervalos de tiempo de la
columna:
Intervalo A B F
0-1 1 0 1
1 -2 0 0 0
2-3 0 1 1
3-4 0 0 0
4-5 1 0 1 Redundante
5-6 0 0 0
218 DIAGRAMAS DE TIEMPO
Fig. 6-33
Después se remueven las entradas redundantes y, observando que el estado 11 no se presenta, éste
se trata como un término "no importa".
A B F
0 0 0
0 1 1
1 0 1
1 1 X
a)
b)
Los problemas de síntesis o diseño, rara vez tienen soluciones únicas, y el diseñador debe seleccio-
nar de un número de posibles enfoques y soluciones. Por ejemplo, en este ejercicio se puede escribir
F = A'B + B'A y utilizar cinco elementos de hardware como se muestra en la figura 6-34; o un diseña-
dor más experimentado de algún modo pudiera reconocer la función OR exclusiva. Un diseñador ins-
pirado, haciendo uso del conocimiento que el estado 11 nunca se presenta, simplemente usaría una
sola compuerta OR.
Se debe puntualizar que los problemas de síntesis son normalmente complicados y requieren un
enfoque más sofisticado que el requerido en este ejemplo. Supóngase que F fuera 1 en el intervalo 3-4.
En este caso, se observa un conflicto con los requerimientos del intervalo 1-2, y se debe aplicar una
técnica de diseño más poderosa (véase el material sobre máquinas de estado en el capítulo 10).
Problemas suplementarios
Nota: Los problemas 6.11 al 6.13 ilustran cómo afectan el hardware y las asignaciones verdaderas los tiempos
del circuito y el costo del mismo.
6.11 El circuito que se muestra en la figura 6-35 se desarrolló en el problema 4.36. Si, para todas las com-
puertas, el retardo de propagación más corto es de 5 ns y el retardo más largo es de 15 ns, encuéntrese
el retardo de la trayectoria más largo y el más corto en el circuito.
Fig. 6-35
6.12 Se obtuvieron otras dos soluciones para F en el problema 4.38. Empleando los mismos retardos de
propagación especificados en el problema 6.11, encuéntrese el retardo de la trayectoria más largo y
el más corto (véase la figura 6-36).
6.13 La fabricación de una compuerta o un inversor en un chip a la medida requiere los siguientes recursos
para su acomodo:
Cada compuerta 2 unidades
Cada entrada, después de la primera 0.5 unidades
Cada segmento de alambre para interconexión 0.25 unidades
220 DIAGRAMAS DE TIEMPO
Cada unidad de fuente de silicio cuesta 2 centavos de dólar y cada unidad de retardo de la trayectoria
arriba de 15 ns cuesta 10 centavos de dólar. Compárense los costos de las dos implantaciones del pro-
blema 6.12, asumiendo que el peor retardo de propagación de las compuertas es de 15 ns.
6.14 En la figura 6-37, todo el hardware (compuertas e inversores) tienen los mismos retardos de tiempo.
Dibújese el diagrama de microtemporización lógico completo asumiendo que inicialmente las entradas
AyDson ls y, que en el tiempo t = 0, Les cíclica como se muestra en la figura 6-3 8. Todas las entradas
y salidas son HT.
a)
b)
Fig. 6-36
Fig. 6-37
Fig. 6-38
Fig. 6-39
222 DIAGRAMAS DE TIEMPO
6.15 El multiplexor de la figura 6-39 responde a un cambio en su entrada de selección después de dos inter-
valos de retardo de la compuerta. Asúmase que inmediatamente antes de t = 0, las entradas RyS
son 0, Q = 0 y que las entradas A y B del multiplexor son 0 y 1, respectivamente. Trácese el diagrama
de microtemporización para el caso donde S conmuta a 1 en t = 0.
6.16 Para el circuito que se muestra en la figura 6-40, determínense si existen algunas razones de falla, y
si es así, determínense las transiciones que los causan.
6.17 Para el circuito del problema 6.16, hágase un diagrama de microtemporización de voltaje para la pri-
mera transición.
6.18 Con referencia al circuito del problema 6.16, hágase un diagrama de microtemporización de voltaje
para la segunda transición.
6.19 ¿Qué modificaciones se pueden hacer al circuito de la figura 6-40 para prevenir la ocurrencia del glitch
descrita en el problema 6.17?
6.20 En el circuito del ejemplo 6.1 (figura 6-1), determínense todas las posibles razones de falla. Primero,
determínese la razón de falla potencial mediante la inspección de las trayectorias reconvergentes y en
tonces investigúese completamente mediante un estudio detallado.
6.21 El anillo de inversores que se muestra en la figura 6-41 es un circuito de la clase utilizada para probar
la velocidad de microcircuitos. Muéstrese que si el número de inversores es impar, se presentará una
oscilación.
Fig. 6-40
Fig. 6-41
DIAGRAMAS DE TIEMPO 223
6.12 Las trayectorias más larga y la más corta son iguales y el tiempo a través de la red variará entre 10
y 30 ns. Obsérvese como la selección del hardware para igualar los valores verdaderos puede afectar
el desempeño.
6.13
a) b)
6.14 Véase la figura 6-42. Obsérvese que se presenta un glitch cuando L va de 1 a 0 y no en el caso opuesto.
6.16 Estudiando con detalle la lógica F = B'D' + CD + A'BC muéstrense tres casos donde las coberturas
se tocan pero no se traslapan. La razón de falla puede ocurrir para las siguientes transiciones.
A B C D a A B C D
0 1 0 0 0 0 0 0
x 0 1 1 x 0 1 0
0 1 1 1 0 1 0 1
Fig. 6-43
6.17 Véase la figura 6-44. Los retardos de propagación de las compuertas se han fijado en 5 unidades de
tiempo para hacer más evidente el glitch.
6.18 Véase la figura 6-45. Todos los retardos de propagación de las compuertas son de 1 unidad de tiempo.
6.19 Agréguese la cobertura de razón de falla que se muestra en la figura 6-46 convirtiendo G4 a una com-
puerta de cuatro entradas y alámbrese el término A'C'D' usando una compuerta NAND adicional.
Fig. 6-46
6.20 Existen dos trayectorias reconvergentes de una entrada; una de A y una de C. La ecuación booleana
para el circuito es F = AC'D + BC + A'C la cual, cuando se estudia con detenimiento, muestra una
razón de falla solamente para C (la transición ABCD a ABC'D). La razón de falla potencial para A
está cubierta.
6.21 Asúmase que el punto A es 0. Si hay n enteros, aparecerá un 1 en el final de la cadena si n es impar.
De este modo, la señal A cambiará a 1 después de que se ha terminado un intervalo de tiempo de n(tpd).
El 1, en su momento se convertirá en 0, y así sucesivamente. La simulación se muestra en la figura 6-47.
Fig. 6-47
Capítulo 7
El flip-flop
7.1 INTRODUCCIÓN
La mayoría de los sistemas digitales modernos, además de ejecutar tareas de lógica combinacional
también almacenan comandos y datos los cuales esperan para ser procesados o son el resultado de
algún cálculo. Este capítulo trata varias realizaciones de los elementos básicos de memoria, el cir-
cuito biestable o flip-flop. Su forma más primitiva es denominada latch, la cual consiste de un par
de compuertas lógicas con sus entradas y salidas interconectadas en un arreglo realimentado lo que
permite que se pueda almacenar un solo bit. Agregando componentes al latch básico y combinando
latches de varias maneras se obtienen tipos diferentes de flip-flops, cada uno de los cuales tiene ca-
racterísticas diseñadas para optimizar el desempeño en aplicaciones específicas. En este capítulo se
consideran flip-flops RS, JK, D y T, así como sus modos de operación y características de disparo.
En la figura 7-1 se muestra la lógica para un elemento sencillo de memoria denominado latch.
Este circuito tiene dos entradas (S y R, correspondientes a "set" y "reset", respectivamente)
y por lo menos una salida (Q). Algunas veces se incluye una segunda salida (Q') como se muestra.
Es fácil seguir el lazo cerrado de realimentación: La señal Q se invierte lógicamente y se conecta
a la compuerta G2 la cual produce Q'. Esta señal, a su vez, se invierte lógicamente y se acopla de
Fig. 7-1
226
EL FLIP-FLOP 227
regreso a la entrada de la compuerta G1 la cual genera Q, completando así el lazo. Este arreglo se
puede utilizar para almacenar un solo bit de información cuando ambas entradas, R y S son 0s
lógicos.
Asúmase que la salida Q es un 1 cuando R y S son Os lógicos. Esta salida se invierte lógicamente
a 0 y vuelve a alimentar como entrada a G2. Ambas entradas de G2 ahora son 0s y, consecuente-
mente, se produce un 0 a su salida Q'. Esta señal se invierte y se vuelve a alimentar a la entrada
de G1 cuya salida Q debe ser un 1 validando de este modo la suposición original Q = 1. Obsérvese
que bajo estas circunstancias Q' es un 0. Esta situación se mantendrá hasta que se presente un cam-
bio en la entrada.
Se puede hacer un análisis similar para demostrar que Q = 0 también es un estado estable.
En este caso, Q' será 1, y se ve que la salida Q', como era de esperarse, es siempre el inverso lógico
de Q cuando R y S son ambos 0.
Supóngase, ahora, que S se cambia a 1 de manera que el estado de entrada es R = 0 y S =
1. Esto ubica un 1 por lo menos en las entradas de G1 lo que propicia que Q sea 1. Este 1 se invierte
lógicamente y aparece como 0 en una de las entradas de G2 y, puesto que R = 0, se asegura una
salida 0 en G2. Este 0 se invierte y se vuelve a alimentar a la otra entrada de G1 reforzando así su
salida Q = 1. El 1 lógico en S el cual inició el proceso, se puede remover en cualquier momento
después de que el proceso de realimentación ha tenido tiempo para completar su operación y la sali-
da se mantiene en Q = 1. De esta manera, un 1 en S cuando R = 0 asegura que Q = 1, y este estado
se mantendrá cuando S regrese a 0. Se puede decir que el circuito se ha asegurado (latched). De
una manera similar, es fácil mostrar que las entradas R = 1 y S = 0 darán el resultado Q = 0 y
que este estado se mantiene (asegura) cuando R regrese a 0.
Así, si se considera la condición S = 0, R = 0 como un estado normal o de descanso, la salida
del circuito dirá cuál de las entradas fue la última que se conectó a 1 lógico; en otras palabras, se
puede interpretar el comportamiento de aseguramiento (latching) como una función de memoria.
El latch sencillo se puede implantar ya sea con compuertas NAND o NOR como se muestra
en la figura 7-2 (véase el problema 7.17 para una forma en lógica positiva). Obsérvese que la lógica
es la misma y sólo los valores verdaderos de las entradas y las salidas son diferentes.
S. H
R. H
Es común que los datos se ingresen a un sistema digital mediante interruptores operados manual-
mente. Estos interruptores pueden tener muchas formas, variando desde los que tienen un resorte
en la parte inferior de un capuchón, como los teclados de una computadora, hasta los de botón que
se presionan en máquinas herramientas controladas digitalmente. Una característica común de
todos estos interruptores mecánicos es que el resorte de sus contactos tienen una tendencia a
rebotar (vibrar) cuando se presionan, causando una serie de repeticiones cortas de establecimiento
y ruptura de la conexión con una duración de varios milisegundos. Si, en un sistema dado, un
contacto eléctrico cerrado representa un 1 lógico y un contacto abierto un 0, debe estar claro que el
rebote del contacto puede ser un problema serio puesto que se pueden generar 1s y 0s múltiples
cuando se intenta un solo 1.
El latch puede servir como un circuito muy aceptable para "evitar el rebote" (debouncer) co-
mo se muestra en la figura 7-3. Cuando el interruptor SW está en la posición superior como se mues-
tra, el voltaje V (que corresponde a 1 lógico) se aplica a la entrada S. No fluye corriente en el resistor
de abajo, y la entrada R estará a un potencial de tierra que corresponde a 0 lógico. De esta manera,
la posición superior del interruptor corresponde a S = 1, R = 0. Cuando el interruptor se mueve
a su posición inferior, el voltaje V se aplica a R y la condición de entrada es S = 0, R = 1. Mecánica-
mente, el rebote del interruptor es muy pequeño. La parte móvil del interruptor vibrará (rebotará)
encendiendo y apagando su punto de contacto (R o S) y nunca se moverá hacia adelante o hacia
atrás entre estos dos puntos terminales. En la parte alta de un rebote, la entrada al latch es
S = R = 0, una condición donde se ha visto que no se presenta cambio en la salida. De este modo,
el latch cambiará de estado solamente cuando el interruptor se transfiere manualmente de una posi-
ción a otra, y solamente responderá al contacto inicial, ignorando la ocurrencia de rebotes.
Como se puntualizó en el capítulo 1, los datos almacenados en un sistema digital son vulnerables
al ruido. Los latches sencillos que se muestran en la figura 7-2 se denominan "capturadores de 1s"
puesto que si aparece un 1 ya sea en la entrada R o en la S puede ser capturado o asegurado
(latched) por el flip-flop, el cual reacciona de igual modo ya sea que el 1 fuera causado por un
dato verdadero o por ruido.
Fig. 7-3
EL FLIP-FLOP 229
Si las entradas R y S se pasan por una compuerta AND junto con una señal de habilitación
(frecuentemente denominada reloj), como se muestra en la figura 7-4, entonces la entrada al latch
responderá solamente al ruido en las entradas R y/o S durante la duración del pulso de reloj. Mu-
chos diseñadores han adoptado el enfoque que permite que las líneas de datos (R,S) sean vulnera-
bles al ruido en tanto que dedican una gran cantidad de los recursos para que la señal de reloj esté
relativamente libre de ruido. En este caso, el latch es vulnerable a señales espurias (parásitas) sola-
mente durante el tiempo en el que el pulso del reloj es verdadero. Esto conduce a que los pulsos
de reloj angostos resultarán en un incremento de la inmunidad al ruido para el circuito, el cual a
menudo se le llama latch con pulso de selección (strobed) o temporizado (clocked).
Fig. 7-4
El flip-flop RS con señal de reloj a menudo se caracteriza mediante la tabla de estados (tabla
7.1). Aquí Qn es el valor de Q antes del pulso de reloj, mientras que Qn +1 es el valor que adopta
la salida Q cuando se aplica un pulso de reloj con un nivel VERDADERO. El primer renglón esta-
blece que si S y R son 0, el valor de Q después del reloj es igual al valor que tenía antes del pulso
de reloj; esto es, no ocurrirá ningún cambio. Los siguientes dos renglones indican que la salida Q
corresponde al valor de S si R y S son complementos. La combinación de entrada R = 1, S = 1
está prohibida. Esto se debe a que existe una condición donde el estado de la salida puede estar inde-
terminado. Si las entradas R, S son ambas 1 y el reloj está en 1, entonces ambas salidas serán 1.
El problema se presenta si, después de que el reloj regresa a 0, las entradas cambian a R = S = 0.
En este caso, el estado de la salida dependerá de cuál de las salidas de las compuertas AND alcance
el 0 primero, el resultado estará determinado por el ganador de la carrera y no por la lógica.
Tabla 7.1
S R Qn+1
0 0 Qn
0 1 0
1 0 1
1 1 prohibido
230 EL FLIP-FLOP
El reloj sirve para otra útil función además de mejorar la inmunidad al ruido. Se podría pensar
como una entrada de habilitación la cual, cuando es VERDADERA, conecta al latch a las líneas
de datos RS. Esto es importante puesto que, como se ha visto en las secciones 6.2 y 6.3, los retardos
de propagación pueden causar la aparición de niveles lógicos esperados en las entradas de la com-
puerta a tiempos ligeramente diferentes y pueden causar aun señales falsas momentáneamente (glit-
ches). La señal de habilitación o de reloj retarda la operación de un latch u otros circuitos digitales
hasta que sus entradas tengan tiempo de alcanzar sus valores finales. La aplicación periódica de
una señal de habilitación forma la base para la operación síncrona de los sistemas digitales. Cada
pulso de habilitación, en efecto, hace avanzar el procesamiento digital un paso y, puesto que estos
pulsos se presentan a intervalos regulares como un mecanismo de reloj, el intercambio de los térmi-
nos reloj y habilitación parece apropiado.
Si se agrega un inversor entre las entradas R y S del circuito de la figura 7-4 (como se muestra en
la figura 7-5), entonces la referencia en la tabla 7.1 indica que la salida Q seguirá al dato de entrada
D cuando la entrada de habilitación sea VERDADERA y el dato será asegurado (almacenado) dentro
del flip-flop cuando la entrada de habilitación sea FALSA.
Fig. 7-5
EJEMPLO 7.1 En el circuito de la figura 7-5, asúmase que Q está en BAJO en t = t0 y una entrada de habili-
tación mediante un pulso se aplica en t = ti y se remueve en t = t2. La salida, en respuesta a la forma de on-
da de datos dada, se muestra en la figura 7-6 en la cual se asume que el retardo de propagación es muy
pequeño para la escala de tiempo seleccionada.
Mientras el pulso de habilitación es 0, las entradas del latch RS = 00 y no se presenta ningún cambio.
Cuando la HABILITACIÓN = 1, Q seguirá a D (de acuerdo con la tabla 7.1); se dice que Q es transparente
a D durante este intervalo. Cuando la HABILITACIÓN regresa a 0 en t = t2, el flip-flop almacenará el valor
existente en la entrada D en el instante inmediatamente anterior al tiempo t2 cuando el latch con pulso de ha-
bilitación se deshabilita. Es importante tener en mente que todo hardware tiene retardos de propagación y las
consideraciones de tiempos se deben tomar en cuenta si el ancho de los pulsos de la señal de entrada son sufi-
cientemente pequeños (véase la sección 7.9).
EL FLIP-FLOP 231
Fig. 7-6
Un arreglo de latches con pulso de habilitación cada uno conectado a línea de un bus de datos,
es capaz de capturar una palabra de n bits si se utilizan n latches y a todos se aplican pulsos de habili-
tación simultáneamente a través de una señal de habilitación común, como se muestra en la figura
7-7.
Fig. 7-7
7.5 EL FLIP-FLOP JK
El estado prohibido del flip-flop RS representa una buena oportunidad. Mediante la adición de
componentes, los diseñadores han modificado el flip-flop RS básico temporizado de modo que el
232 EL FLIP-FLOP
circuito cambie de estado (es decir, invertir su estado de salida) cuando se aplique la señal del reloj.
Esta modificación del diseño presenta algunos retos puesto que el tiempo de propagación así como
las conexiones lógicas se deben considerar. Un intento inicial se muestra en la figura 7-8. El diseña-
dor ha realimentado las salidas del flip-flop a las compuertas de entrada en un esfuerzo por mante-
ner fijo los pulsos de reloj en el lado apropiado del latch para propiciar el cambio de estado cuando
se presente la condición de entrada 11. Si Q es 1, la compuerta AND con la entrada K se habilita
y, si Q es 0, la compuerta con la entrada J se habilita. El análisis del circuito muestra que la respuesta
a JK = 00, 01 y 10 es idéntica a la del flip-flop RS temporizado. En el estado 11, sin embargo,
tan rápido como el cambio de estado se presenta, la realimentación se invierte, lo cual significa,
desafortunadamente, que mientras la condición J = K = CLK = 1, se puede esperar que exista
una condición oscilatoria, como se muestra en las formas de onda de la simulación de la figura 7-9.*
CLK
Fig. 7.8 Un diseño "fallido" de un latch con compuertas a la entrada. Las entradas son J y K
Fig. 7-9
*Como se mencionó en una nota de pie de página del capítulo 6, la simulación de circuitos con retroalimentación (como en
el caso del latch entrecruzado de la figura 7-8) a veces causa problemas. Véase el apéndice C.
EL FLIP-FLOP 233
Para hacer que el circuito opere apropiadamente, se necesita proveer un pulso de reloj muy
angosto o un retardo significativo en la realimentación hasta que el pulso de reloj termine. La se-
gunda aproximación es fácil de llevar a cabo de manera confiable, y su implantación se ilustra me-
diante la configuración maestro-esclavo que se muestra en la figura 7-10.
El flip-flop maestro-esclavo incluye dos flip-flops RS temporizados conectados en serie. Ob-
sérvese que el pulso de reloj aplicado al esclavo se invierte en relación al reloj aplicado al maestro,
creando, en efecto, un retardo en la realimentación igual al ancho de un pulso de reloj.
Supóngase que las entradas J y K son VERDADERAS y que la entrada de reloj aplicada tam-
bién es VERDADERA. El reloj invertido CLK' será FALSO y bloqueará cualquier flujo de señal
a través de las compuertas G5 y G6 de modo que los valores de Qs y de Q´s no pueden cambiar du-
rante este tiempo. La señal CLK por sí misma es guiada a través de G1 o G2 (dependiendo del esta-
do de Qs) y el maestro cambia de estado. Puesto que el camino de la señal del maestro al esclavo
está bloqueado, las salidas (y por lo tanto, las señales de realimentación) del esclavo no cambian.
Cuando el CLK regresa al estado FALSO (y, por lo tanto, CLK' cambia a VERDADERO),
las entradas de las compuertas G1 y G2 están bloqueadas y no responderán a cambios en Qs. Las
compuertas G5 y G6 están ahora habilitadas, y las salidas del maestro se transfieren al esclavo.
Obsérvese que las salidas del latch esclavo sólo están conectadas a las terminales externas del
chip (IC) de modo que el flip-flop JK de la figura 7-10 cambiará el estado de su salida sólo
cuando se presente una transición del CLK de VERDADERO a FALSO. Este tipo de aplicación
del reloj síncrono es una forma de disparo por flanco en la que el circuito responde solamente a la
entrada de datos la cual está presente inmediatamente antes de la transición del disparo de la
forma de onda del reloj. Dependiendo del diseño, ya sea un incremento (positivo) o un
decremento (negativo) en las transiciones del reloj se pueden emplear para iniciar el disparo.
Se da un resumen de la operación síncrona del flip-flop JK temporizado en la tabla 7.2. Aquí,
Qn+1 representa el estado de la salida Q siguiendo el flanco de disparo de un pulso de reloj aplicado.
En la tabla Q imita a J cuando J y K son complementarias, y Q permanece sin cambio cuando JK =
00, y el flip-flop cambia de estado cuando JK = 11.
234 EL FLIP-FLOP
J K Qn+1 Modo
0 0 Qn Inhibido
0 1 0 Borrar (Clear)
1 0 1 Fijar (Set)
1 1 Q'n Cambio de Estado (Toggle)
Fig. 7.11 Flip-flop JK con preset y clear (descripción en lógica mixta). Obsévese que PR.L y CLR.L son
equivalentes a PR'.H y CLR'.H, respectivamente
EL FLIP-FLOP 235
Se muestra una tabla de estados para el flip-flop JK con entradas preset y clear en la tabla 7.3.
En general, los fabricantes proporcionan tablas con entradas H y L que representan niveles de vol-
taje ALTO y BAJO, respectivamente. Su relación con los valores lógicos 0 y 1 depende de las entra-
das y/o salidas de hardware que son especificadas ya sea HT o LT. Obsérvese que cuando el flip-
flop se opera en forma asincrona con entradas preset y clear, se espera que el reloj se mantenga
en 0 lógico.
PR CLR Q
0 0 Q
0 1 0
1 0 1
1 1 prohibido
Una mejor visión del funcionamiento del flip-flop JK maestro-esclavo se puede lograr mediante el
estudio de sus diagramas de microtemporización. La construcción de estos diagramas se mostró en
el problema 6.9, donde el proceso se describió con detalle. Debe ser claro que a medida que un cir-
cuito crece en complejidad, es ventajoso el uso de la simulación para estudiar las formas de onda
en el tiempo.
EJEMPLO 7.2 Respuesta de un flip-flop JK a una transición del reloj. Asúmase, en la figura 7-11, que J =
K = 1, PR = CLR = 0 y que Q m (salida de G9 ) y Q son 1. Inicialmente, la entrada de reloj CLK es 0. En
algún tiempo arbitrario, el reloj cambia a 1, permaneciendo ahí 50 unidades de retardo de tiempo, y entonces
regresa a 0. Asúmase también, que en la implantación de hardware dada, todas las compuertas tienen un retardo
de propagación de 5 unidades de tiempo.
Ahora se pueden determinar los valores lógicos iniciales para todas las compuertas. Considérese G, an-
tes de que se presente la transición del reloj. Sus entradas son J = 1, CLK = 0 y Q' = 0; puesto que la lógica
es AND, su salida debe ser 0 (la cual, con este hardware, corresponde a un nivel de voltaje alto). En la compuer-
ta G2, las entradas son K = 1, CLK = 0 y Q = 1, y su salida también es 0. El análisis se puede extender para
cada compuerta en turno hasta que todos los niveles lógicos internos se indaguen.
Cuando CLK pasa a 1, las compuertas G1, G2 y G11 se ven afectadas. Una o más de estas compuertas
cambiará de estado como lo determina la lógica, después de que haya terminado un intervalo de retardo de
propagación. El proceso continúa, como se describió en el problema 6.9, hasta que más compuertas respondan
(a menos, por supuesto, que haya una inestabilidad). La simulación completa con LogicWorks™ se muestra
en la figura 7-12.
Obsérvese que la salida cambia sólo en el flanco de bajada del pulso de reloj y que G8 responde a un in-
tervalo de retardo de tiempo antes de G7. También es interesante observar que la salida de G1 se mantiene en
alto (en 1 lógico) a lo largo del proceso puesto que, en ningún tiempo, están todas sus entradas en VERDA-
DERO.
236 EL FLIP-FLOP
Fig. 7.12a Diagrama esquemático del flip-flop JK con entrada set para el modo de cambio de estado (toggle)
El estado del flip-flop JK maestro-esclavo descrito en la sección 7.6 se determina mediante las seña-
les en sus entradas J y K en la transición de subida (0 a 1) del pulso de reloj aun cuando las salidas
(Q y Q' del esclavo) las cuales no cambian hasta que se presenta el flanco de bajada del pulso de
reloj. Los flip-flops de este tipo se conocen como disparados por flanco negativo. También hay dis-
ponibles dispositivos disparados por flanco positivo. Aunque los flip-flops JK se utilizan amplia-
mente en electrónica digital, hay otros tipos, siendo los más comunes los D y los T.
El flip-flop D
El flip-flop (D, del inglés delay o de retardo) es similar al latch de datos con pulso de habilitación
de la sección 7.4, excepto que éste es disparado por flanco (no transparente). Se define como un
dispositivo con un estado (la salida Q) que, después de que ha recibido la señal del reloj, es idéntica
a la señal en su entrada D antes del pulso de reloj. Las tablas de estados en lógica positiva para
el dispositivo se muestran en la tabla 7.4. La tabla 7.4a es para un flip-flop D síncrono (PR = CLR =
0), mientras que la tabla 7.4b es para el flip-flop D asíncrono (CLK = 0).
D Qn+1 PR CLR Q
0 0 0 0 Q
1 1 0 1 0
1 0 1
1 1 prohibido
El flip-flop D se puede modelar como un dispositivo maestro-esclavo con una inversión lógica
entre sus entradas J y K. Como el JK, se puede equipar con entradas asincronas, PR y CLR (o S
y R).
EJEMPLO 7.3 Considérese el circuito formado por flip-flops D que se muestra en la figura 7-13. Inicialmen-
te, asúmase que todas las salidas Q = 1 y que las transiciones se presentan en el flanco de subida de cada pulso
de reloj. Trácese el diagrama de tiempos para tres pulsos de reloj siguiendo la aplicación de un pulso breve
de CLR.
Fig. 7-13
238 EL FLIP-FL0P
Los flip-flops D mostrados tienen entrada preset (S) y clear (R) LT de modo que la conexión de 5-V a
la línea común del set se interpreta como 0 lógico, o FALSO (0 V debe ser VERDADERO). Asumiendo que
la línea de clear también está inicialmente en un voltaje alto (0 lógico), en la tabla 7.4 se ve que si CLR pasa
a 0 V (1 lógico), la salida se irá a 0 y permanecerá ahí cuando el CLR regrese a 0 lógico (hasta que se presente
una transición de 0 a 1 del reloj). Obsérvese que puesto que las salidas son HT, el 0 lógico representa 0 V.
La primera transición de subida de CLK siguiendo la señal de clear causará que el flip-flop A se vaya a
1 puesto que su entrada D es 1. Los otros dos flip-flops no responderán puesto que sus entradas D son 0. El
segundo pulso de reloj causará que B se vaya a 1 ya que su entrada D, la cual está conectada a A, ahora es
1. De manera similar la salida C se irá a 1 en el tercer pulso de reloj y no ocurrirán más transiciones.
Una simulación en LogicWorks™ de las formas de onda esperadas se muestra en la figura 7-14. Obsér-
vese que se incluyen los efectos de los pequeños retardos de propagación.
El flip-flop T
El flip-flop T (o de cambio de estado, interpretación de toggle) opera de tal modo que cuando su
única entrada T es 1, su salida Q cambiará con cada pulso de reloj. Cuando T es 0, el reloj no tiene
efecto. Este dispositivo se puede modelar como un flip-flop JK con sus entradas J y K fijas o sujetas
permanentemente al 1 lógico. Como en otros tipos de flip-flops, el T puede tener entradas clear y
preset asincronas. La tabla de estados para el caso síncrono se muestra en la tabla 7.5.
Tabla 7.5
T Qn+1
0 Qn
1 Qn´
EJEMPLO 7.4 Dibújese el diagrama de macrotemporización para el grupo de flip-flops T que se muestran
en la figura 7-15. Asúmase que todos los flip-flops han sido inicialmente borrados a 0 y que el disparo ocurre
en el flanco de bajada de cada pulso de reloj.
EL FLIP-FLOP 239
Fig. 7-15
Puesto que el flip-flop A tiene su entrada fija en 1 lógico, éste cambiará de estado (toggle) en sincronía
con cada transición de bajada del reloj. Los flip-flops B y C, por otra parte, sólo cambiarán de estado si sus
entradas son 1 lógico inmediatamente antes de que el pulso de reloj vaya hacia abajo. Así, en la figura 7-16
se ve que hasta que se reciba el segundo pulso de reloj, el flip-flop B cambiará de estado ya que su entrada
a partir de A es 1 justamente antes del disparo, mientras el flip-flop C no cambiará puesto que su entrada que
viene de B es 0 en este tiempo. El circuito genera una secuencia repetitiva ABC = 000, 100, 010, 1 1 1 , 000,
etcétera.
Fig. 7-16
Sin considerar los modos de disparo, en particular hay dos tiempos de interés en los tipos de flip-
flops. Uno, el tiempo de inicialización (tsu, setup time), es el mínimo tiempo en el que las entradas
(J, K, etcétera) deben ser estables antes de la llegada del flanco del pulso de reloj que inicia una
transición. El otro es el tiempo de retención (th, hold time), que es el tiempo en el que las entradas
deben permanecer estables después de que venga el flanco que inicia el pulso de reloj. Los tiempos
de inicialización y de retención en conjunto establecen un intervalo, relacionado con el pulso de
reloj, en donde las entradas deben permanecer invariantes. Si las entradas cambian durante esta
ventana de tiempo (zona que se muestra sombreada en la figura 7-17), el fabricante del flip-flop no
garantizará el estado final del dispositivo después de la transición del reloj.
240 EL FLIP-FLOP
Fig. 7-17
Fig. 7-18
EL FLIP-FLOP 241
EJEMPLO 7.5 Frecuentemente, en circuitos lógicos síncronos las salidas de un arreglo de flip-flops (llamado
registro) se alimentan a una red lógica combinacional de compuertas AND-OR que se emplea para producir
las señales que determinan cuáles de los nuevos estados del registro seguirán al siguiente pulso del reloj. La
figura 7-18 muestra dicho sistema. Determínese la máxima frecuencia del reloj para el peor caso de tiempos
dado.
Considérese que los tiempos inician con la llegada del pulso del reloj:
1. Puesto que no se conoce cuál tipo de transición tendrá lugar en las salidas del flip-flop, se escoge el peor
caso (esto es, tpd = tpd,HL = 35 ns). Después de que este tiempo ha transcurrido, se garantiza que las sali-
das del flip-flop son estables.
2. De manera similar, después de los subsecuentes 30 ns, se asegura que las salidas del flip-flop se habrán
propagado a través del nivel de AND.
3. Otros 30 ns tomarán el paso a través del nivel OR.
4. La señal se debe mantener estable en las entradas D por un tiempo adicional de 20 ns antes de que otro
pulso de reloj se pueda aplicar.
5. Puesto que la señal no se puede propagar a través de la red en menos de 5 ns, se satisface el requerimiento
del tiempo de retención.
Los retardos se muestran esquemáticamente en la figura 7-19. El máximo periodo del reloj es la suma
de los retardos individuales o 115 ns. La máxima frecuencia del reloj es 1/115 x 10-9 = 8.7 MHz.
Fig. 7-19
7.10 METAESTABILIDAD
Si un flip-flop está sujeto a una señal de entrada cambiante durante sus tiempos de inicialización
y retención se puede desarrollar una condición conocida como metaestabilidad donde la salida no
es ni ALTO ni BAJO sino algún nivel entre ellos. La probabilidad de que una condición de metaes-
tabilidad persista para una duración dada de tiempo disminuye con la duración del tiempo, lo que
significa que de todas las posibles duraciones metaestables, la más corta es la que probablemente
ocurra. Se observa que una función de densidad de probabilidad aproximadamente exponencial ex-
presa esta relación, como se muestra en la figura 7-20.
242 EL FLIP-FLOP
Densidad de
probabilidad
de la duración
del tiempo
metaestable
Fclk es la frecuencia del reloj del flip-flop, Fdatos es la frecuencia con la cual se alimenta la señal de los
datos (D, J, K,...), TW y TR son constantes que dependen de la tecnología empleada en la
construcción del flip-flop y ∆t es el retardo de tiempo entre el flanco de disparo del pulso del reloj y
el pulso de habilitación que se emplea para la habilitación (o da entrada al reloj) de un dispositivo
subsecuente haciendo uso de la salida del flip-flop. En la mayoría de los casos, el disparo del flip-
flop y la habilitación de los datos se provee mediante pulsos sucesivos de una sola fuente de la señal
del reloj de modo que A, es igual al periodo 1/F clk.
EJEMPLO 7.6 Un flip-flop D se alimenta con una señal de reloj a 10 MHz y tiene una entrada de datos fuera
de sincronía que cambia a una razón aproximada de 10 MHz. Determínese el MTBF cuando, para la tecnología
empleada, Tw = 0.5 s y TR = 0.75 x 109 s-1. Repítase el cálculo para una frecuencia de reloj de 20 MHz. La
suposición aquí es que el naneo del reloj dispara al flip-flop, el cual se espera que tenga una salida estable en el
tiempo en el que llega el siguiente flanco de disparo del reloj. Así, A, = (Fclk)-1.
EL FLIP-FLOP 243
A partir de la ecuación (7.1), se calcula MTBF = 7.47 x 1019 s. Puesto que es muy grande, tranquiliza
el hecho de que seguramente no se vivirá lo suficiente para ver la falla.
Supóngase que la frecuencia de reloj ahora se duplica a 2 x 107 s-1. Esto afecta a ∆t, que tiene un efecto
exponencial, y por tanto significativo. Calculando de nuevo el MTBF da 1932 (32 min) s, ¡lo que en verdad
es significativo! Los pulsos de reloj están muy cerca de permitir la operación apropiada, y el circuito es esen-
cialmente inútil.
La ecuación del MTBF implica que si el proceso de fabricación de los chips puede alterar al doble el valor
de la constante TR, entonces aminora el efecto de la frecuencia del reloj incrementada, hasta casi desapare-
cerlo. Con TR = 1.5 x 109 y Fclk = 2 x 107 s-1 MTBF = 3.73 x 1019 s.
Ya que Tw y la razón de entrada de los datos no aparecen en un exponente, se ve que son menos impor-
tantes relativamente con TR y la frecuencia del reloj hasta donde se esté interesado en los errores debidos a
la metaestabilidad.
Problemas resueltos
7.1 Un fabricante ha creado un circuito con compuertas NAND, como se muestra en la figura
7-21, para implantar un flip-flop RS temporizado. Se especifica que el retardo de propaga-
ción para una transición de ALTO a BAJO (tpd,HL en las salidas Q y Q' es más largo que
para una transición de BAJO a ALTO (tpd,LH). Constrúyase el diagrama de microtempori-
zación y verifíquese que la especificación es correcta.
Fig. 7-21
El diagrama de hardware lógico de la figura 7-21 está en lógica positiva y se puede analizar conve-
nientemente mediante su conversión a una forma puramente lógica. En circuitos que contienen com-
puertas NAND interconectadas, cada símbolo de éstas se puede considerar como una compuerta AND
seguida de una diagonal (inversión lógica), como se demuestra en la rama inferior de la figura 4-43
(parte 2 del problema 4.10).
Considérese la acción set de este circuito (con el interruptor en la posición mostrada). De entrada,
se asume que el flip-flop se ha inicializado (reset); es decir, Q = 0 (BAJO) y Q' = 1 (ALTO). Después
de la aparición del pulso positivo de reloj, la compuerta G, tiene 1s en ambas entradas. Un intervalo
de retardo de propagación después, su salida se va a 0 lógico (BAJO). Esto cambia las entradas de
la compuerta G3 de 11 a 01, de modo que después de un retardo de propagación adicional, Q cambia
de BAJO a ALTO. Esta transición hace que las entradas de G4 vayan de 01 a 11 lo cual, después de
otro retardo de propagación, produce un cambio en Q' de ALTO a BAJO.
244 EL FLIP-FLOP
Un análisis similar de la acción del reset muestra que, una vez más, una transición de la salida
de BAJO a ALTO inicia la transición complementaria de ALTO a BAJO. Las formas de onda del
diagrama de microtemporización se muestran en la figura 7-22 donde, tanto para el set como para el
reset es claro que tpd LH es más corta que tpdHL, y el fabricante está en lo correcto.
Fig. 7-22
7.2 Un primer intento para diseñar el circuito del problema 7.1 se muestra en la figura 7-23 en
la cual las compuertas G1 y G2 son AND en lugar de NAND. El circuito no trabaja. Deter-
mínese qué está mal y dibújese el diagrama de microtemporización.
En este caso, siempre que el reloj es BAJO, las entradas a las compuertas de Q y Q' incluyen un
0 ya que las salidas de las compuertas G1 y G2 ambas son BAJAS, y, consecuentemente, Q y Q' son
ALTAS. Este no es un estado permitido para un flip-flop RS. Además, cuando el reloj se va a ALTO,
el circuito no opera apropiadamente. La salida Q se irá a BAJO después de dos intervalos de retardó
de tiempo, y Q' permanecerá sin cambio ya que está retenida por la salida de la compuerta G2 que está
en BAJO. Así, durante un pulso de reloj positivo, el estado de la salida será justo el opuesto del
deseado y éste no se asegura. El diagrama de microtemporización se muestra en la figura 7-24.
Fig. 7-23
EL FLIP-FLOP 245
Fig. 7-24
7.3 Un estudiante ha diseñado el circuito que se muestra en la figura 7-25 para implantar un flip-
flop RS temporizado con la esperanza de que funcionará como lo indica la tabla 7.1. Deter-
mínese si el circuito opera apropiadamente y si la relación entre los retardos de propagación
establecida en el problema 7.1 es aplicable.
Con el arreglo del circuito mostrado, un pulso de reloj positivo pasará a través de la compuerta
G1, produciendo un 1 lógico en la entrada superior de la compuerta G3. Este cambio tendrá efecto só-
lo si las dos entradas a la compuerta G3 estaban en BAJO previamente, lo que significa que Q' debe
ser BAJO antes que el pulso de reloj con el fin de que Q cambie. Así, el pulso de reloj inicializará al
flip-flop (haciendo que Q se vaya a 0) cuando S = 1 y R = 0. Si la posición de los interruptores se
invierte el reloj fijará (set) el flip-flop (haciendo que Q se vaya a 1).
Fig. 7-25
Obsérvese que en los dos casos, una entrada 00 es compatible con cualquiera de las condiciones
de salida 01 o 10, lo que significa que el circuito puede mantener un estado de set o de reset; es decir,
puede asegurar (latch). Hay sólo un pequeño problema: con el fin de que sea clasificado como un flip-
flop RS, la Q debe seguir a S en lugar de hacerlo con su complemento, lo que ocurre en el circuito
dado. Esta situación se corrige fácilmente si se intercambian las designaciones de las terminales S y
R o Q y Q'.
Los diagramas de microtemporización para ambas condiciones de entrada set y reset se muestran
en la figura 7-26. Se ve que la:; transiciones de ALTO a BAJO preceden a las de BAJO a ALTO, de
manera que los tiempos de retardo de propagación relativos son contrarios a los establecidos en el
problema 7.1.
246 EL FLIP-FLOP
Fig. 7-26
7.4 Dibújese una implantación con compuertas NOR del flip-flop RS del problema 7.1.
El diagrama lógico se muestra en la figura 7-27 a partir del cual se puede obtener fácilmente la
implantación con compuertas NOR (figura 7-28). Obsérvese que ambas entradas y salidas deben ser
LT si se quiere evitar el uso de hardware adicional.
Fig. 7-27
Fig. 7-28
EL FLIP-FLOP 247
7.5 El circuito de la figura 7-29 es una implantación con compuertas NAND de una lógica para
un latch con set dominante. Funciona de manera tal que cuando R y S son simultáneamente
VERDADERAS, la salida Q será VERDADERA. Demuéstrese que este es el caso.
Fig. 7-29
El circuito se analiza de un modo más conveniente removiendo las medias flechas y viéndolo como un
diagrama lógico.
Caso 1. S = 1, R = 0.
Q = 1 debido a que una de las entradas de G3 está conectada a S, que es 1. R no tendrá efecto sobre
Q, pero hace que G2 sea 0 puesto que la salida de G1 es 0.
Caso 2. R permanece en 0; S se va a 0.
La salida de G2 permanece en 0 ya que es asegurada vía G1. Así, cuando S se hace 0, la salida Q per-
manece en 1 lógico.
Caso 3. R = 1, S = 0.
G2 = 1, la que se asegura vía G1 puesto que S = 0. La inversión lógica a la salida de G2 y la conexión
directa a S hace que ambas entradas de G2 sean Os; lo que trae como consecuencia que, Q = 0.
Caso 4. S permanece en 0; R se va a 0. La salida de G2 permanece en 1 y R no puede
afectar a G3. Así, Q permanece en 1 lógico.
Caso 5. R = 1, S = 1.
Q = 1 debido a la conexión directa de S a G3. Esta vez, G2 se mantiene en 1 lógico mediante R, de
modo que S regresa a 0. Q lo seguirá. Obsérvese, sin embargo, que si R regresa a 0 antes de S, G, es-
tará en 0, G2 irá a 0 y se asegurará ahí, y, debido a la inversión lógica, Q permanecerá en 1.
Una salida de la simulación, que se muestra en la figura 7-30, ilustra el comportamiento típico.
Si se desea la salida Q', ésta se puede obtener agregando un inversor. El flip-flop RS resultante
es aun más complicado que el latch de la figura 7-2, que no exhibe el comportamiento ambiguo del
circuito donde es posible que las salidas Q y Q' sean iguales a 1 lógico simultáneamente. Como frecuen-
temente es el caso, se alcanza un desempeño mejorado a costa de la simplicidad.
7.6 La figura 7-31 muestra una implantación lógica con compuertas NAND de un flip-flop JK
disparado por flanco cuyo apropiado funcionamiento depende de la diferencia en retardos
de propagación entre dos trayectorias de la señal más que de la acción del maestro-esclavo
descrita en la sección 7.5. Asúmase que Q = 0, J = l y K = 0, y dibújese el diagrama lógico
de microtemporización para ilustrar la secuencia de eventos que ocurren cuando se aplica
un pulso de reloj positivo.
Fig. 7-31
En principio, lo que importa es la mitad superior del circuito puesto que la compuerta G2, tiene una
entrada fija en 0 a partir de K, la cual no cambiará. Determínense los estados iniciales relevantes
como sigue:
• G1 = 0 puesto que CLK = 0.
• A = 0 puesto que CLK = 0.
• B = 1 puesto que la salida de G1 está invertida.
• G7 = 1 y, debido a la inversión, la entrada set S que asegura a G9 – G10 es 0.
• Un análisis similar muestra que la entrada reset R que asegura a G9 - G10 también es 0.
EL FLIP-FLOP 249
Asúmase que la entrada de reloj sube (CLK → 1). Entonces A → 1 y B → 0. Obsérvese que A cam-
bia un intervalo de retardo de tiempo antes que B ya que la señal CLK pasa a través de una sola com-
puerta en lugar de dos.
La secuencia en la entrada de G7 es AB = 01, 11, 10. Puesto que sus entradas son siempre VER-
DADERAS en esta secuencia, G7 permanece en 1 lógico, S se mantiene en 0 y Q no cambia.
Asúmase que la entrada de reloj cae (CLK → 0). Una vez más, A cambia antes que B y la secuencia
es AB = 10, 00, 01. En este caso, la entrada a G7 estará en 00 por un intervalo de retardo de
propagación, ocasionando que, momentáneamente, G7 se vaya a 0 y S a 1. La salida Q se irá a 1 y
se asegura ahí a través de la G10.
Obsérvese que con el fin de que la acción de asegurar ocurra, el pulso de la señal S debe terminar
al menos mientras la combinación de los retardos de propagación de las compuertas G9 y G10. En cir-
cuitos prácticos, esto se puede lograr mediante la alteración en la estructura de las compuertas apropia-
das.
El diagrama de microtemporización se muestra en la figura 7-32.
Fig. 7-32
7.7 Considérese el flip-flop disparado por flanco del problema anterior. Si una de las entradas
cambia (J en este caso), precipitadamente cerca al último momento posible dígase un inter-
valo de retardo de propagación antes del flanco de bajada del pulso de reloj, no habrá res-
puesta en la salida. Demuéstrese que este es el caso con base en el diagrama de
microtemporización de la figura 7-32.
Consúltense las figuras 7-31 y 7-32 y asúmase que J se va a cero en un intervalo precedente al flan-
co de bajada del pulso de reloj. G1 cambiará en el siguiente intervalo de tiempo puesto que todas sus
entradas deben estar en 1 lógico para que se mantenga en VERDADERO. La compuerta G3 no se ve
afectada por J, pero G4 responderá al cambio en G1, propiciando que la señal B regrese prematura-
mente a 1 lógico. Si es que ocurre, se podrá ver que la entrada 00 a G7 no se presentará y, consecuen-
temente, S y Q permanecerán sin cambio.
250 EL FLIP-FLOP
Un análisis exactamente igual se puede aplicar para la entrada K. Así, es claro que la instrucción
set o reset en el flip-flop sólo se ejecutará si esto tiene lugar por lo menos hasta que el pulso de reloj
caiga. Sin embargo, obsérvese que en el mundo real, donde un número finito de veces las señales suben
y bajan, es posible que se dé una condición metaestable si una entrada cambia muy cerca al flanco
activo del pulso de reloj (véase la sección 7.10).
7.8 El circuito de la figura 7-33 tiene dos flip-flops T que se disparan con el flanco de bajada
del pulso del reloj y el flip-flop D se dispara con el flanco de subida. La entrada,
inicialmente en 1 lógico, cambia de valor con el flanco de bajada cada cuatro ciclos de reloj.
Asumiendo que los flip-flops se borran en t = 0, dibújese el diagrama de tiempos mostrando
las formas de onda de las salidas A, B y C.
Fig. 7-34
Obsérvese que el cambio en la entrada coincide con el flanco de bajada del pulso de reloj el cual
no afecta al flip-flop A hasta el siguiente pulso de reloj. La simulación, ratifica apropiadamente el he-
cho de que un flip-flop no responderá cuando los tiempos de inicialización y de retención de la señal
son cero. En el apéndice C se pueden encontrar comentarios sobre la simulación de este problema.
EL FLIP-FLOP 251
7.9 En la figura 7-35 se muestra cómo se interconectan dos flip-flops JK disparados por flanco
de bajada. Asúmase que se han fijado previamente en 1 y después de lo cual, apliqúese la
señal del reloj. Sin tomar en cuenta los retardos de propagación, dibújense las formas de
onda de A' y B para cinco pulsos de reloj.
Un problema secuencial de este tipo se puede abordar en una forma organizada mediante la crea-
ción de una lista de los estados siguiendo cada pulso del reloj (véase la tabla 7.6).
Las entradas JK para cada flip-flop actúan como instrucciones que le indican al flip-flop qué esta-
do debe asumir cuando llegue el siguiente pulso del reloj (consúltese la tabla 7.2). Puesto que JA =
B' y KA = 1, las instrucciones iniciales para el flip-flop A son JAKA = 01, lo que indica que el flip-flop
A se debe borrar (A = 0) en el flanco de bajada del siguiente pulso de reloj. De manera similar, las
entradas JK para el flip-flop B son 11 lo cual es una instrucción para que cambie de estado (toggle).
Estas instrucciones se encierran con un círculo en el primer renglón de la tabla 7.6 y sus resultados
se indican mediante apuntadores a las entradas en el siguiente renglón. Estas entradas corresponden
a la situación inmediata siguiente al flanco de bajada del primer pulso de reloj.
Fig. 7-35
Tabla 7.6
252 EL FLIP-FLOP
Con la llegada del segundo pulso de reloj, se esperaría que el flip-flop A cambie de estado
(JA = KA = 1) y el flip-flop B permanezca sin cambio puesto que la entrada JBKB = 01 hace que B se
vaya a 0, estado en el que ha permanecido de antemano.
Se llena un renglón de la tabla a la vez y las entradas en las columnas A y B (correspondientes
a las salidas de los flip-flops) se determinan a partir de los estados apropiados de JK del renglón ante-
rior. Cuando el proceso se completa se pueden inferir las formas de onda sólo con leer en las columnas
correspondientes a las variables de interés. El resultado se muestra en la figura 7-36.
Fig. 7-36
7.10 La figura 7-37 muestra la variación de las entradas JK de un flip-flop en el tiempo. Asumien-
do de entrada que el dispositivo se borra, dibújese la salida Q en relación con los pulsos del
reloj.
Fig. 7-37
Como en el problema anterior, es muy útil una lista ordenada de los estados sucesivos. En este
caso, debido a que las entradas J y K son independientes de la salida Q, la forma en la que se tabula
es esencialmente la misma que la de la tabla 7.2. La tabla 7.7 se explica por sí misma.
EL FLIP-FLOP 253
Tabla 7.7
En la figura 7-38 se muestra la salida como una función del tiempo. Se obtiene leyendo la columna
del lado derecho de la tabla de estados. Obsérvese que el tiempo exacto, entre los pulsos de reloj en
los que las entradas cambian, no tiene efecto sobre la salida resultante. Esta es una característica im-
portante del disparo por flanco.
7.11 En la figura 7-39 se proporcionan las entradas D, So, X y Si para el circuito de la parte su-
perior de la misma figura. Asumiendo que el flip-flop responde al disparo por flanco de ba-
jada y está inicialmente fijo (en Q = 1), trácese la salida Q como una función del tiempo,
para ocho pulsos de reloj.
La inversión entre las entradas J y K restringe al circuito a la función de un flip-flop D transfiriendo
el dato de entrada a la salida después de cada pulso de reloj.
Fig. 7-38
254 EL FLIP-FLOP
Fig. 7-39
G = D ⊕ So
H = XS1
F = GH
Para cualquier instante de tiempo los valores de las variables G, H y F se pueden determinar sólo
dibujando una línea vertical en cualquier punto del diagrama de tiempos de la figura 7-39, observando
los valores de las entradas y aplicando las ecuaciones lógicas anteriores. Obsérvese que para la porción
de lógica combinacional del circuito, las variables no están afectadas o relacionadas con los pulsos de
reloj. La salida Q, por otro lado, será igual al valor de F inmediatamente antes de cada flanco de baja-
da del pulso de reloj y permanecerá constante entre los pulsos de reloj.
Para este problema, se dibujarán inmediatamente las formas de onda en lugar de tabular los esta-
dos lógicos (véase la figura 7-40).
EL FLIP-FLOP 255
Fig. 7-40
7.12 En este problema deberán establecerse las formas de onda de las salidas de los flip-flops del
circuito que se muestra en la figura 7-41 asumiendo inicialmente que los flip-flops se
borran antes de que se aplique el primer pulso de reloj. Los flip-flops dados se disparan por
los flancos de subida (BAJO a ALTO) de los pulsos de reloj y los retardos de propagación
son tan pequeños que no se toman en cuenta.
Fig. 7-41
256 EL FLIP-FLOP
Los flip-flops son del tipo D (delay) se construyen de tal manera que siempre que la entrada D
está encendida antes del flanco de disparo de un pulso de reloj será asegurado en la salida Q inmediata-
mente después del disparo. Este comportamiento debe ser obvio en la simulación que se realizó con
LogicWorks™ y que se muestra en la figura 7-42, donde la observación de la posición de las formas
de onda relativas indican claramente las características de retardo del circuito.
Fig. 7-42
7.13 Sustitúyanse los flip-flops D por flip-flops T en el problema 7.12, y trácense las formas de
onda en los puntos A, B y C. Una vez más, asúmase que los flip-flops fueron borrados antes
de la aplicación del primer pulso de reloj y que se disparan por flanco de subida (BAJO a
ALTO) del pulso de reloj. Empléense las mismas formas de onda de la entrada y del reloj
que se muestran en la figura 7-41.
Los flip-flops T de cambio de estado (toggle), cuando su entrada T está en 1 y permanece sin cam-
bio y cuando T es 0. Considérese la respuesta al primer pulso de reloj en las formas de onda de la figura
7-43. El flip-flop A cambia de estado ya que su entrada es 1 antes del flanco de subida del pulso de
reloj. El flip-flop B no cambia debido a que su entrada A, que está ligeramente retardada en relación
al reloj, es BAJA en el momento en el que el reloj va hacia el estado ALTO. El flip-flop C permanece
sin cambio debido a que B es BAJA cuando se presenta el pulso de reloj. Obsérvense que las transicio-
nes en las formas de onda A, B y C están relativamente alineadas una con respecto de las otras puesto
que todas cambian de estado mediante la misma señal de reloj.
Fig. 7-43
EL FLIP-FLOP 257
7.14 En la figura 7-44, los flip-flops están borrados desde el inicio (A = B = C = 0). Suponiendo
que A es el bit de selección más significativo del multiplexor y que los flip-flops se
disparan por flanco de bajada, dibújense las formas de onda en F para siete pulsos de reloj,
ignorando los retardos de propagación.
Obsérvese que el flip-flop C se dispara a partir de B y, con J = K = 1, todos los flip-flops
cambiarán de estado cuando llegue la señal del reloj. Antes del primer pulso de reloj, ABC =
000 lo cual selecciona la línea 0. Así, inicialmente, F = 1. El primer pulso de reloj hace que los
flip-flops A y B cambien de estado; C no responderá a una transición positiva ya que ABC =
110 lo cual selecciona a la línea 6, conectando F a D = 1. El segundo pulso de reloj cambia de
estado a A y B, lo que propicia que C cambie de estado. En este momento, ABC = 001 selecciona
a la línea 1 y F = 0. El tercer pulso de reloj hace que cambien de estado A y B; C permanece sin
cambio y ABC =111 (línea 7). Esto conecta F a D de modo que, en el intervalo entre el tercero y
cuarto pulsos la salida F seguirá a D (la que se ve que cambia). Continuando el análisis se
obtiene la tabla 7.8 y las formas de onda de la figura 7-45.
Fig. 7-44
258 EL FLIP-FLOP
Tabla 7.8
PULSO A B C Línea F
0 0 0 0 1
1 1 1 0 6 D
2 0 0 1 1 0
3 1 1 1 7 D
4 0 0 0 0 1
5 1 1 0 6 D
6 0 0 1 1 0
7 1 1 1 7 D
Fig. 7-45
7.15 Dado el circuito con un flip-flop JK y las formas de onda de entrada que se muestran en
la figura 7-46, dibújese la forma de onda de la salida Q. Asúmase que el flip-flop ha sido
fijado previamente Q = 1 antes de que se apliquen los pulsos de reloj y que el flip-flop cam-
bia de estado en la transición de 1 a 0 de un pulso de reloj. Ignórense los retardos de
propagación.
EL FLIP-FLOP 259
Fig. 7-46
J K Qn+i
0 0 Qn
0 1 0
1 0 i
1 1 Q´n
Estas reglas se aplican en el flanco apropiado del pulso de reloj y el resultado será el que se muestra
en la figura 7-47.
Fig. 7-47
260 EL FLIP-FLOP
Problemas suplementarios
7.16 Se desea hacer que el latch temporizado de la figura 7-4 produzca salidas Q y Q' LT y que además
responda a señales LT en R, S y CLK. Determínese una configuración de hardware en la cual se em-
pleen el mínimo número de compuertas.
7.17 En la figura 7-48 se muestra una implantación con compuertas NAND en lógica positiva de un latch
RS. Dibújese el diagrama puramente lógico correspondiente y la tabla de estados.
Fig. 7-48
7.18 Con las siguientes especificaciones hágase el diseño de un circuito que combine las características de
los flip-flops D y T en un sólo dispositivo. Cuando las entradas D y T sean VERDADERAS simultá-
neamente, el dispositivo no cambiará de estado; para todas las otras combinaciones de entrada, el dis-
positivo se debe comportar como un flip-flop D o T normal. Obténgase la tabla de estados para opera-
ción síncrona, usando como guía la tabla 7.2.
7.19 Considérese el circuito que se muestra en la figura 7-49. Inicialmente, los flip-flops maestro-esclavo
se borran. Para la forma de onda de la entrada X mostrada, dibújense las formas de onda para las
variables A y Z, aceptando que el disparo ocurre cuando el pulso de reloj baja.
7.20 Un ingeniero, en el diseño de un flip-flop JK disparado por flanco del tipo que se muestra en la figura
7-31 (problema 7.6), intenta reducir la cantidad de compuertas mediante la omisión del latch G9 -
G10, llegando al circuito que se muestra en la figura 7-50.
El razonamiento de diseñador es como sigue:
Condiciones iniciales: Q = 0, J = 1, K = 0.
Cuando el reloj sube.
El punto A → 1, B → 0.
El cambio en A ocurre antes que el cambio en B.
La secuencia en la entrada de G7 es AB = 01,11,10 y Q permanece sin cambio.
Cuando el reloj cae.
Una vez más, A cambia antes que B, y la secuencia en la entrada de G7 es AB = 10,00,10.
Durante el breve periodo en el que AB = 00, Q → 1 lo cual se asegura a través de G5, G8 y G4.
¡El análisis anterior es correcto, excepto por una pequeña suposición errónea! Desarróllese el diagrama
de microtemporización y encuéntrese la falla.
EL FLIP-FLOP 261
Fig. 7-49
262 EL FLIP-FLOP
Fig. 7-50
7.21 Considérese el circuito de la figura 7-51. Consúltese el problema 7,17 y determínense las salidas Q
y Q' cuando el reloj está en BAJO.
Fig, 7-51
EL FLIP-FLOP 263
7.23 Continuando la secuencia del problema 7.22, ¿qué le pasa a Q cuando el reloj regresa a 0?
7.25 Los resultados de los problemas 7.21 al 7.24 indican que el circuito de la figura 7-51 es un flip-flop
D disparado por flanco de subida. Dibújese un diagrama de microtemporización de voltaje para las
condiciones que se muestran en la figura 7-52, cuando el valor inicial de Q = 1.
Fig. 7-52
7.26 Con el fin de convertir un flip-flop D en uno JK se debe agregar lógica para hacer que el dispositivo
retenga su estado presente cuando las entradas JK = 00 y que cambie de estado cuando JK = 11.
Muéstrese la lógica.
7.27 Para la fabricación de una compuerta o un inversor en un chip a ¡a medida se necesita el acomodo
de los siguientes recursos:
Cada compuerta 2 unidades
Cada entrada (después de la primera) 0.5 unidades
Cada alambre de interconexión 0.25 unidades
(incluyendo las terminales de entrada y salida)
Si cada fuente de silicio cuesta 2 centavos de dólar, compárese el costo de un latch sencillo (figura 7-2)
con el del flip-flop JK de la figura 7-11.
7.28 Las salidas del flip-flop en el circuito de la figura 7-53 están conectadas a las entradas de selección de
un multiplexor. Este circuito se llama rastreador (scanner). Asumiendo el disparo por flanco de baja
da, hágase el diagrama de macrotemporización para las señales A, B y C y descríbase la acción de ras-
treo (scanning).
7.29 En el circuito del flip-flop JK que se muestra en la figura 7-12a, ilústrese el tiempo interno para la ac-
ción preset mediante el trazado del diagrama de microtemporización en voltaje para las compuertas
individuales. Asúmase inicialmente que Q = 0 y el reloj está deshabilitado (se mantiene en 0) cuando
la entrada preset se va a VERDADERO (BAJO).
7.30 Para el circuito del flip-flop JK que se muestra en la figura 7-12a, asúmase que J = 0, K = 1 y que
el circuito se fija inicialmente en Q = 1. Ilústrese el tiempo interno para un borrado síncrono mediante
el trazado del diagrama de microtemporización en voltaje para las compuertas individuales cuando
se aplica un solo pulso de reloj que va de bajo a alto.
7.31 En un circuito que presenta ¡a condición de metaestabilidad, ¿cuál es el efecto de duplicar la frecuencia
del reloj? Hay sólo una fuente de señal de reloj.
264 EL FLIP-FLOP
7.32 Empléense los valores numéricos del ejemplo 7.6 para obtener el valor de la razón que se obtuvo en
el problema 7.31.
7.33 Un estudiante ha diseñado el circuito que se muestra en la figura 7-54 como un flip-flop JK. Se intenta
que un pulso de reloj invertido bloquee k realimentación de las salidas QF y QF' hasta que la señal
de reloj regrese a 0. ¿Podrá el circuito cambiar de estado como se necesita? Obsérvese que en el diagra-
ma se emplea lógica positiva.
7.34 Con referencia al problema anterior, empléese el diagrama de tiempos de las formas de onda internas
para identificar un arreglo sencillo que habilitará el circuito del estudiante para satisfacer este objetivo
de diseño.
Fig. 7-53
EL FLIP-FLOP 265
Fig. 7-54
7.35 ¿Podrá el circuito que se muestra en la figura 7-55 convertir el flip-flop D en un flip-flop T? Demués-
trese la respuesta mediante un diagrama de tiempos.
Fig. 7-55
7.37 Empleando las técnicas del ejemplo 7.5 y con las compuertas AND-OR utilizadas en la lógica con
vencional reemplazadas por multiplexores encuéntrese la máxima frecuencia del reloj para un circuito
del tipo que se muestra en la figura 7-18. Utilícense los siguientes parámetros de tiempos para el dispo-
sitivo.
266 EL FLIP-FLOP
Fig. 7-56
7.17 El diagrama lógico y la tabla de estados se muestran en la figura 7-57. Obsérvese que esta tabla de esta-
dos está en lógica inversa a diferencia de aquella mostrada en la tabla 7.1.
S R Q n+1
0 0 *
0 1 1
1 0 0
1 1 Qn
Fig. 7-57
EL FLIP-FLOP 267
Tabla 7.9
T D Qn+1
0 0 0
0 1 1
1 0 Q'n
1 1 Qn
Fig. 7.58
7.20 La salida de la compuerta G7 va de 1 a 0 como se esperaba, pero solamente permanece ahí por un in-
tervalo de retardo; el circuito no asegura (véase la figura 7-32).
El hecho real es que la situación es mucho más severa que una sencilla funcionalidad inadecuada.
El flanco de bajada del pulso de la G7 afecta a la G5 y a la G8 las cuales, subsecuentemente, alimentan
de regreso un cambio de señal a G4, y así sucesivamente. Las conexiones en pareja cruzadas resultan
en inestabilidad y el circuito oscila continuamente, como se muestra en las formas de onda de la
simulación de la figura 7-59.
268 EL FLIP-FLOP
Fig. 7-59
7.21 Cuando el reloj está en BAJO, D no tiene efecto y se permite cualquiera de los estados de salida. Así,
el valor de Q depende de la historia anterior.
7.23 Q permanece en 0.
7.24 Q se va a 1 o permanece ahí si éste fue su estado inicial. Su valor no cambia cuando el reloj regresa a 0.
Fig. 7-60
7.27
Latch Flip-Flop JK
Es importante observar aquí que el flip-flop JK es capaz de realizar operaciones más complicadas que el
latch sencillo.
EL FLIP-FLOP 269
7.28 Las líneas de entrada del multiplexor serán seleccionadas en el siguiente orden 0-4-2-6-1-5-3-7-0. El
diagrama de tiempos se muestra en la figura 7-62.
Fig. 7-61
Fig. 7-63
7.30 Véase la figura 7-64,
Fig. 7-64
EL FLIP-FLOP 271
7.33 El diagrama de tiempos para JK = 11 se muestra en la figura 7-65. El circuito intenta cambiar de esta-
do, pero la salida cambia solamente mientras que el pulso de reloj invertido esté presente.
Fig. 7-65
Fig. 7-66
Fig. 7-67
272 EL FLIP-FLOP
7.36 Si el valor real de la salida difiere de D, entonces el dispositivo debe cambiar de estado. Véase la figura
7-68.
T = A1 D + AD'
Fig. 7-68
Combinaciones de flip-flops
8.1 REGISTROS
A la combinación de flip-flops activados por una señal de reloj común y arreglados de manera siste-
mática normalmente se le conoce como un registro. En este arreglo a cada flip-flop individual se
denomina etapa (stage). El estado del registro es la secuencia ordenada de las salidas (1 o 0) de los
flip-flops, expresado usualmente como un equivalente binario o número hexadecimal.
EJEMPLO 8.1 Determínese el estado de registro ordenado numéricamente que se muestra en la figura 8-1.
Asumiendo que la etapa R1 contiene el bit más significativo, el estado es 10110110 (en binario) o B6 (en
hexadecimal). Obsérvese que el estado del registro no involucra ninguna de las entradas de los flip-flops. Las
conexiones a las entradas, sin embargo, determinan la forma en la que el registro cambia de un estado a otro.
273
274 COMBINACIONES DE FLIP-FLOPS
EJEMPLO 8.2 Cuatro flip-flops D se conectan como el registro de aseguramiento que se muestra en la figura
8-2 junto con el diagrama de microtemporización de las señales de entrada. Asumiendo que los flip-flops con-
mutan instantáneamente en el flanco de subida del reloj, exprésese el estado del registro (como un número
hexadecimal con R, como el bit más significativo) después del primero, tercero y cuarto pulsos de reloj.
Exactamente antes del primer pulso de reloj, A = C= 1 y B = D = 0. Este dato se asegura en el flip-flop
mediante el flanco de subida produciendo las salidas R1, R2, R3, R4 igual a 1010 que es Ahex o $A. En el flanco
de subida del tercer pulso de reloj, todas las entradas son 1s y R1, R2, R3, R4 = 1111 = $F. Para el cuarto
pulso de reloj, A = 0 y B = C = D = l y la salida del registro es 0111 = $7.
Fig. 8-2
COMBINACIONES DE FLIP-FLOPS 275
276 COMBINACIONES DE FLIP-FLOPS
Registro de corrimiento
Es posible conectar las etapas de un registro de tal manera que el número binario que expresa el
estado del registro se recorra a la derecha o a la izquierda bajo la acción de un comando. Considére-
se el registro de corrimiento de ocho etapas formado con flip-flops D que se muestra en la figura
8-3a. Puesto que la entrada D de cada etapa está conectada a la salida Q del flip-flop a su izquierda
(anterior), lo que significa que el estado de cada flip-flop después del pulso de reloj será igual al
estado del flip-flop vecino a la izquierda antes del pulso de reloj. De esta manera, cada pulso de
reloj propicia el corrimiento a la derecha de un sólo bit.
Un registro de corrimiento también se puede hacer con flip-flops JK si se recuerda que un dis-
positivo JK se puede convertir en un flip-flop D mediante el arreglo de las entradas J y K de tal
forma de que sean lógicamente inversas una de la otra (sección 7.8). Se puede asegurar la inversión
lógica si J se maneja desde la salida Q, y K desde la salida Q' del mismo dispositivo. En la figura
8-3¿ se muestra un registro de corrimiento de cuatro etapas utilizando flip-flops JK.
Los datos se alimentan por la izquierda, y en los dos casos, sus bits están sincronizados con
los pulsos de reloj. A medida que el corrimiento se lleva a cabo, se introduce un sólo bit al mismo
tiempo que una palabra digital en el registro. Esto es similar a como se acomodan los platos en un
apilador con resorte en una cafetería. La analogía de los platos es adecuada, en este caso, ya que
los registros de corrimiento llamados pilas (stacks) se emplean como memorias temporales en
computadoras.
EJEMPLO 8.3 Diséñese un registro de corrimiento reversible (bidireccional) empleando flip-flops D para las
etapas. Este ejemplo muestra las posibilidades que se tienen al combinar elementos de almacenamiento (flip-
flops) y elementos lógicos (compuertas).
La dirección del corrimiento está determinada por las conexiones de las entradas D. Si la salida de la pri-
mera etapa se conecta con la segunda, y la segunda se conecta con la tercera, y así sucesivamente, el dato se
recorrerá a la derecha con cada pulso de reloj. Por otro lado, si la última salida controla a la penúltima etapa,
Fig. 8-4 Las conexiones para corrimiento a la izquierda se indican con líneas gruesas
COMBINACIONES DE FUP-FLOPS 277
y la salida de esta etapa controla a la precedente, etcétera, el registro se recorrerá a la izquierda. Es claro que
se necesita algún medio con el cual se puedan cambiar las conexiones de las entradas con un comando.
El multiplexor descrito en la sección 5.2 puede satisfacer este requerimiento de manera muy efectiva como
se muestra en la figura 8-4. En esa figura se presenta un registro de cuatro etapas. Cada entrada D se activa
mediante un multiplexor de dos entradas, de tal forma que si se utiliza una señal de control, llamada R/L,
como selector común a todos los multiplexores, entonces cada entrada D será conectada a la salida preceden-
te más cercana cuando R/L = 1 (corrimiento a la derecha) y a la salida subsecuente más cercana cuando
R/L = 0 (corrimiento a la izquierda).
a) Convertidor paralelo-serie
Si un tipo particular de flip-flop tiene entradas síncrona y asíncrona es posible utilizarlo en un regis-
tro arreglado para realizar una forma de manipulación de datos llamada conversión paralelo-serie. En
el sistema de la figura 8-5a, se tiene una palabra de 4 bits que originalmente está en forma paralela
(es decir, todos los bits se presentan simultáneamente en los cuatro alambres). Se desea obtener la
misma información en forma serial donde los bits individuales aparecen secuencialmente en un solo
alambre.
La acción de conversión se entiende mejor si se relaciona con el diagrama de tiempos de la figura
8-56. Se aplica primero la señal de borrado asíncrono (CLR), que inicializa a los flip-flops en el registro
a 0. Después, se aplica un pulso de carga (de datos). Esta última pasará a través de aquellas compuertas
AND donde el dato es 1 (D1 y D2) y fijará a los flip-flops correspondientes (B y C) en 1. En este
momento se ha leído (asegurado) el dato en paralelo dentro del registro.
Visto desde sus entradas (D) síncronas, los flip-flops se conectan como un registro de corri-
miento. Cuando se aplican de manera subsecuente los pulsos de reloj (CLK), el dato cargado se
recorre a la derecha, teniendo en la salida del flip-flop D un bit a la vez sincronizado con el reloj.
La conversión de los datos será apropiada en la medida que las señales se apliquen en el orden
mostrado. Obsérvese que los modos de operación síncrono y asíncrono se emplean separadamente
y nunca los dos a la vez.
Es posible conectar flip-flops de modo que el circuito cuente el número de pulsos que se presentan
a la entrada. Esto es, las salidas de los flip-flops, tomadas como un grupo, indicarán un número
binario igual al número de pulsos que se presentaron en la entrada desde el momento que se aplicó
el reset hasta el tiempo de observación. Los contadores de propagación son una clase de contadores
muy económicos en su diseño, aunque de algún modo lentos. Un ejemplo común se muestra en la
figura 8-6.
Con sus entradas JK fijas en 1 lógico, los flip-flops cambiarán de estado con cada pulso de
reloj (mediante flanco de bajada en este caso). Obsérvese que a diferencia de los registros de corri-
miento, no hay conexión común de la señal de reloj. En su lugar, con excepción del primero, cada
entrada de reloj de los flip-flops se maneja mediante la salida de la etapa anterior. El primer flip-flop
(D) cambiará de estado una vez por cada pulso de entrada, y el siguiente flip-flop (C) cambiará
de estado una vez por cada transición hacia abajo de D. De modo similar, C maneja a B que, a
su vez, maneja a A. Con referencia al diagrama de tiempos de la figura 8-66 en los intervalos apro-
piados, se puede determinar el estado de cada de los flip-flops siguiendo cada pulso de entrada (ta-
bla 8.1). Si la salida A se considera como el bit más significativo, se ve que el circuito funciona como
un contador binario de 4 bits. Aunque las formas de onda se detienen prematuramente se debe espe-
rar que este circuito cuente hasta 15 y reinicie en 0 en el décimo sexto pulso. Obviamente, la cuenta
pudiera ser más alta agregando etapas adicionales.
Puesto que cada flip-flop debe cambiar antes de que afecte a su sucesor, la cuenta actúa como
una onda o rizo a través de una cadena de flip-flops; de ahí el nombre de "contador de propaga-
ción".
Además de su utilidad como contador, el circuito de la figura 8-6a tiene otra característica muy
útil. A partir de las formas de onda de la figura 8-66 obsérvese que, de izquierda a derecha, la fre-
COMBINACIONES DE FLIP-FLOPS 279
Tabla 8.1
Pulso A B C D
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
10 1 0 1 0
11 1 0 1 1
12 1 1 0 0
280 COMBINACIONES DE FLIP-FLOPS
cuencia de cada etapa es exactamente la mitad de la de su predecesor. Así, el circuito se puede utili-
zar como un divisor de frecuencia preciso. Una aplicación común es en relojes digitales donde la
salida de un oscilador de cristal de alta frecuencia muy estable se divide para obtener pulsos exactos
un segundo.
EJEMPLO 8.4 Un problema común a los contadores de propagación se muestra en la figura 8-7 donde se ha
agregado una compuerta de reconocimiento para indicar la ocurrencia del sexto pulso después del reset. Sus
entradas son A'BCD', y se intenta producir una salida sólo cuando el estado del contador es 0110 (6 en deci-
mal).
b) Formas de onda
Fig. 8-7
COMBINACIONES DE FLIP-FLOPS 281
Desafortunadamente, debido al inevitable tiempo de retardo de propagación asociado con cada flip-flop
(sección 7.9), pueden ocurrir varios estados transitorios durante la transición de una cuenta a otra a medida
que los flip-flops se disparan secuencialmente. La tabla 8.2 muestra la secuencia de estados que pasaron
durante la transición de la cuenta 7 a la 8. Cuando D cambia de 1 a 0, dispara a C que a su vez cambia de 1 a
0 disparando a B el cual en su momento, propicia que A cambie de 0 a 1. Los estados estables se muestran
con negritas, y los estados transitorios en un tipo normal. El número binario 0110 existe brevemente
causando el glitch que se ve en la figura 8-7b.
Tabla 8.2
En adición a su susceptibilidad a los glitches, los contadores de propagación tienen limitaciones de veloci-
dad puesto que los retardos de tiempo se acumulan. Para que un contador de N etapas trabaje apropiadamente
los pulsos de entrada deben estar separados por lo menos el máximo retardo de tiempo de la propagación, (N-
l)Tp, donde Tp es el tiempo de propagación del flip-flop. Así, un contador de propagación es adecuado para el
conteo de objetos sobre una banda transportadora pero totalmente inadecuado para mantener el orden de los
pulsos que se mueven dentro de una computadora de alta velocidad.
a) Multiplicador de tasa
b) Formas de onda
Fig. 8-8
COMBINACIONES DE FLIP-FLOPS 283
cuarto pulso de entrada, y ninguno de estos pulsos de G4 se presentará al mismo tiempo como
cualquiera de los pulsos de G8 puesto que A y A' no pueden ser VERDADERAS simultáneamente.
De manera idéntica, G2 y G1 permiten el paso de los pulsos octavo y dieciseisavo, respectivamente,
sin traslaparse. Todas las salidas de las compuertas de reconocimiento se pasan a través de una com-
puerta OR para producir la salida del sistema F la cual se puede alimentar por el amplificador de
potencia y por tanto por el motor.
Se ve que es posible, mediante la apropiada selección de los valores de control, crear la tasa de
pulsos de salida igual a cualquiera de las dieciséis fracciones desde 0 hasta 15/16 de la tasa de
pulsos de entrada en pasos de un dieciseisavo. En el ejemplo que se muestra en la figura 8-8a, las
variables de control C8 y C2 son VERDADERAS, mientras que C4 y C1 son FALSAS, y el número
binario resultante 1010 hace que la salida produzca 10 pulsos por cada 16 pulsos de entrada. La
figura 8-86 muestra que los pulsos de salida no están uniformemente espaciados, más bien se pre-
sentan de una manera irregular que se investigará cuantitativamente en el problema 8.12.
Una ecuación que expresa la tasa de multiplicación como una función de las variables lógicas
de control se puede escribir como
RAM es el nombre que se le da a una clase de elementos de memoria cuyo contenido se puede alterar
(escribir a) así como leer a velocidades electrónicas. Esto podría visualizarse mejor como un arreglo
de registros direccionables, cada uno de los cuales retiene una palabra binaria de n bits. La figura
8-9 muestra la estructura del equivalente lógico de una RAM de 4 bits, una de sus características
prominentes es un decodificador de direcciones, funcionando exactamente como un ROM, la cual
selecciona al registro apropiado (renglón horizontal de flip-flops).
Una definición breve está acorde en este punto. Se dice que una compuerta AND está primada si
todas sus entradas excepto una se conectan a 1 lógico (VERDADERO). En este caso, su salida
asumirá el valor lógico de la entrada restante y se puede pensar en la compuerta como un centinela
que permite el paso de señales cuando está primado, y si no lo está, las bloquea. Se ve que la salida
del decodificador de direcciones prima (pone ls) a dos compuertas AND en el renglón seleccionado
de manera que si la señal de lectura (R) está presente, la compuerta de lectura producirá una salida
VERDADERA al igual que la compuerta de escritura si la señal de escritura (W) está presente.
284 COMBINACIONES DE FLIP-FLOPS
Cada columna de flip-flops corresponde al rango del bit (más significativo a la izquierda y me-
nos significativo a la derecha). Las entradas D de todos los flip-flops en la misma columna se conec-
tan conjuntamente a una línea de entrada de datos, como se muestra en la figura 8-9. Si se aplica un
pulso de escritura pasará a través de la compuerta AND primada la señal de reloj para que el dato
entre a todos los flip-flops en el renglón seleccionado (direccionado), almacenando de esta manera
una palabra binaria de n bits en la localidad especificada.
En el modo de lectura, se prima una compuerta AND conectada a la salida de cada flip-flop
en el renglón seleccionado mediante el decodificador de direcciones, de modo que para cada colum-
na el valor del bit almacenado se pasa por una gran compuerta OR la cual tiene tantas entradas
como la capacidad de almacenamiento direccionable de la RAM. Las salidas de las compuertas
AND conectadas de igual modo a partir del bit del mismo orden (columna) en todas las palabras
almacenadas constituyen otras entradas a esta compuerta OR. Puesto que la palabra seleccionada
(renglón) es la única de las compuertas AND con salida primada, todas las otras entradas a la com-
puerta OR de salida en cada columna debe ser 0 y los datos de salida se determinarán solamente
mediante los bits en la palabra seleccionada.
COMBINACIONES DE FLIP-FLOPS 285
En la práctica, todos los datos que entran o salen de la memoria pasan a través del registro de
entrada/salida (E/S), como se muestra en la figura 8-10. Este registro debe comunicarse con los
chips de datos de entrada que se encuentran alejados así como enviar datos al mundo exterior. En
la figura 8-11 se muestra una celda de E/S normal. Obsérvese que los datos entran y salen del chip
de la memoria por el mismo camino (llamado bus de datos). Los datos se aseguran en un registro
de E/S a través de sus entradas D las cuales se conectan al bus de datos cuando la señal de escritura
está presente y del chip de la memoria mediante la salida de las compuertas OR cuando se aplica la
señal de lectura. Las conexiones de cada bit de salida del registro de E/S al bus de datos se hace
BUS DE DATOS
LECTURA (READ)
ESCRITURA (WRITE)
DIRECCIÓN
Fig. 8-10 Memoria RAM de 4 bits con registro de E/S
286 COMBINACIONES DE FLIP-FLOPS
mediante un circuito llamado buffer TRI-STA TE®* (de tres estados) el cual cuando se habilita me-
diante la señal de lectura, provee una trayectoria conductiva y cuando no se habilita, actúa como un
interruptor abierto. A través de este medio, es posible prevenir que la salida de registro de E/S
interfiera con los datos de entrada durante una operación de escritura. En general, actuando como
interruptores controlados, los buffers TRI-STATE® permiten que varios circuitos compartan un bus
de datos común sin interacción. Los símbolos TRI-STATE® típicos se muestran en la figura
8-12.
HABILITACIÓN
HABILITACIÓN
Problemas resueltos
Obsérvese que algunos de los problemas que siguen involucran circuitos secuenciales que requieren
de un análisis cuidadoso de estados antes de la tabulación de las salidas resultantes y de que se reciba
un pulso de reloj. Los métodos que se analizaron en este capítulo son adecuados para circuitos rela-
tivamente simples. Un método sistemático más poderoso para analizar circuitos secuenciales en ge-
neral se describe en conexión con el estudio de las máquinas de estado en el capítulo 10.
8.1 Un registro de corrimiento que está conectado a un lazo que tiene una inversión lógica en un
punto se denomina contador Johnson o Mobius. Una versión de cuatro etapas empleando flip-
flops D se muestra en la figura 8-13. Asumiendo que inicialmente está borrado y la transición
se presenta con los flancos de subida del reloj muéstrense las formas de onda del diagrama de
macrotemporización en las salidas de cada etapa.
288 COMBINACIONES DE FLIP-FLOPS
Cuando se aplica el reset, todas las salidas Q estarán en 0 lógico. D' estará en 1 lógico, lo que
propiciará que A se vaya a 1 hasta la primera transición de subida de la señal del reloj. La salida A,
que es el dato de entrada para B, hará que este flip-flop se vaya a 1 lógico en el segundo pulso del reloj.
Este cambio será transferido a C el cual, a su vez, causará que D cambie en el pulso 4. En este momen-
to, D' se va a 0 propiciando que A se vaya a 0 lógico en el pulso 5. Una transición de ALTO a BAJO
ahora se propaga a través del contador hasta que éste alcanza D, tiempo en el cual, el proceso se repite.
Las formas de onda se muestran en la salida de la simulación de la figura 8-14.
8.2 Para el contador de la figura 8-15a, asúmase que los flip-flops son dispositivos maestro-
esclavo del mismo tipo que se analizaron en el capítulo 7. Si todos los flip-flops se disparan
con el naneo de subida del pulso de reloj y se asume que inicialmente están borrados, dibú-
jense las formas de onda en A y C para 10 pulsos de reloj (ignorando los retardos de
propagación).
Como en el problema 7.9, tabúlense los valores de las entradas de los flip-flops JK después de
cada pulso de reloj (véase la tabla 8.3). Las formas de onda que se muestran en la figura 8-15b se pue-
den dibujar mediante la lectura de los valores lógicos de la tabla.
COMBINACIONES DE FLIP-FLOPS 289
a) Contador
b) Formas de onda
Fig. 8-15
Tabla 8.3
Pulso A B c JA(= C´) KA JB(=A) KB JC(=B) KC(=B')
0 0 0 0 1 1 0 1 0 1
1 1 0 0 1 1 1 1 0 1
2 0 1 0 1 1 0 1 1 0
3 1 0 1 0 1 1 1 0 1
4 0 1 0 1 1 0 1 1 0
Fig. 8-16
Obsérvese que una transición de 1 a 0 de un flip-flop propicia que la etapa a su derecha cambie
de estado, de este modo, se crea un contador de propagación, como se describió en la sección 8.3. La
secuencia de estados se muestra en la tabla 8.4 a partir de la cual se obtienen las formas de onda desea-
das de la figura 8-17.
COMBINACIONES DE FLIP-FLOPS 291
Fig. 8-17
Tabla 8.4
SELECCIÓN
PULSO D A B C ENTRADA AL MUX SALIDA DEL MUX (F)
1 1 1 0 0 4 (0) 0
2 1 0 1 0 2 (D´ ) 0
3 1 1 1 0 6 (D) 1
4 0 0 0 1 1 (0) 0
5 0 1 0 1 5 (1) 1
6 0 0 1 1 3 (D´ ) 1
7 1 1 1 1 7 (D) 1
8 1 0 0 0 0 (D 1
9 0 1 0 0 4 (0) 0
10 1 0 1 0 2 (D´ ) 0
11 1 1 1 0 6 (D) 1
12 1 0 0 1 1 (0) 0
8.4 El circuito que se muestra en la figura 8-18 es un contador. Dando por hecho que está
inicial-mente borrado encuéntrese la secuencia de conteo. (Nótese que el material sobre
máquinas de estado en el capítulo 10 es importante.)
A partir del diagrama lógico, las ecuaciones para las entradas de los flip-flops D son
292 COMBINACIONES DE FLIP-FLOPS
Fig. 8-18
COMBINACIONES DE FLIP-FLOPS 293
Tabla 8.5
Pulso W X Y Z
0 0 0 0 0
1 1 0 0 1
2 0 1 1 0
3 1 1 0 0
4 0 0 1 1
5 1 0 1 1
6 0 1 1 1
7 1 1 1 1
Se repite
Fig. 8-19
294 COMBINACIONES DE FLIP-FLOPS
8.5 Se ha mostrado previamente el problema de los glitches que se puede presentar en un conta-
dor de propagación con una compuerta de reconocimiento (figura 8-7). El circuito se repro-
duce por conveniencia en la figura 8-20.
Muéstrese que para el caso donde los flip-flops cambian de estado mediante transiciones del reloj
de 1 a 0, una compuerta de reconocimiento alambrada para responder a un número impar no será afec-
tada por un glitch.
Un número impar se obtiene cada vez que el bit menos significativo (D) cambia a 1. Puesto que
esto es una transición de 0 a 1, no iniciará una transición en el flip-flop C o, consecuentemente, en
ningún otro de los flip-flops. De esta manera, la propagación no se presenta y por lo tanto el glitch.
8.6 Con referencia al problema 8.5, ¿bajo qué circunstancias habrá la posibilidad de un glitch
en la salida de un conjunto de compuertas de reconocimiento que responda a una cuenta
en el estado 0000?
Fig. 8-20
8.7 El sistema que se muestra en la figura 8-21 intenta ser un generador de funciones.
Asumiendo que los pulsos de borrado y de reloj se presentan en el orden mostrado, que el
disparo ocurre con el flanco de subida y que A es el bit de selección más significativo,
dibújense las formas de onda a las salidas de los flip-flops (diagrama de
macrotemporización).
Tabla 8.6
1 a2 3 a 4 5 a 6 7a8
ABCD ABCD ABCD ABCD
0001 0011 0101 01 1 1
0000 (X) 0010 0100 01 10
0010 0000 (X) 0110 0100
0100 0000 (X)
1000
9 a 10 11 a 12 13 a 14 15 a 0
ABCD ABCD ABCD ABCD
1001 101 1 1 101 1111
1000 1010 1 100 11 10
1010 1000 1110 1100
1 100 1000 Salida deseada
0000 de la compuerta
Fig. 8-21
296 COMBINACIONES DE FUP-FLOPS
Después de recibir el pulso de CLR (borrado), la dirección de la ROM será 000 la cual selecciona
a la línea 0. El dato almacenado en la dirección seleccionada se conecta a las entradas D de los flip-flops
e indica en qué estado estará después del pulso de reloj. En el presente caso, la ROM ha almacenado
un 010 en la dirección 000 indicando que se seleccionará la línea 2 cuando llegue el siguiente pulso de
reloj. El proceso continúa y produce los siguientes equivalentes decimales de la secuencia binaria:
Las formas de onda requeridas se construyen fácilmente con líneas verticales, asignando niveles
0 y 1 correspondientes a los números binarios que representan cada estado en la secuencia, como se
muestra en la figura 8-22.
4. Puesto que la cuenta de 0 se debe desplegar por espacio de 50 ns, por especificación se debe permitir
que transcurran 40 ns (50 menos los 10 ns del retardo de la primera etapa) antes de que se pueda
aplicar el siguiente pulso.
El mínimo tiempo entre los pulsos Tmin es (20N + 40) ns, de modo que la máxima frecuencia
permitida para N etapas está dada por
Para N = 4
Fig. 8-23
Fig. 8.24
298 COMBINACIONES DE FLIP-FLOPS
Tabla 8.7
Pulso A B C JA (=B') KA JB (=A) KB (=C) JC(=B) KC
0 0 0 0 1 1 0 0 0 1
1 1 0 0 1 1 1 0 0 1
2 0 1 0 0 1 0 0 -j 1
3 0 1 0 0 1 0 0 1 1
El circuito se detiene después del segundo pulso de reloj puesto que las entradas JK al flip-flop
A demandan que A = 0 (estado en el que ya se encuentra), las entradas JK en 00 para el flip-flop B
indican la condición actual. No hay transición de la señal de reloj en el flip-flop C puesto que A no
ha cambiado.
8.10 Una vez más asumiendo el borrado inicial, dibújese el diagrama de microtemporización para
las salidas de los flip-flops B y C en el problema 8.9. Asúmase que cada flip-flop tiene un
retardo de una unidad correspondiente a las marcas gruesas en la forma de onda de la figura
8-24.
Las formas de onda se pueden inferir a partir de la tabla 8.7 donde se ve que C permanece en 0
lógico y se presenta un cambio en la salida B en el segundo pulso de reloj. Esta transición presenta
un intervalo de retardo siguiente al flanco de bajada del pulso de reloj, como se muestra en la figura
8-25.
Fig. 8-25
COMBINACIONES DE FLIP-FLOPS 299
8.11 Asumiendo que los flip-flops en la figura 8-26 inicialmente están borrados, determínese la
secuencia de conteo (estados secuenciales de las salidas ABC, a medida que se aplican los
pulsos de reloj).
Fig. 8-26
Asúmase que el circuito responde a los flancos de bajada del reloj. Como en el problema 8.2, tabú-
lense las entradas JK después de cada pulso para determinar el siguiente estado de cada flip-flop (tabla
8.8). Puesto que el flip-flop B se dispara a partir de C, B sólo cambiará al estado siguiente con una
transición de 1 a 0 en la salida C, sin considerar sus entradas JK. Por lo tanto, el estado de C se debe
analizar primero. El circuito cuenta de 0 a 4 y se repite.
Tabla 8.8
Es interesante observar que si se intenta iniciar el contador sin borrarlo a 000, hay dos estados
iniciales donde el circuito está esencialmente bloqueado y no responderá a los pulsos de reloj. El prime-
ro de dichos estados es ABC = 110. En este caso, JK = 00 para los flip-flops A y C (no se presentará
ningún cambio), y puesto que B no puede cambiar de estado a menos que haya una salida de C, el
circuito permanecerá estático. El segundo caso es ABC = 111. Aquí, las entradas del flip-flop A son
JK = 10, las cuales se programan para un estado en el que el flip-flop ya está. El flip-flop C tiene
JK = 00, lo que indica que no se presentará cambio en C, y consecuentemente, en B tampoco de modo
que el circuito no empezará a contar.
El único estado remanente fuera de la progresión de la cuenta normal que se muestra en la tabla
8.8 es ABC = 101. Es fácil mostrar que iniciar desde este estado, el circuito entrará a su secuencia
normal de conteo en 001 después de un pulso de reloj. El comportamiento de la secuencia de conteo
del circuito se puede presentar en un diagrama como se muestra en la figura 8-27.
300 COMBINACIONES DE FLIP-FLOPS
Fig. 8-27
Fig. 8-28
Para una multiplicación de 11/16, los pulsos vienen de G8 con la adición de pulsos espaciados de
G2 y G1. El máximo espaciamiento es entre dos pulsos consecutivos de G8, o 2T; el mínimo espacia-
miento es la distancia entre dos pulsos de entrada consecutivos, o T. Una vez más el asincronismo es 2.
8.13 Considérese el registro de aseguramiento de la figura 8-2. Supóngase que los datos en las líneas
de entrada A a D están cambiando a razón de 2 MHz, mientras que el registro licnt una señal de
reloj de 10 MHz. Calcúlese el tiempo medio entre fallas metaestables usando Tw = 0.5 s y
TR = 0.75 x 109 s -1. Repítase el cálculo para el caso donde TR se decrementa por un orden de
magnitud.
COMBINACIONES DE FLIP-FLOPS 301
donde Fdk = 10 7 s -1
Fdatos = 2 x 106 a-1
∆t = 10-7 s (el periodo del reloj)
MTBF = 3.73 x 10 19 s y, para todo propósito práctico no hay comportamiento metaestable.
En el segundo caso, TR = 0.75 x 108 s-1, MTBF = 1.8 x 10 -10 = 0.18 ns y, el comportamiento
metaestable es ahora un serio problema. Obsérvese la sensibilidad de la razón de falla debida al
parámetro T R, el cual depende de la tecnología.
Fig. 8-29
El pulso de inicialización fija al flip-flop A y borra al resto de los flip-flops de modo que el estado
inicial es ABCD = 1000. Antes de cada pulso de reloj, se examinan las salidas de las compuertas XOR
y se determinan las entradas D como sigue:
DA = QD
DB = QA ⊕ QD
DC = QB
DD = QC
302 COMBINACIONES DE FLIP-FLOPS
Estos valores son los que tendrán los flip-flops después de cada pulso de reloj, dando como resul-
tado la secuencia que se lista en la tabla 8.9. Obsérvese, por ejemplo, que después de tercer pulso de
reloj, el 1 lógico en la salida del flip-flop D hace que las entradas DA y DB sean iguales a 1 y que estos
valores se transfieren a las salidas A y B en el pulso 4. Después del séptimo pulso, donde A y D son
igual a 1 lógico, la compuerta Gi tiene una salida 0 la cual se refleja en el valor de B igual a 0 en el
pulso 8.
Tabla 8.9
Pulso A B C D Pulso A B C D
0 1 0 0 0 8 1 0 1 0
1 0 1 0 0 9 0 1 0 1
2 0 0 1 0 10 1 1 1 0
3 0 0 0 1 11 0 1 1 1
4 1 1 0 0 12 1 1 1 1
5 0 1 1 0 13 1 0 1 1
6 0 0 1 1 14 1 0 0 1
7 1 1 0 1 15 1 0 0 0
Puesto que transcurren quince pulsos antes de que se repita la secuencia, el circuito es un genera-
dor PRBS de máxima longitud. Un diagrama de tiempos como resultado de una simulación se muestra
en la figura 8-30 donde se ha escogido arbitrariamente un estado ABCD = 1000 para ilustrar la acción
del reset.
Fig. 8-30
8.15 El circuito que se muestra en la figura 8-31 representa una forma alternativa de un generador
PRBS. Se puede considerar al sumador módulo-2 como un circuito que verifica la paridad
de sus entradas y produce un 1 en su salida cuando la paridad es impar. El registro de corri-
miento no se muestra con detalle; en su lugar, sus cinco etapas se representan mediante blo-
ques a partir de los cuales las señales se conectan a una compuerta AND y se alimentan de
regreso al sumador asumiendo que se toman de las salidas Q de los flip-flops comprendidos
en las etapas.
COMBINACIONES DE FLIP-FLOPS 303
Si el registro está cargado inicialmente con 10000, muéstrese que el circuito funciona
como un generador PRBS de máxima longitud, como se definió en el problema 8.14, y que
la salida de la compuerta AND produce 1s con una probabilidad igual a 8/31.
Considérese que las etapas del registro de corrimiento de izquierda a derecha son ABCDE. El esta-
do después de cada pulso de reloj se muestra en la tabla 8.10.
Puesto que se toman 31 ciclos de reloj para repetir la secuencia, se ve que el circuito es un genera-
dor PRBS de máxima longitud, y puesto que se producen ocho 1 s por cada 31 pulsos de reloj, la proba-
bilidad de tener un 1 a la salida es de 8/31.
Fig. 8-31
Tabla 8.10
Reloj ABCDE Salida Reloj ABCDE Salida
0 10000 0 16 11110 1
1 01000 0 17 11111 1
2 10100 0 18 01111 1
3 01010 1 19 00111 0
4 10101 0 20 10011 0
5 11010 1 21 11001 0
6 11101 0 22 01100 0
7 01110 1 23 10110 0
8 10111 0 24 01011 1
9 11011 1 25 00101 0
10 01101 0 26 10010 0
11 00110 0 27 01001 0
12 00011 0 28 00100 0
13 10001 0 29 00010 0
14 11000 0 30 00001 0
15 11100 0 31 10000 0
304 COMBINACIONES DE FLIP-FLOPS
Problemas suplementarios
8.16 Para el multiplicador de tasa binario de la figura 8-8, determínense las formas de onda de las salida
para C1 C2 C4 C8 = 1001.
8.18 Un estudiante decide emplear la salida de una compuerta de reconocimiento para inicializar un conta-
dor de propagación a 0000 después de que éste alcanza la cuenta de seis, como se muestra en la figura
8-32. Los flip-flops elegidos se disparan con una transición del reloj de 0 a 1 y se borran mediante la
entrada de reset en estado bajo. Cuando se construye el circuito algunas veces opera como se deseaba
originalmente y otras veces comienza, cuando se enciende, en una cuenta aleatoria. ¿Cuál es la error
en el diseño?
Fig. 8-32
8.19 Rediseñese el circuito del problema 8.18 empleando una señal de reset adicional para inicializar el con-
tador a 0. Evalúese su diseño con un diagrama de microtemporización.
8.20 El circuito en la figura 8-33 se conoce como un autómata celular. Muéstrese que funciona como un
generador PRBS de máxima longitud (véase el problema 8.14).
8.21 El diseño que se muestra en la figura 8-34 se ha estudiado previamente en el problema 7.8 donde
se estableció que los flip-flops T se disparaban con el flanco de bajada y el flip-flop D con el flanco
de subida. Se quiere modificar el circuito de modo que cuando ABC = 011, la operación se congele
en este estado hasta que se presente un borrado manual. Implántense los flip-flops toggle con JKs y
em-pléese una compuerta de reconocimiento de dos entradas para alcanzar el desempeño deseado.
De muéstrese la operación con un diagrama de tiempos.
COMBINACIONES DE FLIP-FLOPS 305
Fig. 8-33
Fig. 8-34
8.22 Un estudiante quiere diseñar un circuito que cuente de 0 (0000) a 9 (1001) y que se inicialice a sí mismo
a 0000 en el décimo pulso de reloj. Se combina un contador de propagación con una compuerta de
reconocimiento y un inversor para llevar a cabo esta función. Consúltese la figura 8-35, en la cual se ve
que cuando se alcanza la cuenta de 9, los flip-flops A y D son simultáneamente ls para la primera
306 COMBINACIONES DE FLIP-FLOPS
vez de la secuencia y estas señales se emplean para primar una compuerta AND y así guiar al siguiente
pulso de reloj hacia la línea de reset. Dibújese el diagrama de microtemporización y coméntese sobre
la operación del circuito.
Fig. 8-36
COMBINACIONES DE FLIP-FLOPS 307
Fig. 8-37
8.23 Modifíquese el diagrama del problema 8.22 de modo que funcione como un circuito divisor entre 10
en el que la línea de reset sirva como una salida que produce un pulso por cada 10 pulsos de reloj.
Valídese el diseño con una carta (diagrama) de tiempos.
8.24 Modifíquese el circuito de la figura 8-45 en la página 311 para acondicionar los flip-flops de manera
que las entradas set y reset se activen con el estado ALTO en lugar de que lo hagan con el estado BAJO.
8.25 ¿Tiene algún efecto significativo en el diagrama de tiempos el cambio en hardware que se hizo en el
problema 8.24?
8.26 Diséñese un contador Mobius de 10 estados y agregúese una compuerta de reconocimiento para identi-
ficar los estados 3 y 7.
8.27 Valídese la operación del circuito de la figura 8-49 con un diagrama de tiempos dibujado para flip-
flops que se disparan con el flanco de subida. Asúmase que el contador está inicialmente borrado.
308 COMBINACIONES DE FLIP-FLOPS
8.28 Diséñese un contador de propagación binario de 10 estados con las apropiadas compuertas de recono-
cimiento para identificar los estados 3 y 7.
8.29 Establézcase cómo se deben interconectar una cadena de flip-flops JK para que actúen como un regis-
tro de corrimiento de n etapas que recorra los datos a la derecha cuando la señal de control R = 1
y a la izquierda cuando R = 0.
8.30 Asumiendo que el circuito que se muestra en la figura 8-36 está inicialmente borrado en 0000, determí-
nese la secuencia de conteo si D es el bit más significativo.
8.31 Repítase el problema 8.30 cuando la cuenta inicia a partir de número binario 1111.
8.32 Las entradas de un registro con flip-flops D se manejan a partir de la lógica que se muestra en la figura
8-37. Asumiendo que los flip-flops se borran en t = 0, determínese la secuencia de conteo.
Fig. 8-38
Fig. 8-39
8.18 No hay un medio para la inicialización del circuito y, en la energización, éste puede asumir cualquier
cuenta desde 0 (0000) hasta 15 (1111).
8.19 Una versión modificada del circuito se muestra en la figura 8-40 en el cual se han resaltado las adiciones
hechas. El reset se puede forzar ya sea por la compuerta de reconocimiento o por la seflal de inicializa-
ción. El diagrama de microtemporización se obtiene mediante simulación (véase la figura 8-41). Obsér-
vese que el estado 6 existe solo el tiempo suficiente para que se reconozca su valor, propagándose a
través de las compuertas AND y ÑOR, y le da reset al contador de propagación. Esto puede ser un
serio problema, particularmente con un reloj de alta frecuencia, y el diseñador debe tomar esto en
cuenta.
COMBINACIONES DE FLIP-FLOPS 309
Fig. 8-40
Fig. 8-41
8.20 Como se parte de un estado diferente de cero, asúmase que ABCD = 1000. La secuencia
conforme al reloj se muestra en la tabla 8.11, lo cual toma 15 pasos antes de que se repita el ciclo.
Por lo tanto es de máxima longitud para cuatro flip-flops.
Tabla 8.11
8.21 Véanse las figuras 8-42 y 8-43. Los comentarios sobre este problema se pueden encontrar en el apén-
dice C.
310 COMBINACIONES DE FLIP-FLOPS
Fig. 8-42
Fig. 8-43
8.22 Véase la figura 8-44. El mismo pulso de reloj que activa al reset también avanza la cuenta a 1,
saltándose la cuenta 0. Puesto que se genera un pulso de reset para cada nueve pulsos de reloj, el
contador hace un excelente circuito divisor entre 9.
COMBINACIONES DE FLIP-FLOPS 311
Fig. 8-44
Fig. 8-45
Fig. 8-46
312 COMBINACIONES DE FLIP-FLOPS
Fig. 8-47
8.25 Comparando los diagramas de microtemporización de las figuras 8-46 y 8-48, en los dos casos se ve
que los circuitos permanecen en la cuenta de 10 durante algo más de medio ciclo de reloj antes de reini-
ciar en 0. El pulso de reset es más angosto que un intervalo de retardo de propagación en el segundo
caso, y si se incrementa lo suficiente la frecuencia del reloj, se presentará un problema de metaestabili-
dad.
Fig. 8-48
COMBINACIONES DE FLIP-FLOPS 313
8.26 Véase la figura 8-49. Obsérvese que las compuertas de dos entradas son adecuadas.
Fig. 8-49
Fig. 8-50
8.29 Las ecuaciones acopladas son Jn = RQn-1 + R'Qn + 1 y Kn = RQ'n-1 + R Qn + 1- Una implantación
de este arreglo se muestra en la figura 8-52, que se debe comparar con el circuito de la figura 8-4.
8.30 Comenzando a partir de cero, la cuenta en decimal alterna continuamente como sigue 1,2, 1,2, ...
Fig. 8-51
Fig. 8-52
Capítulo 9
Aplicación de dispositivos específicos
9.1 INTRODUCCIÓN
Hay muchas aplicaciones para la lógica digital donde el mercado no es lo suficientemente grande
para desarrollar un chip MSI o LSI de propósito especial. Sin embargo, el mercado total para dispo-
sitivos a la medida de todas las clases es muy grande. Esta situación ha conducido al desarrollo de
dispositivos lógicos programables (PLD), los cuales se pueden producir en grandes volúmenes y
configurar fácilmente por el propio usuario para aplicaciones especializadas.
Los dispositivos lógicos programadles (PLD) se pueden dividir en dos grandes categorías. La
primera, circuitos en los cuales la programación para una aplicación específica causa un cambio
físico en el dispositivo, se discutirá en este capítulo. La segunda, en la cual las funciones lógicas
se controlan mediante señales electrónicas, se discute en el capítulo 11.
Otro enfoque al mercado de circuitos integrados a la medida es la creación de una biblioteca
estándar de componentes que se puedan fabricar directamente sobre silicio. Esta biblioteca, fácil
de leer por una computadora, contiene información de fotolitografía necesaria para fabricar los
componentes y las reglas de diseño para interconectarlos. Se combinan un poderoso hardware
(computadora) y el software para crear un chip de silicio a la medida del usuario. Este enfoque pro-
duce circuitos que se denominan circuitos integrados a la medida o, de manera más general, circui-
tos integrados de aplicación especifica (ASIC).
Obsérvese que los PLD mencionados son también dispositivos de aplicación específica. En ge-
neral, la distinción entre algunos de los tipos se hace con base en la estructura incorporada por el
vendedor, la naturaleza de la técnica de programación requerida, la capacidad para borrar lo pro-
gramado y el tiempo necesario para hacer esto último.
Enlaces de fusible
En este caso, la lógica se construye con todas las posibles conexiones internas preestablecidas du-
rante la fabricación pero determinadas por el usuario. Estas conexiones se crean con un material
fusible, y el dispositivo para una aplicación específica se hace mediante el quemado de los fusibles
sobre las conexiones que requieren removerse. El chip se diseña para que permita el paso a corrien-
tes relativamente altas a través de enlaces de fusibles específicos seleccionados por el usuario durante
el proceso de programación. Obviamente, este método de programación no es reversible.
315
316 APLICACIÓN DE DISPOSITIVOS ESPECÍFICOS
Hay muchas situaciones donde es necesario un borrado más rápido que el de 10 minutos. En este
caso, el borrado se puede llevar a cabo electrónicamente que es, en esencia, un proceso inverso al
de programación. En algunos dispositivos de este tipo es posible borrar de manera selectiva sólo
una parte del dispositivo, en tanto que en otros, se debe borrar todo el chip. El borrado electrónico
de alta velocidad se conoce borrado "flash" y se puede llevar a cabo en segundos.
En lo que respecta al usuario, los procesos de programación para dispositivos borrables y de
enlaces de fusibles son en escencia los mismos.
La memoria sólo para leer programable (PROM) es un dispositivo programable con una estructura
específica. Es una ROM (véase la sección 5.4) en la cual el usuario controla las conexiones a las
entradas de las compuertas OR. Se tienen estos dispositivos en diferentes modalidades (versiones),
con enlaces de fusibles (PROM), borrables con luz ultravioleta (EPROM) y borrables electrónica-
mente (EEPROM). Todas las PROM contienen un decodificador completo cuyas salidas se
construyen de tal modo que es posible establecer una conexión entre cada una de éstas y la entrada
de cualquiera de las compuertas OR. La estructura se muestra en la figura 9-1.
El decodificador completo con N bits para la dirección puede producir una señal en cualquiera
de sus 2N líneas de salida, de modo que cuente para cada renglón de la tabla de verdad. Puesto que
las entradas a la lógica sirven como bits de direcciones y el decodificador tiene 2N líneas de salida
para N bits en la dirección, cada vez que se agrega una nueva entrada lógica, el tamaño del decodifi-
cador se duplica. Las PROM no son particularmente útiles para la implantación de lógicas que re-
quieren un gran número de entradas debido a que se necesitaría un área de silicio muy grande para
el decodificador. Además, la estructura no le permite al diseñador aprovechar las ventajas de las
condiciones "no importa". La mayor aplicación de las ROM, PROM, EPROM, etcétera, es el al-
macenamiento de instrucciones para aplicaciones en computadoras más que la implantación de ló-
gica. Las PROM generalmente se programan determinando el patrón de interconexión deseado y
tratándolo como un grupo de números hexadecimales que serán almacenados en la memoria.
APLICACIÓN DE DISPOSITIVOS ESPECÍFICOS 317
SALIDAS
Representa un punto de conexión que se
selecciona por el usuario.
Fig. 9-1 Arquitectura de una PROM (N = 3)
EJEMPLO 9.1 Prográmese una EPROM para convertir un número binario de 4 bits en su equivalente en código
Gray. La situación contraria de este problema y la tabla de verdad apropiada se muestran en el problema 5.8.
Estrategia: Trátese al dispositivo como una tabla de definición de teclas en la cual los dígitos binarios se
emplean como direcciones específicas cuyo contenido son los números en código Gray correspondientes. Las
conexiones se muestran en la figura 9-2. El programa realmente empieza en la dirección 0000 y se lista en hexa-
decimal como 0, 1, 3, 2, 6, 7, 5, 4, C, D, F, E, A, B, 9, 8.
318 APLICACIÓN DE DISPOSITIVOS ESPECÍFICOS
CONECTAR
NO CONECTAR
SALIDAS
Fig. 9-2 PROM programada para la conversión de código binario a Gray
El PAL es un dispositivo programable especialmente útil en aplicaciones donde hay un número re-
lativamente grande de entradas y, al mismo tiempo, un número significativo de restricciones sobre
ellas. Estas restricciones sirven para crear términos "no importa", lo que significa que un número
de los renglones de la tabla de verdad no necesita ser implantado.
Como en el caso de las ROM, la estructura básica es tal que las compuertas AND manejan
a las compuertas OR. En un circuito integrado PAL, las entradas de las compuertas OR están co-
nectadas previamente a un número limitado de compuertas AND, dando libertad al diseñador para
elegir sólo las entradas de las compuertas AND. Con frecuencia esta restricción es aceptable puesto
que sólo se necesita un número limitado de conexiones a las compuertas OR gracias a la presencia
de los términos "no importa". Puesto que las entradas a la lógica se pueden presentar ya sea en
forma directa o invertida (lógicamente), se cuenta internamente con los medios para producir la
inversión lógica.
Algunos dispositivos PAL se hacen sólo con elementos combinacionales (compuertas AND,
OR e inversores), en tanto que otros contienen algunos flip-flops de modo que se puede ubicar una
pequeña máquina de estado (capítulo 10) completa en un solo chip. En la figura 9-3 se muestra la
arquitectura genérica de un tipo de PAL que contiene flip-flops. Obsérvese que algunas de las entra-
das de las compuertas AND vienen directamente de las terminales externas del chip, en tanto que
otras se realimentan de los flip-flops internos. Las salidas de las compuertas OR se pasan ya sea
directamente a las terminales de salida externas (no registradas) o a través de los flip-flops de asegu-
ramiento (registradas). El diseñador elige la configuración deseada de acuerdo con las compuertas
AND que se van a usar y las que se van a excluir. En casos donde se realimentan señales de los flip-
flops, éstas se proporcionan ya sea en forma directa o invertida.
En la figura 9-4 se muestra la estructura interna de un dispositivo comercial (el PAL16R6, fa-
bricado por Advanced Micro Devices, Inc.). Contiene ocho compuertas OR, cada una de las cuales
se maneja mediante un conjunto de 8 compuertas AND de las 64 con las que cuenta el dispositivo.
Cada una de las compuertas AND tiene 32 posibles conexiones de entrada que el usuario puede
seleccionar. Algunas de las salidas de las compuertas OR están registradas (pasan a través de flip-
flops), mientras que otras no. Todas, sin embargo, se pueden realimentar a las entradas de las com-
puertas AND. Hay seis flip-flops D, como lo indica el último dígito del número de parte.
El chip 16R6 emplea elementos de acoplamiento (buffers) TRI-STA TE® (véase la figura 8-12)
que sirven como interruptores, controlados mediante una señal de habilitación, que conecta o des-
conecta (aisla) de manera selectiva su terminal de salida asociada de cualquier circuito al que esté
unida.
En la figura 9-5 se muestra otro símbolo, empleado en el diagrama del 16R6, Este símbolo es
un medio muy sencillo de señalar un amplificador de una sola entrada y dos salidas. Una salida
está invertida (como se indica mediante la burbuja) y la otra no.
; Comentario
/ Inversión lógica o activo BAJO
* AND lógica
+ OR lógica
:+: OR exclusiva
:*: Coincidencia (OR exclusiva invertida)
Fig. 9-3 Arquitectura general de un dispositivo PAL. Las compuertas OR se conectan a un subconjunto de
compuertas AND cuyas entradas son elegidas por el usuario
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
Fig. 9-4 Diagrama lógico del PAL16R6. (Derechos reservados © 1991 por Advanced Micro Devices, Inc.
Publicado aquí con permiso del propietario de los derechos. Todos los derechos reservados.)
322 APLICACIÓN DE DISPOSITIVOS ESPECÍFICOS
Si la salida F va a pasar a través de flip-flops, el signo de igual debe estar precedido por dos puntos.
EJEMPLO 9.2 Programación de un sumador binario con salidas registradas en el PAL16R8. La tabla de
verdad, inicialmente descrita en la sección 2.4, se muestra en la tabla 9.1, y las ecuaciones para las variables,
suma y acarreo de salida, en la forma que las requiere PALASM, son
APLICACIÓN DE DISPOSITIVOS ESPECÍFICOS 323
Aquí, la salida SUMA está dada por F y el acarreo de salida por Co.
Tabla 9.1
ENTRADAS SALIDAS
X Y Ci F Co
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
Siguiendo las reglas más sencillas de sintaxis, el diseñador representa un archivo fuente para el programa
PALASM empleando cualquier procesador de texto. Este archivo define las variables, especifica las relaciones
booleanas y asigna los números a las terminales, como se muestra en la figura 9-6. El programa no toma en
cuenta cualquier línea que inicie con punto y coma; su función es para aclarar y documentar. Las primeras
líneas son la documentación de las entradas y salidas. Las líneas que siguen a las que inician con la designación
PINS se emplean para asignar los números de las terminales del chip y se deben ingresar en secuencia. Todas
las terminales se deben tomar en cuenta, de tal forma que NC se usa para indicar la ausencia de conexión.
Las ecuaciones booleanas se ingresan después empleando la sintaxis de PALASM.
La porción de simulación del archivo de entrada provee las instrucciones para que el software simule la
operación del circuito y lo verifique contra las especificación en forma booleana. El comando SETF indica
al programa que las variables de entrada que se listan después de esta palabra clave son las que se van a aplicar.
La primera entrada de simulación SETF/OE indica que se va a aplicar una entrada LT a los buffers
TRI-STA TE®, deshabilitando de esta manera a las salidas (Output Enable). El comando CLOCKF se emplea
para indicar que se aplica un pulso de reloj a todas las terminales que se especifican después del comando.
En este ejemplo sólo se aplica a una terminal denominada CLK. La simulación avanza un paso a la vez, des-
pués de que se aplica el pulso de reloj sigue el conjunto de entradas correspondiente a la tabla de verdad de
entrada.
Cuando se corre el programa, una simulación exitosa se indica mediante los mensajes: "No errors", "No
warnings" y "File processed successfully".
Los resultados de la simulación se almacenan en un archivo denominado ADDER.HST, que se muestra
en la figura 9-7. Cada una de las columnas verticales representa un intervalo de tiempo (como en el diagrama
de microtemporización). La letra "c" indica al comando CLKF y "g" al comando SETF. La acción del reloj
se lleva a cabo en tres pasos: Primero, el voltaje en la terminal del reloj sube; después los nuevos valores en
las terminales de salida se registran (graban). Por último, el voltaje en la terminal del reloj se baja. Cada co-
lumna contiene valores altos (H), bajos (L) o indefinidos (X) en cada una de las terminales que resultan de
los comandos de la simulación.
324 APLICACIÓN DE DISPOSITIVOS ESPECÍFICOS
TITLE A D DE R
PATTERN A
REVISIÓN 1
A U TH O R JIM SWATCH
COMPANY RIT
DATE MAY 1992
CHIP ADDER PAL16R8
;PINS 1 2 3 4 5 6 7
CLK X Y CI NC NC NC
;PINS 8 9 10 11 12 13 14
NC NC GND OE NC NC NC
;PINS 15 16 17 18 19 20
NC NC NC F CO VCC
EQUATIONS
/F:=/X*/Y*/CI+/X*Y*CI+X*/Y*CI+X*Y*/CI ;SINCE THE OUTPUTS FROM
;THE PAL16R8 ARE INVERED,
/CO:=/X*/Y*/CI+/X*/Y*CI+/X*Y*/CI+X*/Y*/CI ;WRITE THE EQUATIONS FOR
;THE ZERO TERMS NOT THE ONES.
SIMULATION
SETF /OE ;THIS ENABLES THE OUTPUTS
CLOCKF CLK ;GENERATES A CLOCK PULSE
SETF /X /Y /CI ;THIS FIRST LINE OF THE
C L OC K F CL K ;TRUTH TABLE
SETF /X /Y CI
CLOCKF CLK
SETF /X Y /CI
C L OC K F CL K
SETF /X Y CI
CLOCKF CLK
SETF X /Y /CI
CLOCKF CLK
SETF X /Y CI
CLOCKF CLK
SETF X Y /CI
CLOCKF CLK
SETF X Y CI
CLOCKF CLK
Fig. 9-6
PALASM89 PLDSIM - DEVELOPEMENT VERSIÓN (26-SEP-1989)
(C) - COPYRIGHT ADVANCED MICRO DEVICES INC., 1989
PALASM SIMULATION HISTORY LISTING
El PLA proporciona más libertad a los diseñadores gracias a que se pueden hacer las conexiones
tanto de los arreglos de compuertas AND como los de compuertas OR. Este dispositivo combina
la libertad de las compuertas AND del circuito integrado PAL con la de las compuertas OR de una
PROM. Los arreglos lógicos programados con frecuencia contienen en la misma pastilla flip-flops
para salidas registradas y/o realimentación de variables. Un diagrama lógico general se muestra en
la figura 9-9.
Como en el caso del dispositivo PAL, el PLA contiene entradas de datos en forma directa y
complementada. La capacidad para controlar las conexiones a las entradas de las compuertas OR
da al diseñador un grado de libertad adicional. Por ejemplo, la misma compuerta AND puede ma-
nejar a varias compuertas OR, en tanto que en un PAL, un duplicado de la compuerta AND se
debe emplear para cada una de las compuertas OR.
El PLA se programa en una computadora o estación de trabajo de manera similar que un PAL
y se cuenta con una cantidad significativa de softwares amigables para dicho fin. El programa se
ingresa en forma booleana, como se mostró en el ejemplo 9.2 o con una tabla de estados como se
verá en el capítulo 10. Con frecuencia el PLA se emplea como un bloque funcional básico en la
realización de circuitos integrados a muy grande escala (VLSI).
326 APLICACIÓN DE DISPOSITIVOS ESPECÍFICOS
PAL16R8
ADDER
Fig. 9-8 (Derechos reservados © 1991 por Advanced Micro Devices, Inc. Publicado aquí con permiso del
propietario de los derechos. Todos los derechos reservados.)
Los chips conocidos como arreglos de compuertas (o arreglos completos de compuertas) contienen
un gran número de compuertas libres (sin conectar). Frecuentemente contienen arreglos de celdas
individuales en las que la adición de una interconexión crea una compuerta específica NAND o
ÑOR. La programación del arreglo hace que las compuertas se interconecten para crear lógica com-
binacional, flip-flops, registros, contadores, memorias, etcétera. El chip original, que se puede fa-
bricar en grandes cantidades (con la consecuente economía) puede hacer que lleven a cabo una tarea
determinada especificando las interconexiones entre las compuertas. La programación de estos dis-
positivos requiere normalmente de un software de muy alto costo y complejidad y de una computa-
dora con un buen poder de cálculo para llevar a cabo la ubicación y envío de conexiones. Hay reglas
de diseño que limitan el número de cruces en el patrón de conexiones generado por la computadora.
Junto a estas reglas con frecuencia se necesita mucha interacción en el proceso de diseño. Además,
una vez que se han hecho las interconexiones no se pueden modificar. El resultado es tal que el uso
328 APLICACIÓN DE DISPOSITIVOS ESPECÍFICOS
de los arreglos de compuertas está limitado a productos de alto volumen (donde el gasto se puede
amortizar con facilidad) y requiere de un ciclo de desarrollo relativamente más largo.
Se fabrica una versión de arreglos de compuertas sin incluir las interconexiones metálicas. La
programación, que personaliza el diseño, resulta un trabajo artesanal de fotolitografía para las
mascarillas necesarias para crear el paso final de interconexión en el proceso de fabricación. El dis-
positivo está listo en unas cuantas semanas y se entrega al usuario final.
En otra versión se fabrican dos capas de interconexión en el diseño de la rejilla con rutas inter-
construidas para conectar las capas. El programa del usuario se convierte en un patrón de metal
APLICACIÓN DE DISPOSITIVOS ESPECÍFICOS 329
para la capa superior la que será grabada (por ataque químico) para formar las interconexiones para
ambas capas. Este segundo caso requiere la adición de algunos pasos en el proceso de fabricación
y menos tiempo para el diseño.
Los arreglos de compuertas emplean sólo una pequeña variedad de celdas estándar de transis-
tores, lo que hace que el diseño no se pueda optimizar completamente con respecto a la disipación
de potencia o velocidad para todas las aplicaciones. En general, los arreglos de compuertas no em-
plean eficientemente todos los recursos del silicio como en los diseños personalizados. Sin embargo,
se pueden fabricar de manera más barata y rápida que los diseños completamente a la medida.
En una computadora o estación de trabajo el arreglo de compuertas se programa de manera
similar a los dispositivos PAL o PLA, pero necesita un software más avanzado y una computadora
de mayor poder. Además del manejo de conexiones y el ruteo, se deben considerar problemas térmi-
cos como los "puntos calientes". El programa del diseñador se puede ingresar en forma booleana,
como se describió, o mediante una tabla de estados. Otro método común de programación es la
captura esquemática. Aquí, el diseñador crea el diagrama lógico en el monitor de una computadora
mediante el llamado de los componentes de una biblioteca de software y conectándolos como se
desee usando el ratón (mouse) o algún otro dispositivo que lleve a cabo la misma función. Se cuenta
con una buena cantidad de ayuda dentro del software en la forma de rutear las pistas, algoritmos
de ubicación y en macros en los que frecuentemente se tratan combinaciones usuales de compuertas
(tales como registros) con nombres preestablecidos. Normalmente el usuario puede crear sus pro-
pios macros en software.
La programación de un arreglo de compuertas da como resultado un conjunto de instrucciones
de computadora generados por el propio software para crear el trabajo de fotolitografía necesario
para formar las conexiones requeridas entre todas las compuertas en el circuito. El arreglo de com-
puertas se emplea con frecuencia en la implantación de sistemas completos en chips VLSI.
Es muy importante evaluar el desempeño del diseño antes de construirlo. Puesto que la
construcción de un dispositivo de prueba es muy caro y no predice de manera precisa los retardos
de tiempo debido a la diferencia en tamaño, la mejor herramienta para evaluar el desempeño es
la simulación. Esto se lleva a cabo mediante el uso de software del tipo que se describió en el capítulo
6. Casi todo el software de diseño para la creación de circuitos integrados grandes cuentan con un
paquete de simulación el cual se puede emplear para evaluar el desempeño y preparar las señales
de prueba que se van a usar durante la producción.
Por un lado, se ha desarrollado un producto que es, de alguna manera, intermedio entre los PAL
y los PLA, denominado arreglo de compuertas programable (PGA) o arreglo de compuertas pro-
gramable de campo (FPGA). Este arreglo, presenta una estructura interna considerablemente me-
nos firme que la de un PLA, pero mucho más sólida que la del arreglo de compuertas completo.
El FPGA, algunas veces llamado arreglo de celdas lógico (LCA®),* es un PLD cuya estructura no
cambia con la programación. En su lugar, se emplean señales electrónicas de control para modificar
la función de un circuito de estructura fija. Un análisis del FPGA y sus circuitos de control se puede
encontrar en el capítulo 11.
Analizar los PGA es complicado por el hecho de que algunos distribuidores de estos produc-
tos emplean técnicas de conexión que modifican permanentemente al dispositivo y no se puede bo-
rrar el programa, como en los dispositivos LCA. Quizá es mejor considerar un PGA genérico como
un dispositivo intermedio entre los PLA y los arreglos de compuertas completos. El usuario debe
investigar con los distribuidores especializados acerca de la estructura y las técnicas de programa-
ción.
En aplicaciones de gran volumen y alta velocidad, es común que se mande hacer un chip completo
diseñado a la medida. Es un proceso complicado que involucra un ciclo de diseño relativamente
largo y un entrenamiento muy completo para el diseñador. La tecnología que se emplea se estudia
ampliamente y se crea una biblioteca de modelos detallados de componentes electrónicos. En estos
modelos se incluyen parámetros que describen disipación de potencia, propiedades de velocidad,
utilización de silicio y las mascarillas en fotolitografía usadas en la fabricación. Los modelos pue-
den ser de transistores, resistores, etcétera, o bien a un nivel de integración a base de compuertas.
Como se mencionó en la sección 9.6 también pueden contener varios subsistemas a base de macros.
Si el circuito se diseña empleando macros de alto nivel y un conjunto restringido de compuertas,
se dice que es un diseño con celdas estándar.
Problemas resueltos
9.1 En la figura 9-10 se muestra un PLA genérico que no tiene flip-flops. Escríbanse las ecuacio-
nes lógicas booleanas para las salidas.
Véase que las entradas son A, B, C y las salidas W y X. Cada compuerta OR está manejada por
un subconjunto de compuertas AND cuyas conexiones de entrada se muestran en el lado izquierdo
de la figura 9-10. La combinación de entradas para cada compuerta AND se puede representar mediante
una expresión booleana. Por ejemplo, A'B'C para la compuerta AND de la parte superior. Combi-
nando todos los términos AND conectados a cada OR se tiene
W = ABC' + ABC + ABC
X = ABC + ABC + ABC
9.2 Con las siguientes especificaciones diséñese un registro de corrimiento reversible cuyas eta-
pas estén conectadas en un anillo:
• El hardware será un PAL 16R6, como el que se muestra en la figura 9-4.
• Cada pulso de reloj hará que el registro se corra a la izquierda cuando la señal de control
LR esté en 1, y a la derecha cuando LR esté en 0.
• El registro de corrimiento se cargará en paralelo a partir de los datos que aparecen en
las cuatro terminales de entrada bajo la señal de control LS la cual hará la carga cuando
sea VERDADERA y el corrimiento cuando sea FALSA.
Muéstrense las ecuaciones requeridas por PAL ASM para ingresarlas en forma booleana y
trácese el patrón de conexiones.
APLICACIÓN DE DISPOSITIVOS ESPECÍFICOS 331
Fig. 9-10
La secuencia de corrimiento se muestra en la figura 9-11 y el diagrama de bloques del sistema espe-
cificado en la figura 9-12.
Fig. 9-11
332 APLICACIÓN DE DISPOSITIVOS ESPECÍFICOS
Fig. 9-12
2. Durante el modo de carga (LS = 1), las entradas d del registro se conectan a la entrada de datos.
Cuando LS = 0, las conexiones deben ser como en el paso 1. Una vez más en forma booleana:
din(k)= [(FF RIGHT) (LR) + (FF LEFT) (LR)'] (LS)' + (kdaI) (LS)
Consúltese el diagrama del 16R6 en la figura 9-13 para uno de todos los posibles esquemas de cone-
xión.
Los circuitos lógicos secuenciales del tipo considerado en este y los dos siguientes problemas, se
denominan máquinas de estado, y serán considerados con mayor detalle en el capítulo 10.
APLICACIÓN DE DISPOSITIVOS ESPECÍFICOS 333
Fig. 9-13 Patrón de conexiones para el problema 9.2 dibujado sobre el diagrama esquemático del PAL16R6.
(Derechos reservados © 1991 por Advanced Micro Devices, Inc. Publicado aquí con permiso del propietario
de los derechos. Todos los derechos reservados.)
334 APLICACIÓN DE DISPOSITIVOS ESPECÍFICOS
9.3 Un motor de pasos necesita dos voltajes (A y B) para ser manejado, los cuales se deben
aplicar en secuencia de acuerdo con un patrón particular. Los voltajes se mantienen
constantes hasta que se presenta el pulso de reloj, tiempo en el cual, las señales A y B
cambian como se muestra en la tabla 9.2, y la flecha del motor avanza un paso. Prográmese
un PAL16R6 (entradas booleanas) de modo que el motor se mueva, bajo la acción de un
comando externo F/R, ya sea hacia adelante o hacia atrás. El circuito integrado PAL debe
tener tres entradas: F/R, MOVE y el reloj. El movimiento del motor tiene lugar cuando
MOVE es VERDADERA y la velocidad de rotación estará determinada por la
frecuencia del reloj.
Fig. 9-14
APLICACIÓN DE DISPOSITIVOS ESPECÍFICOS 335
Se elige un diseño combinando flip-flops D y lógica, cuya descripción en forma booleana consti-
tuirá la programación de entrada al PAL. Asúmase que F/R = 1 significa que el movimiento es hacia
adelante y que los flip-flops A y B se utilizarán para almacenar las señales del motor de pasos entre
los pulsos de reloj.
Un diagrama de bloques del sistema se muestra en la figura 9-14. Cada par de entradas d constitu-
ye el siguiente estado de los flip-flops y está en espera antes de que el pulso de reloj indique que se
aplique al motor produciendo el movimiento de la flecha en un paso. Puesto que en cualquier momen-
to la aplicación de los siguientes voltajes de manejo del motor A y B depende de las señales de movi-
miento y dirección así como del estado presente de las señales de manejo, se debe diseñar la lógica para
que produzca las entradas D de los flip-flops, las cuales son función del comando MOVE, la señal de
dirección F/R y del estado presente de los flip-flops. Se puede construir una tabla de verdad (tabla
9.3) directamente a partir de las especificaciones dadas.
Obsérvese cómo las salidas A y B del motor se emplean como entradas a la lógica para determinar
el siguiente estado de acuerdo con la información de secuencia de la tabla 9.2. Cuando M = 0, las
salidas del siguiente estado no cambian, indicando que la flecha del motor se mantiene inmóvil.
Las ecuaciones booleanas, en la forma requerida por PALASM, se pueden escribir directamente
a partir de la tabla de verdad:
Tabla 9.3
Entradas a la lógica Salidas
(estado siguiente)
F/R M A B dA dB
0 0 0 0 0 0
0 0 0 1 0 1
0 0 1 0 1 0
0 0 1 1 1 1
0 1 0 0 1 0
0 1 0 1 0 0
0 1 1 0 1 1
0 1 1 1 0 1
1 0 0 0 0 0
1 0 0 1 0 1
1 0 1 0 1 0
1 0 1 1 1 1
1 1 0 0 0 1
1 1 0 1 1 1
1 1 1 0 0 0
1 1 1 1 1 0
336 APLICACIÓN DE DISPOSITIVOS ESPECÍFICOS
El símbolo (: =) en PALASM se utiliza para indicar que las salidas A y B son registradas (pasan
a través de flip-flops). El hecho de que estas variables aparezcan en ambos miembros de sus ecuaciones
respectivas quiere decir que los valores del estado siguiente están en función de su valor presente, como
se describió anteriormente.
Hay ocho términos AND para cada OR, y sólo se requieren dos flip-flops D. Así, el diseño quedará
completamente en el 16R6 y no se necesitan simplificaciones adicionales.
Tabla 9.4
Tabla 9.5
APLICACIÓN DE DISPOSITIVOS ESPECÍFICOS 337
9.4 Se desea implantar la secuencia que se muestra en la tabla 9.4 con los flip-flops del PAL
16R6. Cuando una entrada de control U/D = 0, la secuencia es para movimiento hacia arri-
ba y, cuando U/D = 1, es para dirección en reversa y movimiento hacia abajo. Determínese
ya sea el circuito que quede en el PAL y, si fuera posible, desarróllense las ecuaciones de
la lógica de control. Indíquese también cómo se puede aplicar una señal para inicializar los
flip-flops a 0000.
Como en el problema anterior, las salidas de los flip-flops sólo cambian cuando se recibe el pulso
de reloj. Cada estado siguiente se determina mediante la lógica, usando la información del estado pre-
sente y la variable U/D como entradas. Se puede crear una tabla de verdad apropiada a partir de la
secuencia dada. Por ejemplo, en la tabla 9.4 se ve que cuando el estado presente es 1110 (quinto ren-
glón), el estado siguiente será 0011 cuando U/D = 0 y 1100 cuando U/D = 1. El resultado se muestra
en la tabla 9.5 en la que se han omitido los estados que no se presentan.
Cada variable de salida no tiene más de ocho 1s; por lo tanto, ocho compuertas AND son suficien-
tes para cada salida, que es el número de compuertas disponibles en el !6R6. Hay cuatro variables de
salida y se necesitan cuatro flip-flops. Puesto que también se cuenta COTÍ estos flip-flops el diseño que-
dará bien.
Formando las ecuaciones directamente de la tabla de verdad
Si se requiere la inicialización, una entrada IN se debe pasar a través de una compuerta AND con
todos los términos producto. Cuando IN es 0 las entradas D a los flip-flops son 0 y todas estas asumi-
rán el estado 0 cuando llegue el pulso de reloj. Cuando IN se va a 1, las compuertas AND funcionan
de la manera definida por las ecuaciones lógicas. El diagrama de conexión para la implantación con
el PAL 16R6 se muestra en la figura 9-15.
9.5 El diagrama de conexión para un PAL genérico se muestra en la figura 9-16, y las
señales que se aplican en las diferentes entradas del mismo se presentan en la figura 9-17.
Trácense las formas de onda para el diagrama de macrotemporización en la salidas A, B,
C, D y E. No se tome en cuenta cualquier retardo de propagación interno y asúmase que
todos los flip-flops se borran antes del primer pulso de reloj. Los flip-flops son del tipo D
y se disparan con flanco de subida (véase el capítulo 7).
1. De la figura 9-16 se ve que las ecuaciones para las entradas de los flip-flops son
Fig. 9-15 Patrón de conexiones para el problema 9.4 dibujado sobre el diagrama esquemático del PAL16R6.
(Derechos reservados © 1991 por Advanced Micro Devices, Inc. Publicado aquí con permiso del propietario
de los derechos. Todos los derechos reservados.)
APLICACIÓN DE DISPOSITIVOS ESPECÍFICOS 339
Fig. 9-16
Fig.9-17
340 APLICACIÓN DE DISPOSITIVOS ESPECÍFICOS
Tabla 9.6
Las formas de onda requeridas se pueden obtener leyendo las columnas A, B y E en la tabla 9.6.
Los resultados se muestran en la figura 9-18.
9.6 El diagrama del circuito del PAL de la figura 9-19 muestra las conexiones para un sistema
que contiene tanto flip-flops como lógica combinacional. Asumiendo que la señal IN es ini-
cialmente FALSA (baja) y se hace VERDADERA inmediatamente después del primer pulso
de reloj en t = 0, encuéntrese la secuencia del flip-flop y exprésela como una serie de núme-
ros decimales asumiendo que A es el dígito más significativo, seguido de B, C y D. Determí-
nese cuando la salida E se hace verdadera.
Puesto que no hay conexiones de compuertas AND a E, las salidas A, B, C y D no dependen de
ésta y, consecuentemente, éstas se tratan como un sistema separado. La lógica da como resultado
Fig. 9-19 Patrón de conexiones para el problema 9.6 dibujado sobre el diagrama esquemático del PAL16R6.
(Derechos reservados © 1991 por Advanced Micro Devices, Inc. Publicado aquí con permiso del propietario
de los derechos. Todos los derechos reservados.)
APLICACIÓN DE DISPOSITIVOS ESPECÍFICOS 343
Fig. 9-20
Fig. 9-21
344 APLICACIÓN DE DISPOSITIVOS ESPECÍFICOS
Tabla 9.8
X Y Ci S Co
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
Fig. 9-22
APLICACIÓN DE DISPOSITIVOS ESPECÍFICOS 345
tan el estado siguiente para ABCD el cual, a partir de la figura 9-20, se ve que es ABCD = 0011. De
manera similar, después del segundo pulso de reloj, las coordenadas del mapa cambian al primer ren-
glón, tercera columna. Las entradas en este punto muestran un estado siguiente de ABCD = 0111 el
cual ocurrirá en el tercer pulso de reloj. Este procedimiento se puede continuar hasta que se presente
el valor que se obtuvo previamente, mostrando que la secuencia se repite (véase la tabla 9.7).
Las conexiones a la salida del flip-flop E son A'B'C'D' (ABCD = 0000) y A'CD (ABCD = 0111
o 0011). De este modo, E es VERDADERA durante los primeros tres ciclos de reloj de la secuencia
de conteo.
9.7 Empléese el sumador binario de un bit descrito en la sección 2.4 para demostrar, como se
muestra en la figura 9-21, que el PLA genérico se puede programar directamente a partir
de la tabla de verdad. Recuérdese que cada compuerta AND corresponde a una línea en la
tabla de verdad mientras que cada compuerta OR está asociada con una columna de salida.
Fig. 9-23
346 APLICACIÓN DE DISPOSITIVOS ESPECÍFICOS
Fig. 9-24
La lógica se muestra en la tabla 9.8. Prográmense las compuertas AND en el mismo orden de los
renglones de la tabla de verdad (como en un decodificador completo) y entonces conéctese cada término
(renglón) a la salida apropiada de la compuerta OR. El resultado se muestra en la figura 9-22. Ob-
sérvese la correspondencia entre los 1s de la tabla de verdad y las conexiones hechas en el diagrama.
9.8 Implántese el sumador del problema 9.7 en el PAL genérico que se muestra en la figura 9-
23. Demuéstrese que mientras es posible implantar la función, no es posible programarlo
directamente a partir de la tabla de verdad estándar.
Obsérvese la estructura del circuito integrado PAL. Las compuertas AND se agrupan en conjun-
tos y, cada grupo está alambrado a las entradas de una sola compuerta OR. Sólo si el grupo entero
de compuertas AND se usa como entradas consecutivas en la tabla de verdad hay ahí una correspon-
APLICACIÓN DE DISPOSITIVOS ESPECÍFICOS 347
dencia. En la solución de este problema se deben rearreglar las compuertas AND de acuerdo con la
tabla de verdad.
Los renglones de la tabla de verdad con equivalentes en decimal 1,2,4 y 7 se agrupan para produ-
cir la salida S, mientras que las salidas del decodificador correspondientes a 3, 5, 6 y 7 se agrupan para
producir la salida Co (segunda compuerta OR). Puesto que las conexiones representan 1s, en la tabla
de verdad se ve que sus renglones se han reacomodado y, uno de éstos, el renglón 7, se emplea dos
veces (véase la figura 9-24).
Problemas suplementarios
9.9 Dado el dispositivo PAL genérico programado que se muestra en la figura 9-25, determínese la ecua-
ción lógica para las salidas C, D y E.
9.10 Mediante el sistema de la figura 9-25 determínese la secuencia de salida para la operación con el reloj
dado que X y Y ambas se mantienen en 0. Los valores iniciales de A y B son ambos 0.
9.11 ¿Cuál es el efecto sobre la secuencia del problema 9.10 si, después del tercer pulso de reloj pero antes
del cuarto, Y se va a 1 y se mantiene ahí?
9.12 El diagrama de conexión de un PAL para un circuito de conteo se muestra en la figura 9-26. Asumien-
do que la terminal 11 está conectada a 0 (estado bajo) y que inicialmente los flip-flops se han borrado,
escríbase en orden secuencial los valores de salida en sus equivalentes en decimal de ABCF para tantos
pulsos de reloj como se requiera, hasta que se repita la secuencia.
9.13 Este problema muestra cómo se puede definir de manera compacta mediante un código hexadecimal
sencillo el patrón de conexiones para un PLA. Consúltese el PLA genérico que se muestra en la figura
9-27, cada línea de posible interconexión se puede describir por medio de una palabra de tres dígitos
hexadecimales, los primeros dos dígitos se asignan a las ocho líneas de entrada y el último dígito a las
cuatro líneas de salida. Empleando este esquema, escríbase un código de la secuencia de ocho líneas
que describa las conexiones en la figura 9-27.
9.15 Para el PLA del problema 9.13, especifíquese la lógica definida por el siguiente código en hexadecimal:
49A
4AA
86A
85A
454
494
864
8A4
9.16 Empleando el programa en hexadecimal del problema 9.15, tabúlese el desempeño del PLA a medida
que avanza el reloj asumiendo que A y B son inicialmente 0 y que a) X es siempre 0 y b) X es siempre 1.
348 APLICACIÓN DE DISPOSITIVOS ESPECÍFICOS
Fig. 9-25
9.17 Dibújese sobre el diagrama de conexión del PAL16R6 la implantación de un contador síncrono hacia
arriba y hacia abajo el que hace la secuencia que se muestra en la tabla 9.9. Hay una entrada de control
F que, cuando es 1, hace que el circuito cuente hacia abajo y, cuando es 0, el circuito cuenta hacia
arriba.
9.18 Usando un dispositivo PAL16R6 como hardware muéstrense todas las conexiones que se requieren pa-
ra implantar la secuencia dada en la tabla 9.10, asumiendo que el registro está inicialmente en 0011.
APLICACIÓN DE DISPOSITIVOS ESPECÍFICOS 349
Fig. 9-26 Patrón de conexiones para el problema 9.12 dibujado sobre el diagrama esquemático del PAL16R6.
(Derechos reservados © 1991 por Advanced Micro Devices, Inc. Publicado aquí con permiso del propietario
de los derechos. Todos los derechos reservados.)
350 APLICACIÓN DE DISPOSITIVOS ESPECÍFICOS
Fig. 9-27
9.19 Si el contador del problema 9.18 se inicializa en ABCD = 0001, ¿cuáles serán las salidas del registro
después del siguiente pulso de reloj?
9.20 La secuencia de conteo que se muestra en la tabla 9.11 se implantará en un dispositivo PAL16R6.
Escríbanse las ecuaciones requeridas por PAL ASM para su programación.
9.21 Consúltese el problema 9.20. Empleando las terminales de salida 18, 17, 16 y 15 para los elementos
del registro D, C, B y A, respectivamente y, asumiendo que se les asigna un orden numérico a las com-
puertas AND con un grupo que se pasan a través de un compuerta OR, indíquese sobre el diagrama
del PAL16R6 cuáles de las posibles conexiones se deben dejar conectadas.
APLICACIÓN DE DISPOSITIVOS ESPECÍFICOS 351
Tabla 9.9
Se repite Se repite
9.11 Véase la tabla 9.13. No se presenta ningún cambio después del sexto pulso de reloj.
352 APLICACIÓN DE DISPOSITIVOS ESPECÍFICOS
9.13 11F
224
54A
A54
489
5A6
294
658
Obsérvese cómo la información física acerca de las conexiones se ha convertido en un conjunto
de números hexadecimales los cuales se pueden procesar fácilmente por una computadora digital.
9.14 Puesto que una señal digital y su inversa lógica no se deben conectar simultáneamente a las entradas
de la misma compuerta AND, los primeros dos dígitos de la palabra hexadecimal no pueden contener
3, 7, B, C, D, E o F. No hay tal restricción en el tercer dígito hexadecimal.
9.16 a) A B b) A B
0 0 0 0
0 1 1 0
1 1 1 1
1 0 0 1
9.17 Sólo ocho de los términos AND son posibles con el PAL especificado, y la tabla de verdad necesita
diez. De esta manera, se requiere algún tipo de simplificación antes de transferir el diseño al mapa de
fusibles. Una solución es
Fig. 9-28 Patrón de conexiones para el problema 9.17 dibujado sobre el diagrama esquemático del PAL16R6.
(Derechos reservados © 1991 por Advanced Micro Devices, Inc. Publicado aquí con permiso del propietario
de los derechos. Todos los derechos reservados.)
354 APLICACIÓN DE DISPOSITIVOS ESPECÍFICOS
Fig. 9-29 Patrón de conexiones para el problema 9.18 dibujado sobre el diagrama esquemático del PAL16R6.
(Derechos reservados © 1991 por Advanced Micro Devices, Inc. Publicado aquí con permiso del propietario
de los derechos. Todos los derechos reservados.)
APLICACIÓN DE DISPOSITIVOS ESPECÍFICOS 355
Fig. 9-30 Patrón de conexiones para el problema 9.21 dibujado sobre el diagrama esquemático del PAL16R6.
(Derechos reservados © 1991 por Advanced Micro Devices, Inc. Publicado aquí con permiso del propietario
de los derechos. Todos los derechos reservados.)
356 APLICACIÓN DE DISPOSITIVOS ESPECÍFICOS
AN = AB' + BCD
BN = A'D' + A'C + BCD
CN = AB + C'D + CD'
DN = D'
9.19 Si todos los valores que no se especifican se tratan como 0 (términos "no importa"), el estado siguiente
será 0000. Si se emplean los términos "no importa" en la cobertura de ls en el mapa K, como la solu
ción dada al problema 9.18, el estado siguiente será 0110.
La máquina de estado constituye una clase importante de circuitos lógicos digitales secuenciales que
se caracterizan por las siguientes propiedades:
1. Tienen una parte bien definida que contiene solamente lógica combinacional.
2. Tienen un registro de aseguramiento manejado de manera sincronizada por un reloj cuyas sali-
das lógicas se puede emplear directamente o realimentar a las entradas de la lógica combinacio-
nal.
357
358 DISEÑO DE MÁQUINAS DE ESTADO SENCILLAS
El método tradicional de diseño de máquinas de estado emplea una tabla de verdad para la especifi-
cación básica del sistema. El estado actual o estado presente del sistema se almacena en los ñip-ñops
del registro. La lógica combinacional acepta los datos del estado presente como entradas (posible-
mente en conjunto con entradas externas) y produce el estado siguiente, el cual se presenta en las
entradas D del registro. Hasta que se recibe un pulso de reloj, este dato se asegura dentro del registro
para convertirse en el nuevo estado y el proceso se repite. Debido a que el dato del estado siguiente
es estático entre los pulsos de reloj, el diseño secuencial de la máquina de estado se puede reducir
a un problema de diseño lógico combinacional en el cual se puede emplear una tabla de verdad para
especificar el estado futuro de un flip-flop dado como una función de los valores de las variables
del estado presente.
Si se necesita una entrada externa entonces se debe agregar una variable adicional en el lado
de las entradas de la tabla de verdad. Esta variable adicional duplicará la longitud de la tabla de
verdad. Si se necesita alguna otra salida del registro de flip-flops, entonces se debe agregar una sali-
da adicional a la tabla de verdad.
EJEMPLO 10.2 Supóngase que se introduce al sistema del ejemplo 10.1 un comando externo hacia adelan-
te/hacia atrás (F/R). La función de la variable F/R es modificar la secuencia de las transiciones de estado a
estado. Si F/R es 0, el circuito cuenta de acuerdo con la secuencia que se muestra en la tabla 10.1, y si F/R
es 1, el conteo va en reversa (es decir, de abajo hacia arriba según la tabla). Aún más, supóngase que se especifi-
ca una salida adicional para proporcionar un bit de paridad impar para el estado siguiente. Hágase la tabla
de verdad para un nuevo diseño lógico.
Para el conteo en reversa, se debe convertir la secuencia a tabla de estados y entonces reacomo-
dar la tabla de verdad para el diseño de la lógica (como se hizo para el ejemplo 10.1). Se combinan
entonces las tablas 10.2Z? y 10.36 en serie, se agrega la variable F/R en el lado de las entradas en
la columna más significativa y se agrega la columna de la salida de paridad, como se muestra en
la tabla 10.4
La tabla de verdad estado presente/estado siguiente forma la base para el diseño de la lógica
combinacional asociada con la máquina de estado síncrona. Esta lógica se puede implantar median-
te cualquiera de las técnicas que se discutieron en los capítulos precedentes. Si se va a realizar con
compuertas en pequeña escala de integración, entonces se deben crear mapas K de cinco variables
para cada una de las variables de salida, simplificadas e implantadas en el hardware disponible. Si
se prefiere se podría programar un multiplexor para cada una de las variables de salida.
Otra elección sería el usar un dispositivo lógico programado como un circuito integrado PAL
o un PLA. En este caso, uno podría crear la lógica mediante el ingreso de las ecuaciones booleanas
para cada una de las salidas. Un pequeño PAL es el más simple de los dos y se deberá intentar prime-
ro. La decisión de mayor peso en el diseño, para este caso, es estimar el tamaño del dispositivo pro-
gramable. Si la salida de paridad va ser registrada (pasarla a través de flip-flops), entonces por lo
menos se debe disponer de cinco flip-flops en el dispositivo. El máximo número de términos AND
360 DISEÑO DE MÁQUINAS DE ESTADO SENCILLAS
Tabla 10.3a Tabla de estados para Tabla 10.36 Tabla de verdad para
conteo en reversa conteo en reversa
Estado Entradas Salidas
Presente Siguiente (presente) (siguiente;
D C B A D C B A D C B A D C B A
0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0
0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0
0 0 1 1 0 0 0 1 0 0 1 0 0 0 1 1
0 0 1 0 0 0 1 1 0 0 1 1 0 0 0 1
0 1 1 0 0 0 1 0 0 1 0 0 0 1 0 1
0 1 1 1 0 1 1 0 0 1 0 1 0 1 1 1
0 1 0 1 0 1 1 1 0 1 1 0 0 0 1 0
0 1 0 0 0 1 0 1 0 1 1 1 0 1 1 0
1 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1
1 1 0 1 1 1 0 0 1 0 0 1 1 0 1 1
1 1 1 1 1 1 0 1 1 0 1 0 1 1 1 0
1 1 1 0 1 1 1 1 1 0 1 1 1 0 1 0
1 0 1 0 1 1 1 0 1 1 0 0 0 1 0 0
1 0 1 1 1 0 1 0 1 1 0 1 1 1 0 0
1 0 0 1 1 0 1 1 1 1 1 0 1 1 1 1
1 0 0 0 1 0 0 1 1 1 1 1 1 1 0 1
DISEÑO DE MÁQUINAS DE ESTADO SENCILLAS 361
Tabla 10.4 Tabla de verdad para el contador bidireccional arriba/abajo con paridad
Entradas Salidas Entradas Salidas
(presente) ( siguiente] (presente) (siguiente)
F/R D C B A D C B A P F/R D C B A D C B A P
0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0
0 0 0 0 1 0 0 1 1 1 1 0 0 0 1 0 0 0 0 1
0 0 0 1 0 0 1 1 0 1 1 0 0 1 0 0 0 1 1 1
0 0 0 1 1 0 0 1 0 0 1 0 0 1 1 0 0 1 0 0
0 0 1 0 0 1 1 0 0 1 1 0 1 0 0 0 1 0 1 1
0 0 1 0 1 0 1 0 0 0 1 0 1 0 1 0 1 1 1 0
0 0 1 1 0 0 1 1 1 0 1 0 1 1 0 0 0 1 0 0
0 0 1 1 1 0 1 0 1 1 1 0 1 1 1 0 1 1 0 1
0 1 0 0 0 0 0 0 0 1 1 1 0 0 0 1 0 0 1 1
0 1 0 0 1 1 0 0 0 0 1 1 0 0 1 1 0 1 1 0
0 1 0 1 0 1 0 1 0 1 1 1 0 1 0 1 1 1 0 0
0 1 0 1 1 1 0 0 1 1 1 1 0 1 1 1 0 1 0 1
0 1 1 0 0 1 1 0 1 1 1 1 1 0 0 0 1 0 0 0
0 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0 1
0 1 1 1 0 1 0 1 0 1 1 1 1 1 0 1 1 1 1 1
0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 1 0
para una sola compuerta OR se estima a partir de las ecuaciones lógicas, quizá usando mapas y
comparando con el número de compuertas con las que cuenta el chip. De manera alternativa, las
ecuaciones se podrían ingresar directamente a partir de la tabla de verdad sin simplificación y el
software trataría de simplificar la lógica e informará al usuario si el diseño es demasiado grande
para el chip. En este caso, se deberá considerar un PAL de mayor tamaño o se intentará la implanta-
ción con un PLA.
En el diseño de máquinas de estado, con frecuencia el diseñador tiene la opción de seleccionar entre
flip-flops D o JK; con frecuencia la elección depende de la aplicación específica. El siguiente ejem-
plo ilustra las diferencias en los distintos enfoques de diseño.
EJEMPLO 10.3 Considérese el contador especificado en la tabla 10.5. Se desarrolla la tabla de estados (tabla
10.6), a partir de la cual se crean los mapas de los estados siguientes para cada una de las variables de salida.
Las ecuaciones booleanas apropiadas se obtienen haciendo uso de los estados "no importa", como se muestra
en la figura 10-2. Las coordenadas del mapa representan cada posible estado presente y el ingreso en una locali-
dad dada indica el valor correspondiente a la variable del estado siguiente, representado mediante el mapa en
particular que se está viendo. Así, por ejemplo, si el estado presente es DCBA = 1100, se ve a partir del mapa
de D que el valor de esta variable después del siguiente pulso de reloj será 1 y, a partir del mapa de A, el siguiente
valor de A será 0. Puesto que todas las posibles cuentas no están incluidas en la secuencia dada, existen
estados "no importa" (representados mediante Xs).
362 DISEÑO DE MÁQUINAS DE ESTADO SENCILLAS
Tabla 10.5
D C B A
0 0 0 0
0 0 0 1
0 0 1 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 1 0 0
1 1 1 0
1 1 1 1
Se repite
Tabla 10.6
Estado presente Estado siguiente
D C B A D C B A
0 0 0 0 0 0 0 1
0 0 0 1 0 0 1 1
0 0 1 1 0 1 1 0
0 1 1 0 0 1 1 1
0 1 1 1 1 0 0 0
1 0 0 0 1 0 0 1
1 0 0 1 1 1 0 0
1 1 0 0 1 1 1 0
1 1 1 0 1 1 1 1
1 1 1 1 0 0 0 0
Este comportamiento se puede resumir en una tabla de cambio secuencial de estados (transi-
ción) como se muestra en la tabla 10.76.
La tabla de cambio secuencial de estados se puede usar con los mapas de estados siguientes
de la figura 10-2 para formar mapas para J y K para cada una de las variables.
JD = CA KD= CA
Fig. 10-3
364 DISEÑO DE MÁQUINAS DE ESTADO SENCILLAS
El mapa para el flip-flop D, por ejemplo, se descompone en un mapa para JD y uno para KD.
En cada uno de éstos, los estados presentes son las coordenadas del mapa y las entradas son los
valores de las variables de control. La naturaleza de cada transición se puede leer fácilmente de los
mapas de estados siguientes (figura 10-2). Para el mapa de Dsig, el valor presente del flip-flop D
es 0 para los dos renglones superiores y 1 para los dos inferiores. Con esto en mente, se ve que el
segundo renglón, tercera columna, representa una transición de 0 a 1. De este modo, en la figura
10-3, la entrada en 0111 es 1 en el mapa de JD y X en el de KD, de acuerdo con la tabla 10.76.
Obsérvese que para la etapa D se necesita una sola compuerta de dos entradas la cual reemplaza
dos compuertas de dos entradas y dos de tres entradas. El resto de los mapas de J y K y la lógica
correspondiente se desarrollarán en el problema 10.4.
Si bien en el presente ejemplo la implantación con JK conduce a una lógica combinacional más
sencilla que el diseño con flip-flops D, éste no es siempre el caso y el diseñador debe explorar los
dos si la cantidad de compuertas es un factor importante de diseño.
Entradas Salidas
(presente) (siguiente)
D C B A
D C B A D C B A
0 0 0 0
0 0 0 0 0 0 0 1
0 0 0 1
0 0 1 1 0 0 0 1 0 0 1 1
0 0 1 0 0 0 1 0 0 1 1 0
0 1 1 0 0 0 1 1 0 0 1 0
0 1 1 1 0 1 0 0 1 1 0 0
0 1 0 1 0 1 0 1 0 1 0 0
0 1 0 0 0 1 1 0 0 1 1 1
1 1 0 0 0 1 1 1 0 1 0 1
1 1 0 1 1 0 0 0 0 0 0 0
1 1 1 1 1 0 0 1 1 0 0 0
1 1 1 0 1 0 1 0 1 0 1 1
1 0 1 0 1 0 1 1 1 0 0 1
1 0 1 1 1 1 0 0 1 1 0 1
1 0 0 1 1 1 0 1 1 1 1 1
1 0 0 0 1 1 1 0 1 0 1 0
1 1 1 1 1 1 1 0
Se repite
Secuencia de conteo
Tabla de verdad correspondiente
DISEÑO DE MÁQUINAS DE ESTADO SENCILLAS 365
estado del circuito. Como se ha visto, la relación entre el estado presente y el estado siguiente se
puede expresar como ecuaciones booleanas que se obtienen a partir de la tabla de verdad. Con fre-
cuencia el software para quemar el chip acepta directamente estas ecuaciones. Como un ejemplo,
considérese el caso donde el contador del ejemplo 10.1 se implantará en un PAL16R6.
EJEMPLO 10.4 Diseño con un PAL de un contador en código Gray. La secuencia de conteo y la tabla de ver-
dad que relaciona estado presente/estado siguiente (tablas 10.1 y 10.2b, respectivamente) se reproducen al fi-
nal de la página anterior para conveniencia del estudiante.
Las ecuaciones booleanas en la sintaxis de PALASM se crean directamente de la tabla de verdad como
sigue:
En el ejemplo 10.2, donde se aplica una variable externa hacia adelante/hacia atrás a la máquina
de estado, se ve que al agregar una entrada se duplica la longitud de la tabla de estados para el dise-
ño. Si hay numerosas variables externas, la tabla de estados puede crecer demasiado y a menudo
se hace muy poco manejable. En esta situación, los diseñadores normalmente emplean una carta
de estado algorítmica (ASM). Esta carta, que se construye intencionalmente similar a un diagrama
de flujo para programar una computadora, emplea un número relativamente pequeño de símbolos
que se interconectan de una manera lógica para indicar el avance de la máquina de estado de un
estado al siguiente. Sirve como una descripción detallada paso a paso del desempeño deseado del
sistema.
En este caso, después de que se encuentra en el estado J durante un ciclo de reloj, la máquina
se mueve al estado K cuando se presenta el siguiente pulso de reloj. Obsérvese el cambio de las sali-
das.
El diamante (rombo) o diamante extendido se emplea para indicar la ramificación condicional,
donde se asume que el estado siguiente depende del valor de una o más variables de entrada. Las
funciones booleanas que involucran estas variables se muestran dentro del diamante extendido y,
la ruta de las ramas se etiquetan con los valores que estas funciones pueden adoptar. El diamante,
en sí mismo, se llama bloque de decisión y no se etiqueta por separado.
En la parte de una carta ASM que se muestra en la figura 10-6, una máquina en el estado J
avanzará, en el siguiente pulso de reloj, ya sea al estado K o al L dependiendo si la función booleana
A + B es VERDADERA o FALSA. Es importante observar que la decisión se toma durante el ciclo
de reloj en el cual la máquina está en el estado J. En este sentido, el bloque de decisión pertenece
al estado del cual se ingresó.
El óvalo se emplea para indicar la salida condicional, la cual no depende sólo del estado en
el que se encuentre la máquina, sino también del estado de una o más de las entradas. Siempre se
asocia con la salida de un bloque de decisión y se le llama bloque de salida condicional.
Para la carta que se muestra en la figura 10-7, la máquina empieza en el estado J. Durante este
ciclo de reloj se evalúa la función booleana A(B + C). La salida OUT1 se presenta de manera incon-
dicional durante este ciclo de reloj, momento en el cual también se pueden presentar OUT2 o
OUT3, dependiendo de la evaluación de la función booleana. En la figura 10-7, OUT2 se presenta
condicionalmente en el estado J e incondicionalmente en el estado K. Obsérvese cómo el bloque
Fig. 10-6
DISEÑO DE MÁQUINAS DE ESTADO SENCILLAS 367
de decisión determina cuál de las salidas se va a presentar en un estado dado mientras también deter-
mina el estado siguiente. Obsérvese también que en el diagrama sólo se presentan aquellas entradas
que realmente influyen en estas decisiones; no es necesario evaluar todas las entradas antes de que
se determine un cambio de estado.
Fig. 10-7
PISTA A
PISTA B
Se desea producir un pulso que se presente en cualquier transición de alguna de las pistas de salida. Este
pulso aparece en la salida PU si el codificador se está moviendo hacia arriba, o en PD si el codificador rota
hacia abajo. De este modo, deberá haber cuatro pulsos por cada ciclo de salida (véase la figura 10-9).
368 DISEÑO DE MÁQUINAS DE ESTADO SENCILLAS
La carta ASM de diseño se construye más fácilmente relacionando cada estado propuesto con una situa-
ción "física" conocida. La carta resultante se muestra en la figura 10-10.
Fig. 10-10
DISEÑO DE MÁQUINAS DE ESTADO SENCILLAS 369
Considérese su construcción. El estado inicial (etiquetado como 00) se escogió arbitrariamente y representa
la situación física donde ambas pistas del codificador producen Os. Mientras no se presenten cambios en
cualquiera de las pistas, no se desea ninguna salida y el sistema permanece en el mismo estado. Sólo se moverá
o saldrá de este estado cuando una de las entradas cambie. Supóngase, ahora, que la pista B cambia a 1. En
relación con las formas de onda de la figura 10-8 se muestra que el movimiento debe ser en la dirección hacia
arriba y se generará un pulso en PU. De esta manera, el estado siguiente corresponde a la situación física donde
la pista A es 0 y la pista B es 1 (estado 1). Si la pista A ha cambiado a 1, se requeriría un pulso en PD y el
estado siguiente correspondería a la situación física donde la pista A produce un 1 y la pista B un 0 (estado
dos). Obsérvese que la construcción del codificador no permite que las pistas A y B cambien simultáneamente
a 1s. Esto se indica en la carta ASM de diseño por la ausencia de la salida 11 del bloque de decisión de la parte
superior el cual examina las salidas de las pistas y dirije a la máquina al estado siguiente.
El hecho de que las salidas aparezcan solamente en símbolos de salidas condicionales (los óvalos) indica
que el sistema sólo produce salidas como una consecuencia de las transiciones de estado a estado. Estas salidas
condicionales existen solamente para aquella parte del ciclo de reloj entre la determinación de los estados de
A y B y el siguiente pulso de reloj. Por esta razón, con frecuencia son sincronizadas (es decir, pasan a través
de un flip-flop D el cual recibe la señal de reloj a partir del reloj maestro de la máquina). Las entradas no
sincronizadas pueden resultar en pulsos de salida muy angostos los cuales podrían no contener la suficiente
energía para disparar cualquier parte que sigue en el circuito.
Las transiciones de los estados 1 y 2 se controlan mediante las entradas A y B de manera similar a la que
se tiene para la transición del estado 0. Debido a que las situaciones físicas son finitas en extensión, se tiene
que esta carta ASM para la máquina se cerrará a sí misma.
La duración de los pulsos de reloj es crítica. Los pulsos de reloj se especifican para que se presenten en
las transiciones del decodificador; en realidad éstos se presentan en el primer pulso de reloj después de una
transición. Si se va a minimizar el retardo, el periodo de un pulso de reloj debe ser muy pequeño comparado
con el ancho de los pulsos del codificador. Por otro lado, el ancho de los pulsos PU y PD es igual al de un
sólo periodo del reloj y, normalmente hay un requerimiento mínimo para estos pulsos.
Si se puede construir una carta ASM , es posible determinar la lógica de una manera directa. La
carta ASM de la figura 10-10 se usará para ilustrar los procedimientos. Paso 1. Crear una tabla
de transición de estados.
a) Determinar el número de estados contando los rectángulos En este caso, hay cuatro.
b) Determinar el número deflip-flops necesarios para designar todos los posibles estados y asignar
sus salidas a estados identificados en la carta ASM. Dos ñip-flops pueden representar a cuatro
estados, tres flip-flops hasta ocho estados, etcétera. En el ejemplo de la figura 10-10, se requie-
ren dos flip-flops. Se designarán sus salidas Q como X y Y, respectivamente. Para el estado
0, XY = 00, el estado 1 se representa mediante XY = 01 y, así sucesivamente. La primera co-
lumna de la tabla de transición de estados es una lista de ambas representaciones de los estados
por etiqueta y por flip-flop (véase la tabla 10.8).
c) Tabular el destino de los estados. En la segunda columna, hágase una lista para cada estado
de los posibles estados destino que se pueden alcanzar desde un estado dado.
d) Tabular las condiciones. En la columna 3, hacer una lista de las condiciones que están asociadas
con cada transición estado a estado.
370 DISEÑO DE MÁQUINAS DE ESTADO SENCILLAS
a) Léase la segunda columna de la tabla de transición de estados y obsérvese cuándo se espera que
un flip-flop tome el valor de I en el estado siguiente (es decir, después del siguiente pulso de
reloj).
b) Determínense las condiciones a partir de la tercera columna. Por ejemplo, la tercera línea dice
que el siguiente valor de X debe ser 1 si el estado presente es 0 y si A'B es VERDADERO.
c) Exprésense las condiciones que propician que la siguiente X o la siguiente Y sea 1, en términos
del estado presente y las entradas. Se puede obtener un conjunto de ecuaciones booleanas, de
la misma manera que las ecuaciones lógicas se escriben a partir de una tabla de verdad, para
especificar las condiciones requeridas para todas las transiciones de estado a estado. Esta lógica
se le llama el controlador. Las ecuaciones del controlador que se obtienen a partir de la tabla
10.8 son
X s i g = "cero" AB' + "uno" AB + "dos" A + "tres" A
Y s i g = "cero" A'B + "uno" B + "dos" AB + "tres" B
uno 0 1 A' B
dos 1 0 A B1
uno 0 1 cero 0 0 A1B1
uno 0 1 A1 B
tres 1 1 A B
dos 1 0 cero 0 0 A1 B1
dos 1 0 A B1
tres 1 1 A B
tres 1 1 uno 0 1 A' B
dos 1 0 A B1
tres 1 1 AB
DISEÑO DE MÁQUINAS DE ESTADO SENCILLAS 371
d) Codifíquense los nombres de los estados con los valores de las salidas de los flip-flops. Las
ecuaciones de diseño resultantes para el controlador representan la lógica que se presentará a
los estados de los flip-flops:
Xsig = X'Y'AB' + X'YAB + XY'A + XYA (10.1)
Ysig = X'Y'A'B + X'YB + XY'AB + XYB (10.2)
Si se emplean flip-flops D, las conexiones se hacen a las entradas D; si se emplean flip-flops JK,
las ecuaciones se pueden dividir en una parte J y otra K, como se ilustra en la sección 10.3.
Paso 3. Obténganse las ecuaciones de diseño de salida.
a) Localícese toda referencia a una salida en la carta ASM y determínense las condiciones, si exis-
ten, asociadas con esa referencia.
b) Únanse todas las referencias con una conexión booleana OR.
En la figura 10-10, la variable PU se presenta en cuatro lugares, todas son salidas condiciona-
les. La primera aparición de PU se presenta cuando el sistema está en el estado 0 AND (Y) cuando
A'B es VERDADERO. Las otras instancias se definen de modo similar y conducen a la siguiente
ecuación booleana:
PU = "cero" A'B + "uno" AB + "dos" AB' + "tres" A'B'
Después de codificar la identificación de los estados en los valores de los flip-flops, se tiene
PU = X'Y'A'B + X'YAB + XY'AB' + XYA'B' (10.3)
De manera similar, la ecuación para PD determinada es
PD = "cero" AB' + "uno" A'B' + "dos" AB + "tres" A'B
= X'Y'AB' + X'YA'B + XY'AB + XYA'B (10.4)
Las ecuaciones (10.1) a la (10.4) constituyen un conjunto completo de ecuaciones de diseño
para una máquina de estado. El diseñador puede implantarlas en la forma que desee. Las ecuacio-
nes se pueden simplificar con mapas si se va a emplear pequeña escala de integración. Muy proba-
blemente se va a usar un dispositivo lógico programable y, sólo se necesitará traducir las ecuaciones
booleanas a la sintaxis necesaria para el software de diseño. El problema 10.9 muestra un método
empleando multiplexores, los cuales son preferidos por algunos diseñadores.
Para controladores pequeños, algunos diseñadores prefieren un arreglo donde haya tantos flip-
flops de estado como estados. Cada flip-flop se identifica con un estado y, cuando en ese estado,
el flip-flop correspondiente es el único que está "caliente", es decir, que tiene su salida Q fija en
VERDADERO. Esto produce en un controlador con la lógica de decodificación más simple que
la implantación con el mínimo de flip-flops. El diseño de un controlador con un flip-flop por estado
empieza, como antes, con el dibujo de la tabla de transición de estados a partir de la carta ASM.
Esta vez, sin embargo, la información se tabula para indicar todos los estados previos, los cuales
conducen a un estado presente.
372 DISEÑO DE MÁQUINAS DE ESTADO SENCILLAS
Tabla 10.9
ESTADO PREVIO ESTADO PRESENTE CONDICIONES
uno A1B1
dos A1B1
tres "no importa"
cero uno A1 B
uno A1 B
tres A' B
dos "no importa"
cero dos A B1
dos A B1
tres A B1
uno "no importa"
tres tres AB
uno AB
dos AB
cero "no importa"
Ecuaciones de salida
Las ecuaciones de salida son similares a aquellas que se obtuvieron en la sección 10.6 excepto que
no es necesario codificar los estados:
PU ="cero"A'B + "uno" AB + "dos" AB' +. "tres" A'B'
PD = "cero" AB' + "uno" A'B' + "dos" AB + "tres" A'B
La lógica para la solución completa de un flip-flop para cada estado se muestra en la figura
10-11.
DISEÑO DE MÁQUINAS DE ESTADO SENCILLAS 373
EJEMPLO 10.6 Considérense las especificaciones de diseño del codificador incremental del ejemplo 10.5
arregladas para las entradas de la tabla de estados, empleando el software INTEL iPLSII.*
ENTRADA COMENTARIO
Los estados se definen en términos del estado de los flip-flops por medio de una matriz. Así, para cada
estado en secuencia se indican las salidas y las entradas. Los enunciados IFJTHEN o CASE se emplean para
salida condicional; las salidas incondicionales, cuando se presentan, se listan solas.
Con la declaración de los estados, las salidas se listan después de la palabra ASSERT. Las salidas condi-
cionales se pueden listar ya sea por el enunciado IF (condición), THEN, (salida), o CASE, exactamente como
se hizo con las salidas de estado.
El corazón de una máquina de estado síncrona es el pulso de reloj el cual se asume que aparece si-
multáneamente en todos los puntos del circuito. En muchas situaciones prácticas no es posible man-
tener la sincronización de una manera precisa, debido a los diferentes retardos de propagación en
las trayectorias que sigue el reloj. La diferencia en tiempo entre la aparición de dos señales de reloj
supuestamente coincidentes es conocido como retardo del reloj (clock skew), la cual, en circuitos
de alta velocidad, puede ser una significativa fuente de error.
EJEMPLO 10.7 Para ejemplificar el efecto del retardo del reloj, el circuito de la figura 7-18 se redibuja en la
figura 10-12.
Fig. 10-12
376 DISEÑO DE MÁQUINAS DE ESTADO SENCILLAS
El primero y último flip-flops se han etiquetado como A y B, respectivamente, por conveniencia. Asúmase
que el pulso de reloj llega al flip-flop B algún tiempo después que el "mismo" pulso llega al flip-flop A. Es
importante que el pulso de reloj que llega antes no cause ningún cambio en la entrada D del flip-flop B antes
o que coincida con la llegada del pulso a este flip-flop. Considérese la secuencia de eventos:
1. El pulso de reloj llega al flip-flop A e inicia un cambio en su salida.
2. Después de un retardo de propagación, el cambio en el flip-flop A produce un cambio lógico en el nivel
AND.
3. Después de un retardo de propagación, el cambio en una o más compuertas AND produce un cambio en
el nivel OR.
4. Después de un retardo de propagación, el cambio en una compuerta OR produce un cambio en la entrada
D de otro flip-flop (B en este caso).
5. Después de un mínimo tiempo de inicio, el flip-flop B actúa sobre información errónea.
El mínimo tiempo que se toma para completar los cinco pasos representa el máximo retardo (retardo del
reloj) que el sistema puede tolerar. Empleando los datos listados en la figura, el máximo retardo del reloj que
se puede tolerar por el sistema es 10 + 5 + 5 + 10 = 30 ns.
Obsérvese que el cálculo de la máxima frecuencia del reloj permisible en el ejemplo 7.5 requería del cono-
cimiento de los retardos de propagación máximos, mientras que el cálculo del máximo retardo del reloj involu-
cra el uso de los retardos mínimos.
También es valioso observar que el cambio en la entrada D del flip-flop B (paso 4) causa una violación
en el tiempo de inicio para ese flip-flop. Si las fallas de metaestabilidad son un problema para el diseño en
cuestión el máximo retardo aceptable se reduce al retardo de tiempo acumulado en los primeros cuatro pasos
el cual, en este ejemplo es de 20 ns.
Los diseñadores de sistemas digitales de alta velocidad tienen que estar directamente involucra-
dos con el retardo del reloj y a menudo considerar grandes longitudes para igualar las trayectorias
Fig. 10-13
DISEÑO DE MÁQUINAS DE ESTADO SENCILLAS 377
de retardo del reloj y/o reducir los retardos de propagación mínimos. Mientras los fabricantes siem-
pre han especificado los valores máximos de los parámetros referentes al tiempo, muchos están aho-
ra especificando los valores mínimos también.
En general es muy importante contar con un medio para la inicialización de una máquina de estado
a un estado conocido después de que el equipo se ha encendido y, a menudo es conveniente que
este estado se designe para inicializar el estado de los flip-flops a 0. Se puede usar una línea común
de borrado o reset para la inicialización, como se muestra en la figura 10-13.
En la implantación de un flip-flop por cada estado (sección 10.7) la situación de todos los esta-
dos en cero no puede presentarse. En este caso, a menudo el diseñador tiene el recurso de intercam-
biar los papeles de Q y Q' del flip-flop una de las cuales debe estar en 1 en el estado de inicialización.
La salida Q' está conectada a todos los puntos en la lógica donde debiera estar conectada Q normal-
mente. Cuando se pulsa la línea común de borrado, entonces pone al sistema en el estado inicial
apropiado ( 1 en este caso). Obsérvese que también es necesario la inversión lógica de la señal que
se aplica a la entrada D del flip-flop de modo que produzca un 0 cuando se desea un 1. La modifica-
ción se muestra en la figura 10-14.
Problemas resueltos
10.1 Implántese el contador en código Gray del ejemplo 10.1 usando componentes de
integración a pequeña escala para la lógica de la máquina de estado. Hágase el cálculo de
los números de chips necesarios.
La tabla de verdad a partir de la cual se diseña la lógica se obtuvo previamente (tabla 10.2) y se
reproduce enseguida.
378 DISEÑO DE MÁQUINAS DE ESTADO SENCILLAS
Fig. 10-15
Todas las variables aparecen en forma directa y complementadas (cuatro inversores) y se requiere
un inversor para las compuertas XOR. Los cinco inversores necesarios estarían en un chip para dar un
total de siete. Obsérvese que es posible ahorrar un chip mediante el alambrado de las dos compuertas
AND de tres entradas que sobran como de dos entradas. El circuito lógico completo para el contador
se muestra en la figura 10-16.
10.2 La tabla 10.10 muestra la secuencia de conteo de un contador con exceso de tres. Este disposi-
tivo cuenta en binario desde el equivalente decimal de 3 hasta el equivalente decimal de 12
y entonces se repite. Diséñese el contador como una máquina de estado empleando una ROM
y flip-flops D para registrar los estados presentes.
Empléese la tabla de estados como una base para la programación de la ROM (véase la tabla 10.11).
La máquina de estado resultante se muestra en la figura 10-17.
10.3 En relación con el problema 10.2, determínese cómo se puede construir un contador con ex-
ceso de cuatro hacia arriba/hacia abajo empleando un PAL16R6 como hardware.
Una buena estrategia de diseño es el uso de las salidas de los flip-flops para representar los estados
y diseñar el empleo de una tabla de estado presente/estado siguiente. Dicha tabla se desarrolló en el
capítulo 2 (problema 2.33).
Hay seis flip-flops en el PAL16R6 y solamente se necesitan cuatro para contar los estados. Sin em-
bargo, cada una de las salidas de la lógica combinacional contiene diez términos AND y no cabrán en
el PAL puesto que solamente se dispone de ocho compuertas AND para manejar cada uno de los flip-
flops. Por lo tanto es necesario intentar una simplificación. En el problema 3.28, para dos de las va-
riables se ha llevado a cabo la simplificación de los mapas K de cinco variables donde las funciones
An y Cn se redujeron a seis términos AND. Las dos variables restantes se pueden simplificar fácilmente
a ocho o menos términos.
DISEÑO DE MÁQUINAS DE ESTADO SENCILLAS 381
Fig. 10-17
10.4 Termínense las tablas para J y K del ejemplo 10.3 y dibújese la configuración del circuito.
Los mapas necesarios se crean en relación a la figura 10-2 y la tabla 10.7. Como un primer paso,
todas las entradas "no importa" en los mapas de D se transfieren a los mapas de J y K. Una entrada
típica JK se genera ahora como sigue. Considérese el renglón 4 columna 2 del mapa de Csig en la figura
10-2. Éste dice que si el estado presente es 1001, el valor siguiente de C será 1. De este modo, C cambiará
de 0 a 1, lo que ocurrirá si Jc = 1 y Kc = X de acuerdo con la tabla 10.7. Estas entradas están encerradas
en un círculo en el primer par de mapas de la figura 10-18. La configuración del circuito se muestra en
la figura 10-19.
382 DISEÑO DE MÁQUINAS DE ESTADO SENCILLAS
Fig. 10-18
10.5 Para el contador especificado en la tabla 10.12 diséñese la lógica requerida para una máquina
de estado empleando flip-flops JK.
La tabla de estados se crea (tabla 10.13), observando que existen seis estados "no importa": 0010,
0100,0101,1010, 1011 y 1101. Se dibujan los mapas D para cada una de las variables y entonces se expan-
den a los correspondientes mapas para JK empleando las relaciones de transición de la tabla 10.7, la
cuales se resumen como sigue:
Si el estado siguiente va a ser 1:
Cuando Q = 1, entonces J = X y K = 0
Cuando Q = 0, entonces J = 1 y K = X
Si el estado siguiente va a ser 0:
Cuando Q = 1, entonces J = X y K = 1
Cuando Q = 0, entonces J = 0 y K = X
DISEÑO DE MÁQUINAS DE ESTADO SENCILLAS 383
Fig. 10-19
En el conjunto de mapas resultante (figura 10-20), los estados especificados como "no importa"
se muestran en negritas para distinguirlos de los "no importa" asociados con los JK del proceso de tran-
sición.
10.6 Considérese un contador unidireccional especificado en la tabla 10.14. Asumiendo que se dis-
pone de las dos salidas de los flip-flops (la directa y la complementada), desarróllese el siste-
ma de ecuaciones de la lógica combinacional para usarse con flip-flops D. Repítase el proce-
dimiento para flip-flops JK y compárense los dos diseños desde el punto de vista del silicio
utilizado y la máxima frecuencia del reloj. Empléense las siguientes especificaciones:
1. Los flip-flops D y JK usan cada uno diez unidades de silicio y ambos tienen un tiempo
de inicio de 20 unidades de tiempo, un tiempo de retención de 5 unidades y un retardo
de propagación de 25 unidades.
2. Las compuertas tienen un retardo de propagación de 10 unidades de tiempo y usan
cuatro unidades de silicio más 0.5 unidades por entrada.
Los mapas relevantes para los diseños con flip-flops D y JK se muestran en las figuras 10-21 y 10-
22, respectivamente.
10.7 Implántese el sistema de la figura 10-10 empleando multiplexores para la lógica y un número mínimo de
flip-flops D.
Una estrategia efectiva es usar las salidas del estado presente como entradas de selección para los
multiplexores. Si cada salida del multiplexor se conecta a la entrada D del flip-flop de estado, entonces el
problema consiste en asegurar que la entrada de datos del multiplexor asociada con el estado presente
proporcione el valor apropiado del estado siguiente para el flip-flop.
Se hace uso de la tabla de transición desarrollada en la sección 10.6 (véase tabla de página 387).
A partir de la tabla, es claro que si el sistema está en el estado 0, el estado siguiente del flip-flop X
será 1 sólo si AB' es VERDADERO. De este modo, la lógica implantada AB' se fija a la entrada 0 del
multiplexor, reemplazando a este flip-flop. De manera similar, la lógica para AB se conecta a la entrada de
datos 1 (la cual se selecciona con las salidas del estado 1). En el caso de la entrada de datos 2, la lógica es
AB' + AB la cual se puede simplificar a A. La implantación final para ambos multiplexores X y Y se
muestra en la figura 10-23. La lógica de salida se forma a partir de las ecuaciones (10.3) y (10.4) en la
sección 10.6.
DISEÑO DE MÁQUINAS DE ESTADO SENCILLAS 387
Si se está interesado en fabricar el codificador incrementa! empleando chips SSI y MSI, es útil com-
parar la cantidad de chips para las implantaciones de un flip-flop por estado y con multiplexores (figu-
ras 10-11 y 10-23, respectivamente).
Implantación de un flíp-flop por estado:
Lógica de salida 2 compuertas de cuatro entradas (2/chip) 1 chip
8 compuertas de dos entradas (4/chip) 2 chip
Flip-ñops 6 flip-flops* D (4/chip) 2 chip
Decodificadores
A,B 4 compuertas de dos entradas (4/chip) 1 chip
2 inversores (6/chip) 1 chip
7 chips
Implantación con multiplexores:
Lógica de salida 10 compuertas de cuatro entradas (2/chip) 5 chip
Controlador 2 MUX de dos selecciones (2/chip) 1 chip
Flip-flops 4 flip-flops* D (4/chip) 1 chip
Compuertas del
MUX 3 compuertas de dos entradas (4/chip) 1 chip
8 chips
Fig. 10-24
*Incluye flip-flops de sincronización para las salidas A y B, como se discutió en el ejemplo 10.5
DISEÑO DE MÁQUINAS DE ESTADO SENCILLAS 389
10.8 Dada la carta ASM que se muestra en la figura 10-24, lístense las ecuaciones para los
estados de las variables y para las salidas. Asúmase que en el diseño se emplea un número
mínimo de flip-flops D.
Hay ocho estados, por lo tanto se necesitan tres flip-flops, que se etiquetarán como R, S y T. Los
estados han sido designados como F, G, H, J, K, L, M y N, como se muestra en la figura 10-24.
Construyase una tabla de transición de estados (tabla 10.15) como se hizo en el paso 2 de la sección
10.6. Las asignaciones de los estados R, S y T se hacen de manera arbitraria en orden alfabético.
Tabla 10.15
ESTADO PRESENTE ESTADO SIGUIENTE CONDICIONES
R ST RST
F 0 0 0 G 001 Incondicional
G 001 H 0 1 0 X'
J 01 1 X
H 0 1 0 L 101 X
M 110 X ' W
N 111 X'W
J 01 1 K 100 V
G 001 V
K 100 G 001 Z
M 1 10 Z'
L 101 N 111 W'
H 010 W
M 1 10 F 000 Incondicional
N 111 F 0 0 0 Incondicional
Después, escríbanse las ecuaciones del controlador empleando el método descrito en el paso 3 de
la sección 10.6.
d R = H + JV + KZ' + LW
= R'ST' + R'STV + RS'T'Z' + RS'TW
d S = G + HX' + KZ' + L
= R'S'T + R'ST'X' + RS'T'Z' + RST
d T = F + GX + H(X + W) + JV + KZ + LW
= R'S'T' + R'S'TX + R'ST'(X + W) + R'STV + RS'T'Z + RS'TW
390 DISEÑO DE MÁQUINAS DE ESTADO SENCILLAS
Obsérvese que se han usado algunas simplificaciones booleanas. Por ejemplo, en la tercera ecua-
ción, el término H(X + W) es una reducción de H(X + X'W).
Finalmente, las ecuaciones de salida se pueden escribir directamente a partir de la carta ASM. Por
ejemplo, se ve que la salida A se produce cuando el sistema está en alguno de los estados F, H o L:
A=F+H+L
= R'S'T' + R'ST' + RS'T
B=H+J+K
= R'ST' + R'ST + RS'T'
C = G + M + HX'
= RS'T + RST' + R'ST'X'
10.9 Hágase una carta ASM correspondiente a la máquina de estado síncrona que se muestra en la
figura 10-25.
El símbolo de la parte baja de lado izquierdo en la figura 10-25 es la equivalencia de una compuer-
ta, en lógica positiva, que produce una salida VERDADERA cuando sus entradas son iguales. En for-
ma booleana, la equivalencia de las variables B y C se expresa como F = B'C + BC.
Fig. 10-25
DISEÑO DE MÁQUINAS DE ESTADO SENCILLAS 391
Iníciese en RST = 000 y determínese cada uno de los estados siguientes, observando las entradas
en las líneas de direccionamiento del multiplexor después de cada pulso de reloj:
Cuando se está en el estado 000, es claro que el estado siguiente será 001.
Cuando se está en el estado 001, las entradas d son A'A0 lo que significa que el estado siguiente
será 010 (2) si A = 1 y 100 (4) si A = 0.
Cuando se está en el estado 010, las entradas d son C'CC de modo que se pasa al estado 3 si
C = 1 y al estado 4 si C =0.
Para el estado 3, las entradas d son dR = 0, ds = BC y dT = (B'C + BC), respectivamente. El
análisis de las distintas posibilidades se hace más fácil por medio de una pequeña tabla de verdad (tabla
10.16).
Tabla 10.16
Obsérvese que se pasa del estado 1 al estado 4 si A es FALSA, sin considerar el valor de B.
En la figura 10-25 se ve que la salida X se presenta cuando se está en los estados 001 o 010 (1 o
2); la salida W pertenece al estado 001, pero solamente si A es FALSA y B es VERDADERA. Las salidas
se pueden expresar en forma booleana como
W = R'S'TBA' [estado "1" y BA' (salida condicional)]
X = ST + S'T [estado "1" o estado "2"]
Ahora se puede dibujar la carta ASM como se muestra en la figura 10-26.
392 DISEÑO DE MÁQUINAS DE ESTADO SENCILLAS
Fig. 10-26
Fig. 10-27 Carta ASM para el problema 10.10. La notación "F" a la salida del bloque de decisión A,
B indica que cuando B es FALSA, A es un "no importa"; es decir, puede ser VERDADE-
RA O FALSA
DISEÑO DE MÁQUINAS DE ESTADO SENCILLAS 393
10.10 Usando la carta ASM que se muestra en la figura 10-27, implántese el controlador de un flip-flop
por estado correspondiente.
Para cada uno de los seis estados síganse hacia atrás a través de la carta para determinar el estado
o estados anteriores y las condiciones de transición asociadas con cada uno de ellos. Los resultados de
este análisis se organizan y presentan en la tabla 10.18.
Fig. 10-28
394 DISEÑO DE MÁQUINAS DE ESTADO SENCILLAS
Las ecuaciones del controlador escribir para cada estado presente directamente a partir de la tabla:
L=R+P
M = LB' + NC
N=M
P = L(A'B + ABD) + NC'D
Q = LABD' + NC'D' + QA'
R = QA
El diseño completo de un flip-flop por estado se muestra en la figura 10-28. Obsérvese la modifica-
ción para inicialización, involucrada en el flip-flop L, la cual se describió en la sección 10.10.
10.11 Con referencia al problema 10.10, obténganse las ecuaciones booleanas para un diseño con
el mínimo de flip-flops.
Se requieren tres flip-flops para codificar cinco estados. Nombrándolos U, V y W, se crea la tabla
de transición de estados mediante el seguimiento de la lógica secuencial en la carta ASM de la figura
10-27 o mediante la conversión de estado anterior a estado presente y de estado presente a estado si-
guiente en la tabla 10.18 y reacomodando las entradas. El resultado se muestra en la tabla 10.19.
Las ecuaciones de diseño del controlador se obtienen escribiendo, para cada uno de los flip-flops
D, todas las condiciones para las cuales el estado siguiente es un 1 lógico. Las ecuaciones resultantes
después de que se han simplificado aplicando la identidad A. 13 (apéndice A) en los lugares apropiados
son:
10.12 Conviértase la solución del problema 10.10 a un listado para las entradas a la tabla de estados.
La parte esencial del programa de las entradas a la tabla de estados consiste de la matriz de estados
y la lista de condiciones para cada estado, como se obtuvo de la tabla 10.19.
ESTADOS [QU QV QW]
L [0 0 0]
M [0 0 1]
N [0 1 0]
P [0 1 1]
Q [1 0 0]
R [1 0 1]
DISEÑO DE MÁQUINAS DE ESTADO SENCILLAS 395
Tabla 10.18
ESTADO AN- ESTADO CONDICIONES
TERIOR PRESENTE
R L Incondicional
P Incondicional
L M B"
N C
M N Incondicional
L P A' B + A B D
N C'D
L Q ABD'
N C'D'
Q A'
Q R A
Tabla 10.19
L:
IF B' THEN M
IF A'*B + A*B*D THEN P
IF A*B*D' THEN Q
ASSERT:
OUT1
IF A*B*D THEN OUTPUT 2
M:
N
N:
IF C THEN M
IF C'*D THEN P
IF C'*D' THEN Q
ASSERT:
IF C'*D THEN OUT2
P:
L
ASSERT:
OUT1
Q:
IF A THEN R
IF A' THEN Q
ASSERT: OUT2
L
ASSERT:
R: OUT3
Fig. 10-29
DISEÑO DE MÁQUINAS DE ESTADO SENCILLAS 397
10.13 Mediante el empleo de la carta ASM del problema 10.10 y las formas de onda que se muestran
en la figura 10-29 trácese el diagrama de tiempos para todos los estados y las salidas asumien-
do un reset previo.
Obsérvese que las transiciones de la entrada coinciden con los pulsos de reloj indicando que es una
máquina síncrona. Cuando se aplica el reset, la máquina está inicialmente en el estado L, como se espe-
cifica.
En relación con la carta ASM de la figura 10-27 se sigue la secuencia de estados:
1. Puesto que antes del primer pulso de reloj , AyB= l y D= 0, se ve que la máquina se irá al estado
Q-
2. En el pulso 2, A = 1 y se mueve al estado R.
3. El estado siguiente es incondicionalmente L.
4. A = 1, B = 1 y D = 1; el estado es P.
5. Se transfiere a L incondicionalmente.
6. A = 0 y B = 1; el estado es P.
7. Regresa a L incondicionalmente.
8. Puesto que A y B únicamente determinan el estado que sigue a L y permanecen sin cambio des
pués del pulso de reloj 4, la máquina de estado oscilará entre los estados P y L indefinidamente.
A partir de la solución al problema 10.11,
OUT1 = L + P (incondicional; OUT1 = 1 si la máquina está en los estados L o P)
O U T 2 = Q + L A B D + N C ' D OUT3 = R (incondicional)
Las formas de onda de las salidas se muestran en la figura 10-30.
Fig. 10-30
La salida 2 permanece en 0 después del pulso 4 aun cuando recurre al estado L ya que es incondi-
cional de la entrada A la cual se ve que permanece en 0 sobre todo este rango.
10.14 En el sistema del ejemplo 7.5 (figura 7-18), se intentó que los dos flip-flops recibieran la señal
de reloj al mismo tiempo. Sin embargo, debido a la diferencia en longitud de las trayectorias
de la señal, los pulsos de reloj llegaron a cada uno de los flip-flops con una ligera diferencia
398 DISEÑO DE MÁQUINAS DE ESTADO SENCILLAS
de tiempo; se dice que están retardadas. Además de los datos proporcionados en el ejemplo
7.5, se dan los parámetros de tiempo mínimos como sigue:
Problemas suplementarios
10.15 Un diagrama esquemático abreviado de la lógica combinacional de una máquina de estado para conteo
con una ROM se muestra en la figura 10-32. Se desea insertar en cada línea marcada con una X una
caja que contenga lógica la cual permita cargar datos en paralelo hacia todos los flip-flops D cuando
una entrada L = 1. Cuando L = 0, el conteo debe continuar. Diséñese la lógica para una caja típica
(figura 10-33), usando el menor número de compuertas que sea posible.
DISEÑO DE MÁQUINAS DE ESTADO SENCILLAS 399
Fig. 10-32
Fig. 10-33
400 DISEÑO DE MÁQUINAS DE ESTADO SENCILLAS
10.16 Empléense flip-flops JK y tantas compuertas como sean necesarias para implantar la máquina de esta-
do de un contador definido por la secuencia dada en la tabla 10.20. Se debe intentar minimizar el núme-
ro de compuertas requeridas y definir su diseño mediante ecuaciones lógicas (en relación con la figura
10-19).
Tabla 10.20
A B C
0 0 1
1 0 0
0 1 1
1 1 0
1 1 1
Se repite
10.18 Con propósitos de comparación, implántese el problema 9.17 empleando flip-flops JK y compuertas
SSI.
10.19 Determínense las ecuaciones booleanas de diseño para una máquina de estado que cuenta en la secuen-
cia dada en la tabla 10.22. Asúmase que se usan flip-flops D para registrar los estados.
0 0 0 0 0 0 0
0 1 0
0 0 0 1
1 1 0
0 0 1 0
1 0 1
0 0 1 1 0 0 1
0 1 0 0 1 1 1
0 1 0 1 0 1 1
0 1 1 0 1 0 0
0 1 1 1
1 0 0 0
1 0 0 1
Se repite
10.20 A continuación se muestra una parte de un programa de las entradas a la tabla de estados. Dibújese
la carta correspondiente. Nota: Solamente se lista aquella parte del programa que es pertinente a la car-
ta.
DISEÑO DE MÁQUINAS DE ESTADO SENCILLAS 401
A:
IF X + Y THEN B
A
B:
C
ASSERT:
OUT2
C:
CASE X:A
ENDCASE
B
ASSERT:
IF X' THEN OUT1
IF X THEN OUT2
END$
10.21 Empleando la carta ASM que se muestra en la figura 10-34, hágase la tabla de transición de estados
para un controlador de un flip-flop por estado y escríbanse las ecuaciones de diseño.
Fig. 10-34
402 DISEÑO DE MÁQUINAS DE ESTADO SENCILLAS
10.22 Con la carta ASM del problema anterior se deben crear las ecuaciones de diseño para una máquina
de estado con el mínimo de flip-flops.
10.23 Repítase el problema 10.22, escribiendo esta vez un programa para las entradas de la tabla de estados
usando el software iPLSII.
10.24 Hágase la tabla de transición de estados correspondiente al controlador de un flip-flop por estado que
se muestra en la figura 10-35.
10.25 Reacomódese la tabla de estados del problema 10.24 en la forma apropiada para obtener una realiza-
ción con el mínimo de flip-flops, y escríbanse las ecuaciones de diseño para los estados.
Fig. 10-35
DISEÑO DE MÁQUINAS DE ESTADO SENCILLAS 403
Fig. 10-36
Fig. 10-37
404 DISEÑO DE MÁQUINAS DE ESTADO SENCILLAS
Fig. 10-38
10.26 En la figura 10-36 se muestra una pequeña máquina de estado. Dibújese la carta ASM correspondiente
designando los flip-flops de estado como A y B. Será útil empezar con un estado arbitrario. Examínese
el desempeño a medida que avanza el reloj.
10.27 Dada la carta ASM que se muestra en la figura 10-37, hágase la tabla de transición de estados y prodúz-
case un conjunto de ecuaciones de diseño para una realización con el mínimo de flip-flops.
10.28 Empleando la carta ASM del problema 10.27, complétese el diagrama de tiempos, que se muestra en
la figura 10-38, asumiendo que el sistema está inicialmente en el estado A.
10.29 Repítase el problema 10.8 para un diseño de un flip-flop por estado. Empléese F como el estado inicial.
Fig. 10-39
JA = 1 K A = C + B'
JB = 1 KB = AC
JC = 1 K C = A'
Sólo se necesitan dos compuertas si las dos salidas de los flip-flops están disponibles.
JD = ABC KD = A
JC = AB K C = AB
JB = AD' KB = A
JA = 1 KA = 1
10.18 Un enfoque razonable es crear un mapa para J y uno para K, para cada una de las variables que intervie-
nen en la cuenta, A, B, C y D (F = 0) y repetir el proceso para F = 1. De los 16 mapas se obtiene:
C A XY
D INCONDICIONAL
B
A INCONDICIONAL X
B X' Y'
C
C
B X' X1
C Y
C D X Y'
DISEÑO DE MÁQUINAS DE ESTADO SENCILLAS 407
Ecuaciones de diseño:
dA = C X Y + D OUTPUT1 = A + C
dB = A + B X + C X' Y' OUTPUT2 = B + C
dC = B X' + C X' Y OUTPUT3 = CXY
dD = C X Y'
10.22 Hay cuatro estados, de modo que el mínimo de flip-flops será tres. Véase la tabla 10.24.
Tabla 10.24
ESTADO PRESENTE ESTADO SIGUIENTE CONDICIONES
MN MN
A 0 0 B 0 1 INCONDICIONAL
B 0 1 B 0 1 X
C 1 0 X'
C 1 0 A 0 0 XY
B 0 1 X'Y'
C 1 0 X'Y
D 1 1 X Y'
D 1 1 A 0 0 INCONDICIONAL
Ecuaciones de diseño:
A: B
ASSERT:
OUTPUT1
B:
IF X THEN B
IF X' THEN C
ASSERT:
OUTPUT2
C:
IF X'*Y THEN C
IF X*Y THEN A
IF X'*Y' THEN B
IF X*Y' THEN D
ASSERT:
OUTPUT1
OUTPUT2
IF X*Y THEN OUTPUT3
D: A
Tabla 10.25
ESTADO ANTERIOR ESTADO PRESENTE CONDICIONES
P M X' Y'
Q Z
M N VERDADERO
Q Z'
N P VERDADERO
P X' Y
P Q X
DISEÑO DE MÁQUINAS DE ESTADO SENCILLAS 409
Tabla 10.26
ESTADO PRESENTE ESTADO SIGUIENTE[U V] CONDICIONES
M N 0 1 VERDADERO
N P 1 0 VERDADERO
P P 1 0 X'Y
Q 1 1 X
M 00 X'Y'
Q N 01 Z'
M 00 Z
Ecuaciones de diseño
Tabla 10.27
ESTADO PRESENTE ESTADO SIGUIENTE
A B JA KA JB KB A B
0 0 1 1 0 1 1 0
1 0 1 1 1 1 0 1
0 1 0 1 0 1 0 0
1 1 0 1 1 1 0 0
Fig. 10-41
410 DISEÑO DE MÁQUINAS DE ESTADO SENCILLAS
Obsérvese que la máquina de estado no puede asumir el estado 11 por sí misma; sólo puede llegar a
este estado si se fuerza por una entrada externa.
Tabla 10.28
ESTADO PRESENTE[M N] ESTADO SIGUIENTE [M N] CONDICIONES
A 00 B 01 VERDADERO
B 01 C 10 VERDADERO
C 10 A 00 X'Y1
C 10 X'Y
D 11 X
D 11 A 00 Z
B 01 Z'
Fig. 10-42
Ecuaciones de salida:
A = F + H + L
B = H + J + K
C = G + M + HX'
10.30 Las transiciones en el circuito de un flip-flop por estado son de 0 a 1 para el estado seleccionado y de
1 a 0 cuando se deja de seleccionar. De otro modo, los flip-flops por omisión están en 0. Hágase K
siempre igual a 1, y entonces hágase J = 1 cuando se desee una transición de 0 a 1. Para el estado inicial,
los papeles de J y K están reservados. Ecuaciones del controlador:
KF = N + M JF = 1
JG = F KG,...,KN = 1
J H = GX' + LW
JI = GX
JK = JV
JL = HX
J M = HX'W' + KZ'
J N = LW' + HX'W
Ecuaciones de salida:
A=F+H+L
B = H +J + K
C = G + M + HX'
Capítulo 11
Funciones programables electrónicamente
11.1 INTRODUCCIÓN
En sistemas de cómputo, con frecuencia se utilizan circuitos formados los cuales son capaces de
tener sus funciones modificables (es decir, se pueden alterar) mediante señales de control. En con-
traste con los dispositivos lógicos programables que se discutieron en el capítulo 9, las entradas
eléctricas alteran la función del circuito sin causar ningún cambio físico en el hardware.
Obsérvese que aun cuando la operación de esta compuerta se puede describir en la forma boo-
leana convencional, cuando la meta de diseño es implantar un dispositivo programable, es más útil
correr la perspectiva de uno y verlo funcionalmente como, en el presente caso, un inversor lógico
programable.
412
FUNCIONES PROGRAMABLES ELECTRÓNICAMENTE 413
El multiplexor
El uso del multiplexor como interruptor controlado se ha descrito completamente en el capítulo 5.
Este dispositivo se puede utilizar para seleccionar una de entre múltiples entradas, cuando la señal
de control apropiada se aplica en sus entradas de selección.
El dispositivo TRI-STATE®
El dispositivo TRI-STA TE® (descrito anteriormente en el capítulo 9) también se utiliza como un
interruptor controlado. Se puede configurar para que funcione ya sea como interruptor o como
buffer (sin inversión) cuando se habilita y siempre aparecerá como un circuito abierto en su salida
cuando no se habilite. Se puede obtener flexibilidad adicional sí el estado de su entrada de habilita-
ción se determina mediante una lógica como la de la figura 11-3. En este caso, un dispositivo
TRI-STA TE® con habilitación LT se controla mediante dos señales (A y B) de tal modo que el dato
aparecerá en la línea de salida sólo cuando A y B sean VERDADERAS en forma simultánea.
Como se describió brevemente en el capítulo 9, hay un producto intermedio entre los dispositivos
PAL, los PLA y los "arreglos de compuertas completos. Se denomina arreglo de compuertas pro-
gramable de campo (FPGA), algunas veces referido como arreglo de celdas lógico (LCA™).* El
FPGA difiere de muchos dispositivos configurables en que se puede programar sin el requerimiento
de ningún cambio físico en las interconexiones del circuito.
Estos dispositivos contienen un registro de corrimiento de gran longitud (SRAM) el cual, du-
rante la programación, se carga con una larga cadena de bits en serie que produce el software de
programación. Esta cadena de bits implantada circula en todo el circuito y se usa para controlar
las conexiones entre los componentes que forman al FPGA. El circuito se puede reconfigurar fácil-
mente mediante el ingreso de una cadena de bits diferente.
Como un ejemplo de un FPGA, considérese el LCA de Xilinx, Inc. Consiste de tres tipos de
componentes estructurados:
1. Bloques lógicos configurables (CLB)
2. Bloques de entrada/salida (I/OB)
3. Puntos de interconexión programables (PIP)
Fig. 11-4 Bloque lógico configurable (Impreso por cortesía de Xilinx, Inc.)
Una opción permite la creación de cualquier función sencilla de cinco de las variables; otra per-
mite la creación de dos funciones cualquiera hasta de cuatro variables (con algunas restricciones
de cómo se combinan las variables). En la práctica real, la lógica combinatoria se lleva a cabo utili-
zando una parte de la cadena de bits implantada como ¡a tabla de definición de una RAM a partir
de la tabla de verdad de la lógica que se implantará. La cadena de bits se carga durante la programa-
ción del dispositivo y solamente se lee (como una ROM) durante la ejecución. El CLB contiene tam-
bién una entrada de datos directa para los flip-flops, la cual se salta a la lógica combinatoria.
La entrada D de cada flip-flop se aisla mediante un multiplexor de modo que se pueda conectar
a la entrada de datos o a las salidas de la lógica combinatoria. Los multiplexores a la salida de los
flip-flops permiten la selección de las salidas del CLB ya sea en forma directa o registradas (a través
de los flip-flops) las cuales vienen de las salidas de la lógica combinatoria. La señal de reloj se puede
aplicar directamente o se puede invertir. Ambas señales externas de reset, tanto la controlable como
la global, se pueden enviar a los flip-flops. Los multiplexores descritos anteriormente son de dos
tipos, de 1 o 2 bits de direcciones cuyas entradas de selección están todas bajo el control de la cadena
de bits de datos implantada. La señal de salida del CLB se puede enviar a otros CLBs para utilizarse
como entradas, o se pueden enviar a los bloques de entrada/salida y abandonar (salir) al chip. Cada
416 FUNCIONES PROGRAMABLES ELECTRÓNICAMENTE
CLB es capaz de conectarse directamente a cualquier CLB adyacente sin entrar a una matriz de inte-
rruptores.
Bloque de entrada/salida
Este es un puerto bidireccional unido a una terminal de E/S. Bajo el control de la cadena de bits
de entrada se puede configurar ya sea como un puerto de salida estándar, un puerto de salida de
tres estados o como un puerto de entrada. A través del uso de multiplexores (como interruptores
controlados) y compuertas XOR (como inversores controlados), se puede presentar al puerto una
señal de salida ya sea en forma directa o invertida, registrada o no. Cuando el bloque de E/S se
configura como un puerto de entrada, la señal de entrada aparece en ambas formas directa y regis-
trada y, se pueden enviar una o ambas de estas señales a los CLB apropiados.
En la figura 11-5 se muestra la estructura lógica interna de un bloque de entrada/salida. Los
cinco bloques de la parte superior de la figura representan los estados de los elementos RAM de
fondo los cuales controlan la programación de este elemento específico.
El flip-flop de control OUT INV (inversión de la salida) está conectado a una de las entradas
de una compuerta OR exclusiva (G1) y la otra está conectada a la salida de FPGA. De esta manera
el flip-flop OUT INV se emplea como un elemento de control para los datos de salida; cuando es
1, el flip-flop D, FF1 se carga con la variable de salida invertida, y cuando es 0, FF1 se carga con
la versión directa de la variable de salida. De una manera similar, cuando el flip-flop TS INV (habi-
litación de la salida invertida) se fija en 1, permite al diseñador utilizar la forma invertida de la señal
de control de TS (tres estados) para habilitar al buffer de salida, de esta manera hace que el elemento
sirva como una terminal de salida. Se ve que para controlar electrónicamente se hace uso tanto de
la conexión de los elementos básicos como su naturaleza.
La variable Fuente de Salida de la RAM determina la salida del buffer, cuando está habilitada,
pasará ya sea la versión directa o la registrada de la variable de salida a través del bloque de E/S.
La rapidez de respuesta (slew rate) se refiere a la velocidad con la cual responderá el circuito
a una transición de nivel lógico y se mide en volts por microsegundo (o nanosegundo). En el presen-
te caso, este tiempo de respuesta puede adoptar dos valores predeterminados.
Cuando el jalón (pull-up) pasivo, se fija en 1, hace que el elemento se conecte a la fuente de
alimentación de voltaje, a través de una resistencia y, de este modo sea "jalado" a un valor lógico
positivo VERDADERO cuando el buffer de salida sea un circuito abierto (no habilitado).
La sección inferior del bloque de E/S en la figura 11-5 abarca a las señales de entrada que van
a ser enviadas a varios lugares del FPGA. Puesto que las trayectorias de entrada y salida de la señal
comparten una conexión común en el elemento, las salidas se pueden usar para realimentación in-
terna a CLB u otros bloques de E/S. Los datos de entrada se pasan en ambas formas, directa y
registrada; esta última a través de FF2. Cualquier selección entre éstas se hace fuera del bloque de
E/S.
Interconexión programable
La interconexión programable (se muestra en forma esquemática en la figura 11-6) consiste de una
rejilla de capas múltiples de segmentos metálicos. Los interruptores de transistor, bajo el control
de la cadena de bits implantada, forman los puntos de interconexión programables (PIP) entre los
segmentos metálicos seleccionados y el bloque de terminales. Se dispone de tres tipos de recursos
metálicos:
FUNCIONES PROGRAMABLES ELECTRÓNICAMENTE 417
a)
b)
Fig. 11-7 (Adaptado de Herbert Taub, "Digital Circuits and Microprocessors", McGraw-Hill, Inc., Nueva
York, N Y, 1982.)
420 FUNCIONES PROGRAMABLES ELECTRÓNICAMENTE
EJEMPLO 11.1 Configurando la ALU para SUMAR aritméticamente. Considérense las conexiones externas
siguientes:
MODE = 1
SELECTO = 0
SELECT1 = 1
Acarreo de entrada (0) = 0
Se presenta el siguiente análisis paso a paso con referencia a la figura 11-8:
1. MODE = 1 asegura que la salida de G 1 es C i .
2. SELECTO = 0 asegura que G2 produce A i en su salida.
FUNCIONES PROGRAMABLES ELECTRÓNICAMENTE 421
Tabla 11.1
Ai Bi Ci F¡ Acarreo de salida (i)
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
Las computadoras a menudo hacen uso de registros los cuales tendrán un diferente desempeño en
respuesta a varios comandos. Dicho registro en el cual se hace la programación con compuertas
AND, se muestra en la figura 11-10. Las líneas y señales de control se muestran en forma remarca-
FUNCIONES PROGRAMABLES ELECTRÓNICAMENTE 423
da. La función de este registro es tomar la información de un bus, almacenarla, posiblemente ope-
rar sobre ésta y situarla de regreso en el bus bajo el comando apropiado. Las dos líneas del bus
que se muestran en la figura serán, muy a menudo, físicamente el mismo conductor.
El análisis de desempeño del registro se facilitará observando que sólo se realiza una operación
a la vez; esto es, solamente un comando es VERDADERO en todo tiempo. Por ejemplo, cuando
la señal "transfer in" es VERDADERA, las compuertas G1 y G2 de cada estado son primadas.
Las compuertas G3 y G4 ambas producen en su salida un 0 debido a que la señal "increment" es
0. Así, el contenido del bus se aplica a la entrada J del flip-flop FF(i), mientras que su complemento
se aplica a la entrada K. En esta situación, el siguiente pulso de reloj produce Q = J. De manera
similar, si sólo la línea de "reset" es VERDADERA, la salida de todas las compuertas AND es 0,
como lo es la señal "complement". Las entradas J y K son 0 y 1, respectivamente y, el siguiente
pulso de reloj fija Q a 0. Obsérvese que la señal "transfer out" es la habilitación para los buffers
TRI-STATE® los cuales conectan las salidas de los flip-flops al bus.
424 FUNCIONES PROGRAMABLES ELECTRÓNICAMENTE
Fig. 11-10 Registro programable. (Adaptado de Herbert Taub, "Digital Circuits and Microprocessors",
McGraw-Hill, Inc., Nueva York, N Y, 1982.)
FUNCIONES PROGRAMABLES ELECTRÓNICAMENTE 425
1001111
+ ______1
1010000
Se ve que el resultado es equivalente a examinar el número de su bit de menor orden hacia el de mayor
orden y cambiar de estado todos los bits hasta encontrar el primer 0 inclusive.
Problemas resueltos
11.1 En la ALU de la figura 11-7a, con SELECTO, SELECT1, MODE y acarreo de entrada (0)
todos igual a 1, muéstrese que la rebanada de 4 bits lleva a cabo la sustracción con comple-
mento a 2.
Este arreglo es casi idéntico al del ejemplo 11.1 donde se demostró que el circuito funciona como
un sumador binario. En el presente caso, las diferencias radican en el hecho que SELECTO y el acarreo
de entrada (0) son ahora ls.
El uso de SELECTO = 1 como una entrada para el inversor controlado significa que la variable
Ai' será sumada a Bi en lugar de Ai. Además, haciendo acarreo de entrada (0) = 1 hace que el resultado
se incremente de modo que se tiene
Fi = Bi( + )Ai'( + )1
= Bi( + )(complemento a 2 de Ai)
= B-A
El símbolo "(+)" se emplea para distinguir la adición aritmética de la función lógica OR. Véase
el problema 11.5 para la implantación de A - B.
11.2 Demuéstrese la acción de complement del registro que se muestra en la figura 11-10.
Sólo hay una señal de control VERDADERA en todo tiempo, de modo que
Complement 'C) = 1
Increment (I) = 0
Transfer in (TI) = 0
Reset (R) = 0 Transfer
out (TO) = 0
426 FUNCIONES PROGRAMABLES ELECTRÓNICAMENTE
Fig. 11-11
FUNCIONES PROGRAMABLES ELECTRÓNICAMENTE 427
11.3 Modifíquese el registro de la figura 11-10 de manera que el circuito pueda decrementar me-
diante un comando.
Ejemplo de decremento: Sustráigase 1 del número original.
00111001000
-1
00111000111
Obsérvese que el contenido del registro cambia de estado de derecha a izquierda hasta que se en-
cuentra el primer 1 inclusive. El circuito se puede modificar al acumular Os en la misma forma que
actualmente lo hace al acumular ls. Se agregan dos compuertas adicionales a los árboles de compuertas
AND asociados con las entradas JK de cada etapa y se obtienen las entradas para éstas de las compuer-
tas adicionales de control de decrement [Gd(i)] como se muestra en la figura 11-11. La presencia de
Os en un número binario almacenado se determina mediante la obtención de las señales de Q' del lado
de los flip-flops. La circuitería adicional (indicada mediante líneas más gruesas) no interfiere con otras
operaciones debido sólo a que una señal de control está presente en cualquier tiempo dado. En la figura
11-11 las compuertas de control de increment se ha borrado para mayor claridad.
11.4 Usando el registro que se muestra en la figura 11-10, determínense los tiempos de las señales
de control de entrada en los que se producirá la siguiente secuencia de eventos:
1. Cargar los datos de entrada del bus.
2. Hacer el complemento a 2 de los datos.
3. Transferir los datos procesados al bus.
Obsérvese que el complemento a 2 de un número binario se lleva a cabo complementando cada
bit y adicionando un 1 (incrementar), se desarrolla la secuencia detallada como sigue:
11.5 Una versión modificada de una celda de la ALU se muestra en la figura 11-12 en la que,
SELECTO = 0
SELECT1 = 1
SELECT2 = 1
MODE = 1
Acarreo de entrada (0) = 1
Fig. 11-12
FUNCIONES PROGRAMABLES ELECTRÓNICAMENTE 429
Determínese la operación que se lleva a cabo y el máximo retardo desde la entrada hasta
la salida.
La única diferencia entre el circuito dado y el circuito del problema 11.1 es la adición de una com-
puerta OR exclusiva (controlada mediante SELECT2) a través de la cual pasa la entrada B¡.
Si SELECT2 = 1, B¡ se complementa y el circuito produce A¡( + )B¡'( + )1 lo cual es igual a A-B.
El máximo retardo se presenta en la parte del acarreo de salida donde la señal pasa a través de
cuatro compuertas. Obsérvese que debido a que el acarreo de salida de una etapa es el acarreo de entrada
de la siguiente, se presenta un efecto de propagación y el retardo total en un circuito (bit slice) de n
bits es igual a 4n retardos de una compuerta.
11.6 Considérese la ALU con los valores de la señales de control fijos como sigue:
SELECTO = 1
SELECT1 = 1
Acarreo de entrada (0) = 1
MODE = 0
Muéstrese que hay una salida de F = 1 solamente si A¡ y B¡ son idénticas.
MODE = 0 significa que no hay propagación del acarreo. De este modo, la operación continua
bit a bit. SELECTO = 1 significa que Ai aparece en la forma complementada Ai'. SELECT1 = 1 sig-
nifica que Bi se emplea en la forma directa. Puesto que acarreo de entrada (0) es irreevelante, el aca-
rreo de salida también es irrelevante.
Con referencia a la figura 11-13 se muestra que Fi = Ai ⊕ Bi. La construcción de una tabla de
verdad apropiada muestra que puede ser VERDADERA solamente si AB = 00 o 11.
11.7 Empleando un multiplexor, diséñese un circuito que se pueda usar para seleccionar ya sea
una señal o su complemento aparezca en la salida. Compárese su resultado con el enfoque
de la OR exclusiva que se presentó en la sección 11.2.
Cuando se usa un inversor como el que se muestra en la figura 11-14, las dos entradas de un multi-
plexor con selección única se obtienen a partir de la misma variable, una siendo directa (A) y la otra
invertida (A').
El multiplexor de dos entradas se compone de dos compuertas AND de dos entradas y una com-
puerta OR (véase la sección 5.2). La lógica se muestra en la figura 11-15.
La ecuación booleana de la XOR está dada por F = AS' + A'S donde S = selección. Se ve que
esto da exactamente la misma lógica que el multiplexor de la solución que se muestra en la figura 11 -15.
La diferencia entre el multiplexor y el enfoque a través de la OR exclusiva se ve que reside en la mente
del diseñador solamente y no en la fabricación en silicio.
Fig. 11-13
Fig. 11-14
FUNCIONES PROGRAMABLES ELECTRÓNICAMENTE 431
Fig. 11-15
Fig. 11-16
Tabla 11.2
S1 S2 S3 S4 F
0 0 0 0 0
0 0 0 1 B
0 0 1 0 A
0 0 1 1 A⊕B
0 1 0 0 0
0 1 0 1 B'
0 1 1 0 A
0 1 1 1 A⊕ B'
1 0 0 0 0
1 0 0 1 B
1 0 1 0 A'
1 0 1 1 A' ⊕ B
1 1 0 0 0
1 1 0 1 B'
1 1 1 0 A'
1 1 1 1 A' ⊕ B'
432 FUNCIONES PROGRAMABLES ELECTRÓNICAMENTE
11.9 Diséñese un circuito para llevar a cabo las operaciones definidas en el problema 11.8, excep-
to la salida 0.
Estrategia: Puesto que se necesitan las ocho salidas y se van a usar tres variables de selección, cada
selección de la configuración se debe igualar con la salida deseada.
Obsérvese, a partir de la tabla 11.3, que Si divide la tabla en dos grupos. Empléese esta variable
para distinguir entre las salidas que pasan a través de compuertas XOR y las salidas de variable sencilla.
Si S2 y S3 se pueden usar para crear combinaciones únicas de A y B y sus complementos, se pueden
almacenar para crear las variables sencillas y combinadas para hacer funciones XOR.
Tabla 11.3
S1 S2 S3
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
Si S2 se usa como el control para una XOR con A como la otra entrada, entonces A aparecerá
cuando S2 es 0 y A' cuando S2 es 1. De manera similar, S3 se puede usar para seleccionar entre B y
B'. Otra combinación de S2 y S3 para distinguir entre las variables. Un procedimiento de prueba y
error conduce a emplear S2 y S3 a través de una operación XOR (salida intermedia Y). Cuando Y =
1, W se envía hacia G7 (variable A seleccionada y B suprimida) y, cuando Y = 0, X se envía hacia
G7 (variable B seleccionada y A suprimida). Véase la tabla 11.4.
Tabla 11.4
S1 S2 S3 W = S2 ⊕ A X = S3 ⊕ B Y = S2 ⊕ S3
0 0 0 A B 0
0 0 1 A B' 1
0 1 0 A' B 1
0 1 1 A B' 0
1 0 0
1 0 1
1 1 0
1 1 1
La parte del circuito "encerrada en el cuadro punteado" que se muestra en la figura 11-17 implan-
ta la lógica descrita anteriormente. Las compuertas G1, G2 y G3 son XOR las cuales producen las salidas
intermedias W, X y Y. La inversión de Y = S2 ⊕ S3 se requiere para controlar la selección entre las
variables A y B la provee G4. La compuerta AND S5 pasa la variable B y G6 pasa la variable A; éstas
nunca están primadas simultáneamente, de manera que sus salidas se pueden combinar en una sola
línea a través de G7 la cual proporciona la variable seleccionada al final de la lógica de salida.
FUNCIONES PROGRAMABLES ELECTRÓNICAMENTE 433
Fig. 11-17
Obsérvese que los elementos G4, G5, G6 y G7 forman un circuito que selecciona entre dos líneas
de entrada (un multiplexor de selección única) como se muestra en la figura 11-15. Esta estructura se
repite para seleccionar una variable sencilla y variables combinadas A y B a través de compuertas
XOR. En este caso, cuando la variable de control S1 = 1, la salida de la compuerta XOR, G12 se pasa
a la salida F y, cuando S1 = 0, G9 se prima para pasar una variable sencilla a la salida.
Obsérvese que aunque este diseño requiere solamente tres variables de control, utiliza una mayor
cantidad de lógica que la versión de cuatro variables del problema 11.8. A menudo éste es el caso. Una
reducción en el número de variables de control o selección normalmente incrementa la complejidad
de la lógica requerida.
También se debe poner atención en la elección de la técnica de diseño empleada en la solución
de este problema. El conocimiento y uso de los bloques funcionales ha simplificado grandemente el
diseño lógico, lo que de otra manera ha sido relativamente tedioso mediante el enfoque de seguimiento
de mapas K de cinco variables. En general, la síntesis de un circuito a partir de una especificación dada
produce muchos diseños válidos y, con frecuencia no hay una mejor solución única. La experiencia
y habilidad del diseñador es obviamente un factor clave en la utilidad y eficiencia de cualquier enfoque
de diseño.
11.10 La figura 11-18 muestra la estructura de un registro generalizado. Asumiendo que una de
las señales es VERDADERA en todo tiempo, muéstrese analíticamente, determinando las
expresiones para J y K, como funciona el registro para cada una de las siguientes operacio-
nes:
1. Transfer in
2. Reset
3. Complement
4. Increment
En general:
Ji = C + WD + I[Gc(i - 1)]
Ki = C + Z + D'W + I[Gc(i - 1)]
434 FUNCIONES PROGRAMABLES ELECTRÓNICAMENTE
Caso 4. Increment: I = l , C = W = Z = 0.
J i = G c (i-1) K i = G c (i-1)
El reloj causará que Qi cambie de estado si Gc(i-1) = 1, que será el caso si todos los bits de bajo
orden en el registro son 1.
Fig. 11-18
FUNCIONES PROGRAMABLES ELECTRÓNICAMENTE 435
11.11 En la figura 11-19 se muestra un circuito lógico que se controla mediante la información al-
macenada en unas celdas de RAM programables. La celda 1 controla a Si, la celda 2 con-
trola a S2, etc. Asumiendo que los datos de entrada son estables justo antes y después de
que se presenta el pulso de reloj del sistema, determínense las señales de salida y realimenta-
ción para la siguiente configuración: celdas 1,2,3,4 = 0010.
Puesto que las celdas 1 y 2 contienen 0s, S1 = S2 = 0 y la salida que sigue después de los datos
de entrada, no se ve afectada por el reloj.
Puesto que la celda 3 = 1 y la celda 4 = 0, se selecciona la línea 2 del multiplexor y la realimenta-
ción es igual a los valores directo y complementado del dato que ha sido recientemente almacenado
en el flip-flop D después del pulso de reloj.
Fig. 11-19 Se emplea un amplificador del tipo que se muestra en la figura 9-5 para la salida realimentada
11.12 Considérese el circuito lógico del problema 11.1. El amplificador doble en la salida realimen-
tada se reemplaza por una compuerta XOR, una de las entradas es la salida realimentada
del multiplexor y la otra se conecta a una celda adicional de la RAM (5). Determínese el con-
tenido de la celda si la salida va a ser el inverso lógico de la entrada registrada y la señal de
realimentación va a ser el inverso lógico del dato no registrado. Asúmase que el dato de en-
trada es estable antes y después de que se presenta el pulso de reloj del sistema.
La línea 3 del multiplexor de salida recibe el inverso lógico del dato de entrada registrado. De esta
manera, S1 y S2 (o celdas 1 y 2) las dos deben ser 1. El dato no registrado aparece en la entrada 0 del
multiplexor de realimentación y por lo tanto, S3 y S4 (celdas 3 y 4) se deben programar a 0. La inver-
sión que se requiere se puede obtener si la entrada de control de la XOR (celda 5) se hace 1.
436 FUNCIONES PROGRAMABLES ELECTRÓNICAMENTE
Fig. 11-20
11.13 En la figura 11-20 se muestra una macrocelda de entrada/salida la cual se controla mediante
una RAM escondida. Determínese cual debe ser el orden de los siete dígitos del contenido
de la celda RAM para que la señal 4 sea igual a una señal de entrada del pad.
Si la celda 3 es 1, el MUX 2 deshabilitará al buffer TRI-STA TE® que maneja al pad y propiciará
que se vea como un circuito abierto. Si la celda 5 es 0, el pad se conectará a la señal 4. De esta manera,
el contenido de la celda (celda 1...... ,7) debe ser XX1X0XX, donde las Xs son términos "no importa".
11.14 En el problema 11.13, determínesela función que lleva a cabo si celda 1, ...... ,7 = 1100100.
Celda 1 = 1 La salida Q del flip-flop se acopla a la entrada XOR de la compuerta G1.
Celda 2 = 1 Q se invierte para formar Q'.
Celda 3, 4 = 00 El buffer TRI-STATE® se habilita para acoplar Q' al pad.
Celda 5 = 1 La señal 1 se realimenta como la señal 4.
Celda 6, 7 = 00 El estado de q se determina mediante los valores directos de las señales 2 y 3.
11.15 La figura 11-21 muestra un circuito programable junto con sus formas de onda de entrada.
Descríbase su operación y dibújese la forma de onda en la salida F.
Q es el valor registrado de la entrada D cuando X = 0 y es el valor registrado de D'
cuando X = 1. La salida G, de la compuerta OR, es igual a D cuando M = 0 y a la operación AND
de D y la señal de reloj cuando M = 1. F = G cuando Y = 1 y F = Q cuando Y = 0.
Para dibujar la forma de onda de F, será útil construir también las formas de onda intermedias
G y Q como se muestra el la figura 11-22.
FUNCIONES PROGRAMABLES ELECTRÓNICAMENTE 437
Fig. 11-21
438 FUNCIONES PROGRAMABLES ELECTRÓNICAMENTE
Fig. 11-22
FUNCIONES PROGRAMABLES ELECTRÓNICAMENTE 439
Problemas suplementarios
11.16 Los siguientes valores están almacenados en la RAM interna del bloque de E/S del FPGA que se muestra
en la figura 11-5.
OUT INV = 1 Fuente de salida = 1
TS INV = 0 Jalón pasivo = 1
Si la señal de entrada TS es 1 y se asume que la entrada de selección más cercana del multiplexor es la
línea 0,
a) ¿Qué valor lógico de TS habilita a la salida?
b) Si la salida no está habilitada, ¿qué valor lógico positivo aparece en el pad?
c) ¿La salida está en forma directa o registrada?
d) ¿La salida está en forma normal o invertida?
Fig. 11-23
Fig. 11-24
Fig. 11-26
FUNCIONES PROGRAMABLES ELECTRÓNICAMENTE 441
11.17 Para el circuito que se muestra en la figura 11-23, encuéntrese una expresión para la salida si las señales
de control se fijan en S 1 = 1, S2 = 0 y S 3 = 1.
11.18 En el circuito que se muestra en la figura 11-24, la palabra de control A es A1, A2, A3, A4, A5, A6,
A7. ¿Cuál es el efecto de la palabra A = 0111110?
11.19 Empleando la lógica del problema 11.18, determínese la palabra de control que cual proporcionará
la versión registrada e invertida del dato en el pad como una salida y también realimentará el dato no
registrado.
11.20 Con propósitos de prueba, a menudo es deseable tener ubicado un valor conocido (como en la figura
11-24) en el pad de salida después de un pulso de reloj y realimentar el mismo valor. Determínese una
palabra de control aceptable empleando la lógica del problema 11.18.
11.21 ¿Cómo podría modificarse la lógica del problema 11.18 de modo que fuera posible realimentar el valor
invertido del pad?
11.22 Los valores de las señales de control para la ALU de la figura 11-25 se fijan como sigue: S1 = 1,
S 0 = 0, M = 1 y acarreo de entrada (0) = 1. ¿Qué función desempeña el circuito?
11.23 Un estudiante intenta crear una ALU, pero ha perdido el alambrado de algunas conexiones, como se
muestra en la figura 11-26. Dado que M = S0 = 1 y acarreo de entrada = S1 = 0, determínese una
expresión para F y C0.
11.24 Diséñese un circuito donde, dependiendo de una palabra de control, una señal presente en el pad de
entrada se pueda pasar como registrada o no registrada, invertida o no invertida.
11.25 Con referencia a la solución dada al problema 11.24, hágase una tabla de verdad para todos los posi-
bles valores de las variables de la palabra de control.
11.26 Úsense dispositivos TRI-STA TE® para modificar la solución al problema 11.24 de manera que se pue-
da usar el pad ya sea como entrada o salida.
11.27 Empléese una compuerta AND para modificar el circuito de la figura 11-27 de modo que el flip-flop
en la trayectoria de realimentación se pueda borrar sincronizadamente.
Fig. 11-27
442 FUNCIONES PROGRAMABLES ELECTRÓNICAMENTE
11.21 Se pudiera agregar un inversor controlado (XOR) con una variable de control A8. Se podría ubicar
ya sea en la salida del multiplexor M3 o en la del M4.
11.23 C 0 = 0 y F = A i'.
Fig. 11-28
FUNCIONES PROGRAMABLES ELECTRÓNICAMENTE 443
Tabla 11.5
0 0 NO Sí
0 1 SÍ Sí
1 0 NO NO
1 1 Sí NO
11.26 Consúltese la figura 11-29. En esta solución un dispositivo TRI-STATE6 es habilitado ALTO y el otro
BAJO de modo que una señal común siempre habilitará a uno o al otro.
11.27 Véase la figura 11-29. Cuando A» es 0, el flip-flop se borrará en el siguiente pulso de reloj.
Fig. 11-29
Apéndice A
Teoremas booleanos básicos
e identidades
A•1 =A (A.l)
A•0 =0 (A.2)
A A =A (A.3)
A • A' =0 (A.4)
(AB)' = A' + B' (Teorema de De Morgan) (A.5)
En el álgebra booleana, se aplica la dualidad. Esto significa que si en el conjunto de ecuaciones
anteriores se cambia cada AND a OR, cada OR a AND, y se intercambian los 1s por 0s, se obtiene
el segundo conjunto de identidades válidas:
A+0 =A (A.6)
A+1 =1 (A.7)
A+A =A (A.8)
A + A' =1 (A.9)
(A + B)' = A'B' (Teorema de De Morgan) (A. 10)
444
APÉNDICE A TEOREMAS BOOLEANOS BÁSICOS E IDENTIDADES 445
Las expresiones duales de las ecuaciones (A. 18) hasta la (A.20) son:
A(B + C) = AB + AC (Ley distributiva) (A.21)
(A + B)(A' + C) = AC + A'B (A.22)
(ABC)' = A' + B' + C (Teorema de De Morgan) (A.23)
Apéndice B
Símbolos lógicos estándar
B.l INTRODUCCIÓN
En este escrito (fines de 1991), los símbolos empleados por los diseñadores y los distribuidores no
se han estandarizado completamente y, consecuentemente, va a continuar cierta confusión. Este
apéndice representa un intento por ilustrar varios tipos de símbolos típicos que se presentan en la
literatura y puntualizan algunas propiedades generales. Las publicaciones de muchos distribuidores
de hardware lógico digital contienen símbolos de lógica positiva así como la última simbolización
revisada de IEEE/IEC. Por ejemplo, la edición de 1990 del Advanced CMOS Logic Data Book,
publicada por Texas Instruments, Inc., muestra símbolos lógicos alternativos para un amplio arre-
glo de circuitos integrados digitales.
Fig. B-l Símbolo convencional para un chip de cuatro compuertas NAND de dos entradas
446
APÉNDICE B SÍMBOLOS LÓGICOS ESTÁNDAR 447
mente son de la variedad "genérica" de lógica positiva. Los números en los cuadros pequeños en
el perímetro del paquete son los números de las terminales vistos desde arriba. Vcc representa el
voltaje de polarización, normalmente + 5 volts, mientras que GND (ground) indica la trayectoria
de retorno común de la fuente de alimentación. Los símbolos en lógica mixta para una compuerta
NAND se describieron en el capítulo 4.
El símbolo para el mismo circuito integrado empleando la convención de IEEE/IEC se mues-
tra en la figura B-2. Este tipo de símbolo surgió durante las deliberaciones de un comité internacio-
nal y se propone que se convierta en el estándar industrial. En la presente ilustración, el símbolo
"&" designa a la AND lógica y los números entre paréntesis representan las terminales del chip.
Las cuatro secciones rectangulares (que tienen el principio de la etiqueta del grupo 1, 2, 3 y 4) significa
que hay cuatro circuitos idénticos en el chip, cada uno de los cuales tiene dos entradas etiquetadas
con A y B y una salida etiquetada con Y. Las medias flechas significan que las salidas son BAJO-
VERDADERO. Las terminales de polarización no se indican en el diagrama.
Fig. B-2 Símbolo de IEEE/IEC para un chip de cuatro compuertas NAND de dos entradas
Fig. B-3 Símbolo convencional para un chip de cuatro compuertas NOR de dos entradas
En la figura B-4 se muestra el símbolo lógico para un chip de cuatro compuertas NOR de dos
entradas. El símbolo " ≥ " se emplea para designar la lógica OR (inclusive) puesto que se produce
un 1 todas las veces que la suma de las entradas a cualquiera de las cuatro secciones iguala o excede
1. Una vez más, las medias flechas significan que las salidas son BAJO-VERDADERO y las termi-
nales de polarización no se indican en el diagrama.
Fig. B-4 Símbolo de IEEE/IEC para un chip de cuatro compuertas NOR de dos entradas
APÉNDICE B SÍMBOLOS LÓGICOS ESTÁNDAR 449
(a) (b)
Fig. B-5 Dos alternativas de notación convencional para un multiplexor doble de cuatro línea» con
habilitación
450 APÉNDICE B SÍMBOLOS LÓGICOS ESTÁNDAR
Fig. B-6 Símbolo de la IEEE/IEC para un multiplexor doble con dos líneas de selección y habi-
litación
Fig. B-9
452 APÉNDICE B SÍMBOLOS LÓGICOS ESTÁNDAR
la cual se utiliza si se requiere la entrada de datos en serie. Solamente la última etapa (sección H)
tiene una conexión de la terminal de salida de la cual se extraen los datos en serie.
Fig. B-10
Apéndice C
Algunos comentarios sobre simulación
lógica digital
C.l PROBLEMAS EN LA SIMULACIÓN DE CIRCUITOS CON REALIMENTACIÓN
La utilización de la simulación por computadora para probar circuitos es una herramienta podero-
sa, pero hay algunos inconvenientes los cuales, si no se reconocen, pueden causar serios errores.
Por ejemplo, considérese el diseño del latch con compuertas de la figura 7-8 cuya pantalla en Logic-
Works™ se reproduce en la figura C-l.
Fig. C-l
Como se discutió en la sección 7.5, se espera que se presente una condición oscilatoria, pero
¿qué se hace con los resultados que se muestran en la figura C-2? Obsérvese que las oscilaciones
no terminarán si no se toma en cuenta qué hacer con los interruptores de entrada, y persisten aun
si se inicializa el tiempo a cero en un intento por empezar nuevamente. Peor aún si se guarda el
circuito y se reinicia el programa, el problema permanece, ¡casi como si una parte se hubiera da-
ñado!
453
454 APÉNDICE C ALGUNOS COMENTARIOS SOBRE SIMULACIÓN LÓGICA DIGITAL
Fig. C-2
La dificultad viene del hecho de que los simuladores como LogicWorks, con la finalidad de
operar apropiadamente, necesitan empezar de una condición donde el estado de todas las compuer-
tas se determine sin ambigüedades. Los circuitos latch acoplados en forma cruzada (y muchos otros
circuitos con conexiones de realimentación) pueden, para ciertas combinaciones de entrada, tener
dos estados de salida los cuales son igualmente probables que se presenten. De este modo, la confu-
sión puede emerger y la simulación se va a la basura, por decirlo de alguna manera. Una fuerte señal
de que las cosas están fuera de lugar es la ocurrencia de un comportamiento imposible tal como
dos Os a la salida de un latch (figura C-l) o un inversor que tiene niveles lógicos idénticos a la entrada
y a la salida. Como en la prueba de circuitos reales, el ingeniero no debe ser muy crédulo. Los osci-
loscopios y sí, aun las computadoras pueden mentir.
La solución
Se debe agregar un reset en el circuito, máxime si existe una trayectoria de realimentación crítica,
para forzar un estado único sobre el circuito que se comporta de manera inadecuada. En el presente
Fig. C-3
APÉNDICE C ALGUNOS COMENTARIOS SOBRE SIMULACIÓN LÓGICA DIGITAL 455
ejemplo, una sencilla compuerta AND como interruptor (como se muestra en la figura C-3) será
suficiente. La compuerta de reset debe tener su retardo de tiempo fijo en cero de modo que cuando
su entrada conmutada esté en 1 lógico, ésta será totalmente transparente a la operación del circuito.
La señal INPUT en el problema 7.8 empieza de un 1 lógico inicial, y se requiere que cambie de nivel
en el flanco de bajada cada cuarto pulso de reloj. Esto se puede lograr muy fácilmente en simulación
usando dos fuentes de reloj (una para cada forma de onda) y ajustar los tiempos de encendido y
apagado de cada uno, como se requiera. En el presente ejemplo, el reloj se ha fijado arbitrariamente
para 10 unidades de tiempo en alto y 40 unidades de tiempo en bajo, seguidos por la definición de
fuente INPUT para tener tiempos en alto y bajo de 200 unidades de tiempo.
El arreglo se repite en el problema 8.21 con algunas modificaciones interesantes. Como se pun-
tualizó en la solución al problema 7.8, las transiciones de señal simultáneas crean una situación de
tiempo de inicio y de retención cero, haciendo imposible que el flip-flop A responda a un cambio
en la entrada hasta que se presente el siguiente pulso de reloj.* Si se va a evitar esta condición, la
señal INPUT se puede sincronizar al flanco de subida del reloj en lugar de su flanco de bajada.
Esto se logra en el simulador agregando 10 unidades de tiempo de retardo a la señal de reloj el cual
efectivamente lo recorre a la derecha, reposicionando su flanco de subida para que se alinee con
la transición de la señal INPUT. Como se muestra en la figura 8-39, se utilizan dos inversores para
tal propósito, de modo que no hay inversión neta.
En el problema 7.8 se recurre a un valor inicial de 1 para la forma de onda de entrada. En el
problema 8.21 esto pudo lograrse fácilmente en el simulador LogicWorks™ dibujando manual-
mente el nivel alto inicial en la ventana del diagrama de tiempos cuando se hizo una pausa en la
simulación. Los autores han seleccionado, en su lugar, empezar con INPUT = 0 ya que esto permite
acomodar características importantes en el diagrama de tiempos de una manera más sencilla en el
espacio disponible en la figura 8-40.
*En LogicWorks™ los flips-flops D y JK tienen un tiempo de inicio equivalente a una unidad de tiempo y un tiempo de
retención cero. Por ello, si los datos y las señales del reloj cambian simultáneamente, se usará el valor del dato inmediata-
mente anterior.
Índice
Nota: Los números entre paréntesis se refieren a los números de los problemas, no a los de las páginas.
Acarreo de entrada, 6, 29,420 Bases, conversión entre, 5-6 diseño empleando entradas a una
Acarreo de salida, 6, 29,420 Biblioteca, de componentes, 315 tabla de estados, 373
Activo bajo (definido), 104 Biblioteca de dispositivos, 315, 327, diseño para número mínimo de
Acumulación del tiempo de retardo, 329 flip-flops, 369
280 Binario: símbolos, 365
Adición: adición, 6,34, (2.13) Carta de la máquina de estado
binaria, 6, 34,420 aritmética, 6 algorítmica (Véase también,
hexadecimal, (1.8) codificado en decimal (DCB), 8 carta ASM), 365
Adición complementaria, 421 contador, 278 Ceros:
Adición mediante complemento a conversión a código Gray, 11, al inicio (a la izquierda), 8
nueves, (1.10) 160,317 cobertura de, 68, (4.14)
Adición mediante complemento a generador de secuencia, (8.14, Ceros al inicio (a la izquierda), 7
ochos, (1.14) 8.15) Circuitos digitales secuenciales
Adyacencia, 67, 70 números, 1 (Véase también, máquinas de
Álgebra booleana, 30 sistema, 1, 2 estado), (7.9, 7.10, 8.1-8.15,
identidades y teoremas sumador, diseño con PLA, (9.7) 9.4-9.6)
fundamentales, 59, Apéndice A sustracción, 7 CI a la medida, 315
jerarquía de operaciones, 32 Bit, 2 Codificador de barra, 10, 367
Alto-VERDADERO, 102-105 secuencias de, implantadas, Codificador, incremental, 367
ALU, 420 414 Código:
retardo de propagación en la, sílice, 420 Bit de signo, 7 alfanumérico, 11
(11.5) Bloque de decisión, 366 ASCII, 11 BCD, 8
Árbol, multiplicador de, 154 Bloque lógico configurable, 414 de corrección de errores, 13
Aritmética, binaria, 6 Buffer, de tres estados, 286, 319 Gray, 8
Arreglos de compuertas Burbuja, uso de, 102,104, 106 Hamming, 14
programables de campo Bus (Véase bus de datos) ponderado posicional, 8
(FPGA), 329, 414 tipos, 8
Aseguramiento (Latching), 273 Captura esquemática, 200, 329 Código alfanumérico, 11
registro de, 273, (8.13) Carta ASM, 365 Código ASCII, 11,12, (1.22) Código
ASIC, introducción a los, 315 a partir del diagrama de tiempos, DCB, 8
Asincronismo en multiplicadores de (10.13) Código Gray, 8
tasa, (8.12) a partir del diagrama lógico, aplicación en los mapas-K, 64
Asincrono: (10.9) contador, 359, 365
modo de operación de un registro, construcción, 367 conversión a binario, 27, (1.15,
278 diseño de salidas mediante 1.16,5.8)
operación de flip-flops J K, 232 ecuaciones, 371 empleo en el disco codificador de
diseño de un controlador de un posición, 10, 367
Bajo-VERDADERO, 103, 109 flip-flop por estado (one-hot), propiedad de distancia unitaria, 9
Barra de interferencia de baja 371 Código Hamming, 14, (1.19-1.21)
frecuencia (Glitch), 194, 198, diseño de un decodificador tabla de verdad para, (2.1)
201,281 incremental, 367, 373 Complemento a dos, 7, (1.11)
Base, numérica, 1, 5-8
457
458 ÍNDICE
de un contador de código Gray, sincronizada, 278, 369, Apéndice, Flanco delantero (del pulso del
(10.1) de un contador de C.2 reloj), 237
exceso tres, Entrada a la tabla de estados, 373 Flip-flop D, 237, 273, 276, (7.8,
(10.2) de dispositivos lógicos 7.12)
de un contador de exceso tres programables, 373 implantación mediante un JK,
empleando un PAL 16R6, software para, 371 276
(10.3) Entrada asincrona (strobe), 230 tabla de estados, 238
entradas externas, 358 Entrada de control, 420 Flip-flop de retardo, 237
inhibidor de activación en el, 377 modo de la, 420 Flip-flop JK: como un flip-flop D,
inicialización, 377 temporización, (11.4) 278
introducción al, 357 Entrada de datos en paralelo, condiciones iniciales, (6.9, 8.11)
Diseño de una celda común, 330 277 diagrama de microtemporización,
Disparo, 233, 239 Entrada/Salida (Véase E/S) 235, (6.9)
flanco de, (7.6, 7.7) Entrada serial, 275 disparo por franco, (7.6, 7.7, 7.9)
Disparo por flanco negativo, 237 Envío y ubicación, 418 limpiado de un, (6.9)
Dispositivo PAI, 319 EPROM, 316 operación de un, 233
arquitectura, 319 Equivalencia, lógica, 30, (2.5) operación síncrona y asincrona de
diagrama de conexión, (9.5, 9.6) Errores en circuitos secuenciales un, 231-234, 362
diseño a partir de una tabla de (Véase también, preinicio y limpiado de un, 234
verdad, (9.8) metaestabilidad), 241 respuesta a la transición del reloj,
programación, 319 E/S, 202, 285 235
Dispositivos de aplicación bloque, 413 tabla de estados, 229, 359
específica, introducción a los, registro, 285, 286 Flip-flop maestro-esclavo (Véase
431 Escritura a RAM, 284, 286, 287 también, flip-flop JK), 231
Dispositivo TRI-STATE*: Estado, 365 Flip-flop RS:
como un amplificador de destino, 369 con reloj, 228, (7.1)
aislamiento (buffer), 285, 319 Estado destino, 369 diagrama de microtemporización
como un interruptor controlado, Estado inicial en simulación, para el, (7.1)
413 Apéndice C. 1 implantación con compuertas
Divisor de frecuencia, 280 Estado presente, 357 NAND, (7.1)
Dualidad (Véase también, álgebra Estado prohibido, 231, 235 implantación con compuertas
booleana), Apéndice A Estado siguiente, 358 NOR, (7.4)
Estados transitorios, 281 Flip-flop RS con reloj, 228
Ecuaciones booleanas: Etapa, 273 Flip-flop 1,238,(7.8,7.13)
a partir de un diagrama de lógica Exhausión, prueba mediante, 62 tabla de estados, 238
positiva, (4.11) Exhibidor de DCB a siete Flip-flop (Véase también, D, JK,
a partir de un diagrama lógico, segmentos, 69, (2.2) latch, RS y T):
(2.14,4.11) Expresiones booleanas: arreglos de, diagrama de
definidas, 30 recuperadas a partir del diagrama microtemporización para los,
del controlador de un motor de de un multiplexor, (5.14) (8.1-8.3)
pasos, (9.3) recuperadas a partir del diagrama circuitos con, análisis de la
estructura de las, 30 lógico mixto, 111,(5.14) operación secuencial de los
lectura de, 32, 111 recuperadas a partir de una ROM, (Véase también, máquinas de
relación con tablas de verdad, 33 (5.15) estado), (7.9. 7.10, 8.2, 8.9,
EEPROM, 316 simplificación mediante 8.11,9.4)
Eje de reflexión, 9 manipulación, 63, 64 combinaciones de, 273
Elementos MSI y LSI, 150 disparo y temporización, 235,
Enlaces de fusibles, 315 Fan-in, 157 237,239,(7.6,7.7)
Entrada: Flanco de disparo (Véase también, introducción a los, 226
de control, 412, 417 flip-flop), 233, 237, (7.6, 7.7) maestro-esclavo, 233
460 ÍNDICE
operación de los flip-flop JK, 231 Tabla de estados para estados acumulación de, 376
operación de los sistemas secuenciales (para flip-flops enlaALU, (11.5)
digitales, 228 JK), 364 Tiempo de retención, 239
máquina de estado (Véase Tabla de verdad: Tiempo medio entre fallas (MTBF),
máquina de estado) construcción de la, 28, 29 241,242,(8.13)
Sistema de numeración decimal, estado presente/estado siguiente, Toggle, 232, 233, (8.5)
propiedades del, 1-4 358 flip-flop, 238
Sistema numérico hexadecimal, 3 introducción a la, 27 Transferir salida (transfer out), 423
Sistemas numéricos, 1, 5 relación con las ecuaciones
bases, 1 booleanas, 33, (2.3, 2.6, 2.7) Ubicación y envío, 418
conversión de fracciones, 5 relación con una ROM, 157 Unidad lógica aritmética (Véase
conversión de una base a otra, 1,5 Tabla de verdad de estado presente/ ALU)
ponderación en, 1, 4, 6 estado siguiente, 357 Unos:
Software para la entrada en la tabla Tablero patrón (Véanse mapas de cobertura de, 68, 70
de estados, 373 Karnaugh) complemento a, 421
SRAM, 414 Tasa de pulsos, máxima, (8.8) Utilización de la tabla de transición
Sustracción: Temporizado: de estados en el diseño de
binaria, 7 en flip-flops (Véase también, máquinas de estado, 369
complemento a dos, 7,421 disparo), 239
empleando adición en máquinas de estado, 358, Valores verdaderos, asignados de
complementaria, 7, 421 375 los, 102,322
octal, (1.14) entradas de control, (11.4) Variable de estado:
Sumador (Véase también, medio- errores de (Véase también, ecuaciones de diseño a partir de
sumador), 420 retardo del reloj), 242, (6.7) la carta ASM, (10.7)
binario, 6, 29, 34, (1.9,2.13,4.4) simulación de, 200(6.1) Variables:
módulo-2, (8.5) Teorema de absorción, 62 asignación de valores verdaderos
Sumador módulo-2, (8.15) aplicación a la simplificación de a, 102
los mapas K, 65 de control (Véase también, lógica
Tabla de cambios de estado (para un Teorema de DeMorgan, definido, programable y ALU), (11.8-
flip-flop JK), 363 62 11.14)
Tabla de definición de teclas Teoremas, del álgebra booleana, 59, de estado, 371
(información específica 62 lógicas, 30, 103
definida previamente), 160, Tiempo de inicio, 239 Variables de control (Véase
414 Tiempo de retardo de propagación, también, lógica programable y
Tabla de estados, 229, 359 194,235,239,376 ALU), (11.8-11.14)