Sistemas Digitales PDF
Sistemas Digitales PDF
Sistemas Digitales
Principios y Aplicaciones
2/.!,$ * 4/##)
.%!, 3 7)$-%2
'2%'/29 , -/33
Sistemas digitales
Principios y aplicaciones
DÉCIMA EDICIÓN
Sistemas digitales
Principios y aplicaciones
Ronald J. Tocci
Monroe Community College
Neal S. Widmer
Purdue University
Gregory L. Moss
Purdue University
Authorized traslation from the English language edition, entitled Digital systems: principles and applications
by Ronald J. Tocci, Neal S. Widmer and Gregory L. Moss, published by Pearson Education, Inc., publishing as
Prentice Hall, Inc., Copyright ©2007, All rights reserved.
ISBN 0131725793
Traducción autorizada de la edición en idioma inglés titulada Digital systems: principles and applications por
Ronald J. Tocci, Neal S. Widmer and Gregory L. Moss, publicada por Pearson Education, Inc., publicada como
Prentice Hall Inc., Copyright ©2007. Todos los derechos reservados.
Edición en español
Editor: Luis Miguel Cruz Castillo
e-mail: [email protected]
Editor de desarrollo: Bernardino Gutiérrez Hernández
Supervisor de producción: Adriana Rida Montes
Este libro es un estudio completo sobre los principios y las técnicas de los siste-
mas digitales modernos. Enseña los principios fundamentales sobre los sistemas
digitales y cubre con amplitud los métodos tradicional y moderno para aplicar las
técnicas de diseño y desarrollo digital, incluyendo cómo administrar un proyecto
a nivel de sistemas. El libro está planeado para utilizarse en programas de dos y
cuatro años relacionados con tecnología, ingeniería y ciencias computacionales.
Aunque sería de utilidad tener conocimientos sobre electrónica básica, la mayor
parte del material no lo requiere. Se pueden omitir las partes del texto en las que
se utilizan conceptos sobre electrónica sin peligro de afectar la comprensión de los
principios de lógica.
Mejoras generales
La décima edición de Sistemas digitales refleja los puntos de vista de los autores en
relación con la dirección de la electrónica digital moderna. En la industria actual
podemos ver la importancia de liberar un producto en el mercado lo más rápido
posible. El uso de herramientas de diseño modernas, dispositivos lógicos programa-
bles complejos, CPLD, y arreglos de compuertas programables por campo (FPGA)
permite a los ingenieros progresar de los conceptos al silicón funcional con mucha
rapidez. Los microcontroladores se están haciendo cargo de muchas aplicaciones
que antes se implementaban mediante circuitos digitales, por lo que se ha estado
usando la DSP para sustituir muchos circuitos análogos. Es sorprendente que los
microcontroladores, la DSP y todos los componentes lógicos necesarios puedan
ahora consolidarse en una sola FPGA mediante el uso de un lenguaje de descrip-
ción de hardware con herramientas de desarrollo avanzadas. Ahora, los estudiantes
deben estar expuestos a estas modernas herramientas, inclusive hasta en un curso
introductorio. Es responsabilidad de cada educador encontrar la mejor forma de
preparar a los graduandos para el trabajo que encontrarán en su vida profesional.
Las piezas SSI y MSI estándar que han servido como “ladrillos y mortero” en
la construcción de sistemas digitales durante más de 40 años ahora se están vol-
viendo obsoletas. Muchas de las técnicas que se han enseñado se enfocan en la
optimización de circuitos que se crean a partir de estos dispositivos fuera de moda.
Los temas que se adaptan en forma única a la aplicación de la antigua tecnología
pero que no contribuyen a una comprensión de la nueva tecnología deben eliminarse
del currículum. No obstante y desde un punto de vista educativo, estos pequeños
vii
VIII PREFACIO
circuitos integrados (CI) ofrecen una forma de estudiar los circuitos digitales sim-
ples, además de que el cableado de circuitos mediante el uso de “breadboards”
(tarjetas experimentales o tableros experimentales) es un ejercicio pedagógico
valioso. Estos ejercicios nos ayudan a reforzar conceptos tales como las entradas y
salidas binarias, la operación de un dispositivo físico y las limitaciones prácticas,
mediante el uso de una plataforma muy simple. En consecuencia hemos optado
por seguir presentando las descripciones conceptuales de los circuitos digitales
y ofrecer ejemplos en los que se utilicen piezas lógicas estándar convencionales.
Para los instructores que deseen seguir enseñando los fundamentos mediante el
uso de circuitos SSI y MSI, este libro retiene esas cualidades que han provocado
una amplia aceptación de las ediciones pasadas. Incluso muchas herramientas de
diseño de hardware proporcionan una técnica introductoria de diseño fácil de usar,
en la que se emplea la funcionalidad de las piezas estándar convencionales con
la flexibilidad de los dispositivos lógicos programables. Un diseño digital puede
describirse mediante el uso de un dibujo esquemático con bloques de construcción
predefinidos, los cuales son equivalentes a las piezas estándar convencionales, que
pueden compilarse y después programarse directamente en un PLD de destino con
la capacidad adicional de poder simular con facilidad el diseño dentro de la misma
herramienta de desarrollo.
Creemos que los graduandos podrán aplicar los conceptos que se presentan en
este libro mediante el uso de métodos de descripción de nivel superior y disposi-
tivos programables más complejos. El cambio más importante en el campo es una
mayor necesidad de comprender los métodos de descripción, en vez de enfocarse
en la arquitectura de un dispositivo específico. Las herramientas de software han
evolucionado a un punto en el que hay muy poca necesidad de preocuparse por el
funcionamiento interno del hardware y es mucho más necesario enfocarse en qué
es lo que entra, qué es lo que sale y cómo puede el diseñador describir lo que se
supone debe hacer el dispositivo. También creemos que los graduandos se involu-
crarán con proyectos en los que se utilice lo más nuevo en herramientas de diseño
y soluciones de hardware.
Este libro ofrece una ventaja estratégica para enseñar el nuevo y vital tema de
los lenguajes de descripción de hardware a los principiantes en el campo digital.
En estos momentos, VHDL es sin duda un lenguaje estándar en la industria, pero
también es muy complejo y con una curva de aprendizaje bastante pronunciada.
A menudo los estudiantes principiantes se desalientan debido a los rigurosos reque-
rimientos de diversos tipos de datos, y luchan por comprender los eventos de dispa-
ro por borde que se utilizan en VHDL. Por fortuna Altera ofrece el AHDL, un
lenguaje menos exigente que utiliza los mismos conceptos básicos que el VHDL
pero más sencillo de dominar para los principiantes. Así, los instructores pueden
optar por utilizar AHDL para enseñar a los estudiantes principiantes, o VHDL para
las clases más avanzadas. Esta edición ofrece más de 40 ejemplos con AHDL, otros
tantos con VHDL y muchos ejemplos de prueba de simulación. Todos estos archivos de
diseño están disponibles en el CD-ROM que acompaña al libro.
El sistema de desarrollo de software más reciente de Altera es Quartus II. El
software MAX+ PLUS II que se ha utilizado durante muchos años aún sigue siendo
popular en la industria y cuenta con soporte por parte de Altera. Su principal des-
ventaja es que no programa los dispositivos más recientes. El material de este texto
no está enfocado a enseñar una plataforma específica de hardware ni los detalles
acerca del uso de un sistema de desarrollo de software. Las nuevas revisiones de
software aparecen con tanta frecuencia que un libro de texto no podría mantenerse
actualizado si tratara de describir todos los detalles. Hemos tratado de demostrar
lo que esta herramienta puede hacer, en vez de enseñar al lector cómo utilizarla.
Sin embargo, en el CD-ROM que viene con este libro hemos incluido tutoriales para
facilitar el aprendizaje de cualquiera de estos dos paquetes de software. Los ejem-
plos de AHDL y VHDL son compatibles con los sistemas Quartus o MAX+ PLUS.
Las simulaciones de temporización se desarrollaron mediante el uso de MAX+
PLUS, pero también pueden realizarse con Quartus.
Hay muchas opciones de hardware de laboratorio disponibles para los usua-
rios de este libro. Existen muchas tarjetas de desarrollo CPLD y FPGA para que
PREFACIO IX
FIGURA P-1 La
tarjeta de desarrollo
UP3 de Altera.
FIGURA P-2 La
tarjeta de desarrollo
DE2 de Altera.
X PREFACIO
para enfatizar los CIs de contadores sincrónicos e incluimos técnicas para analizar-
los, conectarlos en cascada y utilizar HDL para describirlos. También se ha agregado
una sección para mejorar la cobertura de las máquinas de estado y las característi-
cas de HDL que se utilizan para describirlas. Otras de las mejoras son: la inclusión
de técnicas de análisis para los circuitos combinacionales, la cobertura expandida de
aplicaciones del temporizador 555 y una mejor cobertura de los números binarios
con signo.
Nuestro enfoque sobre el HDL y los PLDs proporciona a los instructores varias
opciones:
1. El material relacionado con el HDL puede omitirse por completo sin afectar la
continuidad del texto.
2. El HDL puede enseñarse como un tema separado si se omite el material inicial
y después se regresa a las últimas secciones de los capítulos 3, 4, 5, 6, 7 y 9, para
después cubrir el 10.
3. Los temas relacionados con el HDL y el uso de los PLDs pueden cubrirse a
medida que se desarrolle el curso (capítulo por capítulo) y pueden irse entre-
mezclando en las prácticas de laboratorio o las lecturas.
■ Capítulo 1: Todo.
■ Capítulo 2: Sección 6.
■ Capítulo 3: Secciones 15 a 20.
■ Capítulo 4: Secciones 7, 10 a 13.
PREFACIO XI
%NCONTRARÈ LAS RESPUESTAS A LOS PROBLEMAS MARCADOS CON UN ASTERISCO AL lNAL DEL LIBRO
XII PREFACIO
FIGURA P-4 El
'*(63" %JBHSBNB
icono denota que HFOFSBM EF VO
la figura tiene su
EFDPEJGJDBEPS
correspondiente archivo
de simulación
en el CD-ROM.
Cambios específicos
A continuación se muestran los principales cambios en la cobertura de los temas:
de números con y sin signo, lo cual ayuda a los estudiantes para que visualicen
la operación de suma/resta mediante el uso de ambos formatos.
■ Capítulo 7 Este capítulo se revisó con mucho detalle para enfatizar los circui-
tos de contadores sincrónicos. Se siguen introduciendo los contadores de ondu-
lación simple para proporcionar una comprensión básica del concepto de
conteo y la conexión en cascada asincrónica. Después de examinar las limitacio-
nes de los contadores de ondulación en la sección 2, se presentan los contadores
sincrónicos en la sección 3 y se utilizan en todos los ejemplos subsiguientes a lo
largo del texto. Los contadores de CI que se presentan son: 74160, ’161, ’162 y
’163. Estos dispositivos comunes ofrecen una excelente diversidad de caracte-
rísticas que enseñan la diferencia entre las entradas de control sincrónicas y
asincrónicas, y las técnicas de conexión en cascada. Los circuitos 74190 y ’191
se utilizan como ejemplo de un CI de contador sincrónico arriba/abajo, con lo
cual se refuerzan aún más las técnicas requeridas para la conexión sincrónica
en cascada. Hay una nueva sección dedicada a las técnicas de análisis para cir-
cuitos sincrónicos mediante el uso de flip-flops JK y D. Las técnicas de diseño
sincrónico ahora incluyen también el uso de registros de flip-flop D que repre-
sentan la mejor manera en que se implementan los circuitos secuenciales en la
tecnología PLD moderna. Se mejoraron las secciones sobre HDL para demos-
trar la implementación de las operaciones sincrónicas/asincrónicas de cargar,
borrar y conectar en cascada. Otra de las novedades es un énfasis en la simulación
y la prueba de los módulos de HDL. Ahora las máquinas de estado se presentan
como un tema, se definen los modelos tradicionales de Mealy y Moore y se pre-
senta un nuevo sistema de control de semáforos como ejemplo. También se
hicieron pequeñas mejoras en la segunda mitad del capítulo 7 y se rediseñaron
todos los problemas al final del capítulo 7 para reforzar los conceptos.
■ Capítulo 8 Este capítulo sigue siendo una descripción muy técnica de la tecno-
logía disponible en las familias lógicas estándar y los componentes digitales. Se
mejoraron las secciones de interfaz de voltaje mixto para cubrir la tecnología
de bajo voltaje. La curva de ciclo de vida más reciente de Texas Instruments
muestra el historial y la posición actual de diversas series lógicas, desde su
introducción hasta su obsolescencia. También se presenta la señalización dife-
rencial de bajo voltaje (LVDS).
■ Capítulo 9 Este capítulo trata todavía acerca de los fundamentos de los siste-
mas digitales y su demostración mediante el uso de HDL. También se introdu-
cen muchas otras técnicas de HDL, como las salidas de tres estados y diversas
estructuras de control de HDL. Se describe un circuito 74ALS148 como otro
ejemplo de codificador. Se actualizaron todos los ejemplos de sistemas que uti-
lizan contadores para la operación sincrónica. En especial, se mejoró el sistema
de transmisión en serie mediante el uso de MUX y DEMUX. Se explica la téc-
nica de cómo utilizar un MUX para implementar expresiones SOP en una forma
más estructurada, como un ejercicio de estudio independiente en los problemas
al final del capítulo.
■ Capítulo 10 Este capítulo, que se introdujo como novedad en la novena edi-
ción, no sufrió cambios considerables.
■ Capítulo 11 Se mejoró el material sobre DACs bipolares, y se presentó un
ejemplo sobre el uso de DACs como control de amplitud digital para formas
de onda analógicas. En esta edición se explica la especificación de precisión de
convertidores A/D más común en forma de / LSB.
■ Capítulo 12 Se realizaron pequeñas mejoras en este capítulo para consolidar
y comprimir algo del material sobre tecnologías antiguas de memoria, tales
como la UV EPROM. Aún se presenta la tecnología flash mediante el uso de
un ejemplo de primera generación, pero también se describen las mejoras más
recientes, así como algunas de las aplicaciones de la tecnología flash en los
dispositivos modernos disponibles para el consumidor.
■ Capítulo 13 Este capítulo, nuevo en la novena edición, se actualizó para intro-
ducir la nueva familia Cyclone de PLDs.
XIV PREFACIO
AGRADECIMIENTOS
Agradecemos a todas aquellas personas que evaluaron la novena edición y propor-
cionaron respuestas para un extenso cuestionario: Ali Khabari, Wentworth Institute
of Technology; Al Knebel, Monroe Community College; Rex Fisher, Brigham Young
University; Alan Niemi, LeTourneau University; y Roger Sash, University of
Nebraska. Se tomaron muy en cuenta sus comentarios, críticas y sugerencias, cuyo
incalculable valor nos fue de utilidad para determinar el formato final de la décima
edición.
También estamos muy agradecidos con el profesor Frank Ambrosio, Monroe
Community College, por su usual labor de alta calidad en los índices y en el Manual
de recursos para el instructor; con Thomas L. Robertson, Purdue University, por pro-
veer su sistema de levitación magnética como ejemplo; y con los profesores Russ
Aubrey y Gene Harding, Purdue University, por la revisión técnica de los temas
y muchas sugerencias para realizar mejoras. Apreciamos la cooperación de Mike
Phipps y de Altera Corporation por su apoyo al otorgar el permiso para usar su
paquete de software y las figuras de sus publicaciones técnicas.
Un proyecto de esta magnitud requiere de un soporte editorial exhaustivo
y profesional, y una vez más Prentice Hall logró su cometido con excelencia.
Agradecemos al personal en Prentice Hall y TechBooks/GTS por su ayuda para
hacer que esta publicación sea un éxito.
Por último, queremos hacer saber a nuestras esposas e hijos cuánto apreciamos
su apoyo y su comprensión. Esperamos poder reponer gradualmente todas las horas
que pasamos alejados de ellos mientras trabajábamos en esta revisión.
Ronald J. Tocci
Neal S. Widmer
Gregory L. Moss
RESUMEN
DE CONTENIDO
xvii
CONTENIDO
xix
XX CONTENIDO
Glosario 898
Respuestas a los problemas seleccionados 911
Índice de CIs 919
Índice 922
Sistemas digitales
Principios y aplicaciones
C A P Í T U L O 1
CONCEPTOS
INTRODUCTORIOS
■ CONTENIDO
1-1 Representaciones numéricas 1-5 Circuitos digitales/circuitos
1-2 Sistemas digitales y lógicos
analógicos 1-6 Transmisión en paralelo y
1-3 Sistemas numéricos en serie
digitales 1-7 Memoria
1-4 Representación de 1-8 Computadoras digitales
cantidades binarias
■ OBJETIVOS
Al terminar este capítulo, usted podrá:
■ Diferenciar entre la representación analógica y la digital.
■ Citar las ventajas y desventajas de las técnicas digitales en comparación con
las analógicas.
■ Comprender la necesidad de los convertidores analógicos-digitales (ADC) y los
convertidores digitales-analógicos (DAC).
■ Reconocer las características básicas del sistema número binario.
■ Convertir un número binario en su equivalente decimal.
■ Contar en el sistema numérico binario.
■ Identificar las señales digitales comunes.
■ Identificar un diagrama de tiempos.
■ Establecer las diferencias entre la transmisión en paralelo y la
transmisión en serie.
■ Describir las propiedades de las memorias.
■ Describir las partes principales de una computadora digital y comprender sus
funciones.
■ Diferenciar entre microcomputadoras, microprocesadores y
microcontroladores.
■ INTRODUCCIÓN
En el mundo actual, el término digital se ha convertido en parte de nuestro
vocabulario común, debido a la dramática forma en que los circuitos y las
técnicas digitales se han vuelto tan utilizados en casi todas las áreas de la vida:
computadoras, automatización, robots, ciencia médica y tecnología, transporte,
telecomunicaciones, entretenimiento, exploración en el espacio, etcétera. Usted
está a punto de empezar un emocionante viaje educativo, en el cual descubrirá
los principios fundamentales, conceptos y operaciones que son comunes para
todos los sistemas digitales, desde el interruptor de encendido/apagado más
simple hasta la computadora más compleja. Si el libro logra su cometido, usted
deberá tener una comprensión detallada de la manera en que funcionan todos los
sistemas digitales, y deberá ser capaz de aplicar este conocimiento en el análisis y
la detección de fallas en cualquier sistema digital.
Primero presentaremos algunos conceptos subyacentes que forman una
parte vital de la tecnología digital (estos conceptos se ampliarán a medida que
se requieran más adelante en el libro). Además, presentaremos parte de la
terminología que se necesita cuando uno inicia un nuevo campo de estudio,
para agregarla a la lista de términos importantes de cada capítulo.
3
4 CAPÍTULO 1/CONCEPTOS INTRODUCTORIOS
Representaciones analógicas
En la representación analógica una cantidad se representa mediante un indica-
dor proporcional que varía en forma continua. Un ejemplo es el velocímetro de
los automóviles clásicos de las décadas de 1960 o 1970. La deflexión de la aguja es
proporcional a la velocidad del automóvil y sigue cualquier cambio que se produz-
ca a medida que el vehículo aumente o reduzca su velocidad. En los automóviles
antiguos se utilizaba un eje mecánico flexible para conectar la transmisión con el
velocímetro en el tablero. Es interesante observar que en automóviles recientes, por
lo general, se prefiere la representación analógica, aun y cuando la velocidad ahora
se mide en forma digital.
Los termómetros anteriores a la revolución digital utilizaban la representación
analógica para medir la temperatura, y muchos de ellos todavía se usan actualmen-
te. Esos termómetros utilizan una columna de mercurio, cuya altura es proporcional
a la temperatura. Estos dispositivos están desapareciendo del mercado debido a
problemas con el medio ambiente, pero sin duda son un excelente ejemplo de la
representación analógica. Otro ejemplo es el termómetro de exteriores, en el cual
la posición del apuntador gira alrededor de un disco a medida que un serpentín de
metal se expande y se contrae con base en los cambios de temperatura. La posición
del apuntador es proporcional a la temperatura. Sin importar qué tan pequeño sea
el cambio en la temperatura, habrá un cambio proporcional en el indicador.
En estos dos ejemplos las cantidades físicas (velocidad y temperatura) se aco-
plan a un indicador a través de un medio mecánico solamente. En los sistemas analó-
gicos eléctricos, la cantidad física que se mide o se procesa se convierte en un voltaje
o corriente proporcional (señal eléctrica). Entonces el sistema utiliza este voltaje o
corriente para fines de visualización, procesamiento o control.
El sonido es un ejemplo de una cantidad física que puede representarse median-
te una señal analógica eléctrica. Un micrófono es un dispositivo que genera un vol-
taje de salida proporcional a la amplitud de las ondas sonoras que lo golpean. Las
ondas sonoras producen variaciones en el voltaje de salida del micrófono. De esta
manera, las grabaciones en cinta pueden almacenar ondas sonoras mediante el uso
del voltaje de salida del micrófono para cambiar en forma proporcional el campo
magnético en la cinta.
Las cantidades analógicas como las antes mencionadas tienen una importan-
te característica: sin importar cómo se representen: pueden variar a través de un
intervalo continuo de valores. La velocidad de un automóvil puede tener cualquier
valor entre 0 y 100 km/hora, por ejemplo. De manera similar, la salida del micrófono
podría tener cualquier valor dentro del intervalo de 0 a 10 mV (por ejemplo: 1 mV,
2.3724 mV, 9.9999 mV).
Representaciones digitales
En la representación digital las cantidades se representan no mediante indicadores
que varían en forma continua, sino mediante símbolos llamados dígitos. Considere
como ejemplo el reloj digital, que indica la hora del día en forma de dígitos decima-
les que representan horas y minutos (y algunas veces segundos). Como es sabido, la
hora del día cambia en forma continua pero la lectura del reloj digital no cambia
así, sino que cambia en intervalos de uno por minuto (o por segundo). En otras pala-
bras, esta representación digital de la hora del día cambia en incrementos discretos,
SECCIÓN 1-2/SISTEMAS DIGITALES Y ANALÓGICOS 5
analógica ⬅ continua
digital ⬅ discreta (paso por paso)
EJEMPLO 1-1 ¿Cuáles de las siguientes cantidades son analógicas y cuáles son digitales?
Solución
(a) Digital.
(b) Analógica.
(c) Analógica.
(d) Digital, ya que el número de granos sólo puede tener ciertos valores discretos
(enteros) y no cualquier valor posible en un rango continuo.
(e) Analógico, en caso de ser del tipo con aguja; digital, si tiene indicador numérico
o de barra de gráficos.
PREGUNTAS DE REPASO *
1. Describa en forma concisa la principal diferencia entre las cantidades analógi-
cas y digitales.
* Las respuestas a las preguntas de repaso se encuentran al nal del capítulo correspondiente.
6 CAPÍTULO 1/CONCEPTOS INTRODUCTORIOS
1. Generalmente los sistemas digitales son más fáciles de diseñar. Los circuitos que
se utilizan en los sistemas digitales son circuitos de conmutación, en donde no
importan los valores exactos de voltaje o de corriente, sino sólo el intervalo
(ALTO o BAJO) en el que se encuentren.
2. Es fácil almacenar información. Esto se logra mediante dispositivos y circuitos
especiales que pueden fijar la información digital y almacenarla durante el
tiempo que sea necesario, y las técnicas de almacenamiento masivo pueden
guardar miles de millones de bits de información en un espacio físico relativa-
mente pequeño. En contraste, la capacidad de almacenamiento de las técnicas
analógicas es extremadamente limitada.
3. Es más fácil mantener la precisión y la exactitud en todo el sistema. Una vez que
se digitaliza una señal, la información que contiene no se deteriora a medida
que se procesa. En los sistemas analógicos, las señales de voltaje y de corriente
tienden a distorsionarse debido a los efectos de temperatura, humedad y por
variaciones de tolerancia de los componentes en los circuitos que procesan la
señal.
4. La operación puede programarse. Es bastante sencillo diseñar sistemas digitales
cuya operación esté controlada por un conjunto de instrucciones almacenadas,
a lo cual se le conoce como programa. Los sistemas analógicos también pueden
programarse, pero la variedad y la complejidad de las operaciones disponibles
son muy limitadas.
5. Los circuitos digitales son más resistentes al ruido. Las fluctuaciones espurias en
el voltaje (ruido) no son tan críticas en los sistemas digitales, ya que el valor
exacto del voltaje no es importante, siempre y cuando el ruido no sea tan fuerte
como para evitar que podamos distinguir entre un nivel ALTO y un nivel BAJO.
6. Pueden fabricarse más circuitos digitales en los chips de CI. Es cierto que los circui-
tos analógicos también se han beneficiado con el desarrollo de la tecnología de
los circuitos integrados, pero su complejidad relativa y uso de dispositivos que
no pueden integrarse de manera económicamente conveniente (capacitores de
alto valor, resistencias de precisión, inductancias, transformadores) han hecho
imposible alcanzar el mismo grado de integración en los sistemas analógicos.
La mayoría de las cantidades físicas son analógicas por naturaleza, y a menudo estas
cantidades son las entradas y salidas que un sistema monitorea, opera o controla.
Algunos ejemplos son: temperatura, presión, posición, velocidad, nivel de líquido y
flujo, entre otros. Estamos habituados a expresar estas cantidades en forma digital,
como cuando decimos que la temperatura es de 32° (31.8° si queremos ser más pre-
cisos), pero en realidad estamos haciendo una aproximación digital de una cantidad
que es sin duda analógica.
Para aprovechar las técnicas digitales al procesar entradas y salidas analógicas,
se deben seguir cuatro pasos:
Entrada digital:
Señal digital que representa
Establece la temperatura deseada
la potencia (voltaje) para el calentador
Calor
Conversión
analógico-digital
Señal digital que representa Señal analógica que representa
la temperatura actual la temperatura actual
FIGURA 1-1 Diagrama de bloques de un sistema digital de precisión para control de temperatura.
Otro buen ejemplo en donde se lleva a cabo la conversión entre valores analógi-
cos y digitales es en la grabación de audio. Los discos compactos (CD) han sustituido
a las cintas magnéticas debido a que proporcionan un medio mucho más conveniente
8 CAPÍTULO 1/CONCEPTOS INTRODUCTORIOS
(a) (b)
FIGURA 1-2 Un sistema de levitación magnético suspendiendo: (a) un globo
terráqueo con una placa de acero incrustada, y (b) un martillo.
Es común ver que se emplean técnicas tanto analógicas como digitales dentro
del mismo sistema para beneficiarse de las ventajas de ambas. En estos sistemas
híbridos, una de las partes más importantes de la fase de diseño implica determinar
cuáles partes del sistema deben ser analógicas y cuáles digitales. La tendencia en
SECCIÓN 1-2/SISTEMAS DIGITALES Y ANALÓGICOS 9
El futuro es digital
Los avances en la tecnología digital durante las últimas tres décadas han sido feno-
menales, y hay razones fuertes para creer que todavía hay más por venir. Piense
en los artículos de uso diario que han cambiado del formato analógico al digital en
el transcurso de su vida. Ahora puede comprar un termómetro digital inalámbrico
para interiores/exteriores por menos de 10.00 dólares. Los automóviles han pasado
de tener muy pocos controles electrónicos a ser vehículos controlados en su mayor
parte por la tecnología digital. El audio digital nos ha llevado a usar el disco com-
pacto y el reproductor MP3. El video digital trajo consigo al DVD. Las cámaras de
video y fotográficas digitales para el hogar; la grabación digital con sistemas como
TiVo; los teléfonos celulares digitales y el tratamiento digital de imágenes en los
rayos X; el tratamiento de imágenes de resonancia magnética (MRI) y los sistemas
de ultrasonido en los hospitales son sólo unas cuantas de las aplicaciones que han
sido invadidas por la revolución digital. Tan pronto como se cuente con la infraes-
tructura apropiada, los sistemas de teléfono y televisión se harán digitales. La tasa
de crecimiento en el ámbito digital continúa sorprendiendo. Tal vez su automóvil
esté equipado con un sistema tal como On Star de GM, el cual convierte el table-
ro en un centro de comunicación, información y navegación inalámbrica. Tal vez
ya esté utilizando comandos de voz para enviar o recibir correo electrónico, pedir
un reporte de tráfico, revisar las necesidades de mantenimiento del automóvil o sólo
cambiar de estación de radio o de CD; todo sin necesidad de quitar sus manos del
volante o su vista del camino. Los automóviles pueden reportar su posición exacta
en caso de emergencia o de una falla mecánica. En los años por venir la comunica-
ción inalámbrica seguirá expandiendo su cobertura para ofrecerle conectividad en
donde quiera que se encuentre. Los teléfonos podrán recibir, ordenar y tal vez res-
ponder a las llamadas entrantes, al igual que una secretaria altamente capacitada.
La revolución de la televisión digital le proveerá no sólo de una mayor definición de
la imagen, sino también mucha más flexibilidad en la programación. Usted podrá
seleccionar el programa que desea ver y cargarlo en la memoria de su televisor, con
lo cual podrá congelar la imagen o reproducir escenas a placer, como si estuviera
viendo un DVD. A medida que la realidad virtual continúe mejorando, usted podrá
interactuar con la materia que esté estudiando. Tal vez esto no suene tan emocio-
nante cuando se estudia electrónica, pero imagine estudiar la historia como si fuera
un participante, o aprender las técnicas apropiadas para todo lo relacionado con
temas que vayan desde el atletismo hasta la cirugía, por medio de simulaciones
basadas en su desempeño actual.
La tecnología digital continuará su incursión de alta velocidad en las activi-
dades diarias de nuestras vidas, además de que abrirá nuevas fronteras en formas
que tal vez nunca hayamos imaginado. Estas aplicaciones (y muchas más) se basan
en los principios que presentamos en este libro. Las herramientas de software para
desarrollar sistemas complejos se actualizan constantemente y están disponibles
para cualquier persona a través de la Web. También estudiaremos los fundamentos
técnicos necesarios para comunicarnos con cualquiera de estas herramientas y lo
prepararemos para que pueda disfrutar de una carrera fascinante y llena de satis-
facciones.
PREGUNTAS DE REPASO 1. ¿Cuáles son las ventajas de las técnicas digitales, en comparación con las analó-
gicas?
2. ¿Cuál es la principal limitación en cuanto al uso de las técnicas digitales?
10 CAPÍTULO 1/CONCEPTOS INTRODUCTORIOS
Sistema decimal
El sistema decimal está compuesto de 10 números o símbolos. Estos 10 símbolos son:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9; al utilizar estos símbolos como dígitos de un número, podemos
expresar cualquier cantidad. El sistema decimal se conoce también como sistema de
base 10 ya que tiene 10 dígitos, y ha evolucionado en forma natural debido al hecho
de que las personas tenemos 10 dedos. De hecho, la palabra dígito se deriva de la
palabra “dedo”.
El decimal es un sistema de valor posicional, en el cual el valor de un dígito
depende de su posición. Por ejemplo, considere el número decimal 453. Por la posi-
ción de los dígitos sabemos que el 4 en realidad representa 4 centenas, el 5 represen-
ta 5 decenas y el 3 representa 3 unidades. En esencia, el 4 lleva el mayor peso de los
tres dígitos y se le conoce como el dígito más significativo (MSD) mientras que el 3
lleva el menor peso y se le conoce como el dígito menos significativo (LSD).
Considere otro ejemplo, 27.35. Este número en realidad es igual a 2 decenas
más 7 unidades más 3 décimas más 5 centésimas, o bien 2 10 7 1 3 0.1
5 0.01. El punto decimal se utiliza para separar las partes entera y fraccional del
número.
Dicho de forma más rigurosa, las diversas posiciones relativas al punto decimal
llevan pesos que pueden expresarse como potencias de 10. Esto se ilustra en la
figura 1-3, en donde se representa el número 2745.214. El punto decimal separa las
potencias positivas de 10 de las potencias negativas. El número 2745.214 es, por lo
tanto, igual a:
(2 * 10 + 3) + (7 * 10 + 2) + (4 * 101) + (5 * 100)
+ (2 * 10-1) + (1 * 10-2) + (4 * 10-3)
2 7 4 5 . 2 1 4
En general, cualquier número es sólo la suma de los productos del valor de cada
dígito y su valor posicional.
Conteo decimal
Al contar en el sistema decimal, empezamos con 0 en la posición de las unidades y
tomamos cada símbolo (dígito) en forma progresiva hasta llegar al 9. Luego agrega-
mos un 1 a la siguiente posición más alta y empezamos de nuevo con 0 en la prime-
SECCIÓN 1-3/SISTEMAS NUMÉRICOS DIGITALES 11
ra posición (vea la figura 1-4). Este proceso continúa hasta llegar al conteo de 99.
Después agregamos un 1 a la tercera posición y continuamos de nuevo con 0s en
las primeras dos posiciones. El mismo patrón se sigue hasta llegar al número que
deseamos contar.
Sistema binario
Desafortunadamente, el sistema numérico decimal no se presta para una imple-
mentación conveniente en los sistemas digitales. Por ejemplo, es muy difícil diseñar
equipo electrónico de manera que pueda trabajar con 10 niveles de voltaje distin-
tos (cada uno representando un carácter decimal, del 0 al 9). Por otro lado, es muy
sencillo diseñar circuitos electrónicos simples y precisos que operen sólo con dos
niveles de voltaje. Por esta razón casi cualquier sistema digital utiliza el sistema
numérico binario (base 2) como el sistema numérico básico de sus operaciones. Fre-
cuentemente se utilizan otros sistemas numéricos para interpretar o representar
cantidades binarias, para ayudar a las personas que trabajan con estos sistemas
digitales y los utilizan.
En el sistema binario sólo hay dos símbolos o posibles valores de dígitos: 0 y 1.
Aún así, este sistema de base 2 puede usarse para representar cualquier cantidad
que pueda representarse en decimal o en otros sistemas numéricos. Sin embargo, se
requeriría de un mayor número de dígitos binarios para expresar una determinada
cantidad.
1 0 1 1 1 0 1
Conteo binario
Al tratar con números binarios, por lo general, nos restringimos a un número especí-
fico de bits. Esta restricción se basa en los circuitos que utilicemos para representar
los números binarios. Utilicemos números binarios de cuatro bits para ilustrar el
método para contar en binario.
La secuencia que se muestra en la figura 1-6, comienza con todos los bits en 0; a
esto se le conoce como cuenta cero. Para cada cuenta sucesiva se alterna la posición
de las unidades (20); es decir, cambia de un valor binario al otro. Cada vez que el
bit de las unidades cambie de 1 a 0 se alternará la posición de los dos (21), es decir,
cambiará de estado. Cada vez que la posición de los dos cambie de 1 a 0, se alternará
la posición de los cuatros (22) (cambiará de estado). De igual forma, cada vez que la
posición de los cuatros pase de 1 a 0, se alternará la posición de los ochos (23). Si el
número binario tuviera más de cuatro bits, este mismo proceso continuaría para las
posiciones de los bits de mayor orden.
La secuencia de conteo binario tiene una característica importante, como se
muestra en la figura 1-6. El bit de las unidades (LSB) cambia ya sea de 0 a 1 o de 1
a 0 con cada conteo. El segundo bit (posición de los dos) permanece en 0 durante
dos conteos, después en 1 durante dos conteos, después en 0 durante dos conteos,
y así sucesivamente. El tercer bit (posición de los cuatros) permanece en 0 durante
SECCIÓN 1-4/REPRESENTACIÓN DE CANTIDADES BINARIAS 13
LSB
EJEMPLO 1-2 ¿Cuál es el mayor número que se puede representar si se utilizan ocho bits?
Solución
2N - 1 = 28 - 1 = 25510 = 111111112.
Ésta fue una breve introducción al sistema numérico binario y su relación con el
sistema decimal. En el siguiente capítulo invertiremos mucho más tiempo en estos
dos sistemas numéricos y otros más.
Por ejemplo, un interruptor sólo tiene dos estados: abierto o cerrado. De manera
arbitraria podemos permitir que un interruptor abierto represente el 0 binario y
que un interruptor cerrado represente el 1 binario. Con esta asignación podemos
ahora representar cualquier número binario. La figura 1-7(a) muestra un número en
código binario para un dispositivo de apertura de puertas de garaje. Los pequeños
interruptores están ajustados para formar el número binario 1000101010. La puerta
se abrirá sólo si coinciden los patrones de bits en el receptor y en el transmisor .
FIGURA 1-7
(a) Opciones de
configuración binaria
para un dispositivo de
apertura de puertas
de garaje. (b) Audio
digital en un CD.
(a)
(b)
Volts
5V
1 binario
1 1
4V
2V
Voltajes No
inválidos utilizado
0.8 V
0 binario 0 0
0V 0V t
t0 t1 t2 t3 t4 t5
(a) (b)
FIGURA 1-8 (a) Asignaciones comunes de voltaje en un sistema digital; (b) diagrama
común de sincronización de una señal digital.
tante; por ejemplo, para las asignaciones de voltaje de la figura 1-8(a) un voltaje de
3.6 V significa lo mismo que un voltaje de 4.3 V. En los sistemas analógicos el valor
exacto de un voltaje es importante. Por ejemplo, si el voltaje analógico es proporcio-
nal a la temperatura medida por un transductor, 3.6 V representaría una tempera-
tura distinta que 4.3 V. En otras palabras, la magnitud del voltaje lleva información
importante. Dicha característica significa que, por lo general, es más difícil diseñar
circuitos analógicos precisos que circuitos digitales, debido a la manera en la que se
ven afectados los valores exactos de voltaje por las variaciones en los valores de los
componentes, la temperatura y el ruido (fluctuaciones aleatorias de voltaje).
vi Circuito vo
digital Caso II
3.7 V
vi
0.5 V
t
4V
vo
0V
Circuitos lógicos
La forma en que un circuito digital responde a una entrada se conoce como lógica
del circuito. Cada tipo de circuito digital obedece un cierto conjunto de reglas lógi-
cas. Por esta razón a los circuitos digitales se les conoce también como circuitos
lógicos. A lo largo del libro utilizaremos ambos términos sin distinción. En el capítu-
lo 3 veremos con mayor claridad el significado del término “lógica” de un circuito.
Vamos a estudiar todos los tipos de circuitos lógicos que se utilizan en la actua-
lidad en los sistemas digitales. Primero enfocaremos nuestra atención sólo en la
operación lógica que realizan estos circuitos; es decir, la relación entre las entradas
y las salidas del circuito. Dejaremos pendiente cualquier discusión acerca de la ope-
ración interna de los circuitos lógicos hasta que hayamos entendido completamente
su operación lógica.
“H” “i”
00010010 10010110
PREGUNTAS DE REPASO 1. Describa las ventajas de la transmisión de datos binarios en paralelo y en serie.
1-7 MEMORIA
Cuando se aplica una señal de entrada a la mayoría de los dispositivos o circuitos,
la salida cambia de cierta forma en respuesta a la entrada, y cuando se elimina la
señal de entrada la salida regresa a su estado original. Estos circuitos no exhiben
la propiedad de la memoria debido a que sus salidas regresan a su estado normal.
En los circuitos digitales, ciertos tipos de dispositivos y circuitos tienen memoria.
Cuando se aplique una entrada a dicho circuito la salida cambiará su estado, pero
permanecerá en el nuevo estado aún y cuando se elimine la entrada que lo provocó.
Esta propiedad de retener su respuesta a una entrada momentánea se conoce como
memoria. La figura 1-11 ilustra las operaciones con y sin memoria.
Circuito con
memoria
SECCIÓN 1-8/COMPUTADORAS DIGITALES 19
Unidad central de
procesamiento (CPU)
Artmética-
lógica
C Señales de control
Memoria D Datos o información
cipales de una computadora digital y su interacción. Las líneas sólidas con flechas
representan el flujo de datos e información. Las líneas punteadas con flechas repre-
sentan el flujo de sincronización y las señales de control.
Las principales funciones de cada unidad son:
Como estos microcontroladores son una parte integral de un sistema más grande
y sirven un propósito dedicado, también se les llama controladores embebidos. Por
lo general, los microcontroladores tienen todos los elementos de una computadora
completa (CPU, memoria y puertos de entrada/salida), todo lo cual está contenido
dentro de un solo circuito integrado. Los microcontroladores embebidos se encuen-
tran en los electrodomésticos de su cocina, en el equipo de entretenimiento, en las
fotocopiadoras, en los cajeros automáticos del banco, en el equipo automatizado de
fabricación, en la instrumentación médica, entre muchas otras aplicaciones.
Como puede ver, aún las personas que no tienen una PC o que no utilizan una
en la escuela o el trabajo utilizan a diario microcomputadoras, ya que muchos dis-
positivos electrónicos, electrodomésticos, equipo de oficina y muchos otros aparatos
están fabricados con base en microcontroladores embebidos (integrados). En esta
era digital, si usted trabaja, juega o va a la escuela, no podrá escapar: con toda segu-
ridad en alguna parte estará utilizando una microcomputadora.
PREGUNTAS DE REPASO 1. Explique la diferencia ente un circuito digital con memoria y uno sin memoria.
2. Nombre las cinco unidades funcionales principales de una computadora.
3. ¿Cuáles son las dos unidades que conforman la CPU?
4. Un chip de CI que contiene un CPU se llama __________.
RESUMEN
1. Las dos formas básicas de representar el valor numérico de las cantidades físi-
cas son la analógica (continua) y la digital (discreta).
2. La mayoría de las cantidades en el mundo real son analógicas, pero, por lo gene-
ral, las técnicas digitales son superiores a las técnicas analógicas, y se pronosti-
ca que la mayor parte de los avances estarán en el ámbito digital.
3. El sistema numérico binario (0 y 1) es el sistema básico que se utiliza en la tec-
nología digital.
4. Los circuitos digitales o lógicos operan con voltajes que se encuentran dentro de
intervalos prescritos, los cuales representan ya sea un 0 o un 1 binario.
5. Las dos formas básicas de transferir información digital son: en paralelo (todos
los bits simultáneamente) y en serie (un bit a la vez).
6. Las partes principales de todas las computadoras son las unidades: de entrada,
de control, de memoria, de aritmética-lógica y de salida.
7. La CPU es la combinación de la unidad aritmética-lógica y la unidad de con-
trol.
8. Por lo general, una microcomputadora tiene una CPU que se encuentra en un
solo chip, y se le llama microprocesador.
9. Un microcontrolador es una microcomputadora diseñada de manera especial
para aplicaciones de control dedicadas (no de propósito general).
TÉRMINOS IMPORTANTES*
bit microcomputadoras sistema digital
circuitos digitales/circuitos microcontroladores transmisión en paralelo
lógicos microprocesador transmisión en serie
computadoras digitales programa unidad aritmética-lógica
* Encontrará estos términos en negritas a lo largo del capítulo; además están deÀnidos en el Glosario al
Ànal del libro. Esto aplica en todos los capítulos.
22 CAPÍTULO 1/CONCEPTOS INTRODUCTORIOS
PROBLEMAS
SECCIÓN 1-2
1-1.* ¿Cuáles de las siguientes cantidades son analógicas y cuáles digitales?
(a) El número de átomos en una muestra de material.
(b) La altitud de una aeronave.
(c) La presión en la llanta de una bicicleta.
(d) La corriente que pasa a través de una bocina.
(e) La configuración del temporizador en un horno de microondas.
1-2. ¿Cuáles de las siguientes cantidades son analógicas y cuáles digitales?
(a) La anchura de una pieza de madera.
(b) La cantidad de tiempo transcurrido antes de que se apague el timbre.
(c) La hora del día que se muestra en un reloj de cuarzo.
(d) La altitud por encima del nivel del mar, si se mide desde una escalera.
(e) La altitud por encima del nivel del mar, si se mide desde una rampa.
SECCIÓN 1-3
1-3.* Convierta los siguientes números binarios a sus valores decimales equiva-
lentes.
(a) 110012
(b) 1001.10012
(c) 10011011001.101102
1-4. Convierta los siguientes números binarios a decimal.
(a) 100112
(b) 1100.0101
(c) 10011100100.10010
1-5.* Muestre la secuencia de conteo binario de 000 a 111, usando tres bits.
1-6. Muestre la secuencia de conteo binario de 000000 a 111111, usando seis
bits.
1-7.* ¿Cuál es el máximo número que podemos contar si utilizamos 10 bits?
1-8. ¿Cuál es el máximo número que podemos contar si utilizamos 14 bits?
1-9.* ¿Cuántos bits se necesitan para contar hasta 511?
1-10. ¿Cuántos bits se necesitan para contar hasta 63?
SECCIÓN 1-4
1-11.* Dibuje el diagrama de tiempos para una señal digital que alterne en forma
continua entre 0.2 V (0 binario) durante 2 ms y 4.4 V (1 binario) durante
4 ms.
1-12. Dibuje el diagrama de tiempos para una señal que alterne entre 0.3 V (0
binario) durante 5 ms y 3.9 V (1 binario) durante 2 ms.
* Encontrará las respuestas a los problemas marcados con un asterisco al Ànal del libro.
RESPUESTAS A LAS PREGUNTAS DE REPASO DE LAS SECCIONES 23
SECCIÓN 1-6
1-13.* Suponga que se van a transmitir en binario los valores enteros decimales
desde el 0 hasta el 15.
(a) ¿Cuántas líneas se necesitan si se utiliza la representación en paralelo?
(b) ¿Cuántas líneas se necesitan si se utiliza la representación en serie?
SECCIÓN 1-1
1. Las cantidades analógicas pueden tomar cualquier valor sobre un intervalo continuo; las
cantidades digitales sólo pueden tomar valores discretos.
SECCIÓN 1-2
1. Es más fácil de diseñar; es más fácil de almacenar información; tiene mayor precisión;
capacidad de programación; se ve menos afectado por el ruido; tiene un mayor grado de
integración.
2. Las cantidades físicas del mundo real son analógicas. El procesamiento digital requiere
tiempo.
SECCIÓN 1-3
1. 10710 2. 110002 3. 409510
SECCIÓN 1-5
1. Falso. 2. Sí, siempre y cuando los dos voltajes de entrada estén dentro del mismo
intervalo de niveles lógicos. 3. Lógico. 4. Diagrama de tiempos.
SECCIÓN 1-6
1. La transmisión en paralelo es más rápida; la transmisión en serie sólo requiere una línea
de señal.
SECCIÓN 1-8
1. Si hay un cambio instantáneo en la señal de entrada, el circuito que tiene memoria
cambiará su salida y permanecerá con ese cambio. 2. Entrada, salida, memoria,
aritmética-lógica, de control. 3. Unidad de control y unidad aritmética-lógica.
4. Microprocesador.
C A P Í T U L O 2
SISTEMAS Y CÓDIGOS
NUMÉRICOS
■ CONTENIDO
2-1 Conversiones de binario a 2-6 Integración de los sistemas
decimal numéricos
2-2 Conversiones de decimal a 2-7 Byte, nibble y palabra
binario 2-8 Códigos alfanuméricos
2-3 Sistema numérico 2-9 Método de paridad para la
hexadecimal detección de errores
2-4 Código BCD 2-10 Aplicaciones
2-5 Código Gray
■ OBJETIVOS
Al terminar este capítulo, usted podrá:
■ Convertir un número de un sistema numérico (decimal, binario, hexadecimal)
a su equivalente en uno de los otros sistemas numéricos.
■ Citar las ventajas del sistema numérico hexadecimal.
■ Contar en hexadecimal.
■ Representar números decimales mediante el código BCD; y citar las ventajas
y desventajas en cuanto al uso del código BCD.
■ Comprender la diferencia entre BCD y binario directo.
■ Entender el propósito de los códigos alfanuméricos tales como el código
ASCII.
■ Explicar el método de paridad para la detección de errores.
■ Determinar el bit de paridad que se adjuntará a una cadena de datos
digitales.
■ INTRODUCCIÓN
El sistema numérico binario es el más importante en los sistemas digitales,
aunque también hay otros que son importantes. El sistema decimal es importante
ya que se utiliza de manera universal para representar cantidades fuera de
un sistema digital. Esto significa que habrá situaciones en las que los valores
decimales deban convertirse en valores binarios antes de introducirse en el
sistema digital. Por ejemplo, cuando oprime un número decimal en su calculadora
de bolsillo (o computadora), los circuitos en el interior de la máquina convierten
el número decimal en un valor binario.
De igual forma, habrá situaciones en las que los valores binarios en las salidas
de un sistema digital deberán convertirse en valores decimales para presentarlos
al mundo exterior. Por ejemplo, su calculadora (o computadora) utiliza números
binarios para calcular la solución a un problema y después convierte los resultados
en dígitos decimales antes de mostrarlos en pantalla.
Como verá más adelante, no es fácil ver un número binario y convertirlo
en su valor decimal equivalente. Resulta muy tedioso tener que introducir una
larga secuencia de unos (1s) y ceros (0s) en un teclado numérico, o escribir
números binarios extensos en papel. En especial es difícil tratar de comunicar una
cantidad binaria cuando se habla con otra persona. El sistema numérico
hexadecimal (base 16) se ha convertido la forma estándar de comunicar valores
numéricos en los sistemas digitales. La gran ventaja es que los números
hexadecimales pueden convertirse con facilidad a binario y viceversa.
Se han ideado otros métodos para representar cantidades decimales con
dígitos codificados en binario, los cuales no son en sí verdaderos sistemas
numéricos, pero ofrecen la facilidad de conversión entre el código binario y el
sistema numérico decimal. A esto se le conoce como decimal codificado en binario.
Es muy importante que usted pueda interpretar los valores en cualquier sistema
y realizar conversiones entre cualquiera de estas representaciones numéricas, ya
25
26 CAPÍTULO 2/SISTEMAS Y CÓDIGOS NUMÉRICOS
que las cantidades y los patrones de bits podrían estar representadas mediante
cualquiera de estos métodos en cualquier sistema dado y en todo el material
escrito de soporte para esos sistemas. También cubriremos otros códigos que
utilizan 1s y 0s para representar cosas tales como caracteres alfanuméricos, ya que
son muy comunes en los sistemas digitales.
1 1 0 1 12
2 ⫹ 2 ⫹ 0 ⫹ 2 ⫹ 20 ⫽ 16 ⫹ 8 ⫹ 2 ⫹ 1
4 3 1
⫽ 2710
1 0 1 1 0 1 0 12
27 0 25 24 0 22 0 20 18110
4510 32 8 4 1 25 0 23 22 0 20
1 0 1 1 0 12
Observe que se coloca un 0 en las posiciones 21 y 24, ya que todas las posiciones
deben tomarse en cuenta. Veamos otro ejemplo:
7610 64 8 4 26 0 0 23 22 0 0
1 0 0 1 1 0 02 .
SECCIÓN 2-2/CONVERSIONES DE DECIMAL A BINARIO 27
División repetida
El segundo método para convertir enteros decimales a binario es el que utiliza la
división entre 2. Para la conversión, que se muestra a continuación para el número
2510, se requiere dividir en forma repetida el número decimal entre 2 y anotar el
residuo después de cada división hasta que se obtenga un cociente de 0. El resul-
tado binario se obtiene al escribir el primer residuo como el LSB y el último como
el MSB. Este proceso, que se ilustra en el diagrama de flujo de la figura 2-1, puede
usarse también para convertir de decimal a cualquier otro sistema numérico, como
veremos más adelante.
25 LSB
12 residuo de 1 ⏐
2⎯⎯⎯⎯⎯⎯⎯⏐ ⏐
↓ ⏐
12 ⏐
6 residuo de 0 ⏐ ⏐
2 ⎯⎯⎯⎯⎯⏐ ⏐ ⏐
↓ ⏐ ⏐
6 ⏐ ⏐
3 residuo de 0 ⏐ ⏐ ⏐
2⎯⎯⎯⎯⎯⏐ ⏐ ⏐ ⏐
↓ ⏐ ⏐ ⏐
3
1 residuo de 1
⏐ ⏐ ⏐
⏐
2 ⏐ ⏐ ⏐ ⏐ ⏐
⎯⎯⎯⎯
⎯ ⏐ ⏐ ⏐
↓ ⏐
1 ⏐ ⏐ ⏐
0 residuo de 1
⏐ ⏐
⏐ ⏐ ⏐ ⏐
2 ⏐
MSB ⏐ ⏐ ⏐ ⏐
↑ ↑ ↑ ↑ ↑
2510 1 1 0 0 12
FIGURA 2-1 Diagrama
de flujo para el método de
división repetida de la
conversión de enteros INICIO
decimales a binarios. Puede
usarse el mismo proceso para
convertir un entero decimal
a cualquier otro sistema
numérico. Dividir entre
2
Registrar cociente
(Q) y residuo (R)
¿Es NO
Q 0?
SÍ
FIN
28 CAPÍTULO 2/SISTEMAS Y CÓDIGOS NUMÉRICOS
EJEMPLO 2-1 Convierta el número 3710 en binario. Trate de resolverlo por su cuenta antes de ver
la solución.
Solución
37
18. 5 ⎯→ residuo de 1 (LSB)
2
↑
18
9.0 ⎯→ 0
2
9
4.5 ⎯→ 1
2
4
2.0 ⎯→ 0
2
2
1.0 ⎯→ 0
2
1
0.5 ⎯→ 1 (MSB)
2
Alcance de conteo
Recuerde que si utilizamos N bits, podemos contar hasta 2N números decimales dis-
tintos que van desde 0 hasta 2N 1. Por ejemplo, para N 4 podemos contar desde
00002 hasta 11112, 010 hasta 1510, para un total de 16 números distintos. Aquí, el
valor decimal más grande es 24 1 15, y hay 24 números distintos.
Entonces, en general, podemos decir que:
EJEMPLO 2-2 (a) ¿Cuál es el intervalo de valores decimales que pueden representarse en ocho
bits?
(b) ¿Cuántos bits se necesitan para representar valores decimales que van desde 0
hasta 12,500?
Solución
(a) Aquí tenemos que N 8. Por ende, podemos representar números decimales
desde 0 hasta 28 1 255. Para verificar lo anterior podemos comprobar si
111111112 se convierte en 25510.
SECCIÓN 2-3/SISTEMA NUMÉRICO HEXADECIMAL 29
(b) Con 13 bits podemos contar desde el 0 decimal hasta 213 – 1 8191. Con 14 bits
podemos contar desde 0 hasta 214 – 1 16,383. Es evidente que no son suficien-
tes 13 bits, pero 14 bits nos llevarán más allá de 12,500. Por ende, el número de
bits requerido es 14.
TABLA 2-1
Hexadecimal Decimal Binario
0 0 0000
1 1 0001
2 2 0010
3 3 0011
4 4 0100
5 5 0101
6 6 0110
7 7 0111
8 8 1000
9 9 1001
A 10 1010
B 11 1011
C 12 1100
D 13 1101
E 14 1110
F 15 1111
Solución
423
26 residuo de 7 ⏐
1↑6 ⏐
⏐
26 ⏐
1 residuo de 10 ⏐⏐
⏐⏐
16
↑ ⏐
⏐
⏐⏐
1 ⏐⏐
0 residuo de 1 ⏐⏐
⏐⏐
16 ↑↑↑
423 10 1A716
Solución
214
13 residuo de 6 ⏐
16↑ ⏐
⏐
13 ⏐
0 residuo de 13 ⏐⏐
16 ↑↑
214 10 D6 16
SECCIÓN 2-3/SISTEMA NUMÉRICO HEXADECIMAL 31
Observe de nuevo que los residuos de los procesos de división forman los dígitos
del número hexadecimal. Observe también que cualquier residuo mayor de 9 se
representa por las letras de la A a la F.
214
= 13.375
16
9F216 9 F 2
↓ ↓ ↓
1 0 0 1 1 1 1 1 0 0 1 0
100111110010 2
1 1 1 0 1 0 0 1 1 02 0 0 1 1 1 0 1 0 0 1 1 0
⎭⎪
⎬
⎪⎫
⎭⎪
⎬
⎪⎫
⎭⎪
⎬
⎪⎫
3 A 6
3A616
Conteo en hexadecimal
Al contar en hexadecimal, puede incrementarse (en 1) la posición de cada dígito, des-
de el 0 hasta la F. Una vez que la posición de un dígito llega al valor F, se restablece
32 CAPÍTULO 2/SISTEMAS Y CÓDIGOS NUMÉRICOS
(a) 38, 39, 3A, 3B, 3C, 3D, 3F, 40, 41, 42
(b) 6F8, 6F9, 6FA, 6FB, 6FC, 6FD, 6FE, 6FF, 700
EJEMPLO 2-4 Convierta el número 378 decimal en un número binario de 16 bits, primero convir-
tiendo el número en hexadecimal.
Solución
378
23 residuo de 1010 A16
16
↑
23
1 residuo de 7
1↑6
1
0 residuo de 1
16
Por lo tanto, 37810 17A16. Este valor hexadecimal puede convertirse con facilidad
en el número binario 000101111010. Por último, podemos expresar el número 37810
como un número de 16 bits si le agregamos cuatro 0s a la izquierda:
Solución
PREGUNTAS DE REPASO
1. Convierta el número 24CE16 en decimal.
2. Convierta el número 311710 en hexadecimal y después de hexadecimal a binario.
3. Convierta el número 10010111101101012 en hexadecimal.
4. Escriba los siguientes cuatro números en esta secuencia de conteo hexadecimal:
E9A, E9B, E9C, E9D, _____, _____, _____, _____.
5. Convierta el número 352716 en binario.
6. ¿Qué rango de valores decimales puede representarse mediante un número hexa-
decimal de cuatro dígitos?
Todos los sistemas digitales utilizan cierta forma de números binarios para su
operación interna, pero el mundo externo es decimal por naturaleza. Esto significa
que con frecuencia se realizan conversiones entre los sistemas decimal y binario.
Hemos visto que las conversiones entre decimal y binario pueden volverse extensas
y complicadas cuando se manejan números grandes. Por esta razón, en ciertas situa-
ciones se utiliza un medio para codificar números decimales que combina algunas
características tanto del sistema decimal como del sistema binario.
8 7 4 (decimal)
↓ ↓ ↓
1000 0111 0100 (BCD)
9 4 3 (decimal)
↓ ↓ ↓
1001 0100 0011 (BCD)
Una vez más, cada dígito decimal se cambia a su equivalente binario directo.
Observe que siempre se utilizan cuatro bits para cada dígito.
Así, el código BCD representa cada dígito del número decimal mediante un
número binario de cuatro bits. Es evidente que sólo se utilizan los números binarios
de cuatro bits del 0000 al 1001. El código BCD no utiliza los números 1010, 1011,
1100, 1101, 1110 y 1111. En otras palabras, sólo se utilizan 10 de los 16 posibles
grupos de código binario de cuatro bits. Si llega a aparecer uno de los números “pro-
hibidos” de cuatro bits en una máquina que utilice el código BCD, por lo general, es
una indicación de que se produjo un error.
Solución
Divida el número BCD en grupos de cuatro bits y convierta cada grupo en decimal.
0110 1000 0011 1001
⎫
⎬
⎫
⎫
⎬
⎫
⎫
⎬
⎫
⎫
⎬
⎫
6 8 3 9
Solución
0111 1100 0001
⎫
⎫
⎫
⎫
⎬
7 ↓ 1
El grupo con el código prohibido
indica un error en el número BCD
SECCIÓN 2-5/CÓDIGO GRAY 35
Para representar el 137, el código BCD requiere 12 bits, mientras que el código bina-
rio directo sólo requiere de ocho bits. El código BCD requiere más bits que el binario
directo para representar números decimales de más de un dígito, ya que no utiliza
todos los grupos de cuatro bits posibles, como se indicó antes, y es, por lo tanto, algo
ineficiente.
La principal ventaja del código BCD es la relativa facilidad de convertir BCD en
decimal y viceversa. Sólo necesitan recordarse los grupos de código de cuatro bits
para los dígitos decimales del 0 al 9. Esta facilidad de conversión es muy importante
desde el punto de vista del hardware, ya que en un sistema digital son los circuitos
lógicos los que realizan las conversiones hacia y desde decimal.
PREGUNTAS DE REPASO 1. Represente el valor decimal 178 mediante su equivalente binario directo. Luego
codifique el mismo número decimal en BCD.
2. ¿Cuántos bits se requieren para representar un número decimal de ocho dígitos
en BCD?
3. ¿Cuál es la ventaja de codificar un número decimal en BCD, en lugar de hacerlo
en binario directo? ¿Cuál es la desventaja?
TABLA 2-2
Equivalencia entre el B2 B1 B0 G2 G1 G0
código binario de tres 0 0 0 0 0 0
bits y el código Gray. 0 0 1 0 0 1
0 1 0 0 1 1
0 1 1 0 1 0
1 0 0 1 1 0
1 0 1 1 1 1
1 1 0 1 0 1
1 1 1 1 0 0
Binario Gray
MSB LSB MSB LSB
B2 B1 B0 G2 G1 G0
G2 G1 G0 B2 B1 B0
Gray Binario
(a) (b)
La figura 2-2(b) muestra la conversión del código Gray a binario. Observe que el
MSB en Gray siempre es el mismo que el MSB en binario. El siguiente bit binario se
encuentra comparando el bit binario a la izquierda con el bit correspondiente en código
Gray. Los bits similares producen un 0 y los bits distintos un 1. La aplicación más
común del código Gray es en los codificadores de posición de eje, como muestra la
figura 2-3. Estos dispositivos producen un valor binario que representa la posición de
un eje mecánico giratorio. Un codificador de eje práctico utiliza mucho más de tres
bits y divide la rotación en mucho más de ocho segmentos, por lo que puede detectar
incrementos de rotación mucho más pequeños.
FIGURA 2-3 Un G2
codificador de eje de G1
ocho posiciones y tres G0
bits.
SECCIÓN 2-7/BYTE, NIBBLE Y PALABRA 37
TABLA 2-3
Decimal Binario Hexadecimal BCD GRAY
0 0 0 0000 0000
1 1 1 0001 0001
2 10 2 0010 0011
3 11 3 0011 0010
4 100 4 0100 0110
5 101 5 0101 0111
6 110 6 0110 0101
7 111 7 0111 0100
8 1000 8 1000 1100
9 1001 9 1001 1101
10 1010 A 0001 0000 1111
11 1011 B 0001 0001 1110
12 1100 C 0001 0010 1010
13 1101 D 0001 0011 1011
14 1110 E 0001 0100 1001
15 1111 F 0001 0101 1000
Bytes
La mayoría de las microcomputadoras maneja y almacena datos binarios e infor-
mación en grupos de ocho bits, por lo que una cadena de ocho bits tiene un nombre
especial: byte. Un byte consiste de ocho bits y puede representar cualquier tipo de
datos o de información. Los siguientes ejemplos ilustrarán este punto.
Solución
EJEMPLO 2-9 ¿Cuál es el valor decimal más grande que puede representarse en binario si se uti-
lizan dos bytes?
Solución
Dos bytes son 16 bits, por lo que el valor binario más grande será equivalente al
número decimal 216 1 65,535.
EJEMPLO 2-10 ¿Cuántos bytes se necesitan para representar el valor decimal 846,569 en BCD?
Solución
Cada dígito decimal se convierte en un código BCD de cuatro bits. Por ende, un
número decimal de seis dígitos requiere 24 bits. Esos 24 bits corresponden a tres
bytes. El diagrama para este caso se muestra a continuación:
8 4 6 5 6 9 (decimal)
1000 0100 0110 0101 0110 1001 (BCD)
⎫
⎪
⎪
⎫
⎫
⎪
⎪
⎫
⎫
⎪
⎪
⎫
⎬
⎬
byte 1 byte 2 byte 3
Nibbles
A menudo los números binarios se descomponen en grupos de cuatro bits, como
hemos visto con los códigos BCD y las conversiones a números hexadecimales. En los
primeros días de los sistemas digitales surgió un término para describir un grupo de
cuatro bits. Como abarca la mitad de un byte, se le denominó nibble. Los siguientes
ejemplos ilustran el uso de este término.
Solución
2
EJEMPLO 2-12 ¿Cuál es el valor hexadecimal del nibble menos significativo del número binario
1001 0101?
Solución
1001 0101
Palabras
Los términos bit, nibble y byte representan un número fijo de dígitos binarios.
A medida que los sistemas han ido creciendo a través de los años, también ha crecido
SECCIÓN 2-8/CÓDIGOS ALFANUMÉRICOS 39
PREGUNTAS DE REPASO 1. ¿Cuántos bytes se necesitan para representar el número 23510 en binario?
2. ¿Cuál es el valor decimal más grande que puede representarse en BCD, si se
utilizan dos bytes?
3. ¿Cuántos dígitos hexadecimales puede representar un nibble?
4. ¿Cuántos nibbles hay en un dígito BCD?
Código ASCII
El código alfanumérico más utilizado es el Código estándar estadounidense para el
intercambio de información (ASCII). Este código es de siete bits, por lo cual tiene
27 128 código posibles. Más que suficiente para representar todos los caracteres
estándar del teclado, así como las funciones de control tales como retorno de carro
(RETURN) y avance de línea (LINEFEED). La tabla 2-4 muestra un listado del códi-
go ASCII estándar de siete bits. La tabla proporciona los equivalentes en hexadeci-
mal y decimal. Para obtener el código binario de siete bits para cada carácter hay
que convertir el valor hexadecimal en binario.
EJEMPLO 2-13 Use la tabla 2-4 para encontrar el código ASCII de siete bits para el carácter de
barra diagonal inversa (\).
Solución
El valor hexadecimal que aparece en la tabla 2-4 es 5C. Al traducir cada dígito hexa-
decimal en código binario de cuatro bits produce el valor 0101 1100. Los siete bits de
menor peso representan el código ASCII para \, o 1011100.
40 CAPÍTULO 2/SISTEMAS Y CÓDIGOS NUMÉRICOS
Caracter HEX Decimal Caracter HEX Decimal Caracter HEX Decimal Caracter HEX Decimal
.
NUL (nulo) 0 0 Espacio 20 32 @ 40 64 60 96
Inicio del
encabezado 1 1 ! 21 33 A 41 65 a 61 97
Inicio del texto 2 2 “ 22 34 B 42 66 b 62 98
Fin del texto 3 3 # 23 35 C 43 67 c 63 99
Fin de la transmisión 4 4 $ 24 36 D 44 68 d 64 100
Consulta 5 5 % 25 37 E 45 69 e 65 101
Reconocimiento 6 6 & 26 38 F 46 70 f 66 102
Timbre 7 7 ` 27 39 G 47 71 g 67 103
Retroceso 8 8 ( 28 40 H 48 72 h 68 104
Tabulación
horizontal 9 9 ) 29 41 I 49 73 i 69 105
Avance de línea A 10 * 2A 42 J 4A 74 j 6A 106
Tabulación vertical B 11 + 2B 43 K 4B 75 k 6B 107
Avance de hoja
de impresión C 12 , 2C 44 L 4C 76 l 6C 108
Retorno de carro D 13 - 2D 45 M 4D 77 m 6D 109
Mayúsculas
desactivadas E 14 . 2E 46 N 4E 78 n 6E 110
Mayúsculas
activadas F 15 / 2F 47 O 4F 79 o 6F 111
Escape de enlace
de datos 10 16 0 30 48 P 50 80 p 70 112
Control directo 1 11 17 1 31 49 Q 51 81 q 71 113
Control directo 2 12 18 2 32 50 R 52 82 r 72 114
Control directo 3 13 19 3 33 51 S 53 83 s 73 115
Control directo 4 14 20 4 34 52 T 54 84 t 74 116
ACK
(reconocimiento)
negativo 15 21 5 35 53 U 55 85 u 75 117
Sincronía en
estado inactivo 16 22 6 36 54 V 56 86 v 76 118
Fin de Bloque de
Transmisión 17 23 7 37 55 W 57 87 w 77 119
Cancelar 18 24 8 38 56 X 58 88 x 78 120
Fin de medio 19 25 9 39 57 Y 59 89 y 79 121
Sustituir 1A 26 : 3A 58 Z 5A 90 z 7A 122
Escape 1B 27 ; 3B 59 [ 5B 91 { 7B 123
Separador
de formas 1C 28 < 3C 60 \ 5C 92 | 7C 124
Separador
de grupos 1D 29 = 3D 61 ] 5D 93 } 7D 125
Separador
de registros 1E 30 > 3E 62 ^ 5E 94 ~ 7E 126
Separador de
unidades 1F 31 ? 3F 63 5F 95 Suprimir 7F 127
SECCIÓN 2-9/MÉTODO DE PARIDAD PARA LA DETECCIÓN DE ERRORES 41
Solución
Localice cada carácter (incluyendo el espacio) en la tabla 2-4 y escriba su código
ASCII.
i 69 0110 1001
f 66 0110 0110
espacio 20 0010 0000
( 28 0010 1000
x 78 0111 1000
> 3E 0011 1110
3 33 0011 0011
) 29 0010 1001
Observe que se agregó un 0 al bit más a la izquierda de cada código ASCII, ya que
los códigos deben almacenarse como bytes (ocho bits). A este proceso de agregar un
bit adicional se le denomina rellenar con 0s.
x
Transmisor Receptor
que causen que el receptor no reciba la información idéntica tal y como la envió el
transmisor. La principal causa de errores de transmisión es el ruido eléctrico, el cual
consiste en fluctuaciones espurias en el voltaje o en la corriente, dichas señales de
ruido están presentes en todos los sistemas electrónicos en diversos grados. La figu-
ra 2-4 es una ilustración simplificada de un tipo de error de transmisión.
El transmisor envía una señal digital en serie que está relativamente libre de
ruido, a través de una línea de señal hacia un receptor. No obstante, para cuando
la señal llega al receptor contiene un cierto grado de ruido acumulado a la señal
original. En ocasiones, el ruido es tan grande en amplitud que altera el nivel lógico
de la señal, como se ve en el punto x. Cuando esto ocurre, el receptor puede inter-
pretar en forma incorrecta ese bit como un 1 lógico, que no corresponde con lo que
el transmisor ha enviado.
La mayoría del equipo digital moderno está diseñado relativamente libre de
errores, y la probabilidad de que ocurran errores como el que se muestra en la figura
2-4 es muy baja. No obstante, debemos considerar que los sistemas digitales fre-
cuentemente transmiten miles, incluso millones de bits por segundo, por lo que
incluso hasta una relación muy baja de ocurrencia de errores puede producir un
error ocasional que podría llegar a ser molesto, si no es que desastroso. Por esta
razón, muchos sistemas digitales emplean algún método para la detección (y en
ocasiones corrección) de errores. Uno de los esquemas más simples y utilizados para
este fin es el método de paridad.
Bit de paridad
Un bit de paridad es un bit que se agrega al grupo de bits del código que se está
transfiriendo de un lugar a otro. El bit de paridad se hace 0 o 1, dependiendo del
número de 1s que contenga el grupo de bits del código. Se utilizan dos métodos dis-
tintos.
En el método de paridad par, el valor del bit de paridad se elije de manera que
el número total de 1s en el grupo de bits del código, incluyendo el bit de paridad,
sea par. Por ejemplo, suponga que el grupo es 1000011. Éste es el carácter “C” en
ASCII. El código tiene tres 1s. Por ende, agregaremos un bit de paridad de 1 para
que el número total de 1s sea par. El nuevo código incluyendo el bit de paridad sería
entonces:
1 1 0 0 0 0 1 1
↑ bit de paridad agregado*
Si el grupo de bits del código contiene un número par de 1s para empezar, el bit
de paridad recibe un valor de 0. Por ejemplo, si el código fuera 1000001 (el código
ASCII para la “A”), el bit de paridad asignado sería 0 y el nuevo código incluyendo el
bit de paridad sería 01000001.
El método de paridad impar se utiliza de la misma forma, sólo que el bit de pari-
dad se elije de manera que el número total de 1s, incluyendo el bit de paridad, sea
impar. Por ejemplo, para el código 1000001, el bit de paridad asignado sería un 1.
Para el código 1000011, el bit de paridad sería un 0.
* El bit de paridad puede colocarse en cualquier extremo del grupo de código, pero, por lo general, se
coloca a la izquierda del MSB.
SECCIÓN 2-9/MÉTODO DE PARIDAD PARA LA DETECCIÓN DE ERRORES 43
1 1 0 0 0 0 0 1
Cuando el circuito receptor reciba el código, verificará que éste contenga un núme-
ro impar de 1s, incluyendo el bit de paridad. De ser así, el receptor supondrá que el
código se ha recibido de manera correcta. Ahora suponga que debido a cierto ruido
o falla el receptor en realidad recibe el siguiente código:
1 1 0 0 0 0 0 0
El receptor descubrirá que este código tiene un número par de 1s. Esto indica al
receptor que debe haber un error en el código, ya que se presume que el transmisor
y el receptor han acordado utilizar paridad impar. Sin embargo, no hay forma de que
el receptor sepa cuál bit tiene error, ya que no sabe cuál se supone que va a ser el
código.
Podemos asumir que este método de paridad no funciona si dos bits tienen error,
ya que dos errores no cambiarían la característica de “par” o “impar” en el número
de 1s en el código. En la práctica, el método de paridad se utiliza sólo en situaciones
en las que la probabilidad de un solo error es muy baja y la probabilidad de doble
error es prácticamente cero.
Cuando se utiliza el método de paridad, el transmisor y el receptor deben acor-
dar antes de la transmisión si se va a utilizar la paridad par o impar. No hay ventaja
de un método sobre el otro, aunque parece que la paridad par se utiliza más a
menudo. El transmisor debe agregar el bit de paridad apropiado a cada unidad de
información que transmita. Por ejemplo, si el transmisor está enviando datos codi-
ficados en ASCII, deberá agregar el bit de paridad a cada grupo de código ASCII de
siete bits. Cuando el receptor examine los datos que reciba del transmisor, compro-
bará cada grupo de código para ver si el número total de 1s, incluyendo el bit de
paridad, es consistente con el tipo de paridad acordado. A esto se le conoce común-
mente como comprobar la paridad de los datos. En caso de que detecte un error, el
receptor puede enviar un mensaje al transmisor para pedirle que vuelva a transmi-
tir el último conjunto de datos. El procedimiento a seguir cuando se detecta un
error depende de cada sistema.
EJEMPLO 2-15 Es común que las computadoras se comuniquen con otros equipos remotos a través
de líneas telefónicas. Así es como se lleva a cabo la comunicación por acceso telefó-
nico a través de Internet. Cuando una computadora transmite un mensaje a otra, esa
información, por lo general, se codifica en ASCII. ¿Cuáles serían las cadenas de bits
que transmitiría una computadora para enviar el mensaje HOLA, utilizando ASCII
con paridad par?
Solución
Primero, vea los códigos ASCII para cada carácter del mensaje. Después, para cada
código cuente el número de 1s. Si es un número par añada un 0 como el MSB, o un 1
44 CAPÍTULO 2/SISTEMAS Y CÓDIGOS NUMÉRICOS
si es un número impar. Por ende, los códigos de ocho bits (bytes) resultantes tendrán
un número par de 1s (incluyendo la paridad).
PREGUNTAS DE REPASO
1. Agregue un bit de paridad impar al código ASCII para el símbolo $ y exprese el
resultado en hexadecimal.
2. Adjunte un bit de paridad par al código BCD para el 69 decimal.
3. ¿Por qué el método de paridad no puede detectar un doble error en los datos
transmitidos?
2-10 APLICACIONES
A continuación se presentan algunas aplicaciones que servirán como repaso de algu-
nos conceptos que vistos en este capítulo. El objetivo de estas aplicaciones es que
usted se dé una idea de cómo se utilizan los diversos sistemas y códigos numéricos
en el mundo digital. En los problemas al final del capítulo presentaremos más apli-
caciones.
APLICACIÓN 2-1 Un CD-ROM ordinario puede almacenar 650 megabytes de datos digitales. Como
mega 220, ¿cuántos bits de datos puede almacenar un CD-ROM?
Solución
Recuerde que un byte tiene ocho bits. Por lo tanto, 650 megabytes son 650 220
8 5,452,595,200 bits.
APLICACIÓN 2-2 Para poder programar la mayoría de microcontroladores, las instrucciones binarias
se almacenan en un archivo de una computadora personal, de una manera especial
que se conoce como Formato Hexadecimal Intel. La información hexadecimal se
codifica en caracteres ASCII, de manera que pueda mostrarse con facilidad en la
pantalla de una PC, imprimirse o transmitirse de una manera sencilla, carácter por
carácter, a través de un puerto COM serial de la PC. A continuación se muestra una
línea de un archivo en Formato Hexadecimal Intel:
:10002000F7CFFFCF1FEF2FEF2A95F1F71A95D9F7EA
(a) ¿Qué apariencia debe tener el patrón binario de bits incluyendo la paridad?
(MSB-LSB.)
SECCIÓN 2-10/APLICACIONES 45
(b) El valor 10, que va después de los dos puntos, representa en número hexadeci-
mal el total de bytes que se van a cargar en la memoria del microcontrolador.
¿Cuál es el número decimal de bytes que se van a cargar?
(c) El número 0020 es un valor hexadecimal de cuatro dígitos que representa la
dirección en la que se va a almacenar el primer byte. ¿Cuál es la mayor direc-
ción posible? ¿Cuántos bits se requerirían para representar esta dirección?
(d) El valor del primer byte de datos es F7. ¿Cuál es el valor (en binario) del nibble
menos significativo de este byte?
Solución
(a) Los códigos ASCII son 3A (para el :) y 31 (para el 1) 00111010 10110001
bit de paridad par
(b) 10 hex 1 16 0 1 16 bytes decimales.
(c) FFFF es el mayor valor posible. Cada dígito hexadecimal es de 4 bits, por lo que
necesitamos 16 bits.
(d) El nibble menos significativo (4 bits) se representa mediante el 7 hexadecimal.
En binario sería 0111.
APLICACIÓN 2-3 Una pequeña computadora de control de procesos utiliza códigos hexadecimales
para representar sus direcciones de 16 bits de memoria.
Solución
(a) Como 4 bits se convierten en un dígito hexadecimal, se necesitan 16/4 4 dígi-
tos hexadecimales.
(b) El intervalo binario es de 00000000000000002 a 11111111111111112. En hexade-
cimal sería de 000016 a FFFF16.
(c) Con 4 dígitos hexadecimales, el número total de direcciones es 164 65,536.
APLICACIÓN 2-4 En un sistema basado en microcontrolador, los números se introducen en BCD pero
se almacenan en binario directo. Como programador, usted debe decidir si necesita
una ubicación de almacenamiento de un byte o de dos bytes.
(a) ¿Cuántos bytes necesita si el sistema recibe una entrada decimal de dos dígi-
tos?
(b) ¿Qué pasaría si tuviera que introducir tres dígitos?
Solución
(a) Con dos dígitos puede introducir valores hasta el 99 (1001 1001BCD). En binario
este valor es 01100011, el cual cabe en una ubicación de memoria de ocho bits.
También puede utilizar un solo bit.
(b) Tres dígitos pueden representar hasta 999 (1001 1001 1001). En binario este
valor es 1111100111 (10 bits). Por lo tanto, no puede usar un solo byte; necesita
dos bytes.
46 CAPÍTULO 2/SISTEMAS Y CÓDIGOS NUMÉRICOS
APLICACIÓN 2-5 Cuando hay que transmitir caracteres ASCII entre dos sistemas independientes
(como una computadora y un módem), debe haber una manera de indicar al receptor
cuándo va a llegar un nuevo carácter. A menudo también se tiene la necesidad de
detectar errores en la transmisión. El método de transferencia se llama comunica-
ción asíncrona de datos. El estado normal de inactividad de la línea de transmisión
es un 1 lógico. Cuando el transmisor envía un carácter ASCII, debe “encapsularse”
para que el receptor sepa en dónde comienzan y terminan los datos. El primer bit
debe ser siempre un bit de inicio (0 lógico). A continuación se envía el código ASCII,
en donde el LSB va primero y el MSB al último. Después del MSB se adjunta un bit
de paridad para comprobar errores en la transmisión. Para terminar la transmisión
se envía un bit de paro (1 lógico). En la figura 2-5 se muestra una transmisión asíncro-
na ordinaria del código ASCII de siete bits para el signo # (23 Hex) con paridad par.
inactiva inactiva
I D D D D D D D P P
N 0 1 2 3 4 5 6 a A
I r R
C L M i O
I S S d
O B B a
d
RESUMEN
1. El sistema numérico hexadecimal se utiliza en los sistemas y las computadoras
digitales como una manera eficiente de representar cantidades binarias.
2. En las conversiones entre hexadecimal y binario, cada dígito hexadecimal
corresponde a cuatro bits.
3. El método de división repetida se utiliza para convertir números decimales en
binario o hexadecimal.
4. Mediante el uso de un número binario de N bits podemos representar valores
decimales desde el 0 hasta 2N – 1.
5. Para formar el código BCD de un número decimal se convierte cada dígito del
número decimal en su equivalente binario de cuatro bits.
6. El código Gray define una secuencia de patrones de bits, en los que sólo un bit
cambia entre patrones sucesivos en la secuencia.
7. Un byte es una cadena de ocho bits. Un nibble es de cuatro bits. El tamaño de
una palabra depende del sistema.
8. Un código alfanumérico utiliza grupos de bits para representar a todos los carac-
teres y funciones que forman parte del teclado ordinario de una computadora.
El código ASCII es el código alfanumérico más utilizado.
9. En el método de paridad para la detección de errores se adjunta un bit de pari-
dad especial a cada grupo de bits que se transmite.
PROBLEMAS 47
TÉRMINOS IMPORTANTES
bit de paridad Código estándar nibble
byte estadounidense para palabra
códigos alfanuméricos el intercambio de sistema numérico
código binario directo información (ASCII) hexadecimal
código decimal codificado código Gray tamaño de palabra
en binario (BCD) método de paridad
PROBLEMAS
SECCIONES 2-1 Y 2-2
2-1. Convierta los siguientes números binarios en decimales.
(a)* 10110 (d) 01101011 (g)* 1111010111
(b) 10010101 (e)* 11111111 (h) 11011111
(c)* 100100001001 (f) 01101111
2-2. Convierta los siguientes valores decimales en binarios.
(a)* 37 (d) 1000 (g)* 205
(b) 13 (e)* 77 (h) 2133
(c)* 189 (f) 390 (i)* 511
2-3. ¿Cuál es el valor decimal más grande que puede representarse mediante
(a)* un número binario de ocho bits? (b) un número de 16 bits?
SECCIÓN 2-4
2-4. Convierta cada número hexadecimal en su equivalente decimal.
(a)* 743 (d) 2000 (g)* 7FF
(b) 36 (e)* 165 (h) 1204
(c)* 37FD (f) ABCD
2-5. Convierta cada uno de los siguientes números decimales en hexadecima-
les.
(a)* 59 (d) 1024 (g)* 65,536
(b) 372 (e)* 771 (h) 255
(c)* 919 (f) 2313
2-6. Convierta cada uno de los valores hexadecimales del problema 2-4 en núme-
ros binarios.
2-7. Convierta los números binarios del problema 2-1 en hexadecimales.
2-8. Liste los números hexadecimales en secuencia, desde 19516 hasta 28016.
2-9. Cuando se va a convertir un número decimal grande en binario, algunas
veces es más fácil convertirlo primero en hexadecimal y después en binario.
Pruebe este procedimiento para el número 213310 y compárelo con el proce-
dimiento usado en el problema 2-2(h).
2-10. ¿Cuántos dígitos hexadecimales se requieren para representar los números
decimales del 0 hasta el 20,000?
2-11. Convierta los siguientes valores hexadecimales en decimales.
(a)* 92 (d) ABCD (g)* 2C0
(b) 1A6 (e)* 000F (h) 7FF
(c)* 37FD (f) 55
* Encontrará las respuestas a los problemas marcados con un asterisco al nal del libro.
48 CAPÍTULO 2/SISTEMAS Y CÓDIGOS NUMÉRICOS
SECCIÓN 2-5
SECCIÓN 2-7
bit de paridad
(b) 0100011101100
(c) 0111110000011
(d) 1000011000101
2-29. Suponga que el receptor recibió los siguientes datos del transmisor del ejem-
plo 2-16:
01001000
11000101
11001100
11001000
11001100
PREGUNTAS DE PRÁCTICA
2-30.* Realice cada una de las siguientes conversiones. Si desea puede probar
varios métodos en algunas de ellas para ver con cuál se adapta mejor. Por
ejemplo, una conversión de binario a decimal puede realizarse en forma
directa, o también mediante una conversión de binario a hexadecimal segui-
da de una conversión de hexadecimal a decimal.
(a) 141710 ______2
(b) 25510 ______2
(c) 110100012 ______10
(d) 11101010001001112 ______10
50 CAPÍTULO 2/SISTEMAS Y CÓDIGOS NUMÉRICOS
EJERCICIOS AVANZADOS
SECCIÓN 2-1
1. 2267 2. 32768
SECCIÓN 2-2
1. 1010011 2. 1011011001 3. 20 bits
52 CAPÍTULO 2/SISTEMAS Y CÓDIGOS NUMÉRICOS
SECCIÓN 2-3
1. 9422 2. C2D; 110000101101 3. 97B5 4. E9E, E9F, EA0, EA1
5. 11010100100111 6. 0 a 65,535
SECCIÓN 2-4
1. 1011001092; 000101111000 (BCD) 2. 32 3. Ventaja: facilidad de conver-
sión. Desventaja: el código BCD requiere más bits.
SECCIÓN 2-5
1. 0111 2. 0110
SECCIÓN 2-7
1. Uno 2. 9999 3. Uno 4. Uno
SECCIÓN 2-8
1. 43, 4F, 53, 54, 20, 3D, 20, 24, 37, 32 2. STOP
SECCIÓN 2-9
1. A4 2. 001101001 3. Dos errores en los datos no cambiarían la caracte-
rística impar o par del número de 1s en los datos.
C A P Í T U L O 3
DESCRIPCIÓN DE LOS
CIRCUITOS LÓGICOS
■ CONTENIDO
3-1 Constantes y variables 3-12 Universalidad de las
booleanas compuertas NAND y NOR
3-2 Tablas de verdad 3-13 Representaciones alternas
3-3 Operación OR con de compuertas lógicas
compuertas OR 3-14 Cuál representación de
3-4 Operación AND con compuerta se debe usar
compuertas AND 3-15 Símbolos lógicos del estándar
3-5 Operación NOT IEEE/ANSI
3-6 Descripción de circuitos 3-16 Resumen de los métodos
lógicos en forma algebraica para describir circuitos
lógicos
3-7 Evaluación de las salidas
de circuitos lógicos 3-17 Comparación entre lenguajes
de descripción y lenguajes de
3-8 Implementación de circuitos
programación
a partir de expresiones
booleanas 3-18 Implementación de circuitos
lógicos con PLDs
3-9 Compuertas NOR y NAND
3-19 Formato y sintaxis del HDL
3-10 Teoremas booleanos
3-20 Señales intermedias
3-11 Teoremas de DeMorgan
■ OBJETIVOS
Al terminar este capítulo, usted podrá:
■ Realizar las tres operaciones lógicas básicas.
■ Describir la operación y construir las tablas de verdad para las compuertas
AND, NAND, OR y NOR, y el circuito NOT (INVERSOR).
■ Dibujar diagramas de tiempos para las diversas compuertas de los circuitos
lógicos.
■ Escribir la expresión booleana para las compuertas lógicas y combinaciones
de compuertas lógicas.
■ Implementar circuitos lógicos mediante el uso de compuertas AND, OR y NOT.
■ Apreciar el potencial del álgebra booleana para simplificar circuitos lógicos
complejos.
■ Usar los teoremas de DeMorgan para simplificar las expresiones lógicas.
■ Usar cualquiera de las compuertas universales (NAND y NOR) para
implementar un circuito representado por una expresión booleana.
■ Explicar las ventajas de construir un diagrama de circuitos lógicos mediante
el uso de los símbolos alternos de las compuertas, en comparación con los
símbolos estándar de las compuertas lógicas.
■ Describir el concepto de las señales lógicas, activa en BAJO y activa en ALTO.
■ Dibujar e interpretar los símbolos de las compuertas lógicas del estándar
IEEE/ANSI.
■ Usar varios métodos para describir la operación de los circuitos lógicos.
■ Interpretar circuitos simples definidos mediante un lenguaje de descripción
de hardware (HDL).
■ Explicar la diferencia entre un HDL y un lenguaje de programación de
computadoras.
■ Crear un archivo de HDL para una compuerta lógica simple.
■ Crear un archivo de HDL para circuitos combinacionales con variables
intermedias.
■ INTRODUCCIÓN
En los capítulos 1 y 2 presentamos los conceptos de niveles lógicos y circuitos
lógicos. En circuitos lógicos sólo existen dos posibles condiciones para cualquier
entrada o salida: verdadero o falso. El sistema numérico binario utiliza sólo
dos dígitos: 1 y 0, por lo que es perfecto para representar relaciones lógicas.
Los circuitos lógicos digitales utilizan intervalos de voltaje predefinidos para
representar estos estados binarios. Si utilizamos estos conceptos podemos crear
circuitos compuestos de algo más que arena de playa procesada y alambre, con
lo cual se pueden realizar decisiones lógicas consistentes e inteligentes. Es muy
importante que tengamos un método para describir las decisiones lógicas que
realizan estos circuitos. En otras palabras, debemos describir la forma en que
operan. En este capítulo estudiaremos muchas formas para describir su operación.
55
56 CAPÍTULO 3/DESCRIPCIÓN DE LOS CIRCUITOS LÓGICOS
Cada uno de estos métodos de descripción es importante, ya que todos los métodos
aparecen muchas veces en la literatura técnica y la documentación de sistemas, y
se utilizan en conjunto con las herramientas modernas de diseño y desarrollo.
La vida está llena de ejemplos de casos que se encuentran en un estado o en otro.
Por ejemplo, una criatura puede estar viva o muerta, una luz puede estar encendida
o apagada, una puerta puede estar cerrada o abierta, y puede estar lloviendo o no. En
1854, un matemático llamado George boole escribió el libro Una investigación sobre
las leyes del pensamiento, en donde describía la manera en que realizamos decisiones
lógicas con base en circunstancias verdaderas o falsas. Los métodos que describió
se conocen actualmente como lógica booleana, y el sistema de usar símbolos y
operadores para describir estas decisiones se llama álgebra booleana. De la misma
forma que utilizamos símbolos tales como x y y para representar valores numéricos
desconocidos en el álgebra tradicional, el álgebra booleana utiliza símbolos para
representar una expresión lógica que tiene uno de dos valores posibles: verdadero o
falso. La expresión lógica podría ser puerta está cerrada, botón está oprimido, o nivel
de combustible está bajo. Es muy tedioso escribir estas expresiones, por lo que se
acostumbra sustituirlas por símbolos tales como A, B y C.
El propósito principal de estas expresiones lógicas es describir la relación
entre la salida de un circuito lógico (la decisión) y sus entradas (las condiciones).
En este capítulo estudiaremos los circuitos lógicos más básicos (compuertas
lógicas), que son los elementos a partir de los cuales se construyen todos los demás
circuitos lógicos y sistemas digitales. Veremos cómo la operación de las distintas
compuertas lógicas y los circuitos más complejos formados por combinaciones
de compuertas lógicas pueden describirse y analizarse mediante el uso del álgebra
booleana. También veremos un breve adelanto sobre cómo puede usarse dicha
álgebra para simplificar una expresión booleana de un circuito determinado, de
manera que éste pueda reconstruirse con menos compuertas lógicas y/o menos
conexiones. En el capítulo 4 veremos mucho más acerca de la simplificación de
circuitos.
El álgebra booleana no sólo se utiliza como herramienta para analizar y
simplificar sistemas lógicos. También puede usarse como herramienta para crear
un circuito lógico con una relación de entrada/salida deseada. Por lo general,
este proceso se conoce como síntesis de circuitos lógicos, en vez de análisis. Se
han utilizado otras técnicas en el análisis, síntesis y documentación de sistemas
y circuitos lógicos, como tablas de verdad, símbolos esquemáticos, diagramas de
tiempos y (por último, pero no menos importante) el lenguaje. Para categorizar
estos métodos, podríamos decir que el álgebra booleana es una herramienta
matemática, las tablas de verdad son herramientas para organización de datos, los
símbolos esquemáticos son herramientas de representación gráfica, los diagramas
de tiempos son herramientas para graficar la respuesta y el lenguaje es la
herramienta universal de descripción.
Actualmente puede usarse cualquiera de estas herramientas para proporcionar
la entrada a una computadora. Éstas pueden utilizarse para simplificar y traducir
entre estas diversas formas de descripción y, en última instancia, proveer
una salida en la forma necesaria para implementar un sistema digital. Para
aprovechar los poderosos beneficios del software computacional, primero debemos
comprender por completo las formas aceptables para describir estos sistemas en
términos que la computadora pueda entender. En este capítulo veremos las bases
para un estudio más detallado de estas herramientas vitales para la síntesis y el
análisis de los sistemas digitales.
Es evidente que las herramientas que describiremos aquí son invaluables para
describir, analizar, diseñar e implementar circuitos digitales. El estudiante que
tenga la expectativa de trabajar en el campo digital deberá esforzarse mucho por
comprender y familiarizarse con el álgebra booleana (aunque no lo crea, es mucho
más sencilla que el álgebra convencional) y con todas las demás herramientas.
Resuelva todos los ejemplos, ejercicios y problemas, incluso los que no le asigne
su instructor. Cuando acabe con todos ellos, haga los suyos. Bien valdrá la pena
el tiempo que invierta en ello, ya que usted verá cómo mejoran sus habilidades y
aumenta su confianza.
SECCIÓN 3-2/TABLAS DE VERDAD 57
TABLA 3-1
0 lógico 1 lógico
Falso Verdadero
Apagado Encendido
Bajo Alto
No Sí
Interruptor abierto Interruptor cerrado
* Los voltajes entre 0.8 y 2 V están indenidos (no son 0 ni 1) y bajo circunstancias normales no deben
presentarse.
58 CAPÍTULO 3/DESCRIPCIÓN DE LOS CIRCUITOS LÓGICOS
(c)
PREGUNTAS DE REPASO 1. ¿Cuál es el estado de salida del circuito de cuatro entradas representado en la
figura 3-1(c) cuando todas las entradas excepto B son 1?
2. Repita la pregunta 1 para las siguientes condiciones de entrada: A 1, B 0,
C 1, D 0.
3. ¿Cuántas combinaciones se necesitan en la tabla para un circuito de cinco
entradas?
xAB
x1111
Compuerta OR
En los circuitos digitales, una compuerta OR* es un circuito que tiene dos o más
entradas y cuya salida es igual a la combinación OR de las entradas. La figura 3-2(b)
muestra el símbolo lógico para una compuerta OR de dos entradas. Las entradas A y
B son niveles lógicos de voltaje y la salida x es un nivel lógico de voltaje cuyo valor
es el resultado de la operación OR sobre A y B; es decir, x A B. En otras palabras,
la compuerta OR opera de manera que su salida esté en ALTO, 1 lógico, si cualquiera
de las entradas A o B o ambas se encuentran en el nivel 1 lógico. La salida de la com-
puerta OR estará en BAJO, 0 lógico, sólo si todas sus entradas están en 0 lógico.
Esta misma idea puede extenderse a más de dos entradas. La figura 3-3 muestra
una compuerta OR de tres entradas y su tabla de verdad. Si examinamos esta tabla
de verdad podremos ver de nuevo que la salida será 1 para cada caso en el que una o
más entradas sean 1. Este principio general es el mismo para las compuertas OR con
cualquier número de entradas.
Resumen de la operación OR
Los puntos importantes que debemos recordar en relación con la operación OR y las
compuertas OR son:
EJEMPLO 3-1 En muchos sistemas de control industriales se requiere activar una función de salida
cada vez que se activa una de varias entradas. Por ejemplo, en un proceso químico tal
vez sea conveniente que se active una alarma cada vez que la temperatura del proce-
so exceda un valor máximo O cada vez que la presión pase cierto límite. La figura 3-4
es un diagrama de bloques del caso descrito. El circuito transductor de temperatura
produce un voltaje de salida proporcional a la temperatura del proceso. Este voltaje
VT se compara con un voltaje de referencia de temperatura VTR en un circuito com-
parador de voltajes. Por lo general, la salida del comparador TH es de un voltaje bajo
(0 lógico) pero cambia a un voltaje alto (1 lógico) cuando VT excede a VTR, lo cual
indica que la temperatura del proceso es demasiado alta. Para la medición de pre-
sión se utiliza un arreglo similar, de manera que su salida asociada del comparador
PH cambie de BAJO a ALTO cuando la presión es demasiado alta.
VTR Alarma
Transductor VP
PH
de presión Comparador
Proceso químico
VPR
Dado que se quiere que la alarma se active cuando la temperatura o la presión estén
demasiado altas, es indudable que las dos salidas del comparador pueden alimen-
tarse a una compuerta OR. Por ende, la salida de la compuerta OR cambia a ALTO
(1) para cualquiera de las dos condiciones de alarma activándola. Es obvio que esta
misma idea puede extenderse a situaciones con más de dos variables del proceso.
SECCIÓN 3-3/OPERACIÓN OR CON COMPUERTAS OR 61
1
Salida
t0 t1 t2 t3 t4 t5 t6 t7
Tiempo
Solución
La salida de la compuerta OR estará en ALTO siempre que cualquiera de las entra-
das esté en ALTO. Entre los tiempos t0 y t1 ambas entradas están en BAJO, por lo
cual SALIDA BAJO. En t1 la entrada A cambia a ALTO mientras que la entrada B
permanece en BAJO. Esto hace que SALIDA cambie a ALTO en t1 y permanezca así
hasta t4, ya que durante este intervalo una o ambas entradas están en ALTO. En t4 la
entrada B cambia de 1 a 0, por lo que ambas entradas están en BAJO haciendo que
SALIDA cambie nuevamente a BAJO. En t5 A cambia a ALTO, con lo cual SALIDA
regresa a BAJO y permanece así durante el resto del tiempo mostrado.
EJEMPLO 3-3A Para la situación que se describe en la figura 3-6, determine la forma de onda en la
salida de la compuerta OR.
1 C
C
0
1
SAL
0 SAL
t1
Tiempo
Solución
Las tres entradas A, B y C de la compuerta OR están variando, según se muestra en
sus diagramas de tiempos. La salida de la compuerta OR se determina concluyendo
62 CAPÍTULO 3/DESCRIPCIÓN DE LOS CIRCUITOS LÓGICOS
que estará en ALTO cada vez que al menos una de las tres entradas esté en un nivel
ALTO. Si utilizamos este razonamiento, la forma de onda de la salida de la compuer-
ta OR es como se muestra en la figura. Se debe poner especial atención a lo que
ocurre en el tiempo t1. El diagrama muestra que, en ese instante, la entrada A está
cambiando de ALTO a BAJO mientras que la entrada B está cambiando de BAJO a
ALTO. Como estas entradas están realizando sus transiciones casi al mismo tiempo,
y como estas transiciones tardan cierta cantidad de tiempo, hay un pequeño inter-
valo durante el cual estas entradas de la compuerta OR se encuentran en la región
indefinida entre 0 y 1. Cuando esto ocurre, la salida de la compuerta OR también
adquiere un valor en este intervalo, como se puede ver por la deformación o pico
en la forma de onda de salida en t1. La ocurrencia de esta deformación y su tamaño
(amplitud y anchura) dependen de la velocidad con la que ocurren las transiciones
de entrada.
EJEMPLO 3-3B ¿Qué le pasaría a la deformación en la salida de la figura 3-6 si la entrada C se asen-
tara en el estado ALTO mientras que A y B estuvieran cambiando en el tiempo t1?
Solución
Con la entrada C en nivel ALTO en t1 la salida de la compuerta OR permanecerá en
ese estado sin importar lo que ocurra en las otras entradas, ya que cualquier entrada
en ALTO mantendrá la salida de la compuerta OR en ALTO. Por lo tanto, la deforma-
ción no aparecerá en la salida.
PREGUNTAS DE REPASO
1. ¿Cuál es el único conjunto de condiciones de entrada que producirá una salida
en BAJO para cualquier compuerta OR?
2. Escriba la expresión booleana para una compuerta OR de seis entradas.
3. Si la entrada A en la figura 3-6 se mantiene de manera permanente en el nivel 1,
¿cuál será la forma de onda de salida?
Compuerta AND
La figura 3-7(b) muestra el símbolo lógico para una compuerta AND de dos entradas.
La salida de la compuerta AND es igual al producto AND de las entradas lógicas;
es decir, x AB. En otras palabras, la compuerta AND es un circuito que opera de
manera que su salida esté en ALTO sólo cuando todas sus entradas se encuentren en
ALTO. Para todos los demás casos, la salida de la compuerta AND estará en BAJO.
Esta misma operación es característica de compuertas AND con más de dos
entradas. Por ejemplo, la figura 3-8 muestra una compuerta AND de tres entradas y
su tabla de verdad correspondiente. Una vez más, observe que la salida de la com-
puerta es 1 sólo para el caso en el que A B C 1. La expresión para la salida es
x ABC. Para una compuerta AND de cuatro entradas, la salida es x ABCD, y así
sucesivamente.
FIGURA 3-8 Tabla de A B C x = ABC
verdad y símbolo para 0 0 0 0
una compuerta AND de 0 0 1 0
tres entradas. 0 1 0 0 A
0 1 1 0 B x = ABC
1 0 0 0 C
1 0 1 0
1 1 0 0
1 1 1 1
EJEMPLO 3-4 Determine la salida x de la compuerta AND en la figura 3-9, para las formas de onda
de entrada dadas.
FIGURA 3-9 EJEMPLO 1
3-4. A
0 A x = AB
1 B
B
0
1
x
0
t0 t1 t2 t3 t4 t5 t6 t7
Solución
La salida de una compuerta AND se determina con base en la consideración de
que estará en ALTO sólo cuando todas las entradas se encuentren en ALTO al mis-
mo tiempo. Para las formas de onda de entrada dadas, la condición se cumple sólo
durante los intervalos t2 t3 y t6t7. En todos los demás intervalos, sólo una o más
de las entradas son 0, con lo cual se produce una salida en BAJO. Observe que los
cambios en el nivel de entrada que se producen mientras la otra entrada está en
BAJO no tienen efecto sobre la salida.
EJEMPLO 3-5A Determine la forma de onda de salida para la compuerta AND que se muestra en la
figura 3-10.
FIGURA 3-10 Ejemplos 3-5A y 3-5B. A A
x
B B
x
Solución
La salida x será 1 sólo cuando A y B se encuentren en ALTO al mismo tiempo. Si nos
basamos en este hecho podemos determinar la forma de onda de x como se muestra
en la figura.
Observe que la forma de onda de x es 0 siempre que B es 0, sin importar el nivel
de la señal en A. Observe también que siempre que B es 1, la forma de onda de x es
igual que la de A. En consecuencia podemos considerar la entrada B como una entra-
da de control cuyo nivel lógico determina si la forma de onda de A pasa o no hacia la
salida x. En esta situación, la compuerta AND se utiliza como un circuito inhibidor.
Podemos decir que B 0 es la condición de inhibición que produce una salida de 0.
Por otro lado, B 1 es la condición de habilitación, la cual permite que A llegue a la
salida. Esta operación de inhibición es una aplicación importante de las compuertas
AND, que veremos más adelante con mayor detalle.
EJEMPLO 3-5B ¿Cómo se modifica la forma de onda de la salida x en la figura 3-10 si la entrada B
se mantiene en el nivel 0?
Solución
Con B en BAJO, la salida x también permanecerá en BAJO. Esto puede razonarse de
dos maneras distintas. Primero, con B 0 tenemos que x AB A0 0, ya que
SECCIÓN 3-5/OPERACIÓN NOT 65
cualquier cosa que se multiplique por 0 (AND) será igual a 0. Otra manera de ver
esto es que una compuerta AND requiere que todas las entradas estén en ALTO para
que la salida esté en ALTO, y esto no puede ocurrir si B se mantiene en BAJO.
PREGUNTAS DE REPASO 1. ¿Cuál es la única combinación de entrada que producirá un nivel ALTO en la
salida de una compuerta AND de cinco entradas?
2. ¿Qué nivel lógico debe aplicarse a la segunda entrada de una compuerta AND
de dos entradas si se desea inhibir la señal lógica en la primera entrada para
evitar que llegue a la salida?
3. Verdadero o falso: la salida de una compuerta AND siempre será distinta de la
salida de una compuerta OR para las mismas condiciones de entrada.
xA
En donde la barra superior representa la operación NOT. Esta expresión se lee como
“x es igual a NOT A” o “x es igual al inverso de A” o “x es igual al complemento de A”.
Cada una de estas expresiones es de uso común y todas indican que el valor lógico
de x A es el opuesto del valor lógico de A. La tabla de verdad de la figura 3-11(a)
aclara esto para los dos casos en que A 0 y A 1. Esto es,
01 porque 0 no es 1
10 porque 1 no es 0
A A
(b)
66 CAPÍTULO 3/DESCRIPCIÓN DE LOS CIRCUITOS LÓGICOS
APLICACIÓN 3-1 La figura 3-12 muestra una aplicación ordinaria de la compuerta NOT. El botón está
cableado para producir un 1 lógico (verdadero) cuando se oprime. Algunas veces es
conveniente saber si el botón no está oprimido, por lo que este circuito proporciona
una expresión que es verdadera cuando el botón no está oprimido.
FIGURA 3-12 Una +5 V
compuerta NOT que
indica que un botón no Nivel lógico 1 (verdadero) cuando está oprimido
está oprimido cuando su Botón (falso cuando el botón no está oprimido).
salida es verdadera.
Oprimido
No oprimido
OR AND NOT
000 000 01
011 010 10
101 100
111 111
PREGUNTAS DE REPASO 1. La salida del INVERSOR de la figura 3-11 está conectada a la entrada de un
segundo INVERSOR. Determine el nivel de salida del segundo INVERSOR para
cada nivel de entrada A.
2. La salida de la compuerta AND de la figura 3-7 está conectada a la entrada de
un INVERSOR. Escriba la tabla de verdad que muestre la salida, y, del INVER-
SOR para cada combinación de entradas A y B.
(b)
Precedencia de operadores
En ocasiones puede haber confusión acerca de cuál operación debe llevarse a cabo
primero en una expresión. La expresión A B C puede interpretarse de dos mane-
ras: (1) Se aplica un OR entre A B y el término C; o (2) Se aplica un AND entre A
y el término B C. Para evitar esta confusión debe quedar claro que si una expre-
sión contiene las operaciones AND y OR, la operación AND se realiza primero, a
menos que haya paréntesis en la expresión, en cuyo caso la operación encerrada
entre paréntesis es la que se debe realizar primero. Esta regla es la misma que se
utiliza en el álgebra ordinaria para determinar el orden de las operaciones.
Para ilustrar mejor este concepto, considere el circuito de la figura 3-13(b). La
expresión para la salida de la compuerta OR es A B. Esta salida sirve como entra-
da para la compuerta AND junto con otra entrada C. Por ende, expresamos la salida
de la compuerta AND como x (A B) C. Observe el uso de los paréntesis aquí
para indicar que primero se aplica la operación OR entre A y B, antes de que a su
suma OR se le aplique un AND con C. Sin los paréntesis se interpretaría de manera
incorrecta, ya que A BC significa que a la entrada A se le aplica un OR con el
producto B C.
FIGURA 3-14 A
Circuitos que utilizan A x=A+B A A+B
INVERSORES.
B B x=A+B
(a) (b)
68 CAPÍTULO 3/DESCRIPCIÓN DE LOS CIRCUITOS LÓGICOS
A
A ABC
B
C
x = ABC ( A + D)
A A+D
A+D
(a)
A A+B
( A + B) C ( A + B) C
B
C
D + ( A + B)C
D
x = [D + ( A + B) C] • E
(b)
FIGURA 3-15 Más ejemplos.
PREGUNTAS DE REPASO 1. En la figura 3-15(a) cambie cada compuerta AND por una compuerta OR, y cam-
bie la compuerta OR por una compuerta AND. Después escriba la expresión
para la salida x.
2. En la figura 3-15(b) cambie cada compuerta AND por una compuerta OR y cada
compuerta OR por una compuerta AND. Después escriba la expresión para la
salida x.
x = ABC(A + D)
= 0 # 1 # 1 # (0 + 1)
= 1 # 1 # 1 # (0 + 1)
= 1 # 1 # 1 # (1)
= 1#1#1#0
= 0
Como otro ejemplo, vamos a evaluar la salida del circuito de la figura 3-15(b) para
A 0, B 0, C 0, D 1 y E 1.
x = [D + (A + B)C] # E
= [1 + (0 + 0) # 1] # 1
= [1 + 0 # 1] # 1
= [1 + 0] # 1
= [1 + 1] # 1
= 1#1
= 1
En general, siempre debemos seguir las siguientes reglas cuando se evalúa una
expresión booleana:
Como práctica, determine las salidas de ambos circuitos de la figura 3-15 para
el caso en el que todas las entradas sean 1. Las respuestas son x 0 y x 1, respec-
tivamente.
Recuerde que una tabla de verdad lista todas las posibles combinaciones de las
entradas en orden numérico. Para cada combinación posible de entrada, podemos
determinar el estado lógico en cada punto (nodo) del circuito lógico, incluyendo la
salida. Consulte la figura 3-16(a). Hay varios nodos intermedios en este circuito, los
cuales no son entradas ni salidas. Tan sólo son conexiones entre la salida de una
compuerta y la entrada de otra. En este diagrama se han etiquetado como u, v y w.
El primer paso después de listar todas las combinaciones de entradas es crear una
columna en la tabla de verdad para cada señal intermedia (nodo), como se muestra
en la figura 3-16(b). El nodo u se ha llenado como el complemento de A.
70 CAPÍTULO 3/DESCRIPCIÓN DE LOS CIRCUITOS LÓGICOS
(a)
A B C u= v= w= x= A B C u= v= w= x=
A AB BC v+w A AB BC v+w
0 0 0 1 0 0 0 1 0
0 0 1 1 0 0 1 1 0
0 1 0 1 0 1 0 1 1
0 1 1 1 0 1 1 1 1
1 0 0 0 1 0 0 0 0
1 0 1 0 1 0 1 0 0
1 1 0 0 1 1 0 0 0
1 1 1 0 1 1 1 0 0
(b) (c)
A B C u= v= w= x= A B C u= v= w= x=
A AB BC v+w A AB BC v+w
0 0 0 1 0 0 0 0 0 1 0 0 0
0 0 1 1 0 0 0 0 1 1 0 0 0
0 1 0 1 1 0 0 1 0 1 1 0 1
0 1 1 1 1 1 0 1 1 1 1 1 1
1 0 0 0 0 0 1 0 0 0 0 0 0
1 0 1 0 0 0 1 0 1 0 0 0 0
1 1 0 0 0 0 1 1 0 0 0 0 0
1 1 1 0 0 1 1 1 1 0 0 1 1
(d) (e)
EJEMPLO 3-6 Analice la operación de la figura 3-15(a) mediante la creación de una tabla que
muestre el estado lógico en cada nodo del circuito.
Solución
Para llenar la columna t, escriba un 1 para todas las entradas en las que A 0
Y B 1 y C 1.
Para llenar la columna u, escriba un 1 para todas las entradas en las que A 1
O D 1.
Para llenar la columna v, complete todas las entradas de la columna u.
Para llenar la columna x, escriba un 1 para todas las entradas en las que t 1
y v 1.
0 0 0 0 0 0 1 0
0 0 0 1 0 1 0 0
0 0 1 0 0 0 1 0
0 0 1 1 0 1 0 0
0 1 0 0 0 0 1 0
0 1 0 1 0 1 0 0
0 1 1 0 1 0 1 1
0 1 1 1 1 1 0 0
1 0 0 0 0 1 0 0
1 0 0 1 0 1 0 0
1 0 1 0 0 1 0 0
1 0 1 1 0 1 0 0
1 1 0 0 0 1 0 0
1 1 0 1 0 1 0 0
1 1 1 0 0 1 0 0
1 1 1 1 0 1 0 0
PREGUNTAS DE REPASO
1. Use la expresión de x para determinar la salida del circuito de la figura 3-15(a),
para las condiciones en que A 0, B 1, C 1 y D 0.
2. Use la expresión de x para determinar la salida del circuito de la figura 3-15(b),
para las condiciones en que A B E 1 y C D 0.
3. Determine las respuestas a las preguntas 1 y 2 encontrando los niveles lógicos
presentes en la salida de cada compuerta mediante el uso de una tabla, como en
la figura 3-16.
A AC
C
B
B BC
C y = AC + BC + ABC
C
A
B ABC
C
(b)
EJEMPLO 3-7 Dibuje el diagrama del circuito para implementar la expresión x (A B)(B C).
Solución
Esta expresión muestra que los términos A B y B C son entradas para una com-
puerta AND, y cada uno de estos términos se genera a partir de una compuerta OR
separada. La figura 3-18 muestra un dibujo del resultado.
B
B+C
C
SECCIÓN 3-9/COMPUERTAS NOR Y NAND 73
PREGUNTAS DE REPASO 1. Dibuje el diagrama del circuito que implemente la expresión x ABC(A D)
mediante el uso de compuertas con no más de tres entradas.
2. Dibuje el diagrama del circuito para la expresión y AC BC ABC.
3. Dibuje el diagrama del circuito para x [D (A B)C)] E.
Compuerta NOR
La figura 3-19(a) muestra el símbolo para una compuerta NOR de dos entradas. Es
igual que el símbolo de la compuerta OR, sólo que tiene un pequeño círculo en la
salida. El pequeño círculo representa la operación de inversión. Por ello, la compuer-
ta NOR opera de manera similar a una compuerta OR seguida de un INVERSOR, de
manera que los circuitos en las figuras 3-19(a) y (b) son equivalentes, y la expresión
de salida para la compuerta NOR es x A B.
A A+B x=A+B
(b)
OR NOR
A B A+B A+B
0 0 0 1
0 1 1 0
1 0 1 0
1 1 1 0
(c)
EJEMPLO 3-8 Determine la forma de onda en la salida de una compuerta NOR para las formas de
onda de entrada que se muestran en la figura 3-20.
1 B
B
0
1
x
0
Solución
Una manera de determinar la forma de onda de salida NOR es encontrando primero
la forma de onda de salida OR y luego invirtiéndola (cambiar todos los 1s por 0s y
viceversa). Otro sistema utiliza el hecho de que la salida de una compuerta NOR
estará en ALTO sólo cuando todas sus entradas estén en BAJO. Por lo tanto, pue-
de examinar las formas de onda de entrada, encontrar esos intervalos en los que
todas están en BAJO, y hacer que la salida de la compuerta NOR esté en ALTO para
esos intervalos. La salida de la compuerta NOR estará en BAJO para todos los demás
intervalos. La figura muestra la forma de onda de salida resultante.
EJEMPLO 3-9 Determine la expresión booleana para una compuerta NOR de tres entradas, segui-
da de un INVERSOR.
Solución
Consulte la figura 3-21, en donde se muestra el diagrama del circuito. La expresión
en la salida de la compuerta NOR es (A B C), la cual se alimenta después a tra-
vés de un INVERSOR para producir
x = (A + B + C)
x = (A + B + C) = (A + B + C)
Siempre que hay dos barras de inversión sobre la misma variable o cantidad, una
cancela a la otra, como en el ejemplo anterior. No obstante, en casos tales como
A B las barras de inversión no se cancelan. Esto se debe a que las barras de inver-
sión más pequeñas invierten las variables individuales A y B, mientras que la barra
larga invierte la cantidad (A B). En consecuencia, A B A B. De manera
similar, A B AB.
Compuerta NAND
La figura 3-22(a) muestra el símbolo para una compuerta NAND de dos entradas. Es
el mismo que el de la compuerta AND más un pequeño círculo en la salida. De nue-
vo, este pequeño círculo denota la operación de inversión. Así, la compuerta NAND
opera igual que una compuerta AND seguida de un INVERSOR, de manera que los
circuitos de la figura 3-22(a) y (b) son equivalentes y la expresión de salida para la
compuerta NAND es x AB.
FIGURA 3-22 x = AB
(a) Símbolo NAND; A
AND NAND
(b) circuito equivalente;
(c) tabla de verdad. B
Indica A B AB AB
inversión 0 0 0 1
(a) 0 1 0 1
1 0 0 1
1 1 1 0
A AB AB
(c)
B
(b)
EJEMPLO 3-10 Determine la forma de onda de salida de una compuerta NAND que tiene las entra-
das que se muestran en la figura 3-23.
Solución
Una manera es dibujar primero la forma de onda de salida para una compuerta
AND y después invertirla. Otra técnica utiliza el hecho de que una salida NAND
estará en BAJO sólo cuando todas las entradas estén en ALTO. De esta forma, puede
encontrar todos esos intervalos durante los cuales todas las entradas están en ALTO
y hacen que la salida NAND esté en BAJO para esos intervalos. La salida estará en
ALTO en todos los demás tiempos.
76 CAPÍTULO 3/DESCRIPCIÓN DE LOS CIRCUITOS LÓGICOS
EJEMPLO 3-11
Implemente el circuito lógico que tiene la expresión x AB (C D) utilizando sólo
compuertas NOR y NAND.
Solución
El término (C D) es la expresión para la salida de una compuerta NOR. A este tér-
mino se le aplica la operación NAND junto con A y B, y el resultado se invierte; ésta
es, desde luego, la operación NAND. Así, el circuito se implementa como se muestra
en la figura 3-24. Observe que la compuerta NAND primero aplica un AND a los tér-
minos A, B y (C D), y después invierte todo el resultado.
FIGURA 3-24 1
Ejemplos 3-11 y 3-12. C C+D 0
0 1
D 1 x = AB(C + D)
B
1
A
Solución
En el primer método utilizamos la expresión para x.
x = AB(C + D)
= 1 # 1 # (1 + 0)
= 1 # 1 # (1)
= 1#1#0
= 0 = 1
PREGUNTAS DE REPASO 1. ¿Cuál es el único conjunto de condiciones de entrada que producirá una salida
en ALTO en una compuerta NOR de tres entradas?
2. Determine el nivel de salida en la figura 3-24 cuando A B 1, C D 0.
3. Cambie la compuerta NOR de la figura 3-24 por una compuerta NAND y cam-
bie la compuerta NAND por una compuerta NOR. ¿Cuál es la nueva expresión
para x?
x x
0 x
0 0
(1) x•0=0 (5) x+0=x
x x
x 1
1 1
(9) xyyx
(10) x#y = y#x
78 CAPÍTULO 3/DESCRIPCIÓN DE LOS CIRCUITOS LÓGICOS
(11) x (y z) (x y) z x y z
(12) x(yz) (xy)z xyz
(13a) x(y z) xy xz
(13b) (w x)(y z) wy xy wz xz
(14) x xy x
(15a) x + xy = x + y
(15b) x + xy = x + y
Los teoremas (9) y (10) se conocen como leyes conmutativas, ya que indican que el
orden en el que se aplican las operaciones OR y AND a dos variables no importa;
el resultado es el mismo.
Los teoremas (11) y (12) son las leyes asociativas, las cuales establecen que pode-
mos agrupar las variables en una expresión AND o en una expresión OR de cual-
quier forma que necesitemos.
El teorema (13) es la ley distributiva, la cual establece que para expandir una
expresión se multiplica término por término, de igual forma que en el álgebra ordi-
naria. Este teorema también indica que podemos factorizar una expresión. Esto es,
si tenemos una suma de dos (o más) términos, cada uno de los cuales contiene una
variable común, esta variable común puede factorizarse de igual forma que en el
álgebra ordinaria. Por ejemplo, si tenemos la expresión ABC A B C podemos facto-
rizar la variable B:
ABC + A B C = B(AC + A C)
Como otro ejemplo, considere la expresión ABC ABD. Aquí los dos términos tienen
en común las variables A y B, por lo que AB puede factorizarse de ambos términos.
Esto es,
Los teoremas (9) a (13) son fáciles de recordar y de utilizar, ya que son idénticos
a los del álgebra ordinaria. Por otro lado, los teoremas (14) y (15) no tienen contra-
partes en el álgebra ordinaria. Para demostrar cada uno de ellos hay que probar
todos los casos posibles para x y y. Para ilustrar lo anterior (para el teorema 14)
vamos a crear una tabla de análisis para la ecuación x xy, como se muestra a con-
tinuación:
x y xy x xy
0 0 0 0
0 1 0 0
1 0 0 1
1 1 1 1
x xy x(1 y)
x1 [usando el teorema (6)]
x [usando el teorema (2)]
Todos estos teoremas booleanos pueden ser útiles para simplificar una expre-
sión lógica; es decir, para reducir el número de términos en la expresión. Con esto,
la expresión reducida produce un circuito que es menos complejo que el que habría
producido la expresión original. Una buena porción del siguiente capítulo estará
dedicada al proceso de simplificación de los circuitos. Por ahora, los siguientes
SECCIÓN 3-10/TEOREMAS BOOLEANOS 79
ejemplos servirán para ilustrar cómo pueden aplicarse los teoremas booleanos.
Nota: encontrará todos los teoremas booleanos en la parte interior de la cubierta
posterior del libro.
Solución
Factorice las variables comunes AB mediante el uso del teorema (13):
y AB(D D)
y AB 1
AB [utilizando el teorema (2)]
Solución
Podemos expandir la expresión si multiplicamos los términos [teorema (13)]:
zAAABBABB
z 0 A B B A B AB AB B
z B(A A 1)
zB
Solución
Si factorizamos las variables comunes CD, tenemos que
x CD(A AB)
x CD(A B)
ACD BCD
80 CAPÍTULO 3/DESCRIPCIÓN DE LOS CIRCUITOS LÓGICOS
PREGUNTAS DE REPASO
1. Use los teoremas (13) y (14) para simplificar y AC ABC.
2. Use los teoremas (13) y (8) para simplificar y A B C D A B C D.
3. Use los teoremas (13) y (15b) para simplificar y AD ABD.
(16) (x y) x y
(17) (x y) x y
(AB + C) = (AB) # C
AB # C = (A + B) # C
(A + B) # C = A C + BC
Este resultado final sólo contiene signos de inversión para invertir una sola variable.
EJEMPLO 3-16
Simplifique la expresión z (A C) (B D) en una en la que sólo haya variables
individuales invertidas.
Solución
Si utilizamos el teorema (17) y tratamos a (A C) como x y a (B D) como y, tene-
mos que
z = (A + C) + (B + D)
SECCIÓN 3-11/TEOREMAS DE DEMORGAN 81
z = (A + C) + (B + D)
= (A # C) + B # D
z = AC + BD
Ejemplo 1 Ejemplo 2
z = A + B#C 1A + BC2 1D + EF2
= A # (B # C) = (A + BC) + (D + EF)
= A # (B + C) = (A # BC) + (D # EF)
= A # (B + C) = [A # (B + C)] + [D # (E + F)]
= AB + AC + DE + DF
x + y + z = x#y#z
x#y#z = x + y + z
Aquí podemos ver que el signo inversor grande se descompone en dos puntos de la
expresión y que el signo del operador se cambia por su opuesto. Esto puede exten-
derse a cualquier número de variables. De nuevo, debemos tener en cuenta que las
variables en sí pueden ser expresiones, en lugar de variables individuales. A conti-
nuación se muestra otro ejemplo.
x = AB # CD # EF
= AB + CD + EF
AB CD EF
x + y = x#y
FIGURA 3-26 x
x x
(a) Circuitos x•y=x+y
x+y y
equivalentes implicados y y
por el teorema (16);
(b) símbolo alternativo
para la función NOR. (a)
x
x•y=x+y
y
(b)
x#y = x + y
FIGURA 3-27 x
x x
(a) Circuitos xy x + y = xy
equivalentes implicados y
y y
por el teorema (17);
(b) símbolo alternativo
para la función NAND. (a)
x
x + y = xy
y
(b)
EJEMPLO 3-17 Determine la expresión de salida para el circuito de la figura 3-28 y simplifíquelo
mediante el uso de los teoremas de DeMorgan.
C
C
SECCIÓN 3-12/UNIVERSALIDAD DE LAS COMPUERTAS NAND Y NOR 83
Solución
La expresión para z es z ABC. Utilizamos el teorema de DeMorgan para descompo-
ner el signo de inversión grande:
z = A + B + C
z = A + B + C
PREGUNTAS DE REPASO
1. Utilice los teoremas de DeMorgan para convertir la expresión z (A B) C por
una que sólo tenga inversiones de variables individuales.
2. Repita la pregunta 1 para la expresión y RST Q.
3. Implemente un circuito que tenga la expresión de salida z A B C utilizando
sólo una compuerta NOR y un INVERSOR.
4. Use los teoremas de DeMorgan para convertir y A B CD en una expresión
que contenga sólo inversiones de variables individuales.
A x=A•A=A
A
(a) INVERSOR
A AB x = AB A
1 2
B B
(b) AND
A A
1
x=AB=A+B A
3
B B B
2
(c) OR
FIGURA 3-29 Las compuertas NAND pueden usarse para implementar cualquier función
booleana.
84 CAPÍTULO 3/DESCRIPCIÓN DE LOS CIRCUITOS LÓGICOS
A x=A+A=A
(a)
INVERSOR
A A+B A+B
1 2 A
B
B
(b) OR
A A
1
x = A + B = AB
3 A
B B B
2
(c) AND
FIGURA 3-30 Las compuertas NOR pueden utilizarse para implementar cualquier operación
booleana.
En la figura 3-30(b) hay dos compuertas NOR conectadas de tal forma que se
lleve a cabo la operación OR. La compuerta NOR 2 se utiliza como un INVERSOR
para cambiar A B por A B A B, que es la función OR deseada.
La operación AND puede implementarse con compuertas NOR, como se muestra
en la figura 3-30(c). Aquí las compuertas NOR 1 y 2 se utilizan como INVERSORES
para las entradas de manera que la salida final sea x A B, que puede simplificar-
se, mediante el uso del teorema de DeMorgan, como x A B.
Como cualquiera de las operaciones booleanas pueden implementarse con sólo
utilizar compuertas NAND, puede construirse cualquier circuito si se utilizan sólo com-
puertas NAND. Lo mismo aplica para las compuertas NOR. Esta característica de las
compuertas NAND y NOR puede ser muy útil en el diseño de circuitos lógicos, como se
muestra en el ejemplo 3-18.
EJEMPLO 3-18 En cierto proceso de manufactura, una banda transportadora se apaga cada vez que
ocurren determinadas condiciones, las cuales se supervisan y reflejan con base en
SECCIÓN 3-12/UNIVERSALIDAD DE LAS COMPUERTAS NAND Y NOR 85
14 13 12 11 10 9 8
VCC
74LS00
GND
1 2 3 4 5 6 7
14 13 12 11 10 9 8 14 13 12 11 10 9 8
VCC VCC
74LS32 74LS08
GND GND
1 2 3 4 5 6 7 1 2 3 4 5 6 7
Solución
El método directo para implementar la expresión obtenida utiliza dos compuertas
AND y una compuerta OR, como se muestra en la figura 3-32(a). Esta implementa-
ción utiliza dos compuertas del CI 74LS08 y una sola compuerta del CI 74LS32. Los
números entre paréntesis en cada entrada y salida son los números de terminal del
CI respectivo, los cuales siempre se muestran en cualquier diagrama de cableado
de circuitos lógicos. Para nuestros fines, la mayoría de los diagramas lógicos no mos-
trarán los números de terminal a menos que se necesiten en la descripción de la
operación del circuito.
Se puede lograr otra implementación si se toma el circuito de la figura 3-32(a)
y se sustituye cada compuerta AND y OR por la implementación equivalente con la
compuerta NAND de la figura 3-29. El resultado se muestra en la figura 3-32(b).
A primera vista, este nuevo circuito parece requerir siete compuertas NAND.
No obstante, las compuertas NAND 3 y 5 están conectadas como INVERSORES en
serie y pueden eliminarse del circuito, ya que realizan una doble inversión de la
señal que sale de la compuerta NAND 1. De manera similar, las compuertas NAND
4 y 6 pueden eliminarse. En la figura 3-32(c) se muestra el circuito final, después de
eliminar los dobles INVERSORES.
Este circuito final es más eficiente que el de la figura 3-32(a), ya que utiliza tres
compuertas NAND de dos entradas que están incluidas en un solo CI, el 74LS00.
86 CAPÍTULO 3/DESCRIPCIÓN DE LOS CIRCUITOS LÓGICOS
AND
A
1 3 5
B
(b) 7 x
C
2 4 6
D
AND OR
Después de eliminar
las inversiones dobles
(1) 74LS00
A (3)
(2)
B 74LS00
(9)
(8)
(10) x
(c)
(4) 74LS00
C (6)
(5)
D
PREGUNTAS DE REPASO 1. ¿Cuántas maneras tenemos ahora para implementar la operación de inversión
en un circuito lógico?
2. Implemente la expresión x (A B)(C D) mediante el uso de compuertas OR
y AND. Implemente después la expresión utilizando sólo compuertas NOR, con-
virtiendo cada compuerta OR y AND a su implementación con NOR de la figura
3-30. ¿Cuál circuito es más eficiente?
3. Escriba la expresión de salida para el circuito de la figura 3-32(c) y utilice los
teoremas de DeMorgan para demostrar que es equivalente a la expresión para
el circuito de la figura 3-32(a).
utilicen estos símbolos estándar de manera exclusiva, cada vez es más común encon-
trar diagramas de circuitos en los que se emplean los símbolos lógicos alternativos
además de los símbolos estándar.
Antes de hablar sobre las razones para utilizar un símbolo alternativo para una
compuerta lógica, presentaremos los símbolos alternativos para cada compuerta
y demostraremos que son equivalentes a los símbolos estándar. Consulte la figura
3-33; el lado izquierdo muestra el símbolo estándar para cada compuerta lógica y el
lado derecho muestra el símbolo alternativo. El símbolo alternativo para cada com-
puerta se obtiene a partir del símbolo estándar mediante el siguiente proceso:
1. Invertir cada entrada y salida del símbolo estándar. Para ello se agregan bur-
bujas (pequeños círculos) en las entradas y salidas que no tienen burbujas y se
quitan las de las entradas y salidas que si tienen.
2. Cambiar el símbolo de la operación de AND a OR, o de OR a AND. En el caso
especial del INVERSOR, el símbolo de la operación no se cambia.
FIGURA 3-33 A A
A•B
Símbolos estándar y AND A + B = AB
alternativos para varias B B
compuertas lógicas y
para el inversor.
A A+B A
OR A•B=A+B
B B
A AB A
NAND A + B = AB
B B
A A+B A
NOR A•B=A+B
B B
A
INV A A A
Por ejemplo, el símbolo NAND estándar es un símbolo AND con una burbuja
en su salida. Siguiendo los pasos antes mencionados, eliminamos la burbuja de la
salida y agregamos una en cada entrada. Después cambiamos el símbolo AND por
un símbolo OR. El resultado es un símbolo OR con burbujas en sus entradas.
Podemos demostrar con facilidad que este símbolo alternativo es equivalente
al símbolo estándar mediante el uso de los teoremas de DeMorgan y recordando
que la burbuja representa una operación de inversión. La expresión de salida del
símbolo NAND estándar es AB A B, que es lo mismo que la expresión de salida
para el símbolo alterno. Podemos seguir este mismo procedimiento para cada par de
símbolos de la figura 3-33.
Debemos recalcar varios puntos en relación con las equivalencias de los símbo-
los lógicos:
La salida cambia a BAJO sólo cuando todas las entradas están en ALTO.
Observe que esto dice que la salida cambiará a su estado activo sólo cuando
todas las entradas se encuentren en sus estados activos. Se utiliza la palabra todas
debido al símbolo AND.
(a)
El símbolo alterno para una compuerta NAND que se muestra en la figura 3-34(b)
tiene una salida activa en ALTO y entradas activas en BAJO, por lo que su operación
puede declararse así:
Esto quiere decir que la salida estará en su estado activo cuando cualquiera de
las entradas se encuentre en su estado activo. Se utiliza la palabra cualquiera debido
al símbolo OR.
Si lo analiza un poco, podrá ver que las dos interpretaciones para los símbolos
NAND de la figura 3-34 son maneras distintas de decir lo mismo.
SECCIÓN 3-14/CUÁL REPRESENTACIÓN DE COMPUERTA SE DEBE USAR 89
Resumen
En estos momentos tal vez se esté preguntando por qué la necesidad de tener dos
símbolos e interpretaciones distintas para cada una de las compuertas lógicas. Espe-
ramos que las razones para ello se aclaren después de que lea la siguiente sección.
Por ahora vamos a resumir los puntos importantes en relación con las representacio-
nes de las compuertas lógicas.
1. Para obtener el símbolo alternativo para una compuerta lógica, tome el símbolo
estándar y cambie su símbolo de operación (OR a AND, o AND a OR). Cambie
también las burbujas tanto en las entradas como en la salida (es decir, elimine
las burbujas que estén presentes y agregue otras en donde no haya).
2. Para interpretar la operación de una compuerta lógica, primero observe cuál
estado lógico (0 o 1) es el activo para las entradas y cuál es el activo para la sali-
da. Después tome en cuenta que el estado activo de la salida se produce al tener
todas las entradas en su estado activo (si se utiliza un símbolo AND) o cualquiera
de las entradas en su estado activo (si se utiliza un símbolo OR).
Solución
Los resultados se muestran en la figura 3-35. Observe que se utiliza la palabra cual-
quiera cuando el símbolo de operación es un OR y la palabra todas cuando se usa un
AND.
FIGURA 3-35 La salida cambia a ALTO
A A+B
Interpretación cuando cualquiera de sus
de los dos símbolos de B entradas se encuentra en ALTO.
compuerta OR. El estado ALTO
Activa en ALTO es el estado activo.
(a)
FIGURA 3-36 A
(a) Circuito original 1
que utiliza símbolos B
NAND estándar;
3 Z
(b) representación
equivalente en la C
cual la salida Z es 2
activa en ALTO; D A B C D Z
(c) representación 0 0 0 0 0
(a)
equivalente en la cual 0 0 0 1 0
la salida Z es activa 0 0 1 0 0
en BAJO; (e) tabla de 0 0 1 1 1
A X
verdad. 1 0 1 0 0 0
B 0 1 0 1 0
0 1 1 0 0
3 Z 0 1 1 1 1
1 0 0 0 0
C 1 0 0 1 0
2 Activa en ALTO
1 0 1 0 0
D Y
1 0 1 1 1
(b) 1 1 0 0 1
1 1 0 1 1
1 1 1 0 1
A 1 1 1 1 1
X
1
(d)
B
3 Z
C
2 Activa en BAJO
D Y
(c)
diagrama puede hacer mucho más clara la operación del circuito. Para ilustrar lo
anterior consideremos el ejemplo que se muestra en la figura 3-36.
El circuito de la figura 3-36(a) contiene tres compuertas NAND conectadas para
producir una salida Z que depende de las entradas A, B, C y D. El diagrama del cir-
cuito utiliza el símbolo estándar para cada una de las compuertas NAND. Aunque
la lógica de este diagrama es correcta, no facilita una comprensión de la manera en
que funciona el circuito. Sin embargo, las representaciones que se muestran en las
figuras 3-36(b) y (c) pueden analizarse con más facilidad para determinar la opera-
ción del circuito.
La representación de la figura 3-36(b) se obtiene a partir del diagrama del cir-
cuito original, sustituyendo la compuerta NAND 3 con su símbolo alternativo. En
este diagrama la salida Z se toma del símbolo de una compuerta NAND que tiene
una salida activa en ALTO. Por ende, podemos decir que Z cambiará a ALTO cuando
X o Y estén en BAJO. Ahora, como X y Y aparecen cada una en la salida de símbolos
NAND que tienen salidas activas en BAJO, podemos decir que X cambiará a BAJO
sólo si A B 1, y que Y cambiará a BAJO sólo si C D 1. Ahora podemos descri-
bir la operación del circuito de la siguiente manera:
EJEMPLO 3-20 El circuito lógico de la figura 3-37(a) se utiliza para activar una alarma cuando la
salida Z cambie a ALTO. Modifique el diagrama del circuito de manera que repre-
sente la operación del mismo de una manera más eficiente.
A A
Z Z
B 2 ALARMA B 2 ALARMA
C C
1 1
D D
(a) (b)
FIGURA 3-37 Ejemplo 3-20.
92 CAPÍTULO 3/DESCRIPCIÓN DE LOS CIRCUITOS LÓGICOS
Solución
Como la condición Z 1 activa la alarma, Z debe ser activa en ALTO. Por ende, el
símbolo de la compuerta AND 2 no tiene que cambiarse. El símbolo de la compuerta
NOR debe cambiarse por su símbolo alternativo con una salida sin burbuja (activa
en ALTO) para que concuerde con la entrada sin burbuja de la compuerta AND 2,
como se muestra en la figura 3-37(b). Observe que ahora el circuito tiene salidas sin
burbuja conectadas a las entradas sin burbuja de la compuerta 2.
EJEMPLO 3-21 Cuando la salida del circuito lógico de la figura 3-38(a) cambia a BAJO, activa otro
circuito lógico. Modifique el diagrama del circuito para representar la operación del
mismo más eficazmente.
C Z C Z
2 2
D D
E E
(a) (b)
Solución
Como Z debe ser activa en BAJO, debemos cambiar el símbolo para la compuerta
OR 2 por su símbolo alterno, como se muestra en la figura 3-38(b). El nuevo símbolo
de la compuerta OR 2 tiene entradas con burbujas, por lo que los símbolos de la
compuerta AND y de la compuerta OR 1 deben cambiarse por símbolos que tengan
salidas con burbuja, como se muestra en la figura 3-38(b). El INVERSOR ya tiene
una salida con burbuja. Ahora el circuito tiene todas sus salidas con burbuja conec-
tadas a las entradas con burbuja de la compuerta OR 2.
Análisis de circuitos
Cuando se dibuja el diagrama esquemático de un circuito lógico utilizando las reglas
que hemos seguido en estos ejemplos, es mucho más fácil para un ingeniero, técnico
o estudiante seguir el flujo de la señal a través del circuito y determinar las condi-
ciones de entrada necesarias para activar la salida. Ilustraremos esto en los siguien-
tes ejemplos que, por coincidencia, utilizan diagramas de circuitos tomados de los
diagramas esquemáticos lógicos de una microcomputadora real.
EJEMPLO 3-22 El circuito lógico de la figura 3-39 genera una salida llamada MEM que se utili-
za para activar los circuitos integrados de memoria en cierta microcomputadora.
Determine las condiciones de entrada necesarias para activar a MEM.
SECCIÓN 3-14/CUÁL REPRESENTACIÓN DE COMPUERTA SE DEBE USAR 93
ROM-A W
ROM-B
Y
RAM
V
Solución
Una manera de hacerlo sería escribir la expresión para MEM en términos de las
entradas RD, ROM-A, ROM-B y RAM, y evaluarla para las 16 combinaciones posibles
de estas entradas. Aunque este método sí funcionaría, se requeriría mucho más tra-
bajo del necesario.
Un método más eficiente es interpretar el diagrama del circuito utilizando las
ideas que hemos desarrollado en las últimas dos secciones. Éstos son los pasos:
EJEMPLO 3-23 El circuito lógico de la figura 3-40 se utiliza para controlar el motor de control del
eje de una unidad de disco flexible cuando la microcomputadora envía o recibe
datos hacia o desde el disco. El circuito encenderá el motor cuando UNIDAD 1.
Determine las condiciones necesarias de entrada para encender el motor.
A3
A4 W
74HC30 Y
A5 74HC32
74HC02 UNIDAD
A6
A7
A0
ENTRADA X
74HC02
SALIDA
94 CAPÍTULO 3/DESCRIPCIÓN DE LOS CIRCUITOS LÓGICOS
Solución
Una vez más, interpretaremos el diagrama paso por paso:
1. UNIDAD estará activa en BAJO y cambiará a ALTO sólo cuando X Y 0.
2. X estará en BAJO cuando ENTRADA o SALIDA estén en ALTO.
3. Y estará en BAJO sólo cuando W 0 y A0 0.
4. W estará en BAJO sólo cuando todas las entradas de la A1 a la A7 estén en
ALTO.
5. De todo esto podemos deducir que UNIDAD estará en ALTO cuando A1 A2
A3 A4 A5 A6 A7 1 y A0 0, y cuando ni ENTRADA o SALIDA ni ambas
estén en 1.
Observe el extraño símbolo para la compuerta NAND CMOS de ocho entradas (74HC30);
observe además que la señal A7 está conectada a dos de las entradas NAND.
Niveles asignados
Hemos estado describiendo las señales lógicas como activas en BAJO o activas en
ALTO. Por ejemplo, la salida MEM en la figura 3-39 es activa en BAJO y la salida
UNIDAD en la figura 3-40 es activa en ALTO, ya que son los estados de salida que
hacen que ocurra algo. De manera similar, la figura 3-40 tiene las entradas de la A0
a la A7 activas en ALTO y la entrada A0 activa en BAJO.
Cuando una señal lógica se encuentra en su estado activo, podemos decir que
está asignada. Por ejemplo, cuando decimos que la entrada A0 está asignada, signifi-
ca que se encuentra en su estado de activa en BAJO. Cuando una señal no se encuen-
tra en su estado activo, se dice que está no asignada. Por ende, cuando decimos que
UNIDAD está no asignada, significa que se encuentra en su estado inactivo (bajo).
Es evidente que los términos asignado y no asignado son sinónimos de activo e
inactivo, respectivamente:
asignado activo
no asignado inactivo
Ambos conjuntos de términos son de uso común en el campo digital, por lo que usted
debe ser capaz de reconocer ambas formas de describir el estado activo de una señal
lógica.
Recuerde que la barra superior es sólo una manera de enfatizar que estas seña-
les son activas en BAJO. Emplearemos esta convención para etiquetar las señales
lógicas siempre que sea apropiado.
PREGUNTAS DE REPASO 1. Use el método de los ejemplos 3-22 y 3-23 para determinar las condiciones de
entrada necesarias para activar la salida del circuito de la figura 3-37(b).
2. Repita la pregunta 1 para el circuito de la figura 3-38(b).
3. ¿Cuántas compuertas NAND se muestran en la figura 3-39?
4. ¿Cuántas compuertas NOR se muestran en la figura 3-40?
5. ¿Cuál será el nivel de salida en la figura 3-38(b) cuando todas las entradas estén
asignadas?
6. ¿Qué entradas se requieren para asignar la salida de alarma en la figura 3-37(b)?
7. ¿Cuál de las siguientes señales es activa en BAJO: RD, W, R/W?
OR
A A
x ≥1 x
B B
NAND
A A
x & x
B B
NOR
A A
x ≥1 x
B B
(a) (b)
96 CAPÍTULO 3/DESCRIPCIÓN DE LOS CIRCUITOS LÓGICOS
¿Tradicional o IEEE/ANSI?
El estándar IEEE/ANSI no ha sido muy aceptado todavía en el campo digital, aunque
tal vez se encuentre con él en algunos diagramas esquemáticos de equipos recientes.
La mayoría de los libros de datos de CI digitales incluyen los símbolos tradicionales y
también los de IEEE/ANSI, ya que es posible que este estándar, más reciente, se uti-
lice cada vez más. En la mayoría de los diagramas de circuitos de este libro emplea-
remos los símbolos tradicionales.
PREGUNTAS DE REPASO 1. Dibuje todas las compuertas lógicas básicas tanto con los símbolos tradicionales
como con los símbolos IEEE/ANSI.
2. Dibuje el símbolo IEEE/ANSI para una compuerta NOR con la salida activa en
ALTO.
Hemos aprendido a representar cada una de las funciones lógicas básicas mediante
el uso de:
EJEMPLO 3-24 La siguiente expresión describe la manera en que un circuito lógico necesita operar
para poder controlar un indicador de advertencia del cinturón de seguridad de un
automóvil.
Solución
Vea la figura 3-42.
Expresión booleana
conductor_presente
cinturon_enganchado Luz_advertencia
interruptor_encendido
(b)
Tabla de verdad
(c)
Diagrama de tiempos
Nombre Val 1.0 ms 2.0 ms 3.0 ms 4.0 ms 5.0 ms 6.0 ms 7.0 ms 8.0 ms 9.0 ms 10 m
ignition_on 0
buckled_up 0
driver_present 1
warning_light 0
(d)
FIGURA 3-42 Métodos para describir circuitos lógicos: (a) expresión booleana; (b) diagrama esquemático;
(c) tablas de verdad; (d) diagrama de tiempos.
98 CAPÍTULO 3/DESCRIPCIÓN DE LOS CIRCUITOS LÓGICOS
La figura 3-42 muestra cuatro maneras distintas de representar el circuito lógico que
se describió verbalmente en el problema del ejemplo 3-24. Hay muchas otras formas
en que podríamos representar la lógica para esta decisión. Como ejemplo podríamos
idear todo un conjunto nuevo de símbolos gráficos, o enunciar la relación lógica en
un idioma diferente como francés o japonés. Desde luego que no podemos cubrir
todas las formas posibles de describir un circuito lógico, pero debemos comprender
los métodos más comunes para poder comunicarnos con otras personas en esta pro-
fesión. Lo que es más, ciertas situaciones son más fáciles de describir si utilizamos
un método en lugar de otro. En algunos casos una imagen vale más que mil palabras;
en otros las palabras son lo bastante concisas y se comunican con más facilidad a los
demás. El punto importante aquí es que necesitamos formas de describir y comuni-
car la operación de los sistemas digitales.
PREGUNTAS DE REPASO 1. Nombre cinco formas de describir la operación de los circuitos lógicos.
VHDL y AHDL
VHDL no es un lenguaje nuevo. El Departamento de Defensa de los Estados Unidos
lo desarrolló a principios de la década de 1980 como una forma concisa de docu-
mentar los diseños en el proyecto de circuitos integrados de muy alta velocidad
(VHSIC). Como era demasiado adjuntar HDL a este acrónimo (incluso hasta para
los militares), el lenguaje se abrevió como VHDL. Se desarrollaron programas de
computadora para tomar los archivos de lenguaje VHDL y simular la operación
de los circuitos. Con el crecimiento de los dispositivos lógicos programables com-
plejos en los sistemas digitales, VHDL ha evolucionado para convertirse en uno de
los principales lenguajes de descripción de hardware de alto nivel para diseñar
e implementar circuitos digitales (síntesis). El IEEE estandarizó este lenguaje, con
lo cual se hizo atractivo para los ingenieros, así como para los fabricantes de herra-
mientas de software que traducen los diseños a los patrones de bits utilizados para
programar los dispositivos reales.
AHDL es un lenguaje desarrollado por Altera Corporation para ofrecer una for-
ma conveniente de configurar los dispositivos lógicos que ofrecen. Altera fue una de
las primeras compañías en introducir dispositivos lógicos que pueden reconfigurarse
* Se pueden omitir todas las secciones que hablan sobre los lenguajes de descripción de hardware sin
perder la continuidad en el balance de los capítulos del 1 al 12.
SECCIÓN 3-17/COMPARACIÓN ENTRE LENGUAJES DE DESCRIPCIÓN Y. . . 99
mediante electrónica. A estos dispositivos se les conoce como dispositivos lógicos pro-
gramables (PLDs). A diferencia del VHDL, este lenguaje no está diseñado para usarse
como un lenguaje universal para describir cualquier circuito lógico, sino para progra-
mar sistemas digitales complejos en PLDs de Altera, en un lenguaje que se perciba
en general como más sencillo de aprender, pero que es muy similar al VHDL. También
cuenta con características que aprovechan por completo la arquitectura de los dispo-
sitivos de Altera. En todos los ejemplos de este libro utilizaremos el software Altera
MAX PLUS II o Quartus II para desarrollar archivos de diseño en AHDL y VHDL.
Podrá ver la ventaja de usar el sistema de desarrollo de Altera para ambos lenguajes
cuando programe un dispositivo real. El sistema de Altera facilita el desarrollo de
circuitos en forma considerable; además, contiene todas las herramientas necesarias
para traducir el archivo de diseño de HDL a uno listo para cargarse en un PLD de Alte-
ra. También le permite desarrollar bloques de construcción mediante la introducción
de diagramas esquemáticos, AHDL, VHDL y otros métodos, para después interconec-
tar esos bloques y formar un sistema completo.
Hay otros HDLs disponibles que son más adecuados para programar disposi-
tivos lógicos más simples. Después de que, con la ayuda de este libro, aprenda los
fundamentos de AHDL o VHDL, le parecerá fácil utilizar cualquiera de los otros
lenguajes.
EJEMPLO 3-25 Compare la operación de una computadora y un circuito lógico al realizar la opera-
ción lógica simple de y AB.
Solución
El circuito lógico es una simple compuerta AND. La salida y estará en ALTO dentro
de un lapso aproximado de 10 nanosegundos después del punto en el que A y B estén
en ALTO al mismo tiempo. La salida y estará en BAJO dentro de un lapso aproximado
de 10 nanosegundos después de que cualquiera de las entradas cambie a BAJO.
La computadora debe ejecutar un programa de instrucciones que realice deci-
siones. Suponga que cada instrucción toma 20 ns (bastante rápido). Cada figura del
diagrama de flujo que se muestra en la figura 3-43 representa una instrucción. Es
evidente que se requerirá un mínimo de dos o tres instrucciones (40-60 ns) para res-
ponder a los cambios en las entradas.
FIGURA 3-43 El
proceso de decisiones
de un programa de
computadora.
No Sí
¿Está A en ALTO?
No Sí
¿Está B en ALTO?
Regresar y repetir
Circuitos
lógicos
1. La definición de lo que entra al circuito y lo que sale de éste, es decir las espe-
cificaciones de entradas/salidas.
2. La definición de la forma en que las salidas responden a las entradas, es decir
su operación.
Definiciones de E/S
Descripción funcional
AHDL
DESCRIPCIÓN BOOLEANA MEDIANTE EL USO DE AHDL
Consulte la figura 3-47. La palabra clave SUBDESIGN asigna un nombre al bloque
del circuito, que en este caso es compuerta_and. El nombre del archivo también debe
ser compuerta_and.tdf. Observe que la palabra clave SUBDESIGN está en mayúscu-
las. El software no lo requiere, pero el uso de un estilo consistente en cuanto a las
mayúsculas y minúsculas facilita en forma considerable la lectura del código. La guía
de estilo que se incluye con el compilador de Altera para AHDL sugiere el uso de
letras mayúsculas para las palabras clave del lenguaje. Las variables que nombre el
diseñador deben estar en minúsculas.
La sección SUBDESIGN define las entradas y salidas del bloque del circuito
lógico. Algo debe encerrar al circuito que estamos tratando de describir, al igual que
un diagrama de bloques encierra a todo lo que forma parte del diseño. En AHDL,
esta definición de entrada/salida se encierra entre paréntesis. La lista de variables
utilizadas como entradas para este bloque se separa mediante comas y va seguida
de :INPUT;. En AHDL se asume el uso del tipo bit individual, a menos que la varia-
ble se designe como varios bits. El bit de salida individual se declara con el modo
:OUTPUT;. Aprenderemos la forma correcta de describir otros tipos de entradas,
salidas y variables a medida que lo vayamos necesitando.
El conjunto de instrucciones que describe la operación del circuito en AHDL
está contenido en la sección lógica, entre las palabras clave BEGIN y END. En este
ejemplo, la operación de hardware se describe mediante una ecuación de álgebra
booleana muy simple, la cual establece que a la salida (y) se le debe asignar () el
nivel lógico producido por a AND b. A esta ecuación de álgebra booleana se le cono-
ce como instrucción de asignación concurrente. Cualquier instrucción (sólo hay una
en este ejemplo) entre BEGIN y END se evaluará en forma constante y concurrente.
El orden en el que se listen no tiene nada que ver. Los operadores booleanos básicos
son:
& AND
# OR
! NOT
$ XOR
Consulte la figura 3-48. La palabra clave ENTITY asigna un nombre al bloque del
circuito, que en este caso es compuerta_and. Observe que la palabra ENTITY está
en mayúsculas pero compuerta_and no. El software no requiere esto, pero el uso
de un estilo consistente en cuanto a las mayúsculas y minúsculas facilita en forma
considerable la lectura del código. La guía de estilo que se incluye con el compilador
de Altera para VHDL sugiere el uso de letras mayúsculas para las palabras clave del
lenguaje. Las variables que nombra el diseñador deben estar en minúsculas.
PREGUNTAS DE REPASO
1. ¿Cuál es la función de la declaración ENTITY?
2. ¿Qué sección clave define la operación del circuito?
3. ¿Cuál es el operador de asignación que se utiliza para asignar un valor a una
señal lógica?
SECCIÓN 3-20/SEÑALES INTERMEDIAS 105
Señal intermedia m
ENTRADA
a
m
ENTRADA
b
SALIDA y
ENTRADA
c
FIGURA 3-49
Diagrama de un circuito lógico con una variable intermedia.
PREGUNTAS DE REPASO 1. ¿Cuál es la designación que se utiliza para las variables intermedias?
2. ¿En dónde se declaran estas variables?
3. ¿Importa si la ecuación m o y se declara primero?
4. ¿Qué carácter se utiliza para limitar un bloque de comentarios?
5. ¿Qué caracteres se utilizan para comentar una sola línea?
VHDL
RESUMEN
1. El álgebra booleana es una herramienta matemática que se utiliza en el análisis
y diseño de circuitos digitales.
2. Las operaciones booleanas básicas son OR, AND y NOT.
3. Una compuerta OR produce una salida en ALTO cuando cualquier entrada está
en ALTO. Una compuerta AND produce una salida en ALTO sólo cuando todas
las entradas están en ALTO. Un circuito NOT (INVERSOR) produce una salida
que es el nivel lógico opuesto al de la entrada.
4. Una compuerta NOR es igual que una compuerta OR con su salida conectada a
un INVERSOR. Una compuerta NAND es igual que una compuerta AND con su
salida conectada a un INVERSOR.
108 CAPÍTULO 3/DESCRIPCIÓN DE LOS CIRCUITOS LÓGICOS
5. Los teoremas y las reglas booleanas pueden usarse para simplificar la expresión
de un circuito lógico y pueden producir una manera más simple de implementar
el circuito.
6. Las compuertas NAND pueden usarse para implementar cualquiera de las opera-
ciones booleanas básicas. Las compuertas NOR pueden usarse en forma similar.
7. Pueden usarse los símbolos alternativos o estándar para cada compuerta lógica,
dependiendo de si la salida va a ser activa en ALTO o activa en BAJO.
8. El estándar IEEE/ANSI para los símbolos lógicos utiliza símbolos rectangulares para
cada dispositivo lógico, con notaciones especiales dentro de los rectángulos
para mostrar cómo dependen las salidas de las entradas.
9. Los lenguajes de descripción de hardware se han convertido en un método
importante para describir circuitos digitales.
10. El código HDL siempre debe contener comentarios que documenten sus carac-
terísticas más importantes, de manera que cualquier persona que lo lea después
pueda comprender lo que hace.
11. Toda descripción de un circuito en HDL contiene una definición de las entradas
y salidas, seguida de una sección que describe la operación del circuito.
12. Además de las entradas y salidas, pueden definirse conexiones intermedias inac-
cesibles desde fuera del circuito. A estas conexiones intermedias se les conoce
como nodos ocultos o señales locales.
TÉRMINOS IMPORTANTES
activa en ALTO ENTITY PLDs –dispositivos lógicos
activa en BAJO HDLs –lenguajes de programables
AHDL –lenguaje de descripción de hardware símbolos lógicos
descripción de hardware IEEE/ANSI alternativos
de Altera instrucción de asignación sintaxis
álgebra booleana concurrente SUBDESIGN
ARCHITECTURE inversión (complementación) tabla de verdad
asignada modo teoremas booleanos
BIT nivel lógico teoremas de DeMorgan
circuito NOT niveles lógicos activos tipo
(INVERSOR) no asignado VARIABLE
compilador NODE VHDL –lenguaje de
compuerta AND nodos ocultos (señales descripción de
compuerta NAND locales) hardware para circuitos
compuerta NOR operación AND integrados de muy alta
compuerta OR operación NOT velocidad (VHSIC)
concurrente operación OR
PROBLEMAS
Las letras en gris que van antes de algunos de los problemas se utilizan para indicar
la naturaleza o el tipo de éstos, como se indica a continuación:
B problema básico.
F problema de diagnóstico de fallas.
D problema de diseño o modificación de circuito.
N nuevo concepto o técnica que no se cubre en el libro.
A problema avanzado.
H problema de HDL.
PROBLEMAS 109
SECCIÓN 3-3
B 3-1.* Dibuje la forma de onda de salida para la compuerta OR de la figura 3-52.
FIGURA 3-52
A
A
B B
x
C
C
B 3-2. Suponga que la entrada A en la figura 3-52 se conectó a tierra en forma inad-
vertida (es decir, A 0). Dibuje la forma de onda de salida resultante.
B 3-3.* Suponga que la entrada A en la figura 3-52 se pone en corto en forma inad-
vertida con la línea de suministro de 5 V (es decir, A 1). Dibuje la forma
de onda de salida resultante.
C 3-4. Lea las siguientes aseveraciones con respecto a una compuerta OR. Al prin-
cipio tal vez parezcan válidas, pero después de analizarlas se dará cuenta
que ninguna es verdadera siempre. Demuestre esto mediante un ejemplo
específico para refutar cada aseveración.
(a) Si la forma de onda de salida de una compuerta OR es igual que la
forma de onda en una de sus entradas, la otra entrada se mantendrá de
manera permanente en BAJO.
(b) Si la forma de onda de salida de una compuerta OR siempre está en
ALTO, una de sus entradas se mantendrá de manera permanente
en ALTO.
B 3-5. ¿Cuántas combinaciones distintas de condiciones de entrada producirán
una salida en ALTO en una compuerta OR de cinco entradas?
SECCIÓN 3-4
B 3-6. Cambie la compuerta OR en la figura 3-52 por una compuerta AND.
(a)* Dibuje la forma de onda de salida.
(b) Dibuje la forma de onda de salida si la entrada A se conecta de manera
permanente a tierra.
(c) Dibuje la forma de onda de salida si A se pone en corto de manera per-
manente con 5 V.
D 3-7.* Consulte la figura 3-4. Modifique el circuito de manera que la alarma se
active sólo cuando la presión y la temperatura excedan sus límites máximos
al mismo tiempo.
B 3-8.* Cambie la compuerta OR en la figura 3-6 por una compuerta AND y dibuje
la forma de onda de la salida.
B 3-9. Suponga que tiene una compuerta desconocida de dos entradas, que puede
ser OR o AND. ¿Qué combinación de niveles de entrada debe aplicar a las
entradas para determinar qué tipo de compuerta es?
B 3-10. Verdadero o falso: sin importar cuántas entradas tenga, una compuerta AND
producirá una salida en ALTO para sólo una combinación de niveles de
entrada.
* Encontrará las respuestas a los problemas marcados con un asterisco al nal del libro.
110 CAPÍTULO 3/DESCRIPCIÓN DE LOS CIRCUITOS LÓGICOS
FIGURA 3-53 A
x
C
(a)
(b)
B 3-13.* Cree una tabla de análisis completa para el circuito de la figura 3-15(b);
para ello encuentre los niveles lógicos presentes en la salida de cada com-
puerta, para todas las 32 posibles combinaciones de entrada.
B 3-14. (a)* Cambie cada compuerta OR por una compuerta AND y cada compuerta
AND por una compuerta OR en la figura 3-15(b). Después escriba la
expresión para la salida.
(b) Complete una tabla de análisis.
B 3-15. Cree una tabla de análisis completa para el circuito de la figura 3-16; para
ello encuentre los niveles lógicos presentes en la salida de cada compuerta,
para todas las 16 posibles combinaciones de niveles de entrada.
SECCIÓN 3-8
B 3-16. Para cada una de las siguientes expresiones, construya el circuito lógico
correspondiente utilizando compuertas AND y OR e INVERSORES.
(a)* x AB(C D)
(b)* z A B CDE) BCD
(c) y (M N PQ)
PROBLEMAS 111
(d) x W PQ
(e) z MN(P N)
(f) x (A B)(A B)
SECCIÓN 3-9
B 3-17.* (a) Aplique las formas de onda de entrada de la figura 3-54 a una compuer-
ta NOR y dibuje la forma de onda de salida.
(b) Repita el procedimiento manteniendo C de manera permanente en
BAJO.
(c) Repita el procedimiento manteniendo C en ALTO.
FIGURA 3-54
A
B
FIGURA 3-55 A
X
B
SECCIÓN 3-10
C 3-22. Demuestre los teoremas (15a) y (15b) probando todos los casos posibles.
B 3-23.* PREGUNTA DE EJERCICIO
Complete cada una de las expresiones.
(a) A 1 __________
(b) A A __________
(c) B B __________
(d) C C __________
(e) x 0 __________
(f) D 1 __________
(g) D 0 __________
(h) C C __________
(i) G GF __________
(j) y wy __________
112 CAPÍTULO 3/DESCRIPCIÓN DE LOS CIRCUITOS LÓGICOS
C 3-24. (a)* Simplifique la siguiente expresión usando los teoremas (13b), (3)
y (4):
x (M N)(M P)(N P)
La figura 3-56 muestra el circuito lógico que controla una luz de advertencia
en cabina para ciertas combinaciones de condiciones del motor. Suponga
que un nivel ALTO en la salida W activa la luz de advertencia.
(a)* Determine qué condiciones del motor darán una advertencia al piloto.
(b) Cambie este circuito por uno que utilice sólo compuertas NAND.
FIGURA 3-56 T
Sensor de
W
temperatura
Sensor de Luz de
presión P
advertencia
R
Sensor
de RPM
PROBLEMAS 113
FIGURA 3-57
A
B x
B 3-39.* ¿Cuál es el estado asignado para la salida de la figura 3-57?, ¿para la salida
de la figura 3-36(c)?
B 3-40. Use los resultados del problema 3-38 para obtener la tabla de verdad com-
pleta para el circuito de la figura 3-57.
N 3-41.* La figura 3-58 muestra una aplicación de compuertas lógicas que simula un
interruptor de dos vías, como los que utilizamos en nuestros hogares para
encender o apagar una luz desde dos interruptores distintos. Aquí la luz
114 CAPÍTULO 3/DESCRIPCIÓN DE LOS CIRCUITOS LÓGICOS
FIGURA 3-58 +5 V
+5 V
LUZ
+5 V
B
SECCIÓN 3-15
B 3-42. Vuelva a dibujar los circuitos de (a)* la figura 3-57 y (b) la figura 3-58
mediante el uso de los símbolos IEEE/ANSI.
SECCIÓN 3-17
SECCIÓN 3-18
B 3-44. Vuelva a dibujar la matriz de conexiones programable de la figura 3-44.
Etiquete las señales de salida (líneas horizontales) de la matriz de conexión
RESPUESTAS A LAS PREGUNTAS DE REPASO DE LAS SECCIONES 115
XAB
Y AB
ZABC
APLICACIÓN DE MICROCOMPUTADORA
C 3-47.* Consulte la figura 3-40 en el ejemplo 3-23. Las entradas de A7 a A0 son entra-
das de dirección que se suministran a este circuito desde las salidas del
microprocesador de una microcomputadora. El código de dirección de ocho
bits A7 – A0 selecciona cuál dispositivo desea activar el microprocesador. En
el ejemplo 3-23, el código de dirección requerido para activar la unidad de
disco era A7 a A0 111111102 FE16.
Modifique el circuito de manera que el microprocesador deba enviar
un código de dirección de 4A16 para activar la unidad de disco.
EJERCICIOS AVANZADOS
C 3-48. Muestre cómo puede implementarse x ABC con una compuerta NOR de
dos entradas y una compuerta NAND de dos entradas.
C 3-49.* Implemente y ABCD usando sólo compuertas NAND de dos entradas.
SECCIÓN 3-2
1. x 1 2. x 0 3. 32
SECCIÓN 3-3
1. Las entradas en BAJO. 2. x A B C D E F 3. Nivel ALTO constante.
SECCIÓN 3-4
1. Todas las cinco entradas 1. 2. Una entrada en BAJO mantendrá la salida en
BAJO. 3. Falso; vea la tabla de verdad para cada compuerta.
SECCIÓN 3-5
1. La salida del segundo INVERSOR será igual que la entrada A. 2. y estará en BAJO
sólo para A B 1.
SECCIÓN 3-6
1. x A B C AD 2. x D(AB C) E
116 CAPÍTULO 3/DESCRIPCIÓN DE LOS CIRCUITOS LÓGICOS
SECCIÓN 3-7
1. x 1 2. x 1 3. x 1 para ambos casos.
SECCIÓN 3-8
1. Vea la figura 3-15(a). 2. Vea la figura 3-17(b). 3. Vea la figura 3-15(b).
SECCIÓN 3-9
1. Todas las entradas en BAJO. 2. x 0 3. x A B CD
SECCIÓN 3-10
1. y AC 2. y A B D 3. y AD BD
SECCIÓN 3-11
1. z AB C 2. y (R S T)Q 3. Igual que la figura 3-28, sólo que la
compuerta NAND se sustituye por una compuerta NOR. 4. y AB(C D)
SECCIÓN 3-12
1. Tres. 2. El circuito NOR es más eficiente, ya que puede implementarse con solo un CI
74LS02. 3. x (AB)(CD) AB (CD) AB CD
SECCIÓN 3-13
1. La salida cambia a BAJO cuando cualquier entrada está en ALTO. 2. La salida
cambia a ALTO sólo cuando todas las entradas están en BAJO. 3. La salida cambia a
BAJO cuando cualquier entrada está en BAJO. 4. La salida cambia a ALTO sólo cuando
todas las entradas están en ALTO.
SECCIÓN 3-14
1. Z cambiará a ALTO cuando A B 0 y C D 1. 2. Z cambiará a BAJO cuando A
B 0, E 1 y C o D o ambas sean 1. 3. Dos. 4. Dos. 5. BAJO. 6. A B
0, C D 1 7. W
SECCIÓN 3-15
1. Vea la figura 3-41. 2. Rectángulo con & en su interior y triángulos en las entradas.
SECCIÓN 3-16
1. Ecuación booleana, tabla de verdad, diagrama lógico, diagrama de tiempos, lenguaje.
SECCIÓN 3-17
1. Lenguaje de descripción de hardware. 2. Para describir un circuito digital y su ope-
ración. 3. Para dar a una computadora una lista secuencial de tareas. 4. El HDL
describe los circuitos concurrentes de hardware; las instrucciones de computadora se ejecu-
tan una a la vez.
SECCIÓN 3-18
1. Dispositivo lógico programable. 2. Se cierran y se abren conexiones en una matriz
de conmutación. 3. Traduce el código de HDL en un patrón de bits para configurar la
matriz de conmutación.
SECCIÓN 3-19
AHDL
1. Las definiciones de entrada y de salida. 2. La descripción de la forma en que opera.
RESPUESTAS A LAS PREGUNTAS DE REPASO DE LAS SECCIONES 117
VHDL
1. Para dar un nombre al circuito y definir sus entradas y salidas. 2. La descripción
ARCHITECTURE. 3.
SECCIÓN 3-20
AHDL
1. NODE. 2. Después de la definición de E/S y antes de BEGIN. 3. No.
4. %. 5. --
VHDL
1. SIGNAL. 2. Dentro de ARCHITECTURE, antes de BEGIN. 3. No. 4. --
C A P Í T U L O 4
CIRCUITOS LÓGICOS
COMBINACIONALES
■ CONTENIDO
4-1 Forma de suma de productos 4-10 Diagnóstico de fallas en
4-2 Simplificación de circuitos sistemas digitales
lógicos 4-11 Fallas internas en los
4-3 Simplificación algebraica circuitos integrados digitales
4-4 Diseño de circuitos lógicos 4-12 Fallas externas
combinacionales 4-13 Ejemplo práctico de
4-5 Método de mapas de diagnóstico de fallas
Karnaugh 4-14 Dispositivos lógicos
4-6 Circuitos OR exclusivo y NOR programables
exclusivo 4-15 Representación de datos en
4-7 Generador y comprobador de HDL
paridad 4-16 Tablas de verdad mediante el
4-8 Circuitos de habilitación/ uso de HDL
deshabilitación 4-17 Estructuras de control de
4-9 Características básicas de los decisiones en HDL
CIs digitales
■ OBJETIVOS
Al terminar este capítulo, usted podrá:
■ Convertir una expresión lógica en una expresión de suma de productos.
■ Realizar los pasos necesarios para reducir una expresión de suma de
productos a su forma más simple.
■ Utilizar el álgebra booleana y el mapa de Karnaugh como herramientas para
simplificar y diseñar circuitos lógicos.
■ Explicar la operación de los circuitos OR exclusivo y NOR exclusivo.
■ Diseñar circuitos lógicos simples sin la ayuda de una tabla de verdad.
■ Implementar circuitos de habilitación.
■ Citar las características básicas de los CIs digitales TTL y CMOS.
■ Utilizar las reglas básicas de diagnóstico de fallas de los sistemas digitales.
■ Deducir las fallas a partir de los resultados observados en circuitos lógicos
combinacionales.
■ Describir la idea fundamental de los dispositivos lógicos programables (PLDs).
■ Describir los pasos implicados en la programación de un PLD para realizar
una función lógica combinacional simple.
■ Consultar los manuales de usuario de Altera para adquirir la información
necesaria para realizar un experimento de programación simple en el
laboratorio.
■ Describir los métodos de diseño jerárquico.
■ Identificar los tipos de datos apropiados para las variables con valores de un
solo bit, arreglos de bits y numéricas.
■ Describir los circuitos lógicos mediante el uso de las estructuras de control de
HDL IF/ELSE, IF/ELSIF y CASE.
■ Seleccionar la estructura de control apropiada para un problema dado.
■ INTRODUCCIÓN
En el capítulo 3 estudiamos la operación de todas las compuertas lógicas básicas,
y utilizamos el álgebra booleana para describir y analizar circuitos formados de
combinaciones de compuertas lógicas. Estos circuitos pueden clasificarse como
circuitos lógicos combinacionales ya que, en cualquier momento, el nivel lógico
de la salida depende de la combinación de los niveles lógicos presentes en las
entradas. Un circuito combinacional no tiene característica de memoria, por lo
que su salida depende sólo del valor actual de sus entradas.
En este capítulo continuaremos con nuestro estudio de los circuitos
combinacionales. Para empezar, veremos más detalles sobre la simplificación de
los circuitos lógicos. Analizaremos dos métodos: el primero utiliza los teoremas
del álgebra booleana; el segundo utiliza una técnica de mapeo. Además,
119
120 CAPÍTULO 4/CIRCUITOS LÓGICOS COMBINACIONALES
1. ABC + ABC
2. AB + ABC + C D + D
3. AB + CD + EF + GK + HL
Cada una de estas expresiones de suma de productos consiste de dos o más térmi-
nos AND (productos) a los que se les aplica la operación OR. Cada término AND
consiste de una o más variables que aparecen de manera individual, ya sea en for-
ma complementada o no complementada. Por ejemplo, en la expresión de suma de
productos ABC ABC el primer producto AND contiene las variables A, B y C en su
forma no complementada (no invertida). El segundo término AND contiene a A y C
en su forma complementada (invertida). En una expresión de suma de productos, un
signo de inversión no puede cubrir más de una variable en un término (por ejemplo,
no podemos tener ABC o RST).
1. (A + B + C)(A + C)
2. (A + B)(C + D)F
3. (A + C)(B + D)(B + C)(A + D + E)
PREGUNTAS DE REPASO
1. ¿Cuál de las siguientes expresiones se encuentra en la forma SOP?
(a) AB CD E
(b) AB(C D)
(c) (A B)(C D F)
(d) MN PQ
2. Repita la pregunta 1 para la forma POS.
En las siguientes secciones estudiaremos dos métodos para simplificar los cir-
cuitos lógicos. Uno de ellos utiliza los teoremas de álgebra booleana y, como vere-
mos, depende mucho de la inspiración y la experiencia. El otro método (mapeo de
Karnaugh) tiene un enfoque sistemático, paso a paso. Tal vez algunos instructores
deseen omitir este último método debido a que es algo mecánico y es posible que no
contribuya a una mejor comprensión del álgebra booleana. Esto puede hacerse sin
afectar la continuidad o la claridad del resto del libro.
el resultado más simple. Lo que es más, no hay una manera sencilla de saber si la
expresión simplificada se encuentra en su forma más simple o si todavía puede sim-
plificarse más. Por ende, la simplificación algebraica se vuelve a menudo un proceso
de prueba y error. Sin embargo, con experiencia uno puede volverse un adepto para
obtener resultados bastante razonables.
Los ejemplos que se muestran a continuación ilustrarán muchas de las maneras
en las que pueden aplicarse los teoremas booleanos para tratar de simplificar una
expresión. Estos ejemplos contienen dos pasos esenciales:
AC
A A B(A C)
A
z = ABC + AB(AC)
C
B
A
ABC
B
(a)
B B+C
C z = A(B + C)
A
(b)
FIGURA 4-2 Ejemplo 4-1.
Solución
El primer paso es determinar la expresión para la salida, utilizando el método que
se presentó en la sección 3-6. El resultado es
z ABC AB (A C)
z = AC(B + B) + AB
Como B B 1, entonces
z = AC(1) + AB
= AC + AB
z = A(C + B)
Solución
La expresión ya se encuentra en la forma SOP.
Método 1: Los primeros dos términos de la expresión tienen el producto AB en
común. Por lo tanto,
z = AB(C + C) + ABC
= AB(1) + ABC
= AB + ABC
z = A(B + BC)
z = A(B + C)
z = AB(C + C) + AC(B + B)
= AB # 1 + AC # 1
= AB + AC = A(B + C)
124 CAPÍTULO 4/CIRCUITOS LÓGICOS COMBINACIONALES
Desde luego que este resultado es el mismo que se obtuvo con el método 1. Este
truco de usar el mismo término dos veces puede usarse siempre. De hecho, el mismo
término puede usarse más veces si es necesario.
EJEMPLO 4-3
Simplifique z AC(ABD) ABC D ABC.
Solución
Primero, utilizamos el teorema de DeMorgan en el primer término:
Ésta es la forma SOP deseada. Ahora debemos buscar factores comunes de entre
los diversos términos de productos. La idea es buscar el factor común más grande
entre dos o más términos de productos. Por ejemplo, los términos primero y último
tienen el factor común BC y los términos segundo y tercero tienen el factor común
A D. Podemos factorizar estos términos de la siguiente manera:
z BC A D(B C) (5)
Este mismo resultado podría obtenerse si eligiéramos otros términos para la fac-
torización. Por ejemplo, podríamos haber factorizado C de los términos de productos
primero, segundo y cuarto, en el paso 3, para obtener:
z C(B[A A] A D) ABC D
z C(B A D) ABC D
z BC AC D ABC D
SECCIÓN 4-3/SIMPLIFICACIÓN ALGEBRAICA 125
z BC A D(C BC)
z BC A D(B C)
Este resultado es el mismo que obtuvimos antes, pero nos llevó muchos más pasos.
Aquí se ilustra el porqué debemos buscar los factores comunes más grandes: por lo
general, nos llevará a la expresión final en menos pasos.
z ABD BC
Pero no hay una manera aparente de reducir el paso (5) para llegar a esta versión
más simple. En este caso nos faltó una operación en el proceso, la cual nos podría
haber conducido a la forma más simple. La pregunta es, “¿Cómo hubiéramos podido
saber que omitimos un paso?” Más adelante examinaremos una técnica de mapeo
que siempre nos llevará a la forma SOP más simple.
EJEMPLO 4-4
Simplifique la expresión x (A B)(A B D)D.
Solución
La expresión puede colocarse en la forma de suma de productos mediante la multi-
plicación de todos los términos. El resultado es
x ABD ABD BD
x BD(A A 1)
Es evidente que el término dentro de los paréntesis siempre es 1, por lo que al últi-
mo nos queda
x BD
126 CAPÍTULO 4/CIRCUITOS LÓGICOS COMBINACIONALES
(a) (b)
Solución
La expresión para la salida z es
z (A B)(A B)
z AA A B BA BB
z A B AB
Solución
Inténtelo, pero no podrá simplificar más esta expresión.
(a) (b)
Puede usarse un enfoque similar para las demás condiciones de entrada. Por
ejemplo, si x fuera a estar en nivel alto sólo para la condición A 1, B 0, el cir-
cuito resultante sería una compuerta AND con entradas A y B. En otras palabras,
para cualquiera de las cuatro posibles condiciones de entrada, podemos generar
una salida x en nivel alto mediante el uso de una compuerta AND con las entradas
apropiadas para generar el producto AND requerido. En la figura 4-5 se muestran
los cuatro casos. Cada una de las compuertas AND que se muestran genera una
salida que es 1 sólo para una condición de entrada dada y la salida es 0 para todas
las demás condiciones. Hay que recalcar que las entradas AND son invertidas o no
invertidas, dependiendo de los valores que tengan las variables para la condición
dada. Si la variable es 0 para la condición dada, se invierte antes de entrar a la com-
puerta AND.
A
AB ALTO sólo cuando A = 1, B = 1
B
en ALTO para cualquiera de esas condiciones, debe quedar claro que se debe aplicar
una operación OR a estos términos para producir la salida x deseada. Esta imple-
mentación se muestra en la figura 4-6(b), en donde la expresión resultante para la
salida es x AB AB.
TABLA 4-1
A B C x
0 0 0 0
0 0 1 0
0 1 0 1 : ABC
0 1 1 1 : ABC
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 1 : ABC
EJEMPLO 4-7 Diseñe un circuito lógico que tenga tres entradas A, B y C, y cuya salida esté en
ALTO sólo cuando la mayoría de sus entradas estén en ALTO.
Solución
Con base en el enunciado del problema, la salida x deberá ser 1 siempre que dos o
más entradas sean 1; para todos los demás casos, la salida deberá ser 0 (tabla 4-2).
TABLA 4-2
A B C x
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1 : ABC
1 0 0 0
1 0 1 1 : ABC
1 1 0 1 : ABC
1 1 1 1 : ABC
Paso 2. Escriba el término AND para cada caso en el que la salida sea un 1.
Hay cuatro casos así. Los términos AND se muestran enseguida de la tabla de ver-
dad (tabla 4-2). Observe de nuevo que cada término AND contiene cada variable de
entrada en su forma invertida o no invertida.
Esta expresión puede simplificarse de varias formas. Tal vez la más rápida sea consi-
derar que el último término ABC tiene dos variables en común con cada uno de los
otros términos. Por ende, podemos usar el término ABC para factorizarlo con cada
uno de los demás términos. La expresión se reformula de manera que el término
ABC ocurra tres veces (recuerde del ejemplo 4-2 que es posible hacer esto en el
álgebra booleana):
x BC AC AB
130 CAPÍTULO 4/CIRCUITOS LÓGICOS COMBINACIONALES
A
AC
x = BC + AC + AB
AB
EJEMPLO 4-8
Consulte la figura 4-8(a), en donde un convertidor analógico-digital está monito-
reando el voltaje de corriente directa de una batería de almacenamiento de 12 V
en una nave espacial en órbita. La salida del convertidor es un número binario de
4 bits identificado como ABCD, que corresponde al voltaje de la batería en interva-
los de 1 V, en donde A es el MSB. Las salidas binarias del convertidor se alimentan a
un circuito lógico que debe producir una salida en ALTO siempre y cuando el valor
binario sea mayor que 01102 610; esto es, que el voltaje de la batería sea mayor
que 6 V. Diseñe este circuito lógico.
A B C D z
MSB
(0) 0 0 0 0 0
Convertidor A A
z
B Circuito (1) 0 0 0 1 0
analógico- B
digital C C lógico (2) 0 0 1 0 0
VB D D (3) 0 0 1 1 0
LSB (4) 0 1 0 0 0
(a) (5) 0 1 0 1 0
(6) 0 1 1 0 0
(7) 0 1 1 1 1→ ABCD
(8) 1 0 0 0 1→ ABCD
(9) 1 0 0 1 1→ ABCD
A z = A + BCD (10) 1 0 1 0 1→ ABCD
(11) 1 0 1 1 1→ ABCD
(12) 1 1 0 0 1→ ABCD
B
(13) 1 1 0 1 1→ ABCD
C
D (14) 1 1 1 0 1→ ABCD
(15) 1 1 1 1 1→ ABCD
(c) (b)
Solución
La tabla de verdad se muestra en la figura 4-8(b). Para cada caso en la tabla de ver-
dad hemos indicado el equivalente decimal del número binario representado por la
combinación ABCD.
La salida z es igual a 1 para todos aquellos casos en los que el número binario
sea mayor que 0110. Para todos los demás casos, z es igual a 0. Esta tabla de verdad
nos da la siguiente expresión de suma de productos:
La simplificación de esta expresión será una formidable tarea, pero con un poco de
cuidado puede lograrse. El proceso paso a paso implica factorizar y eliminar térmi-
nos de la forma A A:
Esta expresión puede reducirse aún más si aplicamos el teorema (15a), el cual nos
dice que x xy x y. En este caso x A y y BCD. Por lo tanto,
z = ABCD + A = BCD + A
EJEMPLO 4-9 Observe la figura 4-9(a). En una copiadora simple, se debe generar una señal de paro S
para detener la operación de la máquina y encender una luz indicadora cada vez
que exista una de las siguientes condiciones: (1) que no haya papel en la bandeja
alimentadora; o (2) que se activen los dos microinterruptores en la ruta del papel, lo
cual indica un atasco. La presencia de papel en la bandeja alimentadora se indica
Sensor de P
bandeja P S = P + QR
alimentadora Circuito S
+5 V lógico
Q
Q
Interruptores 1 k⍀ R
para detección
del papel (b)
R
1 k⍀
(a)
OR
P P S = P + QR
S
AND
Q Q
R R
(c) (d)
Solución
Utilizaremos el proceso de cinco pasos indicado en el ejemplo 4-7. La tabla de ver-
dad se muestra en la figura 4-3. La salida S será un 1 lógico siempre que P 0, ya
que esto indica que no hay papel en la bandeja alimentadora. S también será un 1
para los dos casos en los que Q y R sean ambas 1, lo cual indica un atasco de papel.
Como la tabla indica, hay cinco condiciones de entrada distintas que producen una
salida en ALTO. (Paso 1)
TABLA 4-3
P Q R S
0 0 0 1 PQR
0 0 1 1 P QR
0 1 0 1 PQR
0 1 1 1 PQR
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 1 PQR
Se muestran los términos AND para cada uno de estos casos. (Paso 2)
La expresión de suma de productos sería
S P Q PQ PQR
S P PQR
S P QR
74HC00 14
P 4
6 S 33 k⍀
5
Q 1 7
3
R 2
Nota: las otras dos compuertas
74HC00 en el chip no están
(e) conectadas.
PREGUNTAS DE REPASO 1. Escriba la expresión de suma de productos para un circuito con cuatro entradas
y una salida que debe estar en ALTO sólo cuando la entrada A esté en BAJO al
mismo tiempo que dos de las otras entradas estén en BAJO.
2. Implemente la expresión de la pregunta 1 utilizando sólo compuertas NAND de
cuatro entradas. ¿Cuántas se requieren?
A B C D X
0 0 0 0 0 CD CD CD CD
0 0 0 1 1 → ABCD
0 0 1 0 0 AB 0 1 0 0
0 0 1 1 0
0 1 0 0 0 AB 0 1 0 0
0 1 0 1 1 → ABCD X = ABCD + ABCD
0 1 1 0 0 + ABCD + ABCD
0 1 1 1 0 AB 0 1 1 0
1 0 0 0 0
1 0 0 1 0 AB 0 0 0 0
1 0 1 0 0
1 0 1 1 0
1 1 0 0 0
1 1 0 1 1 → ABCD
1 1 1 0 0
1 1 1 1 1 → ABCD
(c)
SECCIÓN 4-5/MÉTODO DE MAPAS DE KARNAUGH 135
ren por una variable. Por ejemplo, la casilla de la esquina superior izquierda es
A B C D, mientras que la casilla que está justo debajo es A B C D (sólo la variable
B es distinta).
Observe que cada casilla en la fila superior se considera como adyacente
a una casilla correspondiente en la fila inferior. Por ejemplo, la casilla A BCD
en la fila superior es adyacente a la casilla ABCD en la fila inferior, ya que sólo
difieren por la variable A. Podemos considerar que la parte superior del mapa se
dobla para tocar su parte inferior. De manera similar, las casillas de la columna
más a la izquierda son adyacentes a las correspondientes en la columna más a
la derecha.
3. Para que las casillas adyacentes en forma vertical y horizontal difieran sólo por
una variable, el etiquetado de arriba hacia abajo debe realizarse en el orden
mostrado: A B, AB, AB, AB. Lo mismo aplica para el etiquetado de izquierda a
derecha: C D, CD, CD, CD.
4. Una vez que se ha llenado un mapa K con 0s y 1s, puede obtenerse la expresión
de suma de productos para la salida X mediante la aplicación de la operación
OR a todas las casillas que contengan un 1. En el mapa de tres variables de la
figura 4-11(b), las casillas A B C, A BC, ABC y ABC contienen un 1, de manera que
X A B C A BC ABC ABC.
Agrupamiento
La expresión para la salida X puede simplificarse mediante la combinación apropia-
da de las casillas en el mapa K que contengan 1s. Al proceso para combinar estos 1s
se le conoce como agrupamiento.
FIGURA 4-12 C C C C
Ejemplos de
agrupamientos de pares AB 0 0 AB 0 0
de 1s adyacentes.
AB 1 0 AB 1 1
X = ABC + ABC X = ABC + ABC
= BC = AB
AB 1 0 AB 0 0
AB 0 0 AB 0 0
(a) (b)
C C CD CD CD CD
ABC
AB 1 0 AB 0 0 1 1
AB 0 0 AB 0 0 0 0 X = ABCD + ABCD
X = ABC + ABC = BC + ABCD + ABCD
AB 0 0 AB 0 0 0 0 = ABC + ABD
AB 1 0 AB 1 0 0 1
(d) ABD
(c)
136 CAPÍTULO 4/CIRCUITOS LÓGICOS COMBINACIONALES
X = ABC + ABC
= BC(A + A)
= BC(1) = BC
FIGURA 4-13 C C CD CD CD CD CD CD CD CD
Ejemplos de
agrupamiento de AB 0 1 AB 0 0 0 0 AB 0 0 0 0
cuádruples.
AB 0 1 AB 0 0 0 0 AB 0 1 1 0
AB 0 1 AB 1 1 1 1 AB 0 1 1 0
AB 0 1 AB 0 0 0 0 AB 0 0 0 0
X=C X = AB X = BD
(a) (b) (c)
CD CD CD CD CD CD CD CD
AB 0 0 0 0 AB 1 0 0 1
AB 0 0 0 0 AB 0 0 0 0
X = BD
AB 1 0 0 1 AB 0 0 0 0
AB 1 0 0 1 AB 1 0 0 1
X = AD
(d) (e)
Como otro ejemplo, considere la figura 4-13(d), en donde las cuatro casillas que
contienen 1s son ABC D, AB C D, ABCD y ABCD. Al analizar estos términos podemos
ver que sólo las variables A y D permanecen sin cambios, de manera que la expre-
sión simplificada para X es
X AD
Lo que puede demostrarse de la misma forma que se hizo antes. El lector deberá
comprobar cada uno de los otros casos de la figura 4-13 para verificar las expresio-
nes indicadas para X.
En resumen:
FIGURA 4-14 CD CD CD CD CD CD CD CD
Ejemplos de
agrupamiento AB 0 0 0 0 AB 1 1 0 0
de octetos.
AB 1 1 1 1 AB 1 1 0 0
AB 1 1 1 1 AB 1 1 0 0
AB 0 0 0 0 AB 1 1 0 0
X=B X=C
(a) (b)
CD CD CD CD CD CD CD CD
AB 1 1 1 1 AB 1 0 0 1
AB 0 0 0 0 AB 1 0 0 1
AB 0 0 0 0 AB 1 0 0 1
AB 1 1 1 1 AB 1 0 0 1
X=B X=D
(c) (d)
Paso 6 Agrupe cualquier par necesario para incluir todos los 1 que no se hayan agru-
pado todavía, asegurándose de utilizar el número mínimo de agrupamientos.
Paso 7 Forme la suma OR de todos los términos generados, uno por cada grupo.
En los siguientes ejemplos seguiremos al pie de la letra cada uno de estos pasos
y haremos referencia a ellos. En cada caso, la expresión lógica resultante estará en
su forma de suma de productos más simple.
EJEMPLO 4-10 La figura 4-15(a) muestra el mapa K para un problema con cuatro variables. Supon-
dremos que el mapa se obtuvo de la tabla de verdad del problema (paso 1). Las
casillas están numeradas para identificar cada uno de los grupos.
FIGURA 4-15 CD CD CD CD
Ejemplos 4-10 al 4-12.
AB 0 0 0 1
1 2 3 4
AB 0 1 1 0
5 6 7 8 X= ABCD + ACD + BD
CD CD CD CD
AB 0 0 1 0
1 2 3 4
AB 1 1 1 1
5 6 7 8 X= AB + BC + ACD
CD CD CD CD
AB 0 1 0 0
1 2 3 4
AB 0 1 1 1
5 6 7 8 X= ABC + ACD + ABC + ACD
AB 1 1 1 0 9, 10 2, 6 7, 8 11, 15
9 10 11 12
AB 0 0 1 0
13 14 15 16
(c)
EJEMPLO 4-11 Considere el mapa K de la figura 4-15(b). Una vez más podemos suponer que ya se
ha realizado el paso 1.
FIGURA 4-16 El CD CD CD CD CD CD CD CD
mismo mapa K con dos
soluciones correctas AB 0 1 0 0 AB 0 1 0 0
similares.
AB 0 1 1 1 AB 0 1 1 1
AB 0 0 0 1 AB 0 0 0 1
AB 1 1 0 1 AB 1 1 0 1
Solución
1. Multiplique el primer término para obtener y A B C D CD ABC D, que
se encuentra ahora en la forma SOP.
2. Para el término A B C D sólo necesita colocar un 1 en la casilla A B C D del mapa
K (figura 4-17). Para el término CD coloque un 1 en todas las casillas que tengan
CD en sus etiquetas: A B CD, ABCD, ABCD, AB CD. Para el término ABC coloque
un 1 en todas las casillas que tengan un ABC en sus etiquetas: ABCD, ABCD. Para
el término D coloque un 1 en todas las casillas que tengan una D en sus etique-
tas: en todas las casillas de las columnas más a la izquierda y más a la derecha.
AB 1 1 0 1
AB 1 1 0 1
AB 1 1 1 1
y = AB + C + D
Ahora el mapa K está lleno y puede agruparse para simplificar la expresión. Verifi-
que que un agrupamiento apropiado produzca la expresión y AB C D.
142 CAPÍTULO 4/CIRCUITOS LÓGICOS COMBINACIONALES
EJEMPLO 4-15 Vamos a diseñar un circuito lógico que controla la puerta de un elevador en un
edificio de tres pisos. El circuito de la figura 4-19(a) tiene cuatro entradas. M es una
señal lógica que indica cuando se mueve el elevador (M 1) o cuando está detenido
(M 0). F1, F2 y F3 son señales indicadoras de cada piso que, por lo general, están
en BAJO, y cambian a ALTO sólo cuando el elevador está posicionado en ese piso.
Por ejemplo, cuando el elevador está alineado con el segundo piso, F2 1 y F1
F3 0. La salida del circuito es la señal ABIERTO que, por lo general, está en BAJO
y cambia a ALTO cuando se va a abrir la puerta del elevador.
Podemos llenar la tabla de verdad para la salida ABIERTO [Figura 4-19(b)] de la
siguiente manera:
1. Como el elevador no puede alinearse con más de un piso a la vez, sólo una de las
entradas de los pisos puede estar en ALTO en un momento dado. Esto significa
que todos aquellos casos en la tabla de verdad en los que más de una entrada de
piso esté en 1 serán condiciones de “no importa”. Podemos colocar una x en la
SECCIÓN 4-5/MÉTODO DE MAPAS DE KARNAUGH 143
(a) (b)
F2 F3 F2 F3 F2 F3 F2 F3 F2 F3 F2 F3 F2 F3 F2 F3
M F1 0 1 X 1 M F1 0 1 1 1
M F1 1 X X X M F1 1 1 1 1
M F1 0 X X X M F1 0 0 0 0
M F1 0 0 X 0 M F1 0 0 0 0
columna de la salida ABIERTO para los ocho casos en los que más de una entra-
da F es 1.
2. Si analizamos los otros ocho casos, cuando M 1 el elevador se está moviendo,
por lo que ABIERTO debe ser un 0 ya que no deseamos que se abra la puerta del
elevador. Cuando M 0 (el elevador está detenido) queremos que ABIERTO 1
siempre y cuando una de las entradas de piso sea 1. Cuando M 0 y todas las
entradas de piso son 0, el elevador está detenido pero no está alineado en forma
apropiada con ninguno de los pisos, por lo que queremos que ABIERTO 0 para
mantener la puerta cerrada.
Resumen
El proceso de mapa K tiene varias ventajas en comparación con el método algebrai-
co. El mapeo K es un proceso más ordenado, con pasos bien definidos en comparación
con el proceso de prueba y error que se utiliza algunas veces en la simplificación alge-
braica. Por lo general, el mapeo K requiere menos pasos, en especial para las expre-
siones que contienen muchos términos, y siempre produce una expresión mínima.
144 CAPÍTULO 4/CIRCUITOS LÓGICOS COMBINACIONALES
PREGUNTAS DE REPASO 1. Utilice el mapeo K para obtener la expresión del ejemplo 4-7.
2. Utilice el mapeo K para obtener la expresión del ejemplo 4-8. Aquí se debe enfa-
tizar la ventaja del mapeo K para expresiones que contengan muchos términos.
3. Obtenga la expresión del ejemplo 4-9, utilizando un mapa K.
4. ¿Qué es una condición de “no importa”?
OR exclusivo
Considere el circuito lógico de la figura 4-20(a). La expresión de salida de este cir-
cuito es
x AB AB
FIGURA 4-20 A A B x
(a) Circuito OR A
0 0 0
exclusivo y su tabla B
B 0 1 1
de verdad; (b) símbolo 1 0 1
tradicional de la AB 1 1 0
compuerta XOR; x = AB + AB
(c) símbolo IEEE/ANSI
para la compuerta XOR. AB
A
B
(a)
x=A⊕B
A = AB + AB A
=1 x=A⊕B
B B
(c)
(b)
SECCIÓN 4-6/CIRCUITOS OR EXCLUSIVO Y NOR EXCLUSIVO 145
La tabla de verdad que acompaña a este circuito muestra que x 1 para dos casos:
A 0, B 1 (el término AB) y A 1, B 0 (el término AB). En otras palabras:
Este circuito produce una salida en ALTO siempre que las dos entradas se
encuentran en los niveles opuestos.
xAB
x AB AB A B
2. Su salida está en ALTO sólo cuando las dos entradas se encuentran en niveles
distintos.
Hay varios CIs disponibles que contienen compuertas XOR. Los que se listan a
continuación son chips que contienen cuatro compuertas XOR.
NOR exclusivo
El circuito NOR exclusivo (que se abrevia como XNOR) opera en forma completa-
mente opuesta al circuito XOR. La figura 4-21(a) muestra un circuito XNOR y su
tabla de verdad correspondiente. La expresión de salida es
x AB A B
lo cual indica junto con la tabla de verdad que x será 1 para dos casos: A B 1 (el
término AB) y A B 0 (el término A B). En otras palabras:
El circuito XNOR produce una salida en ALTO siempre que las dos entradas
se encuentran en el mismo nivel.
De todo esto podemos deducir que la salida del circuito XNOR es el inverso
exacto de la salida del circuito XOR. El símbolo tradicional para una compuerta
146 CAPÍTULO 4/CIRCUITOS LÓGICOS COMBINACIONALES
FIGURA 4-21
(a) Circuito NOR A
exclusivo; (b) símbolo
A A B x
tradicional para la AB
compuerta XNOR; 0 0 1
B
(c) símbolo IEEE/ANSI. B 0 1 0
1 0 0
1 1 1
x = AB +AB
B
AB
A
(a)
A x = A ⊕ B = AB + AB A x=A⊕B
=1
B B
(b) (c)
XNOR se obtiene con sólo agregar un pequeño círculo en la salida del símbolo XOR
[figura 4-21(b)]. El símbolo IEEE/ANSI agrega el pequeño triángulo en la salida del
símbolo XOR. Ambos símbolos indican una salida que cambia a su estado de activo
en BAJO cuando sólo una de las entradas está en ALTO.
La compuerta XNOR también tiene sólo dos entradas, y las combina de manera
que su salida sea
x AB A B
xAB
x AB A B A B
2. Su salida está en ALTO sólo cando las dos entradas se encuentran en el mismo
nivel.
Hay varios CIs disponibles que contienen compuertas XNOR. Los que se listan
a continuación son chips que contienen cuatro compuertas XNOR.
Sin embargo, cada uno de estos chips consta de circuitos con salida especial que
limita su uso a ciertos tipos especiales de aplicaciones. Es muy común que un dise-
ñador lógico obtenga la función XNOR con sólo conectar la salida de una compuerta
XOR a un INVERSOR.
EJEMPLO 4-16 Determine la forma de onda de salida para las formas de onda de entrada que se
muestran en la figura 4-22.
t0 t1 t2 t3
Solución
La forma de onda de salida se obtiene mediante el hecho de que la salida XOR esta-
rá en ALTO sólo cuando sus entradas se encuentren en distintos niveles. La forma
de onda de salida resultante revela varios puntos interesantes:
EJEMPLO 4-17 La notación x1x0 representa un número binario de dos bits que puede tener cual-
quier valor (00, 01, 10 o 11); por ejemplo, cuando x1 1 y x0 0 el número binario es
10, y así sucesivamente. De manera similar, y1y0 representa otro número binario de
dos bits. Diseñe un circuito lógico en el que utilice las entradas x1, x0, y1 y y0, y cuya
salida esté en ALTO sólo cuando los dos números binarios x1x0 y y1y0 sean iguales.
Solución
El primer paso es construir una tabla de verdad para las 16 condiciones de entrada
(tabla 4-4). La salida z debe estar en ALTO siempre que los valores de x1x0 concuer-
den con los valores de y1y0; esto es, siempre que x1 y1 y x0 y0. La tabla muestra
que hay cuatro de esos casos. Ahora podríamos continuar con el procedimiento nor-
mal, que sería obtener una expresión de suma de productos para z, tratar de simpli-
ficarla y después implementar el resultado. No obstante, la naturaleza de este
problema lo hace ideal para que se implemente mediante el uso de compuertas
XNOR, y con un poco de pensamiento se producirá una solución simple con el míni-
mo esfuerzo. Consulte la figura 4-23; en este diagrama lógico, x1 y y1 se alimentan de
148 CAPÍTULO 4/CIRCUITOS LÓGICOS COMBINACIONALES
TABLA 4-4
x1 x0 y1 y0 z (Salida)
0 0 0 0 1
0 0 0 1 0
0 0 1 0 0
0 0 1 1 0
0 1 0 0 0
0 1 0 1 1
0 1 1 0 0
0 1 1 1 0
1 0 0 0 0
1 0 0 1 0
1 0 1 0 1
1 0 1 1 0
1 1 0 0 0
1 1 0 1 0
1 1 1 0 0
1 1 1 1 1
EJEMPLO 4-18 Al simplificar la expresión para la salida de un circuito lógico combinacional, tal vez
se encuentre con las operaciones XOR o XNOR cuando esté factorizando. A menudo
esto nos lleva a utilizar compuertas XOR o XNOR en la implementación del circuito
final. Para ilustrar lo anterior, simplifique el circuito de la figura 4-24(a).
Solución
La expresión sin simplificar para el circuito se obtiene como
z ABCD A B C D A D
z AD(BC B C) A D
SECCIÓN 4-7/GENERADOR Y COMPROBADOR DE PARIDAD 149
ABCD
AD
(a)
AD(B ⊕ C)
B B⊕C
C z = AD (B ⊕ C) + AD
A A + D = AD
D
(b)
FIGURA 4-24 El ejemplo 4-18, que muestra cómo puede usarse una compuerta XNOR
para simplificar la implementación de un circuito.
A primera instancia podría pensar que la expresión entre paréntesis puede sus-
tituirse por un 1. Pero eso sería cierto sólo si la expresión fuera BC BC. Debería
reconocer la operación entre paréntesis como la combinación XNOR de B y C. Este
hecho puede usarse para volver a implementar el circuito como se muestra en la
figura 4-24(b). Este circuito es mucho más simple que el original, ya que utiliza com-
puertas con menos entradas y se han eliminado dos INVERSORES.
PREGUNTAS DE REPASO 1. Use álgebra booleana para demostrar que la expresión de salida de la compuer-
ta XNOR es el inverso exacto de la expresión de salida de la compuerta XOR.
2. ¿Cuál es la salida de una compuerta XNOR cuando se conectan a sus entradas
una señal lógica y su inverso exacto?
3. Un diseñador lógico necesita un INVERSOR, y todo lo que hay disponible es
una compuerta XOR de un chip 74HC86. ¿Necesita otro chip?
Datos D2
originales Paridad (P)
D1
D0 Datos
transmitidos
con el bit
de paridad
(a)
D3
Error (E)
Del D2 { 1 = error
transmisor 0 = sin error }
D1
D0
(b)
FIGURA 4-25 Compuertas XOR utilizadas para implementar (a) el generador de paridad y
(b) el comprobador de paridad para un sistema con paridad par.
EJEMPLO 4-19 Determine la salida del generador de paridad para cada uno de los siguientes con-
juntos de datos de entrada, D3D2D1D0: (a) 0111; (b) 1001; (c) 0000; (d) 0100. Consulte
la figura 4-25(a).
Solución
Para cada caso, aplique los niveles de datos a las entradas del generador de paridad
y rastréelas a través de cada compuerta, hacia la salida P. Los resultados son: (a) 1;
(b) 0; (c) 0; y (d) 1. Observe que P es 1 sólo cuando los datos originales contienen un
número impar de 1s. Por ende, el número total de 1s que se envíen al receptor (datos
paridad) será par.
SECCIÓN 4-8/CIRCUITOS DE HABILITACIÓN/DESHABILITACIÓN 151
EJEMPLO 4-20 Determine la salida del comprobador de paridad [vea la figura 4-25(b)] para cada
uno de los siguientes conjuntos de datos del transmisor:
P D3 D2 D1 D0
(a) 0 1 0 1 0
(b) 1 1 1 1 0
(c) 1 1 1 1 1
(d) 1 0 0 0 0
Solución
Para cada caso, aplique estos niveles a las entradas del comprobador de paridad
y rastréelos a través de las compuertas hacia la salida E. Los resultados son: (a) 0;
(b) 0; (c) 1; (d) 1. Observe que se produce un 1 en E sólo cuando aparece un número
impar de 1s en las entradas que van hacia el comprobador de paridad. Esto indica
que se ha producido un error, ya que se está utilizando la paridad par.
HABILITAR DESHABILITAR
A x =A A x=0
B=1 B=0
A x =A A x=1
B=1 B=0
A x =A A x=1
B=0 B=1
A x =A A x=0
B=0 B=1
FIGURA 4-26 Las cuatro compuertas básicas pueden habilitar o deshabilitar el paso de una
señal de entrada A, por medio del nivel lógico en la entrada de control B.
152 CAPÍTULO 4/CIRCUITOS LÓGICOS COMBINACIONALES
EJEMPLO 4-21 Diseñe un circuito lógico que permita que una señal pase a la salida sólo cuando las
entradas de control B y C estén ambas en ALTO; en caso contrario, la salida deberá
permanecer en BAJO.
Solución
Debe usarse una compuerta AND, ya que la señal debe pasarse sin invertir y la con-
dición de salida de deshabilitación es un nivel BAJO. Como la condición de habili-
tación debe ocurrir sólo cuando B C 1 se debe usar una compuerta AND de tres
entradas, como muestra la figura 4-27(a).
FIGURA 4-27
Ejemplos 4-21 y 4-22.
A x
A x B
B
C C
(a) (b)
EJEMPLO 4-22 Diseñe un circuito lógico que permita que una señal pase hacia la salida sólo cuando
una (pero no ambas) de sus entradas de control esté en ALTO; en caso contrario, la
salida permanecerá en ALTO.
Solución
El resultado se dibuja en la figura 4-27(b). Se utiliza una compuerta OR porque quere-
mos que la condición de deshabilitación de la salida sea un nivel ALTO, y no queremos
invertir la señal. Las entradas de control B y C se combinan en una compuerta XNOR.
Cuando B y C son distintas, la compuerta XNOR envía un nivel BAJO para habilitar
la compuerta OR. Cuando B y C son iguales, la compuerta XNOR envía un nivel ALTO
para deshabilitar la compuerta OR.
EJEMPLO 4-23 Diseñe un circuito lógico con la señal de entrada A, la entrada de control B y las
salidas X y Y, que opere de la siguiente manera:
Solución
Las dos salidas serán 0 cuando estén deshabilitadas y seguirán a la señal de entrada
cuando estén habilitadas. Por lo tanto, debe utilizarse una compuerta AND para cada
salida. Como X se debe habilitar cuando B 1, su compuerta AND debe estar contro-
lada por B, como muestra la figura 4-28. Como Y se debe habilitar cuando B 0, su
compuerta AND está controlada por B. Al circuito de la figura 4-28 se le conoce como
circuito de dirección de pulso, ya que dirige el pulso de entrada hacia una salida o la
otra, dependiendo de B.
PREGUNTAS DE REPASO 1. Diseñe un circuito lógico con tres entradas A, B, C y una salida que cambie a
BAJO sólo cuando A esté en ALTO mientras que B y C sean distintas.
2. ¿Cuáles compuertas lógicas producen una salida de 1 en el estado deshabili-
tado?
3. ¿Cuáles compuertas lógicas pasan el inverso de la señal de entrada cuando se
habilitan?
14 13 12 11 10 9 8
Muesca
Chip de
Esquina biselada
silicio
Terminal 8
Terminal 1
Terminal 14 Terminal 1
(c) (d)
FIGURA 4-29 (a) Encapsulado dual en línea (DIP); (b) vista superior; (c) el chip de silicio es mucho más pequeño
que el encapsulado protector; (d) encapsulado PLCC.
TABLA 4-5
Complejidad Compuertas por chip
Integración a pequeña escala (SSI) Menos de 12
Integración a mediana escala (MSI) De 12 a 99
Integración a gran escala (LSI) De 100 a 9999
Integración a muy grande escala (VLSI) De 10,000 a 99,999
Integración a ultra gran escala (ULSI) De 100,000 a 999,999
Integración a giga escala (GSI) 1,000,000 o más
Todos los CIs específicos a los que se hizo referencia en el capítulo 3 y en este
capítulo son chips SSI con un número pequeño de compuertas. En los sistemas digi-
tales modernos, los dispositivos con integración a mediana escala (MSI) e integra-
ción a gran escala (LSI, VLSI, ULSI, GSI) realizan la mayor parte de las funciones
que alguna vez requirieron de varios tableros de circuitos llenos de dispositivos SSI.
No obstante, los chips SSI se siguen utilizando como “interfaz” o “pegamento” entre
estos chips más complejos. Los CIs de pequeña escala facilitan el aprendizaje de los
fundamentos de los sistemas digitales. En consecuencia, muchos cursos basados en
laboratorio utilizan estos CIs para construir y probar pequeños proyectos.
Ahora el mundo industrial de la electrónica digital se ha concentrado en los
dispositivos lógicos programables (PLDs) para implementar un sistema digital de
cualquier tamaño. Algunos PLDs simples están disponibles en encapsulados DIP,
SECCIÓN 4-9/CARACTERÍSTICAS BÁSICAS DE LOS CIS DIGITALES 155
pero los dispositivos lógicos programables más complejos requieren muchas más ter-
minales de las que están disponibles en los DIPs. Los circuitos integrados más
grandes que tal vez necesiten extraerse de un circuito para sustituirlos, por lo gene-
ral, se fabrican en un encapsulado de soporte de chip de plástico con contactos
(PLCC). La figura 4-29(d) muestra el EPM 7128SLC84 de Altera en un encapsulado
PLCC, el cual es un PLD muy popular que se utiliza en muchos cursos de laboratorio.
Las características clave de este chip son más terminales, un tamaño más compacto,
y terminales alrededor de todo su perímetro. Observe que la terminal 1 no está “en
la esquina” como en el DIP, sino en medio de la parte superior del encapsulado.
+VDD
+VCC (14)
(14)
3.6 k⍀ 1.6 k⍀ 115 ⍀
R1 R2 R4
Q1
Q4 Entrada A
(1) Salida
(2)
D2
Q2
Q1 Q2 Salida
y (2)
Entrada A GND
Q3
(1) (7)
(b)
D1 1 k⍀
R3
Número
de terminal
GND(7)
(a)
FIGURA 4-30 (a) Circuito INVERSOR TTL; (b) Circuito INVERSOR CMOS. Los números de terminales se
muestran entre paréntesis.
La familia TTL fue la familia líder de CIs en las categorías SSI y MSI hasta hace
aproximadamente 12 años. Desde entonces la familia de semiconductor metal-óxi-
do complementario (CMOS) ha desplazado gradualmente a la familia TTL de esa
posición. La familia CMOS pertenece a la clase de CIs digitales unipolares, ya que
utiliza MOSFETs de canal P y N como elementos principales del circuito. La figura
4-30(b) es un circuito INVERSOR CMOS estándar. Si comparamos los circuitos TTL
y CMOS de la figura 4-30, es evidente que la versión CMOS utiliza menos componen-
tes. Ésta es una de las principales ventajas de CMOS en comparación con TTL.
156 CAPÍTULO 4/CIRCUITOS LÓGICOS COMBINACIONALES
Familia TTL
La familia lógica TTL consiste en realidad de varias subfamilias o series. La tabla
4-6 lista el nombre de cada serie TTL, junto con la designación de prefijo que se
utiliza para identificar los distintos CIs como parte de esa serie. Por ejemplo, los
CIs que forman parte de la serie TTL estándar tienen un número de identificación
que comienza con 74. Los CIs 7402, 7438 y 74123 son de esta serie. De igual forma,
los CIs que forman parte de la serie TTL Schottky de bajo consumo de energía tie-
nen un número de identificación que comienza con 74LS. Los CIs 74LS02, 74LS38 y
74LS123 son ejemplos de dispositivos de ésta.
Las principales diferencias en las diversas series TTL tienen que ver con sus
características eléctricas tales como la disipación de potencia y la velocidad de con-
mutación. No difieren en cuanto a la distribución de las terminales o las operacio-
nes lógicas realizadas por los circuitos en el chip. Por ejemplo, los CIs 7404, 74S04,
74LS04, 74AS04 y 74ALS04 son circuitos de INVERSORES, cada uno de los cuales
contiene seis INVERSORES en un solo chip.
Familia CMOS
Actualmente existen varias series CMOS, algunas de ellas se listan en la tabla 4-7.
La serie 4000 es la más antigua. Esta serie contiene muchas de las mismas funciones
lógicas que la familia TTL, pero no se diseñó para ser compatible con las terminales
de los dispositivos TTL. Por ejemplo, el chip NOR cuádruple 4001 contiene cuatro
compuertas NOR de dos entradas, al igual que el chip 7402 TTL, pero las entradas
y las salidas de las compuertas en el chip CMOS no tienen los mismos números de
terminales que las señales correspondientes en el chip TTL.
Las series CMOS 74C, 74HC, 74HCT, 74AC y 74ACT son más recientes. Las pri-
meras tres son compatibles con las terminales de los dispositivos TTL con numera-
ciones correspondientes. Por ejemplo, los dispositivos 74C02, 74HC02 y 74HCT02
tienen la misma distribución de terminales que el 7402, 74LS02, y así en lo sucesivo.
Las series 74HC y 74HCT operan a una mayor velocidad que los dispositivos 74C.
La serie 74HCT está diseñada para ser eléctricamente compatible con los dispositi-
vos TTL; esto es, un circuito integrado 74HCT puede conectarse en forma directa
con los dispositivos TTL sin necesidad de circuitos que actúen como interfaz. Las
series 74AC y 74ACT son CIs de desempeño avanzado. Ninguno es compatible con
las terminales de los circuitos TTL. Los dispositivos 74ACT son eléctricamente com-
patibles con los circuitos TTL. En el capítulo 8 exploraremos las diversas series TTL
y CMOS con más detalle.
SECCIÓN 4-9/CARACTERÍSTICAS BÁSICAS DE LOS CIS DIGITALES 157
Alimentación y tierra
Para usar CIs digitales es necesario realizar las conexiones apropiadas a las termina-
les del CI. Las conexiones más importantes son: alimentación de corriente directa(cd)
y tierra. Estas conexiones son requeridas para que los circuitos en el chip operen
en forma correcta. En la figura 4-30 podemos ver que tanto el circuito TTL como
CMOS tienen un voltaje de alimentación de cd conectado a una de sus terminales, y
tierra en la otra. La terminal de voltaje de alimentación se etiqueta como VCC para
el circuito TTL y como VDD para el circuito CMOS. Muchos de los circuitos integra-
dos CMOS más recientes que están diseñados para ser compatibles con los circuitos
integrados TTL también utilizan la designación VCC en dicha terminal.
Si el CI no se conecta al voltaje de alimentación o a tierra, las compuertas lógi-
cas en el chip no responderán en forma apropiada a las entradas lógicas y las com-
puertas no producirán los niveles lógicos de salida esperados.
2.0 V . . . Indeterminado
Indeterminado
1.5 V . . .
0.8 V . . .
0 LÓGICO
0 LÓGICO
0V... 0V...
*VDD = + 5 V
(a) (b)
Una entrada TTL flotante actúa justo igual que un 1 lógico. En otras palabras, el
CI responderá como si se le hubiera aplicado un nivel lógico ALTO. Esta caracterís-
tica se utiliza a menudo cuando se prueba un circuito TTL. Un técnico descuidado
podría dejar ciertas entradas desconectadas en vez de conectarlas a un nivel lógico
ALTO. Aunque esto es “lógicamente” correcto no es una práctica recomendada, en
especial cuando se trata de diseños de circuitos finales, ya que la entrada TTL flo-
tante es muy susceptible de recoger señales de ruido que podrían afectar en forma
adversa la operación del dispositivo.
En algunas compuertas TTL, una entrada flotante puede indicar un nivel de
corriente directa de entre 1.4 y 1.8 V, si se comprueba con un voltímetro o un oscilos-
copio. Aun y cuando estos valores se encuentran en el intervalo indeterminado para
TTL, producirá la misma respuesta que un 1 lógico. Es importante tener en cuenta
esta característica de una entrada TTL flotante al diagnosticar fallas en circuitos
TTL ya que puede ser de gran ayuda.
Si una entrada CMOS se deja flotante, pueden producirse resultados desastro-