P. 1
M Morris Mano Dise o Digital 3B

M Morris Mano Dise o Digital 3B

|Views: 2.875|Likes:
Publicado porgercour

More info:

Published by: gercour on Oct 26, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

09/21/2013

pdf

text

original

PR

1
2
3
CONTENIDO
CIO
ISTEMAS BINARIOS
.,
·2
· 3
..
·5
·6
·7
·8
-9
Sistemas digitales
N ú m e ( Q ~ _ .. . _ .. __
!9 a d :h( d autor
Conversiones de base numérica
Números octales y hexadecimales
Complementos
Números binarios con signo
Códigos binarios
Almacenamiento binario y registros
Lógica binaria
I
3
5
7
9
13
16
2'
27
LGEBRA BOOLEANA Y COMPUERTAS GICAS
,
·6
7
Definiciones básicas
Definición axiomática del álgebra booleana
Teoremas y propiedades básicos del álgebra booleana
Funciones booleanas
Formas canónicas y estándar
Otras operaciones lógicas
Compuertas lógicas digitales
Circuitos integrados
33
34
31
40
44
51
53
59
INIMIZACIÓN EN EL NIVEL DE CO UERTAS
,
El método del mapa
Mapa de cuatro variables
M fI Ipr
6.
70

IX
1
33
64
, d
,
vi Contenido
3-3 Mapa de cinco variables 74
3-4 Simplificación de producto de sumas 76
3-5 Condiciones de indiferencia 80
3-6 Implementación con NANO y NOR 82
3-7 Otras implementaciones de dos niveles 89
3-8 Función OR exclusivo 94
3-'
Lenguaje de descripción de hardware (HOl) 99
4 LÓGICA COMBINACIONAL 711
4-1 Circuitos combinacionales 1/1
4-2 Procedimiento de análisis 1/2
4-3 Procedimiento de diseño 1/5
4-4 Sumador-restador binario 119
4-5 Sumador decimal 129
4-6 Multiplicador binario 131
4-7 Comparador de magnitudes 133
4-8 Decodificadores 134
4-, Codificadores 139
4-10 Multiplexores 141
4-11 HDL para circuitos combinacionales 147
S LÓGICA SECUENCIAL SINCRÓNICA 167
5-1 Circuitos secuenciales 167
5-2 Latches 169
5-3 Flip-flops 172
5-4 Análisis de circuitos secuenciales con reloj 180
S-S HOl para circuitos secuenciales 190
5-6 Reducción y asignación de estados 198
5-7 Procedimiento de diseño 203
6 REGISTROS Y CONTADORES 217
6-1 Registros 217
6-2 Registros de desplazamiento 219
6-3 Contadores de rizo 227
6-4 Contadores sincrónicos 232
6-5 Otros contadores 239
6-6 HDL para registros y contadores 244
7 MEMORIA Y LÓGICA PROGRAMABLE 255
7-1 Introducción 255
7-2 Memoria de acceso aleatorio 256
7-3 Decodificación de memoria 262
Mar rr3.1 protegido por derechos de 3Ur')r
8
2
u

7-5
7-6
7-7
Zdi
Detección y corrección de errores
Memoria de sólo lectura
Arreglo de lógica programable
Arreglo lógico programable
Dispositivos programables secuenciales
NIVEL DE TRANSFERENCIA DE REGISTROS
8-1
8-2
8-3
8-4
8-5
8-7
8-8
8-9
Notación de nivel de transferencia de registros (RTL)
Nivel de transferencia de registros en HDL
Máquinas de estados algoritmicas
Ejemplo de diseno
Descripción del ejemplo de diseno en HOL
Multiplicador binario
Lógica de control
Descripción del multiplicador binario en HOl
Diseño con multiplexores
lÓGICA SECUENCIAl ASINCRÓNICA
Introducción
Procedimiento de análisis
Circuitos con latches
procedimiento de diseño
Reducción de estados y de tablas de flujo
Asignación de estado sin carreras
Peligros
Ejemplo de diseño
CIRCUITOS INTEGRADOS DI GITALES
____
10-2 Caracterfsticas especiales
10-3 Caracteristicas de transistor bipolar
10-6
EXPERIMENTOS DE LABORATORIO
]]-0
)].1
Introducción a experimentos
Números decimales y binarios
Contenido vii
267
270
27.
280
283
2!ll
293
299
304
310
HZ
32 ,
32.
32S
ill
lli
ill
360
367
374
379
ru
128
400
ill
1J1B.
4'0
420
m
ill
421
430
437
442
291
342
398
4E
PREFACIO
diseño digital se ocupa del diseño de circuitos electrónicos digital es. Los circuitos digitales
en el diseño y construcción de sistemas como computadoras digitales. comunica-
datos. gmbación digital y muchas otras aplicaciones que requieren hardware di gital. Es-
libro presenla las hrT-:'-Pi " ..... ,--¡;-- _ 1 .J, __ •. .J . --'---litos digitales y proporciona los
empleados en el diseño de sistemas digitales. Será muy útil como tex-
de un CUI1lO introductori o dentro de un programa de estudios de ingeniería el&:trica, inge-
en compUlación o cienci as de la computación.
Muchas de las características de esta tercera edición siguen siendo las mi smas que las de
anteriores, salvo por el reacomodo del material o cambios en el enfoque debidos a
en la tccnologfa. Los circuitos combinacionales se abordan en un capftul o en vez de
como en la edición anterior. El capítulo sobre circuitos Sttuenci ales hace hincapi6 en el
ron flip-flops D en lugar de nip-flops JK y SR. El materi al sobre memori a y lógica pro-
se ha combinado en un capítulo. El capftulo 8 se ha modificado prua incluir los proce-
de diseño en el ni vel de transferencia de registros (RTL).
La principal modificación en la tercera edición es la inclusión de secciones sobre el Lengua-
de Descripción de Hardware (HDL) Verilog. El malerial sobre HOL se ha insertado en sec-
aparle de modo que el profesor pueda dec idir c6mo incorpornrl o n s u curso. La
liene un nivel apropiado para estudianles que están aprendiendo circuitos digita-
y un lenguaje de descripción de hardware al mismo tiempo.
• Los circuilos digitales se introducen en los capítulos I aJ 3: en la sección 3-9 se hace una
introducción a Verilog HDL.
• El HOL se trala más a fondo en la sección 4-11 despu6s de estudiarse los circuiloS com-
bi nacionales.
• Los circuitos secuenciales se tratan en los capítulos 5 y 6, con ejemplos en HOL en las
secciones 5-5 y 5-6.
• La descripción HOL de la memoria se presenta en la sección 7-2.
"
x Prefacio
• Los sfmbolos RTL empleados en Verilog HDL se presentan en la sección 8-2.
• Se dan ejemplos de descri pciones HOL en los niveles RTL y estructural en las seccio-
nes 8-5 y 8-8.
• La sección 10- 10 cubre el modelado en el nivel de interruplOres que corresponde a los
circuitos CMOS.
• La sección 11 -9 complementa los experimentos de hardware del capftulo II con expe-
rimentos en HDL Ahom los circui tos diseñados en el laboratorio se pueden verificar
con la ayuda de componentes de hardware o con si mulación HDL o ambas cosas.
El CD-ROM que acompaña al libro contiene los archivos en código fue nte Verilog HDL pa-
ra tos ejempl os del li bro. además de dos simuladores conesfa de SynaptiCAD. El primer si mu-
lador es VeriLogger Pro. un si mulador tradicional de Verilog que servirá para si mul ar los
ejempl os en HDL del li bro y comprobar las soluciones a los problemas en HDL. El segundo
es un nuevo tipo de tccnologfa de simulación: un Simul ador Interacth·o. Este programa pcnni-
te a los ingenieros simular y analizar ideas de diseño antes de contar con un modelo o esque-
ma completo de simulación. Esta tecnología es de especial util idad parJ. los porque
pueden introducir rápidamente ecuaciones booleanas y de entradas de nip-nop O o latch para
veri ficar la equivalencia o experimentar con ni p-nops y diseños de latches. Se incl uyen cur-
sos rápidos en fonna de archivos HTML en la presentación Aac¡h del CD-ROM. y en fonnade
archivos MS Word en el din:ctorio instalado SynaptiCAD bajo Book Tutorials.
Hay más recursos en un sitio Web acompañante. httpl/www.prenh:t11.comlmano. En él se pue-
den bajar todos los ejemplos en Verilog HDL del libro. todas las figuras y tablas del libro en
formato POr. cursos breves sobre el uso dcl softW!lre Verilog del CD-ROM. )' mucho más.
A continuación se describen brevemente los temas que se tratan en cada capítulo. haciendo
hi ncapié en los cambios efcclUados paro la tercera edición.
El capítulo 1 presenta los divCTSOS sistemas binarios apropiados para R:presentar informa-
ción en sistemas digitales. Se explica elsistcma numérico binario y se ilustran los códigos bi-
narios. Se dan ejemplos de suma y resta de números binarios con signo y de números decimales
en BCD.
El capftulo 2 introduce los postul ados básicos del ál gebra booleana y muestra la correla-
ción entre las expresiones booleanas y los diagramas lógicos correspondientes. Se investigan
todas IIiS posibles operaciones lógicliS con dos variables para encontrar las compuertas lógicas
más útiles en el di seño de sistemas digitales. En este capit ulo se menc ionan las característi-
cas de las compuenas de circuitos integrados pero se deja para d capft ulo 10 un análisis más
a fondo de los circuitos electrónicos de dichliS compuenas.
El capítulo 3 cubre el método del milpa para simpli fi car expresiones booleanas. Ese méto-
do también sirve para si mplifi car circuitos digi tales construidos con compuenas ANO-OR.
NANO o NOR. Se considernn todos los demás circuitos que pueden ronnarse con dos nh'eles
de compuenas y se expl.ica su método de implementación. Se introduce Veri log HOL junto
con ejemplos sencillos de modcJado en el nivel de compuertas.
El capítulo 4 bosqueja los procedimientos fonnales pam. analizar y di señar circuitos com-
binacionales. Se presentan como ejemplos de diseño algunos componentes básicos empleados
en el diseño de sistemas di gi tales, como sumadores y convenidore..c¡ de código. Se expl ican las
funciones de lógica di gital de uso más común. como el sumador y rest:ldor parJ.lelo.los deco-
dificadores. codificadores y multiplexores. con ilustraciones de su uso en el diseño de circui-
tos combinncional es. Se dan ejemplos en HDL de modelado cn el ni vel de compucnas. flujo
de datos y componamiento. para mostrar las di fcrentes foml as con que se cuenta para deseri-
Mat r -:¡l protegido r.f derechos dE> "lL!')r
Prefacio xi
bir circuitos combinacionales en Verilog HOL. Se presema el plocedimiemo para escribir un
conjunto sencillo de pruebas que suministre estfmulos a un diseño HDL.
El eapUulo S delinea los pnxedimientos formales para el análisis y disei'lo de circuitos se-
cuenciales sincronicos con reloj. Se presenta la e.<;tructuru de compuertas de varios tipos de
flip-fl ops. junto con una explicación de las diferencias entre el disparo por ni vel y por borde.
Se induyen ejemplos espedlicos pam explicar cómo se deduce la tabla de estados y el diagra-
ma de estados al analizar un circuito secuencial. Se presentan varios ejemplos específicos ha-
ciendo hincapié en los circuitos secuenciales que utilizan tlip-fl ops tipo D. Se expl.ica el
modelado del comportamiento de circuitos secuenciales en Veri log HDL. proporcionando ejem-
plos en HDL que ilustran los modelos Mealy y Moore de circuitos secuenciales.
El caprtulo 6 se ocupa de diversos componente. .. de los circuitos secuenciales. como regi s-
tros. registros de dc.splazamiento y contadores. Estos componentes digitales son los bloques bá-
sicos con los que se construyen sistema.<; digitales más complejos. Se presentan descripciones
He regi stros de desplazamiento y contadores en HDL.
El capítulo 7 trata la memoria de acceso aleatorio (RAM) y los di spositivos lógicos progra-
mables. Se explica la decodifi cación de memoria y los esquemas de com:cción de errores. Se
presentan di spositivos programllbles combinacionales y secuenciales. como ROM. PAL. CPLD
y FPGA.
El capítulo 8 se ocupa de la representación de sistemas digitales en el nivel de transferen-
cia de registros (RTL). Se introduce el diagrama de máquina de est.'ldos algorítmica (ASM). Va-
rios ejemplos iluslrnn el uso del diagrama ASM. la represemación R1L y la descripción HDL
en el disei\o de sistemas digitales. Este capítulo es el más importante del libro. pues prepara 01
estudiante para proyectos de di seño más avanzados.
El capnulo 9 presenta procedimientos formales para el análisis y disei'lo de circuitos se-
cuenciales asincrónicos. Se bosquejan métodos para implementar un circuito secuencial asin-
crónico como circuito combinacional con retroalimentación. También se describe una
implementación alterna que usa latches SR como elementos de almacenamiento en circuitos
secuenciales asincronicos.
El capitulo 10 presenta las f a m i l i a . ~ de lógica digital más comunes para circuitos integra-
dos. Se analizun los circuitos electrónicos de la compuerta común en cada familia. empleando
teoria de circuitos elktricos. Se requi eren conocimientos básicos de electrónica para entender
cabalmente el material de este capftulo. Los ejemplos de descripciones Verilog en el nivel de
interruptores ilustran la cnpacidnd para si mular circuitos construidos con transistores MOS y
eMOS.
El caprtulo 11 delinen experi mentos que se pueden efectuar en ellaboralorlo con hardwa-
re que se consigue con facilidad en el comerci o. Se explica el funcionami ento de los circuitos
integrados empleados en los experimentos haciendo referencia a diagramas de componentes si-
milares presentados en capítulos anteriores. Cada experimento se presenta de manera infonnnl
y se espera que el e.<;tudiante dibuj e el dingrama de circuitos y formule un procedimiento para
"enlicar el funcionamiento del circuito en el laboratorio. La 61tima sección complementa los
experimentos con los correspondientes en HDL En vez de construir los circuitos en hardwa-
re. o además de hacerlo. el estudiante podrá utilizar el software de Verilog HDL incluido en el
CD-ROM para simular y verificar el diseño.
El capítulo 12 presenta los sfmbol os gráficos esuindar que una norma ANSlnEEE reco-
mienda para las funciones lógicas. Estos símbolos gráficos se crearon para componentes SSI
y MSI, con el fin de: que el usuario tenga posibilidad de reconocer cada función a partir del sfm-
bolo gráfico único que tiene asignado. Este caprtulo muestra los sfmbolos gráficos estándar de
Mal 1"'11 proJP.Qido "lnr derer.hos df' :]L'f')r
xi!

Prefacio
los circuitos integrados que ~ emplean en los experimentos de laboratorio. Los di versos com-
ponentes digi tales que se representan en todo el libro son si mi lares a los circuitos integrados
comerciales. Sin embargo. el texto no menciona circuitos integrados espedficos. con la ex-
cepción de los capftulos 11 y 12. La aplicación práctica del diseño digital será más provecho-
sa si se efecuían los experimentos sugeridos en el capflUlo J l mientras se estudia la teoria
presentada en el lexto.
Cada capftulo incluye una lista de referencias y un conjunto de problemas. Al final delli·
bro se brindan las respuestas de problemas seleccionodos como ayuda paro el estudiante y pa.
ra el lector independiente. El profesor puede solicitar un manual de soluciones (en inglés) a la
casa editorial.
Quiero agradecer a Charles Kime por danne a conocer Veri log. Mi nlayor deuda es con
Jack Levine por guiarme y revisar las secciones, ejemplos y soluciones a problemas de todo el
material sobre Veri log HDL. Gracias a Tom Robbins por su estímulo para decidinne a escribir
la tercera edición. y a mi edi tor. Erie Fmnk. por su paciencia durame toda la revisión. Quiero
expresar mi aprecio a Gary Covington y Donna Mitchell. quienes proporcionaron el CD-ROM
de SynaptiCad. Mi agradecimiento también a quiene.<¡ revisaron la tercem edición: Thomas G.
Johnson, California Sta/e Uni\'ersit)': Umi! Uyar. Gi/)' Unil'usir)' of New York: Thomas L. Dra·
ke, Clemson Universi/)'; y Richard Molyet. Ulliversil)' of Toledo. Por último. doy las gracias a
mi esposa Sandm por animarme a real i7.ar este proyecto.
M. MORRIS MANO
Mal rnl protegido p?f derechos da 'lul')r
Sistemas binarios
1- ISTEMAS DIGITALES
sistemas digitales desempei\an un papel tan destacado en la vida cotidiana que el actual
tecnológico se conoce como "era digital" . Los sistemas digitales se utilizan en eomu-
transacciones de negocios. control de tráfico. navegación espacial, tratamiento mé·
monitoreo meteorológico. I",eme! y muchas empresas comerciales. industriales y
Tenemos teléfonos digital es. televisión digital, di scos versátiles digitales. cámaras
y. de!>de luego. computadoras digitales. La propiedad más notable de la computado-
digital es su generalidad. Es capaz de seguir una secuencia de instrucci ones, llamada pro-
que opera con cienos datos. El usuario puede especificar y modificar el programa o los
según necesidades detenninadas. Gracias 11 esta flexibilidad, las computadoras digitales
uso general son capaces de realizar diversas tateas de procesamiento de información que eu-
una amplia gama de aplicaciones.
Una característica de los sistemas digitales es su capacidad para manipular elementos dis-
de infonnación. Todo conjunto reslringido a un número finito de elementos contiene
discreta. Ejemplos de conjuntos di scretos son los 10 dfgitos decimales. las 26 le-
del alfabeto. los 52 naipes de la baraja común y las 64 casillas de un tablero de
primeras computadoras digitales se usaron para efcctuar dlculos numéricos. En este ca-
los elemenlOS discretos que se usaron fueron los dígitos. El. digilal surgió de esta
En un sistema digital. los elementos discretos de infonnación se representan me-
cantidades físicas ll amadas señales. Las más comunes son señales el&=tricas, como vol-
y comentes. En los circuitos que implememan dichas señales predominan los dispositivos
llamados transistores. En casi lodos los sistemas digitales electrónicos actuales, las
emplean sólo dos valores discretos. por lo que decimos que son binarios. Un dígito bi-
llamado bit, tiene dos valores: O y 1. Los elementos di scretos de infonnaci6n se repre-
con grupos de bits ll amados c6digos binarios. Por ejemplo. los dígitos decimales O a 9
representan en un sistema digital con un código de cuatro bits. Mediante el uso de diversas
posible hacer que los grupos de bits representen símbolos di scretos, y luego usar-
1
,.

2 Capítulo 1 Sistemas binarios
los parn desarrollar el sistema en un fonnato digi tal. Así, un sistema digital es un que
manipula elementos discretos de infonnación representados internamente en forma binaria.
Las cantidades di scretas de infonnación podrfan surgi r de la naturale7.a de los datos proce-
sados. o bien cuanti zarse a partir de un proce..w continuo. Por ejemplo, una li sta de nómina es
un proceso inherentemente discreto que contiene nombres de empleados. números de seguro
social, salarios quincenales, impuestos sobre la renta. etcétera. El cheque de paga de un em·
pleado se procesa empleando valores discretos de d3t OS como las letras del alfabeto (nombres).
los dígitos (salario) y símbolos especiales (como $). Por otra pane. un im'estigador científico
podría observar un proceso conti nuo. pero registrar úni camente cantidades especificas en foro
ma tabular. Así. el cientlfico está cuantil.ando sus datos conti nuos. haciendo que cada cifra de
su tabla sea una cantidad discreta. En muchos casos. un convenidor analógico a digital pue·
de efectuar automáticamente la cuantización de un proceso.
La computadora di gi tal de uso general es el ejempl o más conocido de un sistema digi tal . Las
panes principales de una computadora son la unidad de memoria. la unidad central de proce-
samiento y las unidades de entrada y salida. La unidad de memori a guarda los programas. en-
tradas. salidas y datos intennedios. La unidad central de procesamiento reali:r.a operaciones
aritméticas y otros operaciones de procesamiento de datos por el programa. El
programa y los datos que el usuari o preparó se transfieren a la memoria medi ant e un disposi-
tivo de enlrada.. como un teclado. Un di sposi tivo de salida. por ejemplo. una impresora, reci·
be los resultndos de los cálculos y presenta al usuario los resultados impresos. Las computadoras
di gitales pueden manejar muchos dispositivos de entrada y salida. Uno muy úti l es la unidad
de comuni caci6n que pcnni te interact uar con Otros usuarios a través de Internet . Las compu-
tadoras di gitales son instrumentos potentes capaces de efeclUar no sólo cálcul os ari tméticos si-
no tambi én operaciones l6gica.. ... Además, se les puede programar par,¡ que tomen decisiones
con base en condi ciones internas y externas.
Hay razones de peso para incluir circuitos digitales en productos comerciales. Al igual que
las di gitales, casi todos los disposit ivos digitales son programabl es. Si modifi·
camos el programa de un di spositivo programable, podremos usar el mi smo hardware para
muchas aplicaciones distintas. El costo de los dispositivos digitales ha bajado dr:1. .. ticamente gr,¡-
cias a los adelantos en la tecnología de los circuitos integrados A medida que aumen-
ta el número de transistores que es posible incluir en un trozo de silicio. a fin de producir
funciones compl ejas. el costo po!" unidad baja y el precio de los dispositivos digi tal es se redu-
ce. Los equipos construidos con circuitos integrados digi tales pueden efectuar cientos de mi·
llones de operaciones por segundo. Es posible extremar la fiabilidad con que operan los sistema. ..
digital es empleando códigos de corrección de Un ejempl o de esto es el disco digital
versát il (OVO, digito/w!rSoti{e disk), en el que se graba. inronnaci6n digit.al que contiene ví·
deo. audio y otros tipos de datos, sin perder un solo elemento. La infOfTTlaciÓll digital de un OVO
se graba de fonna tal que. al exami narse el código de cada muestro digital antes de reproducir
su información. es posible identificar y corregir automáticament e cualquier error.
Un sistema digital es una interconexi6n de módulos di gitales. Si queremos entender cómo
funci ona cada módulo digital. necesitaremos conocimienlos básicos de circuitos di gitales y de
su función lógica. Los primeros siete capítulos del libro presentan las herrnmientas básicas del
diseño digital, como las estructuras de compuertas 16gicas. los circuitos combinacionales y se·
cuenciales. y los di spositivos lógicos El capítulo 8 present a el di seño di gital en
el ni vel de transferencia de registros (RTL. register tran:ifer lel'el). Los capfl ulos 9 y 10 se ocu·
pan de los circuitos secuenciales asi ncróni cos y de las diversas rami lias de lógica digital inte.
grada. Los capítul os I1 y 12 presentan los circuitos integrados comercial es y cómo
se pueden conectar en cllaborotori o para reali7N experimentos con circuitos digitales.
Mal 'JI pro <:Ir de 'lL.: or
Sección 1-2 Números binarios 3
Una tendencia importante en el eampo del diseño digital es el uso del lenguaje de descrip-
ci ón de hardware (HDL./umiwurt: Jescriplion IOllguoge). HDL se parece a los lenguajes de pro-
gramación y pennite describir circuitos digitales en forma textual. Sirve para simular sistemas
di gitales 'i verificar su funcionamiento antes de crearlos en hardware. También se utiliz.a jun-
to con herramientas de sfntesis lógica para aUlontalizar el diseño. Presentaremos en todo elli-
bro descripciones de circuitos digital es en HDL.
Como ya se explicó antes. los sistemas digitales manipulan cantidades discretas de infor-
mación que se representan en forma bi naria. Los operandos de los cálculos podrian expresar-
se en el sistema numérico binario. Otros elementos discretos. como los dígitos decimales. se
representan con códigos bi narios. Los datos se procesan empleando señales binarias manipu-
ladas por elementos lógicos binarios. las cantidades se guurdan en elementos de almacenamien-
10 binarios. El objetivo de este eapftulo es presentar los diversos conceptos binarios COntO
marco de referencia paro. los temas que se estudiarán en los capltulos siguientes.
,
1-2 NUM EROS BINARIOS
Un número decimal. como 7.392. representa una cantidad igual a 7 millares más 3 centenas.
más 9 decenas. más 2 unidades. Los millares. centenas, etcétera, son potencias de 10 que están
implfcilas en la posición de los coeficientes. Si queremos ser más exllCIos. deberíamos escri -
bir 7.392 asf:
7 x J(}1 + 3 x l<f + 9 x 10
1
+ 2 x 100
No obstante, por convención. se escriben únicamente los coeficientes y se deducen las po-
tlmcias necesarias de JO de la posición que di chos coeficientes ocupan. En general , un núme-
ro con punto decimal se representa con una serie de coeficienles. asf:
y,s o¡ son cualesquiera de los la dfgitos (O. 1.2 . ... ,9); el valor del sublndicej in-
dica el valordc posición y. por tanto, la potencia de 10 por la que se deberá multiplicar ese coe-
Esto puede expresarse asf:
10'05 + 10404 + l()lo) + ¡Q2al + 10
1
" 1 + 10000 + 10-
1
° _ 1 + 10-
2
° _2 + 10- )o_)
Decimos que el sistema decimal es base 10 porque usa 10 dígitos y los coeficien-
tes se multiplican por potencias de la. El sistema billorio es un sistema numérico diferente. Sus
coeficient es sólo pueden tener dos valores: O o l. Cada coeficiente 0j se multiplica por i . Por
ejemplo. el equi\'alente decimal del número binario 11010. 11 es 26.75. como puede verse si
multiplicamos los coeficientes por potencias de 2:
1 X 2( + I X 2) + O X 2
2
+ I X 2
1
+ O X 2° + 1 X r
l
+ I X r
2
"" 26.75
En general. un número expresado en un sistema base' , consiste en coeficient es que se multi-
plican por potencias de r:.
11 • • ,... + 11. _
1
' ,... - 1 + ... + 0 2 • ,.2 + a l • , + Uo + tLl • , - 1 + 0 _l ' , - 2 + ... + a ... • , --
El valor de los coeficientes Oj varia entre O y , - l . Para di stinguir entre números con diferen-
te base. encerramos los coeficienles en paréntesis y aftadi mos un subfndice que indica la base
empleada (aunque a \'cces se hace una excepción en el caso de los números decimales. si por
el contexto es obvio que la base es 10). Un ejemplo de número base 5 es
Mat r 'll protegido p?f derechos da "3.ut')r
4 Capitulo 1 Sist emas binarios
(402 1.2h = 4 X 53 + O x + 2 X 51 + 1 x SJ + 2 X 5-
1
= (511.4)10
Los valores de los coeficientes en base 5 sólo pueden ser O. 1. 2.3 Y 4. El sistema numéri co
octal es un sistema base S que tiene ocho dígitos: O, 1, 2, 3.4, 5. 6 Y 7. Un ejempl o de núme-
ro octal es 127.4. Para detenninar su valor decimal equivalent e. expandimos el número como
una serie de potencias con base 8:
( 127.4), = 1 x Sl + 2 X Si + 7 x 'if' + 4 X 8-
1
= (87.5)10
Advierta que los dfgitos 8 y 9 no pueden aparecer en un número octal.
Se acostumbra tomar del sistema deci mal los r dfgitos requeridos si la base del número es
menor que 10. y utiliz.¡u- las letras del alfabeto para compl ementar los 10 dfgitos decimales si
la base del número es mayor que 10. Por ejemplo. en el sistema numérico huodecimal (base
16). los primeros 10 dfgitos se toman del sistema decimal. y se usan las A. B. C. D. E Y
F pam los dígitos 10. 11 , 12. 13, 14 y 15, respectivamente. He aquí un ejemplo de número he-
xadecimal:
( B65F)16"" 11 x 16
J
+ 6 X Itr + 5 x 16
'
+ 15 x 16° = (46.687)10
Como ya se seHaló, los dfgitos de los números binarios se llaman bits. Si un bi t c.<; igual a
O, no contri buye a la suma durante la conversión. Por tanto. la conversión de binario a deci-
mal puede efectuarse sumando los números con pOlencias de 2 correspondientes a los bits
que son l . Por ejemplo.
( 110101)2 = 32 + 16 + 4 + I = (53)'0
Este número binario ti ene cuatro unos. El número decimal equivalente es la suma de las cua-
tro potencias de 2 correspondientes. En la tabla 1-1 se presentan los primeros 24 números que
se obtienen al elevar 2 a la n potencia. En computación, llamamos K (kilo) a 2
10
• M (mega) u
2
20
, G (giga) a 2
30
y T(tero)a2
01O
. Asf. 4K "" 2
11
"" 4096 Y 16M = = 16.777,2 16. La ca-
pacidad de las computadoras por lo regular se da en bytes. Un b)'le es igual a ocho bits y pue-
de representar un carácter del teclado. Un di sco duro pam computadora con capacidad de 4
gigabytes puede almacenar 4G = 2
31
bytes (aproximadamente 4,000 millones de bytes).
Las operaciones aritméticas con números base r siguen las mi smas reglas que los números
decimales. Cuando se ut ili 7.a una base distinta de la conocida base 10, hay que tener cuidado
T.bl. 1-1
dos

2n

2.

2.
O 1 8 256 16 65.536
1 2 O 512 17 13 1.072
2
,
10 1.024 18 262.1 44
3 8 II 2.048 lO 524.288
,
16 12 4,096 20 1.048.576
5 32 13 8.192 21 2.097, 152
6 64
l'
16,384 22 4.194.304
7 128 15 32.768 23 8.388.608
protegido por derechos de '11..: or
1
Sección ' -3 Conversiones de base numérica 5
de usar únicamente los rdfgilos permitidos. He aquí ejemplos de suma. resta y multiplicación de
dos números binarios:
sumando: 101101
sumando: + 100111
minuendo:
sustraendo:
suma: 1010100 diferencia:
101101
- 100111
(XX) I 10
muhi pl icando:
multiplicador:
producto:
1011
X 101
1011
0000
1011
110111
La suma de dos números binarios se calcula emplenndo las reglas de In suma deci -
mal, excepto que los dígitos de la suma en toda posición signi ficativa sólo pueden ser O o ¡.
Cual quier acarreo que se genere en una posición significativa dada se sumará a1 par de dígitos
que está en la sigui ente posición significati va más alta. La resta es un poco más complicada.
Las reglas siguen siendo las de la resta decimal. sólo que el pr6itamo en una posiciÓn signi fi -
cati va dada suma 2 al dígito del minuendo. (En el sistema decimal, un pr6itamo suma 10 al df-
gito del minuendo.) La mulliplicación es muy sencilla. Los dfgitos del mulliplicador siempre
son I o O: por tanto. los productos parciales o bien son iguales al multiplicando. o son O.
1-3 CONVERSIONES DE BASE NUMÉRICA
La conversión de un número base r a decimal se efectúa ellpandiendo el número a uno serie de
potencias y sumando todos los como ya se explicó. A continuación presentaremos
un procedimiento general para la operación inversa de convertir un número decimal en un nú-
mero base r . Si el número lleva punto. será necesario separar la parte entera de la pane frac-
cionaria, pues cada pane se conviene de manera distima. La conversión de un entero decimal
en un número base r se efectúa dividiendo el número y todos sus cocientes sucesivos entre r y
acumulando los residuos. La mejor fonna de expli car el procedimiemo es con un ejemplo.
Convenir 41 decimal a binario. Primero. se divide 41 entre 2 para dar un cociente emero de 20
y un residuo de i. Se vuelve a dividir el cociente emre 2 paro dar un nuevo cociente y un nue-
vo residuo. El proceso se continúa hasta que el cociente entero es O. Los coeficientes del nú-
mero binario deseado se obtienen a partir de los como sigue:
Cociente
entero R.,¡,Juo Coelkiente
41 /2 = 20
+
1
"o = I
20/2 = 10 + O
al "" O
10/2 = 5 + O DI = O
5/2 = 2 +
1
a] = 1
2/2 = 1 + O a.¡ = O
1/2 = O +
1
a j = 1
Por tanto, la respuesta es (41) 10 = ( a, a4U.l al al aoh = (101001)1
M' r protegido por 'echo de ul')r
,
6
I
,
Capítulo 1 Sistemas binarios
El proceso ari tmético se puede plantear de fonna más conveniente como sigue:
Entero
41
20
10
5
2
1
O
Residuo
1
O
O
1
O
1 I O I 00 1 = respuesta
La conversión de enteros decimales a cualquier sistema base re. .. si milar a este ejemplo.
sólo que se divide cnlre r en vez de entre 2.

Converti r 153 decimal a octal. La base , en este caso es 8. Primero di vidimos 153 entre 8 pa-
ra obtener un cociente entero de 19 y un residuo de l . Luego dividimos 19 entre 8 para obte-
ner un cociente cntero de 2 y un residuo de 3. Por último, dividimos 2 entre 8 para obtener un
cociente de O y un residuo de 2. Este proceso se puede plantear asf:
153
lO
2
O
1
~ L = (231),
La conversión de una fracción decimal a bi nario se efectúa con un método similar al que se
utiliza con enteros, pero se multiplica en lugar de dividir y se acumulan enteros en vez de re-
siduos. En este: caso. también. la mejor ellplicaci6n es un ejempl o.

Convenir (0.6875)10 a binario. Primero. mult iplicamos 0.6875 por 2 pam obtener un entero
y una fracción. La nueva rracción se multiplica por 2 para dar un nuevo entero y una nueva
rmeción. El proceso se continua hasta que la rmeción es O o hasta que se ti enen sufi cientes
dfgitos para la precisión deseada. Los coeficientes de l nu.mero binario se obtienen de los en-
teros. asf:
0.6875 x 2 ::::
0.3750 x 2 ::::
Entero
1
O
+
+
Fracción
0.3750
0.7500
Coeficiente
Q_ I = I
a _2:: O
0.7500 x 2 E: I + 0 . .5000 Q _ ) :: I
0.5000 x 2 :: I + 0.0000 o ..... :: I
Por tanto, la respuesta es (0.6875)10 "" (0.0_,0_10_10 .... )2 = (0.1011 h
Mar 'JI prOiP.gido ':Ir derf>Chos de '1U ':Ir
8 Capítulo 1 Sistemas bInarios
Tabla 1-2
NÚIMI'OJ con diftrentt boJt
D.dmal -"'Iarlo Octol Hu rHkclmol
(lHue JO) (II."". 2) (bax 1) (/Hu< 16¡
00 0000 00 O
01 <XXlI 01 1
02 0010 02 2
03 001 1 03 3
04 0100 04 4
O, 0]01 O,
,
06 O] 10 06

07 011 1 07 7
08 1<XXl lO
,
09 1001 11 9
lO 1010 12 A
11 1011 13 B
12 1100 14 e
13 1101
"
D
14 11 10
,.
E
"
11 11 17 F
La conversión de binario a hexadecimal es similar, sólo que el número binario se divide en
grupos de cuatro drgitos:
( lO
2
11 00
e
0110 1011 .
6 B
1 1 1 I
F
OOIOh = (2C6B.F2)'1>
2
Es fácil recordar el dfgilo hexadecimal (u oclal) que corresponde a cada grupo de dígitos bi·
narios si se examinan los valores de la labIa 1-2.
La conversión de OCIa! o hexadecimal a bi nario se hace invirtiendo el procedimient o anle-
ri or. Cada dfgilo octal se convierte a su equivalente binario de tres dfgitos. Asi mi smo. cada df·
gi to hexadecimal se convi erte en su equival ente bi nario de cuat ro dígitos. Los ejemplos
siguientes ilustran el procededimiento:
(673.124), = ( 11 0 11 1 011

001 010 100 )2
6 7 3 1
,
4
-
Y
(306.0 )1& = ( 0011 0000 0 11 0

110 1 ),
3 O 6 O
Es dificil trabajar con números binarios porque requieren tres o cualtO veces más dfgitos que
sus equivalentes decimales. Por ejemplo. el n ú ~ r o binario 11 111 111 11 11 equivale al4095 de·
cimal. No obstante, las computadoras di gi tales emplean números binarios y hay ocasiones en
que el operador o usuario humano necesita comunicarse directamente con la máquina emplean-
do números binarios. Un esquem, que retiene el sistema binario en la computadora. pero re-
duce el número de dfgitos que la persona debe considerar. aproveeha la relación entre el sistema
Mal r,ll protegido ~ r derechos da ';l.l.t')r
Sección 1-S Complementos 9
numérico binario y los sistelruls octal y hexadecimal. Con ese método, lo persona piensa en tér-
minos de números octales o hexadecimales y efectúa la conversión requerida por inspección
cuando se hace necesaria la comunicllci6n directa con la máquina. Asf, el número binario
II11111111II tiene 12 dígitos y se expresa en octal como 7777 (cuatro dígitos) y en hexade-
cimal como FFF (tres dfgit os). Cuando dos personas hablan entre si (acerca de números bino-
rios en la computadora), la representación octal o hexadocimal es más deseable porque se puede
expresar de manera má. .. compacta con una tercera o cuana parte de los drgitos requeridos pa-
ra el ñúmero binario equivalente. Por ello, casi todos Jos manuale. .. de computadora utili7.an nú-
meros octales o hexadecimales para especificar cantidades binarias. La selección de cualquiera
de estos dos sistemas es arbittarill, aunque se suele preferir el hexadecimal porque puede re-
presentar un byte con dos dígi tos.
1-S COMPLEMENTOS
En las computadoras digi tales se usan complementos para si mplificar la operación de resta y
para efectuar manipulaciones 16gicas. Hay dos ti pos de complementos para cada sistema base
r: el complemento a la base y el complemento a la base di sminuida. El primero se denomina
complemento a r, mientras que el segundo es el complemento a (r - 1). Si sustituimos el va-
lor de la base r en estos nonlbres, los dós ti pos son el complemento a dos y el complemento a
uno, en el caso de los números binarios, y el complemento a diez y el complemento n nueve
en el caso de los números deci mal es.
Complemento a la base disminuida
Dado un número N en base rque tiene n dígitos, el complemento a (r - 1) de N se define co-
mo (r" - 1) - N. En el caso de números decimales, r = 10 Y r - 1 = 9, asf que el comple-
mento a nueve de N es (10" - 1) - N. En este caso, 10" representa un número que consiste
en un uno seguido de n ceros. 10" - 1 es un número representado por n nueves. Por ejemplo,
si n = 4, tenemos 10' = 10,000 Y 10' - I = 9999. De esto se sigue que el complemento a
nueve de un número decimal se obtiene restando cada dígi to a nueve. He aquí algunos ejem-
plos numéricos:
El complemento a nueve de 546700 es 999999 - 546700 = 453299.
El compl emento a nueve de 012398 es 999999 - 012398 = 987601.
En el caso de los números bi narios. r = 2 Y r - I = l . as! que el complemento a uno de
N es (2" - 1) - N. Aquí se representa con un número binario que consiste en un
uno seguido de n ceros. 2" - 1 es un número binario representado por n unos. Por ejemplo, si
n = 4, tenemos 2· = (Icxxx)>z Y z4 - 1 :::: (1111 h. Asf, el complemento a uno de un núme-
ro binario .se obtiene restando cada dígito a uno. Sin embargo, al reSlar dígitos binarios a 1 po-
demos tener I - O = 1 o bien I - 1 = O, 10 que hace que el bit cambie de O a 1 o de I a O.
Por tanto, el complememo a uno de un número binario se fonna cambiando los unos a ceros y
los ceros a unos. He aquí algunos ejemplos numéricos:
El complemento a uno de 1011000 es 01001 11.
El complemento a uno de 0101 101 es 1010010.
Mat r 'JI protegido p?f derechos da 'lut')r
10 Capítulo 1 Sistemas binarios
El complemento a (, - 1) de los números octales y hexadecimales se obtiene restando cada
dígilo a 7 y F (15 decimal).
Complemento a la base
El complemento a , de un número N de n dígitos en base, se defi ne como , . - N. para
N :;. O. y O para N ". O. Si comparamos con el compl emento a (r - 1). veremos que el com-
plemento a r se obtiene sumando l al complemento a (r - 1), ya que r'" - N ". (,.... - 1) -
NJ + l. Así pues. el complemento a 10 del número decimal 2389 es 7610 + l ". 7611 . Y se
obtiene sumando 1 al valor del compl emento a nueve. El complemento JI dos del número bi·
nario 101100 es 01001 I + I = 010100. Y se obtiene sumando 1 al valor del complemento a
uno.
Puesto que 10" es un número que se representa con un uno seguido de n ceros. 10" - N. que
es el complemento a 10 de N. también puede formarse dejando como están todos los ceros
menos significati vos, restando a ID el primer dígito menos significativo di stinto de cero, y res-
lando a 9 los demás dígitos a la izquierdJl.
El compl emento a 10 de 012398 es 987602.
El complemento a 10 de 246700 es 753300.
El compl emento a 10 del primer número se obtiene restando 8 a lOen la posición menos sig-
nificati va y restando a 9 todos los demás dígi tos. El complemento a \O del segundo número se
obtiene dejando como están los dos ceros de la derecha. restando 7 a 10 y restando a 9 tos
otros tres dígitos.
De forma similar. el complemento a dos se forma dejando como están todos los ceros menos
signifi cUl ivos y el primer uno. y sustituyendo los unos por ceros y Jos ceros por unos en las
demlis posiciones a la izquierda.
El complememo a dos de 1101100 es 00 10 100.
El compl emento a dos de 011 0111 es 1001001.
El complemento a dos del pri mer número se obtiene dejando como están los dos ceros menos
significativos y el primer uno. y sustit uyendo después los unos por ceros y los ceros por unos
en las cuatro posiciones mlis significativas. El complemento a dos del segundo número se 01>-
tiene dejando como está el uno menos signifi cati vo y complementando todos los demás dígi-
tos a la i7.quierda.
En las defini ciones ameriores se supuso que los números no ll evan punto. Si el número N
original lleva punto. deberá quitarse temporalment e para fornlar el compl emento a , o a (, -
1), Y volver a colocarl o después en el número complementado en la mi sma posición relativa.
También vale la pena mencionar que el complemento del complemento restablece el valor
original del número. El complemento a , de N es r· - N. El compl emento del complemento
- (,.... - N) = N, o sea. el número ori gi nal.
Resta con complementos
El método directo que se ensena en la escuela primaria para restar uti liza el concepto de prés-
tamo. Pedimos prestado un uno de 111 siguiente posición más signifi cati va cuando el dfgito del
minuendo es menor que el del sustraendo. El método funciona bi en cuando se resta con lápiz
y papel. pero cuando la resta se implementa en hardware di gital el método es menos eficiente
que si se usan complementos.
Mó. "rI 11 protegido p?f derecho da iul')r
Sección 1-5 Complementos 11
La resta de dos números de n dígitos si n signo. M - N. en base r se efectúa así:
l._Sume el minuendo. M. al complemento 3 rdd sustraendo. N. Esto da M + (1"'" - N) =
M - N + 1"'".
2. Si M 2: N. la suma producirá un acarreo final . 1"'". que puede desecharse: lo que queda e.'i
el resultado M-N.
3. Si M < N. la suma no produce un OC:uTOO final y es igual a r'" - (N - M), que es el com-
plemento a r de (N - M). Pura obtener 13 respuesta en una fonna conocida. se toma el
complemento a r de la suma y se le antepone un signo de menos.
Los ejempl os que siguen ilustran el procedimiento:
Utilizando complemento a 10, restar 12532 - 3250.
M = 12532
Complemento 3 10 de N = + 96750
Suma = 169282
Desechar acarreo final 10' = - 100000
Respuesto = 69282

Observe que M ti ene cinco dígitos y N sólo tiene cuatro. Ambos números deben tener el mismo
número de dígitos. así que escribimos N como 03250, La obtención dd complemento a 10 de
N produce un nueve en la posición más significativa. El 3carreo final indica que M 2: N Y que
el resultado es positivo.
Utilizando compl emento a 10. restar 3250 - 72532.
No hay acarreo fin31.
M = 03250
Complemento a 10 de N = + 27468
Suma = 30718
Por tanto. la respuesta es - (complemento a 10 de 30718) = - 69282

Cabe señalar que. dado que 3250 < 72532, el resultado es negati vo. Puesto que estamos
manejando números sin signo. en realidad es imposible obtener un resultado sin signo para
este caso. Al restar con compl ementos. 13 respuesta negativa se reconoce por la ausencia de
acarreo final y por el resultado complementado. Cuando trabajamos con lápiz y papel .
podemos converti r la respuesta en un número negati vo con signo y así expresarlo en una
fonna conocida.
12 Capítulo 1 Sistemas binarios
Ln resta con complementos es similar en el caso de los números binarios, y se usa el pro-
cedimiento ya expuesto.
Dados los números bi narios X = 1010100 Y Y = 10000 11 . realizar las restas a) X - Y Y b)
Y - X empleando complementos a dos.
al
x ~
1010100
Complemento a dos de Y = + 01 11101
Suma = 10010001
Desechar acarreo final 2' = - 10000000
RtsputSla: X - Y = 0010001
b) -y = 1000011
Complemento a dos de X = + 0101100
Suma = 11 01111
No hay acarreo final.
Por tantO, la respuesta es Y - X = -(complemento a dos de 1101 J JI ) = -001000 1

Ln resta de números sin signo tambifn se puede efectuar usando el complemento a (r - 1).
Recordemos que el complemento a (r - 1) es uno menos que el complemento a r. Por ello, el
resultado de sumar el minuendo al complemento del sustraendo produce una suma uno menos
que la diferenci a correcta cuando hay acarreo final. Quitar el acarreo final y sumar 1 a la suma
se denomi na acarrto circular.
Repetir el ejempl o 1-7 empleando complemento a uno.
a) X - Y = 1010100 - 100001 1
X = 1010100
Complemento a uno de Y = + 0111100
Suma = 10010000
Acarreo circular = + 1
Rtsputsta: X - Y = 0010001
b) Y - X = 1000011 - 1010100
No hay acarreo final.
y = 1000011
Complemento a uno de X = + 0101011
Suma = 1101110
Por tanto, la respuesta es Y - X = - (complemento a uno de 1101110) = - 0010001

M a ' ~ r I 31 protegido por derecho!' de u ':Ir
1. Capítulo 1 Sistemas bInarios
Ta bla l·)
Números binarios con signo
Complemento _
Compl . ... ento a Magnitud
Dednud dos con signo uno con signo con signo
+7 Olll 0 111 011 1
+<
0110 0110 0110
+S 0101 0101 0101
t4 0100 0100 0100
+3 0011 0011 0011
+2 0010 0010 0010
+ 1 0001 0001 0001
+O 0000 0000 0000
-{)
-
11 11 1000
- 1 111 I 1110 1001
- 2 1110 1101 1010
- 3 1 101 11 00 1011
-4 1100 1011 1100
-,
1011 1010 I 101
-6 1010
1001 .
1 110
- 7 1001 1000 I 1 1 J
-,
1000
-
liene - 9 complementando todos los bits de +9. inclui do el bit de signo. La representación de
- 9 en complemenlo n dos con signo se obtiene lomando el compl emento a dos del número
positivo, incluido el bit de signo.
En la tabla 1-3 se mueslmn lodos los números bi narios de cualro bits con signo en las tres
representaciones. También se ha inclui do el número decimal equivalente como referencia. Ob-
serve que los números positivos son idénticos en las tre.¡¡ repre.o;e ntaciones, y tienen un cero en
la posición de extrema izquierda. El sistema de compl emento a dos con signo sólo tiene una
fonna de representar el cero, que siempre es positi vo. Los C)(fOS dos sistemas tienen un cero po-
siti vo y un cero negalivo, cosa que no se usa en la ari tmética ordi nari a, Adviena que lodos los
números negativos ti enen un uno en la posición de bit de extrema izquierda: así es como se dis-
linguen de los números posi ti vos. Es posible representar 16 números binarios con cuatro bits.
En las representaciones de magnitud con signo y complemento a uno con signo. hay ocho nú-

meros positi vos y ocho números negativos. inel ui dos dos ceros. En la representación de com-
plemento a dos. hay ocho números positivos. que incluyen un cero. y ocho numeros negati vos.
El sistema de magnitud con signo se usa en ari tmética ordinaria, pero resulla torpe en ari t-
de computadoras porque hay que manejar por scpamdo el signo y la magnitud. Es por
ello que nonnalmente se usa el complemento con signo. El complemento a uno conll eva cier-
tas dificuhades y casi nunca se emplea en opernciones aritméticas. Es úti l como oper.1Ción ló-
gica porque el cambi o de uno a cero o de cero a uno equivale a una oper.1Ci ón de complemento
lógico. como se vero en el siguiente capftulo. Ln explicación que sigue de la aritmética bina-
ri u con signo se ocupa exclusivamente de la representación de números negat ivos como com-
plemento a dos con signo. Se pueden aplicar los mi smos procedimientos al sistema de
complemento a uno con signo si se incl uye el acarreo ci rcular. como se hi zo en el caso de los
• ••
numeros 510 sIgno.
Mat protegido pt)r derechos de '1U ':Ir
,
Sección ' ·6 Números binari os con signo 15
Suma aritmét ica
Ln suma de dos números en el sistema de magnilUd con signo sigue las reglas de la aritmética
ordi nnria. Si los signos son iguales. sumamos las dos magnitudes y asignamos ese signo a la
suma. Si los signos son di stintos. se resta la magnitud menor a la mayor y se asigna al resulta·
doel signo de la magnitud mayor. Por ejemplo, (+25) + (-37) "'" - (37 - 25) "" - 12, y lo
hacemos restando la magnitud menor. 25. a la magnitud mayor. 37, Y usando el signo del 37
en el resullado. Este proceso requiere comparar los signos y las magnitude.c¡ para decidir entre
sumar o restar. El mismo procedimiento se usa con números binarios representados como mag-
nitud con signo. En contraste, la regla para sumar números en el sistema de compl emento con
signo no requiere comparnt ni restar. sólo sumar. El procedimiento es muy sencillo y puede plan-
tearse como sigue para los números binarios:
La sumn de dos números binarios con signo. representando los números negativos en for-
ma de complemento a dos con signo. se obtiene sumando los dos números. incluidos los bits
de signo. Si se genera un acarreo en la posición de bit del signo. se desecha.
He aquí ejemplos numéricos de sumas:
+ 6 00000 11 0 - 6 11 11 1010
+13 00001101 +13 00001 101
- -
+10 (XX) 1 001 1 + 7 00000111
+ 6 (XXX)(} 1 1 O -6 11111010
- 13
11110011
- 13
11110011
- -
- 7 1111 1001 - lO 11101101
Tome en cuenta que los números negativos deben estar inicialmente como complemento a
dos. y que si la suma obtenida es negativa. está en fonna de complemento a dos.
En los cuatro casos. la operación decluada es suma. e incluye el bit de signo. Cualquier aca-
rreo generado en la posición de bit del signo se desecha. y los resultados negativos están aUlo-
máti camente en forma de compl emento a dos.
Para obtener una respuesta corrcCttl.. hay que cuidar que el resultado tenga sufi cientes bits
paro dar cabida a la suma. Si partimos con dos números de n bits. y la suma ocupa n + J bi ts.
decimos que hay un desbordamiento. Cuando efectuamos la suma con lápiz y papel. los des-
bordamientos no representan un problema. porque no estamos limitados por la anchura de la
página. Simplemenle añadi mos otro O a un número positivo u otro 1 a un número negativo en
la posición más signi ficativa. a fin de extenderl os a n + 1 bi ts. y realizamos la suma. En las
computadoras el desbordamiento sr es un problema porque los números se almacenan en un nú-
mero fi nito de bits. y si el resultado excede ese número finito en 1, no cabrá
La representación de números negati vos como complementos resulta extraña para qui e-
nes están acostumbrados al sistema de magnitud con signo. Para detenninar el valor de un
número negativo en complemento a dos. es preciso conveni rl o en un número posilivo pa-
ra tenerl o en una forma más familiar. Por ejemplo. el número binario con signo 11111 00 1
es ncgntivo porque el bit de la extrema izquierda es l . Su complemento a dos es 00000 111.
que es el equivalente binario de + 7. Por tanlo. reconocemos el número negativo original
como - 7.
Mal rial protegido por derechos dfI :J.L'f')r
16 Capítulo 1 Sistemas binarios
Resta aritmét ica
La resta de dos números binarios con signo, cunndo los números negativos se represcntnn 00-
010 complement o a dos, es muy sencilla y se realiz.a así:
Obtenemos el complemento a dos del sustroendo (incluido el bit de signo) y lo sumamos al
minuendo (i ncluido el bit de signo). Si se genero un acarreo en la posición de bit del signo. se
desecha.
El procedimiento funciona porque una opernción de re..,ta se puede convertir en una opcro-
ción de suma si se cambia el signo del sustraendo. La relación que sigue lo demuestro:
(±A) - (+B) : (±A) + (- B);
(±A) - (- B) = (±A) + (+B).
La conversión de un número posi tivo en uno negati vo es fáci l si se obtiene su complemento
a dos. Lo opuesto también se cumple porque el complemento de un número negativo en for-
ma de conlplemento produce el núnlero positivo equivalente. Considere la resta de (-6) -
( - 13) :lE +7. En binario con ocho bits. esto se escribe como (11111010 - 1111(011). La
resta se conviene en suma obteniendo el complemento a dos del sustroendo ( - 13) paro dar
(+ 13). En binario. esto es 111 11010 + 00001101 = 100000111. Al eliminar el acarreo final.
obtendremos la respuesta correcta: 00000111 (+ 7).
Vale la pena señalar que los números binarios en el sistema de complemento con signo se
suman '1 reslan siguiendo las mi smas reglas básicas de suma '1 resta que los números si n sig-
no. Por ell o. computadoras sólo necesitan un circuito en hardwnre paro manejar ambos ti -
pos de El usuario o progral1'l3dor deberá interpretar de diferente manero los resul tados
de tales sumas o restas. dependiendo de si supone que los números tienen signo o no.
' -7 CÓDIGOS BINARIOS
Los sistemas digitales emplean señales que tienen dos valores disti ntos. y elementos de circuito
que ti enen dos estados estables. Existe una analogía di recta entre señale.., bi naria.", elementos
bi narios de circuito y dígitos binarios. Un número binario de n dfgitos. por ejempl o. podría re-
presentarse con n elementos binarios de circuito, cada uno de los cual es tiene una señal de sa-
lida equivalente a O o 1. Los sistemas digitales representan y manipulan no sólo números
binarios. sino tambi én muchos otros elementos discretos de información. Cualquier elemento
discreto de infonnación distinto dentro de un grupo de cantidades se puede representar con un
código binario. Los códigos deben estar en binario porque las sólo pueden al -
macenar unos y ceros. Debemos entender que los códigos binarios si mplemente cambian los
símbolos, no el significado de los elementos de información que representan. Si examinamos
al azar los bits de una computadora. "eremos que en la mayor parte de los casos representan
algún tipo de informaci ón codificada, no números binarios.
Un código binario de n bits es un grupo de n bits que puede tener hasta r combi naciones
distintas de unos y ceros: cada combinación representa un elemento del conjunto que se está
codificando. Un conj unto de cuatro elementos se puede codificar con dos bits. y a cada elemen-
to se asignará una de las combinaciones de bits siguientes: OO. DI. ID. 11 . Un conjunto de ocho
elementos requiere un código de treS bits. y uno de 16 elementos. un código de 4 bits. Las
combinaciones de bits de un código de n bits se deknni nan cont ando en bi nario desde O has-
ta 2" - t. Es preciso asignar a cada elemento unn combi nación distinta de bits: dos elemen-
Mat r 'JI protegido r.f derechos dE> 'jI t')
Sección ' -7 Códigos binari os 17
tos no pueden representarse con la misma combinación; en tal caso, la asignación
del código seria ambigua.
Aunque el número m("imo de bilS necesarios para codificar 2"' cantidades di stintas es n. no
hay un número máximo de bilS que pueda usarse para un código binario. Por ejemplo. los 10
dígitos decimales podrían codificarse con 10 bits. asignando a cada dígito decimal una com-
binación de nueve ceros y un uno. En este código binario específi co, se asignaría al dfgito 6 1a
combinación de bits 000 1000000.
Código BCD
Aunque el sistema numérico bi nari o es el más natural para una computadora. casi todas las per-
sonas están acost umbradas al sistema deci mal. Una forma de salvar esta diferencia es conver-
tir los números decimal es a binario. realizar todos los cálculos aritméticos en binario y luego
convertir los a decimal. Este método requiere almacenar los números decimales en
la computadora de modo que se puedan convertir a binario. Puesto que la computadora sólo
acepta valores bimlrios. cs necesario representar los dfgitos decimales con un código a base de
unos y ceros. También es JX.lSible efectuar las aritméticas directamente con núme-
ros decimal es si están almacenados en forma codificada en la computadora.
Un código binario tendrá algunas combinaciones de bit no asignadas si el número de ele-
ment os del conj unto no es un múltiplo una potencia de 2. Los 10 dfgitos deci males son un
conj unto asf. Un código binario que distinga 10 elementos deberá contener por 10 menos cua-
tro bi lS. pero seis de las 16 JX.lSibl es combinaciones quedarán sin asignarse. Es JX.lSibl e idear di-
ferentes códigos binarios para acomodar cuatro bits en 10 combinaciones distintas. El código
que más comúnmente se usa para Jos dígitos decimalc.'i es la asignación binaria di recta que se
presenta en la tabla 1-4. Se llama "decimal codificado en bi nario" y se le conoce comúnmente
como BCD. por sus siglas en inglés. Es JX.lSibl e usar otros códigos decimales. y se presentarán
algunos más adelante en esta sección.
La tabla 1-4 presenta el código de 4 bilS para cada dígito decimal. Un número con k dígi -
tos decimales requerirá 4k bits en BCD. El numero decimal 396 se representa en BCD con 12
bits. asf: 0011 1001 0110. Cada grupo de cuatro bits representa un número digital. Un núme-
Tabla 1-4
Decimal codificado en binario (BCD)
51mbolo D(glto
decimal BCD
O 0000
I llOOl
2 oolO
3 ooll
4 Oloo
,
0101
6 0110
7 01 J 1
8 1000
9 l OO I
Mat rnl protegido p?f derechos da "lul')r
18 Capítul o 1 Sistemas binarios
ro decimal en BCD sólo es igual a su nl1mero binario equivalente si el número está entre O y
9. Un número mayor que 10 se ve diferente en BCD que como número binario, aunque ambos
consistan en unos y ceros. Además, las combinaciones binarias 1010 a 1111 no se usan y ca-
reeen de significado en el código BCD. Considere el número decimal 185 y su valor corres-
pondiente en BCD y binario:
( 185)10:: (OOOII OOOOIOI)DC1> = (10111001)2
El valor en BCD tiene 12 bits, pero el número binario equivalente sólo necesita ocho bits. Es
obvio que un número BCD necesita más bits que su valor binario equivalente, pero el uso de
números decimaJes tiene ciena ventaja porque los dalos de entrada y salida de las computado-
ras se generon por y para personas que usan el sistema decimal.
Es imponante entender que los números BCD son números deci males, no bi narios. aunque
se representen con bits. La única diferencia enlte un número decimal y un BCD es que los de-
cimales se escriben con los símbolos O. 1. 2, ...• 9 Y los números BCD usan el código binario
0000, 0001, 0010, ...• 1001. E1 vaJor decimal es exactamente cl mismo. El ID decimal se re-
presentaen BCD con ocho bits: 00010000, Y el1 5 decimal, con 0001010 1. Los valores bi-
narios cOITe .. ;:pondientes son 1010 Y 1111 , Y sólo tienen cuatro bits.
Suma BCD

Considere la suma de dos dígitos decimales en BCD,junto con un posible acarreo dc un par
de dígitos anteriores, menos si gnifi cativos. Puesto que ni ngún dígit o es mayor que 9. la suma
no puede ser mayor que 9 + 9 + I = 19, dondeel l que se suma es el aCarreQque "se ll eva-
ba". Suponga que se suman los dígitos BCD como si fueron números binarios. Lu suma bina-
ria producirá un resultado dentro del intervalo de O a 19. En binario. dicho intervalo es de 0000
a 10011 . pero en BCD es de 0000 a 1 1001. donde el primer 1 es un acarreQ y los cuatro bits
siguientes son la suma de los dígitos BCD. Si la suma binaria es 1001 o menos (sin acarreo).
el dígito BCD correspondiente es correcto. Sin embargo, cuando la suma bi naria es IOJO o
m! ... el resultado es un dfgito BCD no váli do. La suma de 6 = (011 0)z a In suma binaria In con-
viene en el dígito correcto y también produce el acarreo necesario. Ell o se debe n que In dife-
rencia enlte un acarreo en la posición de bit más significativa de la suma binaria y un acarreo
decimal es de 16 - 10 = 6. Consideremos estas tres sumas BCD:
4 0100 4 0100 8 1000
+5 + 0101 +8 + 1000 +9 1001
- - -
9 1001 12 11 00 17 10001
+ 0110 +0110
10010 10111
En cada caso, los dos dígitos BCD se suman como si fueron dos números binarios. Si la
suma binaria es 1010 o más. se le suma Ol IO para obtener In suma correcta de drgitos BCD
y el acarreo. En el primer ejemplo, la suma es 9 y es la suma correcta de dfgitos BCD. En el
segundo ejemplo, In sumn binaria produce un dfgi lo BCD no válido. La suma de OlIO pro-
duce la suma de dígitos BCD correcta, 0010 (2), Y un acarreo. En el tercer ejemplo. la suma
binaria produce un acarreo. Esta condición se presenta cuando la suma es 16 o más. Aunque
los otros cuatro bits son menores que 1001. la suma binaria requiere una corrección debido
Mat 'JI pro ~ i d o 0f derechos de 'JL or
Sección 1-7 Códigos binarios 19
al acarreo. Al sumar 0110. se obtiene la suma de dígitos BCD requerida. O 111 (7). Y un aca-
mo BCD.
La suma de dos números BCD de n dígi los sin signo se efeclúa siguiendo el mi.smo proce-
dimiento. Consideremos la suma de 184 + 576 = 760 en BCD:
Acarreo BCD
Suma binari a
Sumar 6
Suma BCD
1
0001
+0101
0111 10000 1010
OliO OliO
0111 0110 0000
184
+576
760
El primer par de dfgilOs BCD (los menos significativos) produce una suma de dígitos
BCD de 0000 y un acarreo par.! el siguiente par de dígi tos. El segundo par de dígitos BCD
más el aclllTCo anleri or produce una suma de dfgilos de O 110 Y un paro el sigui ente
par de dfgitos. Elten::er par. más el aclllTCO. produce una suma binaria de 0111 que no requie-
re corrección.
Aritmética decimal
La representación de números decimales con signo en BCD es similar a la representación
de números con signo en binario. Se puede usar el sistema tan conocido de magnitud y sig-
no. o el de compl emento y signo. El signo de un número decimal por lo regular se represen-
ta con cuatro bits para ajustarse al código de cuatro bits de los dígitos decimales. Se
acost umbra designar el signo de más con cuatro ceros. y el menos. con el equi valente BCD
de 9. o sea. 1001.
El sistema de magnit ud con signo se usa poco en computación. El sistema de complemen-
10 con signo puede usar el compl emento a nueve o el compl emento a 10. pero eSle úllimo es
el más común. Para obtener el complemenlo a 10 de un número BCD. primero se obliene el
complement o a nueve y luego se suma I al dígi to menos signifi cativo. El compl emento a nue-
ve se calcul a reslando a 9 cada dígilo.
Los plOculimientos desarrollados para el sislema de complemento a dos con signo explica-
dos en la sección anterior también son válidos para el sistema de complemento a 10 con signo
que se usa con los números decimales. La suma se dectúa sumando todos los dfgitos. inclui-
do el dfgito del signo. y el tlCarrw fin/d. Esto supone que todos los números ncglJ-
tivos eslán en fonnade complemento a 10. Consideremos la suma (+375) + (- 240) = + 135.
efectuada en el sistema de compl emento con signo.
0375
+9760
O 135
El 9 en la posición eXlrema izquierda del segundo número representa un signo menos. y 9760
es el complemento a 10 de 0240. Los dos números se suman y se desecha el acarreo final pa-
ra obtener + 135. Desde luego. los números decimales dentro de la computadora deben eslar
.
,'11 prOl.egido fJOr derechos de '1t.: or
20 Capítulo 1 Sistemas binarios
en BCD. incl uidos los dfgitos del signo. La suma se efectúa con dfgi tos BCD. como ya se
expl icó.
La resta de números decimales. sea sin signo oen el sistema de complemento a 10 con sig-
no. es igual que en el caso binario. Se obtiene el complemento a 10 del sustraendo y se suma
al minuendo. Muchas computadoras tienen hardware especial para realizar cálculos aritméti ·
cos directamente con números decimales en BCD. El usuario de la computadorn puede espe-
cificar. con instrucciones programadas. que la operación aritmética se efectúe direcLamente
con números decimal es. para no tener que convertirlos a binari os.
Otros códigos decimales
Los códigos bi narios para dfgitos decimales requieren por lo menos cuatro bits por dfgito. Es
posible fonnular muchos códigos di stintps acomodando cuatro bi ts en 10 combinaciones di s-
tintas. En la tabla 1-5 se muestron el código BCD y ocres tres códigos representati vos. Cada
código utiliza sólo 10 combi naciones de bits. de las 16 posibles combinaciones que pueden for-
marse con cuatro bits. Las seis combinaciones no utilizadas en cada caso carecen de significa-
do y deben evitarse.
Los códigos BCD Y 242 1 son ejemplos de códigos ponderados. En un código ponderado.
se asigna a c;v!a posición de bit un factor de ponderación (o peso) de modo que cada degito pue-
da evaluarse sumando los pesos de todos los unos de la combinación codificada. Los pesos del
código BCD son 8. 4. 2 y 1. que corresponden a los valores de potencia de 2 de cada bit. Por
ejemplo. la asignación de bits 011 0 se interpreta por los pesos como 6 decimal. porque
8 x O + 4 X 1 + 2 X I + 1 x O = 6. La combi nación de b i t . ~ 11 0 1. ponderada con los pe.
sos respecti vos 242 1. da el equivalente decimal de 2 x 1 + 4 X I + 2 X O + 1 X I "" 7.
T.bl. 1-5
Cuatro códigos binarios distintos pora 101 digitOl decimolts
Digtlo BCD
decimal 8421 >421 EJcc:eso-J 84-2-1
O 0000 0000 0011 0000
1 0001 0001 0100 O 1 1 1
2 0010 0010 0101 0 1 1 0
3 0011 0011 01 10 0 101
4 0100 0100 0111 0 10 0
,
0101 1011 1000 1 011
6 OlIO 11 00 1001 tO l O
7 0111 1101 1010 100 1
8 1000 1110 1011 1 000

1001 111 I 1100 1 1 1 1
1010 0101 0000 000 1
Combinaciones 1011 0110 0001 0010
de bi ts 1100 0111 0010 O O 1 1
no ulili70das 1101 1000 1101 1 1 O O
1110 1001 1110 1 1 0 1
tlll 1010 11 11 1 1 10
Sección 1·7 Códigos binarios 21
Cabe señalar que es posibl e codificar algunos dígitos de dos rormas en el código 2421 . EI 4 de-
cimal se puede asignar a las combi naciones de bits 0100 o 1010, pues ambas dan un peso to-
Itl l de cuatro.
Los códigos 242 1 y exceso-3 (cxcess-3) son ejemplos de códigos tl ul ocomplementadores.
códigos poseen la propiedad de que el complemento ti nueve de un ",¡mero deci mtll se
obtiene directamente cllI11biando todos los ceros por unos y los unos por ceros en el código. Por
ejemplo. el número deci mal 395 se representa con 01 10 11 00 1000 en el código CAceso.3. El
complemento a nueve. 604, se representa con 1001 0011 0 111. que se obtiene simplemente com-
pl ementando cada bit del código (como se hace paro obtener el complemento ti uno de mI me-
ros binarios).
El código exceso-3 se usó en algunas computadoras viejas por su propiedad de tlulocompl e-
mentación. Se trala de un código no ponderado cn el que cada combinación codifi cada se oh-
tiene sumando 3 al valor binario correspondiente. Cabe señalnr que el código BCD no se
aUlocomplement a.
El código 8, 4, - 2, - 1 es un ejemplo de la asignación de pesos tanto positi vos como nega-
tivos a un código decimal. En estc caso, la combinación de bits 0110 se interpreta como un 2
dccimal y se calcula a partir de 8 X 0 + 4 X I + (-2) X I + (-1) X O = 2.
Código Gray
Los dalos de salida de muchos sistemas fisicos producen camidades que son continuas. Es ne-
«sano convenir esos datos a una fonna digital antes de aplicarse a un sistema digital. La in-
fonnación continua o analógica se conviene a untl forma digi tal con un convertidor tina lógico
a digital. Hay ocasiones en que conviene usar el código Grny que se mueslrn en la tabla 1-6 pa-
rJ. represent nr los datos di gitales obtenidos por conversión de datos analógicos. la ventaja del
Tabla ' -6
Código Gray
Código Equivale nte
G,." decimal
0000 O
0001 I
0011 2
0010 3
Otl O
,
01 1 1
,
0\01 6
0100 7
1100 8
1101 9
11 11 JO
1110 .
11
1010 12
1011 J3
1001 14
1000
"
protegido por derechos de 'lt.: or
22 Capítulo 1 Sistemas binarios
código Gray sobre la sucesión continua de números binarios es que la diferencia entre dos nú·
meros consecutivos cualesquiera en código Gray es de un solo bit. Por ejempl o. al pasar del 7
a18. el código Grny cambia de 0100 a 1100. Sólo el primer bi t cambia de O al : los otros tres
bilo; no cambian. En cambio. en los números binarios. el cambi o de 7 a 8 es de 0111 a 1000. o
sea que Jos cuatro bi ts cambian de valor.
El código Gray se emplea en apli caciones en las que la sucesión nomllll de números bina·
ri os ¡xxIrla genernr un error o ambi güedad duranle la transición de un número al siguiente. Si
se usan números bi narios. un cambio de 0111 a 1000 podrfa producir un numero intemledi o
erróneo. como 1001. si el bit de la extrema derecha tarda máo; en cambiar su \'alor que los otros
tres bits. El código Gray elimina este problema porque sólo un bit cambia de valor durante
cualquier transición entre dos números.
Una aplicación \fpica del código Gray se da cuando datos analógicos se representan median·
te un cambio continuo en la posición de un eje o flecha.. El eje se divide en segmentos. y se asigo
na un número a cada segment o. Si hacemos que segmentos adyacentes correspondan a la
sucesión del código Gray. se elimi na la ambigUedad cuando la detección se efectúa en la línea
que separa dos segmentos cualesquiera.
Código de caracteres ASCII
Muchas aplicaciones de las computadoras digital es requieren mll nipular datos que no sólo son
numeroso sino letras. Por ejempl o. una compañía de seguros con miles de asegurados
utilizará una computadora para procesar sus archivos. Para representar los nombres y demás
¡nfomución peninente. es necesario formular un código binario para las letrns del alfabeto. Ade·
más. el mismo código binario deberá representar números y caracteres especial es (como $). Un
conj unto de caracteres alfanuméricos es un conjunto de elementos que incluye los 10 dígitos
decimales. las 26 letras del alfabeto y varios caracteres especiales. Un conjunt o así cOnliene en·
tre 36 y 64 elementos si sólo se incluyen letras mayúsculas. o entre 64 y 128 element os si se
incluyen mayúscul as y minúsculas. En el primer caso. se necesi ta un código binario de seis bits:
en el segundo. se requiere uno de siete bi ts.
El código binario estándar paro los car.lcteres alfanuméricos es ASCII (American Standard
Code for I/lfomrat ioll Imercha/l ge. Código est.indar americano para iOlercambio de informa·
ciÓn). Utili za siete bits paro codificar 128 caracteres. como se muestra en la tablll 1· 7. Los sic·
te bits del código se designan con b, a b-r. si endo b, el bit signi ficativo. La letm A. por
ejemplo. se representa en ASCII como 1000001 (col umnll 100. fila ()(X) 1 ). El código ASCII con·
li ene 94 caracteres gráficos que pueden imprimirse y 34 caracteres no imprimibles que se uti·
li zan para diversas funciones de cOOlrol. Los carocleres gráficos consisten en 26 letras
mayúsculas (A a Z). 26 letras minúsculas (a a 2). los 10 números (O a 9) y 32 caracteres espe·
ciales imprimibles. como % • • Y $.
Los 34 caracteres de control se designan con nombres abreviados en la tabla ASCII . Abajo
de la tabla se presentan otra vez junto con el nombre de la función que desempeñan. Los ca·
rocteres de cOOlrol sirven para detenninar la ruta de los datos y organi zar el texto impreso en
un formato predefi ni do. Hay tres ti pos de carncteres de control: creadores de formato. separ.l·
dores de infonnación y carncteres que controlan la comunicación. Los creadores de fonnato con·
trol an la forma de imprimir e incluyen los cOOlroles ya conocidos de máquinas de eseribir.
como retroceso (BS), tabulación hori zontal (HT) y retomo de carro (CR). Los separadores de
información sirven para separar los datos en divi siones como párrafos y páginas. Incluyen ca·
racteres como el separador de registros (RS) y el separndor de archi\'os (FS). Los carocteres
M" pro'"'Qido )Ordl"Pr,n de "Ir
24 Capítulo 1 Sistemas binarios
Por ejemplo. algunas impresoras reconocen t;aracteres ASCII de ocho bits que tienen O en el
bit más significativo. Los otros 128 caracteres de ocho bits que tienen I en el bit más signifi-
cativo se utilizan paro otros símbol os. como el alfabeto griego o letras cursivas.
Códigos para detectar errores
Cuando se desea dete<:lar errores en la comunicación y en el proccsamienl Q de datos. a veces
se anude un octavo bit al carácter ASCII para indicar su paridad. El bit d ~ paridad es un bit adi-
cional que se incluye en un mensaje de modo que el número total de unos sea par o impar.
Considere los dos caracteres siguienles y su paridad impar y par:
Con paridad par
ASCII A = 1000001 01000001
ASCII T = 1010100 11010100
Con paridad impar
11000001
010 10100
En ambos casos. insenamos un bit extra en la posición extrema izquierda del código para pl"Qo
ducir un número par de unos en el camcter. si se está usando paridad par. o un número impar
de unos en el carácter. si se utiliza paridad impar. En general. se adopta sólo una de las dos pa.
ridades. siendo más común la paridad par.
El bit de paridad ayudn a detectar e r r o r e . ~ duronte lo tmnsmi sión de infonnación de un lu·
gar a otro. Esto se efectúa generon<lo. paro cada carácter. un bit de paridad par en el extremo
tmnsmisor. Los caracteres de ocho bits que incluyen bits de paridad se transmiten a su desti -
no. En ell;)¡trenlO receptor se verifica la paridad de cada can'icter reci bido. Si un can'icter no
ti ene un número par de unos. quiere decir que por lo menos un bit cambió de "alor durante la
transmisión. Este mél<xlo detecta un error. ~ s errores o cualqui er combinación impar de erro-
res en cadn carácter transmitido. Si hay un número par de errores. no se detectan. Podrían re-
querirse códigos adicionales de detección de errores para dete<:tar una combinación par de
errores.
Lo que se haga después de detectar un error dependerá de la aplicación de que se tr.lte. Una
posi bilidad es solicitar la retransmisión del mensaje bajo el supuesto de que el error fue alea-
torio y no voh'crá a presentarse. De este modo. si el receptor detecta un error de paridad. de-
volverá el carácter ASCII de control NAK (acuse negativo) que. si se usa paridad par. consiste
en los ocho bits 10010101. Si no detecta ningún error, el receptor devuelve el carácter de con-
trol ACK (acuse). 00000 11 0. El extremo tronsmi sor responderá a un NAK trnnsmitiendo otro
vez el mensaje hasta que se reciba la paridad correcta. Si. después de varios intentos. la trnns-
mi sión sigue teniendo errores. podrla enviarse un mensaje al operador. pidiéndole buscar des-
perfectos en la ruta de transnlisión.
1-8 ALMACENAMIENTO BINARIO Y REGISTROS
La infonnación binaria de una computadora digital debe existir ffsicamente en algún medio de
almacenamiento capaz de guardar bi ts indi viduales. Una celda binaria es un di sposi tivo que
ti ene dos estados establ es y puede almacenar un bit de infonnaci6n. La entrada de la celda re·
cibe señales de excitación que colocan a la celda en uno de los dos estados. La sal ida de la cel-
da es una cantidad ffsica que di stingue entre los dos estados. La infonnación almacenada en
una celda es I si la celda está en uno de sus estados estables. y O cuando está en el otro.
I
Sección 1-8 Almacenamiento binario y regi stros 25
Registros
Un regütro es un grupo de celdas binarias. Un registro con n celdas es capaz de almacenar
cualquier cantidad discreta de información que contenga n bits. El estado de un regi stro es
una n-tupla de unos y ceros, en la que cada bit designa el estado de una celda del registro. El
contenido de un registro es función de la interpretación que se da a la infom'lllCión ahf alma-
cenada. Considere. por ejemplo. un registro de 16 bits con el contenido siguiente:
1100001 111001001
Un registro con 16 celdas puede estar en uno de 2
16
posibles estados. Si suponemos que el con-
tenido del registro representa un entero bi nano, el registro podrá almacenar cualquier número
entre O y 2
1
1> - l. En nuestro ejemplo. el contenido del registro es el equivalente bina-
ri o del número decimal 50121 . Si suponernos que el registro rumact:na los caracteres alfanu-
méricos de un código de ocho bits. el conteni do del registro seria dos caractcres. En el caso del
código ASCII con un bit de paridad par en la octa\'ll posición de bit más significutiva, el regis-
tro contiene los dos caracteres C (ocho bits de la izquierda) e I (ocho bits de la derecha). Por
otra parte. si interpretamos el contenido del registro como cuatro dfgitos decimales represen-
Indos en un código de cuatro bits. el contenido del registro será un número decimal de cuatro
,
drgitos. En el código exceso-3. el regi stro contiene el número decimal 9096. El contenido del
registro no tiene sentido en BCD porque la combi nación de bits 1100 no ti ene a..¡ignado nin-
gún dfgito decimal. Este ejemplo hace evidente que un registro puede almacenar elementos
di scretos de infonnación y que la misma configuración de bits puede interpretarse de diferen-
tes maner.ls. dcpendiendo del tipo de los datos.
Transferencia de registro
Un sistema digital se caracteriza por sus registros y los componentes que efectúan el procesa-
miento de dntos. Ln operación de de registro es básica en los sistemas di gi tales.
Consiste en una transferencia de información bi naria de un conjunto de registros n otro. La
transferencia podria ser directa de un registro a otro. o podria pasar por circuitos procesadores
de datos para efectuar una operación. Ln figura 1- 1 ilustra la transferencia de infonnación en-
tre registros y muestra gráficamcnte la transferencia de ¡"femlación de un teclado a un regis-
tro en la unidad de memoria. Se supone que la unidad de entrada tiene un teclado. un circuito
de control y un regi stro de entmda. Cada vez que se pulsa una tecla. el control introduce un có-
digo equivalente de carácter alfanumérico. de ocho bi ts. en el registro de entrada. Supondre-
mos que el código empleado es ASCII con bit de paridad impar. La infonnnción del registro
de entrada se transfiere a las ocho celdas menos signifieativlI5 de un registro del procesador.
Después de Cadll tmnsferencia. el registro de entrada se despeja para que el control pueda in-
shrtar un nuevo código de ocho bits cuando se vuelva a accionar el teclado. Cada carácter de
ocho bits transferido al registro del procesador va precedido por un desplazamiento del carác·
ter anterior a Ia.<; ocho celdas que siguen a la izquierda. Una vez que se transfieren cuatro
racteres. el registro del procesador se llena y su contenido se tmnsfiere a un registro de memoria.
El cont enido almacenado en el regi stro de memoria que se muestra en la figur.l 1·1 provi no de
111 transferencia de los caracteres "l". "0". "H" Y "N" después de pulsarse las cuatro tl!cJas
corrcspondientes.
Para procesar cantidades discretas de infonnnción en fonna binaria, la computadom nece-
sita dispositivos para retener los datos que se procesarán. así como elementos de circuito que
Mat 'JI pro 0f dE' 'Jl "Ir
26 Ca pítul o 1 Siste mas bInarios
l :NI DAD I>EMI.MORIA
) O 11 N
FIGURA 1-1
UNIDAD

llt-OIOAO DE E"TRADA
Teclado
Transferencia de Información con registros
Registro
de memoria
CONTROL
Registro
ck entrada
manipulen bi lS individuales de inrormación. El dispositivo que se ulili 7...o con mayor rrecuen-
cia para retener datos es el regislTO. La manipulación de variables se efectúa median-
te circuitos lógicos digital es. La fi gura 1-2 ilustra el proceso de sumar dos números binarios
de 10 bi lS. La unidad de memoria, que normalmenle consta de millones de registros, aparece
sólo con tres registros en el diagrama. La pane de la unidad procesadora que se muestra con-
siste en tres registros - R 1, R2 Y R3--- además de circuitos lógicos digitales que mani pulan los
bilS de R I Y R2 Y tmnsfieren a R3 un número binario igual a su suma arit mética. Los regi stros
de memoria inrormación y no pueden procesur los dos operandos, pero es posible
tranSferir la información que contienen a registros del procesador. Los resultados obtenidos en
los registros del procesador se pueden transferir de vuelta a un registro de la memoria para al -
macenarse hasta que se necesi ten otra vez. En el diagrama. el contenido de dos operandos se
transfiere de dos registros de memoria a RI y R2. Los circuitos de lógica digital producen la
suma, que se transfi ere al registro R3. El cOnlenido de R3 se puede transferir enlonces a uno
de los registros de memoria.
Los últimos dos ejemplos ilustran de rorma muy sencilla las capacidades de nujo de infor-
mación de un sistema digital . Los regi sltOs del sistema son los elemenlos básicos para alma-
cenar y retener la inrormación binaria. Los circuitos de lógica di gilal procesan la información
binaria almacenada en los registros. Los circuitos de lógica digital y los regi stros se estudi a-
rán en los capltulos 2 a 6. La unidad de memoria se expli ca en el caprtulo 7. El ni vel de trans-
ferencia de registros para describir y diseñar sistemas digitales se tmta en el capftulo 8.
Secc;lón 1-9 Lógica binaria 27
L!'!!),\U DI;.,\\I \lOlUA
10000 0000 001 ...
Suma
Operando 1
- 100 111 0000 1 1
rando 2
10001000010 1
0 0 0 10 00010 01
Circuilos de
l6gica digital
• 0100 1 00011 RJ
para l uma
binaria
0011 1 0000 1 R2
t 1:>. 101\ 1) I'IU)(;I;.SA DORA
FIGURA 1-2
Ejemplo de procesamiento de información binaria
' -9 LÓGICA BINARIA
Lu.lógicu binaria se ocupa de variables que adoplan dos valores discrelos y de operaciones
que asumen un significado lógico. Los dos valores que pueden adoplar las variables reciben
difercnles nombres (verdadero y falso. s(y no. etcétera). pero para nuestros fines es conve-
nienle pensar en ellos en I ~ n n i n o s de bits y llSignarles 105 valores I y O. LB lógica binaria que
se presenta en esta sección equivale a un álgebra llamada álgebra booleana, que se estudia-
rá fonnalmente en el capítulo 2. El propósito de esta sección es hacer una introducción heu-
rfstica al álgebra booleana y relacionarla con los circuitos de lógica digital y las señales
binarias.
Definición de lógica binaria
La lógica binaria consiste en variables binarias y operaciones lógicas. Las variables se desig-
nan con Itlras del alfabeto, como A, B, C. x. y, z. etcétera, y cada variable tiene dos y sólo dos
posibles valores: I y O. Hay tres operaciones lógicas básicas: ANO, OR Y Nm.
Mal '11 pro '"'Qido por df'rocf'Jo<:, de '1L.: "Ir
28 Capítulo 1 Sistemas binarios
1. ANO: Esta operación se represenla con un punlo u omitiendo el operJdor. Por ejemplo.
x' y = Z oX)' = Z se lee "x ANO)' es igual a ¡ " . La operación lógica ANO significa que
z = I si y sólo si x = l Y Y = 1: de 10 contrario. z = O. (Recordemos que x, y y Z son
variables binari as y sólo pueden valer I o O.)
2. OR: Eslil apelación se rcpresenlil con un signo más. Por ejemplo,.x + )' = Z se lee "x OR)'
es igual a z".y signifK:aque z = I sLr = l osi )'= losi x = Iy)' = I. Six = Oy)''''' Q,
entonces z = O.
3. NOf: Esta operación se represenl a con un apóstrofo (y a veces con una testa). Por ejem-
plo. x' "" z (o i = z) se lee como "no.x es igual a z" y significa que z es lo cOntrario de
x. Dicho de otro modo, si x = l. entonces z = O: pero si x = O, entonces z = l . La ope-
ración NOf se ll ama operación dc complement o. ya que cambia un I por Q y un
O por 1.
La lógica bi naria se parece a la aritmética bi naria. y las operaciones ANO y OR tienen si-
militudes con la mul tiplicación y la suma, respC<:li vamenle. De hecho, los sfmbolos que se
usan para ANO y OR son los mismos que los empleados para la multiplicación y la suma. No
obstante. la lógica bi naria no debe confundirse con la ari tmética bi naria. Debemos tener pre-
senl e que una vari abl e designa a un número que podría consistir en muchos dfgitos.
Una variable lógica siempre es O o l . Por ejemplo, en arit mética bi naria tenemos I + I = 10
(léase: "uno más uno es igual a dos"), mienlras que en lógica binaria tenemos I + I = I (léa-
se: "uno OR uno es igual a uno").
Paru cada combinación de los valores de x y y. la definición de la operación lógica especi-
fica un valor de z. Dichas defi niciones se pueden presentar en ronna compacta con wblus de
wmiad. Una tabla de verdad es una tabla de todas las posibles combi naciones de las variables.
y muestra la relación enlre los valores que las variables pueden adoptar y el resultado de la ope-
ración. Las tablas de verdad de las operaciones ANO y OR con variables x y y se obtienen enu-
mer.lOdo todos los posibles valores que pueden tener las variables cuando se les combina en
pares. Luego. se anOla en una lila apane el resultado de la operación par.!. cada combinación.
En la tabla 1-8 se presentan las tablas de verdad para ANO. OR Y NOT. Estas tablas muestran
claramente la defi ni ción de las operaciones.
Compuertas lógicas
Las compuenas lógicas son circuitos electrónicos que oper.tn con una o más señales de entm-
da para produci r una señal de salida. En los sistemas digitales, las señules eléctricas. que po-
Tabla 1-8
Tablas de verdad operaclOMJ lógicas
AND otI NOT
x y x · ,. x y x + )'
.,
.C
O O O O O O O I
O I O O I I I O
I O O I O I
I I I I I I
M nal prOleQido por dfI '''''Ir
Sección 1-9 lógica binaria 29
drian ser voltajes o comemes, existen con uno de dos valores reconocibles. Los circuitos
rados por voltaje responden a dos ni veles de voltaje dislintos que representan una variable bi-
nari a cuyo valor es I lógico o O lógico. Por ejemplo, un sistema digital dado podría definir el
O lógico como una señal de O volts, y el I lógico, como una señal de 4 volts. En la práctica, ca-
da nivel de voltaje tiene un intervalo aceptable. como se indica en la figura 1-3. Las termina-
les de entrada de los circuitos digitales aceptan señales binarias dentro del intervalo permisible
y responden en las tenninales de salida con señales binarias que están dentro del intervalo es-
pecificado. La región imennedia entre las regiones pennitidas sólo se cruza durante las tran-
siciones de estado. Cualquier información deseada para computación o control se puede
manipular haciendo pasar señales por combi naciones de compuertas lógicas,
y cada señal representa una variable binaria dada.
En la figua 1-4 se incluyen los sfmbolos gráficos con que se representan los tres tipos de com-
puertas. Las compuertas son bloques de hardware que producen señales de salida equivalen-
tes al I lógico o al O lógico cuando se satisfacen los requisitos lógicos de entrada. Las señales
de entrado x y )' de las compuertas lógicas ANO y OR podrfan existi r en uno de cuntro posi-
bles estados: 00, 10, II o 0 1. Estas señales de entruda se muestran en la figura 1-5 junto con
Volts
4
3
I
o
FIGURA 1-3
Ejemplo de se"ales binarias
:-LI_Y-'"
a) Compuena ANO de
dos enl radas
FIGURA 1-4
La se da
entre eslOS IImiles
b) Compuena OR de
dos enUlldas
Símbolos para los circuitos lógIcos dIgitales
l nlen>alo para
et I Jógko
Inlervalo para
el O l6g.iro
(e)CompuenaNOT
o inversor

,
1
,

30 Capítulo 1 Sist e mas binarios
x O
J
¡
Y
ANO: ... · ,.
OR: .r + y o I I
NO'r. .l '
¡
FIGURA 1-5
Señales de entrada-salida de compuertas
A
B
e
I
) F - ABC
A
8
e
D
¡
Lo O
¡ ¡ j o
-
Q Q
7¡ ----;¡ l Q
¡ ¡
G " A + 8 +C+ D
a) Compuena ANO de tres
entradas
b) Compuerta OR de cuatro ent radas
FIGURA 1-6
Compuertas con múltiples ent rada,
In señal de salida COrTCSpondicnte n cada compuena. Los diagramas de Icmpori7.ación il ustron la
respuesta de cada compuena a las cuatro combinaciones de señales de entrada. El eje hori-
zontal del diagrama de tempori7.ación representa tiempo. mienlms que el eje vcni cal muestra
cómo cambia la señal entre los dos posibles niveles de vahaje. El nivel bajo representa el O 16-
gico y el nh-ellIlto representa el I lógico. La compuena ANO responde con una señal de sali·
da de I lógico cuando ambas señales de entrada son 1 lógico. La compuena OR responde con
una sefta! de salida de Ilógico cuundo cualquier señal de entrada es I lógico. La compuerta
Nar se conoce comúnmcnle como inversor, y en el diagrama de temporización es evidente el
porqué: la señal de salida invierte el senlido lógico de la señal de entrada.
Las compuertas ANO y DR pueden tener de dos entradas. En la figura 1-6 se represen-
la una compuerta ANO con tres entradas y una compuerta DR con cuatro entradas. La com-
puerta ANO de tres entradas responde con una salida de I lógico si las tres entradas son 1
lógico, y con O lógico si cualquiera de las entradas es O lógico. La compuerta QR dc cuatro en-
tradas responde oon I lógico si cualquier entrada es I lógico; su salida sólo será O lógico si to-
das sus entradas son O lógico.
PROBLEMAS
1 - 1 Enumere los mlmeros ocrales y hexadecimales del 16 al 32. Utili7J1ndo A y B como últ imos dos
d¡gitos. enumere los números del 10 al 26 en base 12.
1· 2 ¿Cuánl05 bytes hay exactamente en un sistema que oont iene a) 32K bytes, b) 64M bytes, y c)
6.4G bytcs?
1-3 Di el nllmero binario más gr:andc que se puede expre5llf oon 12 bits. Df su equivalente decimal
y he;uKkdmaL
1·4 Convierta a decimal los números que siguen en las bases indicadas: (4310), y ( 198)1!'
Mal 'JI pro <:Ir de '11.: or
Problemas 31
1-5 Determine en cada caso la base de los mlmcros. de modo que la¡ operaciones sean Ctw,ectM: a)
14/2 - 5;b)S4I4 - J3.yc) 24 + 17 - 40.
' -6 La solución de la ecuación cuoorática xl - Ilx + 22 = O es x - 3 Y x - 6. ¿Qot base tienen
los númerus?
1-7 Exprese estos números en decimal.: (IOIIO.OIOl h. (16.5) •• Y (26.24>..
' -8 Convierta estos números binarios a heJladecima.1 y decim:ll: a) 1. 11010. b) 1110.10. Explique por
quf la respuesta decimal a b) es g veces la de a).
' -9 Convierta el mlmcro hexadecimal 68BE a binario y. de binario. convitrtnlo a octal.
1-1 O Convierta el número decimal 345 a binario de dos maneras: a) directamente a bina-
rio; b) convitn:tlo primero a hcxadecim:t1. y luego de hexadecimal a binario. ¿Qut rnttodo es
más rápido"
1-11 Resuelva los siguientes problemaJ de conversión:
a) Convierta el número decimal 34.4375 a binario.
b) Cuh;ule el equivalente binario de 113 hll5ta ocho posiciones. Luego convi61a1.o de binario a
decimal . ¿Quf tan cercano a 113 es el resultado7
c) Convierta el resultado binario de b) a hexadecimal. Luego convierta el resultado a dccitrull.
¿La respuesta es la misma"
1-12 Sume y multiplique los números siguientes sin con\'ertirlo:s a decimal.
a) Nllmeros binarios 1011 y 101.
b) NCímeros hexadecimales 2E y 34.
1- 1 3 Realice esta división en binario: 101 111 I + 101.
1-14 Obtenga el complemento a nueve y a dieJ: de los nllmeros decimales siguientes:
a) 98127634 b) 12049900 c) ](mOOOO d) OOI.XXKKX).
1-15 a) Obtenga el complemento a 16 de AF3B.
b) COtwierta AF3B a binario.
c) Obtenga el complemento a dos del resultado de b).
d) Conviert:lla respuesta de c) a hexadecimal y compárela con la respuesta de a).
1-16 Obtenga los complementos a uno y a dos de estos números binarios:
a) 11101010 b) 01111110 e) 00000001 d) 10000000 (e) CXXXXXXXl.
1-17 Efectúe la resta de los siguientes números sin signo utilizando el complemento a lO del susltllCn-
do. Si el resultado es negativo. obtenga su compl emento a JO y antep6ngale un signo menos.
Compruebe sus respuestas.
a) 7188 - 3049 b) ISO - 2100 e) 2991 - 7992 d) 1321 - 315
1-18 Efecllle la resta de los siguientes nameros binarios sin signo utiliundo el complemento a do.s
del Si el resultado e.<; ne¡ alÍ\'O. obtenga su complemento a dos y antepcSngale un sii'
no menos.
a) 11011 - 11001 b) 110100 - 10101 e) 1011 - 11 0000 d) 101010 - 101011
1 -19 Los nllmcros decimales que siguen se presentan en forma de magnitud con signo: +9826 y +801.
ConvifnaJos a la rorma de complemento a lO con signo y realice 1M operaciones siguientes (to-
me nota de que la surna es + 10627 Y requiere seis dfgiws);
a) (+9826) + (+801) b) (+9826) + (- 801)
c) ( - 9826) + (+801) d) (- 9826) + (-BOl)
1-20 Convierta los nllmeros decimales +61 y +27 a binario empleando la representación de comple-
memo a dos con sigDO y sulicientes dIgitos para dar cabida a los nllmc:ros. Luego ercctlk el equi -
valente binariodc (+21) + (-61),( - 21) + (+61) y( - 21) + (- 61). Convicrta las respoestllS
a decimal y \'erifique que sellO correctll5.
protegido por derechos de 'lL.: or
32 Capítulo 1 SIstemas binarios
1-2 1 Convienn el número decimal 9126 a los códigos BCD y ASCII . En el cuso de ASCII . anada un
bi t de paridad impar a la izquierda.
1-22 Represente los números decimales si n signo 965 y 672 en BCD y luego muestre los pasos occc·
sarios para obtener su
1-23 ÑJtmule un código binario ponderado para los d¡gitos decimales empleando los pesos 6. 3. l . 1.
1-24 Represente el número decimal 6027 en a) BCD. b) código ex¡;-eso-3. y ¡;-) código 2421 .
1-25 Obtenga el complemento (1 nueve de 6027 Y expréselo en ¡;-ódigo 242 l . DcmuestRl que el resul·
tado es el complemento a uoo de la respuesta al inciso e) del problema 1-24. Esto demuestra que
el código 2421 se autocompl('menlU.
1-26 Asigne un código binario onJenado a los 52 naipes de la barnja. Utilice el número mfnimo de bits.
1-27 Escriba la expresión '"G. Boole" en ASCII empleando un código de ocho bits. Incl uya el punto y
('1 espado. Trute el bit de ('xtRlma i7.quierda de cada ¡;-ar:k:ter como bit de paridad. Cada código
de 8 bits dcbcr4 t('ner paridad par. (George Boole fue un matemátioo del Xtx. El álgebra
Booleana, que se estudiar.! en el capftulo siguiente, 11e\'lI su nombre.)
1· 28 Decodifique el tódigo ASCII siguiente: 1001010 1100001 1101110 1100101 0 100000
100J100 1101111 11 00101.
1-29 La que sigue es una cadena de camcteres ASCII cuyos patrones de bits se han c:onvenido a hen.-
decimal para que no ocupen IUnto espacio: 4A EF 68 6E 20 C4 EF ES. De los ocho bits de
cada par de drgl tos, el de la extrema i7.quierda es un bit dc paridad. Los restames son el có-
digo ASCII.
a) Conviértalos a bits y decodifique el ASCII .
b) . Determine la paridad empleada: impar o par.
1-30 ¿Cuántos earaeteres imprimibles hay en ASCII '! ¿Cuántos de ellos son earacteres especiales (ni
letms ni números)?
1· 31 ¿Qut bit es pre¡;iso oompJcmentar par.! c:ambillr una letra ASCII de mayúscul a a minúscula. y vi-
eC\'('rsa1
1-32 El estado de un regi stro de: 12 bits ('S 100J1001011 1. c:ontiene si representa
a) tres drgitos decimales en BCD? b) tres drgit os decimales en código exeeso-3?
c:) tres dfgi tos decimales en código 84-2-1? d) un nllmero binario?
1-33 Haga una lista oon el código ASCII de los 10 dígitos decimales. eon L1n bit de paridad par en la
posición de extrema il.qui erda.
1· 34 Suponga una oompuerta ANO de tres entmdas cuya salida es F y una compuerta OR de tres en·
trodas euya salida es G. UlS entradas son A. B y C. Muestre las scnales (en un diagmma de lenl-
porizaeión similar al de la figura 1-5) de las salidas F y G en fundón de las tres entradas ASe.
Utilice las ocho posibles oombinndooes de ABe.
REFERENCIAS
1. C,W .... NAGII.l. J. 1984. Digi/al CQmpuur Ari,hmtfic. Nue\'¡¡ York: McGraw-HilL
2. tI. 1974. lkcinU/1 Computa/ion. Nueva York: John Wiky.
3. MANO. M. M. 1988. Duign. Englewood Cliffs. NJ: Prenl\ce- Hall.
4. NF..l.SON, V. F. . B. T. NAGLE. J. D. IRWIN Y B. D. CARROLL 1997. Digital wgic Cirrui,Allulysis und
Desigll. Uppcr Saddle Rh·er. NJ: ?remice-Hall.
M' mi protegido por dere('t-to de t.: '"Ir
,,-
Algebra booleana y
compuertas lógicas
2-1 EFINICIONES BÁS CAS
álgebr.t booleana, ni igual que lodos los sistemas matemáticos deductivos. se define con
conjunto de d em Ig 01 kla . rc.:h":- uto rios axiomas o postulados no
Un cOl/jumo de elementos es cualquier colección de objetos con alguna propiedad
común. Si S es un conjunto y x y y son cienos objetos. cntonce.'i .c ES denota que x es un
del conjunto S, y)' f! S denOla que)' no es un elemento de S. Un conjunto que tiene
número enumerable de elementos se especifica con llaves: A = 11 . 2. 3. 4 l. es decir. los
de A son los números 1, 2. 3 Y 4. Un operador binario definido sobre un conjunto
elementos es una regla que asigna a cada par de elementos de S un elemento único de S.
ejemplo. consideremos la relaci ón a • b = c. Decimos que . es un opentdor binario si es-
una regla para encontrnr e a panir del par (a. b) y si además Q, b, e eS. Sin embargo,
no es un operador binario si Q, b e S y lu regla encuentra que e e: S.
Los postulados de un sistema matemático constituyen los supuestos básicos il panir de los
e . ~ posible deducir las reglas, teoremas y propiedades del sistema. Los postulados más
que se ulili llln para formular dh'ersas eslJUClUras algebraicas son:
l. Cumduro. Un conjunto S es CCITlldo respeclo a un operador binario si, por cada par de
elementos de S. el opcradorespecifica una regla para obtener un elemento único de S. Por
ejemplo. el conjunto de los números naturales N = 11 ,2.3,4 . ... I e. .. eeITlldo respecto
DI operador binario más (+) por las reglas de la suma aritmética, ya que, para cualquier
ti, b e N, obtenemos un e e N único por la operación ti + b = c. El conjunto de los
numeras naturales no es cerrado respecto al operador binario menos (- ) por las reglas
de la resta aritmética. porque 2 - 3 = - 1 Y 2. 3 eNpero(- I) e:N.
2. Leyasociati"o. Decimos que un operador binario _ sobre un conj unto S es asociativo si
(x .y). Z = x - (y-l) para todos X.y. ~ eS
rl').1 pr teq:1o p-Jr,...· :33 a _ r
34 Capítulo 2 Álgebra booleana y compuertas lógicas
3. lLy conmlltatim. Decimos que un operador binario . sobre un conjunto S es conmu-
tativo si
x.y "'" y . x para todosx.y ES
4. Elemenl(J de identidad. De<:imos que un conjunto S tiene un elemento de identidad res-
pecto a una operación binaria . sobre S si existe un elemento e ES con la propiedad
e.x = x.e = x paratodos.t ES
Ejemplo: El elemento O es un element o de identidad respecto a la operación + sobre el
conjunto de los enteros I = ( .... - 3, - 2. - l . O. l . 2. 3 .... 1. porque
x + O = O + x = x para cualquier x El
El conjunto de los números naturales. N. no tiene elemenlo de identidad porque O no
pertenece al conjunto.
S. Im·erso. Decimos que un conj unto S. que tiene el element o de identidod e respecto o un
operador •. tiene un inverso si. para todo x E S. existe un elemento y eS tal que
x. y = c
Ejemplo: En el conjunto de enteros. /. donde e = O. el inverso de un elemento a es (-a).
yaquea + (-a) = O.
6. Ley dislriblllim. Si • Y • son dos operadores binarios sobre un conj unto S. decimos que
• es distributivo sobre . si
x. (y . z) = (x • y) . (x • z)
Un ejemplo de estructura algebraica es un campo. Un campo es un conj unto de elementos.
junto con dos operadores binarios, cada uno de los cuales posee los propiedades 1 a 5 y. com-
binodos. la propiedod 6. El conj unto de los mlmeros reales. junio con los operndores bina·
ri os + y ' . forman el campo de los números reales. Este campo es la base de la arilrmtica y el
álgebra ordi naria. Los operadores y postulados signi fi can lo siguiente:
El operador binario + define la suma.
La identidad aditiva es O.
El inverso aditivo defi ne la resta.
El operador binario' defi ne la multiplicación.
La identidad multiplicati va es l.
El inverso multipl icati vo de a = l /a define la división. es decir. a . l /a = l .
La única ley distribuliva válida es la de' sobre +:
a' (b + c) = (a · b) + (tl· c)
2-2 DEFINICiÓN AXIOMÁTICA
DEL ÁLGEBRA BOOLEANA
En 1854, George Boole introdujo un tratamiento sistemático de la lógica y desanolló, con este
fin, un sistema algebraico que ahora ll amamos En 1938. C. E. Shannon in-
trodujo un álgebra booleana de dos valores ll amada dlgcbro COIIIIIUWÓÓII y demostró que
Mar l"It proJP.Qido por df' :Jll'lr
Sección 2·2 Definición axiomática del álgebra booleana 35
las propiedades de los circuitos eléctri cos de conmutación biestables podfnn representarse con
esa álgebra. Para definir fonnalmenle el álgebra booleana. uti lizaremos los postulados fomm·
lados por E. V. Hunti ngton en 1904.
El álgebra booleana es una estructura al gebrai ca definida por un conjunto de clement os. B.
jUnio con dos operadores bi narios. + 'i ' . a condición de que se sati sfagan los postulados si-
guientes (de Huntington):
1. a) Cerradura respecto al operador +.
b) Cerroldura respecto al operador' .
2. a) Un elemento de identidad con respecto a +. designado por O: x + O "" O + x == x.
b) Un elemento de identidad con respecto a ' . designado por 1: x . l == 1 • x = x.
3. a) Conmutativa respecto a +: x + y == y + x.
b) Conmutativa respecto a ' :.1"' Y == Y . x.
4. a) . es distributivo sobre +: x . (y + z) == (x' y) + (x ' Z).
b) + es di stri buti\'o sobre .: x + (y' ¡) = (.1" + y) • (.1" + z).
S. Para cada elemento x E B. existe un elemento x' E 8 (ll amado complemento de x) lal
quea) x +x' "" 1 yb)x'x':::: O.
6. Existen por lo menos dos elementos x.)' e B tales que x '* y.
Al comparolr el álgebra booleana con la aritmética y el álgebra ordinaria (el campo de los
números reales). observamos Ia.o; siguientes diferencias:
1. Los poslUlados de Hunungton no incluyen la ley asociati va. Sin embargo. esta ley se
cumple para el álgebra booleana y se puede deri var (para ambos operadores) de los otros
poslUlados.
2. La ley di stributiva de + sobre ' . es deci r. x + (y ' z) :c (x + y)' (x + ¡). es válida pa·
ra el álgebra booleana. pero no para el álgebra ordinaria.
3. El álgebra booleana no tiene inversos aditivos ni multiplicativos: por tanto, no hay ope-
rolciones de resta ni de división.
4. El poslUlado 5 define un operador llamado complcmcmo que no existe en el álgebra or-
dinari a.
5. El álgebm ordinaria se ocupa de los números reales, que constituyen un conj unto infini-
to de elementos. El álgebra booleana se ocupa de un conjunto de elementos B que toda-
vía no hemos defi nido. pero en el álgebra booleana de dos valores que defi niremos a
continuación (y que nos interesará para nuestro uso subsecuenle de esta álgebra), B se
define como un conjunto con sólo dos elementos. O y 1.
El álgebro booleana se parece al álgebr.i tXdirmria en algunos sentidos. La selección de los slm·
bol os + 'i' es intencional para que quienes ya conocen el álgebra ordinaria puedan efeauarcon
más facilidad manipulaciones algebraicas booleanas. Aunque podemos aprovechar algunos ro-
nocimient os del álgebra ordinaria para trabajar con el álgcbm booleana, el principiante debe te-
ner cuidado de no usar las reglas del álgebra ordinaria en casos en que no son válidas.
Es imponante distinguir entre los elementos del conjunlo de una eS(ruclura al gebraica y las
variabl e. o; de un sistema algebraico. Por ejemplo. los elementos del campo de los mimeros rea-
les son números. mienlras que variables como a, b. e, etcétera. que se usan en el álgebra ordi-
naria, son sfmbol os que representan números reales. Asimismo. en el álgebra booleana,
defi nimos los elemenlos del conjunto B, 'i las variabl es como x, y y z son meramente símbo-
los que representan a los element os. A estas alt uras. es imponante enlender que. para tener un
álgebra booleana. es preciso mostmr:
protegido por derechos de 'lt.: or
36 Capítulo 2 Álgebra booleana y
1. los elementos del conjunto B.
2. las regl as de o]Xración de los dos operadores binarios. y
3. que el conjunto de elementos. B. junto con los dos operadores. sati sface los seis postu-
lados de Huntington.
Podemos fonnular muchas álgebras booleanas. dependi endo de los elementos que escoja.
mos para B y de la.<¡ reglas de o]Xrución. De aquí en adelante. nos ocuparemos únicamente de
un álgebra booleana de dos valores. es deci r. una que sólo ti ene dos elementos. El álgebra boo-
leana de dos valores ti ene apli caciones en learla de conjuntos (el álgebra de clases) y en la ló-
gica proposicional. lo que nos interesa aqur es la aplicación del álgebra booleana a los circuitos
tipo compuerta.
Álgebra booleana de dos valores
Un álgebra booleana de dos valores se define sobre un conjunto de dos element os. B : 11. 01,
con las reglas paru. los dos operadores binarios. + y " que se muestran en las siguientes labIas
de operador (la regla del operador de complemento es para veri fi car el post ulado 5):
• y • ' y • y • + y
o O O O O O
O 1 O O 1 1
1 O O 1 O 1
1 1 1 1 1 1
,
O
1
"
1
O
Estas reglas son exactamente las mismas que las de las operaciones ANO. OR Y NOT. res·
pectivamente. definidas en la tabla 1·8. Ahora debemos demostrar que los postulados de
Hunrington son vál idos para el conjunto B = (O. II Y los dos operadores binarios que hemos
definido.
1. La cerradllm e.<¡ obvia por las tablas, pues el resultado de todas las operuciones es 1 o bien
O.y l. OEB.
2. En las tablas vemos que
a) 0 + 0 : 0
b) l· I = 1
0 + I = I + O :::: 1;
1' 0 = 0' 1 = 0.
Esto establece los dos l!1l!ml!ntos dl! idl!nlidad. O para + y 1 para', definidos por el pos·
tulado 2.
3. Las leyes conmufotil'os son obvias por la simetría de las tabl as de los operadores bi·
nari os.
4. a) Es posible demostrar que la ley distriburil'u x • (y + z) :::: (x' y) + (x ' z) se cum·
pie preparando una tabla de verdad con lodos los posibl es valores de x. y y ¡, Para
cada combi nación, deduci mos x ' (y + z) y demostmmos que su valor es igual al de
(x ' y) + (x · z).
Mar fI'll protegido por derocf]o<:. de 'lL: '"Ir
Sección 2-3 Teoremas y propiedades básicos del álgebra booleana 37
y z y + z JC ' (r + z) x·y X·X (JC") + (lC'Z)
o o o o O O O O
O O I I O O O O
O I O I O O O O
O I I I O O O O
I O O O O O O O
I O I I I O I I
I I O I I I O I
I I I I I I I I
b) Podemos demostrar que se cumple la ley distrihlllim de + sobre ' prepar.mdo una
tabla de verdad simi lar a la anterior.
5. La tabla del complemento pennite demostTar fádlmente que
a) x + x' = l . ya que ° + O' = ° + I = I Y I + l ' "" I + ° "" l .
b) x ' x' = O,yaqueO - O' "" 0,1 "" Oy 1· 1' "" 1 - O"" O,loqueverificaelpos-
tulado 5.
6. El postul ado 6 se Slltisfacc porque el álgcbru booleana de dos valores tiene dos e1emen-
tos. 1 yO. y 1 * 0.
Acabamos de establecer un álgebra booleana de dos valores que tiene un conjunto de dos
elementos, 1 y O. dos opemdores binarios con reglas de operación equivalentes a las operacio-
nes ANO y ORo Y un opemdor de complemento equivalente al opemdor NOT. As( pues, el ál -
gebra booleana ha quedado definida de manera matemática fonnal y se ha demostrado que es
equivalente a la lógica binaria que presentamos heurísticamente en la sección 1-9. La presen-
tación heurística ayuda a entender la apli cación del álgebra booleana a los circui tos tipo com-
puerta. La presentación fonnal es necesaria para desarrollar los teoremas y propiedades del
sistema algebraico. Los ingeni eros tambi én llaman "álgebra de conmutación" al álgebra bao-
lcana de dos valores que definimos en esta sección. A fin de hacer hincapié en las si milit udes
entre el álgebra booleana de dos valores y ()(ros sistemas binarios, llamamos "lógica binaria"
a esta álgebra en la sección 1-9. De aqur en adelante. omitiremos el calificativo "de dos valo-
res" al hablar de álgebra booleana en las explicaciones.
2-3 TEOREMAS Y PROPIEDADES BÁS I CO S
D EL ÁL·GEBRA BOOLEANA
Dualidad
Se han prescnlado los poslUlados de Huntinglon por pares y se han designado como parte a)
y parte b). Es posible obtener una parte de la ()(ra si se intercambian los operadores bi narios y
los elementos de identidad. Esta importante propiedad del álgebra booleana se denomina prin·
cipio de dl/alidad, y establece que toda expresión algebraica que pueda deducirse de los pos-
tulados del álgebra booleana seguirá siendo válida si se intercambian los operadores y los
elementos de identidad. En un álgebra booleana de dos valores. los elementos de idemidad y
,
38 Capítulo 2 Algebra booleana y compuertas lógicas
los elementos del conjunto. B. son los mismos: I y O. El principio de dunlidnd tiene muchas
aplicaciones. Si queremos el dI/al de una expresión algebraica. simplemente int ercambi amos
los oper .. dores OR y ANO Y sustilUimO§ los unos por ceros y los ceros por unos.
Teoremas bÁsicos
En la tabla 2- J se prescnlan seis teoremas del álgebra booleana y cuatro de sus postulados. La
notación se simplifica omitiendo el operador binario' en los casos en que ello no causa con-
fusión. Los teoremas y postulados que se presentan son las relaciones más bási cas del álgebra
booleana. Los teoremas. al igual que los postul ados, se presentan por pares; cada relación es
el dual de su pareja. Los postulados son axiomas bási cos de la eSlruClUra algebraica y no re-
qui eren demostración. Los teoremas deben demostrarse a partir de los poslUlados. A continua-
ción se presentan las demostraciones de los teoremas con una variable. A la derecha se indica
el número del poslUl ado que justi fica cada paso de la demoslración.
TEOREMA la): x + x :: x.
x + x :: (x+x) 'l
= (x + x )(x + .1')
= x + xx'
= .1 + 0
TEOREMA lb): X' x = x.
x ' x = xx + O
= xx + xx'
= x
Tabla 2-1
Postulados y teoremas del álgebra booleana
Politullldo 2 . ) x+O = x
Postulado 5 . ) x+.r' = 1
TooK'mll I . ) x + x " x
Teorema 2 . ) x + I - 1
Teorema 3. involución (.i)' .. ,l
Postulado 3. conmLltatividlld , ) x+ y = y+ x
Teorema 4, asociatividad .) x + (y + :) .. (x + y) + :
Postulado 4, distributividOO . ) x Cy + <:) '" xy + Xl
TWK'nta 5, DeMorgan . ) (x + y)' = x'y'
Teorema 6, absorción . ) x+xy - x
por el postul ado: 2b)
5.)
4b)
5b)
2,)
por el postulado: 2a)
5b)
4,)
5')
2b)
b) x' I = x
b) x,x'= O
b) x ' x = x
b) .l'O - O
b) xy : yx
b) x Cy:) .. (xy)<:
b) x + y! '" (x + y)(x + !)
b) (xy)' = x' + l
b) .1(.1 + y) "" x
1
Sección 2-3 Teoremas y propiedades básicos del álgebra booleana 39
Observe que el teorema 1 b) es el dual del teorema la) y que cada uno de los pasos de la de-
mostración en la parte b) es el dual de la pune a). Cualquier teorema dual se puede deducir
de fonna similar. partiendo de la demostración de su par correspondiente.
TEOREMA 2a): x + I = 1.
x + I = I' (x+ l )
• (x + x' )(x + 1)
= x+ .1"'· 1
= x + x'
· 1
TEOREMA 2b): x' O = O por dualidad.
por el postulado: 2b)
5,)
4b)
2b)
5.)
TEOREMA J : (x)' = x. Del postulado 5. tenemos x + x = 1 Y x . r = O. lo que defi ne
al complemento de x. El complemento de x es x y también es (.1"')'. Por tanto, dado que el com-
plemento es único. lenemos que (x)' = x.
Los teoremas en los que intervienen dos o tres variables se pueden demostr.lr algebraicamen-
te a partir de los postul ados y los teoremas que ya demOSInlmOS. Tomemos como ejemplo el
teorema de absorción.
TEOREMA 6a): x + xy = x.
x + xy =x ' l + xy
:: x(1 + y)
:::: x(y + 1)
:::: x·1
' x
TEOREMA 6b): x(x + y) = x por dualidad.
por el postulado: 2b)
4.)
3.)
2,)
2b)
Es posible demostrar los teoremas del álgebra booleana utili zando tablas de verdad. En esas
tablos. se veri fica que ambos miembros de la relación den resultados idénti cos para todas los
posibl es combinaciones de las vari ables que intervienen. La siguiente tabta de verdnd verifica
el primer teorema de absorción.

, .,
• + .y
O O O O
O I O O
I O O 1
1 1 1 1
Mal nal pr01eQido por dfI ;;¡UI')r
40
"
Capítulo 2
"
Algebra booleana y compuertas lógkas
Las demostr.Jciones algebraicas de la ley a.<;ociativa y dd teorema de DcMor-gan son largas y
no se presentaron aquí. Si n embargo. es fácil mostrur su validez con tablas de verdad. Por
ejemplo. he aquf la tabla de verdad del primer teorema de DeMorgan (x + y)' = :ly'.
, ,
, +,
(x + ,)'
,"
r'
, 'r'
O O O I I I I
O I I O I O O
I O I O O I O
I I I O O O O
Precedencia de operadores
La precedencia de operadores para evaluar expresiones booleanas es 1) paréntesis. 2) NOT,
3)ANO y4) ORo Dicho de otro modo. la expresión encerrada en paréntesis se debcevalunran-
les que todas las demás operaciones. La siguiente operación que tiene precedencia es el com-
plemento, seguida del ANO Y por último el OR. Por ejemplo. consideremos la tabla de verdad
para el teorema de DeMorgnn. El miembro i1.quierdo de la expresión es (x + y)' . Por tanto. la
expresión dentro de los paréntesis se evalúa primero y luego se complementa el resultado. El
miembro derecho de la expresióo e . ~ x'y'. Por mnto. se evalúan primero el complemento de x y
el complemento de y. y luego se obtiene el ANO del resultado. Cabe señalar que rige la mis-
ma prttedencia en la aritmftica ordi naria (excepto el complemento) si sustituimos la multipli-
cación y la suma por el ANO y el ORo respectivamente.
2-4 FUNCIONES BOOLEANAS
El álgebra booleana es un álgebra que se ocupa de \'llriables binarias y operaciones lógicas. Una
función booleana descrita por una ellpresión algebraica consta de variables binarias. las cons-
tantes O y l. Y los símbolos lógicos de opernción. Para un valor dado de las \'ariables binarias.
la función puede ser ¡gunl a I o bien a O. Considere por ejemplo esta función booleana:
Fj = x + )"<:
La función F
1
es igual a I si x es igual a I o si tanto y' como z son iguales a l. F
1
es igual a O en
todos los demás casos. La operación de complemento hace que si y' = 1. entonces )' = O. Por
tanto. podemos decir que F
1
= I si x = I o si y '" O y :: = l. Una runci ón booleana expresa
In relación lógi ca entre variables binarias. Se evalúa determinando el valor binario de la ellpre-
sión para todos los posibles valores de In.o; variables.
Podemos representar una función booleana en una labia de verdad. Una tabla de verdad es
una lista de combinaciones de unos y ceros asignados a las variables bi narias y una columna
que muestra el valor de la función para cada combinación binaria. El número de filas de la ta-
bla es 2". donde n es el número de variables de la función. Las combinnciones binarias para la
tabla de verdad se obtienen de los números binarios. contando de O hasta r - l . La tabla
2·2 muestra la tabln de verdlld para la función F
1
• Hlly ocho posibles combinaciones binnrias
para asignar bits a las tres variables x.)' y l. La columna fO(ulada F
1
contiene O o I paro cada una
M- r protegido)Or de' h .... de' I')r
I
Sección 2·4 Funciones booleanas 41
Tabla 2· 2
Toblas de verdad pora F, y F]

r
z f, f,
O O O O O
O O I I I
O I O O O
O I I O I
I O O I I
I O I I I
I I O I O
I I I I O
;====j2:">==
FIGURA 2· '
Implementaci ón de FI .., Jf .;- y' z con compuertas
de esas combinaciones. La tabla indica que la (unci ón es igual ti 1 cuando x = I o cuando
)7: = 0 1. En los demás casos. es igual a O.
Una (unción booleana se puede transfonnar de una expresión algebraica a un diagrama de
circuitos hecho con compuenas lógicas. En la figura 2- 1 se presenta el di agrama de circuito 16-
gico para F •. Hay un inversor para generar el complemento de la entroda y. una compuerta
AND para y'z. y una compuena OR que combi na los dos términos. En los diagra-
mas de circuitos lógicos. las vari ables de la función son las entradas del circuito. y la vari able
binari a F. es la sali da del circuito.
Sólo hay una fonna de representar una función booleana en una tabl a de verdad. En cam-
bio, cuando la función está en forma algebraica, puede expresarse de varias maneras. La ex-
presión empl eada punl designar la (unción también determinará la interconexión de
compuenas en el di agrama de ci rcuito lógico. Manipul ando una expresión booleana según ItlS
reglas del álgebra booleana. a veces es posible obtener una expresión más simpl e para la mi s-
ma función y así reduci r el número de compuenns del ci rcuito y el número de entrada. .. de las
compuertas. Consi deremos, por ejemplo. esta función booleana:
F
2
= x'y't. + x'yt. + xy'
La implementación de esta función con compuertas lógicas se muestro en la figura 2·2a).
Las variables de entrada x y y se complementan con inverwres parn obtener :c' y y'. Los tres tér-
minos de la expresión se implementan con tres compuertas ANO. La compuerta OR forma el
OR lógico de los Ifes términos. La tabla de verdad para Fl se prcsentLl en la tabla 2-2. La fun-
Mat 1':11 proJP.gido Y'lr derer.hos df' :J.L-t')r
42 Capítulo 2
• •
Algebra booleana y compuertas logicas
y
-{>
::J
,
L=l
L
r
-t
. ) Fl - x', ':; + .r'rz + xy'
- --L---í,



b) Fl- xy'+ x' z
FIGURA 2-2
Implementación de la fundón booleana Fl con compuerta)
F ,
ción es igual a I cuando .t)'l = 001 o 011, o cuando xy = 10 (si n importar el valor de z): en
los demás casos es igual a O. EsIO produce cuatro UIlOS y cuatro ceros paro "'2-
Consideremos ahora la posi ble simpl ificación de la función aplicando algunas de las iden-
tidades del álgebra booleana:
Fl = x'y'z + .r'),' + xy' = x'z(y' + y) + xy' = x'z + xy'
La función se reduce a únicamente dos ténninos y se puede implementar con compuenas co-
mo se indica en la fi gura 2-2b). Es evi dente que el cirt:uito de b) es más senci llo que el de a).
aunque ambos realizan la misma función. Podemos usar una labi a de verdad para comprobar
que las dos expresiones son equivalentes. La expresión simplificada·es igual a 1 cunndox.: : 01
o cuando.ry : lO. Esto produce los mismos cuatro unos en la tabla de Puesto que am-
bas expresiones producen la mi sma tabla de verdad. decimos que son equivalentes. Por- tanto.
los dos circuitos tienen las mi smas sal idas para todas las posibles combinaciones binarias de
las tres variables de entrada. Ambas reali z.an In misma función, pero la que tiene menos com-
puertas y menos entradas a las compuertas es preferi ble porque requiere menos alambres y
componentes.
Manipul ación algebraica
Cuando se una expresión booleana con compuertas lógicas, cada término
una compuerta y cada vanable denuo del término implica una entrada a la compuerta. Defini-
mos una literal como una sola variable dentro de un término. que podría estar complementa-
Mar 1"11 proJP.Qido por df' :Jll'1r
Sección 2-4 Funciones booleanas 43
da o no. La función de la figura 2-23) tiene tres ténninos y ocho literales; 111 de la fi gura 2-2b}
tiene dos ténninos y CUlltro literales. Si reducimos el número de témlinos. el número de litera-
les. o ambas cosas. en una expresión booleana. p¡xtría obtenerse un circuito más sencill o. La
manipulación del á1gebro booleana consiste en su mayor pane en reducir una expresión con ro-
jeto de obtener un circuito más simple. Las funciones de hasta cinco variables se pueden sim-
plificar con el método de mapa que se describirá en el capftulo siguiente. En el caso de: funciones
booleanas complejas. los diseñadores digitales utilizan programas de minimización computa-
ri 7.ados. El úni co método manual con que se cuenta es un procedimiento de recortes y ensayos
que uti liza las relaciones básicas y otras técni cas de manipulación que con el uso se vuelven
familiares. Los ejemplos que siguen ilustran la manipulación algebraica del álgebra booleana.
Simplifique las funciones booleanas siguientes al número mínimo de litemles.
l. x(x' + y) :;: xx' + xy ::: O + xy :;: xy.
2. x + x'y = (x + x')( x + y) :: I(x + y) :::: X + y.
J. (x + y)( x + y') :: X + xy + xy' + yy' = x( 1 + y + y') = x.
4. xy + x'z + )'Z = xy + x' z + yz(x + x')
= xy + x' z + xyz + x'yz
= xy( 1 + ¡ ) + x'¡( 1 + y)
:: xy + x' z_
5. (x + y)( x' + z)(y + z) "" (x + y)( x' + ¡) por dualidad de la función 4.

Las funciones 1 y 2 son una la dual de la otra y utilizan expresiones duales en pasos corres-
pondientes. Una fonna más sencilla de simplificar la función 3 es con el post ulado 4b) de la
tabla 2-1: (x + y)(x + y') = x + yy' = x. La cunna función ilustro el hecho de que un au-
mento en el número de literales a veces da pie a una expresión final más simple. La función 5
no se minimiza directamente. pero puede deducirse del dual de los pasos empl eados para de-
ducir la función 4. Las funciones 4 y 5 llevan el nombre de: l eorema de consenso.
Complemento de una fundón
El compl emento de una función Fes F' y se obtiene intercambiando ceros por unos y unos por
ceros en el vnlor de F. El complemento de una función podrlll deducirse 1I1gebruicumente em-
pleando el teorema de DeMorgan. Este par de teoremas se presenta en lo tabla 2-1 para dos VII-
ri obles. Los teoremas de DeMorgan se pueden extender a tres o más variables. La fonna de: tres
variables del primer teorema de: DeMorgan se deduce como sigue. utilizando postulados y teo-
remas de la labIa 2-1 :
(A + B + Cl' = (A + x)'
= A'x'
= A'( 8 + Cl'
= A'( 8' C')
= A' B'C'
seaB +C""x
por el teorema 5a) (DeMorglln)
sustituimos B + C = x
por el teorema 50) (DeMorgan)
por- e l t ~ m o 4b) (asociatividad)
44 Capítulo 2 Álgebra booleana y compuertas l ó g k a ~
Los teoremas de DeMorgan para cualquier número de variables tienen una forma similar al ca-
so de dos variables y se deducen por sustituciones sucesivas como se hi zo en la deducción an-
terior. Estos teoremas se pueden generalizar así:
(A + B + e + 0 + ... + F)' = A' B'C' D' ... F'
( A8CD .. . F )' = A' + 8' + C' + D' + ... + F'
La. fonna generalizada del teorema de DeMorglln di ce que el compl emento de una función se
obtiene intercambiando operadores ANO y OR Y complementando cada literal.
Halle el compl emento de las funciones F
1
= ryi + x'y'z. y Fl = .r(y';::' + yz). Aplicando el
teorema de DeMorgan tantas veces como sea necesario. se obtienen los complementos como
sigue:
F; = ( x'yZ' + .t'y'l.)' = ( x'yi)'{x')"l.)' = (x + ),' + z)( x + )' + Z')
F¡ ~ [ xV,' + y,) ]' ~ x' + (y'z' + yz)' ~ x' + (y' z')'(yz)'
~ x' + (y + ,)(y' + ,')

Un procedimient o más sencillo para deducir el compl ement o de una función consiste en
obtener el dual de la función y complementarcada lileral. Este método es consecuencill delteo-
rema generalizado de OeMorgan. Recuerde que el dun.1 de una función se obtiene intercambian-
do operadores ANO y ORo Y unos Y ceros.
Detennine el complemento de las funciones FI y F
2
del ejempl o 2-2 obteniendo sus dual es y
complementando cada lit eral.
1. Fj = x'y:' + x'y't: .
El dual de FI es (r + y + l.' XI + y' + Z).
Complementamos cada literal : (x + y' + :)( x + y + n == F;.
2. Fl = x()" z' + y:).
El dual de Fl es x + ()" + ¡')()' + z) .
Complementamos cada literal : x' + (y + z)(y' + z') = Fí.

. ,
2-5 FORMAS CANONICAS y ESTANDAR
Mlnltérmlnos y maxltérmlnos
Una vnriable binaria podría aparecer en su fonna nonnal (x) o en su fomla complement ada
(x' ). Considere ahora dos variables binarias x y y que se combinan con una operación ANO.
Puesto que cru:la variable podrla aparecer en cualquiera de sus dos fomlaS. hay cuatro combi -
naciones posibles: :ly'. :1)'. xi y x)'. Cada uno de estos cuatro ténninos ANO es un minilént/i-
Mar nal protegido por der=-h(}s de> "'1\ ,,,,
1
Sección 2-5 Formas canónicas y estándar 45
T.bl.2-3
Minilérminos y maxiténnino, pora Irrs variable, binarios
.Inlll.: minos
".,lIt', minos
x y x T',mlnos Designación T,: ... lnos Designación
O O O x)lZ:
no,
x +y+z
M.
O O 1 x'lt m, x+y +z' M,
O 1 O m, x +y'+z M,
O 1 1 m, x+y'+:'
M,
1 O O xy't' m, x'+)'+l M,
1 O 1 xy': m, :c'+)'+z' M,
1 1 O xyz'
m.
x'+y'+z
M.
1 1 1 xyz m, x'+y'+t' M,
no, o prodllCIO De manera similar, podemos combinar n vari ables para formar mi -
nitérminos. Éstos podrían obtenerse con un método si mil ar al que se muestra en la tabla 2-3
para tres variables. Se enumeran los números binarios de O a - I bajo las n variables. Ca-
da minitérmino se obtiene de un término ANO de las n variables, poni endo un apóstrofo a
cada varioble si el bi t correspondiente del número bimtrio es un O y si n apóstrofo si es un 1. En
lo tabla también se muestra un sfmbolo para cada minitérmino, el cual tiene la forma mI' don-
de j denota el equivalente decimal del número binario del minitérmino designado.
Asimismo. n variables que forman un término ORo donde cada variable puede tener após-
trofo o no. dan pie a posibles combinaciones. llamadas maxitirminos o sI/mas En
la labia 2-3 se presentan los ocho mrudtérmi nos de tres vari ables.j unlo con su designación si m-
bólica. Podemos obtener de manera similar cualesquier maxiténninos para n variables. Ca-
da maxitérmino se obtiene de un término OR de las n variables. donde cada variable lleva un
apóstrofo si el bit correspondiente del número binario es l . Cabe señalar que cada maxilérmi-
no es el complemento de su mi nitérmino correspondiente. y viceversa.
Se puede expresar algebrnicamente una función booleana a parti r de una labia de verdad
dada formando un minitérmi no paro cada combinación de las variables que produce un 1 en
la función. y fonnando después el OR de todos e.'iOS términos. Por ejempl o. la función!. de la
T_bl_ 2-4
Funcion" tres
x y x
Función '. Función '2
O O O O O
O O 1 1 O
O 1 O O O
O 1 1 O 1
1 O O 1 O
1 O 1 O 1
1 1 O O 1
1 1 1 1 1
Mar fI'll protegido por c!erocf'Jo<:, de 'lL: "Ir
46 Capítulo 2 Álgebra booleana y compuertas lógicas
labia 2-4 se obti ene expresando las combinaciones 001. 100 Y III comoriz . .1'),'1.' y ")'1.. res-
pectivameme, Pueslo que cada uno de estos miniténninos hace que J. = 1, tenemos
J. = .1''y'1. + ,1'y'1.' + xy1. = m. + 111 4 + 111 7
De rorma si milar. es posible verificar fáci lmeme que
J 2 = x'y, + xy', + xy¡:' + xy, = 111) + "'1 + 111 6 + 1t/ 7
Estos ejemplos ilustran una propiedad importame del álgebra booleana: cualquier función boa-
leana se puede expresar como una suma de minitérminos (donde "suma" se refi ere al OR de
los términos).
Considere ahora el complemento de una runci ón booleana. Podría leerse de la tabla de ver-
dad formando un minitérmino para cada combinación que produce un O en la runción. y ha-
ciendo el OR de esos términos. El complemento de l . se lee asf:
Ji = x'y' i + .1"yz' + x'yz + ,1")", + x)','
Si obtenemos el complememo de Ji . obtendremos la funciónfi:
JI = (x + y + z}{.1' + y' + z)( .1" + y + l)(x' + y' + 1.)
= Mo . M
1
• M) . Mj ' M6
Asimismo. podemos leer la expresión paraJ2 de la tabla:
h = (x + )' + z)(.1' + y + z')( .1' + y' + z)( .1" + y + z)
= MoMt M2M,
Estos ejemplos ilustran una segunda propicdlld del álgebra booleana: cualquier runción boa-
leana se puede expresar como un producto de maxitérminos (donde "producto" se refiere a ha·
cer el ANO de los términos). El procedimient o pura obtener el produclo de maxiténninos
directamente de la tabla de verdad es el siguiente. Se fonna un maxiténnino para cada combi-
nación de las variabl es que produce un O en la funci ón y luego se hace el ANO de todos esos
maxiténninos. Se dice que las funciones booleanas expresadas como suma de miniténninos o
prodUCIO de muitérminos están enlomla C(lIlÓIl;CtJ.
Suma de minlté rmlnos
Dijimos ames que. pam n variables binarias. podemos obtener miniténninos distintos. y que
es posibl e expresar cualquier función booleana como una suma de lIl inilérmi nos. Los minitér-
minos cuya sumn defi ne a la runción boolenna son los que producen los unos de In runción en
' una tabla de venlad. Puesto que la runción puede dar I o O con cada minilémlino, y dado que
hay 2" mini términos. podemos calcular que el número de runciones que es posible rormar con
11 variables es 2l!o, A veces es útil expresar la runción booleana en su forma de suma de mini·
térmi nos. Si no eslá)'a en esa rorma. eslO se logra expandiendo primero la expresión a una su-
ma de términos ANO. Luego se examina cada lérmino para ver si conti ene variables.
Si ralta una o más variables. se le hace AND con una expresión como x + ,T. donde x es una
de las vnriables faltantes. El ejempl o que sigue aclarorá el procedimiemo .

Exprese la función boolenna F = A + B' Ccomo suma de minitérminos. La función ti ene tres
variables. A. 8 y C. En el primer lénnino, A. faltan dos variables: por tamo:
A = A( B + B' ) = AB + AB'
Mat"'r!''!1 protegido por derecho de 3ut')r
Sección 2-5 Formas canónicas y estándar 47
A esta función todavía le falta una variable:
A = AB(C + C) + AB'(C + C)
= ABC + ABC' + AB'C + AB'C'
Al segundo término. B'C, le falta una vttri able:
B'C = B'C(A + A') = AB'C + A' B'C
Al combinar todos los términos. tenemos
F = A + B'C
= ABC + ABC' + AB'C + AB'C' + A' B'C
Sin embargo. AB' Caparece dos veces y. según el teorema I (x + x = x). podemos eliminar uno
de ellos. de reacomodar los minitérminos en orden ascendente. obtenemos por fin
F = A' R'C + AB'C' + AB'C + ABC' + ABC

Hay ocasiones en que convi ene expresaT la función booleana, en su fonna de suma de mi -
nitérminos. con la sigui ente notnción abreviada:
F( A, B, C) = :í; ( l, 4, 5, 6, 7)
El símbolo de sum3l0ri a. representa el OR de los términos; los números que le siguen son
los mi niténninos de la función. Las letras entre después de F son unl1lista de las va-
ri ables en el orden que se usará al convenir un minitérmino en un término ANO.
OltO procedimiento para obtener los mini términos de una función booleana consiste en de-
ducir la tabla de verdad directamente de la expresión algebraica y luego leer los miniténninos
de esa labia. Considere la función booleana del ejemplo 2-4:
F = A + B'C
La tabla de verdad que se muestra en la labia 2-5 se deduce directamente de la expresión al -
gebraica enumerando las ocho combinaciones binarias bajo las variables A, B Y e e insertan-
Tabla 2-5
Tabla de verdad para F A + Ere
A

e F
o o o o
o o I I
o I o o
o I I o
I o o I
I o I I
I I o I
I I I I
,
protegido por derechos de 'lt.: or
48 Capítulo 2 Algebra booleana y compuertas lógicas
do unos bajo F para las combinaciones en las que A "" 1 Y Be "" 01 . Luego. se lee en la tabla
de verdad que los cinco miniténninos de la funci ón son l . 4. 5. 6 Y 7.
Producto de maxltérmlnos
Cada una de las 2;!. funciones de n variables binarias se puede expresar tambi én corno un pro-
ducto de maxiténninos. Para expresar la función booleana como producto de maxiténni nos. pri -
mero debe ponerse en fonnato de ténninos DR. podría hacerse con la ayuda de la ley
di stributiva . . t + )'Z "" (x + y)(x + z). Luego. se hace el OR de cualquier vari abl e faltant e x
en cada ténnino OR con x.r'. El ejemplo que sigue aclarará el procedimiento.
Exprese la función booleana F = X)' + .r'z en foruta de producto de maxi ténninos. Primero.
se convierte la funci ón en ténninos OR empleando la ley distribut i\'a:
F = xy + x' z = (xy + .1' )(.1)' + z)
(x + x')( y + x')( x + ,)(y + ,)
( x' + y)( x + ,)(y + ,)
La función tiene tres variables. x, y y z, A cllda ténni no OR le falta una vari able: por tanto:
x' + )' "" x' + Y + t-I' "" (x' + )' + z)(.t ' + y + l')
X + z "" x + Z + )'y' "" (x + )' + z)( x + y' + z)
)' + z "" )' + Z + xx' "" (x + y + z){x' + )' + z)
Después de combinar todos los térmi nos y eliminar los que aparecen más de una vez, se obtiene:
F = (x + )' + l)(X + y' + l)( X' + )' + ¡Hx' + y + l')

Una fonna CÓmoda de expresar esta función es:
F(x. y. ,) : neo. 2. 4. 5)
El sfmbolo de producto. n, denota el AND de mnxitérminos: los números son los mnxitérmi -
nos de lu funciÓn,

Conversión entre formas canónicas
El compl emento de una funci ón expresado como la suma de miniténninos es igual a la suma
de los minilénninos que falt an en la funci ón original, Ello se debe a que la función original se
expresa con los minitérminos que hacen que la funci ón sea igual a l . que su comple·
mento es 1 par.! aquell os miniténninos que hacen que la función original sea O. Por ejemplo.
considere la función
F( A. B. e ) 4.5, 6. 7)
Su complemento se expresa como
F'( A. B. C) = 2. 3) = fil O + "' 1 + "'1
M' r protegido por derechos da ul')r
Sección 2-S Formas canónicas y estándar 49
Ahom bien. si se determina el complemento de F por el teorema de DeMorgan. se obtiene F
en una forma di stinta:
F = (mo + /1/ 1 + mS = mó . m; . m; = MoM1M3 = n (O, 2, 3)
Esta última conversión es consecuencia de la definición de minitérmi nos y maxitérminos. co-
mo se muestra en la tabla 2-3. En esa tabla es evidente que se cumple la relaci ón
' - M
m ) - j
Es dccir. el maxitérmino con subíndicej es el complemento del mini término que ll eva ese sub-
índice. y viceversa.
El último ejemplo il ustr.l. la conversión entre una función expresada como suma de minitér-
minos y su equivalente en producto de maxiténninos. Un argumento similnr demuestro! que la con-
versión entre el producto de maxiténninos y la suma de miniténninos es similar. Ahora
pl antearemos un procedimiento general de conversión. Pata convenir de una fonua canónica a
OIm, intercambi amos los srmbolos ~ y n e incluimos en la lista sólo los números que fal taban
en la fonna original. Paro. hall nr los términos fnltantes. debemos re,,:ordar que el número tOlal de
miniténni nos o maxiténninos es 2", donde n es el número de variables binarias en la función.
Es posible convenir una función booleana de una expresión algebrnica a un producto de
maxiténninos utili 7.ando una tabla de verdad y el procedimiento de conversión canónica. Con-
sidere. por ejemplo. la exprc.<¡ión booleana
F = .1')' + :r'z
Primero. obtenemos la tabla de verdad de la función. la cual se muestra en la tabl a 2-6. Los unos
bajo F en la tablo se detenni nan a panir de las combi naciones de las variables en las que
.,¿, = 11 o.rz. = O l . De la tabla de verdad deducimos que los minitérminos de la función son
l . 3. 6 Y 7. La función expresada como suma de miniténninos es
F(x,y.,) ~ ¿(I ,J,6.7)
Puesto que en total hay ocho minitérminos o maxiténninos en una función de tres variables.
deducimos que los térmi nos faltantes son O. 2. 4 Y S. La función expresada como producto de
maxitérmi nos es
F(x. y. ,) = n (O, 2, 4. 5)
8 ta es la misma respuesta que obtuvimos en el ejemplo 2-5.
T.bl. :Z-6
Tablo de verdad paro f Ky + I('Z

r
z

O O O O
O O I I
O I O O
O I I I
I O O O
I O I O
I I O I
I I I I
Mat nal protegido por derechos dfI aL'!')r
SO Capítulo 2 Álgebra booleana y compuertas 16gicas
Formas estándar
y'
x'
y
. '

,
i
y
Las dos fonnas canóni cas del álgebm booleana son formas básicas que se obti enen al leer una
función de su tabla de verdad, pero casi nunca son las que tienen el numero mínimo de litern-
les, porque cada miniténnino o maxitérmi no debe comener, por defi nición_ rodas las variables.
sea complememadas o sin complementar.
Otro forma de expresar funciones booleanas es en forma esrdndar. En esta configuración,
los términos que forman la función podrian contener una, dos o cualquier numero de ¡iterules.
Hay dos tipos de formas estándar: la suma de productos y el producto de sumas.
La SImIO de produc/Os es una expresión booleana que conti ene términos ANO, llamados
rénninos de producto, con una o más litcrnles cada uno. La SlUno denota el OR de esos térmi -
nos. Un cjemplo de funci ón ex presada como suma de productos es
Fe = y' + xy + x'yI'
La expresión tiene tres términos de producto con una. dos y tres literales. Su suma es realmen-
te una operación DR.
El diagrama de lógica de una expresión de suma de productos consiste en un grupo de com-
puertaS ANO seguidas de una sola compuerta OR. Este patron de configuración se muestra en
la figuro 2·3a). Cada término de producto una compuerta ANO. salvo los términos que
sólo ti enen una literal. La suma lógica se forma con una compuerta OR cuyas entrndas son las
salidas de las compuertas ANO y las literales solas. Suponemos que contamos directamente con
las variables de entrada en fonna de complemento, as! que no se han inclui do inversores en el
diagrama. confi guración de circui to se denomina implementación de dos niveles.
Un prodllcto de sumas es una expresión booleana que contiene térmi nos OR, ll amados tér-
minos de Sllma. Cada término puede tener cuaJquier cantidad de literales. El producto denota
el ANO de esos térmi nos. Un ejemplo de funci 6n expresada como producto de sumas es
Fl = xC),' + ¡)(x' +)' + z)
Esta expresi6n tiene tres términos de suma con una. dos y tres literales. El producto es una
operación ANO. El uso de las palabras producto y SI¡ma proviene de la similitud entre la ope-
ración ANO y el producto aritmético (multipli cación), y de la simili tud entre la operación OR
y la suma aritmética (adición). La estructura de compuertas de la expresión de producto de
sumas consiste en un grupo de compuertas OR para los términos de suma (eltcepto la literal
,
",
y'
F,


" y


b) ProdU(tQ de ,umas
fiGURA 2-3
Implementadón de dos niveles
Mat ríal protegido por derechos dfI :J.L'f')r
52 Capítulo 2 Álgebra booleana y compuerta.s lógicas
Tabla 2-7
Tablas de poro 101 76 de dos vorlobks binar/as

r
f,
"
f ,
"
f. f. f ,
"
F, f.
f" f "
f u f u
",
f u
O O O O O O O O O O 1 1 1 1 1 1 1 1
O 1 O O O O 1 1 1 1 O O O O 1 1 1 1
1 O O O 1 1 O O 1 1 O O 1 1 O O 1 1
1 1 O 1 O 1 O 1 O 1 O 1 O 1 O 1 O 1
diseñadores digitales no usan comúnmente ninguno de los símbolos que se muestran. con ex-
cepción del símbolo de OR excl usivo. $.
Cada una de las funciones de la tabla 2-8 se presenta acompañada de un nombre y un co-
mentario que explica algo de la función. La .. 16 funciones de la li sta se subdividen en tres ca-
tcgorfa.<¡:
1. Dos funciones que producen una consltmle. O o J.
2. Cualro funciones con operaciones unari as: complemento y transferencia.
3. Diez funci ones con operadores binarios que definen ocho operaciones di stintas: ANO.
DR. NANO. NOR. OR excl usivo. equivalencia. inhibición e implicación.
Tabla 2-8
E.xptl!jIOMS bookonos poro 10l 16 (¡¡ncrones de dos vorioblr5
Fundones booleanas 51mbolo Nombr1! Come ntarios
de operador
Fo = O Nula Constante binaria O
F, = xy x' y ANO .f Y )'
f'l = X){
x/ y
Inhibición x. pero no y
FJ = x Transferencia
.,
F. = x'y yl x Inhibición y, pero no x
F, =y Transfere ncia y
F, = ., , ' + x')' xEB )' OR cxclusi\'O x O), pero no ambas
F
7
= x + y
., + ,
OR x o)'
' . = (x+y )' x<, NOR NoOR
F9 = ." + x'y
(xey )' Equivalencia .( es igual a y
F,o = y' j Complemento No )'
FIl = x+y x e y Implkoción Si y. entonces x
Fe! = x'
;( Complemento Nox
Fu El: x' + Y O y Implicoción Si ., . entonces)'
fi. = (xy)' xt)' NANO NoANO
F'i = 1
Identidad Constante: binaria I
Mat nal protegido por derechos dfI aL'I')r
I
Sección 2-7 Compuertas lógicas digitales 53
Las con.'itanlcs de funciones booleanas sólo pueden ser iguales n loa O. La función de
complement o produce el complemento de cada una de lus variables binarins. Se llama lrons-
fucncia 11 toda función que es igual a una vari able de entrndll, porque la variable, x o y. se
transfiere Il trav6 de la compuenn que forma la función 1' in alterar su valor. De los ocho ope-
radores binarios, dos (i nhibición e implicación) se usan en lógica, pero casi nunca en lógica de
compUladoras. Ya mencionamos los operadores ANO y OR en relación con el álgebra boolea-
na. Las ()(r.:lS CUnlro funciones se usan eXlensamente en el diseño de sistemas digitales.
La función NOR es el compl emento de la función OR y su nombre es la abreviatura de 110
ORo Asi mismo. NANO es el complemento de ANO y es la abreviatura de no ANO. El OR ex-
clusivo. que se abrevia XOR. es simi lar al DR. pero excluye la combinación en que /anto x co-
I1W y son l . La equivalencia es una función que es l cuando las dos variables binarias son
iguales. es deci r, cuando ambas son O o cuando ambas son l . Las funciones de OR exclusivo
y equivalencia son una el complement o de la otra. Esto se comprueba fócilmenle inspeccionan-
do la tabla 2-7. La tabla de verdad para el OR exclusivo es F6. y para la equivalencia. yes-
tas dos funciones son una el complemento de la otra. Por ello. llamamos NOR excl usivo a la
función de equivalencia. y la abreviamos XNOR.
El álgebra booleana. tal como se defi ni ó en la sección 2-2. ti ene dos operadores binnrios.
a los que hemos ll amado ANO y OR. Y un operndor unario. NOT (complemento). De las de-
finiciones. hemos deducido varias propiedades de esos operadores y ahorn hemos definido
otros operadores binari os en de los primeros. Nada tiene de singular tal procedi-
mi ento. Bien podrlamos haber partido del operndor NOR (J..). por ejemplo. y posteriormen-
te haber definido ANO. OR y NOT en términos de No obstante. hay motivos de peso para
introducir el álgebra booleana de la manera en que lo hici mos. Los conceptos de "y", "0" y
"no" son conocidos y la gente los usa parn expresar ideas lógicas cotidianas. Además. los
poslUl ados de Huntington reflejan la nnturnleza dual del álgebra y hacen en la si me·
tria mutua de + y ' .
2-7 CO MP UERTAS LÓGICAS DIGITALES
Puesto que las funciones booleanas se expresan en térmi nos de operaciones ANO. OR Y NOT.
es' fácil implementar una función booleana con estos tipos de compuerta.'i. La posibilidad
de construir compuertas parn las otras operaciones lógicas ti ene interes práctico. Los factores
a considerar al investi gar la construcción de otros tipos de compuertas lógicas son: 1) la facti-
bilidad y economía de producir la compuerta con componentes ITsicos. 2) la posibilidad de ex-
tender la compuerta a más de dos enlradas. 3) las propiedades básicas del oper.Klor binario. como
conmut.ati vidad y asociatividad, y 4) la capacidad de la compuerta para implementar funcio-
nes sola. .. o junto con otra .. compuerta. ...
De las 16 funciones definidas en la tabla 2-8. dos son iguales a una constante y cuatro se re-
piten dos veces. Sólo quedan diez funciones que considerar como candidata.'i para compuertas
lógicas. Dos - inhibición e implicación- no son conmutativas ni asociativas. por 10 que no
resulta práctico su uso canlO compuertas lógicas est¡fudar. Las otras ocho: compl emento. trans-
ferencia. ANO. DR. NAND. NOR. OR exclusivo y equivalencia se emplean como compuer-
tas estándar en di seño di gi tal.
Los símbolos gráficos y tablas de \'erdad de las ocho compuertas aparecen en la figurn 2-5.
Cada compuerta tiene una o dos variables binarias de entrada designadas con x y y. y una va-
riabl e binaria de salida designada con F. Ya definimos los circuitos de ANO. OR Y el inversor
Mat 1'3.1 protegido derechos df' :J.Lt')r
54 Capítulo 2 Álgebra booleana y compuertas lógicas
Nombre

ANO
,
OR

,
ln>'cnor
BOrer

NANO
,

NOR
,
OR e;¡¡clU$ivo

(XOR) ,
NOR

"
e<¡uivakncia
,
Srmbolo
",r""
I
)
) )
1>

[>
I
)
)
>
))
)
))
>
FIGURA 2-5
Compuertallógicas digitales
F
F
F
F
F
F
F
F
Funció ..
algcbralca
F- x)'
F-X+l
F- x'
F • •
F . (x,.,.
F - (x + ,)'
F - x,.' + x' y
- x ED y
F- Xl + x'y'
• (xEDy)'
libia
de ,·erdad


F
O O
O I O
I O O
I I I

' 1
F
O O O
O I I
I
01
I
I I I
in
O I
I O
itf
O O
I I

, I
F
O O I
O I I
I O I
I I O

,
F
O O I
O I O
I O O
I I O
x it- '
O O O
O I I
I O I
I I O

1M
O O I
O I O
I O O
I I I

Sección 2-7 Compuertas lógicas digitales SS
en la figura 1-6. El circuito inversor invierte el sentido lógico de una variable binaria: produ-
ce la función Nar. o complemento. El pequeño círculo en la salida del símbolo gráfico de un
inversor (llamado burbuja) indica el complemento lógico. El sfmbolo de triángulo. por sf so-
lo, denota un circuito búfer. Un búfer produce la función de tran.1ferrmcia. pero no una apena-
ción lógica, ya que el valor binario de la salida es igual al valor binario de la entrada. E.o¡te
circuito sirve pura amplificar la potencia de la seíial y equivale a dos inversores concelados en
cascada.
La función NANO es el complemento de la función ANO, como lo indica el sfmbolo gráfico
que consiste en un sfmbol o gráfico ANO seguido de una burbuja. La función NOR es el com-
plemento de la funci ón OR y su símbolo gráfico es el de OR seguido de una burbuja. Las
compuenas NANO y NOR se usan mucho como compuenas lógicas estándar y. de hecho, son
mucho más populares que In.o¡ compuertas ANO y OR. Ello se debe a que es fácil construir
compuertas NANO y NOR con circui tos de transistores. y a que es fácil implementar con ell as
ci rcuitos di gi tales.
La compuerta de OR exclusivo liene un sfmbolo gráfico parecido al de la compuena OR.
sólo que lleva una línea curva adicional del lado de la entrada. La compuerta de equivalencia.
o NOR exclusivo, es el complemenlo del OR exclusivo. como indica la burbuja en cllado de
salida del sfmbol o gráfico.
Extensión a múltiples entradas
Las compuertas que se mueslr.m en la figura 2-5 --con excepción del inversor y el búfer- se
pueden extender de modo que tengan mlÚ de dos entradas. Es posible extender una compuer-
ta a múltiples entradas si la operación binaria que representa es conmutativa y asociativa. Las
operaciones ANO y OR. definidas en el álgebra booleana., poseen esas dos propiedades. Para
la función ORo tenemos
x +y=y+ x (conmulati vidad)
y
(x + y) + z "" x + (y + z) "" .r + y + z (asociatividad),
lo que nos dice que las entradas de la compucrta son intercambiables y que la función OR se
puede extender a tres o más variables.
Las funciones NANO y NOR son oonmulUti vas. y sus compuertas se extienden a más de dos
entradas, si se modifi ca li geramente la definición de la operación, El problema radica en que
los operadores NANO y NOR no son asociati vos [es decir. (x,J. y),J. z -:1: .f,J. (y ,J. z) ). como
se indi ca en la figura 2-6 y en las ecuaciones siguientes:
(x! y)!, ~ [(x + y)' + ,j' ~ (x + y),' ~ Xl' + y,'
x!(y!,) ~ [x + (y +,)')' ~ x ' ( y + , ) ~ x ' y + x',
Para superar este problema. definimos la compuerta NOR (o NANO) múltiple como una com-
puerta OR (o ANO) compl ementada. As{, por defi ni ción. tenemos
x ,J. y ,J. Z = (x + y + z)'
xt y t , = (xyz)'
Los .s fmbolos gráfi cos pana las compuertas de tres entradas se incluyen en la figura 2· 7, Al es-
cri bi r operaciones NOR y NANO en cascada. hay que usar los partnlesis correctos para indi-
Mal 1"1.1 proJP.gido 'lnr derer.hos df' :J.L'f')r
56 Capítulo 2 Álgebra booleana y compuertas lógicas
y
y _______ - (x ... y):'

FIGURA 2-6
Demostradón de la no asa<laUvldad del operador NOR; (x : y) z F- x ! (y ¡ z)
x
y
,
l
a) Compuerta NOR de J entradas
A
B
e
0-r-,
E
x
y
,
I

b) Compuerla NANO de J cntradu
F - I(ABcr . (DE' H' - ABe ... DE
e) Compuertas NANO en cascada
FIGURA 2·7
Compuertas NOR y NANO (on multiples entradas y en cascada
CM el orden en que deben ir la .. compuenas. Paro! demostrar esto, consideremos el circuito de
la fi gura 2-7c). La función booleana del circuito se escribe asf:
F [(A BC)'(DE)']' ABC + DE
La segunda expresión se obtiene del teorema de DeMorgan, y también dcmuestm que una ex-
presión en fonna de suma de productos se puede impl ementar con compuenas NANO. En la
sección 3-6 trataremos más a fondo las compuenas NANO y NOR.
Las compuenas OR excl usivo y de equivalencia son tanto conmutativas como asociati vas
y se pueden extender a más de dos entradas. No obstante, las compuenas OR exclusivo de
varias entradas son poco comunes en hardware. De hecho, incl uso la función de dos entra-
das suele construirse con otros tipos de compuenas. Además. es preciso modifi car la defini·
ción de la funci ón al extenderla a más de dos variables. El OR exclusivo es una función
i n/fXlr, es decir, es igual a I si las variables de entrada li enen un número impar de unos. En
la figura 2-8 se representa la construcción de una función OR excl usivo de tres entradas.
Mé r prOlP.9ido por df' l"lr
Sección 2-7 Compuertas lógicas digitales 57
,
,
, ,
a) Con compuertas de dos entradas
FIGURA 2·8
,
,
,
b) Compuerta de Iru enlrndM
Compuerta OR exclusivo de tres entradas
, ,
• F

o o o o
O O I I
O I O I
O I I O
I O O I
I O I O
I I O O
I I I I
e) Thbla de verdad
au nque normalmente se la implementa conectando en cascada compuertas de dos entradas.
como se observa en a). Gráficamente e! OR excl usivo se representa con una sola compuer-
la de lres enlradas. como en b). La labIa de verdad de e) indica claramente que la salida de
F es igual a I si sólo una entrada es I o si las tres entradas son 1, es decir. si el número to-
tal de unos en las vari ables de enlrada es impar. En la sección 3-8 se estudi ará más a fondo
el OR exclusivo.
Lógica positiva y negativa
La sei\al binari a en las entrndas y salidas de cualquier compuerta tiene uno de dos valores. ex-
cepto dUl1lI1te una tmnsición. Un \'alor de señal representa e! 1 lógico. y el otro. el O lógico. Pues-
to que se asignan dos valores de senal a dos valores lógicos. puede haber dos asignaciones
disti ntas de nivel de senal a valor lógico. como se indica en la fi gura 2-9. El ni vel de senal más
allo se designa con H. y el más bajo. con L. Si escogemos el ni vel alto H paro representar el I
lógico. estaremos defi niendo un sistema de lógica positi va. Si escogemos el nivel bajo L para
representar el I lógico. definiremos un sistema de lógica negativa. Los térmi nos posi tiva y neo
gati va son un tanto enganosos porque ambas señales podrían ser positivas. o ambas negati vas.
No son los valores reales de la señal lo que determina el tipo de lógica. si no más bien la asig-
nación de valores lógicos a las ampli tudes relati vas de los dos ni veles de senal.
Las compuertas digilales en hanlware se defi nen en lérminos de valores de señal como H y
L. Corresponde al usuario decidir si la polaridad de la lógica va a ser positiva o negati va. Con-
Valor
lógko
I
O
FIGURA 2·9
Va lor
de sella1
11
L
a) Lógica positiva
Asignación de 5 e ñ a l e ~ y polaridad lógica
Valor
,...,.
O
I
Valor
de sellaJ
11
L
b) Lógica negalí.,.
Mar fI'll protegido por c!erocf]o<:. de 'lL: '"Ir
58 Capftulo 2 Álgebra booleana y lógicas
,
y
f "
L L L
L fI L
fI L L
fI fI H
a) Tabla de verdad
ron ll 'i L
x,. z
O O
O 1
1 O
1 1
o
O
O
1
c)Tllbla de \'trdad
para lógica posi tiva
, ,
1 1
1 O
O 1
O O
1
1
1
O
e)1ibla de verdad
para lógica negativa
FIGURA 2-10
Compuer11 ___ ,
digital
' --L==--
b) Diagrama de bloque de compuer1a
y
)1--'
d) Comput r111 AND de lógica po!Ii liva
,
f} Compuerla OR de lógica negativa
Demostración de lógica positiva y negat iva
sideremos. por ejemplo. la compuerta electrónica que se muestra en la fi gura 2- 1 Ob). La tabla
de verdad de esta compuerta se presenta en la figura 2- lOa). y especifica el comportamiento
ffsico de la compuer1a cuando H es 3 volts y L es O VOllO¡. La tabla de verdad de la fi gura 2- IOc)
supone una asignación de lógica posiliva. con H = I Y L :::: O. Esta labia de verdad es igual a
la de la operación ANO. El sfmbolo gráfico para una compuerta ANO con lógica positiva se
muesU'a en la figura 2- IOd).
Consideremos ahora la asignación de lógica negati va a la misma compuerta física, con
L :::: I y H = O. El resultado es la labia de verdad de la fi gura 2· lOe). Esta tabla representa
la operación OR aunque las filas están invertidns. El símbolo gráfi co para la compuerta OR
de lógica negaliva se aprecia en la figura 2-100. Los pequeños lriángulos en las entradas y
la salida son indicado"s dI! polaridad. La presencia de este indicador de polaridad en una
lemtinal implica que se está suponiendo lógica negali va para la señal. Así. la mi sma com- .
puerta fís ica puede operar como compuerta ANO de lógica posi ti va o como compuerta OR
de lógica negativa.
Mal rnl protegido p?f derechos de ':lul')r
Sección 2-8 Circuitos int egrados S9
La conversión de lógica positiva a lógica negativa, y viceversa. es básicamente una opera-
ción que cambia los unos a ceros y los ceros a unos tanto en las entradas como en la sali da de
la compuerta. Puesto que esta operación produce el dual de una función, el cambio de todas las
terminal es. de una polaridad a la otra, equivale a obtener el dual de la función. El resultado de
eSIn conversión es que Todas las operaciones ANO se convierten en operaciones OR (o sImbo-
los gráficos) y viceversa. Además, no debemos olvidamos de incluir el triángulo indicador de
polaridad en los sfmbolos gráficos cuando se supone lógica negativa. En este libro no usare-
mos compuertas de lógica negativa. y supondremos que todas las operan con una
asignaciÓn de lógica positiva.
2-8 CIRCUITOS INTEGRADOS
Un circuito integrado (que se abrevia CI) es un cristal semiconductor de silicio. llamado chip.
que contiene los componentes electrónicos para construir compuertas digitales. Las divenlllS
compuertas se interconectan dentro del chip para formar el circuito requerido. El chip se mon-
la en un recipiente de cerámi ca o plástico. y las conexiones se sueldan a terminales externas
para formar el circuito integrado. El número de terminales podrfa variar desde 14 en un paque-
te de CI pequei'io hasta varios mil es en los paquetes más grandes. Cada el tiene una desi gna-
ciÓn impresa en la superficie del paquete, para poder identificarlo. Los fabricantes
proporcionan libros de datos. catálogos y siti os Web de Internet que contienen descripciones
e ¡nfoonación acerca de los CI que producen.
Niveles de integracIón
Los el digitales suelen clasificarse según la complej idad de sus circuitos. la cuaJ se mide por
el número de compuertas lógicas incluidas en el paquete. La diferenciación entre los chips que
tienen pocas compuertas internas y los que tienen cientos de miles de compuertas suele hacer-
se diciendo que el paquete es un dispositivo de integración a pequei\a, mediana, gran o muy gran-
de escala.
Los di spositivos de o (551. contienen
varias compuertas independientes en un solo paquete. Las entradas y salidas de las compuer-
tas se conectan directamenTe a las terminales del paquete. El número de compuertas suele ser
menor que 10 Y está limitado por el número de tenninales con que cuenln el el.
Los dispositivos de inlegraci6n o mediona escolo (MSI. medium-scale inlegralion) tienen
una complejidad de entre 10 y 1 (XX) compuertas en un solo paquele. Por lo regular, efectúan ope-
raciones digitales elementales específicas. Presentaremos las funciones digitales de MSI en el
capflUlo 4 como decodificadores, sumadores y multiplexores. y en el capitulo 6. como regis-
tros y contadores.
Los dispositivos de o gran escola (LSI./arge-sco/e integration) contienen mi-
Je.'\ de compuertas en un solo paquete. Incluyen sistemas digitales como procrsadores. chips de
memoria y dispositivos de lógica programable. Presentaremos algunos componentes LSI en el
capftulo 8.
Los di spositivos de integrad6n o muy grande escola (VLSI. very lorge-sco/e inlegrotion)
contienen cientos de miles de compuenas en un solo paquete. Como ejemplo podemos citar las
grandes matrices de memoria y los microprocesadores complejos. En virtud de su pequefto
tamai'io y bajo costo. los dispositivos VLSI han revolucionado la tecnología de diseño de sis-
temas de cómputo y confieren al di sei'iador la capacidru:l de crear estructuras que antes no re-
sultaban económico construir.
,'11 prOl.egido fJOr derechos de '1L.: or
Problemas 61
mina con la genemeión de la base de datos que contiene la máscara fotográfica emple3da !Xl -
rd fabri car el CI. Se cuenta con diversas opciones para crear la implementación flsica de un cir-
cuito digi tal en silicio. El diseftador puede escoger entre un circuito integrado para una aplicación
espccffica (ASIC, imegroted cin:uit), un arreglo de compuertas progra-
mable en el campo (FPGA,field-progromnwble gate arro)'), un di sposilivo de lógica progr.!ma-
ble (PLD. progrommable logie deviee) o un CI hecho totalmente a 13 medida. Cada uno de
estos di spositivos viene acompañado de un surt ido de herrami entas de CAD que proporciona
el software nece.<oario para facilitar la fabri cación en hardware de 13 unidad.
Algunos sistemas de CAD incl uyen un programa editor parn crear y modificar diagr.unas
esquemáticos en la p.'lnUlll a de una computadora. Este proceso se llama euptllro de esqllemas
o introducción de Con la ayuda de menús, órdenes del teclado y el ratón, el editor
de esquemas puede dibujar de circuitos digital es en la pantalla de la computadora.
posible colocar en la pantalla componentes de una lista tomada de una biblioteca imema y
luego conectarse con Ifneas que representan al3mbres. El softwru-e para capturn de esquemas
crea y admi ni stro una base de datos que contiene la infomtación creada junto con el esquema.
compuertas y bloques funcionales primitivos están asociados con modelos que permiten
verificar el comportamiento y la temporización del circuito. Esta verificación se efectúa apli -
cando al circuiuo y utili zando un simulador de lógica par.! determinar las salidas.
Un adelanto importante en el diseño de sistemas digitales es el uso de un lenguaje de descri p-
bón de hardware (HDL). El HDL se parece a los lenguajes de programación, pero está orienta·
do específicamentc a la descripci ón de hardware digital. Representa diagnunas de lógica y otra
Información digi tal en forma textual. Sirve para si mular el sistema antes de construirlo, n fin de
verificar la funcionalidad y la opernción. Una importante es su software de sfntesi s ló-
gica. que automati:'.3 el diseño de sistemas digitales. El HDL ha adquirido gran importancia en
años recientes y es el mejor método con que se cuenta para diseñar sistemas digitales complejos.
Presentaremos el HOL en la sección 3-9 y, dada su importancia, se incluyen en todo el libro des-
cripciones de circuitos digitales. componentes y procedimiemos de diseño en HDL.
PROBLEMAS
2-1 Demuestre con tablas de verdad la validez de las identidades siguientes:
a) Teorcma de Dc:Mc.-gWl par:l tres \-:uiables: (x + y + z)'.,. e X + I + z'
b) La ley distributiva: x + yz = (x + ,Xx + Z)
2· 2 Simplir¡que las booh:anas siguientes de modo que usen el mínimo de li!rolles:
11) X)' + .1'1' b) (x + )')(x + y')
el .1")': + ;I'y + ;I),Z' d) (A + B)'( A' + 8')'
2-3 Simplifique las expresiones booleanas siguientes de modo que usen el mfnimo de: literales:
a) AHC + A' B + ABe' b) x)'! + n
cl (;1 + y)'(.r' + y') d) ;lJ + .r(1I)Z + 1I)Z')
el ( Be' + A'D)( A8' + CD')
2-4 ReduzclI las siguientes expresiones booleanas al Ollmero de literales que se indica:
a) A'C' + ABC + Ae' a tres li ter.tles
b) (.r'y' + z)' + z + xy + w: a tres litemles
c) " ' B(O' + CO) + B(A + A'CD) a una literal
d) (A' + C)( A' +C')( A +8 +C' D) 11 cuatro literales
Mal i"ll prOlP.9ido por derechos dfI :J.L'f')r
62 Capítulo 2
• •
Algebra booleana y compuertas loglcas
2·S Obtenga el complemento de F - x + luego demueslreque FF' - O Y que F + r - l .
2 -6 Obtenga el complemento de estas expresiones:
al xi + x'y b) ( AB' + C)D' + E
e) (x + y' + :)(x' + :')(x + y)
2 - 7 Dadas las (uociones booleanas F¡ y F:.
a) Demuestre que la función booleana E .lO F, + F
2
contiene la suma de los mini térmi-
nos de F, Y F:.
b) DemueSlre que la funciÓn booleana G '" F,F
1
contiene únicamente los minitérminos
que F, y Fl tienen en común,
2 -8 Muestre Il1mb!a de verdad de la (unción:
F - xy + .1")" + )":.
2 -9 Podemos realizar operaciones lógicas con cadenas de bits considemndo por separado ca-
da par de bits corrupondienlcs (CSIO se denomina operación bit por bi t). Dado.s dos cade-
na.s de ocho bitsA "" 101011 01 Y B - 10001110. eYllhle el resultado de ocho bits dcsp06
de lo.s operaciones lógicas siguienlet: a) ANO. b) OR, e) XQR, d) NQT A, e) NOT B.
2 -' O Dibuje los diagramas de lógica de las Cltpresiones booleanas siguientes:
a) y =A'8' + B(" +C) b) y = BC + AC'
e) y =" + CD d) y = (" + B)(C' + D)
2 · 11 Onda la función booleana;
F = xy + .l 'y' + y':.
al con CQmpuerta$ ANO. OR e inversores.
b) con compuertaS OR e inversores, y
e) implemfntela COf\ compuertas ANO e in\·er50l'e5.
2· 12 Simplifique las funciones booleanas TI y T
J
al mfnimo de literales.
A

e
r.
r,
o o o I o
o o I I o
o I o I o
o I I o I
I o o o I
I o I o I
I I o o I
I I I o I
2· 1 J La suma lógica de lodos los minitfrminos de una funciÓn booleana de Il variables es l .
a) Demuestre la afirmación anterior para n '" 3.
b) Sugiera un procedimiento para una demostración general.
2 · 14 Prepare la lIIbla de verdad de las funciones siguientes y upre5e cada función como suma
de minilfrminos y como productO de muiténninos;
a) ( x)' + l)(Y + Xt ) b) ( A' + 8 )( 8 ' + C)
e) y't + wxy' + wXZ' + ,o'.r'z
Mat rl'3.l protegido p?f derechos de 'lul')r
Refere ncias 63
2-1S Dada la función booleana
F = xy'z + :r!iz + w'xy + wx' y + wxy
a) Prepare la tabla de verdad de la fu nción.
b) Dibuje el diagrama de lÓgica empleando la expresión booleana original.
e) Simplifique la funciÓn al mínimo de literales empleando 'I¡ebra booleana.
d) fupare la tabla de verdad de la (unciÓn a partir de la upresiÓn simplificada y de·
muestre que es igual a la de la parte a).
e) Dibuje el diagrama de lógica de la expresión si mplificada y compare el nllmero total
de ¡;:ompucrtas con el di agrama de la parte b).
2- 16 Exprese la siguiente funci Ón como suma de miniu!rminos y como producto de muittr·
mmos.
F(A. B,C. D) - B'D + A' D + BD
2-17 EJ.prese el complemento de las siguientes funciones como suma de minitt'nninos:
a) F( A, B, C. D) = 1: (0, 2,6. 11. 13, 14) b) F(x, y. z) - 0 (0,3.6.1)
2-18 Convierta 10 siguienl e a la otra forma caoonka:
a) F(x,)".:: ) = 1:(1, 3, 7) b) F(A. 8,C,D) - 0 (0. 1.2. 3. 4,6, 12)
2 -19 Convierta 185 expresiones siguientes a suma de productos y producto de sumas:
a) (AB + C)( B + C' D) b) :r! + x(x + i )(Y + l ' )
2-20 Dibuje el diagrama de lógica coli tspondiente a las siguientes expresiones booleanas sin sim-
plificarlas:
a) BC' + AS + ACD b) (A + S)(C + D)(A' + S + D)
e) (AB + A'B')(CD' + C D)
2-21 Demuestre que el dual del OR exclusi\'O es igual a su complemento.
2-22 Sustituyendo la expresión booleana equivalente de las operaciones binaria! definidas en la
labia 2-8. demuestre lo siguiente:
a) La opernción de inhibición 00 es conmutativa ni asocialÍva..
b) La ope:nu;:ión de OR exclusivo es conmutativa y llSIXialiva.
2·23 DemutsU'C que una compuerta NANO de lógica positiva es una compuerta NOR de lógi-
ca negativa. y vkeversa.
REFERENCIAS
1 . BOOI.E. G. 1954. An Of lht Ú1I<'S ofThoughl. Nueva York: [)over.
2 . SHANNON, C. E. A syrnboli¡;: llI1Il.Iysis of n:lay and swil¡;:hing cin:uits. Tram. AJEE 51 (1938);
713-723.
3. HUNTlNOTON, E. V. SeiS of independent po5tulllCS for thc: algebra of logk. TrU/u. Am.
MOlII. Soc., 5 (1904): 288-309.
4 . MANO. M. M. Y C. R. KIMI>, 2000. wgic ond CompUltr lksign 21. ed.
Upper Saddle River, NJ: PrenlÍoc·Hall.
5. DtlrrMHYEll, D. L. 1988. Logic lksig" of Digilol SySltm.f, 3a. ed. Boslon: Allyn Bacon.
protegido por derechos de 'JI.: or
Minimización en el
nivel de compuertas
3-1 El MÉTODO DEL MAPA
64
La compl ejidad de las compuenas de lógica digilal que implemcmnn una función booleantl
es tá rclncionudll dircclalllcnle con la compl ejidad de la expres ión algebraica a punir de la cual
se implemcma la función. Aunque la represemaci6n de una función como tabla de verdad es
única. hay muchas formas de expresarla algebrnicamcntc. Las expresiones booleanas se si m-
plifican algcbraicamente como se explicó en In sección 2-4, pero este procedimient o de mini·
mi zación result.a poco prácti co porque carece de reglas específicas que predi gan cada paso
sucesivo del proceso de manipulación. El méuxJo del mapa ofrece un procedimicmo sencillo
y directo para minimi7.at las funciones booleanas. Este método podria considcmrse como unu
versión pictórica de la labia de verdad. El mélodo del mapa lambi én se conoce como mapa de
Karnuugh o mupa K.
El mapa es un di agrama hecho de cuadrados. cada uno de los cuales represenla un mini tér-
mino de In función. Puesto que cual quier función booleana se: puede expresar como una suma
de minitérminos. toda funci ón booleana se reconocerá gráficament e en el mupa por el área de-
limilUda por los cuadrados cuyos minitérmi nos están incluidos en la funci ón. De hecho. el ma-
pa present a un di agrama visual de todas las manern.<¡ en que una función se puede expresar en
forma c.'1tándar. Al reconocer d.iverws patrones. el usuario puede deducir expresiones algebrai-
cas alternas para la misma función. y luego escoger la más si mple.
Las expresiones si mplificadas generadas por el mapa siempre están en una de las dos for-
mas estándar: suma de productos o producto de sumas. Supondremos que la expresión alge-
braica más si mple es la que tiene menos ténninos y el míni mo posible de literales en cada
término. Esto produce un di agrama de circuito con el mínimo de compuertas y el mínimo de
enlradas a cada compuerta. Más adelante se verá que la expresión má.<¡ simple no es úni ca. Hay
oca.<¡ iones en que es posible encontmf dos o más expresiones que satisfagan los criteri os de
minimización. En esos casos. cualquiera de las soluciones es satisfactoria.
Sección 3-1 El método del mapa 65
Mapa de dos variables
En la figura 3- 1 a) se presenta el mapa de dos variables. Hay cuatro miniténninos para dos va-
ri ables: por tant o. el mapa consiste en cuatro cuadrados, uno para cada miniténnino. En b) se
ha redibuj ado el mapa de modo que muestre la relaci ón entre los cuadrados y las dos vari ables
x y y. El O Y el I que se marcan en cada fila y columna indican los valores de las variables. La
variable x aparece con apóstrofo en la fila O y sin apóstrofo en la fila 1. De ronna similar, >' apa-
rece con apóstroro en la col umna O y sin él en la columna l .
Si marcamos los cuadrados cuyos minitérminos pertenecen a una función dada, el mapa de
dos vari ables se cOn\'ert ini en otra forma úti l de representar eual quicro de hls 16 funciones
booleanas de dos variabl es. Como ejemplo. hemos mOSlrado la runción.t)' en la figura 3-2a).
Puesto que X)' es igual a m 3' se coloca un 1 dentro del cuadrado que pertenece a mJ. Asimismo.
la función x + y se representa en el mapa de la fi gura 3-2b) con tres cuadrados marcados con
unos. Esos cuadrados se obtienen de los minitérminos de la runción:
111
1
+ 1111 + 111] = x'y + xy' + xy = x + y
Los tres cuadrados tambi én podrían haberse deducido de la intersección de la variable x en
la segunda fil a y la variable y en In segunda columna, que encierra el área perteneciente a
x o y.
y
y
, O
,
O x' y' , ' y
1,
, y'
xy
- )
b)
FIGURA ) · 1
Mapa de dos var1able$
"
y
y
O
,
,
y
, O
,
O O
,
, ,
1,
, ,
a) xy b) x + y
FIGURA ) -2
Representación de funciones en el mBpa
Mal ríal protegido por derechos dfI :J.L'f')r
66 Capítul o 3 Minimización en el ni vel de compuertas
"
y
x
00 O 1 11 10
""
m, m, m,
O
x' y' z' x'y' z x'yz x'yz'
m, m, m,
""
x 1
xy' z' xy' z xy> .ryt'

. ) b)
FIGURA 3-1
Mapa de t res variables
Mapa de tres variables
En la figura 3-3 se muestra un mapa de !feS variables, Hay ocho miniténninos para tres varia-
bles binarias: por tanto, el mapa consta de ocho cuadrados. Adviena que los miniténninos no
están acomodados en sucesión binaria, sino en una sucesión similar al código Gray (tabla
1-4), La cnracterfsti ca de esta sucesión es que sólo un bit cambia de valor entre dos columnas
adyacentes, El mapa dibujado en la parte b) se ha marcndo con números en cada fila y columna
que indican la relación entre los cuadrados y las tres variables. Por ejempl o, el cuadrado asig-
nado a m ) corresponde a la fil a 1 y la columna 01, Si concatenamos estos dos númerM, obten-
dremos el número binario 101 , cuyo equivalente decimal es 5. Otra fonna de ver el cuadrado
m, :::: es considerarlo como ubicado en la fila marcada x y la columna peneneciente a y'z
(columna 01), Observe que hay cuatro cuadrados en los que cada variable es I y cuat ro en los
que es O. La variable aparece sin apóstrofo en los cuatro cuadrados en los que es 1, Y con após-
trofo en los que es O. Por conveniencia, se escribe la variable con su sfmbol o alfabético bajo
los cuatro cuadrados en los que no lleva apóstrofo.
Para entender la utilidad del mapa en la simplificación de funciones booleana'i, hay que en-
tender la propiedad básica que poseen dos cuadrddos adyacentes. Cualesqui er dos cuadrados
adyacentes del mapa difi eren en una sola variable, que tiene apóstrofo en un cuadrado y no
lo ti ene en el otro. Por ejemplo. m, Y m1 estM en dos cuadrados adyacentes, La vari able )' ti e-
ne apóstrofo en m, y carece de apóstrofo en m1' mienlras que las otras dos variables son igua-
les en ambos cuadrados. De los postulados del álgebra booleana. se sigue que la suma de dos
miniténninos en cuadrados adyacentes se simplifica a un solo término ANO que consiste en
sólo dos literales, Para aclarar esto. consideremos hl suma de dos cuadrados adyacentes co-
mo m, Y m7:
m, + m1 :::: xy' z + xyz :::: xz(y' + .)') ::: .ro!
Aquí. los dos cuadrados difieren en la variable y. que se elimina al la sum3 de los dos
minilénninos. Asf. cualesquier dos miniténninos en cuadrados adyacentes a los que se apl ique
un OR permitirán eliminar la variable diferente. Los ejempl os que siguen explican el procedi-
miento para minimizar una función booleana con un mapa,
M' flll prOleQido por dfI '"'''Ir
I
Sección 3 ~ 1 El método del mapa 67
f iGURA 34
) "
s 00
o
y
o 1 11 10
Molpa pOtril e l ej emplo 3-1; F(.re, ,... z) "... ~ ( 2 . 3, 4, S) '" x'y + Jl'y'
Simplifique la función booleana
F(x, y, ,) ~ :¡: (2. 3. 4. 5)
Primero. marcamos con un I cada uno de los miniténninos que representan a la función. Esto
se indica en la fi gura 3-4, donde se han marcado oon I los cuadrados correspondi eme5 a los
minitérminos 010. 01 1, 100 Y 101 . El siguiemc paso es cncontrnr los posibles cuadrddos ad-
yacentes. que se indican en el milpa con dos rectángulos, cada uno de los cuales encierro dos
unos. El rectángulo de arriba a la derecha representa el área delimitado por ry. Esto se deter-
mina observando que el área de dos cuadrados está en la fila O. que corresponde a r. y las úl -
timas dos columnas. que corresponden a y. De forma simi lar. el reclángulo inferi or izquierdo
representa ellénnino de prodUCIO xy'. (La segunda fila representa a x y las dos columnas de la
itquierda representan a y'.) La suma lógica de estos dos ténninos producto da la expresión
simplificada:
F = x'y + xy'

Hay casos en los que se considera que dos cuadrados del mapa están adyacentes. aunque no
se estén tocando. En la fi gura 3-3, nlo es adyacente a m2 Y m. adyacente a m6 porque los mini-
ténninos difi eren en una sola variable. Esto se puede veri ficar fácilmente con álgebra:
tn{) + 1t/2 :::: x'),'z' + x'yZ' ::: x'¡'{y' + y) "" x'z'
tn4 + 1t/6 :::: xy' f.' + xYZ' = xz' + ()., + y) = xz'
Por tanto. deberemos modificar la definición de cuadrados adyacentes de modo que incluya es-
le caso y otros similares. Esto se hace considerando que el mapa está dibujado en una superfi-
cie cuyos bordes derecho e izquierdo están en contacto para fonnar cuadrados adyacentes.
Simpli fique la función booleana
F(x.y,,) ~ :¡:(3. 4. 6. 7)
El mapa para esta función se presenta en la fi gura 3-5. Hay cuatro cuadrados marcados con unos.
uno para cada miniténni no de la función. En la tercera columna se combinan dos cuadrados
M ~ pro '"'Qido por df>1 ""hn<:, de "Ir
68 Capítulo 3 Mi ni mización e n el nivel de compuertas
"
,
,
00 01
"
10
O
r
l
I
:::D IJ re
-'-
,
FI CURA )·5
Mapa para el ejemplo ]·2; F(x. y. z) - 4. 6, 7) - yz + :u'
adyacentes para dar un término de dos literales, yz. Los otros dos cuadrados que incluyen unos
también son adyacentes según la nueva defini ción. por lo que en el diagrJ.ma sus valores se en-
cierr.:m con medios rectángulos. Estos dos cuadrados combi nados dan el término de dos lite-
r.lles Xl.:. La función simplificada es
F = )'z + Xl'

Considere ahOr.l cualquier combinación de cuatro cuadr.¡dos adyacentes en el mapa de tres
variables. Cualquier combinación asf representa la suma lógica de cuatro minitémlinos y da co-
mo resultado una expresión con una sola literal. Por ejemplo. la suma lógica de los cuatro mi -
ni ténninos 0,2, 4 Y 6 se reduce a un término de una sola literal, z' :
Ino + nll + m, + Inl> = xy' z' + x'y;;' + xy'z' + xYZ'
= x'z'(y' + y) + xz'(y' + y)
= x;.' + xz' = ;.'(x' + x ) = z'
El número de cuadrados adyacentes que es posible combinar siempre debe ser una poten·
cia de 2, como 1. 2. 4 Y 8. Al aumentar- el número de cuadrados adyacentes que se combinan,
se reduce el número de literales del ténni no producto obtenido.
Un cuadrado representa un miniténnino, lo que da un ténni no con tre. .. li terJ.l es.
Dos cuadrados representan un ténnino dc dos literales.
Cuatro cuadrados adyacentes representan un término de uno solo liteml.
Ocho cuadrados adyacentes abarcan todo el mapa y producen una función que siempre
es igual a l .
Simplifique la función booleana
F(x. y, ,) 2, 4. 5. 6)
El mapa de F se muestra en la figura ) ·6. Primero. combi namos los cuatro cuadrados adyacen·
tes de la primera y la última columnas paro obtener el ténnino de uno sola literal ;.'. El cuadra·
do restante, que representa el miniténnino 5, se combi na con un cuadrado adyocente que ya se
usó una vez. Esto no sólo es permisibl e, sino hasta deseable, porque los dos cuadrados ildya-
Mat r ':JI protegido lY)r derechos de> '1\ t')r
,
Sección 3-1 El método del mapa 69
Y'
y
• 00 01 11 10
o
1 Í'
,
N-±
,
l:.
fiGURA 3-6
Mapa para el ejemplo 3-3; F(x, Y. z) .. }:(O, 2. 4, S, 6) .. l ' + xy'
centes dan el ténnino de dos literales mientras que el cuadrado solo n:presenta el minitér-
mino de tres literales xY;,. la función simplifi cada es
F =z' +xy'

Si una función no está expresada como suma de miniténninos. podemos usar el mapa paro
obtener los minitérminos de la función y luego simplificar la función a una expresión con el
mínimo de términos. Hay que asegurarse de que la expresión algebraica esté en forma de su-
mil de productos. Cada término de producto se puede marcar en el mapa en uno. dos o más cua-
drados. Luego. los minitérminos de la (unción se leen directamente del mapa.
Dada la función booleana
F = A'e + A'B +AB'C + Be
a) expréscln como suma de minitérmi nos
b) y luego hall e la expresión mínima de suma de productos"
Tres ténninos de producto de la expresión tienen dos literales y se representan en un mapa de
tres variables con dos cuadrados cada uno. Los dos cuadrados correspondientes al primer
mino. A'C, se encuentran en la figura 3-7 en la intersecciÓn de A' (primera fila) y C (dos co-
lumnas de en medio), que da los CUadl"'ddos 001 y 011. Observe que, al marcar los cuadrados
8 C
8
A 00 01 11 10
O
r'

,
,
'--,
C
FIGURA 3-7
Mapa para el ejemplo 3-4; A' e + A' S + ABe + Be e + A"S
Mar 'JI prOiP.gido por derecho!' de '1U ':Ir
70 Capít ulo 3 Mi nimización en el nivel de compuertas
con l. podrfamos hallar ahí un 1 colocado por un término anterior. Esto sucede (,:on el segundo
término, A'B. que tiene unos en los cuadrados 011 y DIO. Sin embargo. el cuadmdo 011 tam-
bién corresponde al primer término. A'C, así que simplemente dejamos el 1 que ya está ahí. Con-
tinuando de la misma maner.!, determinamos que eltérminoAB'C va en el cuadrado 101 , que
corresponde al minitérmino 5. y que el término Be tiene dos unos en los cuadrados 011 y 111 .
La función tiene un lotal de cinco minilérminos. como puede verse por los cinco unos en el ma-
pa de la figura 3-7. Los mini términos se leen direclamente del mapa. y son l. 2. 3. 5 y 7. La
función se expresa en forma de suma de minitérminos:
F(A.B.C) ~ :);(1. 2.3. '.7)
La expresión de suma de productos dada originalmente tiene demasiados términos: puede sim-
plificarse. como se muestra en el mapa. a una expresión de sólo dos términos:
F=C+A'8

3-2 MAPA DE CUATRO VARIABL ES
El mapa para las funciones booleanas de cuatro variables se ilustra en la figura 3-8. En a) se
presentan los 16 miniténninos y los cuadrados asignados a cada uno. En b) se ha redibujado
el mapa de modo que muestre su relación con las cuatro variables. Las filas y columnas se nu-
meran en orden según el código Gray. de modo que sólo un dígito cambie de valor entre dos
fi las o col umnas adyacentes. El minitérmi no correspondiente a cada cuadrado se obtiene de la
concatenación del número de fila con el número de columna. Por ejemplo. los números de
la tercera fila (1 1) y la segunda columna (01) dan. al concatenarse. el número binario 11 DI. que
es el equivalente binario del t3 decimal. Así. el cuadrado de la tercera fila y la segunda colum-
na representa al miniténnino "' u.
"
,

, 00 O 1 11 10
""
m, m, m,
00
w'z','t'
""xY:
..,'z',: ... 'z'y:'
m. m, m,
m. O 1 ""xy': '
... ·xy·: ... ·x,:
.... zy:'
m" m" m" m" 1 1
,,"Xy' l ' ... x,·: ... x,:
"'X'l'

m,
""
m il
m"
1 O
",z'y'l' ...... y·z ...... ,.: .d,.:'
-
, )

b)
FIGURA 3-8
Mapa de cuatro variables
Mat rnl protegido p?f derechos de ':lut')r
,
Sección 3-2 Mapa de cuatro vari ables 71
la minimización por mapa de funciones booleanas de cualro variables es simi lar al méto-
do que se emplea para mi nimizar funci ones de tres variables. Definimos los cuadmdos adya-
como cuadrados que están juntos. Además, consideramos que el mapa está en una
superfi cie cuyos bordes superior e inferi or. y derecho e izqui erdo. están en contacto para for-
mar cuadrados adyacentes. Por ejemplo. "lo y m2 forman cuadrados adyacentes. lo mi smo que
m3 Y mIl_ Es fáci l detenninar la combi nación de cuadrados adyacentes que es úti l para el pro-
ceso de simplificación. por inspección del mapa de cualro variables:
Un cuadrado representa un lo que da un término con cuatro literales.
Dos cuadrados adyacentes representan un térmi no de tres literales.
Cuatro cuadrados adyacentes representan un término de dos li temles.
Ocho cuadrados adyacentes representan un término de una sola lileral.
Dieciséis cuadrados adyacemes representan la función igual a l .
Ni nguna otra combinación de cuadrados puede simplificar la función. Los dos ejemplos si·
guientes ilustran el uso del procedimiento para simplifi car funciones booleanas de cuatro va·
riables.
Simplifique la función booleana
F(w, x, y, ,) = l:(O, 1,2, 4,5,6,8, 9, 12,13, 14)
Puesto que la función tiene cuatro variables, hay que un mapa de cuatro variables. Los mi·
nitérminos indicados en la suma se han marcado con I en el mapa de la figura 3-9. Es posible
combinar ocho cuadrados adyacentes marcados con l para formar el término de una literal y.
Los tres unos restantes de la derecha no pueden combinarse para dar un ténnino simplificado.
Se deberán combinar como dos o cuatro cuadrados adyacentes. Cuanto mayor sea el número
FIGURA ] -9
"
00
01 11
01
1
1
y
11 10
1
1
w 11
10 1 -.:J
,
Mapa para el elemplo 3-5; F(w, x, y, z) e 1;(0, 1, 2, 4, S, 6, 8, 9, 12, 13, 14)
= y' - w' z' + xz '
72 Capítulo 3 Minimización en el nivel de compuertas
de cuadrados combinudos. menos literal es tendrá el ténnino correspondiente. En este ejem-
plo. los dos unos de arriba a la derecha se combinan con los dos unos de arriba a la izquierda
para dar el ténnino w'z' . Cabe señalar que está pennitido usar el mismo cuadrado más de una
vez. Ahora nos queda un cuadrado marcado con I en la tercera fila y la cuana columna (cua-
drado 1110). En vez de tomar este cuadrado solo (lo que darla un ténnino con cuatro literales).
lo combinamos con cuadrados que ya usamos antes para forolar un área de cuatro cuadrados
adyacentes. Estos cuadrados ocupan la intersección de la .. dos filas de en medio y las dos CI)-
lumnas de los extremos. y dan el ténnino xi. La función simplificada es
F = y' + tV'¿ + xz'

Simplificar la función booleana
F = A' B'C' + B'CD' + A' BCO' + AB'C'
El área del mapa cubiena por esta función consiste en los cuadrados marcados con I en la fi-
gura 3- 10. Esta función tiene cuatro variables y. en la fonna en que está expresnda. consta de
tres ténninos de tres literales cada uno y un ténnino de cuatro literales. Cada ténnino de tres
literales se represent a en el mapa con dos cuadrados. Por ejemplo. A' He se representa en los
cuadmdos ()()()() y 000 l. La función se puede simplificar en el mapa tomando los unos de las
cuatro esqui nas para dar ellémlino B'O' . Esto es posible porque los cuatro cuadr..ldos están ad-
yacentes si el mapa se dibuja en una superficie cuyos bordes superior e inferi or. y derecho e
izquierdo. están en contacto. Los dos unos de la izquierda en la fila superior se combinan con
los dos unos de la fila inferior paro dar el térnlino B'C. El uno restante se puede combinar en
un área de dos cuadrados paro dar el ténnina A'CO'. La función simplifi cada es
FIGURA ) · 10
F = B' D' + B'C' + A'CD'
A8
00
O 1
1 1
10
CD
00
1
1
C
01 11 10
~
~
LJ
---;-]
1
D

8
Mapa para el ejemplo 3·6; A' IfC -t" B'CD' + A' BCD' + A8"C' · ... 8"0' ~ se , A' CO'
Mat i-:¡I proJP.Qido "lnr derer.hos dfI :J.L'f')r
Sección 3-2 Mapa de cuatro variables 73
ImpUcantes primos
Al escoger cuadrados adyacentes en un mapa. debemos aseguramos de cubrir todos los mini -
tbminos de la función al combinar los cuadrados. Al mismo tiempo, es necesario minimi7.1lT
el número de términos de la expresión y evitar térmi nos redundantes cuyos minitérminos ya es-
tén cubiertos por otros términos. Ocasionalmente. habrá dos o más expresiones que satisfacen
los criterios de simplificación. El procedimiento para combi nar cuadrndos en el mapa podría
hacerse más sistemático si entendemos el significado de los términos denominados implican-
te primo e implicante primo esencial. Un ülI/,/icumc pn'mo es un término de producto que se
obtiene combinando el número máximo posible de cuadrados adyacentes en el mapa. Si un
minitérmino de un cuadrado está cubierto por sólo un implicante primo. decimos que ese im-
plicante primo es cundu/.
Podemos obtener los implican tes primos de una función a partir de un mapa combi nando
todos los números máximos posibles de cuadrndos. Esto implica que un solo I en un mapa re-
presenta un implicame primo si no está adyacente a ningún otro l. Dos unos adyacentes for-
man un implicame primo si no están dentro de un grupo de cuatro cuadrados adyacentes. Cuatro
unos adyacentes forman un implicante primo si no están dentro de un grupo de ocho cuadra-
dos adyacentes. y así sucesivnment e. Los implicantes primos esenciales se encuentran exami -
nando cada uno de los cuadrados marcados con I y tomando nota del número de implicantes
primos que lo cubren. El implicante primo es esencial si es el único que cubre al minitérmino.
Considere la siguiente función booleana de cuatro variables:
F(A.B.C.D) };(0.2.3.5.7.g.9. ' 0. 11. 13. 15)
Los minitérminos de la función se han marcado con I en los mapas de la figura 3- J J. La par-
te a) de la fi gura muestro dos implicantes primos esenciales. Un término es esencial porque s6-
10 hay una fom13 de incl uir el minitérmino mo en cuatro cuadmdos adyacentes. Estos cuatro
cuadr.tdos definen al término S ' O'. Asimismo. sólo hay una forma de combinar el minitérmi-
A
AB
00
o I
I I
10
CD
C
00 01
"
10


I

I I

¡;-
D
a) tmplicante5 primos esenciates
80 y 0 ' 0 '
fiGURA J-11
8
SImplificación empleando impli<antei primos
A
AB
00
01
"
10
CD
C
00 01
"
10
I I
.-:J
I I
I I


I I
='= ='"
D
b) Implicante5 primos CD, o 'e
AO y AB'
8
M flal pr01eQido por ÓfI '''''lr
74 Capítulo 3 Minimización en el nivel de compuertas
no m5 con cuatro cuadrados adyacentes. y esto da el segundo ténnino. BD. Los dos implican-
tes pri mos esenciales cubren ocho minitérminos. Ahora hay que considerar los tres minitérmi-
nos restantes. m}. mg Y mI l .
la figura 3-11 b) muestra todas las formas posibles en que se cubren Jos tres mini térmi nos
con implicantcs primos. El mini ténnino m} puede cubrirse con el implicante primo CD o con
el BC. El minirénni no mg puede cubrirseconAD o ron AS' . El miniténnino mi l se cubre con cual-
quier.t de los cuatro implican tes primos. La expresiÓn simplificada se obtiene de la suma lÓgi-
ca de los dos implicantes primos esencinles y de cualesquier dos implicantes primos que cubran
los miniténninos m}. ltIg Y mil. Hay cuatro posibles fonnas de expresar la funciÓn con cuatro
ténninos de producto de dos literales cada uno:
F = BD + B'D' + CD + AD
= BD + B'D' + CD + AI1
= BD + I1D' + B'C + AD
= SD + B' D' + O'C + AS'
El ejemplo anterior demuestra que la identificaciÓn de los implicantes primos en el mapa ayu-
da a detenninar las alternativas con que se cuenta para obtener una expresión simpli ficada.
El ptoccdi miento para obtener del mapa la expresión simplificada requiere identifi car pri-
mero lodos los implicantes primos esenciales. La expresión simplific-.lda se obtiene de la suma
lógica de todos Jos implicantes primos esenciales y los demás implicantcs primos necesarios
para cubrir los minitérnlinos restantes que no estén cubiertos por los implicantes primos esen-
ciales. Ocasionalmente. habrá más de una manera de combi nar cuadrados. y cada combinaciÓn
podría dar pie a una expresión igualmente simplificada.
3-3 MAPA D E e I N eo VA R I AS LES
El uso de mapas para más de cuatro variables no es lan sencill o. Un mapa de ci nco variables
necesita 32 cuadrddos, y uno de seis variables. 64 cuadrados. Cuando hay muchas variables. el
número de cuadrados aumenta en fonna considerable y la geometría para combi nar cuadnldos
adyacentes se complica progresivamente.
El mapa de cinco variables se muestra en la figura 3- 12. Consta de dos mapas de CUlltro va·
riables con las variables A. B. C. D Y E. La variable A di stingue a los dos mapas. como se in-
dica en la parte superi or del diagrama. El mapa de cuatro variables de la i7.quierda representa
los 16 cuadrados en los queA :: O: el otro representa los cuadr.wos en los que A :c l . Los mi -
niténni nosOa 15 corresponden aA :::: Oylosminiténninos 161131 corresponden aA :::: I. Ca-
da mapn de cuatro variables conserva las adyacencias que definimos antes cuando se le considera
aparte. Además. cada cuadrado del mapa A :: O es adyacente al cuadrado com:spondiente del
mapa A = l . Por ejemplo. el mi niténnino 4 es adyacente al miniténni no 20. y el m i n i t ~ n n i n o
15. al 31. La mejor fonna de visualizar esta nueva regla de adyacencia es imaginar que los dos
medios mapas están uno encima del otro. Cualesquier dos cuadrados que queden uno encima
del otro se considerar-án adyacentes.
Siguiendo el procedimiento empleado con el mapa de cinco \'ariables. es posible construi r
un mapa de seis variables con cuatro mapas de cuatro variables. para obtener los 64 cundra-
dos necesarios. Los mapas con seis o más variables requieren demasiados cuadrados y su uso
Mat r":jl protegido r.f derechos de> "11 t')r
Sección 3-3 Mapa de cinco variables 7S
8
8e
00
O 1
1 1
10
DE
00
O
4
l'

FIGURA ) · 12
A - O
0 1 11
1 J
,
7
IJ 1>

11
E
Mapa cinco variables
D
10
2

e
l'
8
10
8e
00
01
11
10
DE
00
l'
20
28
24
D
O 1 11 10
17
l' l'
'1
23 22
e
29 JI lO
II 27 26
E
resulta impráctico. La alternativa es utilizar programas de computadora específica-
mente para facilitar la simplifi cación de funciones booleanas que tienen un gran número de
variables.
Por inspección, y tomando en cuenta la nueva definición de cuadrados adyacentes, es po-
sible demostrar que cuale..-.quier 2· cuadrados adyacentes. para k = (D, 1, 2 . .. . . n). en un ma·
pa de n variables. representan un área que produce un tl!rmino de n - k literales. Para que
esta afirmación tenga sentido. n deberá ser mayor que k. Cuando n = k. toda el área del ma-
pa se combina para dar la función de identidad. La tabl a 3- 1 muestrn la relación el nú-
mero de cuadrados adyacentes y el número de literales en el tl!rmino. Por ej emplo. ocho
cuadrados adyacentes combinan un área del mapa de cinco variables para dar un tl!nnino de
dos lilerales.
T.bl. ) -1
de cuodrodOj y el numero
en tirmlno
Número
de
cuMlndos NÚihero ele Ilterdes del tt .... lno
adyac:entes en un iii 'p. de " ..... bles
K
"
, - 2 , - J
, -, , -,
O 1
,
J
, ,
1
,
1
,
J
,
2
,
O 1
,
J
J

O 1
,
,
l'
O 1
,
J2 O
76 Capítulo 3 Mi nimi zación en el nivel de compuertas

DE
Be 00
00
1]
01
~
11
10
FIGURA ) · 1)
o 1
,..."
-"-

D
11 10
r'
L
e
8
DE
Be 00
00
O 1
11
10
Mapa para el eJemplo 3-7; F "" A' I1E: .. BD'f ACE
Simplifique la función booleana
o 1 11
1 1
a
1
tJ
E
F( A, B. C. D. E) = (O. 2. 4. 6. 9. 13. 21. 23. 25. 29. 31)
D
10
e
El mapa de cinco variables para esta función se muestra en la figura 3- 13. Hay seis miniténni-
nos. del O al 15. que penenecen a la pane del mapa en la que A :: O. Los otros cinco minit/!r-
minos penenecen aA :: l. Cuatro cuadrados adyacenles del mapa A :: O se combi nan para dar
el ténnino de tres literales A' B' E'. Adviena que e.<; necesario incluir A' en elténnino porque to-
dos los cuadrados están asociados a A :: O. Los dos cuadrados de la columna 01 y las dos úl·
timas filas son comunes a ambas panes del mapa; por tanto. constituyen cuatro cuadrados
adyacentes y dan el ténnino de tres literales BD'E, La variable A no se incl uye aquí porque los
cuadrados adyacentes penenccen tanto aA = O como a A = l . El t/!nnino ACEse obtiene de
los cuatro cuadrados adyacent es que están totalmente dentro del mapa A = 1. La función sim-
pl ificada es la suma lógica de los tres ténninos:
F = A' B'E' + BD' E + ACE
3-4 SIMPLIFICACiÓN DE PRODUCTO
DE SUMAS

Las funciones booleanas simplificadas que dedujimos del mapa en todos los ejemplos anterio-
res se expresaron en la forma de suma de productos, Con una modificación menor. se obti ene
la fonna de producto de sumas,
El procedi miento para obtener una función minimil.llda en fonna de producto de sumas es
consecuencia de las propiedades básicas de las funciones booleanas. Los unos que se colocan
en los cuadrados del mapa representan los miniténninos de la función. Los miniténninos no in-
Sección 3·4 Simplificación de producto de sumas 77
cluidos en la función denotan el complemento de la función. Entonces, el complemento de una
funci ón está represemado en el mapa por los cuadrados que no se han marcado con l . Si mar-
camos Jos cuadrados vados con O y los combi namos en cuadrados adyacentes válidos, obten-
dremos una expresión simplificada del complemento de la funci6n. es decir. de P . El
complemento de F' nos dará otra vez la función F. Por el teorema generalizuclo de DeMorgan,
la función asf obtenida estará automáticamente en forma de producto de sumas. La mejor for-
ma de explicar esto es con un ejemplo.
Simplifique la siguiente funci6n booleana. en forma de a) suma de productos y b) producto de
sumas:
F( A. B. C. O) = L (O. 1.2.5.8. 9. 10)
Los unos marcados en el mapa de la figura 3-14 repre.'>entan todos los minitérminos de la fun-
ción. Los cuadrndos marcados con O representan Jos minitérminos no incluidos en F y. por tan-
to. denotan al complemento de F. Si combi namos los cuadrados que tienen 1. obtendremos la
runci ón si mplificada en rorma de suma de productos:
a) F = B' O' + B'C' + A'C' O
Si combi namos los cuadrndos marcados con 0, como se indica en el diagrama. obtendre-
mos la función complementada simplificada:
F' = A8 + CO + 80'
Al aplicar el teorema de DeMorgan (obteniendo el dual y complementando cada literal
como se describe en la. sección 2-4) se obtiene la funci6n simplificada en forma de pro-
ducto de sumas:
b) F = (A' + 8' )(e' + 0 ' )( 8' + O)
A
FIGURA 3-14
A8
00
01
CD
00
I
10 I
0 1
I
I
O
I
D

C
11 10
O I
O
8
O
O I
Mapa para el ejemplo 3-8; F(A. a, e, D) ~ ( O , 1, 2, S, 8, 9, 10)
= 8'0' t se ... A'CO = (A .. S)(C + D'HB + D)
Mat<>fI'll protegido pt)r ¡,;erecho!' de 'lU ':Ir
8 '
O'
e
A '
O
78 Capít ulo 3 Minimi zación en el nivel de compuertas
-
-
-t:¡

r --L
F
a) F - B' D' + B' C' + A'CD
FIGURA )-15
A '
8 '
e
O'
O
-
-
+
b)F - (A' + IJ' )(C' -t D' )(8' + D)
Implementación con compuertas de la función del ejemplo 3·8
F
La implementación de las expresiones simplificadas obtenidas en el ejemplo 3-8 se mues-
tra en la figura 3-15. La eApresión de suma de productos se implementa en a) con un grupo
de compuertas ANO, una para cada ténni no ANO. Las salidas de las compuertas ANO se co-
nectan a las entradas de una sola compuerta ORo En b) se ha implementado la mi sma fun-
ción en forma de producto de sumas con un grupo de compuenas DR, una por cada ténnino
OR, Las salidas de las compuertas OR se conectan a las entradas de una sola compuerta
ANO. En cada caso. suponemos que contamos directamente con las vari ables de entrada
complementadas, por lo que no se necesitan inversores. El patrón de configuración eSlable-
cido en la fi gura 3- 15 es la fonna general de implementar cualquier función booleana expre-
sada en una de las fonnas estándar. Si está en suma de productos, se conectan compuertas
ANO a una sola compuerta OR; si está en producto de sumas. se conect an compuertas OR
a una sola compuerta ANO. Cualquiera de las configuraciones forma dos niveles de compuer-
tas. por lo que se afirma que la implementación de una función en forma estándar es una
implementación de dos niveles.
El ejemplo 3-8 ilustró el procedimiento paro obtener la simplificación de producto de su-
mas cuando la funciÓn se expresa originalmente en la forma canónica de suma de minitl!: nni -
nos. El mismo procedimiento es válido cuando la función se expresa origi nalmente en la forma
Tabla 3-2
Tabla d ~ verdad d ~ lo funcl Ó/I F
y z
,
O O O O
O O 1 1
O 1 O O
O 1 1 1
1 O O 1
1 O 1 O
1 1 O 1
1 1 1 O
I
Sección 3-4 Simplificación de producto de sumas 79
"
,
,
00 O 1 11 10
O O I I O
,
1 I O O 1
FIGURA ) -16
Mapa de la fundón de la tabla 3-2
canónica de producto de maxitérminos. Consideremos. por ejemplo. la tabla de verdad que de-
fine la función F en la tabla 3-2. En suma de minitérminos, esta función se expresa asf:
F(x.y.,) = l: (1.3.4.6)
En producto de maxitérminos, se expresa asf:
F(x. y. ,) = n (0.2. 5.7)
Di cho de otro modo, los unos de la funci ón representan a las minitérminos, y los ceros, a los
maxitérminos. El mapa de esta función se presenta en la figura 3-16. Podemos comenzar a
simplificar esta función marcando con J los cuadrados corre.<¡ pondientes a caeb minitérmino pa-
ra el curu la función da l . Los cuadrados restantes se marcan con O. Por otra parte. si 10 que se
da originalmente es el producto de maxitérminos, podemos comen7.ar por colocar ceros en Jos
cuadrados indicados por la función; luego m a r c ~ m o s con 1 los cuadrados restantes. Una vez
marcados todos los cuadrados. es posible simplificar la función en cualquiera de In. .. formas cs-
tándar. Si queremos la suma de productos. combinaremos los unos para obtener
F = x' z + xz'
Si queremos el producto de sumas. combinaremos los ceros para obtener la función comple-
mentada simplificada
F' = xz + x'z'
lo que demuestra que la función OR exclusivo es el complemento de la función de equivalen-
cia (sección 2-6). Al calcul ar el complentento de p, se obtiene la función simplificada en for-
ma de producto de sumas:
F = (x' + <')(x + ,)
Para introducir en el mapa una funci ón expresada como producto de sumas, se calcula el com-
plemento de la función, el cual indicará Jos cuadrados que deben m.arcarse con O. Por ejemplo.
la función
F = ( A' + B' + C')(B + D)
se puede introducir en el mapa obteniendo primero su complemento,
F' = ABe + B' O'
y marcando despué.<¡ con O los cuadrados que representan a los minitérminos de F'. Los cua-
drados restantes se marcarán con l .
Mal.JI'l1 prOiegido J..I'?r derechos de 'lU ':Ir
80 Capítulo 3 Mini mización en el nivel de compuertas
3·5 e o N o I e ION E 5 o E I N o I FE R E N e I A
La suma lógica de los miniténninos asociados oon una función booleana especifica las condi -
ciones en que la función da l. La función da O para el resto de los minitéOllinos. Esto supone
que todas las combinaciones de valores de las variables de la función son vál idas. En la prác-
tica. hay algunas aplicaciones en las que la función no está especi fi cada para cienas combina-
ciones de las variables. Por ejemplo. el código binario de cuatro bits para los dígitos decimales
tiene seis combi naciones que no se usan y que. por tanto. se consider.m no especificadas. Las
funciones con salidas no especificadas para cienas combinaciones de entradas se ll aman fun-
ciones incompletamente especificadas. En casi todas las apl icaciones, es irrelevante el valor que
asuma la funci ón para los minitéOllinos no especificados. Por ello. se acostumbra ll amar con-
dici ones de indiferencia (don " eMe, en inglés) a los miniténninos no especi ficados de una fun-
ción. Conviene usar estas condiciones de indiferencia en el mapa para simplificar aún más la
expresión booleana.
Debe quedar claro que un minitérmino indiferente es una combinación de variables cuyo va-
lor lógico no está especifi cado. No podemos marcarlo con I en el mapa porque el lo requeriría
que la función siempre dé I para esa combi nación. Por lo mismo. si mareamos con O su cua-
drado en el mapa. estaremos exigiendo que la función sea O. Para distinguir la condi ción de in-
diferencia. usamos una X en lugar de unos y ceros. Asf. una X en un cuadrado del mapa indica
que no nos impona si se asigna el valor de O o de I a F para el minitérmino en cuesti ón.
Al escoger cuadrados adyacentes para si mplificar la función. podemos suponer que los mi-
nitéOllinos indiferentes son O o 1. lo que más nos convenga. Al simplificar la función. pode-
lilaS oplar por incluir cada miniténnino indiferente con los unos o con los ceros. dependi endo
de qué combinación produzca la expresión más simpl e.
Simplifique la función booleana
F(w. x, y. z) = ~ ( l . 3. 7, 11. 15)
que tiene las condiciones de indiferencio
d(w.x. y.,) = l: (O.2.5)
Los miniténninos de F son las combinaciones de varinbles que hacen que la función dé 1. Los
miniténninos de d son los minitérminos indiferentes a los que podrla asignarse O o bien l .
La si mplifi cación del mapa se muestra en la fi gura 3-17. Los miniténninos de F se marcan
con l . los de " se marcan con X y los cuadrados restantes se marcan con O. Para obtener la
expresión si mplificada en fonna de suma de productos, deberemos incluir los ci nco unos del
mapa. pero podrlomos incl uir o no cualqui era de las X. dependiendo de qué tanto ell o sim·
plifique la función. El ténnino)'z cubre los cuatro miniténninos de la tercera columna. El
mini término restanle, nl l' se puede combinar con el minitérmino 111 ) para dar elténnino de
tres literales ",' x'z. Pero si incluimos una o dos X adyacentes podremos combi nar cuatro
cuadrados adyaccnles para obtener un término de dos literales. En la part e a} del diagrama
se han incluido los minitérnli nos indiferentes O y 2 junto con los unos. par.! dar la función
simplificada
F =)'z + 1o'X'
Ma>"'rll1 protegido por derecho da ut')r
Sección 3-5 Condiciones de indiferencia 81
,
"
,
00 01 1 1 \O 00 o 1 11 10
.,
1\0

1
EL3
1\0 X
rl
x
01 o x 1 o 0\ o X 1 o
, ,
l'
11
O O O


1 1
O O 1 O
10 O O 1 O \O o O O


a) F - j'l + W'.l'
,
b)F - j'l+ ... ' l
FIGURA 3-17
Ejemplo con condiciones de indIferencia
En la parte b), se ha incluido el 5 j unto con los unos, y ahora la función simplifi-
cada es
F = yz. + w'z.
Cualquiera de las dos expresiones anteriores satisface las condiciones planteadas para el
ejemplo.

El ejemplo anterior ilustro cómo los miniténninos indiferentes se marcan inicialmente con
X en el mapa y se consideran como O o como l . ltt decisión de tomar cada uno como O o co-
mo 1 dependerá de cómo ello simplifique la función incompletamente especificada. Una vez
lomada la decisión, la función simplirteada obtenida consistirá en una suma de
que incluye los minitérmioos que inicialmente no estaban especifi cados y que ahora se ha de-
cidido incluir con los unos. Consideremos las dos expresione. .. simplifiendas que se obtienen
en el ejemplo 3-9:
F(1V. x,y, z) = yz. + 1v' x' = }: (O, 1,2,3, 7, JI , 15)
F( 1V, X. y, z.) = yz. + 1v' Z. = I ( 1. 3, 5, 7. 11 , 15)
Ambas expresiones incluyen a los minitérminos 1. 3. 7. II Y 15. que hacen a la función F igual
a l. Los miniténninos indiferentes O. 2 y 5 se tratan de diferente manera en cada expresión. La
primera expresión incluye a los O y 2 junto con los unos y deja al mi niténnino 5
con los ceros. La segunda expresión incluye al miniténnino 5 con los unos y deja a los mini·
términos O y 2 con los ceros. Las dos funci ones son algebmicamente distintas. Ambas cubren
los miniténni nos especificados de la función, pero cada una cubre diferentes miniténninos in·
diferentes. En lo que a la función incompletamente especificada concierne. cualquiera de las
dos expresiones es aceptable porque lo. única diferencia radi ca en el valor de F paro. los mini·
términos indiferentes.
Mat rnl protegido p?r derechos de ':lut')r
82 Capítulo 3 Mini mización en el nivel de compuertas
También es posible obtener una expresión simplificada de producto de SUlllas para la fun-
ción de la figura 3- 17. En este caso, la Ilni ca fomla de combinar los ceros e.<; incluyendo los mi -
nitérminos indiferemcs O y 2 con los ceros. para dar una funci ón complementada si mplificada:
F' = .. ' + lV)"
Al calcular el complemento de P obtenemos la expresión simplificada como producto de
sumas:
F(w, x, y, ,) = ,(w' + y) = :!: ( I, 3, 5, 7, 11, 15)
En este caso, hemos incluido los minitérminos O y 2 con los ceros, y el minilérmino.5 con
los unos.
3-6 IMPLEMENTACiÓN CON NAND Y NOR
Muchos circuitos digitales se construyen con compuenas NANO y NOR en lugar de con com-
pucrtasANO y DR. Las primeras son más fáciles de fabricarcon componentes electrónicos y son
las compuertas básicas empleadas en todas las familias de lógica de CI digitales. En vi nud del
destacado papel que las compuertas NANO y NOR desempeñan en el diseño de circuitos digi -
tales, se han desarrollado reglas y procedimientos paro. convenir funciones booleanas exJ'f"CS!ldas
en ténninos de ANO, OR Y NOT en diagramas lógicos NAND y NOR equivalentes.
Circuitos NANO
Se di ce que la compuerta NANO es una compuerta universal porque cualquier sistema digi tal
puede implementarse con ella. Para demoslrar que curuquier función booleana se puede imple-
mentar con compuertas NANO, basta con demostrar que las operaciones lógicas ANO. OR Y
complemento se pueden obtener exclusivamente con compuertas NANO. EsIO se aprecia en lo
figura 3-18. La operación complemento se obtiene con una compuerta NANO de una sola en-
trada que se comporta exactamenle como un inversor. La operación ANO requiere dos com-
puertas NANO. La primera produce la operación NANO y la segunda invierte el sentido lógico
de la seí'ial. La operación OR se logra con una compuerta NANO que ll eva inversores en cllda
entrada.
,
hwt'r1Or x
C>o
"
,
I
)
C>o
ANO
,y
Y
0 0
--/
~ - (x' ,,), - x + ,
FIGURA ] · 18
Operaciones lógicas con compuertas NANO
Mat nal protegido por derechos dfI aL'f')r
A
B
e
D
Sección 3·6 Implementación con NANO y NOR 83
x
y
,
I

a) AND-invertir
FIGURA 3· 19
{ :3 x' + y' + l ' - (xy-t)'
b) In\'ertir-OR
símbolos gráficos para la compuerta NANO
Una forma conveniente de implementar una función booleana con compuertas NANO con·
siste en obtener la función booleana simplificada en tf rminos de operadores booleanos y
luego convertir la función a lógica NANO. La conversión de una expresión algebraica de ANO.
QR y complemento a NAND se efectúa aplicando sencillas tfcnicas de manipulación de cir-
cuitos que convierten los diagnuTUlS ANO-OR en di agramas NANO.
Para facilitar la conversión a lógica NANO. es conveniente definir un símbolo gráfico al·
terno para la compuerta. En la fi gura 3-19 se presentan dos sfmbol os gráficos equivalentes pa-
ra la compuerta NANO. El sfmbolo ANO·invertir ya se definió antes y consiste en un sfmbolo
gráfi co ANO seguido de un pequeño indicador circular de negación llamado burbuja. Como
alternati va, podemos representar una compuerta NANO con un sfmbolo gráfico OR precedi.
do por una burbuja en cada entrada, El símbolo invenir-OR para la compuerta NANO con-
secuencia del teorema de DeMorgan y de la convención de que el indicador de negación
denota complementación, Los dos sfmbolos gráficos son utiJes en el análi sis y diseño de cir·
cuitos NANO. Si se usan ambos s(mbolos en el mismo diagrama. decimos que el circuito es-
tá en notación mixta.
Implementación de dos niveles
la implementación de funciones booleanas con compuertas NANO requiere expresar la fun-
ción en forma de suma de productos. Pnrn ver la relación entre una expresión de suma de pro-
ductos y su implementación NANO equivalente. consideremos los diagramas lógicos de la
figura 3-20. Los tres diagramas son equivnlentes e impl ementan la función
F = AB+CD
En a), la función se implementa con compuertas ANO y ORo En (b). las compuertas ANO se
han sustituido por compuertas NANO '1 la compuerta OR se sustituyó por una compuerta
NANO representada por un srmbolo gráfi co invertir·QR. Recuerde que una burbuja denota
A A
B B
, ,
e e
o D
.) b) <)
FIGURA 3-20
Tres formas de impl ementar F .. AS + CD
,
Mar fI'll protegido pt)r ¡,,;erecho" de 'lU ':Ir
84 Capítulo 3 Minimizadón en el nivel de compuertas
complementación y que dos burbujas en una misma Hnea representan doble complemcntación,
y pueden elimi nan;e, Si se quitan Ia.<; burbujas de 1:1.<; compuertas de b) se obtiene el circuito de
a). Por tanto, los dos diagramas implementan la misma función y son cqui valcntes.
En la figura 3·2Oc), se ha representado la compuerta NANO final con un símbolo gr:ifico
AND-invertir. Al dibujar diagramas lógicos NANO, los circuitos que se muestran en b) o e) son
aceptables. El de b) usa nocación mixta y representa una relación más directa con In expresión
booleana que implementa. La implementación NANO de la fi gurd 3-2Oc) se puede veri ficar al·
gebraicamente. La función que implementa se convierte fáci lmente a suma de productos apli-
cando clleorcma de DeMorgan:
F (A8 )'(CD)')' A8 + CD
Implemente la función booleana siguiente con compuertas NANO:
F(x, y, ,) = ( 1.2,3,4,5,7)
El primer paso es si mplificar la función como suma de productos. Esto se hacc con el mapa de
la figura 3·2 Ia), del cual se obtiene la función simplificada
F = xJ' + X)' + 1.
La implementación NANO de dos niveles se presenta en la fi gura 3-2lb) en nOlllción mixta.
Obsen.'c que la entrada 1. necesit.a una compuerta NANO de una sola entrada (inversor) paro com-
pensar la burbujllde lu compuertu del segundo ni vel. En la figur ... 3-21c) se presenta otro for-
ma de dibujar el diagrama lógico. Aqur todas las compuertas NANO se representan con el
,--,

y' - ---'
,' - ----

,-
FIGURA ] · 21
b)
" 00
x
o
I
Soludón del ejemplo 3-10
01 11
¡;-
I
I

,
.)
F
,
10
:::TI

,
y'
" F
Y
" •
,)
,
Mar nal protegido por derechos da 3ut')r
Sección 3-6 Implementación con NANO y NOR 85
mismo símbolo gráfi co. El inversor con entrada z se ha eliminado. pero la vari able de entrada
se ha complementado y se denota con l.'.

El procedimienlo descrito en el ejemplo anterior sugiere que es factible implementar una fun-
ción booleana con dos ni vele. .. de compuertas NANO. El procedimiento para obtener el diagra-
ma lógico a partir de una función booleana es el siguienl e:
l. Simplificar la función y expresarla como suma de productos.
2. Incluir una compuerta NANO por cada término de producto que tenga por 10 menos dos
literales. Las entradas de cada compuerta NANO serán las literales del término. Esto
constituye un grupo de compuertas de primer ni vel.
3. Incluir una sola compuerta en el segundo nivel. empleando el sfmbolo gráfico ANO-in-
vertir o invert ir-OR. cuyas entradas provienen de las salidas de las compuertas de primer
nivel .
4. Los términos con una sola literal requerirán un inversor en el primer ni vel. pero si esa li-
teral solitaria está complementada. se le podrá conectar directBnlente a una entrada de la
compuerta NANO del segundo ni vel.
Circuitos NAND multinivel
La fonna estándar de eltpresur funciones booleanas da pie a una implementación de dos nivel es.
Hay ocasiones en que el di seño de sistemas di gi tal es producc estruct uras con tres o más nive-
les de compuertas_ El procedimiento más común para diseñar circuitos multinivel es eltpresar la
función booleana en témlinos de operaciones ANO. OR Y complemento. Entonces. la función po-
drá implementarse eon compuertas ANO y OR. Luego. si es necesario. se le puede coO\'ertir en
un circuito con puras compuertas NANO. Considere, por ejemplo, la función booleana:
F ~ A( e D + B) + Be'
Aunque es posible qui tar los paréntesis y reducir la expresión a una forma estándar de suma
de productos. preferimos implemenlarla como circuito multinivel como ilustración. La imple-
mentación ANO-OR se ilustra en la figura 3·22a). El circui to tiene cuatro niveles de compuer-
tas. El primer nivel posee dos compuertas ANO. El segundo tiene una compuerta OR seguida
de una compuerta ANO en el tercer ni vel y una compuerta OR en el CUMO nivel. Los diagra-
mas lógicos con un patrón de nivel es al ternos de compuertas ANO y OR se pueden convertir
fdci lmente en un circuito NANO utili zando la nOlación mi xta. Esto se muestra en la fi gura
3-22b). El pnx:edimienlo consiste en sustituir cada compuerta ANO por un símbolo gráfi co
ANO-invertir. y cada compuerta OR. por un símbolo gráfico invert ir-DR. El circuito NANO
realizará la misma lógica que el diagrama AND-OR siempre que haya dos burbujas sobre la mis·
ma lfnea. La burbuja asociada a la entrada B produce una complemcntación adicional. que de-
be compensarse cambi ando la literal de entrada a B'.
El procedimiento general para convertir un diagrama ANO-OR multinivel en un diagrama
NANO con notación mixta es el siguiente:
l. Convertir todas las compuertas ANO en compuertas NANO con sfmbolos gráficos ANO·
invertir.
2. Convertir todas las compuertas OR en compuertas NANO con sfmbolos gráficos inver-
tir-DR.
Mat nal protegido por derechos dfI aL'f')r
86 Capítulo 3 Minimización en el nivel de compuertas
c-- ---'
e
D
B
A
8
e
I
FIGURA 3-22
)
.) Compuertas AND-OR
b) Compuenll5 NANO
Implementación de ,. ~ A(CD + B) + Be
}'
-F
~
")-
F
3. Revisar todas las burbujas del diagrama. Por cada burbuja que no esté compensada por
otra sobre la misma línea. hay que insertar un inversor (compuerta NANO de una sola
entrada) o complementar la literal de enlmda.
Como ejemplo adicional. consideremos la funciÓn booleana multinivel
F - (AB' + A'B)(C + D')
La implementaciÓn AND·OR se presenta en la figUl1l. 3-23a) con tres niveles de compuertas. La
conversión a NANO con notación miJua aparece en la pane b) del diagruma. Las dos burbujas
adi cionales asociadas a las entrndas e y D' hacen que estas dos literales se complementen a e
y D. La burbuja en la compuerta NANO de salida complementa el valor de sal ida. por lo que
necesitamos insertar una compuenn inversora en la salida para complementar otro vez la señal
y obtener el valor original.
Implementación NOR
La operación NOR es el dunl de la operación NANO. Por tanto, todos los procedimientos y re-
glas para la lógica NOR son el dual de los procedimientos y reglas correspondientes que se han
desarrollado para la lógica NANO. La compuerta NOR es otra compuerta unh'ersal que sirve
para implemenlar cualquier función booleana. La implementación de las operaciones de como
plemento. OR y ANO con compuertas NOR se aprecia en la figura 3-24. La operación de
complemento se obtiene de una compuert a NOR con una sola entrnda que se comporta exac·
Mat"'rial protegido JX'r der=-hos de> ;¡L!')r
I
,
Sección 3-6 Implementación con NANO y NOR 87
A
8'--
A ' --
B

.) CompLl cnali AND-OR
A
B'


lo
A'
8
e
D
b) Compuertas NAND
FICURA 3-21
Implementación de F - (AB' + A' B)(C + U)
Inversor x
[>
o.
x
l
>
[>
y
., --
F
" v
x'
x.y
ANO
y --
,_-1._/ (x' + , ')' - :ty

FIGURA ) · 24
Operaciones lógicas con compuertas NOR
F
lamente corno un im'ersor. La opernci6n OR requiere dos compuertas NOR y la ANO. una com-
p¿ena NQR con inversores en cada e"trolda.
Los dos sfmbolos gráficos de la notación mixta se muestran en la figura 3-25. El símbolo
OR-invenir defi ne la operación NOR como un OR seguido de un complemenlo. El símbol o in-
vertir-ANO complementa cada una de las entradas y luego realiza una operoción ANO. Los dos
símbol os designan la mi sma operación NOR y son lógicamente idénticos por el teorema de
DeMorgan.
protegido po?r derechos de '1U ':Ir
88 Capít ulo 3 Mini mi zación en el nivel de compuertas
,
y
,
) >--(.r +1 + : )'
'Y, 3<----)}--
_ _ _ . .r'y' : ' • (x + y +:)'
a) OR·invcrlir
FIGURA ] · 25
Dos símbolos gráficos para la compuerta NOR
FIGURA 3· 26
A_-;-,
B_ L/>c---,
C ~ ~
D - -L/- -- ~
E' - ----'
Impl ementación de f - (A + B){C + D)E
b) invcrl ir· AND
F
Una implementación de dos niveles con compuenas NOR requiere simplifi car la función en
fonna de producto de sumas. Recuerde que la expresión simplificada de producto de sumas se
obtiene del lIlupD combinando los ceros y complementando. Una eltprcsión en prodUCIO de su-
mas se implementa con un primer nh'Cl de compuenas OR que produce los ténninos de suma,
seguido de una compuena ANO de segundo nivel que da el producto. La transfonnllCi ón del
diagrama OR-ANO en un diagrama NOR se logra cambiando las compuenas OR por compuer-
(aS NOR representadas por sfmbolos gráficos OR-invenir, y la compuena ANO, por una como
puena NOR representada por un sfmbolo gráfico invenir-AND. Si la compuena de segundo
nivel ti ene como cntrada un ténnino dc una sola litcral, ésta deberá complementarsc, La ligu-
r:!. 3-26 muestra la implcmentación NOR de una funci ón expresada como producto de sumas:
F ~ (A + B)(C + D)E
El patrón OR-AND se detecta fácilmente quitando los pares de burbujas que estén sobre la
misma Ifnea. La vari able E se complementa para compensar la tercera burbuja en la entrada de
la compuerta de segundo nivel.
El procedimiento paro! conveni r un diagrama AND-OR mulli ni vel en un diagrama sólo NOR
es similar al que se uti li zó para las compuenas NANO, En el caso de NOR, hay que sustituir
cada compuena OR por un sfmbolo OR· invenir, y cada compuena ANO. por un símbolo in-
veni r-ANO. Toda burbuja que no esté compensada por otra burbuja en la mi sma Ifnea necesi·
tará un inversor, o se deberá complementar la literal de entrada.
La Irnnsfonnaci ón del diagrama AND-OR de la fi gura 3-23a) en un diagrama NOR se ilus-
tra en la figura 3-27, La funci ón booleana para este circuito es
F ~ ( AB' + A' B)(C + D' )
El diagrama AND-OR equivalente se deduce del diagrama NOR quitando ladas las burbujas.
Paro compensar las burbujas en cuatro entradas, es preciso complement ar las li terules de en·
truda correspondientes.
Sección 3-7 Otras implementaciones de dos niveles 89
A'
B
A
B'
c
D'
FIGURA 1-27
F
>
Implementación de F - (AB' + A' S)(C .;. D' ) con compuertas NOR
3-7 OTRAS IMPLEMENTACIONES DE DOS N IVELES
Los tipos de compuenas que más comúnmente se encuentran en los circuitos inlegrados son
las NANO y NOR. Por ello. las impl ementaciones de lógica NANO y NOR son las más im-
ponanles en la práctica. Algunas compuenas NANO o NQR (pero no todas) contemplan la
posibilidad de una conexión con alambre entre las salidas de dos compuertas para foonar una
función lógica especffica. Este tipo de lógica se llama IÓ8ico alambrado (wired. en inglés).
Por ejemplo. si se conectan entre sí compuertas NANO TrL de colector abieno. efectúan la ló-
gica ANO al ambrada. (la compuena TfL de coleclor abieno se representa en la fi gura I (). II
del capitulo 10.) la lógica ANO alambrada efectuada con dos compuenas NANO se muestra
en la figura 3-2&). la compuerta ANO se dibujll con !fneas que pasan por el centro de la com-
puena, para distinguirla de una compuena convencional. la compuena ANO alambrada no es
una compuena ffsica. sino un símbolo que designa la función obtenida de la conexión alam-
brada que se indica. La función lógica implementada por el circuito de la fi gura 3-28a) es
F ~ (AB), , (CD)' ~ (AB + CD)'
y se denomina función AND-OR-INVERT.
Asimismo. la salida NOR de compuenas ECL se puede vincular para desempeñar una fun-
ción OR alambrada. la función lógica implementada por el circuito de la fi gura 3-28b) es
F ~ (A + B)' + (C + D)' ~ [(A + B)(C + D)]'
Y se denomina función OR-ANO-INVERT.
A_ - .......
B-_--"
c- - .......
D- _ --"
- F - (AB + CD)'
a) AND alambrado en rompuertll5
NANO ITL de rolcdor abierto
(ANO·OR-INVERT)
FIGlJRA 1-28
Lógica 1I1ambrada
A
B-
--F- I(A + B)(C +D)]'
b) OR atambntdo en rompuenas ECL
(OR-AND-INVERn
Mat fI'll protegido pt)r ¡,;erechoc. de 'lU ':Ir
90 Capítulo 3 Minimización en el nivel de compuertas
Una compuerta de 16gica alambrada no produce una compuerta ffsica de segundo ni vel por-
que no es más que una conexi6n de alambres. No obstante, en nuestras expli caciones. con-
sideraremos los circuitos de la figura ) -28 como implenlentaciones de dos niveles. El prinler
nivel consiste en compuertas NANO (o NOR) y el segundo ti ene una sola compuerta ANO
(u OR). La conexi6n alambrada dentro del símbolo gráfico se omi ti rá en explicaciones pos-
teriores.
Formas no degeneradas
Desde un punto de vi sta te6rico, resulta interesante averiguar cuántas combinaciones de
compuenas de dos niveles puede haber. Consideraremos cuatro ti pos de compuert as: ANO,
OR. NANO Y NOR. Si asignamos un tipo de compuena al primer nivel y un tipo al segun-
do nivel . encontramos que hay 16 posibles combi naciones de formas de dos niveles. (Se pue-
de usar el mismo tipo en el primer nivel y en el segundo. como en la implementaci6n
NANO-NANO.) Ocho de esas combinaciones se consideran formas degeneradas porque de-
generan a una sola operaci6n. Esto se percibe en un circuito con compuertas ANO en el pri-
mer nivel y una compuerta ANO en el segundo nivel . La salida del ci rcuito no es más que la
funci6n ANO de todas las variables de entrada. Las Otras ocho formas no degeneradas pro-
ducen una implementaci6n de suma de productos o producto de sumas. Las ocho formas no
degeneradas son:
AND-OR
NANO-NANO
NOR-OR
OR-NAND
OR-AND
NOR-NOR
NANO-ANO
ANO-NOR
La primera compuerta indicada. en cada. una de las formas constituye el primer ni vel de la im-
plementación. La segunda compuerta es una sola, colocada en el segundo nivel. Hemos pre-
sentado las formas en pares. de modo que las dos formas de cada !fnea son una el dual de la
otra.
Las formas AND-OR y OR-AND son las formas bás icas de dos niveles que vimos en la
sección 3-4. Presentamos las formas NAND-NANO y NOR-NOR en la sección 3-6. En esta sec-
ción investi garemos las otras cuatro formas.
Implementación AND-OR-INVERT
Las dos formas NANO-ANO y ANO-NOR son equivalentes y podemos verlas juntas. Ambas
efectúan la funci6n AND-OR-INVERT. como se muestnl. en la figura 3-29. La fonna ANO-NOR
se parece a la forma ANO-OR pero con una in\'ersi6n indicada por la burbuja en la salida de
la compuerta NOR. Esta forma implementa la función
F = ( AB + CD + E)'
Al utilizar el símbolo gráfico alterno para la compuerta NOR. se o b t i ~ n e el diagrama de la
figura ) -29b). Advierta que la variable sola E 110 se complementa porque el único cambio que
se efectLla es en el símbolo gráfico de la compuerta NOR. Ahora pasamos la burbuja de la ter-
minal de entrada de la compuel1a de segundo nivel a las terminales de salida de las compuer-
tas de primer nivel. Se necesita un inversor para la variable sola, como compensación de la
M' pro'0'9ido 0rdl"Pr,n de
A
B
e
o
E
Sección 3-7 Otras Implementaciones de dos niveles 91

A
B
=L
F -F
----- F

E-----'

a) AND-NOR b) AND-NOR c)NAND-AND
FIGURA 3-29
Circui tos AND-OR-INVERT; F = (AS + CD + E) '
burbuja. O bien. podemos quitar el inversor si la entrada E se complementa. El circuito de la
figura 3-29<:) es una forma NANO-ANO. y en la figura 3-28 vimos que implementa la función
AND-OR-INVERT.
Una implementación AND-OR requiere una expresión en forma de suma de productos. La
implementación ANO-OR-INVERT es similar. excepto por la invenión. Por tanto. si simpli-
fi camos el complemento de la función en forma de suma de productos (combinando los ceros
del m3pa), podremos implementar F' con la p3rte ANO-OR de la funci ón. Cuando F' pase por
la obligada inversión de salida (la parte INVERn. generará la salida de la función F. Más ade-
lante se presentará un ejemplo de la implementación AND-OR-INVERT.
Implementación OR-AND-INVERT
Las formas OR-NANO y NOR-OR efeculan la función OR-ANO-INVERT. Esto se observa en
la figura 3-30. La forma OR-NANO se parece a la OR-ANO. excepto por la inversión efectua-
da por la burbuja de la compuerta NANO. Esta forma implementa la función
F [ ( A + 8)(C + D)E]'
,
c c c_-,
F F
O O 0- _ /
E E E
a) OR·NANO b) OR·NANO e) NOR-OR
FIGURA 3-30
Clrculto$ OR-ANO· tNVERT; F - [(A .. B)(C + O)fl'
Mat<>fI'll protegido por derecho!' de 'lU ':Ir
92 Capítul o 3 Minimización en el nivel de compuertas
r_bl_ ).)
ImpletnVltocl6n con otras formos de do! nivdn
fo.m.
no degener.ü
equlnlente
Implement_
'a
función
Slmpllflur
f '
en
P.r.
obtener
como nlld.
al bY
AND·NOR NAND-AND
OR-NANO NOR-OR
AND·OR· [NVERT
OR-AND-lNVERT
Suma de productos
combinando los cel OS
del mapa
Producto de sumas
combinando los unos
dd mapa y complemen-
tando de:spuñ
F
F
.... fQfllla b) I'n!l,Iiel't! un i n \ ' l " ~ en los t&mioos de una tola litcr.al.
Si se ulili1.a el srmbolo gráfico alterno para la compuerta NANO. se obliene el diagroma de
la figuro 3· 3Ob). El circuito de e) se obtiene pasando las burbujas de las entrodas de la como
puerta de segundo nivel a las salidas de las compuertas de primer ni\'el. El circui to de la figu.
ra 3·3Oc) es una forma NOR·OR y en la figura 3-28 se demostró que implementa la función
QR· ANI).. INVERT.
La implemcnUlción OR·ANO· INVERT requiere una expresión en fonna de prodUCIO de
sumas. Si el complemento de la función se simplifica en prodUCIO <k suma,<¡. se podrt1 imple.
mentar P con la parte OR-AND de la función. Una vez que r pase por la parte INVER'T,len-
dremos el compl ement o de F', o F, en la salida.
Resumen tabular y ejemplo
En la tabla ).) se resumen los pnx:edimiemos pam implemelllar una función booleana en cual·
quiera de las cuatro formas de dos niveles. Debido a la parte INVERT en todos los casos, con·
viene usar la simplificación de la función, r (el complemento). Al implementar F' en una de
estas fonnas. se obtiene el complemento de la función en la formaANO-QR u OR-ANO. Las
cuatro fonnas de dos niveles invierten esta función para dar como salida el compl emento de
r. que es la salida normal F.
Implement e la función de la figura 3· 31a) con las cuatro forma. .. de dos nh'eles presentudas en
la tabla 3-3.
El compl emento de la función se simplifica en forma de suma de productos combi nando los
ceros del mapa:
F' "'" x'y + xy' + z
La salida normal de eSta función se expresa asf:
F "'" (x'y + xy' + z)'
que está en la forma AND-QR-INVERT. En la fi gurn )·3Ib) se muestran las implementacio-
nes AND-NQR y NANI)..AND. Advierta que se necesita una compuerta NANO de una sola en,
M prrlP.Qido
,
Sección 3-7 Otras implementaciones d e dos niveles 93
I '
y
y'
,
"
Y


I '
y'


FIGURA 3· J1
I
O
I
y,
00
I
o
01
O
o
...L


y
11 10
o o
o I
F - .l'y'z' + .lyz'
F' - x'y+ .ly' + :
a) Simplirtcaci6n por mapa en fonna de 5Uma de productos
).
-f
AND·NOR
OR· NAND
,
F
,
I'
Y
y'
,
b) F - (.l' y + xy' +:)'
I
Y


F
I '
y'
,
r

v
NANO· ANO
NOR·OR
e) F - I(x + y + : ) (x' + y' + z) ]'
Otras implement"ciones de dos niveles
F
F
trada (un inversor) en la implementación NANO-ANO. pero no en el caso ANO-NOR, Es po-
sible quitar ese inversor si se aplica la variable de entrada t en lugar de z,
Las fomas OR-ANO· INVERT requieren una expresión simplifi cllda del compl emento de
la funci ón en fonna de producto de sumas. Para obtener esta expresión. primero hay que com-
binar los unos del mapa:
F = x'y' Z' + xyZ'
Luego se obtiene el complemento de la función
F' = (x + y + z)( x' + y' + x)
Mal 'JI prOiegido P'?r derechos de '1U ')1"
,
Sección 3-8 Fundón OR exclusivo 95
-,Ell,
a) Con oompuer1as AND-OR·NOT
1 - -"------_--'
b) Con compuertas NAND
FIGURA ) ·32
Implementaciones del OR exclusivo
Construimos una función QR exclusivo de dos entradas a pani r de compuertas convenci ona-
les usando dos inversores, dos compuertas ANO y una compuerta DR. como se indica en la fi-
gura 3·32a). La figura 3-32b) muestra la implementación del OR exclusivo con cuatro
compuertas NANO. La primera compuerta NANO efectúa la operación (xy)' "" (x' + y'). El
otro circuito NANO de dos niveles produce la suma de productos de sus entradas:
(x' + y')x + (x' + 1')y = xy' + x'y = x e y
Son pocas las funciones booleanas que se pueden eJtpresar en ténninas de operaciones OR
exclusivo. No obstante. esta funci ón surge con mucha frecuencia durante el diseño de sistemas
digitales. Tiene especial utilidad en operaciones aritméticas y en circuitos para detectar y
corregir errores.
Función Impar
La operación OR exclusivo con tres o más variables se convierte en una función boolellfl3 or-
dinaria sustituyendo el sfmbel o E9 por su expresión booleana equivaJente. En particular. el ca-
so de tres variables se puede convert ir en una expresión booleana así:
A<BBElle = (AB' + A'B)e' + (AB + A'", )e
= AB'C' + A' BC' + ABC + A' B'C
=
La expresión booleana indica claramente que la función OR exclusi vo de tres variables es igua]
a l si sólo una variable I o si las tres variables !IOn l . A diferencia del caso de dos variables,
Mar 'JI prOiP.gido 0f dE' 'Jl ')r
96 Capítulo 3 Minimización en el nivel de compuertas
Be
A
00
O
1 1
B
o 1 11
1
-t
1
e
a) Función impar
F - .. HBBEfl C
FIGURA 3· 31
10
1
A
O
A 1
Be
8
00 O 1 11 10
1 1
1
e
b) Función par
F - (A Efl B Efl q'
1
Mapa para una función OR exclusivo de tres variables
en el que sólo una variable debe ser igual a l. en el caso de lre.<; o más variables el requisito es
que un numero impar de variables sea igual a l , Por consiguiente. la opemción OR excl usivo
de múltiples variables se defi ne como funci611 impar.
La función booleana obtenida de In operoción OR exclusivo de tres vari nbles se expresa co-
mo la suma lógica de cuatro minilénninos cuyos valores numéricos bi narios son 00 l. 010. 100
Y 111 . Todos estos números binari os ti enen un numero impar de unos. Los otros cuatro mini·
ténninos no incl uidos en la función son 000. 011 . 101 Y 110, Y tienen un numero par de unos
en su valor numéri t'O bi nllrio. En geneml, una función OR excl usivo de" variables es una fun·
ción impar definida COIIIO la suma lógica de los 2-n minilénni llos cuyo" numéri cos bi -
narios tienen un número impar de unos.
La defi nición de función impar queda más ciar" si se grofica en un milpa. La fi gura 3-339)
muestro el mapa para la función OR excl usivo de tres variables. Los cuatro miniténni nos de la
función están separados por una di stancia unitaria. La función impar se identifica a partir de
los cuatro mi niténninos cuyos valores binarios tienen un número impar de unos. El comple-
mento de unn función impar es una función par. Como se aprecia en la figum 3-33b), la fun-
ción pardc tres voriables es I cuando un número pardc voriablcs es igual a I (incluida la condición
en la que ni nguna de las variables es igual a l ).
La (unción impar de tres entrada.<; se implementa con compuertas OR excl usivo de dos en-
trada.<;, como se observa en In figura 3-34a). El complemento de una función impar se obtiene
sustituyendo In compuerta de salida por una compuerta NOR excJusi\'o. como se indica en la
figuro 3·34b).

B-
e------'
al Función impar de tres entradas
FIGURA 3· 34
Diagrama lógico de funciones impar y par
A -
B-
e-------'
b) Función par tres ent radas
A
A8
00
o 1
1 1
10
eD
e
00 o 1 11 10
1 1
1 1
1 1
1 1
D
a) Función impar
F - .HfJ 8 f1JCe D
-l
B
Sección 3-8 Función OR exclusivo 97
A
AB
00
01
1 1
10
eD
00
1
1
o 1
1
1
D
e
11 10
1
1
1
1
b) Función par
F - (A $ B$C$ D)'
B
FIGURA 3· 35
Mapa de una función DR exclusivo de cuat ro variables
Considere ahora la operación OR exclusivo de cuatro variabl es. Por manipulación algebrai-
ca. se obtiene la suma de miniténninos para esta función:
A Ell BEllCEll D = ( AH' + A'B) Ell (CD' + C' D)
= ( AB' + A' B)(CD + C'D') + (A B + A'B')(CD' + C'D)
= ~ ( l . 2, 4, 7, 8, 11 , 13. 14)
Una función booleana de cuatro variables tiene 16 mini térmi nos. La mitad de ell os tiene va-
lores numéricos binarios con un número impar de unos: la otra mitad tiene valores numéricos
binarios con un número par de unos. Al graficar la función en el mapa. el valor numérico bi-
nari o de un minitérmino se deduce de los números de fila y columna del cuadrado que repre·
senta al minitérmino. El mapa de la fi gura 3-35a) corresponde a la función OR exclusivo de
cuatro varinbles. Es una función impar porque los valores binarios de todos los mini términos
tienen un número impar de unos. El complemento de unn función impar es una función par. Co-
mo se observa en la fi gura 3·35b). la función par de cuatro variables es igonl a I cuando un nÚ·
mero par de vari ables es igual a l .
Generación y verificación de paridad
Las funciones OR excl usivo son muy út il es en los sistemas que requieren códigos para detec-
tar y corregir errores. Como se explicó en la sección 1-7. se utili za un bit de paridad para de-
tectar enorcs durante la transmisión de informoción binaria. Un bit de paridad es un bit adicional
que se incluye con el mensaje binari o de modo que el número total de unos sea impar o par. El
mensaje. con el bit de paridad incluido, se transmite y luego se verifica en el extremo receptor
para comprobar que no haya habido errores. Se detecta un error si la paridad recibida no co-
rresponde con la tmnsmitida. El circuito que genero el bit de paridad en el transmisor se deno-
mina generador de paridad. El que comprueba la paridad en el receptor se ll ama verificador
de paridad.
98 Capítulo 3 Minimización en el nivel de compuertas
Tablill )-4
Toblo Iff!Tdod de un generador de paridad po,
Mensaje de tres bits BIt de INrtdad

,
z P
O O O O
O O I I
O I O I
O I I O
I O O I
I O I O
I I O O
I I I I
Como ejemplo. considere un mensaje de tres bits que se transmitirá junIo con un bit de pa-
ridad par. La tabla 34 representa la tabla de verdad pam el generador de paridad. Los tres bits
- x. y y,¡:- constituyen el mensaje y son las entradas del circuito. La salida es el bit de pari -
dad. P. Si se usa paridad par, el bit P generado deberá hllcer que el número total de unos (in-
cluido P) sea par. Por la tabla de verdad. vemos que Pconstil uye una runción impar porque es
igual a I pllr.llodos los cuyo valor numéri co binario li ene un número impar de
unos. Por tanto. P se expresa como una función OR exclusivo de tres variables:
p = xey e z
El diagrama lógico del generador de paridad se muestra en la figura 3-300).
Los tres bits del mensaje. junto con el bit de paridad. se transmiten a su destino. donde se
aplican a un circui to verificador de paridad para detectar posibles errores en la transmi sión. Pues-
to que la inronnación se transmitió con paridad par. los cuatro bits recibidos deberán tener un
número par de unos. Si los cuatro bits recibidos tienen un número impar de unos, querrá decir
que hubo un error de transmisión. pues por lo menos un bit habrá cambiado de val or durante
la transmi sión. La sa1ida del verificador de paridad. denmada por C. será igual a I si hubo un
error. es decir. si los cuatro bits recibidos tienen un númcro impar de unos. La tabla 3-5 es la
tabla de verdad del \'eri ficador de paridad par. En ell a se advierte que la runción e consiste en
los ocho minitérminos cuyo valor numéri co binari o posee un número impar de unos. Esto
, --
y-
y -
- P
--'
e

P- -IL/
a) Gene1'1ldor de paridad par de tres bits b) VerifICador de paridad par de cuatro bits
FIGURA 3-)6
Diagrama loglco de un generador y un verificador de paridad
M' r protegido por derechos de ul')r
Sección 3-9 lenguaje de descripción de hardware (HOl) 99
T.bl. ] · S
Toblo de verdad de un verificador de parfdad par
C ... tro bfts Verfflatdor de
rec:lbldos "ilotU de ".ñd.d
r
z e
o o o o o
o o o 1 1
o o 1 o 1
o o 1 1 o
o 1 o o 1
o 1 o 1 o
o 1 1 o o
o 1 1 1 1
1 o o o 1
1 o o 1 o
1 o 1 o o
1 o 1 1 1
1 1 o o o
I 1 o 1 1
1 1 1 o 1
1 1 1 1 o
corresponde al mapa de la figura 3·35a). que representa una función impar. El verificador de
paridad se implementa con compuenas OR excl usivo:
e :: xEDyEDlEDP
El diagrama lógico del veri ficador de paridad se muestra en la fi gura 3-36b).
Vale la pena señalar que el generador de paridad se implementa con el circuito de la figura
3· 36b) si la entrada P se conecla a O lógico y la salida se designa como P. Ello se debe a que
l EDO = l . con lo que el valor de l pasa inalterado por la compuena. La ventaja de esto es
que se puede usar el mismo circuito tanto para generar como para veri ficar la paridad.
Por el ejemplo anterior, es obvio que los circuitos para generar y verificar paridad siem-
pre tienen una función de salida que incluye la mi lad de los miniténninos, aquell os cuyo va·
lor numérico liene un número impar (o par) de unos. Por consiguiente, se les puede
implementar con compuenas OR exclusivo. Una función con un número par de unos es el
complemento de una función impar y se implementa con compuenas OR exclusivo, salvo que
la compuerta asociada con la sali da debe ser un NOR exclusivo para reali zar la complemen-
tación requerida.
3-9 LENGUAJE DE DESCRIPCiÓN
DE HARDWARE (HDL)
Los lenguajes de descripeión de hardware son lenguajes que descri ben el hardware de Jos sis-
temas digitales en foona textulI l. Se parecen a los lenguajes de programación. pero están orien-
tados especfficamente a la descripeión de las estructuras y el comportnmiento del hardware.
Mal 'JI prOiP.gido por df>1 "C"bnc. de 'JL "Ir
100 Capítulo 3 Minimización en el nivel de compuertas
Sirven paro representar diagramas lógicos, expresiones booleanas y Ol ros circuitos digit ales
más complejos. Como lenguaje de documentacióII. un HOL sirve para representar y documen-
tar sistemas di gitale.c¡ en una fomla suscepti ble de ser leída tanto por personas como por
computadoras, y es apropiado como lenguaje de intercambio entre diseñadores. El conteni do
en HDL se puede almacenar. recuperar y procesar fáci l y dicazmente con software de compu·
tadora. Hay dos aplicaciones del procesamiento de HOL: simulación y síntesis.
La simu{aciólIlógica es la representación de la estructur.l y el comportamiento de un siste·
ma lógico digital empleando una computadora. El simulador interpreta la descripción en HDL
y produce una salido comprensi ble, digamos un diagrama de tcmpori zación, que predice la
forma en que se comport ará el hardware antes de que se fabrique ffsicamcnte. La simulación
permite detectar errores funcionales de un diseño sin tener que crear el circuito físico. Los
errores detectados durante la simulación se corrigen modificando los enunciados HDL apro-
pi3dos. El estímul o que prueba la funcional idad del diseño se denomina cOIljUlllo de pruebas.
Así, par.! simular un sistema digitul. el diseño se describe primero en HDL y luego se veri fica
simul ando el diseño y verificándolo con un conjunto de pruebas, que también está escrit o
en HDL.
La sílllesis lógica es el proceso de deducir una li sta de componentes y sus interconexiones
(lo que se conoce como lista del circuito) a partir del modelo de un sistema digital descrito en
HDL. La lista del circuilo en el nivel de compuertas sirve paro fabricar un circuito integrado o
pam diagrumar una tarjeta de circuitos impre.'>Os. La sfntesis lógica es similar a la compilación
de un programa en un lenguaje de alto nivel convencional. La diferencia es que. en lugar de pro-
duci r código objelo. 13 síntesis lógica produce una base de datos con instrucciones pru11 fabri -
car un circuito digi tal ffsico que implemenla los enunciados descritos por el código HDL. La
sínlesis lógica se basa en procedimientos formales exactos que implemcnmn circuitos digil:l-
les, y es la pane de un diseño digi lal que se aUlomali za con soflware.
Hay muchos HOL exdush'os en la industri a, desarrollados por empresas que di señan o ayu·
dan a diseñar circuitos integr.KIos. El IEEE (Inslituto de Ingenieros en Elect ri cidad y Eleclro.
nica) apoya dos HDL est!ndar: VHDL y Verilog HDL. VHOL es un lenguaje cuyo uso exige
el Departamenlo de Defensa de EU y que inicialmenle usaban los contratistas de es.1 depen-
dencia, aunque ahora se le usa comercialmcnle y en universidades de investigación. Verilog na-
ció como un HDL exclusivo, promovido por una compañfa ll amada Cadence Ifdta pero
Cadence transfirió el control de Veri log a un consorcio de empresas y universidades llamado
Open Verilog Intemati onal {OVI}. VHOL es un lenguaje difícil de aprender y USllr que
Veri log, y es por dio que se empl ea Veri log en este libro. No obstante, las descripciones en Ve-
ril og HDL que aquf se presentan no pretenden enseñar Veri log, si no más bien introducir el
concepto de represenlación de sistemus di gi tales asistida por compulador.! utili1.ando un len-
guaje típico de descripción de hardware.
Representación de módulos
La sinta:tis de Verilog descri be con precisión las construcciones válidas que se pueden USllr en
el lenguaje. En particular, Verilog uti lila cerca de 100 p31abms clave: identificadores predefi-
nidos. en mi núsculas, que definen las conslJucciones del lenguaje. Como ejemplos de pala-
bras clave podemos ci tar module, endmodule, input, output, wire, and, oro no!. etcétem. Todo
texlo comprendido entre dos di agonal es (/ / ) y el fin de la línea se interpreta como un comen-
tari o. Se hace caso omi so de los espacios en blanco y se h3ce di stinción ent re mayúsculas y
minúsculas. El bloque de construcción en Veri log es el módulo. Declaramos un módul o con la
Mal 'JI prOiegido ')f derechos de 'JL 'lr
I
I
Sección 3·9 lenguaje de descripdón de hardware (HDl) 101
palabra clave module y marcamos su final con la palabr.!. clave endmodule. A continuación
se presentaa un ejemplo senci ll o para ilustrar algunos aspectos del lenguaje.
En el ejemplo HOL 3-1 se hace una descripción en HDL del circui to de la fi gura 3· 37. La
Unca que inicio con dos diagonales es un comentario que explica la función del circuito.
La segunda Hnea declaro el módulo, e incluye un nombre y una lista de puertos. El nombre
(circ uito_smpl en este caso) es un identificador que sirve para referirse al módul o. Los
identifi cadores son nombres que se dan a las variables paro poder referirse a ellas en e l di -
seño. Conslan de caracleres alfanumlricos y el carácter de subraya U. y hay disti nción en-
tre mayúsculas y minúsculas. Los identificadores deben iniciar con un carácter alfabético o
subraya: no puedcn iniciar con un número. La lista de puertos ellla imeñaz a través de la cUII I
el módulo se comunica con su entorno. En este ejemplo. los puertos son las entradas y sali-
das del circuito. La lista de puertos se encierra en paréntesis. y se usan comas para separar
los elementos de la li sta. El enunciado termi na con un signo de punto y coma (;). Todas las
palabras clave (que deben estar en minúscula) se han imprimido aquf en negritas por clari-
dad. pero el lenguaje no requiere esto. A continuación. las declaraciones Inpul y Qulpul de-
finen cuáles puertos son entradas y cuáles son salidas. Las conexiones inlemas se declaran
C0ll10 alambres. El circuito tiene una conexión interna en la terminal e. la cual se declara con
la palabra clave wirt!. La estructura del circuito se especifica empleando las compuertas pri -
mitivas predefinidas como palabras clave. Cada dec laración de compuerta consiste en un
nombre opcional (como g l. g2. etcétera) segui do de la salida y las entrndas de la compuer-
ta. separadas por comas y encerradas en paréntesis. La salida siempre va primero. seguida
de las entradas. Por ejemplo. 111 compuerta OR se llama g3. su salida es x y tiene como en-
tradas e y y. La descripción del módulo termina con la palabra clave endmodule. Observe
que cada enunciado termi na con un signo de pumo y coma, pero no hay un punto y coma des-
pués de cndmodulc.
Ejemplo HOL 3-1
II Descripción del cir cui to s imple de l a f i g . 3-37
.adul. c ircuito_smpl (A,B,e,x.y);
iaput A. B. e ;
outputx.y;
vir. e;
.nd !JI (e. A.S) ;
not !J2{y. el ;
or g3 (x .e.y) :
.n"--:4",l.
A
8
e
FIGURA 3·37
,1
,
,2
y
Circuito para ilustrar HDL
,
-1 , 3
,
y
Mal rF11 protegido po?r derechos de '1U ')r
102 Capítulo 3 Minimización en el nivel de compuertas
Retardos de compuerta
Cuando se usa HOL para hacer simulaciones. lal vez sea necesario especificar la magnilUd del
retardo que hay entre la entrada y la sal ida de las compuertas. En Veri log. el retanlo se es pe-
cifica en ténninos de unidades de tiempo y el símbolo 11. La asociación de la unidad de ,iem-
po con el ti empo fisico se efectúa con la di rectri z de compil ador · Umescale. (Las directrices
al compil ador inician con el símbolo ' (acento grave).) Tales di rectrices se especifican antes de
declarar módulos. Un ej emplo de directri z de escala de tiempo es:
' Umescale Ins/l OOps
El primer número especifica la unidad de medici ón de los retardos. El segundo especifi ca
la precisión del redondeo de los retardos. en este caso a 0. 1 ns. Si no se especi fica una cs-
cala de tiempo. el simulador utilizará por omi sión cierta unidad de ti empo. por lo regular I ns.
( 1 ns :: 10-
9
s). En este libro supondremos la uni dad de tiempo por omisión.
El ejemplo HOL 3-2 repite la descripción del circuito simple e.<ipecificando retardos para ca·
da compuerta. Las compuertas ANO. OR Y NOT ti enen un retardo de 30. 20 Y 10 ns. respec-
tivament e. Si se simula el circuito y las entradas cambian de 000 a 111 . las salidas cambiarán
como se indica en la tabla 3-6. La sal ida del inversor en y cambia de I a O después de un retar-
dorle 10 ns. La salida de la compucrtaANDen e cambi a de Oa I después de un retardodc 30 ns.
Ejemplo ROL 3-2
II Descripción de circuito con retardo
MOdul. circuito_con_retardoIA,B,C,x,y);
:l.D¡)\lt A,S,C;
output x ,y;
wir. e;

and '(30) gl(e, A,B);
or t(20) g3{x,e,y);
AOt ti l O) g2(y,C);
Tabla 3-6
Solido de las compuertas dnpues del retardo
Unkl.de¡ de
tiempo Entrada Salkla
(ns) AIIC yex
Inicial OOJ 1 O 1
Cambio 111 1 O 1
10 111 O O 1
20 111 001
3()
111 O 1 O
40 111 010
lO 11 1 01 1
M fI 31 protegido por derecho"- de u ':Ir
Secci6n ] · 9 lenguaje de descripción de hardware (HDl) 103
Ejemplo HDL 3-3
// Estímulo para el ci r cui t o simple
-?d,ul. stimcr ct;
r.O' A, a ,C;
.ir . x, y ;
circuito_con_retardo ccr( A,a,C,x, y);
i Q.iti al
be.'"
A

l' bO; B

1 ' bO; e

l' bOl
1100
A •
l' bl; B •
l'bl ; e •
l' bl;
1100 $finish;
. n"
. n·' '''*Odul.
l/ Descripción de circuito con retardo
eodul. circuito_con_retar do (A,B,C. x,y);
iIl,put A,a,C;
output x,y;
.ir . e;
lUI4 '(30) g l(e,A,BJ;
o r ' ( 20) g3 (x, e, y) ;
not 'UO) g2(y,C);
. ""+:4u1.
l!.a sali da de la compuerta OR en x cambia de l a O en t = 30 ns, y luego vuelve a l en I =- 50
ns. En ambos casos, el cambio en la salida de la compuerta OR es resullado de un cambio en
sus enU'!ldas 20 ns antes. Es evidente, por este resultado, que si bien la salida x fi nalmente se
estabili za en t después de los cambios en sus entradas, los retardos de compuerta producen un
pico negativo de 20 os antes de que eso suceda.
Al si mular un circui to con HDL, es necesari o aplicar entradas al circuito para que el simu-
lador genere una respuesta de salida. Un conj unto de pnubru es una descri pción HDL que su-
minislm el eslfmulo a un diseño. Al final de la sección 4-1 1 se explica cómo escribir conjuntos
de pruebas. Aquí se explica el procedimiento con un ejemplo sencill o sin entrar en muchos
poonenoce.<¡; . El ejemplo HDL 3-3 mueStro un conjunto de pruebas paro estimular e! circuito con
retardo. Se incl uyen dos módulos: un módul o de estímulo y el módulo que descri be el ci rcui -
to. El módulo de estImulo stirncr ct no ti ene puertos. Las entradas del circuito se declamo
con la palabra clave reg, y las sali das. con la palabra clave wlre, Se usa un ejempl ar de
eircuito_conJe t a rdo que lleva el nombre cer o (La interacción entre el módulo de es-
tímulo y el módulo de diseño se representa en la figura 4-33.) El enunciado ¡nitial especifi-
ca las entradas entre las palabras clave begin y end. Iniciahnente, ABe ;oc 000. (A. 8 Y e se
aj uslan a I 'bO, lo que signifi ca un dígito bi nario con valor de O.) Después de 100 ns, las enlm-
das cambian a ABe = 11 J. de otros 100 ns, termi na la estimuJación ($nnlsh es una
tarea del sistema). El diagrama de tempori uación resullado de la simulación aparece en la fi-
gura 3-38. La simulación tarda 200 ns en total. Las cnlmdas A, B Y e cambian de O a I des-
Mat '11 pro 0f derechos de '!t.: or
104 Capítulo 3 Minimización en el nivel de compuertas
.""
,.""
sIimCftI.A
sti mcrct. B
5Iimc:n;1.x
slimact.y
FIGURA ] · ]8
Salida de la simulación del ejemplo HOl3-3
pués de 100 nS. l .a salida y se desconoce durante los primeros 10 ns, y la x, dumnte los prime-
ros 30 ns. La salida)' cambia de I a O a los 110 ns. La salida x cambia de I a O a los 130 ns y
regresa a I a los 150 ns. tal como se predijo en la tabla 3-6.
Expresiones booleanas
Las expresiones booleanas se especi fi can en Veri log HOL con un enunciudo de asignaci ón
conti nuo que consiste en la palabra clave asslgn seguida de una expresión booleana. Para dis-
tinguir el más aritmético del OR lógico. Veri log HDL usa los símbolos (&). (1) y (-) para ANO.
OR Y NOf (complemento), respectivamente. Asf pues, para describir el circuito simple de la
figura 3-37 con una expresión booleana se utiliza el enunciado
.aaign x "" (A &. Bl I -el ;
El ejemplo HDL 3-4 muestra la descripción de un circuito que se especi fica con estas dos ex·
presiones booleanas:
x = A + se + B' D
y::: B'C + BC'D'
Ejemplo HDL 3-4
especificado con expresiones booleanas
-rdul. circuie_bln (x,y,A,B,C,O);
input A,B, C,O;
output x,y;
.. dgn x .. A 1 (B " C) I (-8 " O);
.. dgn y'" (-B" C) I (B" -C" -O);
erA odule
Mal fI'll protegido por derecho"- de 'lutor
Sección 3-9 lenguaJe de descripción de hardware (HOl) 105
El circuito tiene dos salidas. x Y}', y cuatro entradas, A. B, e y D. Los dos enunciados assign
describen las ecuaciones booleanas.
Hemos visto que posible describir un eircuito digital con enunciados HOL de la misma
fonna en que lo dibujamos en un diagmma de circuito. o bien especifi carl o con una expresión
booleana. La ventaja del HOL es que puede procesarse con una computadora.
Primitivas definidas por el usuario (UOP)
Las compuenas lógicas que usamos en las descri pciones en HOL con las palabras clave and,
or, etcétera. están definidas por el sistema y se denominan primitil'lIs del sistema. El usuario
puede crear más primitivas definiéndolas de fonna tabular. Estos ti pos de circuitos se ll aman
pri miti vas definidas por el usuario (UDP. Ilst!r-defined primitil·t's). Una fonna de especificar un
circui to digital en fomla tabular es con una tabla de verdad. Las descripciones de UDP no uti -
lizan la palabra clave module; se declaran con la palabra clave primlth·e. La mejor manera de
expli car las declarn.ciones de primitivas es con un ejemplo.
El ejemplo HOL 3-5 defi ne una UOP con una tabla de verdad. Las reglas genemles son:
• Se declara con la palabra clave primitive seguida de un nombre y una liSia de puenos .
• Sólo puede haber una sali da y debe aparecer en primer lugar en la li sta de puenos y de-
clarill'Se con la palabrd clave output.
Ejemplo HOL 3-5
// Pr i mi t. i va defini da por e l us uario (UOP)
c r c tp (x.A, B. C) ;
output XI
input A,a, C;
l/Tabl a de verdad x{A, a,C) z
table
11 A B e


x (Esto es s610 un coment.ar io)
o o
o o
o 1
o 1
1 o
1 o
1 1
1 1
endtable
enc'lprilldtive
o
1
o
1
o
1
o
1
·





"
O,
" O,
"
O,
"
1 ,
l/Cr ear una copia de l a pr imitiva
module declar e_cr c tp;
r eg x , y ,z;
vire 'N;
c r c tp (w,x,y,z ) ;
Mat rF11 protegido p-?r derechos de '1U ':Ir
106 Capítulo 3 Minimi zación e n el nivel de compuertas
• Puede haber cualquier número de entradas. El orden en que aparecen en la declaración
input debe ser el mi smo en el que se les asigna valores en la tabl a que sigue.
• La tabla de verdad se encierra entre las palabras cla\'e lable y endiable.
• Los valores de las entradas se dan en orden terminando con un signo de dos puntos (:).
La salida si empre es el último elemento de una fila y va seguida de un punto y coma (;).
• Termi na con la palabra clave endprimitlve.
Obserye que las variables que se pusieron como cabeceras de la labia fomlan pune de un ca--
mentario y sólo se han incluido por claridad. El sistema reconoce las variabl es por el orden en
que aparecen en la declnrnción Input. Las primitivas definidas por el usuario se utili zan en la
construcción de otros circui tos digitales igual que las primitivas del sistema. Por ejemplo, la de-
claración
c rctp (w,x,y,z )
produce un circuito que implementa
w (x, y,, ) =
con entradas x, y. z y salida w,
Aunque Veri log HOL utili za este tipo de descripci ón úni camente para las UDP, otros BDL
particulares y sistemas de diseño asistido por computadora (CAD) emplean otros procedimien-
tos paro especificar circuitos digitales en forma tabular. El soft ware de CAD puede procesar las
t3blas y deducir una estruct ura eficiente de compuertas para el diseño.
Esta sección constituye una introducción a HDL, presentando ejemplos sencillos de mode-
lado estructural. En el capftulo que sigue se han'i una presentación más detallada de Verilog HDL
Elleclor que ya esté fami liarizado con los circuitos combinacionales podrá pasar directamen-
te a la sección 4-11 para conti nuar con este lema.
PROBLEMAS
3-1 Simplifi que las siguientes funciones booleanas empleando mapas de tres \-anables:
a) F(.1' , y.z)*' l: (0, 2, 6.7) b) F(A.R.C)- l: (0. 2.l4.6)
e) F(o. b. e) "" l: (O, 1. 2, 3. 7) d) F(x. y. :) - ::ES(l S. 6. 7)
3-2 Simplifique las siguientes funciones booleanas empleando mapas de tfe.S variables:
a) F(x, y. : ) - l: (0. 1. 5, 7) b) F(x_ y, z)- l: ( 1.2. 3.6.7)
3-3 Simplifique las siguientes a presiones booleallllS empleando mapas de tres v:niables:
a) xy + r"z' + x'y:' b) .1'" + yz + x'yz'
e) A' B + BC+B'C
3-4 Simplifique las siguiente! funciones booleanas empleando mllpas x:
a) F(x. y. z) - l: (2.3.6,7) b) F(A. B. C. D) - l: (4. 6. 7, 15)
e) F(A. 8. C. D) - l: (3. 7.11. 13. 14, 15) d) F(1/) • .1' . y. z) .,. ¿ (2, 3, 12_ 13, 14. 15)
3-5 Si mplifique las siguientcs funciones booleanas empleando mapas de cuatro variable!:
a) F(1/), x, y, z) - l: ( I, 4. S. 6. 12, 14. 15)
b) F(A. R,C, D)"" l: (O. 1. 2. 4,5,7. 11. 15)
e) F( w • .1'. y. z} - ¿(2. 3. lO. 11. 12. 13. 14. 15)
d) F(A_ R. e , D) - l: (0. 2. 4. S, 6. 7. 8. 10, 13. 15)
M rt 11 prOleQido por dfI . ""Ir
Pro ble mas 107
3-6 Simplifique las siguientes expre!ionc:s booleanas empleando mapa! de cuatro variables:
:a) A' 8'C' D' + ACD' + 8'CD' + A' BCD + BCD
b) Xl + w' xy +1U(XY + xy')
] -7 Simplifique las siguientes expresiones booleanas empleando mapas de cuatro variables:
:a) W' l + Xl + x'y + Wx' l b) 8' D + A' BC' + AB'C + ABC'
e) A8'C + B'CD' + BCD + ACD' + A'8'C + A' BC'D
d) wxy + )'l + X)"l + x,>,
) -8 Encuentre los de las siguienles expresiones booleanas gndicando primerocada fun-
ción en un mapa:
a) xy +)'l + Xy'l b) CD + ABC + ABD' + A' 8'D
e) wx)' + x' :' + 10' X:
] -9 Encuentre todos los implicanles primos de las siguientes fuociones booleanas y dcdUl,Ca eulllc:i
son e5Cociales:
a) F(w.x.)'.z) =
b) F( A. 8. C. D) .. 2. 3. 5. 7. 8. lO. 11 . 14. IS)
e) F( A.. B.C. D) e
] -10 Si mplifique las siguientes funciones boole3nas eneonlrando primero los implieantes primos
esenci3Jes:
:a) F(w.x.y.d""
b) F(A.B.C. D) =
el F(A. B. C. D) - 1: ( l. 3, 4. S. 10. 11. 12. 13. 14. IS)
3· 11 Simplifique las siguientes funciones boole3nas empleando mapas de cinco vari3bles:
a) F( A. B, C. D, El - 1. 4. S. 16, 17. 21. 25. 29)
b) F = A' 8'CE' + A' B'CD' + 8'D' E" + 8'CD' + CDE' + BDE'
12 Simplifique las siguientes fuoci ones booleanas en fonn3 de producto de sumas:
a) b) F( A. B.C.D) - n {l .J.S,7, IJ, IS)
3-13 Simplifique las eJl.pre!iones siguientes en forma de 1) suma de productos y 2) producto de sumas:
a) ú ' + il' + )'l' + xy b) AC' + B' D + A'CD + ABCD
e) ( A' + B' + O' )( A + B' + C' )(A' + B + D')( B + C' + 0' )
30. 14 Dé tres posibles formas de expresar esta fuoción booleana con ocho o menos Jiterah:s:
F = A'8'D' + A8'CD' + A'BD + ABC'D
3.. 15 Simplifique la fuoción booleana F. que tiene las condiciones de indiferencia d. y luego exprese
la función si mpli fi cada como suma de mi nittnninos:
a) F(X.y.l ) "' I (0. 1.2. 4. S) b) F(A.B,C. D) - I (O. 6. 8. 13. 14)
d(x. y. z) .. I (3. 6. 7) d( A. B. C. D) ... I(2. 4. lO)
e) F( A, B. C, D) "" I(J. 3, 5. 7, 9. 15)
d(A. B. C. D) .. I (4.6. 12. 13)
16 Simplifique estas expresiones e implemtntelas con circuitos de compuertas NANO dedos niveles:
a) AB' + ABD + ABD' + A'C' D' + A' BC
b) 8D + BCD' + A8'C'D'
]-17 Dibuje un diagrama lógico NANO que implemente el complemento de eslll función:
F( A. B,C, D) "" I (O. 1.2.3. 4,8.9. 12)
] -18 Dibuje un diagrama lógico emple:lndo sólo compuertas NANO de dos enlBdas para implemen.
tar esta expresión:
( AB + A' 8' )(CD' + C'D)
Me rt 11 pr01e'9ido por dfl '''''lr

108 Capítulo 3 Minimizadon en el nivel de compuertas
3-19 Simplifique las funciones siguientes e impleménlc: las con circuitos de NOR de dos
ni"eles:
a) F =wx'+y'z'+w'yz' b) F(w,x.,, : ) '" I (5.6.9.1O)
3 -20 Dibuje el cilUJilo NANO de múltiples niveles paro esta eJtpresión;
( AH' + CD' ) f.' + BC{A + 8)
3 -21 Dibuje: el circuito NOR de múltiples niveles para esta eJtpresión:
w(x + y + z) + X)'l.
3 -22 Convic:na el di agrama lógico del ci rcuito mostrado en la figuTlI 4-4 en un circuito NANO mul -
tinivel.
3 -23 Implemente: la siguiente: función booleana F, que: llene las condiciones de: indiferencia ,l. cm·
pleando no mAs de dos compuertas NOR:
f ' CA. B. C. D) '"' r eO. 1. 2. 9.11)
dí A, B, C. D) .. I (8. 10. 14. 15)
Suponga que: cuenta con las entradas normal es y oon sus complementos.
3 -24 Implemente: la siguiente: función booleana F empleando las fonnas de dos ni'"eles a) NANO-
ANO. b) AN[).NQR. e) OR·NANO. y d) NQR·QR:
F(A.B.e.D) - ! (O. 1.2.3, 4.8.9. 12)
)·2S Enumere hu ocho fonnu degeneradas de dos ni"eles y demuestre que se reducen a una sola ope·
ración. Explique cómo US3.r las formas de dos nh'e.lcs par.!. u leodc:r el número de en-
uadIl5 de una compuerta.
3 -26 Con la ayuda de mapas. encuentre la fonna de suma de productOS más simpl e de la función
F - Ig. dondef y g son. respectivamente.
I = W.f)" + iz. + ulyz.' + x'yz.'
y
g = (11) +.f + y' + z' )(x' + y' + =)(1Q' +)' + z')
3· 27 Demuestre que el dual del OR exclush'O también es su compl emento.
)-28 Deduzca los circuitos de un generador de paridad de tres bits y un \'e.rificaclor de paridad de cua·
tro bits empleando un bit de paridad impar.
3·29 Implemente estas cuatro expresiones boolelUlas:
D = A$B$e
E = A'BC + AB'C
F ::::: ABC + (A' + B'l C
G = ABC
3 -30 Implemente CSla upresión booleana con compucna.\ QR exclusi\'o y ANO:
F = AB'CD' + A' BCD' + AB'C' D + A' BC' D
) -)1 Escriba en HOL la descripción de estructura de compuenas del circuito de la figura 3-22a).
3 · 32 El circuito OR exclush'O de la figura 3-)2a) tiene. compuertas con retardo de 10 ns para los in-
,·ersores. 20 n5 para. las compuertas ANO y 30 ns paro las COIllptJC"rtas ORo la entrada del circui -
to pasa de .f)' ,., 00 a xy - 01.
a) Deduzca las se.i\ales en la salida de cada compuena desde I = O hasta I .: 50 ns.
Referencias 109
b) Escriba la descripción HDL del circui to. incluyendo los retardos.
c) Escriba un módulo de estimulo (similar al ejemplo HDL 3·3) Y simule el circui to para \'eri-
ficar la respuesta de la pane a).
3-33 Escriba la descripci6n HOL del circuito de la figura 3-37 empleando dos boolean3.'l.
3- 34 Escriba la descripci6n HOL del circui to especificado por estas funciones boolean3.'l:
x = A(CD + B) + Be
y = ( AB' + A' B)(C + 0' )
,- [ (A + 8)(e' + D'8)]'
Utilice enunciados de asignación continua.
3-35 Encuentre: los errores de si nuui s en las declaraciones siguientes (tome nOla de que los nombres
de 1M compuenas primitivas son opcionales):
module Exmpl-3(A,B,C,D,FI
inp uts A, B,C,
OUtput D, F;
and gl (A, B, DI ;
not ( D,B,A);
OR (P,S , C);
endmodu1e ;
3-36 Dibuje el diagl1lma lógico del circui to digital especificado por esta descripción HDL:
"">1ul. circt (A,B,C,D,FI ;
input A,B,C,D;
output F;
vire w,x,y,z,a,d;
en .. ( x , B,C,d);
an4 (y,a,e);
an4 (w,z,B);
or (z,y,A);
or (P,x,w);
Dot {a,Al;
Dot ( d,D);
en""'''''u1.
3-37 Una función lógica de mayoría es una funcIón booleana que da I si la mayoría de las variables
vale l . y O en caso conlfllrio. Escriba una primitiva definida por el usuario en HDL pal1l una fun- f
ción de mayorfa de tres bits.

1. BIIASKER, J_ 1997. A Veri/og HDL Priml!!r. Allenlown, PA: Slar Galaxy Prcss.
2. HU.l . F. J. Y G. R. PETatsoN. 1981./ntroduction ro Swilching Theory and Logical Duign. 3a. ed.
Nueva York: JOOo Witey.
Mal rF11 protegido p-?r derechos de '1U ')r
110 Capítulo 3 Minimización e n el nivel de compuertas
3. IEEE Standard Hardwarr Ducription on f/(ml waf'r
Language (Nonna IEEB 1364- 1995). 1995. Nueva York.: lñc: Institutc of EleClrical and Ek-ctl'O-
n¡ es Engineers.
4. KARNAlJGIl . M. A Map Melhod for Synlhesis of Combinationnl Logic Circuits. Transactioru 01
AlEE. CommllniCCllion and EI« t rQl1ics. 72. pane 1 (oo\'. de J 953); 593·99.
5 . KOHAVI. Z. 1978. Swilching lJI,d AllIolIUJla TI' t!or)'. 2u. etI. Nue .... .. York: McGr .. w-Hill.
6. MANO. M. M. Y C. R. KtME. 2000. Logic and Compuur Iksign Fumlamemals. 2a. oo. Upper
SaddJe Rh'er, NJ: Prenlice-Hall.
7. McCwSKEY, E. J. 1986. w gk fksign Principies. Englewood ClifTs. NJ: Premice-Hall.
8_ PALNrTXAR. S. 1996. \'I!rilog HDL' A Guidt! 10 Digitallñsign and Symllf'sis. SunSort Press (un
IItulo Prentice-Hall).
protegido por derechos de 'JI.: or
Lógica
combinacional
4-1 IRCUITOS COMBINACIO ALE S
circuitos lógicos par.! sistemas digitales pueden ser combinacionales o secuenciales. Un
combinacional consiste en compuertas lógicas cuyas sal idas en cualqui er momento
dctenninadas por la combinación aelUs] de entradas. Un circuito combi nacional reali7.a
operación que se puede especificar lógicamente con un conjunto de funciones booleanas.
circuitos secuenciales usan elcmemos de almacenami ento además de compuertas lógi-
y sus salidas son función de las entradas y del estado de los elementos de almacenamien-
EsIO últ imo. a su vez, es función de entradas anteriores. Por ello. las sali das de un circuito
dependen no sólo de los valores actuales de las entradas. sino también de entradas
y el comportumienlo del ci rcuito se debe especificar con una sucesión temporal de
y estados internos. Los circuitos secuenciales se estudiarán en los capftul os S y 9.
Un circuito combinacional consiste en variables de entradn, compuertas lógicas y variables
salida. Las compuertas lógicas aceptan señales de las entradas y generan señales para las sa-
Este proceso transforma infonnación binaria. de los datos de entrada dados a los datos
salida requcridos. En la figura 4- 1 se presenta un diagrama de bloques de un circuito com-
Las n variables binarias de entrada provienen de una fuente externa; Ins /ti varia·
de salida van a un destino externo. Cado variable de entrada y de sali da existe ffsicamente
una senal binaria que representa I lógico y O lógico. En muchas aplicaciones, el ori gen
11 entradas
FIGURA 4-1
·


I
Circuito
combinacional
Di agrama de bloques de un circuito <omblnaclonal



m salidas
111
112 Capítulo 4 lógica combinacional
yel destino son regi stros de almacenamiento. Si los registros se incluyen con las pucnas com-
binacionales, el circuito total se considera como un cireuito secuencial.
Con " variables de entrada. hay posibles combinaciones de Parol cada
una de esas combinaciones, hay un posible valor de satida. Por lanto. es posible especificar un
circuito combinacional con una tabla de verdad que presenta los valores de salida pam cada com-
binación de variables de entrada. También es factible describir un circui to combinacional con
111 funciones booleanas. una pum cada variable de salida. Cada función de salida se expresa en
términos de la. .. 11 vari ables de entrada.
En el capítulo I se est udi aron los números binarios y los códigos binarios que representan
canti ci.1des discretas de información. Las variables binarias se represcnum ffs icameme con vol-
tajes cléctri cos o algún ocro tipo de señal . Las señales se pueden manipular en compucnas ló-
gicas digital es para efectuar las funciones requeridas. En el capIt ul o 2 se definió el álgebra
booleana como una fonna de expresar las funciones lógicas algebmieamentc. En el capítulo 3
se explicó la manera de simplificar las funciones para lograr implementaciones eco-
nómicas con compuenas. El propósito del prcsente capítulo es uti li zar los conoci mientos adqui -
ridos en capít ulos anteriores y fonllular procedimientos sistemáticos pan. el análisis y diseño de
circuitos combinacionales. La resolución de algunos ejempl os representativos proporcionará un
catálogo útil de funciones elementales importantes parn entender los sistemas digitales.
Hay varios circuitos combinacionales que se usan ampli amente en el di seño de sistemas digi-
tales. Esos cireuitos pueden conseguirse en circuitos integrados y se clasifican como componen-
tes estándar. Efectúan funciones digitales especificas que se necesitan a menudo en el di seño de
sistemas di gitales. En este capítulo presentaremos los circui tos combinacional es estándar más
importanles. como los sumadores, restadores, comp..mtdores, dccodificudore. ... codificadores y
Estos componentes se fabrican como circuitos MSI (de integración a ffiI.-diana es-
cala). y también se usan como a /das estdndar en circuitos VLSI complejos corno los circuitos
integrados pam aplicaciones específicas (ASIC). Las funci ones de la celda estándar se interco-
nectan dentro del circuito VLSI del mismo modo que se usan en el diseño MSI de múltiples CJ .

4-2 PROCEDIMIEN TO DE ANAlISIS
El análisis de un cireuito combi nacional requiere deducir la funci ón que realiza el circuito. Es-
te proceso pane de un diagrama lógico dado y culmina en un conj unlo de funciones boolea-
nas. una tabla de verdad o una posi ble e:c. plicación del funcionamienlo del circuito. Si el
di agrama lógico a analizar va acompañado de un nombre de función o de una e:c.plicación de
lo que se supone que hace, el problema de análisis se reduci rá a una \'erifi cación de la función
planteada. El anál isis se efectúa manualmente encontrando las funciones booleanas o la tabla
de \'crdad. o bien. utilizando un programa de si mulación en compuladora.
El primcr paso del análisis consiste en asegurarse dI! que el circuito dado sea combinacio-
nal y no secuencial. El diagmma de un circuitoconlbinacional tiene compuertas lógicas sin trnyec-
de retroalimentación ni elementos de memori a. Una trayectoria de rctroo.limentaci6n es
una conexión de la salida de una compuena a la entrada de una segunda compuena que forma
pane de la entrada a la primera compuena. Las trayectorias de retroalimentación en un circuito
di gital definen a un cireuito secuencial y deben unal il.3rse según los procedimientos delinea-
dos en el caprtul o 9.
Una vez que se verifica que el diagrama lógico represent:1 un circui to combinacional. se
procede a obtener las funciones booleanas de salido o la tabla de verdad. Si se está investigan-
M" pro'"'Qido )()rdl"Pr,n de n
Sección 4-2 Procedimiento de análisis 113
do la función del circuito, será necesario interpretar la operución de éste a panir de las funciO-
ries booleanas o la tabla de \'erdad obtenidas. El éxito de tal investigaci ón será más asequibl e
si tenemos experiencia previa con una amplia variedad de circuitos digitales,
Para obtener las funciones booleanas de salida a partir de un diagrama lógico, el procedi-
miento es el siguiente:
1, Rotule con sfmbolos arbi trari os todas las salidas de compuerta que son función de varia-
bles de entrada. Determine las funciones booleanas par.! cada salida de compuerta.
2, Rotule con otros sfmbolos arbitrarios las compuertas que son función de variables de en-
trada y de compuertas previamente Obtenga las funciones booleanas de estas
compuert as.
3, Repita el proceso bosquejado en el paso 2 hasta obtener las salidas del circuit o.
4, Por sustilUción repetida de funciones previamente definidas, obtenga las funciones boa-
leanas de salida en términos de variables de entrada.
El análisis del circuito combinacional de la figura 4-2 ilustra el Plocedimiento propuesto, Ob-
serve que el circuito tiene tres entr.was binarias ----A, B Y C- y dos salidus binarias - Fl y F
2
.
Las salidas de diversas están rotuladas con sfmbolos intermedios. Las salidas de com-
que son función únicamente de variables de entrada son TI y T
2
• La salida F
2
se deduce
fácilmente de la. .. variables de entrada. Las funciones booleanas de estas tres salidas son:
A
B
e
A
B
e
A
8
A
e
B
e
I
FIGURA 4-2
T,
T,
r
F
2
= AB + AC + Be
T1 = A+B+C
T
1
= ABC
F',
Diagrama lógko para el ejemplo de análisIs
F,
T,
Mal rF11 protegido p-?r derechos de '1U ':Ir
I

Sección 4·3 Procedi mi ento de diseño 115
lennina directamente de los valores de A. B Y C. siendo Fl igual a I para cualquier combina-
ción que ti ene dos o tres entradas iguales a l . l...:t tabla de verdad para F; es el complememo
de Fl' Las tablas de verdad parn TI Y T
1
wn las funciones OR y AND de las variables de en-
trada, respectivamente. Los valores para T
J
se deducen de TI y Fí: T] es igual a I cuando tan-
10 TI como Fí son l . e igual a O en los demás casos. Por último, F, es igual a 1 para aquellas
combinociones en las que T
1
o T
3
• o ambas. son l . Una inspección de las combinaciones de A.
B. C. Fl y Fl en la tabla de verdnd revela que es idéntica a la labia de verdad del sumador com-
pleto que se da en la secciÓn 4-4 para x, y. z. S y C. respectivamente.
Otm fonna de analizar un circuito combinacional es dectuando simuloción lógica. En la sec-
ción 4- 11 ilustraremos la simulación lógica y verificación del circuito de la figura 4-2 em-
picando Veri log HDL. (Véase el ejemplo HDL 4-1 O.)
4-3 PROCEDIMIENTO DE DISEÑO
El diseño de circui tos combinacionales pane de la especificación del problema y culmina en
un diagrama lógico de circuitos o un conjunto de funciones booleanas a partir de las cual es se
puede obtener el diugrama lógico. El procedi miento implica los pasos siguientes:
l . De las especificaciones del circuito. deduzca el número requerido de entrodas y salidas;
a ~ i g n e un sfmbolo a cada una.
2. Deduzca la tabla de verdad que define la relación requerida entre las entradas y las sali -
d" .
3. Obtenga las funciones booleanas simplifi cadas para cada salida en función de las varia-
ble. .. de enlrada.
4. Dibuje el diagrama lógico y verifi que que el di seño sea correcto.
La tabla de verdad de un circuito combinacional consta de columnas de entrada y colum-
nas de salida. Las columnas de enlrada se obtienen de los 2" números bi narios para las n va-
riables de entrada. Los valores binarios de las salidas se deducen de las especificaciones
planteadas. La .. funciones de salida especificadas en la tabla de verdad dan la defi ni ción exac-
ta del circuito combinacional. Es imponante imerpretar correctamente las especificaciones
verbales en la tabla de verdad. Tales especificaciones suelen ser incompletas. y cualquier in-
terpretación errónea podría dar pie a una tabla de verdad incorrecta.
Las funci ones binarias de sal ida enumeradas en la tabla de verdad se si mplifican con cual -
quier método disponible, como mani pulación algebraica. el método de mapa o un programa de
simplificación para compUladora. En muchos casos habrá diversas expresiones simplificadas
para escoger. En cada aplicación dada, cienos criterios servirán como gura para escoger una
implemcnloción. Un diseño práctico debe tomar en cuenta restricciones como el número de com-
puenas. cl número de entradas de una compuena. el ti empo de propagación de la señal a tra-
vés de las compuenas. el número de interconexiones. las li mitaciones de la corriente que
proporciona cada compuena y divenos criterios adicionales que es preciso cOruliderar al dise-
ñar con circuitos imegrudos. Puesto que la imponancia de eada restricción depende de la apl i-
cación cspecífica. es difícil hacer recomendaciones generules acerca de lo que conslituye una
impleme:ntación aceptable. En la mayorfa de los casos. la simplificación comienza por sati sfa-
cer un objelh'o elemental. como producir las funciones booleanas simplificadas en una forma
estándar. y luego efectúa otros pasos para cumplir con otros crilerios de desempeño.
Mal '11 prOiegido ')f derechos de '!u ':Ir
116 Capítulo 4 lógica combinacional
Ejemplo de conversión de código
La di sponibilidad de una gran variedad de códigos para los mi smos elementos di scretos de in-
fonnación hace que diferentes sistemas digitales usen códigos distintos. A veces es necesario
usar la salida de un sistema como cntrada de otro. y hay que insertar un circuito de conversión
entre los dos sistemas si cada uno usa un código distinto para la mi sma información. Asf pues.
un convenidor de código es un circuito que hace compatibles a los dos sistemas aunque cada
uno uti lice un código binano di stinto.
ParJ convenir del código binario A al código binario B. las lineas de entrada deberán pro-
porcionar la combinoción de elementos que especi fi ca el código A. y las líneas de sal ida de-
berán generar las combinac iones de bits cOrTespondientes del código B. Un circuito
combinacional efectúo esta transfom13ción con compuenas lógicas. Ilustr'olremos el procedi-
miento de di seño con un ejemplo que convi ene el código BCD (deci mal codifi cado en bina·
ri o) en código exceso-3 pam los dígi tos decimales.
Las combinaciones de bi ts asignada. .. a los códi gos BCD y exceso-3l\t incluyen en la ta-
bla 1-5 (sección 1-7). Puesto que ambos códigos usan cuatro bits pora representar un dfgi to
decimal. deberá haber cuatro variables de entrada y cuatro vari ables de salida. Designaremos
a las primeras con A. B, e y D, Y a las variabl es de sal ida. con w. x. )' y z. La tabl o de ver-
dad que relaciona las vari ables de entrada y de salida se presenta en la tabla 4-2. Las com-
binaciones de bits para las entradas y sus salidas eorrespondiemes se obti enen directamente
de la sección 1-7. Cabe señalar que cuatro variabl es binarias pueden tener 16 combinacio-
nes de bits. pero sólo 10 de ell as se presentan en la tabla de verdad. Las otras seis son com-
binaciones indiferentes. Esos valores carecen de signifi cado en BCD y suponemos que !\unC¡I
se presentarán. Por tanto. es posible asignar a las variables de salidu I o O. lo que produzca
un circuito más simple.
Se han trazado los mapas de la figura 4-3 a fin de obtener funciones booleanas simpl ifi ca-
das para las salidas. Cada mapa representa una de las cuatro salidas del circuito en función de
las cuatro variables de entrada. Los unos dentro de los cuadrados se obt ienen de los minitér-
Tabla 4-2
Tabla de verdad paro de canvrnion cadigo
Entrada BCD Salida código exceso-3
A B e D w x y
,
o o o o o o 1 1
o o o 1 o 1 o o
o o 1 o o 1 o 1
o o 1 1 o 1 1 o
o 1 o o o 1 1 1
o 1 o 1 1 o o o
o 1 1 o 1 o o 1
o 1 1 1 1 o 1 o
1 o o o 1 o 1 1
1 o o 1 1 1 o o
protegido por derechos de 'lL.: or
CD C
A8 00 _0,,-' :.,--"-'''_ '0
00 ,
,
0'
,
1
"
X X X X
A
~
10 X X
D
z - O'
CD
C
A8
00 0 1
"
10
00
~ W
,
01 1
" A
10
o
..c - 8 ' C + 8' 0 + 8C D'
FIGURA 4· )
Sección 4-3 Procedimiento de diseño 117
8
8
A
CD
AB 00
00
,
°
1 1
,
1
X
10
l2J
CD
A8
01
" A
'0
C
° ,
11 10
,
1
X X
~
o
, - CO + CD'
X
x
C
w - A + 8C + 8D
-1 ,
8
-1
8
Mapas para el convertidor de c6dlgo BCD a exceso·3
minos que hacen que la salida sea l. y se obtienen de la labia de verdad examinando las co-
lumnas de salida una por una. Por ejemplo. la columna de la salida z tiene cinco unos; por tan-
to. el mapa de z tiene cinco unos. cada uno en el cuadrado conespondiente al minitérmino que
hace que z sea 1. Los seis mini términos indiferentes. del 10 al 15. se han marcado con X. Ba-
jo el mapa de eada variable se da una posi bl e forma de simplificar la función en forma de su-
ma de productos.
Es posible obtener un di agrama lógico de dos ni veles directamente de las expresiones bao-
lcanas deducidas de los mapas. Hay otras posibilidades para un diagrama lógico que imple-
mente este circuito. Las expresiones obtenidas en la fi gura 4-3 podrían manipularse
algebmicnmente con el fi n de usar compuertas comunes paro dos o más sali das. Esla manipu-
Mar fI'll protegido por c!erocf'Jo<:, de 'lL: "Ir
118 Capítulo 4 Lógica combinacional
lación que se presenla a cOnl inuación, il ustra la nexibili dad que se obliene con sistemas de
múltipl es salidas impl ementados con tres o más ni veles de compuert as:
z = D'
y ~ CD + C' D' ~ CD + (C + O)'
x = B'C + B' D + BC' D' = B' (C + D) + BC' D'
~ 8' (C + O) + B(C + O)'
10 = A + BC + BD = A + B(C + D)
El di agrama lógico que implemenla estas expresiones aparece en la fi gura 4-4. Observe quc se
ha usado la compuerta OR cuya sali da es e + D pam implcmcnlaf parcial mcnl e c3da uno de
las tres sali das.
Sin contar los inversores dc entradas, 13 implemcnt3ción en forma de suma de productos re-
quiere siete compuert as AND y tres compuertas ORo La impl emenl ación de la fi gura 4-4
requiere cuatro compuertas ANO, cuotro compuertas OR y un inversor. Si sólo se cuenta con
las entradas normales, la pri mera implcmentación requeri rá inversores p3ra las vori obl es B. e
y D, Y la segunda. para las vari abl es B y D.
D
C
B
A
FIGURA 4-4
D'
CD
C+D
,
)'
r
(e +0 )'
,
-1

Diagrama lógico para el convertidor de código BCD a exceso·3
M ~ pro egida por c!erocf'Jo<:. de t.: "Ir
Secci ón 4-4 Sumador-restador binario 119
4-4 S U M AO O R- R E S TAO O R BINA R I O
Las computadoras digitales efectúan di\'ersas tareas de procesamienlo de infonnaciÓn. Entre
esas funciones están las operaciones aritméticas. La operación aritmética más básica es la su-
ma de dos dfgitos binarios. Esta suma simple consiste en cuatro posibles operaciones elemen-
tal es: O + O = O, O + I = 1. 1 + O = I Y I + I = 10. Las primeras tres operaciones
producen una suma de un dígito, pero cuando ambos bits sumandos son l. la sumn binaria
consta de dos dfgitos. El bit más significativo de este resultado se denominn acarreo (carry, en
inglts). Cuando ambos sumandos contienen más dígitos significativos, el acarreo obtenido de
la suma de dos bits se suma al siguiente par más alto de bits significativos. Un circuito com-
binacional que realiza la sumn de dos bits se denomina semisumador; uno que realiza la sumn
de tres bits (dos bits significativos y un acarreo previo) es un sumador completo. Los nom-
bres de los circuitos provienen del hecho de que es posible usar dos semi surnadores para im-
plementar un sumador completo.
Un sumador-restador binario es un circuito combinacional que realiza las operaciones arit-
méticas de suma y resta con números binarios. Desarroll aremos este circuito utili1.ando un di-
seño jérárquico. Primero di señaremos el semi sumador, y a panir de t i desarrollaremos el
sumador completo. La conexión de n sumadores completos en cascada produce un sumador
binario para números de n bits. Incl uiremos el ci rcuito de resta con la ayuda de un circuit o
complementador.
Semi sumador
Por la descripci ón verbal del semisumador, se sabe que este circuito necesita dos entrndas bi-
narias y dos salidas binarias. Las variables de entrnda designan los bits sumandos: las de sali -
da. la suma y el acarreo. Asignaremos los símbolos x y y a las dos enlrodas y S (de suma) y e
(de carry) a las salidas. La mbla de verdad del semi sumador se presenta en la mbla 4-3. La sa-
lida e es 1 sólo cuando ambas enlrodas son l . La salida S representa el bit menos significati -
vo de la suma.
Las runciones booleanas simplificadas para las dos salidas se obtienen direclamente de la
tabla de verdad. Las expresiones simplificadas en suma de productos son
S = x'y + xy'
e =xy
El diagrama lógico del semi sumadOf" implementado como suma de productos se observa en
la figura 4-5a). Tambi tn se puede implementar con un OR exclusivo y una compuenn ANO,
como se indicn en 111 figuro 4-Sb). EsIII fonna se utili7..11 pllfa mOSlrnr cómo dos semisumudo-
res sirven para construir un sumador compl eto.
Tabla 4-)

,
y e s
o o o o
o I o I
I o o I
I I I o
Mf.. I protegido por !,?3rec 10 de u ':Ir
120 Capítul o 4 l ógica combinacional
FIGURA 4-S
a) S '" xy' + x' y
e - xy
Implem@ntación de semisumador
Suma dor completo
b) S '" .de y
e - xy

Un sumador completo es un circuito combinacional que forma la suma aritmética de tres bits.
Tiene tres entradas y dos salidas. Dos de las variables de entrada. denotadas por x y y. repre-
sentan los dos bits significativos que se sumarán. La tercera entrada, 4, representa el acarreo de
In posición significativa inmediatn inferior. Se requieren dos salidllS porque la suma aritméti -
ca de tres dfgilos binarios puede tener valores entre O y 3, Y el 2 o el 3 binarios requieren dos
dfgitos. dos salidas se designan otra vez con los Mmbolos S y C. La variable binaria S da
el valor del bit menos lIignificativo de la suma. La variable binaria e da el acarreo de salida.
La labia de verdad del sumador completo se presenta en la tabla 4-4. Las ocho filas bajo las va-
riabl es de entrada dan todas las posibles combinaciones de la .. tres variables. Las variablell de
sal.ida se determinan a partir de la suma aritmética de los bits de entrada. Si lodos los bits
de entrada son O. la salida es O. La salida S es I cuando sólo una entrada es I o cuando las tres
entradas son 1. La salida e da un acarreo de 1 si dos o tres entradas son l .
Los bits de entrada y de salida del circuito combinncional tienen diferentes interpretaciones
en las di sti ntas etapas del problema. Ffsicamente. las señale. .. binarias de las entradas se con-
sideran dfgitos binarios que deben sumarse aritméticamente para formar una salida de dos dí-
gitos. Por otra parle. los mismos valores binarios se consideran variable. .. de funciones
cuando se expresan en la tabla de verdad o cuando el circuito se implementa con compuenas
T. bl.4-4
Sumador completo
K
,
z
o o o
o o 1
o 1 o
o 1 1
1 o o
1 o 1
1 1 o
1 1 1
e s
o o
o 1
o 1
1 o
o 1
1 o
1 o
1 1
protegido por derechos de 'lt.: or
Sección 4-4 Sumador-restador binario 121
"
y
00
O, 11 10
x
o
, ,
, , ,
...L ...L
,
s - x' y'l + X')'l ' + xy':' + xy: c - xy+ X: +)':
- xy + xy' : + x'y:
FIGURA 4-6
Mapas pllra el sumador completo
lógicas. Los mapas para las salidas del sumador completo aparecen en la figura 4-6. Las ex-
presiones si mplificadas son
s = x'y', + x'y, ' + xy',' + xyz
e = xy + x, + )',
El diag.mma lógico para el sumador completo implementado en ronna de suma de produc-
tos se muestra en la fi gura 4-7. T a m b i ~ n puede impl ementarse con dos semi sumadores y una
compuerta OR. como se indica en la figura 4-8. La salida S del segundo semi sumador es el OR
exclusivo de z y In salida del primer semi sumador, lo que da
La salida de acarreo es
x'

x
y'
"
x
y
-
-
fiGURA 4-7
S =z EB(xEBy)
= z'(xy' + x'),) + z( xy' + x'y)'
= l( xy' + x'y) + ,(x)' + x'y')
= xy'z' + x'y, ' + xyz + x'y',
e = z( xy' + x'y) + xy = xy'Z + x'YZ + xy
y
--5
--'
,
y
-L
e
Implementación de un sumador completo como suma de productos
Mf prOiP.gido por derecho!' de u ':Ir
122 Capítulo 4 Lógica combinacional
,
s
J
-J
e
,
FIGURA 4· 8
Implementación de un completo con dos semlsumadores y una compuerta OR
Sumador binario
Un sumndor binario es un circuito digital que produce la 5umn aritmética de dos números bi·
narios. Es posible construirlo con sumadores completos di spuestos en cascada. conectando el
acarreo de salida de cada sumador completo al acarreo de entrada del siguiente sumndor como
pleto de la cadena. La fi gura 4-9 muestra la interconexión de cuatro circuitos sumadores comple-
lOS (SC) paro formar un sumador binario de cuatro bits con acarreo rizado. Los bils de los
sumandos A y B se designan con subfndices de izquierda a derecha; el subfndice O denota el
bit menos significativo. Los acarreos se conecl8J1 en una cadena a de los sumadores
completos. El acarreo de entrada del sumador es Ca y se propaga a través de los sumadores com-
plelos hasla elllcarreo de salida C, _ Las salidas S generan los bits de suma requeridos. Un
mador de n bits requiere n sumadores completos con cada acarreo de salida conectado al acarreo
de entrada del siguiente sumador completo de orden superior.
Para ilustmr esto con un ejemplo especffico. consideremos los dos números binarios
A ::::: IOll y B ::::: 00 11. Su suma S = 1110 se forma con el sumador de cuatro bi ts asf:
Subíndke 1: 3 2 1 O
Acarreo de entrada O 1 1 O e,
Sumando 1 O 1 1 A,
Sumando O O 1 1 B,
Suma 1 1 1 O S,
Acarreo de salida O O 1 1
e,>1
se
C,
se
e,
se
e,
se
e,
c.
s, s, s,
FIGURA 4-9
Sumador de cuatro bits
M flll protegido por derocf]o<:. de t.: "Ir
¡
Sección 4-4 Sumador- restador binario 123
Los bits se suman con sumadores completos, comenzando por la posición menos signifi cativa
(subíndice O) para formar el bit de suma y el bit de acarreo. El acarreo de entrada C
o
en la po-
sició" menos signifi cati va debe ser O. El valor de C/+
1
en una posición significati va dada es el
acarreo de salida del sumador completo. Este valor se lrnnsfiere al acarreo de entrada del su-
mador completo que suma los bits de la siguiente posición significativa a la izquierda. Así, los
bits de la suma se generan comenzando por la posición de la extrema derecha y están di sponi -
~ l e s lan pronlO como se genera el bit de acarreo anterior. Se deben genemr lodos los acarreos
para que los bits de suma correctos aparezcan en las salidas.
El sumador de cuatro bits es un ejemplo representativo de un componente estándar. Se uti -
liza en muchas aplicaciones que implican operaciones aritméticas. Observe que el di seño de
este circuito empleando el método clásico requeri ña una tabla de verdad con 2
9
= 512 entra-
das. ya que el circuito tiene nueve entradas. Al usar un método iterativo de conecUlr en casca-
da una función estándar, es posibl e obtener una impl ementllción sencilla y directa.
Propagación del acarreo
La suma de dos números binarios en paralelo implica que todos los biLS de los sumandos es-
tán disponibles al mismo tiempo parn efectuar el cálculo. Como en cualquier circuito combi-
nacional. la senal ti ene que propagarse a trav6s de las compuertas para que la salida correcta
(la suma) esté di sponible en las tenninales de salida. El tiempo total de propagación es igual
al retardo de propagación de una compuerta representativa multiplicado por el número de ni -
veles de compuertas del circuito. El retardo de propagación más largo en un sumador es el
tiempo que el acarreo tarda en propagarse a través de los sumadores completos. Dado que
cada bit de la suma depende del valor del acarreo de entrada, el val or de S, en cualquier eta-
pa dada del sumador al canl.ar.1 su valor final de estado estable sólo hasta que el acarreo de en-
trada se haya propagado a esa etapa. Consideremos la salida 53 de la figura 4-9. Las entradas
AJ y 8
J
están di sponibles tan pronto como se aplican señal es de entrnda al sumador. Sin em-
bargo. el acarreo de entrada el no se est.abiliza en su valor final sino hasta despu6s de que se
cuenta con e
2
de la etapa anterior. Asi mismo. e
2
ti ene que esperar a el ' y asf hasta eo- Por tan-
10. no será sino hasta que el acarreo se propague en rizo a través de todas las etapas cuando la
última salida SJ y el último aCarreQ e. se estabilicen en su val or final correclo.
Es posible calcular el número de niveles de compuerta para la propagación del acarreo a
phrtir del ci rcuito del sumador completo. La fi gura 4- 10 reproduce otra vez el ci rcuit o. La. ..
variables de entrada y salida ll evan el subíndice i para denotar una etapa represenlaliva del
P,
B,
s,
-
-
G,

C,+ I
e,
FIGURA 4- 10
Sumador completo en el que ~ e indican P y G
Mal rF11 protegido po?r derechos de '1U ':Ir
124 Capítulo 4 lógica combinacional
sumador. Las senales en P
j
y G
I
se estabili7,an en sus valores de estado establ e después de que
se propagan a trovés de sus respectivas compuertas. Todos los sumadores compl etos lienen en
común eslaS dos señales y sólo dependen de los bits de entrada de los sumandos. La senal del
ocarreo de entrada C/ ol acamo de solida C
I
... , se propoga a través de uno compuerta ANO y
una OR, lo que constituye dos niveles de compuertas. Si hay cuotro sumadores completos en
el sumador, el acarreo de salida C. tendrá 2 X 4 "" 8 nivel es de compuerta desde Ca hasta C •.
En el caso de un sumador de n bits, el acarreo tendrá que propagarse a través de 2" ni"eles de
compuertas desde la entrada hasta la salida.
El tiempo de propagación del acarreo es un factor que limita la rapidez con que se suman
dos números. Aunque el sumador, o cualquier circuito combinacional, siempre tendrá algún va-
lor en sus terminaJes de salida, esos valores no semn correctos si no se da a las señales elliem-
po suficiente paro propagarse a través de las compuertas conecladas entre las enlradas y las
sulidas. Puesto que todas las demás operociones aritméticas se implementan con sumas suce-
sivas, el tiempo consumido dUi,tnte el proceso de adición es crucial. Una solución obvia para
reducir el retardo de propagación del acarreo es utiliwr compuertas más rápidas con menor re-
tru"do. Sin embargo. los circuitos fTsicos tienen un Hmite en este sentido. Otro solución seria au-
mentar la complejidad del equipo de modo tal que el retardo del acarreo se reduzca. Existen
varias t«nicas para reducir el tiempo de propagación del acarreo en un sumador paralelo. La
técni ca más ampliamente utilizada se vale del principio de lJcarreo amicipado.
Considere el circuito del sumador completo que se aprecia en la fi gura 4-1 O. Si definimos
dos nuevas vari ables binarias
lo. suma y el acarreo se expresarán así:
P¡ = Aj $ B¡
G
I
= AIB,
S¡= ?¡EDC¡
C
j
., = G, + P¡C
I
G, se llama aCl/rreo genemdo y produce un acarreo de I si tanto A¡ como 8, son 1, indepen-
dient ement e del acamo de entrada Cj. P, se ll ama acarreo propaglJdo porque es el ténnino
asociado a la propagación del acarreo de C, a CH"
Ahom escribiremos las funciones booleanas paro los 3carreos de salida de cada elapa y sus-
tit uiremos C
I
por el valor obtenido de las ecuaci ones anteriores:
C
o
= acarreo de entrada
C, = G
o
+ PoCo
C
I
= G. + P,C, = G. + p, (G
o
+ poCo) = G
I
+ PIGO + P¡PoC
o
C
l
= G
2
+ P
I
C
2
= G
2
+ PZG
I
+ P
2
P.G
O
+ P
2
P
I
/:::'C
o
Puesto que la función booleana par.! cada acarreo de salida se expresa en fomUl de suma de pro-
ductos, cada función se puede implementar con un nivel de compuertas ANO seguido de una
compuerta OR (o con dos niveles de NANO). Las tres funciones booleanas de C.- e
2
y el se
Mal ~ '11 prOl.egido 0f derechos de '1L

126 Ca pít ulo 4 l ógica combinacional
B,
A,
::t
-
=t=[
-
-
=t=[
FIGURA 4- 12
P,
G,
...¡ P,
G,
P,
G,
P,
G,
C,
Generador
de acarreo
anticipado
Sumador de cuatro bits (on acarreo antici pado
Restador binario
c, c,
P,
C,
s,
~
P,
C,
s,
P,
C,
s,
P,
s,

La fonna más conveniente de efeclUar la resta de números binarios sin signo es utilizan-
do complementos. como se explicó en la sección I-S. Recuerde que la resta A - B se
efectúa obteniendo el complemento a dos de B y sumándolo a A. El complemenlo a dos
se obtiene calculando el complemento a uno y sumando I al par de bits menos significati-
vo. El compl emento a uno se implementa con inversores. y el I se suma a trovés del acarreo
de entrada.
El circuito para restar A - B consiste en un sumador con inversores colocados entre cada
entrada de datos B y la entntda correspondiente del sumador compl eto. El acarreo de entrada
C
o
debe ser igual a 1 al restar. La opemción se convi ene entonces en A más el complemento
a uno de B más l . Esto es igual a A más el complemento a dos de B. En el caso de números
sin signo. esto da A - B si A ~ B. o el complemento a dos de (B - A) si A < B. En el caso
Mal '11 pro ~ i d o 0f derechos de '!L
e
v
Sección 4-4 Sumador-restador binario 127.
8, B, B,
-
y
,
e,
e, e, e,
c"
se se se se
,
'j
s, s, s,
S,
FIGURA 4- 13
Sumador· restador de cuatro blu
de números con signo. el resultado es A - B. siempre que no haya desbordamiento. (Vt!:ase la
!\Ccción 1-6. )
Las operaciones de suma y resta se pueden combinar en un solo circui to que tiene un su-
mador binario compartido. Esto se hace incluyendo una compuerta OR exclusivo con cada
sumador completo. En la figura 4- 13 se reproduce un circuito sumador-restador de cuatro bits.
La entrada de modo M controla la operación. Si M = O. el circuito es un sumador. y si M = l.
el circuito se convierte en un restador. Cada compuerta OR excl usivo recibe la entrada M y una
de las entradas de B. Cuando M ::: O. tenemos B e o = B. Los sumadores completos reciben
el valor de B. el acarreo de entrada es O, y el circuito efectúa A más B. Cuando M = 1, tene·
mos Be 1 = B' y Ca ::: l . Todas las entrndas de B se complementan y se suma un 1 a través del
acarreo de entrada. El circuito efectúa la operación A más el complemento a dos de B. (El OR
exclusivo con sal ida Ves para detectar un desbordamiento.)
Vale la pena seí\alar que los números bi narios en el sistema de complemento con signo se su-
man y restan con las mismas reglas básicas de suma y resta que los números ¡jn signo. Por tan-
to. las sólo necesitan un circuito compartido en hardwnre para manejar ambos
tipos de aritmética. El usuario o el programador deberá interpretar los resultados de tales sumas
o restas de rOnTIa distinta. dependiendo de si se supone que los números tienen signo o no.
DesborHamlento
Cuando dos números de n dfgitos cada uno se suman y la suma ocupa n + 1 dfgitos. decimos
que hubo un desbordamiento. Esto se cumple con los números binarios y deci males. con y sin
signo. Cuando sumamos con lápiz y papel, el desbordamiento no causa problemas, porque la
Wlchura del papel no limita la escri turo de la suma. En las computadoras digitales el desbor-
damiento sr representa un problema porque el número de bits que contienen al número es fi-
nito, y un resultado quc contiene 11 + I bi ts no cabe. Por ello, muchas computadoras detectan
M
Mat 'JI prOiP.gido 0f dE' '1U ':Ir
J 28 Ca pítulo 4 lógica combinadonal
cuando ocurre un desbordamiento. y "encienden" un Oip-Oop específico que el usuario pue·
de verificar.
La detecci6n de un desbordamiento después de la suma de dos números binarios depende
de si se considera que los números tienen signo o no. Cuando se suman dos números sin sig-
no, el desbordamiento se detecta en el acarreo final de la posici6n más significativa. En el
caso de números con signo. el bit de la extrema izquierda siempre representa al signo y los
números negativos están en fonna de complemento a dos. Cuando se suman dos números con
signo. el bit de signo se trata como parte del número y el acarreo final no indica un desborda-
miento.
No existe desbordamient o después de una suma si un número es positivo y el otro es nega-
tivo. ya que la suma de un número positivo y uno negativo produce un resultado más pequeno
que el mayor de los dos números originales. Podrla haber un desbordamiento si los dos núme-
ros sumados son ambos positivos o ambos negativos. Para entender esto. considere el ejempl o
siguiente. Dos números binarios con signo. + 70 Y +80 se almacenan en dos regi stros de ocho
bits. El intervalo de números al que cada registro puede dar cabida es del + 127 binario al
- 128 binario. Puesto que la suma de los dos números es + 150, excederá la capacidad de un
registro de 8 bits. Esto se cumple si ambos números son positivos o negati vos. A continua-
ción mostramos las dos sumas en binario, junt o con los últimos dos acarreos:
acarreos: O 1
+70
+80
+ 150
O 1000110
O 1010000
1 0010110
acarreos I O
-70
-80
- 150
10111010
1 0 110000
o 1101010
Observe que el resultado de ocho bits que deberla haber sido positivo tiene un bit de signo ne-
gativo. y el resultado de ocho bits que deberla haber sido negativo tiene un bit de signo posi-
tivo. En cambio, si tomamos el acarreo de saMa de la posición de bit de signo como bit de signo
del resultado, la respuesta de nueve bits asf obtenida será correcta. Puesto que la respuesta no
cabe en ocho bits. decimos que se ha presentado un desbordamient o.
Es posible detectar la condici6n de desbordamiento observando el acarreo que llega a la po-
sici6n de bi t de signo y el acarreo que sale de ella. Si los dos acarreos son distintos. ha habido un
desbordamiento. Esto se Mee evidente en los ejemplos, donde se muestran explfcitamente los dos
acarreos. Si estos dos acarreos se aplican a una compuena OR exclusivo, se detectará un desbor·
damiemo cuando la salida de esa compuena sea l. Para que este método funcione correctamen-
te. es preciso calcular el complemento a dos obteniendo el complememo a uno y sumándole l .
Esto da cuenta de la condición en la que se complementa el número negativo máximo.
El circuito sumador-restador binario con salidas e y v se representa en la figur.l 4-13. Si se
considera que los dos números binarios carecen de signo, el bit e detectará un acarreo despué . .';
de la suma o un préstamo después de la resta. Si se considera que los números tienen signo. el
bit V detectará un desbordamiento. Si V = O después de una suma o resta. querrá decir que no
hubo desbordamiento y que el resultado de "bits es COfTeCtO. Si V = 1, el resultado de la ope-
ración tiene n + I bits, pero sólo los n bits de la derecha del número caben en el espacio di s-
ponible. as! que ha habido un desbordamiento. El (n + 1 )lsimo bit es el signo real, <lile ha
sido desplazado de su posici ón.
Mal rl'3.1 protegido ¡nf derechos de ':l.ut')r
I
Sección 4-5 Sumador decimal 129
4-5 SUMADOR DECIMAL
UtS computadoras o calculadoras que realizan operaciones aritméticas directamente en el sis-
tema numéri co decimal representan los números decimales codificados en binario. Un suma-
dor de una computadora así deberá utili7.ar circuitos de aritmética que acepten números
decimales codifi cados y presenten los resullados en el mismo código. En el caso de la suma bi-
naria. basta con considerar un par de bi ts significativos más un acarreo previo. Un sumador de-
cimal requiere oomo mínimo nueve enlI'adas y cinco salidas. ya que se requieren cualro bits para
codificar cada dígito decimal y el circuito necesita un acarreo de entrada y uno de salida. Hay
una amplia variedad de posibl es circuitos sumadores digilales. dependiendo del código emplea-
do paro representar los dígitos decimal es. Aquí consideraremos un sumador decimal paro el có-
di go BCD. (Véase la sección 1-7.)
Sumador BCD
Consideremos la suma ari tmética de dos dfgitos decimales en BCD, junto con un acarreo de
entmda de una etapa anteri or. Puesto que ninguno de los dfgitos de entruda es mayor que 9. la
suma de salida no puede ser mayor que 9 + 9 + l := 19. donde el i de la suma es el acarreo
de entruda. Suponga que aplicamos dos dfgitos BCD a un sumador bi nario de cuatro bits. El
sumador formará la suma en binario y producirá un resultado entre O y 19. Estos números bi-
narios se presentan en forma de lisia en la tabla 4-5 y se rotulan con los símbolos K. ls, -4. ~
Y 2
1
• K es el acalTCO. y los subfndices de 2 representan los pesos 8. 4. 2 Y I que se pueden asig-
nar a los cuatro bits en el código BCD. Las columnas bajo "Suma bi naria" presentan el valor
Tabla 4-5
Dtducd6n dt un svmador BCD
Suma binaria Suma BCD Dedmal
K Z. Z. Z, z, e
S.
s.
s, s,
o o o o o o o o o o o
o o o o
]
o o o o
] ]
o o o
]
o o o o
]
o 2
o o o
] ]
o o o
] ]
3
o o
]
o o o o
]
o o 4
o o
]
o
]
o o
]
o
]
,
o o
] ]
o o o
] ]
o

o o
] ] ]
o o
] ] ]
7
o
]
o o o o
]
o o o
,
o
]
o o ]
o
]
o o
]

o
]
o
]
o
]
o o o o 10
o
]
o
] ] ]
o o o
]
11
o
] ]
o o
]
o o
]
o 12
o
] ]
o
] ]
o o
] ]
13
o
] ] ]
o
]
o
]
o o 14
o
] ] ] ] ]
o
]
o
]
"
]
o o o o
]
o
] ]
o
].
]
o o o
] ]
o
] ] ]
17
]
o o
]
o
] ]
o o o 18
]
o o
] ] ] ]
o o 1 19
M a l ~ , ,'11 prOl.egido r-oor derechos de '1L.: or
Secci6n 4-6 Multiplicador binario 131
acarreo de salida es O, no se suma nada a la suma binaria. Si es 1, se sumn 01 JO binario a la
suma binaria con el sumador de cuatro bits de la parte de abajo. El acarreo de sal ida generado
por el sumador de abajo se desecha. pues proporciona información con que ya se cuenta en la
terminal de acarreo de salida. Un sumador decimal en paralelo que suma ti dfgitos decimales
necesita 11 etapa .. de sumador BCD. El acarreo de salida de una etapa deberá conectarse al nea·
rko de entrada de la siguiente etapa de orden superior.
4-6 MULTIPLICADOR BINARIO
La multiplicación de números binarios se efectúa igual que la de números decimales. El mulo
tiplicando se multiplica por cada bit del multi plicador, comen7.ando por el bit menos signifi·
cativo. Cada una de estas multiplicaciones forma un producto parcial Los productos parciales
sucesivos se desplazan una posición a la izquierda. El producto fi nal se obtiene sumando los
productos parciales.
Para ver cómo puede implementarse un multiplicador binario con un circ: uito combinacio-
nal. consideremos la multiplicación de dos números de dos bits, como se muestra en la figura
4·15. Los bits del multiplicando son B. y Bo- los bits del mult iplicador son A. y Ao- Y el pro-
ducto es El pri mer producto parcial se forma multiplicando Ao por B.Bo- La multi·
plicación de dos bits como Ao Y 8
0
produce 1 si ambos bits son 1; de lo contmrio, produce O.
Esto es idéntico ala operación ANO. Por tanto. el producto parcial puede implementarse con
oompuertas ANO como se indica en el diagrama. El segundo producto parcial se forma mul·
tiplicando A. por B.Bo y se desplaza una posición a la il.quierda. Los dos productos parciales
se suman con dos circuilos de semisumador (SS). Por lo regular, los productos parciales tie·
nen más bits, y ello obliga a usar sumadores completos para obtener la suma de los productos
parciales. Observe que el bit menos significativo del producto no ti ene que pasar por un suma·
dar porque se forma con la sal ida de la primera compuerta ANO.
"
B" A"
B,
."
A,
A"
A"",
A",,"
At
B
• A LBo
e, C,
e,
e"
A,
B,

I
ss ss
e, C, e,
FIGURA 4-15
Multiplicador binario de dos bits por do) bits
M' protegido p:lr ¡,;erect'¡o de u ':Ir
132 Capítulo 4 lógica combinacional
Podemos construir de fonna similar un multiplicador binario de más con circuitos com-
binacionales. Se obtiene el ANO de un bit del multiplicador y cada bit del multipl icando en tan-
tos ni veles como haya bits en el multiplicador. La salida binaria de cada nivel de compuertas
ANO se suma al producto parcial del nivel anteri or para romar un nuevo producto parcial. El
último nivel genera el producto. Si el multi pl icador ti ene J bits y el multiplicando tiene K bits.
necesitaremos (J X K ) compuertas ANO y (J - 1) sumadores de K bits para obtener un pro-
ducto de J + K bits.
Como segundo ejemplo. consideremos un circuito multiplicador que multiplica un número
binario de cuatro bits por uno de tres bits. Representaremos el mult ipl icando con B]B
2
B
I
Bf)o y
el multiplicador. con Puesto que K = 4 Y J = 3, necesitaremos 12 compuertas ANO
y dos sumadores de cuatro bits paro obcener un producto de siete bits. El diagrama lógico del
multi plicador se presenta en la figura 4-16.
8,
1 1
8¡,
8, 8, B,
8,
I I
O
:::L
Sumando Sumando
Sumador de CUl\lro bil1l
Suma y acarreo de satido
8, 8 , B, B,
Sumllndo Sumando
Sumador de cuatro bils
Suma y acarreo de u tida
e,
e, e, e, e,
FIGURA 4-16
Mulllplicador binario de 4 bits por 3 bits
protegido por derechos de 'lL.: or
Sec.ción 4-7 Comparador de magnitudes 133
4-7 COMPARADOR DE MAGN ITUDES
La comparación de dos números es una operación que detenninu si un número e..'1 mayor que.
menor que o igual a otro número. Un comparotJor de es un circuito combinacio-
nal que comp.1rn dos números. A y B. Y detennina sus magnitudes relativas. El resultado de la
comparación se especifica con tres variables binarias que indican si A > B. A = B o A < B.
El circuito para comparar dos números de n bi ts tiene 2
20
entradas en la tabla de verdad y
resulta diffcil de manejar incluso con 11 = 3. Por otro parte, como el lector seguramente sos-
pechará, los circuitos comparadores poseen cierto grado de regularidad. Las funciones digita-
les que poseen una regularidnd inherente bien definida por lo regular se diseñan empleando un
procedimiento a1goritmico. Un algoritmo es un procedimiento que especifica un conjunto fi -
nito de pasos que. si se siguen. producen la solución de un problema. Il ustraremos este méto-
do dcduciendo un nlgoritmo parn el diseño de un comparodor de magnitudes de cuntro bi ts.
El algoritmo es una apl icación directa del procedimiento que una persona sigue para compa-
rar las magni tudes relativas de dos números. Considcremos dos números. A y B. de cuatro dfgi -
lOS cada uno. Escribiremos los coeficientes de los números del más al menos significativo:
A = A)A1A.Ao
B ::: B)B1B.Bn
Cadn letra con subfndice representn uno de los dfgitos del número. Los dos números son igua-
les si todos los pares de dfgi tos signifi cativos son iguales; Al = Bl Y Al = B! Y A. = B
1
Y
Ao "" Bo. Si los números son binarios, los dfgitos son I o O. y la relaci ón de igualdad de cada
par de bits se expresa lógicamente con una función OR exclusivo asf:
.t ¡ = A¡B¡ + Aj B; para i = O. 1.2,3
donde x¡ = I únicamente si los dos bits de la posición i son iguales (es decir, si ambos son I
o ambos son O).
La igualdad de los dos números, A y B. se indica en un circuito combinacional con una va-
ri able binaria de salida que designaremos con cJ sfmbolo (A = B). Esta 'Illriable binaria es 1
si los números de entrada. A y B. son iguales. yes O cn caso contrario. Paro que exista la con-
di ción de igualdad. las x¡ variables deberán ser todas l . Esto implica una operación ANO de to-
das las variables:
(A = B) = X)X2X1XO
La variable binaria (A = R) es I únicamente si lodos los pares de dIgi los de los dos números
son iguales.
Paro detenninar si A es mayor o menor que B. se inspeccionan las magnitudes relativas de pa-
res de dfgil05 significntivos. comen7.ando por In posición más significnlivn. Si los dos d'gilos son
iguales. se comparará el siguiente par de dígitos menos signifiea.lh-os. Esta comparación conti-
nuará hasta encontrar un par de dígitos distintos. Si el dígito correspondiente de A es I y el de B
es O. concluimos que A > B. Si el dígito correspondiente de A es O y el de Bes J, sabemos que
A < B. La comparoci ón sucesiva se expresa lógicamente con las dos funciones booleanas
(A > B) = A)BJ + XJA1Bí + xJxl A1Bí + x)xlx.AoBó
( A < 8 ) = Aj 8) + x)Aí Bl + x)x,!AjB. + X1X1X.AóBo
Los símbolos (A > B) Y (A < B) son variables de salida binarias que valen I cuando A > B
o A < R, respectivamente.
La implementación con compuertas de las tres variables de salida que acabamos de dedu-
cir es más sencilla de lo que parece porque implica cierta repeti ción. Las salidas de dcsi gual-
Mat 'JI prOiP.gido 0f dE' 'Jl 'lr
134 Capítulo 4 lógica combinacional
8,
,, -i>
>,
:::J
/ ,
"
-l1
>,
8,
-{
U1
tfi
)-
(A < 8 )
:::r
>,
8 ,
H=
~
-r
~
~ >->0
L"
)-
(A :;' H)
8
0
-{
L
.J
(A - 8 )
FIGURA 4-1 7
Comparador de magnitudes de cuatro bits
dad utilizan las mi smas compuenas que generan lo sal ida de iguoldad. El diograma lógico del
comparndor de magnitudes de cuatro bits se reproduce en la figuro 4-1 7. Las cuatro salidas x
se generan con circuitos NOR excl usivo y se aplican ti una compuenn ANO para dar la varia-
ble binaria de salida (A "" B). Las otras dos salidas utilizan las variables x para generor las
funciones booleanas que presentamos antes. Ésta es una implementación multinh'CI y sigue
un palIÓn regular. El procedimient o para obtener circuitos comparadores de magnitud para nú-
meros binarios de más de cuatro bits se deduce fácilmente de este ejemplo.
4-8 DECODIFICADORES
En los sistemas digitales. las cant idades discretas de infonuación se representan con códigos
binarios. Un código binario de n bits puede representar hasta 2 ~ elementos distintos de infor-
mación codificada. Un decodificador es un circuito combi nncional que conviene infonuación
binaria de n Ifneas de entrada a un máximo de r lfneas de sal ida di stintas. Si la infanunción co-
dificada en n bits tiene combinaciones que no se usan. el decodificador podria tener menos de
r salidas.
Mar fI'll protegido por c!erocf'Jo<:. de 'lL: "Ir
I
Sección 4.8 Decodificadores 135
"-
" D I - x'y' z:
.
"
v
,
H=f=!:
}.
"
!- D. - xy' :/: '
,
D,. xyz'
-1
fiGURA 4- 18
Decodificador de 3 a 8 líneas
Los decodificadores que presentamos aquf se describen como decodifi cadores de n a m U-
neas. donde", :S r . Su propósito e. .. generar los 2" (o menos) mini ténninos de JJ VW'111bl es de
entrada. El nombre decodificador también se usa paru referirse a otros oonvcrtidores de códi -
gos, como un decodificador de BCD a siete segmentos.
Como ejemplo. consi deremos el circuito decodifi cador de 3 a 8 Ifncas de la fi guro 4-18.
Las tres entradas se deoodi fi can par:l. dar ocho saJidas. cada una de las cuales represenla uno
de los minitémlinos de las tres variables de entrada. Los tres inversores producen el comple-
memo de las entradas. y cada una de las ocho compuenas ANO genera uno de los minitérmi -
nos. Una aplicación espedfica de este decodificador es la conversión de binario a octal. Las
variables de entrada representon un número binario. y los salidas. los ocho dfgitos del sistema
numérico octal. Sin embargo. un decodificador de 3 a 8 !fncas puede servir parn decodificar cual·
quier código de tres bits y obtener ocho salidas. una por cada elemento del código.
El funci onamiento del decodificador podría adar.use al examinar la tabla de verdad de la
tabla 4·6. Para cada posible combinación de entrada, hay siete salidas que son O y sólo una igual
a l. La salida que vale 1 representa el nlinilfnnino equivalente! al número binario que se está
alimentando a las líneas de entrada.
protegido por derechos de 'lt.: or
136
A
8
E
Capítulo 4 lógica combinacional
Tabla 4· 6
Tabla d ~ Wfdad d ~ un decodificador d ~ J a 8 Imeos
Entradas Salidas
,
y z D, D, D, D,
D.
D,
D.
o,
• • •
I
• • • • • • •


I

I

••
• •
O

O I O O O I O O O O O

I I
• • •
I
• • • •
I
• • • • • •
I O O O
I O I O O O O

I O O
I I

O O

O O O I O
I I I O O O O O O O I
Algunos decodi fi cadores se const ruyen con compuertas NANO. Puesto que unu compuer-
ta NAND produce In operación AND con la salida invertida, resulta más económico genernr
los minilérminos del decodi ficador en su forma compl ementada. Además. los decodi fi cadores
incluyen una o más enlradas habilitadoras (enable) que controlan el (uncionamiemo del circui-
la. En la fi guro 4-19 se aprecia un cJccodi ficador de 2 a 4 Hneas con entrada de habi li ltlCión. cons-
truido con compuertas NANO. El circuito opera con salidas compl ementadas y una entrada de
habilitación complementada. El decodificador se habilita cuando E = O. Como indi ca la tabla
de verdad. s610 unR salida puede serO en cualquier momento dado: lodas las demás salidas son
l . La salida cuyo valor es O representa el rninirénni no seleccionado por las entradas A y 8. El
circuiro queda inhabilirado cuando E = l . senn cuales sean los valores de las orras dos entra-
das. Cuando el circuito está inhabilitado. ni nguna de las salidas es O y ninguno de [os mini rér·
r
D,
-f
E A 8 D, D, D, D,
D,
I X X I I I I
-{>
O O O O I I I
O O I I O I I
I
D,
O I O I I O I
O I I I
,
I O
-f
D,
1>
a) Diagrama lógico b) Tabla de "crdad
FIGURA 4· 19
Decodificador de 2 a 4 líneas (on entrada habilitadora
Mat '11 protegido por derechos de '1L.: or
Sección 4-8 Decodificadores 137
minos está seleccionado. En general. un decodificador podría operar con salidas compl emen-
tadas o no complementadas. La entrada de habi litación podría acti varse con una señal O o con
una señal l. Algunos decodificadores tienen dos o más entradas de habi litación que deben sa-
tisf¡¡cer una condición lógica dada para habi litar el circuito.
Un deccxl ifi cador con entrada de habi litación puede runcionar como desmulliplcxor. Un des-
IIwltiplexor es un circuito que recibe inrormación de una sola línea y la dirige a una de po-
sibles Uncas dc sali da. La selección de una sal ida específica se controla con la combinación de
bits de " líneas de selección. El decodificador de la figura 4- 19 funciona como desmultiplexor
de I a 4 líneas si E se toma como una línea de entrada de dalaS. y A Y B se toman como entra-
das de selección. La variable ún ica de entrada E tiene un camino a las cuatro sali das. pero la
información de entrada se diri ge a sólo una de las !Cncas de salida, especifi cada por la combi-
nación binaria de las dos !fneas de selección A y B. Esto se veri fica examinando la tabla de ver-
dad del circuito. Por ejemplo, si las Uncas de selección AB = 10. la salida D
2
tcndrá el mismo
valor que la entrada E. mientras que tcxlas las demás salidas se mantendrán en l . Dado que se
obtienen operaciones de deccxlificador y desmultiplexor con el mismo circuito, decimos que
un decodificador con entrada de habili tación es un decodificador
Es posible conectar los decodificadores con de habilitación unos con otros para
fommr un circuito decodificador más gmnde. La figura 4-20 muestra dos docodificlldores de
3 a 8 línea. .. con entmdas de habilitación conectadas pai'd rormar un decodificador de 4 a 16 lí-
neas. Cuando 10 = O. el dt.'codificador de arriba está habi litado 'i el otro está inhabi li tado. To-
das las salidas del decodificador de abajo son O. y las ocho salidas del generador de arriba
generan los minilémlinos 0000 a 0 111. Cuando w "" l . las condi ciones de habilitación se in·
vienen; las sal idas del deccxlificador de abajo generan los minitérmi nos 1000 a 1111 . mientras
que lodas las salidas del decodificador de arriba son O. Este ejempl o il ustra la utilidad de las
entradas de habilitación en los decodificadores y otros componentes de lógica combinacional.
En geneml. entradas de habilitación son una caracteristica conveniente para interconectar
dos o más componentes estándar y asf expandi r el componente a una función similar con más
entradas 'i salidas.
"1
, Decodificador
del x 8
E
"-
v
Decodificador
I
de l x 8
I
E
FIGURA 4. 20
Decodificador 4 x 16 construido con dO$ decodificadores 3 x 8
Mat 'JI prOiP.gido p-?r derechos de '1U ':Ir


138 Capitulo 4 lógica <ombinadonal
Implementación de lógica combinacional
Un decodificador produce los r mini ténninos de n variables de entrada. Puesto que cualquier
funci ón booleana es susceptible de expresarse como suma de minhérminos, es posible utili-
zar un decodificador para generar los miniténninos y una compuena OR externa para fonnar
la suma lógica. Asf, cualquier circuito combinacional con n entradas y m salidas se puede im·
pl ementar con un decodificador de n a 2" Hneas y tri compuenas ORo
El procedimiento para implementar un circui to combinacional con un decodificador y com-
puenns OR requiere expresar la función booleana del circuit o como suma de miniténninos.
Entonces se escoge un decodifi cador que genere todos los miniténninos de las vari 3bles de
entrada. Las entradas a cada compuena OR se escogen de enlre las salida .. del decodificador,
de acuerdo con la lista de minitérnlinos de cada función. Ilustraremos este procedimi ento con
un ejemplo que implementa un circuito sumador completo.
De la tabla de verdad del sumador completo (véase la tabla 4-4), obtenemos las funci ones
para el circuito combinacional en fonna de suma de miniténninos:
S(x. )'. ,) = :W. 2. 4. 7)
C(x, y.z) = L (3. 5. 6. 7)
Puesto que hay tres entradas y un total de ocho minitérnlinos, se necesita un decodificador de
3 a g ¡fneas. La implementación se muestra en la figura 4-21 . El decodificador genera los ocho
miniténninos para x, y. z. La compuena OR de la salida S fonna la suma lógica de los mini·
ténninos 1, 2, 4 Y 7. La compuena OR de la salida e fonna la suma lógica de los minitémli -
nos 3. 5. 6 Y 7.
Una función con una lista larga de minitérmi nos requerirá una compuena OR con un gran
número de entradas. Una funci ón con una lista de k minitérnli nos se expresa en su fonna com-
plementada F' empl eando - k miniténninos. Si el número de miniténninos de una función
es mayor que 2"/1. podremos expresar F' con menos minitérntinos. En tal caso, resulta venta-
joso utili u r una compuena NOR para sumar los minilénninos de F' . La sali da de la compuer-
ta NOR complementa esta suma y genera la salida nonnal F. Si se usan compuertas NANO paro
el decodifi cador, como en la figura 4-19, las compuenas externas deberán ser NANO en lugar
de OR. El motivo es que un circuito de compuenas NANO de dos niveles implementa una fun -
ción de suma de minilénninos y equivale a un circuito ANO-OR de dos niveles.
o
1
S
,
2'
2
DecodifiCador
,
,
2'
de 3 X 8
,
,
e
6
7
FIGURA 4-21
Implementación de un completo con un decodIficador
Mal fI"ll protegido)')f recho da 3ul')(
Sección 4-9 Codificadores 139
4-9 CODIFICADORES

Un codificador es un circui to digital que efectúa la operación inversa de la que efectúa un
decodificador. El codificador tiene (o menos) !fneas de enlrnda y" líneas de sal ida. Estas
ú\l imas genernn el código binario correspondiente al valor de entrada. Un ejemplo de codi-
es el codificador de octal a binorio cuya tabla de verdad se presenta en la tabla 4-7.
Tiene ocho entrndas (una para cada uno de los dígi tos octales) y tres sal idas que genernn el
número binario correspondiente. Se supone que sólo una entrada es igual a I en cualqui er mo-
mento dado.
El codificador se puede impl ementar con compuertas OR cuyas sal idas se detenninan di-
rectamente de la labia de verdad. La salida ¡ es I cuando el dígito OCtal de entrada es 1, 3, 5 o
7. La salida y es I para los dlgitos octales 2, 3, 6 o 7. Y la salida x es I para los dlgitos 4. 5. 6
07. Estas condiciones se expresan con las funciones booleanas de salida siguientes:
¡= D,+D] + D5 + D7
y= D
l
+ D
l
+ DD+ D
,

El codificador se implcmema con tres compuertas DR.
El codificador defi nido en la tabla 4-7 tiene la limitación de que sólo una entrada puede es-
tar activa en un moment o dado. Si dos entradas están acti vas simultáneamente. la salida pro-
ducirá una combinación no definida. Por ejemplo. si DJ y Do son I si multáneamente. la sali da
del decodificador será I11 porque las tres salidas son 1. Esto no representa ni el 3 binario ni
el 6 binario. Para resolver esta ambigüedad. los circuitos codificadores deben establecer una
prioridad de entrada que garantice que sólo se codificará una de las entradas. Si establecemos
que las entradas con subfndice más alto tienen prioridad, y si tanto DJ como D6 son I al mi s-
mo tiempo, la sal ida sem 110 porque D, tiene prioridad sobre DJ.
Otra ambigüedad en el codi fi cador de octal a binario es que se genera una salida de tres ce-
ros cuando todas las entradas son O; esta salida es la misma que se produce cuando Do es igual
a l . La discrepancia se aftadiendo una salida más que indique que por lo menos una
entrada es l .
Tabla 4-7
Tabla de vf!rdod del codificador de octal a blnat{o
E.ntradas Salidas
D, D, D, D, O, O, D.
D, x
, ,
1 O O O O O O O O O O
O 1 O O O O O O O O 1
O O 1 O O O O O O 1 O
O O O 1 O O O O O 1 1
O O O O 1 O O O 1 O O
O O O O O 1 O O 1 O 1
O O O O O O 1 O 1 1 O
O O O O O O O 1 1 1 1
Mf protegido por !7.lrect'Jo de u ':Ir
140 Capít ul o 4 l ógica combinacional
Tabla 4-8
Tobla verdad de un codificador con prioridad
Entndas S.Udas
Do
D, D, D, K
Y
V
O O O O X X O
I O O O O O I
X I O O O I I
X X I O I O I
X X X I I I I
Codificador con pri oridad
Un codifi cador con prioridad es un circuito codifi cador que incluye la función de pri ori dad. Su
funcionamiento es lal que. si dos o más enlradas son 1 al mismo tiempo, la sal ida prioritaria
tendrá precedencia. En la tabla 4-8 se presema la tabla de verdad de un codi ficndor de cuatro
entradas con prioridad. Además de las dos salidas. x y y. el circuito tiene una tercera sali da de-
signada V; es un indicador de bi t válido que adquiere el valor I cuando una o más entra-
das son l . Si todas las entradas son O. la entrada no será válida y V será Q. En Ial caso. las
dos salidas no se inspeccionarán y se especifican como condiciones de indiferencia. Advierta
que. aunque las X en las columnas de salida represenl an condici ones de indirerencia, las X de
las columnas de entrnda sirven para representar una tabla de venlad en rorma condensada. En
vez de presentar los 16 mi niténninos de cuatro variable.'i, la tnbla de venlad usa una X para re-
presentar tanto I como O. Por ejemplo, X I 00 representa los dos minilénninos 0100 Y 11 00.
Según la labia 4-8. cuanto más nito sea el subíndice de una entrada, mayor prioridnd tendrá
esa entrada. La entrada 0
3
es In de JTUlyor prioridnd, asf que. si es 1, la salida .ty será 11 (3 bi -
nano) si n impon.nr qué vnlor tengan las demás entrndas. 0
1
está en el siguiente nivel de prio-
ridad. La salidn es 10 si D
2
=' 1, si empre que DJ = O e independientement e del valor que
tengnn las OlruS dos entradas de menor prioridad. La salida para DI sólo se genera si las entra-
das con mayor prioridad son O, y a'if hasta el nivel de prioridad más bajo.
D, D,
00
"
"
00
"
"
"
,
00
"
, ,
00
"
, ,
I
,
"
I
, ,
"
D,
I
"
, ,
"
D, D,
¡;-
8
,
I
,

, , ,
"
,
"
, , ,
I
D,
FIGURA 4-22
Mapas para el (odlflcador con prioridad
Mar fI'll protegido por derecho"- de 'lL: "Ir
I
D,
D,
D,
D,
FIGURA 4-23
Secci ón 4-10 Multiplexores 141
,
x
--f
-L
v
Codificador de cuatro con prioridad
Los ffi:lpas para simplificar las salidas x y y aparecen en la figura 4-22. Los minitérminos
para las dos funciones se deducen a panir de la tabl a 4-8. Aunque la tabla sólo tiene cinco fi -
las. al sustituir cada X de una fila, primero por O y después por 1, obtendremos las 16 posibles
combinaciones de enlrnda. Por ejemplo, la cuarta fila de la tabla. que tiene XX 10, representa
los cuatro miniténninos 0010, 0110, 1010 Y 1110. Las expresiones booleanas simplificadas
para el codificador con prioridad se obtienen de los mapas. La condición para la salida Ves una
(unción OR de todas las variables de entrada. El codificador con prioridad se implementa en
la figura 4-23 de acuerdo con las funciones booleanas siguientes:
4-10 MULTIPLEXORE S

y = D,+DIDí

Un multiplexor es un circuito combinacional que selecciona información binaria de una de mu-
chas líneas de entrada y la envía a una sola línea de salida. La selección de una !fnea de entrada
,
dadll se controla con un conjunto de líneas de selecci6n. Normalmente, hay líneas de entm-
da y n líneas de selección cuyas combinaciones de bits determinan cuál entroda se seleccionll.
Un multiplexor de 2 líneas a I conecta una de dos fuentes de un bit a un destino común, co-
mo se indica en la figuro 4-24. El circuito tiene dos Ifneas de entrnda de datos. una Unea de sa-
lida y una línea de selección S. Cuando S = O. se habilita la compuena AND de arriba e lo
cuenta con una tr".1yecloria hacia la salida. Cuando S = 1, la compuena AND inferior está ha-
bilitada e 1
I
tiene una truyectoria hacia la salida. El multiplexor actúa como un intenuptor elec-
trónico que selecciona una de dos fuenles. El diagrnma de bloques de un multiplexor a veces
se represenla con un símbolo en forma de cuña, como en la figura 4-24b). Esto sugiere visual·
mente cómo una fuente de dalOS. seleccionada de entre varias. se dirige a un solo desti no. En
los diagromas de bloques es común rot ular los multiplexores como MUX.
En la figura 4-25 se presenta un multiplexor de 4 líneas a 1. Cada una de las cuatro enlna·
da.'I, lo a I
l
• se aplica a una enlrada de una compuena AND. Las Uneas de selección SI y So se
decodifican para seleccionar una compuena AND determinada. Las salidas de las compuenas
AND se aplican a una sola compuena OR que genera la salida de una sola !fnea. La tabla de
la función indica qul!: entrada se pasa a la salida con cada combinación de los valores binarios
de selección. Para ilustrar el funcionamiento del circuito. consideremos el caso en que

Mat 'JI prOiP.gido 0f dE' 'Jl "r
,
Sección 4410 Multiplexores 143
a I se construye a partir de un decodificudor de 11 a líneas añadiéndole líneas de entrada,
una para cada compuerta ANO. Las de se aplican a una sola como
puerta ORo El tamaño del multiplexor se cs¡:M:Ci fica con el número de líneas de entrada de dutos
que tiene (2") y la única Hnea de sali da. El número de \fneas de selección (n) está implfcito en
el número de Ifneas de datos (r). Al igual que los decodifi cadores, los multiplexores podrinn
tener una entroda de habilitación que control a el funcionamiento de la unidad. Si dicha entra·
da está inactiva. las salidas quedarán inhabilitadas, y si está activa, el circuito funcionará ca-
nlO un multiplexor noona!.
Los circuitos multiplexores se pueden combinar con entradas de selección comunes par:!.
crear una lógica de selección de múlti ples bits. Por ejempl o, en la figuro 4· 26 se ilustro un
multiplexor cuádruple de 2 líneas a l . El circuito ti ene cuatro multiplexores, cada uno de los
B,
8 ,
B,
"
S
(SeleccJ

E
( tl abihlar)

FIGURA 4-26
"
"

Multiplexor cuádruple de 2 lineas a 1
Y,
Tob lB de función
S SDHda Y
X Toda ceros
E
I
o
O
O Seleccionar A
Seleccionar B I
Mar rF11 protegido p-?r derechos de '1U ':Ir
144 Capítulo 4 l ógica combinacional
cuales puede seleccionar una de dos Hneas de entrada. Podemos escoger que la salida Yo pro-
venga de la emradn Ao o bien de Bo- De igual manera. la salida Y
t
podría tener el valor de At o
Bt. Y asf sucesivamente. La línea de selección de entrada S selecciona una de las líneas en cada
uno de los cuatro multipl exores. La emrada de habi litación E debe estar acti va para que el fun-
cionnmiento sea normal. Aunque el circuito contiene cuatro multipl exores de 2 \fneas a 1, se-
gurament e lo veremos como un circuito que selecciona uno de dos conj untos de de datos
de cuatro bi ts. Como indica la tabl a de función. la unidad se habilita cuando E "" O. Entonces.
si S = O. las cuatro entradas A tendrán un camino a las cuatro salidas. En cambio. si S :::: l.
las cuatro entradas B se aplicarán a las sal idas. Cuando E =: l. todas las salidas ti enen O, sin
impenar qué valor tenga S.
Implementación de funciones booleanas
En la sección 4-8 se explicó cómo utilizar un decodificador para implementar funciones boolea-
nas añadiendo compuenas OR externas. Un examen del diagrama lógico de un multipJcxor re-
vela que básicamente es un decodifi cador con una compuena OR incluida en la unidad. Los
mini ténninos de una funci ón se generan en un mulliplexor mediante el circuit o asociado a las en-
trudas de selección. Los miniténninos individuales se pueden seleccionar con las entr.was dc da-
tos. Esto ofrece un método para implememar una función booleana de fI variables con un
multipl cxOf"que tiene 11 entradas de selección y 2" entrwhs de dalos. una par.! cada minitémlino.
Ahora mostJ'3temos un método más eficiente parn implement ar una funci ón booleana de n
variables con un mult iplexor que tiene 11 - I emradas de selección. Las primeras 11 - I va-
riabl es de lo función se coneelan a las enlradas de lielección del mull iplc}(or. La varbble res-
tante de la función se utiliza para las entradas de datos. Si denotamos esa variable con ;::. cada
entrada de dat os del multi plexor será. z. t. '. I o O. Par.! ilustr.!r este procedimiento. considere-
mos la función booleana de tres variables:
F(x, )',z) : 7)
La función puede implementarse con un multiplexor de 4 líneas a 1 como se indica en la fi gu-
ra 4-27. Las dos variables x y y se apli can a las Hneas de selección cn ese orden: x se conccla
.r
O O O O
O O 1 1
F- ,
O 1 O 1
F . : '
O 1 1 O
1 O O O
1 O 1 O
F- O
1 1 O 1
1 1 1 1
F- 1
a)"Thbta de
fiGURA 4-27
MUXde4 X I
y
So
5,
O F
"
1
O
2
1 3
b) Implemenlación con mullipluor
Implementación de una fundón booleana con un mult iplell or
M' "'r protegido por derecho da ul')r
Sección 4-10 Multiplexores 145
a la entrada S, y)' se conecta a So- Los valores de las IfnetlS de entrada de datos se deducen de
la tabla de verd3d de la función. Cuando xy = OO. la salida F es igual a z porque F = O cuan-
do z = O y F = 1 cuando z = 1. Esto requiere aplicar la variable z a la entrada de datos O. El
funci onamiento del multiplexor es tal que. cuando xy :: 00, la entrada de datos O tiene una
trayectoria hacia la salida y eso hace que F sen igual a z. De forma. si milar, podemos detcnni-
nar la.s entradas que deben recibir las !fncas de datos 1, 2 y 3, a par1ir del valor de F cuando
.ry = 0 1. 10 Y 11 . respectivamente. Este ejempl o especrfico muestra las cuatro posibilidades
que podemos tener en las entrndas de datos.
El procedimiento gencral para. implementar cual quier función booleana de n variables con
un multiplexor de n - I entradas de selección y 2"- ' entradas de datos se deduce del ejemplo
amerior. Primero se enumera la función booleana en una tabla de verdad. Las primeras n - 1
variables de la tabla se aplican a las entradas de selección del multiplexor. Para cada combina-
ción de las variables de selección, evaluamos la salida en función de la última variable. Esta
función puede serO. l. la variable o el complemento de la variable. Luego. estos valores se apli-
can a las entradas de datos en el orden COrTCCtO. Como segundo ejemplo. consideremos la im-
plementación de la función booleana
F(A. B, C, O) :: ~ ( I , 3,4, 11 . 12, 13,14.1 5).
Esta función se implementa con un multiplexor con tres entradas de selección. como se
ilustra cn la figura 4-28. Observe que la primera variable. A. debe coneclarse a la entrada de
selección Sl para que A. B Y e cOTTtspondan a las entradas de selección 52' S. Y Se.- respec-
tivamente. Los valores de las entradas de datos se detenninan de la labia de verdad que se
presenta en la figura. El número de linea de datos coTTtspondienle se ¡1etennina a par1ir de
la combinación binaria de ABe. Por ejemplo. cuandoABC "" 101. la tabla indica que F :: D.
asr que se aplica la variable de entrada D a la entrada de datos 5. Las constantes binarias O
y I corresponden a dos valores de señal fijos. Cuando se usan circuitos integrados. el O lógico
corresponde a la tierra de señal y el I lógico equivale a la senal de potencia. que por lo regu-
lar es de 5 \'0115.
MUXde8 x t
A 8 e D F
.-
e
o o o o o
F _ D
o o o \ , \
8
o o 1 o o
F - D
A
o o \ \ \
o \ o o ' \
F- D' D
o \ o \ o
o \ \ o o
F - O
o \ \ \ o
So
s,
S,
o
"
\
2
v
F
\ o o o o
F - O
o
\ o o \ o
,
o \ o o
F - D
1 o 1 \ \
J
4
,
\ \ o o' \
F - \
\
\ \ o \ \
\ \ \ o ' \
F - \
1 \ \ \ \
6
7
FIGURA 4-28
Implementación de una funclon de cuatro entradas con un multiplexor
P' ~ i d (
arecodeut
146 Capítulo 4 Lógica combinacional
Enlrada normal A ---
Entrada de control C - --
FIGURA 4-29
Símbolo gráfico para un bufer de tres estados
Compuertas de tres estados
SalidaY - A siC - 1
Alta impedancia si C - O
Es posible construir un multiplexor con compuertas de tres estados. Una compuert a de tres es-
tudos es un circuito digital que elthibe tres estados. Dos de los estados son equivalen-
les al I Y al O lógicos, como en las compuertas convencionales. El tercer estado es un estado
de alta impedancia. El estado de alta imiUdancia se comporta como un circuito abiert o, lo que
implica que la salida parece estar desconectada y el circuito carece de signifi cado lógico. Las
compuertas de tres estados son capaces de realizar cualquier lógica convencional. como AND
o NANO, pero la que se usa más comúnmente es la compuerta búrer.
En la figura 4-29 se observa el símbolo gráfico de un búfer de tres estados. Se di stingue de
un búfer nonnal con una Hnca de control de entrada que entra por la parte inferi or del símbo-
lo de compuerta. El búfer tiene una entrada nonnal, una salida y una entrada de control que de-
tennina el estado de la salida. Si la entrada de control es 1, la sali da está habilitada y la
compuerta se comporta como un búfer convencional, cuya salida es igual a la entrada nonnal.
Cuando la entrada de control es O, la salida se inhabil ita y la compuerta pasa a un estado de al-
ta impedancia. sea cual sea el valor en la entrada nonnal. El estado de alta impedancia de una
compuerta de tres estados ofrece una carncterística especial que no ofrecen Olras compuertas.
Gracias a ell a. un gron número de salidas de compuertaS de tres estados se pueden conectar con
alambres para formar una línea común sin correr riesgos por los efectos de carga.
En la figura 4-30 se ilustra la consuucción de multiplcltores con búfcres de tres estados. La
pane a) de la figuro muestra la consuucción de un multiplexor de 2 \fneas a I con dos bUferes
A --- ,-13>---'- y

8-+---{
________ _
.) MIIJI de 2 ¡hleN. I
FIGURA 4-30
1,
"
Ha¡'; Url
,
Multlplexo(es con compuertas de tres estados
,
.
'1
"-
,
"-
;r
,
s,
So Dcaxlilicador
,
de 2 X4 ,
EN
J
b) MUA de 411Mali' 1
Mar fI'll protegido por c!erocf'Jo<:. de 'lL: "Ir
Sección 4-11 HOL para circuitos combinacio nales 147
de tres estados y un in"crsor. Las dos salidas se conectan entre sf paro fomuu- una sola Hnea de
salida. (Cabe señalar que este ti po de conexión no puede efectuarse con compuertas que no ten-
gan salidas de tres estados.) Si la entrada de selección es O. el búfer superior queda habi litado
por su entrada de control. y el búfer inferior queda inhabilitado. Entonces, la salida Yes igual
a la enU'Dda A. Cuando la entrada de selección es 1, se habilita el Mfer inferior y Yes igual a B.
En la fi gura 4-30b) se muestra la construcción de un multiplexor de 4 Ifneas a l . Las sali·
das de cuatro búferes de tres estados se conectan entre sr paro fonnar una sola lfnen de salida.
Las enU'Ddas de control de los búferes determi nan cuál de las cuatro enU'Ddas normales. l o a IJ.
se conectará a la línea de salida. Nunca habrá más de un búfer en el estado activo a la vel:. Los
búferes conectados deben controlarse de modo que sólo un búfer de tres estados tenga acceso
a la salida. mientras todos los demás búferes se manti enen en un estado de alta impedancia. Una
foona de garantizar que no más de una entroda de control esté activa en un momento dado es
utilizar un decodificador. como se indica en el diagrama. Si la entrada de habilitación del de-
codificador es O. sus cuatro salidas son O. y la Hnea de bus está en un estado de alta impedan-
cia porque los cuatro búferes están inhabilitados. Cuando la entrada de habililaCión está activa.
uno de los búferes de tres eslados estará acti vo, dependiendo del valor binario en las entradas
d ~ selección del decodificador. Una investigación cuidadosa revelará que este circuito es otra
forma de construir un multiplexor de 4 líneas a l .
4-11 HDL PARA CIRCUITOS COMBINACIONALES
Presentamos el lenguaje de descri pción de hardware (HDL) Verilog en la sección 3-9. En esta
sección se hablará de las opciones existentes para describir circuitos combinacionales en HDL.
Presentaremos los circuitos secuenciales en el capftulo sigui ente. Como ya se dijo, el módulo
es el bloque de construcción básico en Verilog HDL. Es posible describir un módul o con cual-
quiera de la. .. siguientes técnicas de modelado (o mediante una combinación de ellas):
• Modelado en el ni vel de compuenns creando ejemplares de compuenas primitivas y mó-
dulos definidos por el usuari o.
• Modelado de Ouj o de datos empleando enunciados de asignación continua con la pala-
bra clave asslgn.
• Modelado de componamiento utilizando enunciados de asignación procedimentales con
la palabra clave always.
El modelado en el nivel de compuenas describe el circuito especifi cando las compuertas y có-
mo se conectan entre sr. El modelado de flujo de datos se utiliza primordialmeme para descri-
bir circuitos combinacional es. El modelado de componami emo sirve para describir sistemas
digilales en un ni vel de abslrucción más allo. ExiMe otro eslilo de modelado llamado modela-
do en el ni vel de imerrupt ores. que peonite disellar en el nivel de transistores MOS y que se
anali7.nrá en la sección 10- 10.
Modelado en el nivel de compuertas
y ~ presentamos el modelado en el nivel de compuenns con un ejemplo sencillo en la Sttción
3-9. En este tipo de representación. los circuitos se especifican por sus compuertas lógicas y
sulinterconeltión. Es una descripción textual de un diagrama esquemático. Veri log reconoce 12
compucnas básicas como primitivas predefinidas. Cuatro compuenas primitivas son del tipo
de tres estados. Las otras ocho son las que se presentaron en la sección 2-7. Y se declaran con
las palabras clave en minúsculas and, nand, or, nor, xor, xnor, nol y buf. Cuando se simulan
M' pro'"'Qido)Qr ,,,.,..., de ~ "Ir
148
,
Capítulo '" lógica combinacional
Tabl.4-9
Tablas de verdad poro Jos compuertas primltlvoj predefin/drH
.nd O I
, ,
oc O I
, ,
O O O O O O O I
, ,
I O I
, ,
I I I I I
,
O
, , , , ,
I
, ,
,
O
, , , , ,
I
, ,
,.,
O I
, ,
".,
Entrada Salida
O O I
, ,
O I
I I O
, ,
I O
, , , , , , ,
, , , , , , ,
las compuertas. el sistema asigna un conjunto lÓgico de cuatro valor-es a cada compue rta. Ade-
más de los dos valores lógic<?s O'y J. hay otros dos valores. desconocido y olla impct!(lncin. Un
valor desconocido se denota con x, y uno de aha impedancia. con L Los valores desconocidos
se consideran dumnle la si mulación para el caso en que una enlr.tda o salida es umbigun, por
ejempl o. si uxlavía no se le ha asignado un valor de O o l . La condi ción de alta impedancia se
da en la sal ida de las compuert as de tres estados o si por descuido un alambre se deja desco-
nectado. Las tablas de verdad de and, or, XOI" y nol aryeccn en la tabla 4-9. Las tablas de ver-
dad para las ,remás compuertas son igual es, salvo salidas se COmph':lIIcnta n. Observc
que, para la compuerta and, la sal ida es 1 sólo cuandó ambas entradas son 1; la salida es·O si
cunlquier entrada es O. Por otra parte. si una entrada "O Z, la salida es x. La salida de In com-
puertn Of' es O si nmbas entradas son O. I si cualquier entrada es l. y " en los demás casos.
Cuando una compuerta primitiva se incorpora en un módul o, deci mos que se crea un ejem-
plar en el módul o. En general. los enunciados que crean ejemplllres de componentes hacen re-
ferencia a componentes de nivel más bajo del disei\o, con lo que básicamente se crean copias
únicas (ejemplare!) de esos componentes en el módulo de nivel más alto. Así. cuando un mó-
dul o usa una compuerta en su descripción decimos que crea UlI ejemplar (le la compuerta.
A continuación se presentan dos ejemplos de modelodo en el nivel decompucrtllS. Ambos ejem-
plos usan grupos de vnrios bi ts IJamados w!ctores. Los vectores se especifican entre corchetes. con
dos números separados por un signo de dos puntos. El código siguiente especifica dos vectores:
OOlput 10: 31 D;
wtre [7 :01SUH;
El primer enunciado decllll"ll un vector de salida D de cuatro bits. O a 3. El segundo dl.:cJara un
vector aJambrado 5UM de ocho bi ts, numer.1dos del 7 al O. El primer número corresponde al
bit más signifi cati vo del vector. Los bi ts indi viduales se especifi can entre corchetes: por ejem-
plo D(21 especifica el bit 2 de D. También es direccionar partes de vectores. Por ejemplo.
5UM12:01 especifica los tres bits menos signifi cati vos del vector SUMo
El ejemplo HDL 4- 1 es ilustrati vo de la descripción en el ni vel de compuertas de un deco-
difi cador de 2 a 4 líneas. Posee dos entr.was de datos A y B Y una entrada de habilitación E.
Las cUBtro salidas se especifican con el vector D. Lo decl aración wlre es para conexiones in-
ternas. Tres compuertas not producen el compl emento de las entradas y cuatro compuertas
nand generan las salidas para D. Recuerde que la salida siempre es el primer elemento en la li s-
ta de una compuerta. segui da de las entradas. Este ejemplo describe el decodificador de la ti -
M' pro '"'Qido )Or dl'l Por"
150 Capítulo 4 l ógica combinacional
Ejemplo HDL 4-2
II Descripción jer 4rquica a nivel de compuertas de un sumador de 4 bits
II Desc ripción del semisumador (véase la f igura 4- Sbl
' >Sule ha l fadder (S,e,x, y );
iDp\lt x , y;
output S,C;
IICr ear ejempl a r es de compuer tas primitivas
.oc (S, x ,y);
ando (e ,x, y );
en" N1ule
II Descr ipción de sumador completo (véase la figu r a 4-8)
'V'4ule fulladder IS,e, x ,y,%);
input x ,y,%;
output S, C;
.ice 51,01,02; IISalidas de primera XOR y dos compuertas ANO
IICrear un ejemplar del sem1sumador
halfadder HAl (SI,Dl , x,y),
HA2 (S,02,SI,%);
or gl(C, D2,Dl) ;
en·' cdule
II Descr ipción del sumador de 4 bits (véase la figura 4- 9)
-o4ule _4bit_adder (S,C4 ,A,8,CO);
iaput 13 : 0J A,8;
input COi
output (3:0) S;
output C4 ;
.ire el , e2,e3; IIAcarreos i ntermedios
IICr ear un ejemplar del sumador completo
f ulladder FAO (S[O) ,Cl , A[OJ ,B[OI,CO),
FAl 15[1) ,e2, A[lJ , B[ll ,el),
PA2 (S[2) , C3. A[21 ,Bl;;!1 ,C;;!) ,
FA3 I S[3I, C4 .A(3J .B{3} ,C3) ;
primer sumador completo en el tercer módulo), pero el uso de nombres es opcional al crear ejem-
plares de compuertas primitivas.
Compuertas de tres estados
Como se mencionó en la sección 4-10, las compuertas de tres estados ti enen una entmda de con-
trol que puede colocar a la compuerta en un estado de alta impedancia. Dicho estado se indi -
ca con z en HDL. Hay cuatro tipos de compuertas de tres esUldos, que se ilustmn en la fi gur.l
4·31 . La compuerta buOn se comporta como un búfer nornlal si control = l . La salida pasa
a un estado de alta impedancia z cuando control ::c O. La compuerta bufUO se comporta de
Mal 'JI prOiP.gido 0f d e r ~ h o s dE' 'Jl 'lr
Sección 4-11 HDL para circuitos combinacionales 151
Entrada---
Control - Control ----'
bufin bufifU
Entrada-- Entrada--- >o--Salida
Conlrol- Control -
nOl;n
FIGURA 4- 31
Compuertas de tres estados
forma similar excepto que el estado de alla impedancia se da cuando conlrQI "" 1. Las dos
compuertas nol operan de fonna simi lar, excepto que la salida es el complemento de la entro-
da cuando la compuerta no está en un estado de aha impedancia. Se crean ejemplares de las
compuertas con el enunciado
nombre_compuerta (salida, enlrada, control);
El nombre de la compuena puede ser cualquiero de las cualro compuertas de tres estados. La
salida puede dar O. I o z. Dos ejemplos de creación de ejemplares de compuertas son
bufif1 (OUT, A, control);
aotifO IY,B,enable);
En el primer ejemplo, la entrada A se lransfiere a OUT cuando conlrol "" 1. OUT pasa a z
cuando control "" O. En el segundo ejemplo, la salida Y "" z cuando enable "" ). y y = B'
cuando enabl e = O.
Las salidas de las compuertas de tres estados se pueden conectar entre sf paro formar una lí-
nea de salida común. Para identificar semejante conexión, HDL usa la paJabro clave tri de (tries--
para indicar que la salida tiene múltiples alimentaciones. Por ejempl o. consideremos el
multiplexor de 2 [fncas a 1 con compuenas de tres estados que se aprecia en In figuro 4-32.
"
Salida

B
lector
FIGURA 4-32
MulUplexor de 2 líneas a 1 con búferes de tres estados
Mal rF11 protegido p-?r derechos de '1U ')r
152 Capítul o 4 lógica combinacional
La descri pción en HOL debe usar el tipo de datos tri pam la salida.
muxt. r i (A,B,select,OUT);
input A,B,selec t. ;
outpu.t. OUT;
tri OUT;
bufifl lOUT, A, select );
bufifO IOUT,B,sel ect);
Los dos búferes de tres estados ti enen la misma sali da. Para indicar que existe una conexión
común, es necesario declarar OUT con la palabra clave tri.
Las palabras clave wire y lri son ejemplos del tipo de datos Las redes represen-
tan conexiones entre elementos de hardware. Su valor depende conti nuamente de la salida del
di spositivo que representan. La palabra nel no es una palabra clave. pero representa una clase
de ti pos de datos como wire, wor, wand, tri, supplyl y supplyO. La declaración wire es la que
se usa con mayor frecuencia. La red wor modela la implementación en hardware de la confi -
guración OR alambrada. La wand modela la confi guración ANO alambrada (véase la fi gura
3.28).l..as redes supplyl y supplyO representan fuente de poder y ti erra. Se uti lizan en el mo-
delado a nivel de intenuptores (véase la sección 10- 10).
Modelado de flujo de datos
El modelado de fl ujo de datos uti li za varios operadores que actúan sobre operandos para pro-
ducir resultados deseados. Veri log HOL cuenta con cerca de 30 ti pos de operadores. En la ta-
bla 4- 10 se presentan algunos de ellos. su símbolo y In operación que rea1i7.an. (En la tabla
8-1 , sección 8-2. se da una lista compl eta de operadores.) Hay que distinguir entre las opera-
ciones ari tméticas y lógicas. por lo que se usan símbolos distintos para cada una. El símbolo
más (+) se ut il iza para la suma aritmética. y el ANO lógico emplea el símbolo &. Hay símbo-
los especiales para ORo NOT y XOR. El símbolo de igualdad es doble (sin espacio interme-
dio) para disti nguirlo del que se usa en el enunciado de asignación. E1 operodor de concatenaci6n
permite juntar varios operandos. Por ejempl o. es posible concatenar dos operandos de dos bits
cada uno para fonnar un operando de cuatro bits. El operador condicional se explicará mds ade-
lante j unto con el ejempl o HOL 4-6.
T.bI.4-10
HDL
Simboto Operación
+
Suma binaria
Resta binaria

& ANO bit por bit
I
OR bit por bit
A XOR bit por bit
-
NOT bi t por bi t
--
Igualdad
> Mayor que
<
Menor que
{ }
Concatenaci ón
1 • Condicional
protegido por derechos de 'lt.: or
Sección 4-11 HOL para ci rcuitos combinacionales 153
Ejemplo ROL 4-3
II Descri pci ón de f lujo de da t os del decodificador de 2 a 4
IIVéase la figura 4-9
""'uh decoder _df (A, B, E, Dl ;
iaput A,B,E;
output (0 : 3) O;
... ip 0(0] .. -(-A &. -B &: -El .
0( 1 ) _ -e-A &. B &. - El,
0 121 "" - (A &: -B &. - El.
0( 3) = -( A &: B &: -El;
El modelado de flujo de datOS utili 7.a asignaciones continuas y la palabra clave asslgn. Una
asignación continua es un enunciado que asigna un valor a una neto El tipo de datos net se usa
en Verilog HDL para representar una conexión física entre eJemenros de circuito. Una ntl de-
fi ne una sal ida de compuerta declarada por un enunciado output o wlre. El valor asignado a
la net se especifica con una expresión que utiliza operandos y operadores. Por ejemplo, supo-
niendo que ya se declararon las variables, un multiplexor de 2 lfneas a 1 con entradas de datos
A y B, entrada de selección S y salida Y se describe con la asignación continua
... ign y "" (A &: SI I ( B &: - S);
Primero aparece la palabra clnve asslgn seguida de la salida deseada Y y un signo de igual Des-
pués viene una expresión booleana. En tt!nninos de hardware. esto equivaldña a conectar la sao
lida de la compuerta OR (1) al alambre Y.
Los dos ejemplos que siguen muestran los modelos de flujo de datos de los dos ejemplos
anteriores a niveJ de compuertas. En el ejemplo HDL 4-3 se presenta la descripción de Ou-
jo de datos de un decodificador de 2 a 4 Hnea. .. , El circuito se define con cuatro enunciados
de asi gnación conrinua empleando expresiones booleanas, una para cada salida. La descrip-
,
ción de flujo de datos del sumador de cuatro bits aparece en el ejemplo HDL 4-4. La lógica
de suma se descri be con un solo enunciado que usa los operadores de suma y concatena-
ción. El srmbolo más (+) especifica la suma binaria de los cuatro bits de A con los cuatro
Ejemplo HDL 4-4
IIDesc ri DCi 6n de f l ujo de datos de un s umador
-odul. binary_adder (A. B.Cin.SUH.Coutl :
input (3:0J A, B;
iaput Cin:
output (3 : 0) SUM;
output Cout;
••• ign (Cout,SUM) • A • B • Cin:
?4ul.
de 4 bits

protegido por derechos de 'lt.: or
154 Capítulo 4 lógica combinacional
Ejemplo HDL 4-5
II Desc ripci6n de flujo de datos de un comparador de 4 bits
'!C'4ule magcomp IA,B,ALSB.AGTB,AEOB);
input [3 :01 A.B;
output ALTB.AGTB,AEQB:
••• ifiD. ALTB= lA < S l,
AGTa '" (A > al.
AEQa = (A == Sl;
bits de B y el bit de Cin. La salida deseada es la concatenaci6n del acarreo de salida Cout y
los cuatro bi ts de SUMo La concatenaci6n de operandos se expresa enlTe llaves. separando los
operandos con comas. Asf. {Cout, SUM I representa el resultado de ci nco bi ts de la ope-
ración de suma.
El modelado de flujo de datos pennite describir circuitos combinacionales por su funci 6n
en vez de por su estructura de compuertas. Para mostrar cómo las descripciones de flujo de da-
tos facilitan el diseno di gital. consideremos el comparador de magnitudes de cuatro bits que se
describe en el ejemplo HOL 4-5. El módulo especifica dos entnldBS de cuatro bi ts, A y B, Y tres
salidas. Una salidA (ALTB) es I lógico si A es menor que B; otra salida (AGTB) es 1 lógico si
A es mayor que B; y una tercera salida (AEQB) es I lógico si A es igual a B. (Advierta que la
igualdad se ':Cpre.-.enta con dos símbolos de igual.) Un compilador de llfntesis Veri log HDL
puede aceptar como entrnda esta descripción de módulo y producir la lista de un circuito equi -
valente a la figura 4· l 7.
El siguiente ejemplo usa el operador condicional (1: ). E.<¡ te operador acepta tre.<ó oper.mdos:
condici6n ? expresi6n-verdadera; expresión-falsa :
La condición se evalúa. Si el resultado es I lógico. se eval úa la expresi6n verdadera. Si el re·
sultado es O lógico. se evalúa la expresión folsa. Esto equivale a una condici6n Ir-else. El ejem-
plo HDL 4· 6 presenta la descri pción de un multiplexor de 2 a I empl eando el operador
condicional . La asignación continua
••• ign OUT = •• lect ? A : 8 ;
especifica la condición OUT = A si select = 1. si select = O. entonces OUT = B.
Ejemplo HDL 4-6
II Descripc i 6n de fluj o de datos del mult i plexor 2 a 1
-ClC!ule mux2xl_df lA, B, select.OUTl :
input A,B,select;
output OUT;
••• ign OUT = select ? A : S;
e","*"'<!ule
protegido por derechos de 'lt.: or
Sec.c1ón 4-11 HDl para circuitos combinacionales 155
Ejemplo HDL 4-7
II Descripción de compor tami ento del multiplexor 2 A 1
F ~ u l . mux2 xl-ph( A,B,select,OUTI ;
input A, B,select;
output OUT;
reg OUT;
al.ay. Q (select or A or Bl
11 (s elec t -. 1) OUT - A,
.1 •• OUT '"' B:
Modelado de comportamiento
El modelado de comportamiento representa los circuitos digitales en un nivel funcional y al -
gorítmico. Se le utili za primordialmente para describi r circuitos secuenciales. pel O sirve tam-
bil!n para describir circuitos combinacionales. Aquí se presentarán dos ejemplos sencillos de
circuitos combinacionales como introducción al terna. Se analizará con mayor detalle el mo-
delado de comportamiento en la sección 5-5, después de estudiar los circuitos secuenciales.
Las descripciones de comportamiento emplean la palabm clave al"ays seguida de una lis-
ta de enunciados de asignación ptocedimentales. La salida deseada de los enuncindos de asig-
nación procedimentales debe ser dellipo de datos re¡. A diferencia del tipo de dalOS wire, en
el que la salida deseada de una asignación se puede octualizar continuamente. el tipo de datos
reg conserva su val or hasta que se le asigna uno nuevo.
El ejemplo HDL 4-7 muestro la descripción de comportamiento de un multiplexor de 2 lí-
neas a 1 (compare con el ejemplo HDL 4-6). Dado que la variable OUT es una salida desea-
da. debemos declamrla como dato reg (además de la declaración oulput). Los enunci ados de
asignación piocedimentales dentro del bloque al"ays se ejecutan cada vez que hay un cambio
en cualquiem de las variables indi cadas después del símbolo @. (Observe que no se escribe un
G) al final del enunciado aI"ays.) En este caso. la lista incluye las variables de entrada A y B,
Y select. Advierta que se usa la palabra clave or entre las variables en lugar del operador de OR
lógico "1". El enunciado condicionallr-else permite tomar una decisión con base en el valor de
la entrada u /ut. El enunciado U' se puede escribir sin el símbolo de igualdad:
it (select) OUT : A ;
Este enunciado implica que se examina sdect para ver si es Ilógico.
El ejemplo HDL 4-8 describe la función de un multiplexor de 4 líneas a l . La entrada se-
lect se define como un vector de dos bits. y la salida y se declara como dato reg. El enunciado
aI"ays tiene un bloque secuencial delimitado por las palabras clave cas«' y endeas«'. El blo-
que se ejecuta cada vez que cambia el valor de cualquiera de las entmdas indicadas despu6l del
símbolo @. El enunciado case es una condición de mmificación condicional multivfas. la ex-
PfCSión case ($Cltet) se evalúa.y se comparo con los valores de la li sta de enunciados que si-
guen. Se ejecu18 el primer va.lor que coincide con la condi ción verdadem. Puesto que sdec' es
un número de dos bits. puede ser igual a OO. 01 . 10 o 11 . Los números binarios se especifican
con una b precedida por un apóstrofo. Primero se escribe el tamaño del número y luego su va-
IÓr. Así, 2'bOl especifica un número binario de dos dígitos cuyo valor es 01. Tambil!n pueden
especificane números en decimal. octal o hexadecimal. con las letras 'd, 'o y 'b, respectivamen-
Id_ Si no se especifica la base del número. se toma como decimal por omisión. Si no se espe-
cifica el tammo del número. el sistema supondrá que es de 32 bi ts.
Mat 'JI prOiP.gido po?r derechos de '1U ':Ir

1 S6 Capítulo 4 lógica combinacional
Ejemplo HDL 4-8
II Descr i pción de comport ami ent o del mul tiplexor 4 a 1
II Describe l a tabla de func i 6n de la f i gura 4- 25b) .
mux4xl J;lh (i O,il,i2,i3,se 1ec t ,y) ;
iQPUt 10, i1 ,i2, 13 :
input s el ec t ;
output y ;
reg y :
i (10 or 11 or 12 or 13 or sel ect)
ca •• (sel ect )
2' bOO : y :: iD:
2 'bOl: y ,. il ;
2'bl O: y '" i2;
2' bl1: y :: B :
en"ca ••

Hemos mostrado aquí ejemplos sencillos de descripciones del componamiento de circuitos
combinacionales. El modelado de comportamiento y Jos enunciados de asignación procedi -
mentales requieren conocimienlos de circuitos secuenciales y se tratarán más a fondo en la
sección 5-5.
Cómo escribir un conjunt o de pruebas sencillo
Un conjunto de pruebas es un programa en HOL que sirve para aplicar estimulas a un diseño
HOL. a fin de probarlo y observar su respuesta duranle una simulaci6n. En los
conjuntos de pruebas resultan muy complejos y largos. y su desarroll o podria ser tardado
que el del di seño que se prueba. Sin embargo. los que se incluyen aquf son relati vamente sen-
cillos. ya que lo úni co que queremos probar es circuitos combi nncionales. Presentamos los
ejemplos para ilustrar descripci ones representativas de módulos de estímulo HOL.
Además del enunciado a1ways, los conjuntos de pruebas uti lizan el enunciado lnitlal para
estimular el circuito probado. El enunciado always se ejecuta repet idamente en un ciclo. El
enunciado lnltlal sólo se ejecuta una vez en el tiempo = O de la simulación y podría conti nuar
con cualesquier operaciones que se rewden en cierto número de unidades de tiempo. especi-
ficadas por el sfmbolo N. Por ejemplo, consideremos el bloque initial
initial
_in
A

0,
B_
0,
n o A. 1 ,
• 020 A • 0, 8=1;
...
El bl oque se encierra entre las palabras clave begin y end. En el tiempo = O. A y B se ponen
en O. Diez unidades de tiempo después, A se cambia a l . Veinte unidades de tiempo despu6i
(en f = 30). A se cambia a O y B se cambia a l . Las entradas de una tabla de verdad de tres bits
se gener.m con el bloque ¡nitlal
protegido por derechos de 'lL.: or
Sección 4-11 HOl para circuitos combinacionales 157
o '" 3 'bOOO;
(7)
n o 0 ;0 o + ] ' b001 ;
El veClor O de tres bits recibe el valor inicial 000 en el tiempo "" O. La palabra clave reptal
especifica un enunciado cíclico: se suma I a O siele veces, una vez. cada 10 unidades de tiem-
po. El es una sucesión de números binarios de 000 a 111.
Un módulo de estímulo es un programa HDL que tiene la fonna siguiente:
module
Declarar locales reg y wlre,
Creur ejemplares del módulo de di seBo a probar.
Generar estímulos con enunciados in1tia1 y always.
Exhibir la respuesta de salida.
endmodule
Los módulos de prueba por lo de entrndas y de salidas. Las seBales que se apli-
can como entradas al módulo de diseño simulado se declaran en el módulo de estímulo como
del tipo de datos local reg. Las salidas del módulo de diseBo que se a hiben para efectuar las
pruebas se dttlaran en el módulo de estímulo como del tipo de datos local ",Ire. Luego se crea
un ejemplar del módulo a probar empleando los identificadores locales. La figura 4-33 aclara
esta relación. El módulo de eslÍmulo genera entradas para el módul o de diseño dttlarando los
identificadores TA y TB como de ti po rte, Y veri fica la salida de la unidad de diseBo con el iden-
tificador wire Te. Luego se usan los identificadores locales para crear el ejemplar del módu-
lo de diseño a probar.
La al estímulo generado por los bloques InUiaI y always aparecerá en la salida del
simulador como diagramas de temporización. Tambitn es posible exhibir salidas numtri cas
empleando tareas del sistema de Verilog. Éstas son funciones integradas del sistema que se
Módulo de estrmulo Módulo de disetlo
.. _le circuj loprueb. ..... ·Ie circui to (A, 8, C);
rqTA,TB:
.. ,.. A, B;
orire Te:
.,..,.- e:
Ci rcui lO cr (TA, TB. TC);
FIGURA 4-33
Inter;acdón de 105 módul os de estímul o y de diseño
Mat fI'll protegido por c!erocf'Jo<:, de 'lL: "Ir
158 Capítulo 4 lógica combi nacional


reconocen por palabras clave que inician con el sfmbolo $. Algunas de las tareas del sistema
que sirven paro exhibición son
una vez el valor de variables o cadenas con un retomo de fin de Ifnea.
$write-igual que $dIsplay pero si n pasar a la siguiente linea.
variables cada vez que un valor cambia durante una si mulación,
$time-muestra el tiempo de simulación,
$nnlsh-termi na la simulación.
La si ntaxis de $display, $wrlte y $monltor tiene la forma
Nombre·tarea (especificación de formato, lista argumentos);
La especificación de formato incluye la base de los números que se exhiben. lo que se indica
con el sfmbolo (%), y podrfa tener una cadena encerrada entre comill as ("). La base puede ser
binaria, decimal, hexadecimal u octal. lo que se indica con los sfmbolos %b. %d, %h y %0. res..
pectivamente. Por ejemplo. el enunciado
$diaplay (%d %b %b, e,A,S);
especifica la exhibición de e en deci mal. y de A y B en binario. Observe que no hay comas en
la especificación de fonnato, que la especifi cación de formato y la lista de argumentos se se·
paran con una coma, y que la lista de argument os lleva comas entre las vari ables. Un ejemplo
de enunciado que especifi ca una cadena encerrada enlre comillas es
$display Ctiempo = %Od A = %b B :: %b", $tiempo.A,O);
que produce
tiempo ; 3 A : 10 8; 1
donde (tiempo = ), (A = ) y (B = ) fonnan parte de la cadena que se exhi birá. El formato %Oci.
%b y %b especifi ca la base de SUme, A y B, respecti vamente. Al exhibir valores de tiempo. es
recomendable usar el formato %Od en lugar del formato %d. Esto exhibe los dfgitos significa-
tivos sin los espacios a la derecha que se exhiben cuando se usa %d. (0/0<1 exhibe unos 10 es·
pacios a la derecha porque el tiempo se calcul a como un número de 32 bits.)
En el ejemplo HDL 4-9 se presenta un módulo de estímulo. El circuito a probar es el mul-
tiplexor 2 X I que se describió en el ejemplo 4-6. El módulo testmux no tiene pUCl1os. Las en-
tradas del multi plexor se declaran con la palabra clave reg, y las salidas, con la palllbra clave
wlre. Se crea un ejemplar del multipl exor con las variables locales. El bloque ¡nlllal especifi-
ca una sucesión de valores binarios que se aplicarán durnnte la simulación. La respuesta de sa-
lida se veri fi ca con la tarea del sistema $monitor. Cada vez que una variable cambia de valor.
el simulador exhibe las enlmdas, la salida y el tiempo. El resultado de la simulación aparece
en la bitácom de simulación (si mulation log) del ejemplo. Ahf vemos que OUT = A cuando
S = I Y OUT = B cuando S = 0, lo que verifica el funci onamient o del multiplexor.
La si mulación lógica es un método rápido y exacto para anali zar circuitos combi naciona-
les y verificar que funcionan oorrectameote. Hay dos tipos de verificación: funcional y de tiem-
pos. En la verificaciónfimcional. estudiamos la operación lógica del circui to, independientemente
de consideraciones de tempori zación. E.<¡to se hace deduciendo la tabla de verdad del circuito
combinacional. En la veri ficación de tiempo.f, estudiamos el funcionamiento del circuito incl u-
yendo el efecto de los retardos en las compuertas. Esto se hace observando las formas de on-
da en las salidas de las compuenas cuando responden a una entrada dada. Presentamos un
Mal '11 pro 0f derechos de '!L
I
Sección 4-11 HOl para circuitos combinacionales 159
Ejemplo HDL 4-9
l/ Estímulo por a mux2xl_df.
P04ul. testrnux;
l/entradas para mux
l/salida de mux
ra", TA,TB, TS;
wira Y;
mux2xl _df mx (TA,TB,TS,Y); 1/ crear un ej emplar mux
initial
TS

1 , TA

O, TB

1,
110 TA

1, TB

O,
no TS

O,
no TA

O, TB •
" ....
initial
twmitor ( · select = \b A = 'ib B " \ b OUT '" \b time - tOd ".
TS, TA, TB, Y. $tt.e);
l/ Desc r ipción de flujo de datos de multi plexor de 2 a 1
l/ del ejemplo 4-6
""ul. mux 2xl_df IA,B,select,OUT);
input A,S,selact;
output OUT;
••• ign OUT • salect ? A : B:
en"'·?dul.
Simulation l og:
selact

1 A

O B

1 OUT • O tiempo
select

1 A

1 B
• O OOT

1 tiempo
select

O A

1 B

O OUT

O tiempo
select • O A • O B • 1 OOT • 1 tiempo

O

10

20
• 30
ejemplo de circuito con retardos de compuena en la sección 3-9 (ejemplo HDL 3-3). Ahora pre-
senlaremos un ejemplo en HDL que produce la tabla de verdad de un circuito combinacional .
El análisis de circuitos combinacionales se explicó en la sección 4-2. Se anal izó un circui -
to multini vel de un sumador completo y se dedujo su tabla de verdad por inspección. La des-
cripción a nivel de compuertas de este circuito se ilustra en el ejemplo HDL 4- 10. El circuito
tiene tres entradas, dos salidas y nueve compuertas. La descripción del circui to sigue las in-
terconexiones de las compuenas seglin el diagrama de la figura 4-2. El estímul o del circuito
se da en el segundo módulo. Las entradas para estimular el circuito se especifi can con un vec-
tor reg de tres bits ll amado D. D{2] equivale a la entrada A, D[ I J a la entrada B y D{O] a la
e\-llrada c. Las salidas del circuito, F. y Fl. se declaran como wire. Este procedimiento sigue
los pasos bosquejados en la fi gura 4-33. El ciclo repeat proporciona los siete números bina-
rios que siguen a 000. para la tabla de verdad. El resultado de la simulación genera la tabla
de verdad que se incl uye j unto con el ejemplo. Esa tabla demuestra que el circui to es un su-
mador completo.
Mat rF11 protegido p-?r derechos de '1U ':Ir
160 Capítulo 4 l ógica combinacional
Ejemplo HDL 4-10
// Descri pción a nivel de compuertas del cir cuito de la figura 4-2
ero.dul. analysis (A',B,C, Fl , F2 );
input A, B, C;
output Fl, F2;
.ir. Tl,T2,T3,F2not, El , E2,E3;
or gl (Tl,A,B,C);
_n
d
92 (T2 , A,B,C);
_ne' g3 ( El,A,BI;
-nA ;4 ( E2,A,C);
-n" g5 ( E3,S,CI;
or 96 (F2, El ,E2,E31;
not g7 ( F2not, F2);
-n" 98 (T3,Tl,F2notl ;
or g9 (Fl.T2,T3);
eII" ocSul.
l/ Est ímul o para analizar el c irc uito
-o4u1. tes t_circuit;
:r:eg (2:0]0;
.ir. Fl, F2;
anal y sis fig4 2 (0 {2 J ,011 ] ,DIO] ,FI, F21 ;
initial
_,.
o., 3 ' b OaO;

n O D::D+I ' bl;
initia1
S..,nitor ("ABe" \b FI :: \b F2 ::\b ",O, Fl, F2);
·n....."..",,1.
Simulation lag :
ABe •
000 Fl
• O F2 · 0
ABe •
001 n-
1 F2
-o
ABe _
010 Fl

1 F2 .0
ABe -
011 Fl

o F2 .1
ABe
-
lOO Pl
• 1
F2
-o
ABe • 101 Fl
• o F2 . 1
ABe -
110 Fl
- o
F2
_1
ABe _
111 Fl

1 F2 . 1
protegido por derechos de 'lL.: or
Problemas 161
PROBLEMAS
4· 1 Considere el circui to eombinacional de la figura P4-I .
a) Deduzca las expresiones booleanas para TI a Evalúe las salidas F. y Fz en funci6n de las
cualro entradas.
b) Escriba la tabla de con 16 combinaciones binariu de IIIll cuatro variables de entrada.
Luego dé en la labIa los valores binarios de TI a T
4
y lu salidas FI Y F
2

e) Grafique en mapas IIIll funciooes booleanas de salida obtenidas en la pane b) y demuestre que
las expresiones booleanas simplificadas son equivalentes a las obIenidas en la parte a).
A

e
D
FIGURA P4-1
{>
>
T,
T,
)
T't
T.
4 · 2 Obtenga las eXpre5iones booleanas simplili cadas para las salidas Fy Gen ténniD05 de las varia·
bIes de entrada del circuito de la fi gura P4-2.
A--
F
;-,--, ____
• D -------L......,.,
FIGURA P4- 2
4 -3 Para el circuito de la figura 4-26 (sección 4-10),
a) Escriba las funciones booleanas de las cuatro salidas en funciÓll de las variables de entrada
b) Si el circuilo se presenta como tabla de ventad. ¿cuántas filas y columno.s tendría la labIa?
4-4 Di señe un circuito combinacional con tres entrndu y una salida. La salida es I cuando el valor
binario de las entradas es menos que 3, yesO en los demás casos.
4-5 Diseñe un circuito combinacional con tres entradas. x, y y:. y tres &alidas, A. B Y C. Cuando la
entrada binaria es O. 1, 2 o 3. 111 salida binaria es uoo más que la entrada. Si la entrada binaria es
4, S. 6 o 7, la salida binaria es uno menos que la entrada.
Mat nal protegido por derechos dfI aL'!')r
162 Capítulo 4 l ógica combinacional
4 -6 Un circuito de mayorfa es un circuito combinocional cuya salida es 1 si las variables de entT' .Ida
lienen md.s unos que ceros. La salida es O en caso contrario. Di señe un ci rcuito de mayorfa de tres
entradas.
4-7 Di selle un circuito combinacional que convierta un código Oray de cuatro bits (tabla l.(¡) en un
número binario de cuatro bits. Implemente el circui to con compuertas QR e:o:clusivo.
4-8 Di sei\e un convertidor de código queconvlena un drgito decillUll del código 8. 4. - 2. - 1 a BCD
la tabla I-S).
4 -9 Un decOOifieadorde BCD a siete segmentos es un circuito combi nacional que convierte un dfgi-
10 dedmaJ BCD en un código apropiado para se1eccionar segmentos de un indicador que exhibe
los dfgitos decimales en 111 fonna acostumbrada. Las siete salidas del decodi fi cador (a. b. c. d.
t.J, g) seleccionan los segmenlos correspondientes del indicador, como se indica en la figura
N . 9a). La fonna de representar los dfgitos decimales con el indicador se muestra en la figu-
ra N -9b). Diselle un decodificador de BCD a siete segmentos empleando el mfnimo de compuer-
tas. Las seis combinaciones no válidas deberán dejar el indicador en blanco .

,1 B b
,1 di,
I
I
a) Designación de segmentos
fiGURA P4-9
I
I
I
-
I
I
I I
I
I
I
b) Designación numerica para e:o:hibición
I
I
-
I
,
I I
I
4 -1 O Diselie un circui to combinacional compleme.ntador a dos. de cuatro bits. (La salida genera el
romplemento a dos del número binario de entrada.) Demuestre que es posible construir el circui-
to con compuertas QR ¿Puede predecir las funciones de salida parn un romplementa-
dor a do:s de cinco bits?
4 -11 Diseñe un circuito combinacional incrementador de cuatro bits. (Un circuito que suma 1 a un nú-
mero bi nario de cuatro bits.) El circui to puede disenarse con Clllltro semisumadores.
4 -12 a) Diselle un circuito semirrestadof con entrodll5 x y y. y "!idas D y B. El circuito resta los bits
x - y. y coloca la diferencia en D y el préstamo (borro",) en B.
b) Disel\e un circuito restador completo con tres entrndas. x. y y l. 'J dos salidas. D y B. El ci r-
cui to resta x - y - l. donde l es el de entrudll, B es el pr'tstamo de salida y Des
la diferencia.
4 -1 3 El circuito sumador-restador de la figura 4- 13 recibe los valores siguientes para la entrada de roo-
do M Y las entradas de datos A y B. En eada caso. detennine los valores de las cuatro salidas
SUMo el acanw e y el desbordamiento V.
. )
b)
, )
d)
,)
M
O
O
1
1
1
A
011 1
1000
11 00
0101
000\l
8
0110
1001
1000
JOJO
0001
Mat r ':JI protegido p?f derechos de ":lut')r
Problemas 163
4 · 14 Suponga que la compuerta OR exclusivo tiene un rewdo de propagación de 20 ns y que las como
puertas ANO y OR tienen un retardo de 10 ns. Calcule el retardo de pcopagación total del SUIl\i·
dor de cuatro bits de la fi gura 4· 12.
4- 15 Deduzca la expresión booleana de dos nh-eles para el acarreo de salida e
4
que se muestra en el
generndor de acarTeO anticipado de la figura 4· 12.
4· 16 Demuestre que es po5ible expresar el acarreo de salida de un ci rcuito liumador completo en la foro
ma AND·OR·INVERT
e
l
'
H
= G
I
+ p¡e, = (Gíl} + GíCí)'
El C¡tipo 74182 es un circuito generador de lICIlI'TeO anticipado que genera los acarreos con
compuenas AND-QR·INVERT (v6tse la sección 3·7). El circuito supone que las terminales de
entroldu tienen los complementos de las G. las P y e" Deduzca las funciones booleanas para
los ucam:os anticipados el, el y C
4
en este el. (Sugtmu:ia: Use el mttodo de sustitución de
ecuaciones para deducir los acarreos en términos de e;,)
4 · 17 Definu el acarreo propagado y el acaJTeO geDerado como
P¡ = A,+ O¡
G, = Ao ,O,
respectivamente. Demuestn: que el acarreo de salida y la suma de salida de un sumador como
pleto es
C/
tl
= (Cí O; + Pí)'
s, .,. (P¡Gi) (JI C
I
El diugrama lógico de la primera etapa de un sumador patulelo de cuatro bits como el imple·
mentado en el el tipo 74283 se reproduce en la figura P4--17. Identifique las terminales Pí y Oj
y demuestre que el circuilo implemenla un sumador completo.
...-/
o---c,
•. --.--r---
A. __ _
c . - - - - c ~ - _ < _
FIGURA P4--11
Primera etapa de un sumador paralelo
Mal rF11 protegido po?r derechos de '1U ':Ir
164 Capítulo 4 Lógica combinacional
4-18 Disei'le un tircui to combinacionaJ que genere el complemento a nueve de un dfgilo BCD.
4-19 Construya un circuito sumador-restador BCD. Uti lice el sumador BCD de la fi gura 4-14 y el
complemenUldor I nueve del problema 4-18. Utilice diagramas de bloque para los componentes.
4-20 Diseik un mulliplicador binario que multiplique dos nOrneros de cuatro bits. Utilice compuertas
AND y sumadores binarios.
4-21 Di sei'le un circuito combinacional que compare dos nilmeros de cuatro bits para ver si son igua-
les. La salida del circuito es 1 si los dos nOrneros son iguales. y O en caso contl1lrio.
4-22 Diseñe un decodificador de exceso-3 a binario empleando las combinaciones no uti li:r.adas dd có-
digo como condiciones de indiferencia.
4-23 Dibuje el diagrama lógico de un decodifJCador de 2 a 4 Ifneas empleando ilnicamente compuer-
tas NOR. Incluya una entnlda de habilitación.
4 -24 Disene un decodificador de BCD a decimal empleando las combinilCiones no utili lOODS del có-
digo BCD como condiciones de indiferencia.
4-25 Construya un decodiflCldorde.5 a 32 Ifocas con cuatro decodificadores de 3 a 8 Irneas provistos de
l\abili tación Y un dcrndificador de 2 a 4 ]focas. Use diagr:unas de bloque para Jos componentes.
4-26 Construya un dewdificador de 4 a 16lfneas con cinco decodificadores de 2 a 4 lineas provistos
de I\abilitaci6n.
4 -27 Se especifi ca un circuito combinacional con CliUIS tres funciones booleanas:
fj (A. B. C) = I(2, 4. 7)
FJ(A, B. C) = I (O,3)
FJ( A, B. C) = I(O, 2. 3. 4. 7)
Implemente el circuilO con un decodificador construido con compuertas NANO (similar a la figu-
ra 4- 19) y compuertas NANO o ANO conectadas a las salidas del decodificMor. Utilice un dia-
grama de bloque para el decodifICador. Use el mfnimo de enlmdas en las compuenas exlemas.
4-28 Se define un circuilo combinacional con las tres funciones booleanas siguientes:
Fj = xy'l.' + X ~
Fz = :r(l.' +:ly
Fj = :lll. + X)'
Disene el circuito oon un decodificador y compucrtrui externas.
4-29 Disei\e un codificador prioritario con las cuatro cntradas de la tabla 4-8. pero asignando ala en-
trada Do la prioridad más alta. y a D
J
, la más baja.
4-30 Especifique la tabla de verdad de un codificador prioritario de oetal a binario. Incluya una salida
V para indicar que al menos una de las enln!d3! estJ presente. la entrada con el subCndice más
alto tendrá prioridad. ¿Qul!; valor tendrán las cuatro salidas si las entradas D
j
y DJ son I al mis-
mo tiempo7
4-31 Construya un multiplexor 16 X I con dos multiplexort'S 8 X I Y uno 2 x l. Use di llgramas de
bloque.
4· 32 Implemente la función booleana siguiente con un multiplexor:
F(A,B,C. D) - I (O,I,3,4,8.9. 1.5)
4-33 Implemente un sumador completo con dos multi plexores 4 X l .
Mat r,"3.1 protegido p?f derechos de "lut')r
4-)5
Problemas 165
Un multiplexor 8 x I tiene las entradas A, 8 Y e conectndas a las entradas de selección 52. SI Y
So, respoctivamente. Las enU'1ldas de datOS IOa/7 soo: 1
1
- 1: - /,'" 0; / ) = 1, = 1: /0 = J. = D:
e l. '" D'. Detennine la función booleana que implementa el multiplexOf.
Implemente la siguiente fuoción booleana con un multiplexor 4 x I y compuertas externas. Co-
necte las entrodas A y 8 a las lineas de selección. Los requisi tos de entrada de las CUlltro lineas
de datos ser:in fuociÓtl de las variIlblc5 e y D. Estos valores se obtienen expresando F en fuociÓfl de
e y D par:! cada uno de los cuatro casos en que AB "" 00. 01. la y 11 . Podrla ser necesario im-
plementar estas funciones con compuertas externas.
F(A. 8.C.D) = I (1. 3. 4. 11. 12. 13. 14. IS)
4 · 36 Escriba la descripción HDL en el nivel de compuertas del circuito codificador prioritario de 111 fi ·
gura 4-23.
4 · 37 Escriba la HDL en el nh-el de compuertaS de un sumador-restador de cua·
tro bits para números binarios sin signo. El circuito es similar a la figul'1l 4- 13 pero sin la salida
V_ Se puede usar un ejemplar del sumlMior completo de cuatro bits que se describe en el ejemplo
HDL 4-2.
4 -38 Escriba la descripción HDL de nujo de dalos de un mul tiple.lor cuádruple de 2 líneas a l con ha-
bilitación (vfase la fi gura 4-26).
4· )9 Escriba una descripción HDL del comportamiento de un comparador de cuatro bits con una sao
lida de seis bits YIS : 01. El bit S de Yes para igualdad. el bit4 para desigualdad. el bit 3 para mayor
que. el bit 2 para menor que. el bit 1 para mayOf o igual que. y el bit O para menor o igual que.
4-40 Escriba una descripción HDL de flujo de datos de un sumador-restador de números sin signo de
cuatro Utilice el operador condicional (1:).
4-41 Repita el problema 4-40 empleando mOOclado de comportamiento.
4-42 a) Escriba una desl.:ripción HDL en el nivel de compuertas del circuito convertidor de BCD 11
exceso--3 que se ilustra en [a figura 4-4.
b) Escriba una descripción de fluj o de datos del convert idOf de BCD a exccso-3 utili zando [as
expresiones booleanas de la figura 4-3.
e) Escri ba una descripción HDL del componamiento de un con ..... rtidor de BCD a exccso-3.
d) Escriba un conjunto de pruebas para simular y probar el circuito con"ertidor de BCD a ex-
ceso--3 y veri fi car la labia de ,'erdad. Compruebe los tres circuitos.
4·43 Explique la función del circuito especi fi cado por tu descripción HOL siguiente:
-o6ul. Prob438 (A.B,5,E,Q):
11:0) A, B:
5, E:
output (1:0) Q:
••• ign Q • E ? (5 ? A : B) : 'b:z::
4-44 Escriba una descripción HDL del comportamiento de una unidad de aritrnftica.-Iógica (ALU) de
cuotro bits. El cin:uito efectúa dos apelaciones ari tmfticas y dos lógicas que se seleccionan con
una entrada de dos bits. Las cuatro operaciones son suma. resta. ANO y OR.
4 -45 Escriba una descripción HDL del comportamiento de un codificador prioritari o de cuatro entra-
das. Use un vector de cuatro bits para las entrndll5 D y un bloque a1ways con enuociados if-clse.
Suponga que la entrada Dl31 es prioritaria.
Mf. rt 11 protegido por !,?3rec 10 de u ':Ir
166 Capítulo 4 lógica combinacional
REFE RENC I AS
,. DmTMEvER. D. L 1988. Lagie Design 01 Digital S)'stems. 3a. ed. B05ton: Allyn BacOfl.
2. GAJSKI. D. D. 1997. Principies olDigitallXsign. Upper Saddle River. NJ: Prentice-HaIl.
3 . HAVES. J. P. 1993. lmrodlletion to Digiml Logie Deslgil. Reading. MA: Addison-Wesl ey.
4 . KAn R. H. 1994. COlllemptlrory Logie DeS/giL Upper Saddle Ri\·er. NI: Prentice· Hall.
S. MANO, M. M. Y C. R. KIME. 2000. Logie and COflt¡lIIItr Design Fllmtamentols. 2a. ed. Uppcr
Saddle River. NI: Prentice-HalJ.
6. NEl.S()N V. P., H. T. NAGLE, l . D. IRWlN Y B. D. CARI!OI I 1995. Digital Logie Circuir Anal)'sis and
Design. Uppcr Saddle Rh'er, NJ: Prentice-Hall.
7. Ram, C, H. 1992. Furnromemals 01 Logie Design. 4a. ed. Sto Paul: West.
8. W"" ERLV. J. F. 2000. Digitallksigll: Principies ¡.md Proetices. 303. ed. Uppcr Snddle Ri\·er. NJ:
Prentice-Hall.
9. BIIASKER. J. 1997. A Verilog HDL Primer. Alkntown. PA: Suu Galaxy PresS.
10. BIIASKER. J. 1998. Verilog HDL S)'mhnis. Allentown. PA: Star Galllll.Y Press.
t 1. Cn.ETT1. M. D. 1999. Modeling. S)'nthesis. and Rapid Pro/Qt)"ping K'ith Verilog HDL Upper Sad·
die River. NI: Prenlice-Hall.
12. PI.l.NITKAR, S. 1996. Verilog HDL: A Guide to Digiral Duign IInd S)"mhesis. SunSoft Press (un
título Prentice· HIlII ).
11. THot.tAS. D. E. Y P. R. MOOkBV, 1998, ~ l't!rifog Hardware Deseriprion LunglUlgt. 4a. ed. Ros·
ton: K1uwer Academic Pub1ishers.
M a t ~ r t ' l l protegido por derechos de 'lL.: or
Lógica secuencial
. "'.
slncronlca
5- IRCU I TOS SECUENCIALES
circuitos di gitales estudiados hasta ahora han sido combinacionales: sus sali das dependen
de la! - -:¡c ;'1 ¡ir Ó l' • . ' ,"': -,t; -; r, - _ .... l ue todos los sistemas di gi tal es
circuitos combinacionales, casi todos los que se usan en la práctica incl uyen
de almacenamiento, que requieren que el sistema se describa en términos de Mgica
En la figura 5-1 se presenta un di agrama de bloques de un circuito secuencial Consiste en
circuito combinacional al que se conectan elementos de almacenamiento para formar una
de retroali mentación. Los cl ement os de al macenamient o son dis positi vos capaces
guardar información binana. La información almacenada en estos elementos en cualquier
dado defi ne el estado del ci rcuito secuencial en ese momento. El ci rcuito secuencial
información binaria de entradas externas. Esas entradas, junto con el eslado aclUaI de
elementos de al macenamiento. delenni nan el valor binario de las salidas. Tambitn delenninan
condi ción para cambiar el estado de los elementos de almacenamiento. El diagrama de blo-
indica que las salidas de un circuito secuencial son funci ón no sólo de las entradas. sino
del estado actual de los elementos de al macenamiento. El siguiente estado de los ele-
almoceoamiento tambit n es función de entradas externas y del estado actual. As! pues.
Entradas

Ci rcuito

Salidas
combinacional
Elementos
,
de memoria
I
FIGURA 5 · 1
Diagrama de bloques de un circuito secuencial
,.." • (1').1 prl)teq :10 p-: 116J
,
168 Capít ulo 5 lógica secuencial sincrónica
un circuito secuencial se especifica con una sucesión tem¡xm¡.1 de entradas. salidas y estados
internos.
Hay dos tipos principales de circuitos secuenciales. y su clasificación depende de los ti em-
pos de sus señales. Un circuito secuencial sincr6nico es un sistema cuyo comportamiento se
define conociendo sus señales en instantes discretos. El eomponamiento de un circuito secuen-
cial asillcr6nico depende de las sciiales de entruda en cual quier instant e dado y del orden en
que cambian las entroda.'l. Los elementos de aJmacenamienlo que suelen usarse en los circui-
tos secuenciales asincronicos son disposit ivos de retardo de tiempo. LD. capacidad de almace-
namiento de un di spositivo de retardo de tiempo se debe al tiempo que la señal tarda en
propagarse por el dispositi vo. En la prácti ca. el retardo interno de propagación de las com-
puenas lógicas tiene la sufici ente duración como para producir el retardo requerido. de modo
que podrían no ser necesarias unidades de retardo adicionales. En los sistemas asincroni cos ti -
po compuena. los elementos de almacenamiento consisten en compuenas lógicas cuyo retar-
do de propagación hace posible el almacenamiento requerido. Así. un circuito secuencial
asincronico podría considerarse como un circuito combinacional con retroalimentación. Gra-
cias 11 la retroalimentación entre compuertas lógicas. el circuito secuencial asincronico podría
volverse inestable ocasionalmente. El problema de inest.abi lidad impone muchas
al diseñador. Los circuitos secuenciales asincronicos se estudiarán en el capft ul o 9.
Un circuito secuencial sincrónico utiliUl señales que afectan a los elementos de almacenamien-
10 únicamente en instantes discretos. La sincroniUlción se logra con un di sposilivo de temporiza-
ciÓn llamado gcnerruJor de reloj, el cual produce un tren periódico de pulsos (le reloj. Los pulsos
de reloj se di slribuyen por todo el sistema de modo que los elementos de almacenamiento sólo se
vean afectados alllegnr cada pulso. En la pn1ctica. los pulsos de reloj se aplican con Olras seña-
les que especifican el cambio en los elementos de almacenamicnto. Los circuitos secuen-
ciales sincrónicos que usan pulsos de reloj en las entrodas de sus elementos de almacenamiento
se denominan circuitos sec •• ellci(j/es COII reloj. y son el tipo que se usa más comúnmente en la prác-
ti ca. Casi nunca manifiestan problemas de estabilidad y es fácil dividir su temporización en pa-
sos discretos independientes. cada uno de los cuales se puede considerar por separado.
Los elementos de almacenamiento empleados en los circuitos secuenciales con reloj se lIanUUl
fliPllops. Un flip-nop es un dispositivo binario de nlmacennmiento que puede almacenar un bit
de información. Un circuito secuencial ¡xxhín usar muchos nip-nops para almnt'enar tllntos bilS
como sea necesario. En la fi gura 5-2 se ilustra el diagrnma de b[<x¡ues de un circuito secuencial
Entradas

Ci rcuito
Satidas
combinacional
Aip-n0p5
Pulsos de retoj
a) Diagrama de bloques
J L-I ---,1 L-I ---,1 L-I ---,1 L-I ---,1 L
b) Diagrama de temporización de los pulsos de reloj
FIGURA S-2
Circuito secuencial sin<rónico con reloj
Mat rn[ protegido p?f derechos de ':lut')r
Sec.clón 5 ~ 2 latc.hes 169
si ncrónico con reloj . Las salidas pueden provcnir del circuito combinacional o de [os tlip-nops,
o de ambos. Los tlip-nops reciben sus enlrndas del circuito combinacionaJ y también de una se-
aal de reloj cuyos pulsos se presentan a intervalos fijos de tiempo. como se observa en el di agm-
ma de tcmporización. El estado del nip-flop sólo puede cambiar durJ.nte una transición de pulso
de reloj. Cuando el pulso de reloj no está activo, el ciclo de retroalimentación se rompe porque
las sali das del flip-nop no pueden cambiar aunque cambie el va!()('de las salidas del cin:uito com-
binacional que alimenta sus entradas. Por tanto. la tnmsición de un estado al siguiente se da úni -
camente a intervalos de tiempo preestabl ecidos. dictados por los pulsos de reloj.
5-2 LATe H ES
Un cin:uito tlip-flop puede mant ener un estado binario indefi nidament e (en tanto se alimente
electricidad al cin:uito), hasta que una señal de entrada le indique que debe cambiar de estado.
Las principales diferencias entre los diversos tipos de fli p-flops radican en el número de entm-
das que tienen y en la forma en que las entradas afectan el estado binario. Los tipos más básicos
de flip-flops operan con ni veles de señal y se llaman Ia/clles. Los latches que presentaremos aquí
~ n los circuitos básicos con los que se construyen todos los flip-fl ops. Aunque los latches son
úti les para almacenar informaciÓll binaria y para diseñarcin:uitos secuencinles asincrónicos (véa-
se la sección 9-3). no resultan prácticos en los circuitos secuenciales sincronicos. En la sección
que sigue presentaremos los tipos de flip-flops que se usan en los circuitos secuencial es.
Lalch SR
El lalch SR es un circui to con dos compuertas NOR acopl adas en cruz o dos compuertas NAND
acopladas en cruz. TIene dos entradas. S (de set, establecer) 'Y R (de reset, restablecer). El latch
SR que se construye con dos compuenas NOR acopl adas en cruz se aprecia en la fi gura 5-3.
Ellatch ti ene dos estados útil es. Cuando las salidas Q ::: I y (l = O, decimos que está en el
estado establecido. Cuando Q = O Y (l = 1. está en el estado restablecido. Las salidas Q y
(l nonnalmente son una el complemento de la otra. pero si ambas entradas son I al mi smo ficm-
po. se presenta un estado indefinido en el que IImbas salidas son O.
En condiciones normales. las dos entradas dellatch pennanecen en O a menos que se deba cam·
biar de estado. La apl icación momentánea de un 1 a la entrada S hace que e1latch pase al estado
establecido. La entrada S debe volver a O antes de cualquier otro cambi o. para que no se presen-
te cJ estado indefinido. Como se indica en la tabla de función de la figura 5·3b). dos condiciones
de entrada hacen que el cin:uito esté en el estado establecido. La primera condición (S = 1,
I
O R(reset) S R Q Q'
Q
O O I I
O O I
O (Despubdd - I. R - O)
:J
O I O I
I
Q'
O O O
I (DespubdeS - O. R - l)
S (set)
I I o O
a) Diagrama lógico b) Tabta de runción
fIGURA 5·3
Latch SR con compuertas NOR
Mal rFJ[ protegido p-?r derechos de '1U ':Ir
S
e
Sección 5· 2 latches 171
e s R Siguiente estado de Q
Q
O
, ,
Sin cambio
1 O O Sin cambio
1 O 1 Q - O;estado U'ltabteddo
1 1 O Q - ¡;estado establecido
1 1 1 Indeterminado
a) Diagrama lógico b) Tabla de runción
FIGURA 5· 5
latch SR con entrada de control
cuito permanece en SU estado act ual. La entrada de control inhabilita el circuito aplicando O n
C. de modo que el estado de la salida no cambie sean cuales sean los valores de S y R. Ade-
más. cuando C ::::lt I Y ambas entmdas S y R son 0, el eslado del circuito permanece sin cam·
bio. Estas condi ciones se presentan en la labia de runción que acompaña al diagmma.
Se presenta una condición indeterminada cuando las tres entradas son l . Esta condi ción co·
lOCa ceros en amba.s entradas dellatch SR b:1sico. lo que hace que éste pase al estado indefini·
do. Cuando la entrada de control vuelva a 0, no será posible determinar de rorma concluyente
el próximo estado, pues dependerá de cuál entrada. S o R. cambie primero a O. Esla condición
indetermina.da dificulta el manejo de este circuito y casi nunca se usa en la práctica. No obs·
tante, es un circuito importante porque otros latches y nip·f1ops se construyen con él.
Latch D
D
e
Una rorma de eliminar la condición indeseable del estado indeterminado en ellatch SR es ga-
rantizar que las entr.tdas S y R nunca sean 1 al mismo tiempo. Esto se hace en el latch D que
se ilustra en la figura 5·6. Este ¡atch sólo tiene dos entradas: D (datos) y e (control ). La entm·
da D pasa directamente a la entrada S y su complemento se aplica a la entrada R. En tanto la
entrada de control eslé en 0, el latch SR acoplado en cruz tendrá ambas entmdas en el nivel 1
y el circuito no podrá cambiar de eSlado sea cual sea el valor de D. La entrada D se muestrea
cuando e "" l . Si D "" 1, la salida Q pasará n 1. colocando el circuito en el estado estableci-
do. Si D "" O. la salida Q pasará a 0, colocando el circui to en el estado restablecido.
1>
FIGURA 5-6
lat(h O
a) Diagrama 168ico
Q
Q'
e D
Siguiente estado de Q
O X Sin amblo
1 O Q - O: wado re$tableddo
1 1 Q - 1; estado establecido
b)Ti.bla de función
M • fl 31 protegido por derecho"- de u ':Ir
172 Ca pítulo S l ógica secuencial sIncrónica
s
-- R
SR
FIGURA S-7
Símbok>s gráficos de farches
--9 S
----<j R
- --iD
- --i c
D
El latch D se llama así por su capacidad para almacenar datos en su intenor. Es apropiado
para usarse como almacenamiento temporal de información binaria entre una unida.d y su en-
torno. La información binaria presente en la entrada de dalos dellatch D se trnnsfiere a la sa-
lida Q cuando se habi lita la entrada de control. La salida seguirá los cambios en la entrnda de
datos en tanto habilitada la entrada de control. Esta si tuación crea un camino de la entra+
da. D a la salida. y es por ello que el circuito se conoce como latch rrall.fJXIrt'nle. Cuando se in-
habilita la entrada de control. la infonnación binaria que e.<¡laba presente en la entrada de dalos
en el momento en que se presentó la transici ón se conservará en la salida Q hasta que se habi +
lite otra vez la entrada de control.
En la figura 5-7 se presentan los símbolos gráficos para los distintos Imches. Los Intches se
representan con un rectángulo cuyas entradas están a la i7.Quicrda. y sus salidas. a la derecha.
Una salida indica la salida normal. y la olra (con burbuja), su complemento. En el símbolo
gráfico dellatch SR. las entradas S y R se indican dentro del rectángulo. En el caso de un latch
de compuenas NAND, se anaden burbujas a las entradas para indicar que el establecimiento y
el restablecimiento se efectúan con la señal de O lógico. En el sfmbolo gráfico dellat ch D las
entradas D y e se indican dentro del rectángulo.
5-3 Fl I P- FlOPS
El estado de un latch o flip-flop se conmuta con un cambio en la entrada de control. Este cam-
bi o momentáneo se denomina disparo y decimos que la transición que causa dispara el flip-flop.
Ellatch D con pulsos en su entrada de control es básicamente un flip-flop quc se di sparo! cada
vez que el pulso alcan7.ll el nivel de 1 lógico. En tanto la entrJ.da de pulso se mantenga en es·
te nivel, cualquier cambio en la entrada de datos hará que cambie la salida. y el estado del latch.
Como se aprecia en el diagrama de bloque.'i de la figura 5-2. un circuito secuencial tiene una
trayectoria de retroalimentación de las salidas de los flip-flops a la entrada del circuito com-
binacional. Por tanto, las entr.Ybs de los flip-nops se derivan en pune de las salidas de esos mis·
mas flip-flops y de otros. Cuando se usan latches como elementos de almacenamiento, surge
una dificuh.3d grave. Las transiciones de estado de los latches se inician lan pronto como el pul.
so dc reloj cambia al nivel de I lógico. El nuevo e.'itado del latch aparece en la salida mi entras
el pulso aún está activo. Esta sal ida se conecta a las entradas de los latches a trnvés del circui·
10 combinacional. Si las entradas aplicadas a los latches cambian mientras el pulso de reloj to-
da.vfa está en el nivel de I lógico, los latchcs responderán a nueyos valOf"es y p<xIrin presentarse
un nuevo estado de salida. El resullado es una si tuación impredecible. ya que el estado de los
latches p<xIrfa seguir cambiando durante lodo el ticmpo que el pul so de reloj se mantiene en el
Mat 'JI pro <:Ir dE' 'Jl '"Ir
Sección 5-3 Flip-Flops 173
1 1
a) Rcspuesla al nivel posi!ivo
----.JI L-I -----' , L- I -----' , ,--1 --', L-I _
b) Respuesla al borde posilh'o
----.JI 1,----,1 1,----,1 1 '-------,1 1'---_
e) Re5puesla al borde ncgalivo
FIGURA 5-8
Respuesta al reloj en un latch y un flip.flop
estado activo. Debido a este funcionami ento poco confi able, no es posible apl icar directamen-
te. ni a través de lógica combinacional. la salida de un lalch a la entrada del mismo latch o de
otro. cuando todos los ¡atches se disparan con la mi sma fuente de reloj.
Los circuitos de flip-flop se construyen de tal manera que funcionan correctnmente cuando for-
man parte de un circuito secuencial que utiliza un solo reloj. El problema del latch es que respon-
de a un cambio en el nivd de un pulso de reloj . Como se observa en la fi gura 5-8a). una
respuesta de nivel positivo en la entruda de control pennite cambios en la salida cuando la entra-
da D cambi a mientras el reloj se mantiene en el nivel de I lógico. La clave para que el flip-fl op
funcione correctamente es disparurlo úni camente durante una tm,lSición de la señal. Un pulso
de reloj sufre dos transiciones: de O a I y de I a O al regresar. Como se aprecia en la figura 5-8.
la transición posit iva se defi ne como el borde (o flanco) posi tivo. y la negativa. como el borde ne-
gat ivo. Hay dos fonnas de modificar un latch para formar un fl ip-fl op. Una consiste en uti -
li7.ar dos latches en una configuración especial que afsla la salida del flip-flop para que no se vea
afectada mientras su entrada está cambiando. Otra consiste en producir un flip-flop que se di s-
pare únicamente durante una transición de señal (de O a I o de I a O) y quede inhabi litado duran-
te el resto del pulso de reloj. Ahora mostraremos la implementación de ambos ti pos de flip-flop.
Fllp-flop D disparado por borde (o flanco)
En la figum 5-9 se representa la construcción de un flip-fl op D con dos latches D y un inver-
sor. El primer latch es el amo. yel segundo. el esclavo. El circuito muestrea la entrada D y cam-
bia su salida Q únicamente en el borde negativo del reloj controlador (designado por CLK
(dock!) . Cuando el reloj es O. la salida del inversor es l . Ellatch esclavo queda habilitado y su
salida Q es igual a la salida Y del amo. Ellatch amo queda inhabililado porque eL/( = o.
174 Capítulo 5 lógica secuencial si ncrónica
D
y
D D
u,,:h D
uuch D
Q
(
(.mo)
l e
(escla\'o)
eLK
-l>
FIGURA 5-9
Flip-flop D amo-esclavo
Cuando el pulso de entrada cambia al nivel de I lógico, el dato de la entrada D externa se trans-
fiere al amo. El esclavo, empero, estará inhabili tado en lanto el reloj permane7.ca en el nivel 1,
porque su entrada e es 0, Cualqui er cambio en la entrada hará que cambie la salida Y del
amo, pero no afectará In salida del esclavo. Cuando el pulso vuelva a 0, el amo quedará inha-
bilitado y aislado de la entrada D. Al mi smo tiempo, el esclavo estará hllbili tado y el valor Y
se transferirá a la salida Q del nip-nop. Asr, la salida del mp-nop sólo puede cambiar duran-
te la transición del reloj de 1 a O.
El comportamiento del mp-nop amo-esclavo que acabamos de describir implica que la sali-
da sólo puede cambiar durante el borde negativo del reloj. También es posible disenar el circui -
to de modo que la salida del ni p-f1op cambie en el borde posilivo del reloj. Esto sucede en un
nip-nop que tiene un inversor adicional entre la tenninal CLK y la uni ón entre el otro im'ersot' y
la entrada e dellatch amo, Un mp-f1op semejante se dispara coo un pulso negatÍ\'o, de modo que
el borde negativo del reloj afecte al amo. y el positivo. al esclavo y a la terminal de salida.
Una construcción más eficiente de un f1ip-nop D disparado por borde utili z,. 1 tres lalches SR,
como se muestra en la fi gura 5- 10. Dos lalche$ responden a las entradas externas D (datos) y
s
Q
::;,
Cr
l
R
eLK
Q'
-
D
FIGURA 5·10
Flip. flop tipo D disparado por borde positivo
Mat"'nal protegido por derechos da 3ul')r
Sección 5· 3 Flip-Flops 175
CLK (reloj). El tercer latch proporciona las salidas para el flip.f1op. Las entrodas S y R dellatch
de salida se mantienen en el nivel 1 lógico cuando CLK = O. Esto hace que la salida pennanez·
ca en su estado actual. La entrada O podría ser O o l . Si D = O euando CLK pasa a 1, R canlbia
a O. Esto hace que el flip-f1op pase al estado restablecido, de modo que Q = O. Si hay un crun-
bio en In entr.um O mientras CLK = l. In tenninnl R pe:nnanecern en O. Así, el f1ip-f1op queda
bloqueado y no responde a más cambios en la entrada. Cuando el reloj vuelve a O, R cambia a
I y hace que el latch de salida pase a la condición latente sin cambiar su salida. Asi mi smo, si
D = I culllldo CLK pasa de O a l. S cambiani a O. Esto hace que el circuito pase al estado esta·
blecido y que Q = l. Cualquier cambio en D mienlrllS CLK = 1 no afectani la salida.
En sfntesis, cuando el reloj de entrada del f1ip-fl op disparado por borde positivo efectúa una
transición positiva. el valor de D se transfiere a Q. Una transición negativa de I a O no afecta
la salida, y tampoco lo hace cuando CLK está en el nivel estable de I lógico o O lógico. Por tan-
to, este lipo de flip.f1op responde a la transici ón de O a I ya ninguna otra cosa.
Los tiempos de la respuesta de un flip-f1op a los datos de entrada y al reloj se deben tomar
en consideración al usar f1ip-f1op disparados por borde. Hay un tiempo mrnimo, llamado ticmpo
de prr/H1rocidll (sewp en inglés), durante el cual la entrada D se debe mantener en un valor cons-
tante antes de que se presente la transición de reloj. Asimismo, hay un ti empo mínimo. llama·
do tiempo de reUncidn (hold en inglés), durante el cual la entrada D no debe cambiar después
de la aplicación de la transición positiva del reloj. El retardo de propagación del flip-f1op se de--
fine como el intervalo de tiempo entre el borde di sparudor y la estabili7.3ción de la salida en
un nuevo estado. &tos y otros parámetros se especifican en los libros de datos de los fabrican·
tes de familias lógicas específicas.
I El símbolo gráfico para el flip-f1op D di sparado por flanco aparece en la figura 5-11. Es si·
milar al utili zado para ellatch D, excepto por el símbolo triangular antes de la letra e que de·
signa una entrada dinámica. El illdicador dinámico denota el hecho de que el Oip-nop responde
a la transición de borde del reloj. Una burbuja afuera del rectángulo, j unto al indicador diná-
mico, denota un borde negativo para disparar el circuito. La ausencia de la burbuja denota una
respuesta al borde positivo.
Otros fllp. flops
Los circuitos de integración a muy grande escala contienen miles de compuertas en un paque-
te. Los circui tos se construyen interconectando las diversas compuertas paro crear un sistema
digital. Cada f1ip-f1op se construye interconectando compuertas. El f1ip-f1op más económi co
y eficiente construido dc esta manera es el flip-f1op D disparado por borde, porque es el que
-- D
- -lD
a) Borde positi vo b) Borde negativo
FICURA 5-11
Símbolo grá(ko para el fIIp-fl op O disparado por borde
M a t ~ r t ' l l protegido por derechos de 'lL.: or
176 Capítulo S l ógica secuencial si ncrónica
J
K
~
~
FIGURA S-12
Fllp-Flop IK
D
eLK
-j> e
a) Diagrama de circuit o
Q
Q'
b) Símbolo gr:l fi CQ
menos compuertas requiere. Es posibl e construir otros tipos de fli p-Oops util izando el flip-flop
O y lógica externa. Dos mp-flOps umpliameme utilizados en el di seño de sistemas digitales son
los mp-nops JK y T.
Hay tres operaciones que pueden efectuar.>e con un nip-flop: establecerlo en 1, restabl ecer-
lo a O y complementar su salida. El nip-flop JK reuli1.a las tres opt:r.teioncs. El diagrnma de cir-
cuito de un nip-flop JK construido con un flip-fl op D y compuerta .. se reproduce en la figura.
5-1b ). La enlrnda J establece el flip-flop en l. la enltada K lo restablece a O y. cuando ambas
entradas están habilitadas. la sal ida se complementa. EsIO se ,'erifica im'estigando el ci rcui to
apli cado a la emrada O:
D : 1([ + K'Q
Cuando J = l Y K "" O. D = (! + Q = l. asf que cI siguieme borde del reloj e. .. tablece la su-
lida en 1. Cuando J '" O Y K = l . D '" O. así que el siguient e borde del reloj restablece la
salida a O. Cuando J = I Y K '" l . D '" (!. y el siguiente borde del reloj complementa la sa-
li da. Cuando J e K ::::E O. D '" Q, y el borde de reloj no altera la salida. El símbolo gráfico del
nip-flop JK se indica en la figura 5- l2b). Es simi lar al del flip-flop D. c:<cepto que ahora las
entradas están marcadas con J y K.
El flip-flop T(toggll! ) es un flip-flop complemenlador y se puede implementar con un flip-flop
JK si se conectan entre sr las entradas J y K. como se observa en la fi gura 5- 13a). Cuando
T ~ O (J -= K :: O). un borde de reloj no modifica la salida. Cuando T = I (J = K = 1). un
borde de reloj complementa la salidll. El flip-nop complementador es útil pam di señar conta·
dores binarios.
El mp-nop Tse puede construir con un mp-nop D y una compuerta OR exclusivo. como
se indica en la figura 5-13b). La expresión para la entrada D es
D = T ffi Q = TQ' + T'Q
Cuando T :2 O. entonces D :: Q. y la salida no cambia. Cuando T = l . entonces O = Q' y la
sal ida se complementa. El sfmbolo gráfico de este nip-fl op tiene una T en la ent rada.
Mat r '3.1 protegido lY)r derechos de ':lut')r
T J
e
K
a) Con un mp- nop JI(
FIGURA S- 1 J
Fli p-Flop T
T
D
t e
b) Con un mp-nop D
Sección 5-3 Fllp-Flops 177
- --i T
- -tpe
L---.J
t) 51mbolo grl.fKQ
Tablas características
Una tabla característi ca define las propiedades lógicas de un flip-fl op describiendo su funcio-
namiento en fonna tabular. En la tabla 5-1 se presentan las tablas característi cas de tres tipos
de flip-flops. Definen el siguiente estado en función de las entradas y del estado actual. Q(I)
se refiere al estado actual antes de la aplicación de un borde de reloj. Q<I + 1) es el siguiente
estado, un periodo de reloj después. Observe que la entrada de borde de reloj no se incluye en
la tabla característi ca, pero se supone implfci tamente entre el ti empo 1 y el tiempo I + 1.
La tabla carncterfsti ca del flip-flop JK reyela que el sigui ente estado es igual al estado ac-
tual cuando las entradas J y K son ambas O. Esto se expresa como Q(I + 1) = Q(I), e indica
que el reloj no produce ningún cambio de estado. Cuando K "" 1 Y J "" O, el reloj restablece
el flip-flop y Q(, + 1) "" O. Con J "" 1 Y K "" O, el fli p-flop se establece: y Q(, + 1) "" 1.
Tabla S-l
Toblol corocteriJticos de fIIp·Nops
.. ,P-..... } •

J K Q(I + 1)
O O Q(, ) Sin cambio
O I O Restablecer
I O I Establecer
I I
Q'(' )
Complell\l:ntaT
.. ,P-..... O
.. 'p-..... T
D Q(I + 1) T Q{t + 1)
O O Restablecer O Q(,) Sin cambio
I I Establecer I
Q' (' )
Complell\l:nlOf
178 Capítulo 5 lógica .secuencial sincrónica
Cuando tanto J como K son l . el siguiente estado cambia al complemcnto del estado actual, lo
que se expresa. como Q(t + 1) = O'(t ).
El siguiente estado de un nip-flop D depende I1nieamente de la enlrada D y e. .. indepen-
diente del estado actual. Esto se expresa como Q(l + 1) == D. Y significa que el valor del si-
gui enteestado ser.!. igual al valor de D. Cabe señalar que el flip-flop O no ticne una condición
de "sin cambio". Esta condición se obtiene inhabilitando el reloj o dejando el reloj y conectan·
do la salida de vuelta a la entrada O cuando el estado del fl ip-flop no debe cambiar.
La tabla característica del flip-flop T tiene sólo dos condiciones. Cuando T :: O. el boro
de de reloj no cambia el estado. Cuando T == l. el borde de reloj complementa el estado del
fli p-flop.
Ecuaciones características
Las propiedades lógicas de un flip-fl op descriw en la tabla característi ca se pueden
expresar algebraicamente con una ecuación característica. En el caso del fl ip-flop D. tenemos
la ecuación característica
Q(I + I ) - D
Esto nos dice que el siguiente estado de la salida será igual al valor de la enlr.1da D en el esta-
do actual. La ecuación característica paro el fl ip-flop JK se deduce de la tabla característica o
del circuito de la figum 5-12. Se obtiene
Q(I + 1) - lQ' + K'Q
donde Q el valor de la salida del flip-fl op antes de la aplicación de un borde de reloj. La ecua-
ción característica del flip-flop T se obtiene del circui to de la figum 5-13:
Q(I + !) - TeQ - TQ' + rQ
Entradas directas
Algunos flip-fl op tienen entradas asincronicas que sirven para forlar el flip-flop a un estado
dado independient emente del reloj. La entrada que pone el flip· flop en I se llama preeswble.
cimitmto (preset) o e.uabJecimiento direclO. La entrada que pone en O el flip-flop se llama bo-
rrado (clea, ) o rrstablecimit'nto directo. Cuando se enciende un sistema digital. se desconoce
el estado de los flip-flops. Las entradas directas sirven para poner todos los fl ip-flops del sis-
tema en un estado inicial conocido antes del funcionamiento con reloj.
En la figura 5-14 se ilustra un flip-flop D di sparado por fl anco posi ti vo. con restablecimien-
to asincronico. El diagrama de circuito es igual al de la fi gum 5-10. excepto por la entrada de
restableci miento (reset) adicional conectada a tres compuertas NANO. Cuando la enlmda
de restablecimiento es O, hace que Q' se mantenga en 1; esto. a su vez. pone en O la salida Q.
con lo que el flip-fl op se restablece. Otras dos conexiones de la cnlroida de restablecimiento ga-
rantizan que la entrada S del tercer latch SR se mantenga en 1 lógico mientras la entrada de res-
tablecimiento está en O. sean cuales sean los valores de O y de CLK.
El sfmbolo gráfico del flip-flop D con restableci mi ento di recto ti ene una entrada adi cional
que se marca con R. La burbuja en la entrada indi ca que el restablecimiento está acti vo en el
ni \'cl de O lógico. Los flip-flops con estableci mi ento directo uti lizan el sfmbolo S ¡mm la en·
tr.sda de establecimiento asincronico.
protegido por derechos de 'lt.: or
r-r
S
eLK
r-r
R
D
-L
a) Diagrama de circuito
Data --iID
I/-_
Q
elK ---I>c
I>--Q'
L...;R,------l

b) Sfmbolo gráfico
FIGURA 5· 14
Fllp·f1op D con restablecimiento
Sección 5-3 Fllp-Flops 179
.J
.J
ReD Q Q'
o x x o I
I f o o I
I f I I o
e) Tabla de runción
Q
Q'
La tabla de función especifi ca la operación del circuito. Cuando R = O. la salida se resla-
blece a O. E.'ite estado es independiente de los valores de D o de C. El funcionamiento nonnal
con reloj sólo podrá inicinrse despufs de que la entradn de restablecimiento cambie a 1 lógi-
co. El reloj en e lleva una necba hacia aniba para indicar que el flip-fl op se disparo con el bor-
de posili vo del reloj. El valor en O se lransfiere a Q con cada señal de reloj de borde positivo.
siempre que R = l .
Mal rF11 protegido po?r derechos de '1U ')r
180 Capitulo 5 lógica secuencial sincrónica
S-4 ANÁLISIS DE CIRCUITOS SECUENCIALES
CON RElOJ
El comportamiento de un circuito secuencial con reloj está detemlinado por las entradas. las
salidas y el estado de sus nip-flops. Las salidas y el siguiente estado son función de las enlra-
das y del estado actual. El análi sis de un circuito secuencial consiste en obtener una tabl3 o dia-
grama p3f3 la sucesión temporal de entradas. salidas y estados internos. También es posible
escribir expresiones booleanas que describan el componamiento del circuito secuencial. Tales
expresiones deberán incluir la sucesión temporal necesaria, sea directa o indirectamente.
Un diagrama lógico se reconoce como circui to secuencial con reloj si incluye nip-flops con
entrnd3S de reloj. Los nip-flops pueden ser de cualquier tipo. y el diagrama lógico podría incluir
o no compuertas de circuitos combinacionales. En esta sección se incluye una representación
algebraica paro especificar la condición del siguiente estado en del estado actual y de
las entrudas. Luego se presentará una tabla de estados y un diagrama de estados pam describir
el comportamiento del circuito secuencial. Moslntremos otra representación algebi.lica para es-
pecificar el diagrama lógico de los circuitos secuenciales. Se incluyen también ejemplos espe-
cíficos para ilustrar los diversos pnx:edimientos.
Ecuaciones de estado
El componamiemo de los circui tos secuenciales con reloj se describe algcbmicamcme con
ecuaciones de estado. Una ecuación de estado (tambi én llamada eCllaciÓn de transición) es-
pcci.fica el siguiente estado en función del estado oclOal y las Consideremos el cir-
cuilo secuencial de la figura 5- 15. Consta de dos flip-fl ops D. A Y B. una cntrada x y una sal ida
y. Puesto que la entrada Dde un nip-flop delennin3 el valor del siguiente estado. podemos es-
cribir un conjunto de ecuaciones de estado para el circuito:
A(, + 1) = A(,)x(, ) + 8(, )x(, )
8(' + 1) = A' (, )x(, )
Una ecuación de estado es una expresión algebraica que especi fi ca la condición para una tran-
sición de estado de un flip-fl op. El mi embro iUJuierdo de la ecuaciÓn. donde aparece (t + 1).
denO(a el siguient e estado del ni p-flop, un borde de reloj después. El miembro derecho de la
ecuación es una expresión booleana que especifica el estado OClOal y las condi ciones de entra-
da que harán que el siguiente estado sea l. Puesto que todas las variables de las expresiones
booleanas son función del estado actual, se omite la designación (1) después de cilda vari able.
por conveniencia. a fi n de expresar las ecuaciones de estado en la fonna. más compacta:
A(l + 1) = Ax + 8x
8(1 + 1) :::s A'x
Las expresiones booleanas paro ecuaciones de estado se deducen directamente de las com-
puenas que forman la pune de circuito combinacional del circuito secuencial. ya que los va-
lores O del circuito combinacional detenninan el siguiente estado. Asimismo. el valor del
estado act ual de la salida se expresa algebraicamente como
), (, ) = (A(' ) + 8 (,) lx' (, )
Al omitir el sfmbolo (1) para el estado actual. se obtiene la ecuación boolea.mt de salida:
y = ( A + B):c'
Mat fI'll protegido por dere("t-Jo de 'lL: '"Ir
Sección 5-4 Análisis de circuitos secuenciales con rel oj 181
,
I
1"
D
-
e
-
A"
I
D

e

."
el . K
,

v
FIGURA 5- 15
Ejemplo de circuito secuencial
Tabla de estados
La sucesión temporal de enlr.ldas. salidas y estados de flip-flop se puede presentar de fomla
compacta en una tabla de estatlos (tambi6n ll amada labia de tmT15ición). La tabla de eslados
paro el circuito de la figur.l 5- 15 se presenta en la labia 5-2. La labia (,:oosta de cuatro seccio-
nes rotuladas estado actual. entrada. siguiente estado y solida. La sección de estado actual
mUCSlm los eSlados de los flip-flops A y B en cualquier inslanle dado t. la sección de cnlt'ada
da un valor de x para cada posible actual . La sección de siguiente estado mue.<¡lrn los es-
tados de los flip-flops un ciclo de reloj despulso en el ti empo t + 1. La sección de salida da el
val or de y en el tiempo t parn cada eSlado actual y condición de entrada.
La preparación de una labia de eSlados requiere enumerar todas las posibles combinacio-
nes bimui us de eslado aClllal y enlrJdas. En esle caso, lenemos ocho combinaciones binarias, de
000 a 111 . Luego se delenninan los valore.'> de siguient e eslado a panir del diagrdma lógico
o de las ecuaciones de eSlado. El siguienle eslado del nip-nop A deberá satisfacer la ecuación
de eSlado
A(t + 1) "" Ax + Bx
La sección de siguicme estado en la col umna A de la tabla de estados tiene tres unos donde el
estado actulll y el valor de entrada satisfacen las condici ones de que el estado actual de A y la
"
Mat 'JI pro <:Ir dE' 'Jl nr

182 Capítulo 5 l ógica secuencial sincrónica
Tabla 5-2
Tabla de estados pora el circuito de la figuro $-/ S
(stodo
SlguJente
actual Entrada estado Salida
A

A

Y
O O O O O O
O O 1 O 1 O
O 1 O O O 1
O 1 1 1 1 O
1 O O O O 1
1 O 1 1 O O
1 1 O O O 1
1 1 1 1 O O
entrada x son ambos l . o el estado actual de B Y la emrnda.r son ambos l . De (a nna simi lar.
el siguiente estado del fli p-flop B se deduce de In ecuación de estado
B(t + 1) = A'x
y es igual a 1 cuando el estado actual de A es O y la entr:l.da x es 1. La columna de salida se de-
duce de la ecunción de salida
y = A.r' + Dx'
La tabla de estados de un circuito secuencial con flip-Oops ti po D se obtiene por el mi smo
procedimi ento delineado en el ejempl o anterior. En genero]. un circuito secuencial con m flip-
fl ops y 11 enlrJ.das necesita 2 ....
8
filns en la tabla de estados. Se hace una lista de los núme ros
binarios del O hasta 2 .... • - I baj o las columnas de estado actual y entrada. La sección de si·
guicmc estado tiene m columnas. una para cada mp-flop. Los valores binarios para el siguien-
te estado se deducen di rectamente de las ecuaciones de estado. La sección de salida tiene tantas
columnas como variabl es de salida haya. Su valor binari o se deduce del circuito o de In fun-
ción booleana de la mi sma manera que se deduce una tabla de verdad.
A veces es conveniente expresar la tabla de estados en una fonna un poco distinta. En la otra
confi guración. la tabl a de estados sólo tiene tres secciones: estado aClUal. siguiente estado y sa-
lida. Las condiciones de entrada se enumeran en las secciones de siguicmc estado y salida. En
la tabla 5-3 se repi te la tabln de estados de la tabla 5-2, en el segundo fonnuto, Pura cada esta-
do actual. hay dos siguientes estados y salidas posibles. dependiendo del valor de la entradll.
Una forma podría ser preferible a la ot ra, dependiendo de la apli cación.
Tabla S-3
Segundo formo dt lo tabla dt estados
Estndo Siguiente
oct.", estado S.lIda
X : O 1( "" 1
1( : 0 1( = 1
A8 A8 A8
Y Y
00 00 01 O O
01 00
"
1 O
10 00 10 1 O
"
00 10 1 O
Mar '11 pro '"'Qido por c!erocf'Jo<:. de 'lL.: "Ir
Sección 5-4 Anál isis de circuitos secuenciales con reloj 183
Diagrama d e estados
La información contenida en una tabla de estados se representa gráficamente en foona de di a-
grama de estados. En este tipo de di agramas. un estado se representa con un círculo. y las tran-
siciones entre estados se indican con flechas que conectan a los círculos. En la fi gura 5-16 se
aprecia el diagrama de estados del circuito secuencial de la figura 5-15. El diagrama de esta-
dos proporciona la mi sma ¡nfoonación que la tabla de estados y se obtiene directamente de la
tabla 5-2 o 5-3. El número binario dentro de cada círculo identifica el estado de los f1ip-f1ops.
Las flechas se rotulan con dos números binarios separados por una diagonal. Primero se da el
valor de entroda durante el estado actual. y el número después de la diagonal indica la salida
durante el estado actuaJ. con esa entrada. (Es importante recordar que el valor de bit indicado
para la salida a lo largo de la flecha se da durante el estado actual y con la entrada indicada, y
nada tiene que ver con la transición al siguiente estado.) Por ejemplo. la flecha del estado 00
a 0 1 ll eva el rótulo 1/0. lo que signifi ca que cuando el circuito secuencial está en el estado
actual 00 y la entrada es l. la salida es O. Después del siguiente ciclo de reloj, el circuito pasa
al sigui ente estado, 01. Si la entrada cambia a O, la salida será 1, pero si la entrada sigue sien-
dO 1, la salida se mantendrá en O. Esta infonnación se obtiene del diagrama de estados siguiendo
las dos fl echas que salen del círcul o correspondiente al estado O 1. Una fl echa que conecta a
un círcul o consigo mismo indica que no hay cambio de estado.
No hay direrencia entre una tabla de estados y un diagrama de estados. como no sea en la ror-
ma de representación. La tabl a de estados se deduce más rácilmente de un diagrama lógico da-
do Y la ecuación de estado. El diagrama de estados se sigue directamente de la tabla de estados.
El diagrama de estados muestra una perspectiva gráfica de las transiciones de estado y es la for-
ma más apropiada para interpretar el funcionamiento del circuito. si quien lo interpreta es un ser
humano. Por ejempl o. el di agrama de estados de la figura 5-16 indica claramente que. partiendo
del estado 00, la salida será O en tanto la entrada se mantenga en l. La pri mera entrada O después
de una serie de unos da una salida de I Y transfiere al circuito de vuelta al estado inicial OO.
Ecuaciones de e nt rada de fllp-flops
El diagrama lógico de un circuito secuencial consiste en flip-flops y compuertas. Las intercone-
xiones de compuertas rorman un circuito combi nacional y podrfan especificarse aJgebraicamen.
te con expresiones booleanas. El conocimiento del tipo de flip-flops y una lista de las expresiones
del circuito combinacional proporcionan la información necesaria para dibujar el dia-
""[)


.-
G
00
\'""
\111 1'"
FIGURA 5·16
Oiagrama de estados del circuito de la figura 5· 1 S
M' flll protegido por c!erec-t]o de t.: "Ir
184 Capítulo 5 lógica secuencial sincrónica
grama lÓgico del circuito secuencial. La pane del circuito combi nacional <Iue genem salidas ex-
ternas se describe a1gebraicamente con un conjunto de funci ones booleanas llamadas ecuaciolles
dI! salida. La parte del circuito que genera las entmdas a los fl ip·flops se describe algebraica-
mente con un conjunto de funciones booleana. .. llamada. .. eCl/aciones de elllrada de flip-fl ops (o
eCl/aciones de excitación) . Adoptaremos la convención de el sfmbolo de entrada de flip-flop
para dcnOlar la varioble de ecuación de entrJ<la. y un subfndice para indicar el nombre de la sali -
da de flip-flop. Por ejemplo. la ecuación de enltada siguiente especifica la compuerta OR con en-
tradas x y y conectada a la enlruda O de un flip·f1op ( . ."tlya salida se rolUla con el sfmbolo Q:
DQ"" x+y
El circuito secuencial de la fi gura 5- 15 consta de dos flip-flops O. A y B. una entrada x y
una sali da y. El di agrama lógico del circuito se expresa algebrJi camente con dos L"Cuacioncs
de entrada de flip-flops y una ecuación de salida:
D,. = A:c + Bx
D
IJ
= A'x

Las tres ecuaciones proporcionan la infonnación nece.<:aria par.! dibuj ar el di agrama lógico del
circuito secuencial. El sfmbolo O" especifi ca un flip-flop D rotul ado A. Ofl especi fi ca un se-
gundo flip-fl op D rotulado B. Las e:cpresiones booleanas asociadas a dos \'ariables. y la
expresión de la salida y. especifican la pane de circuito combinacional del circuito secuencial.
Las ecuaciones de cnlr.!da de flip-flop son una fonna algebroica conveniente paro especifi -
car el diagrama lógico de un circuito secuencial. Impli can el tipo de flip-fl op con el símbolo
de letra, y especifican cabalmcnte el circuito combi nacional que alimenta a los flip-flops. Ca-
be sei'lalar que la expresión de la ecuaci ón de entmda de un flip- fl op D es idéntka a la expre-
sión de la ecuación dc estado correspondi ente. Ello se debe a la ecullción característica que
igual a el siguiente estado al valor de la entrada D: Q(t + 1) "" O(/"
Análisis con flip-flops D
Resumiremos el procedimiento pam anali"..ar un circuito secuencial con reloj con fl ip-flops D
, utilizando un ejempl o senci llo. El circuito que queremos anali zar se describe con la ecuación
de entrada
Dio = A$x$y
El simbolo DA implica un flip·fl op O con salidaA. Las vari ablcs,f y y son las ent r.!das del ci r-
cuito. No se dan ecuacione. .. de salida. así que la salida proviene implícitamente de la salida del
flip-flop. Obtenemos el diagrama lógico de la ecuaci Ón de entr.!da ¡figuro 5-17a) l.
La tabla dc e. .. tados ticne una columna para el estado actual del fl ip-fl op A. dos columnas
para las dos entr.ldas y una columna para el siguiente estado de A. Los números binarios bajo
Al)' van de 000 a 111 . como se observa en la figuro 5-17b). Los valores de siguient e estado se
obtienen de la ecuación de estado
A(t + 1) "" A$ .dBy
La expresi6n especifica una funci ón impar y es igual a I cuando sólo una variable es I o cuan-
do las tres variables son l . Esto se indica en la columna de siguiente estado de A.
El circuito tiene un flip-fl op y dos estados. El diagmma de estados consiste en dos círculos.
uno para cada estado lfigur.! 5-l7c)]. El estado actual y la salida pueden ser O o l . como indi o
ca el número dentro de los cfrculos. No se necesita una diagonal en las flechas porque no hay
salida de circuito combinacional. Las dos entradas pueden tener cuatro posi bl es combinado-
Mal 'JI prOiegido ')f derechos de 'JL ')r
Sección 5-4 Análisis de circuitos secuenciales con reloj 185
atado Siguiente
act ual Salidas estado
A

,
A
O O O O
A O O 1 1
O 1 O 1
C
O 1 1 O
1 O O 1
1 O 1 O
1 1 O O
1 1 1 1
CLK
a) Diagrama de circuito b)Tabla de estados
OO. 11
0 1. 10
--
-.
O
8 ° 000 11
01,10
e) Diagrama de estados
FIGURA. 5· 17
Circuito secuencial con flip·flop D
nes para cada estado. Las dos combi naciones de entrada durante cada lransi ción de estado se
separan con una coma para simplificar la nOlación.
Análisis con fUp-flops JK
Una tabla de estados consta de cuatro secciones: estado act ual. entradas, siguiente estado y sa-
l i d a . ~ . Las dos primeras se obtienen enumerando lodas las combinaciones binarias. La sección
de salida se determina con base en Ia.<; ecuaciones de salida. Los valores de siguiente estado se
obtienen de las ecuaciones de estado. En el caso de un flip-flop tipo D, la ecuación de estado es
igual a la ecuación de entrada. Cuando se usa un flip-flop de otro tipo, como un JK o un T,
es necesario consultar la tabla característica o ecuación característica correspondiente paro ob-
tener los valores de siguiente estado. Il ustraremos el procedimiento primero utilizando la ta-
bla característica, y luego lo repetiremos usando la ecuación caracteríslica.
Los valores de siguiente estado de un circuito secuencial que usa mp-flops tipo JK o Tse
deducen con el procedimiento siguiente:
1. Determine las ecuaciones de entrada del flip-flop en términos del estado actual y las va-
ri ables de entrada.
2. Enumere los valores binarios de cada ecuación de entrada.
3. Use la tabla característi ca del flip-flop en cuesti ón para detenni nar los valores de si-
guiente estado de la tabla de estados.
Por ejemplo. consideremos el circuito secuencial con dos flip-flops JK. A Y B, Y una entra·
da, x, que se ilustra en la figura 5-18. El circuito no liene salidas, de modo que la labia de es-
tados no necesila una columna de salida. (Las sal idas de los flip-flops se consideran como las
salidas en este caso.)
M fI 31 protegido por derecho" de u ':Ir
186 Capítulo 5 l ógica secuencial sincrónica
J
e

K
J
B
.
e
K
1L
eL"
FIGURA S· 18
Circuito secuencial con flip-flop ¡le
El circuito se puede especifi car con ecuaciones de entrada de flip-fl op
J,4,= B K,, = Bx'
J, = x' KIJ = A'x + Ax'= A$x
La tubla de estados del eircuilo secuenci al aparece en la tubla S-4. Las columnas de cstudo
act ual y entrada presentan las ocho combinaciones binarias. Los valores binarios de las ce-
rolUladas flip-flops no forman parte de la tabla de eslados. pero nece-
silamos paro evaluar el siguiente estado. como especifica el paso 2 del procedimiento. Estos
valores bi narios se obtienen directamente de las cualro ecuaciones de entrada de forma similar a
como se deduce una tabla de verdad de una expresión booleana. El siguiente estado de cada flip-
fl op se evalúa a partir de las entradas J y K cOi lcspondientes y la tabla característi ca del flip-flop
JK dada en la tabla 5·1 . Debemos considerar cuatro casos. Cuando J = I Y K = O. el siguien-
te estado es l . Cuando J = O Y K = l . el siguiente estado es O. Cuando J = K = O. no hay
cambi o de estado y el valor de sigui ente estado es igual al de estado actual. Cuando j = K = l.
Tabla 5-4
Tabla estados de un circuito con fl/p-flops JK
.. , ....
SIguiente Entradas
An .. ,
Entrada
.. , ....
de fllp-flop
A B
,
A B
J.
K. J. K.
O O O O I O O I O
O O I O O O O O I
O I O I I I I I O
O I I I O
,
O O I
,
O O I I O O I I
,
O 1 I O O O O O
I I O O O I I I I
I I I I I I O O O
M- pr01.egido por dele('f'JO<:. de t.: "Ir
I
Sección 5-4 Análi sis de circui tos secuenci ales con reloj 187
el bil de siguiente estado es el complemento del bit de estado actual . Se dan ejemplos de los
últ imos dos casos de 111 labia cuando el estado actual AB es 10 Y la entrada.r es O. lA y KA son
ambos O y el estado nelUal de A es l . Por tanto. el siguiente estado de A sigue siendo el mismo
y es igual a l . En la misma fila de la labia, lB y KB son ambos l . Puesto que el estado actual
de H es O. el siguiente eslado de 8 se complementará y cambiará a l .
También es posible obtener los valores de siguiente esUldo evaluando las ecuaciones de es·
lado de la ecunción carncleñstica, mediante el procedimiento sigui ente:
l . Obtenga las ecuaciones de entrada de nip-fl op en ténninos del estado act ual y las vari a-
bles de entrada.
2. Sustituya las ecuaciones de salida en la ecuación característica del Oip-flop para obtener
las ecuaciones de estado.
3. Use las ecuaci ones de estado correspondi entes paro detenninar los valores de siguiente
estado de la tabla de estados.
Las ecuaciones de entroda para los dos flip-flops lK de la fi gura 5- 18 se presentaron en la
pági na anterior. Obtenemos las ecuaciones característi cas de los flip-flops sustituyendo A o B
por el nombre del flip-fl op. en vez de Q:
A(t + 1) = lA' + K'A
B(t + 1) = lB' + K' B
Sustituyendo los valores de l A y KA de las ecuaciones de entrada, se obtiene la ecuación de es-
tado pam A:
A(t + 1) = BA' + (Bx')' A "" A'B + AB' + As
La ecuación de estado proporciona los valores de bits paro la columna de siguiente estado de
A en la tabla de estados. De fonna similar. la ecuación de estado del flip-flop B se deduce de la
ecuación característi ca sustituyendo los valores de 1
11
Y KlJ:
B(t + 1) "" ;e' B' + (A Eilx)'B = B'x' + ABx + A' Bx'
La ecuación de estado proporciona los valores de bit par .. la columna de siguiente estado de B
en la tabla de estados. Observe que las columnas de entradas de flip-flop de la tabla 5-4 no se
necesitan cuando se usan ecuaciones de estado.
El diagrama de estados del circuito secuencial se presenta en la figura 5-19. Vemos que, co-
mo el circuito no tiene salidas. las flechas que salen de los cfrculos se marcan con un solo nú-
mero binario para indi car el valor de la entrada x.
fiGURA 5· 19
Diagrama de estados del circuito de la figura 5·18
Mat nal protegido por derechos dfI :J.L'f')r
188 Capítulo 5 lógica secuencial sincrónica
Análisis con fllp-flops T
El análisis de un circuito secuencial con flip-nops T sigue el mismo procedimi ento que del i-
neamos para los flip-nops JK. Los valores de siguiente estado de la labia de estados se obti e-
nen utilizando la tabla caractcristicu de la tabla 5- 1 o bien la ecuación característica
Q(t + 1) = T El> Q = T'Q + TQ'
Consideremos el circuito secuencial de la fi gura 5·20. TIene dos fl ip-flops A y B, una ent rada
.1" y una sali da y. Se describe algebmicamente con dos ecuaciones de entrada y una de sali da:
T", = B.1"
T
lI
= :c
)' = AB
La labia de eslados del circuito se presenta en la labia 5-5. Los valores de y se obtienen de la
ecuación de sali da. Los valores para el siguiente estado se deducen de la. .. ecuaciones de esta-
do sustituyendo T", y Tfj en las ecuaciones características para dar
A(t + 1) = (Bx )'A + ( Bx)A' = AB' + As' + A' B.1"
8 (1+ 1) = x$ B
Los valores de siguiente estado para A y B en la tabl a de e,<;lados se obt ienen de las expresio-
nes para las dos ecuaciones de estado.
,
í
A
T
r
-j>e.
o
(\
T
B
00'0
1

-te.
1 1
1
1111
Cf. K
. ) Diagrama de circuito b) Diagrama de estados
FIGURA 5-2D
Circuito secuencial con dos T
protegido por derechos de 'lL.: or
Sección 5-4 Análisis de circuitos secuenciales con reloj 189
Tabla 5·5
Tabla d ~ ~ s t o d o s poro un circuito sKurnciol con flip·"ops T
... -
Siguiente
actual Entrada estado Salida
A

x A

Y
O O O O O O
O O I O I O
O I O O I O
O I I I O O
I O O I O O
I O I I I O
I I O I I I
I I I O O I
El diagrama de estados del circuito se reproduce en In figura 5-2Ob). En tooto la enlrdda x
sea l . el circuilO se comportará como un contador binario con la sucesión de estados OO. O l.
10. II Y de vueha a OO. Cuando x = O. el circuito pennanece en el mismo estado. La salida y
es I cuando el esmdo actual es 11 . Aquí la salida depende únicamente del estado actual y es
independiente de la entrada. Los dos valores separados por una diagonal dentro de cada cfrcu-
lo corresponden al estado actual y a la salida.
Modelos Mealy y Moore
El modelo más geneml de un circuito secuencial tiene enlmdas. salidas y estados internos. Se
acostumbra distingui r entre dos modelos de circuitos secuenciales: el modelo Mealy y el mo-
delo Moore. Difieren en la ronna en que se genera la salida. En el modelo Mealy. la salida es
función tanto del estado actual como de la entrada. En el modelo Moore. la salida sólo es fun-
ción del estado actual. Al tratar los dos model os, algunos libros y otras fuentes técnicas ven el
circuito secuencial como una máquina de estados fi nitos (fSM.fini/e l/ate machine). El mo-
delo Mealy de un circuito secuencial es una FSM Meal y o máquina Mealy. El modelo Moore
es una FSM Moore o máquina Moore.
En la figura 5-15 se ilustra un ejemplo de modelo Mealy. La salida y es runción tooto de la
enmlda x como del estado actual de A y B. El diagrama de estados colTCSpondiente de la fi gu-
ra 5-16 muestra los valores de entrada y de salida separados por una diagonal sobre las fleehas
enlre los estados.
En la figura 5-18 aparece un ejemplo de modelo Moorc. Aquf In salido es runción únicamen-
te del estado actual. El diagrama de estados correspondi ente de la fi gura 5-19 sólo tiene entra-
das marcadas sobre las flechas. Las salidas son los estados de flip-flop indicados dentro de los
cfrculos. Otro ejemplo de modelo Moore es el circuito secuencial de la fi gura 5-20. La salida
depende úni camente de los valores de los flip-fl ops. asf que sólo es runción del estado actual.
El valor de la entrada se marca en el di agrama de estados j unto a las flechas. mientras que el
valor de salida se indica dentro del cfrculo junto con el estado actual.
En un modelo Moore. las salidas del circuito secuencial se si ncronizan con el reloj porque
sólo dependen de salidas de fli p-flop que están sincronizadas con el reloj. En un modelo Meal y.
las salidas padrfan eambiar si las entradas cambian durante el ciclo de reloj. Además. las sali -
190 Capítulo 5 l ógica secuencial sincrónica
das podrían tener valores fal sos moment:1neos debidos al retardo entre clmomenlo en que las
entradas cambian y el momento en que cambi an las salidas de flip-flop. Para sincroni7.af un ci r-
cuito tipo Mealy,las entradas del circuito secuencial se deben sincronizar con el reloj y las sa-
lidas se deben muestrear únicamente durante el borde del reloj.
s-s HDL PARA CIRCUITOS SECUENCIALES
Presentamos ellenguage de descri pción de hardware (HDL) Verilog en la sección 3-9. En la
sección 4-1 1 se hizo una descripción de los circuitos combinacionales y una introducción al mo-
delado de componamienlo. En esta sección seguiremos eSlUdi ando el modelado de compona-
miento y presentaremos ejemplos de descripciones de fl ip-fl ops y circuit os secuenciales.
Modelado de comportamiento
Hay dos ti pos de enunciados de componamiento en Verilog HDL: ¡"icial y siempl? El com-
ponnmiento inicial se ejecuta una vez en el ti empo = O. El componami enlo "siempre" se eje-
cuta una y otra vez hasta que la simulación termina. Los componamientos se decl aran dentro
de los módul os con las palabras clave tnlllal y always seguidas de un enunciado o bloque de
enunciados delimitado por las palabras clave beglo y cod. Un módulo puede contener un nú-
mero arbitrario de enunciados tnllla! o always. Estos enunciados se ejecutan de forma con-
currente a parti r del ti empo O.
Un enunciado inltlal se ejecuta una sola vez. Inicia su ejecución al pri ncipio de la simulación
y termina una vez que han terminado de ejecutarse todos los enunciados. Como se mencionó al
final de la sección 4-11. el enunciado Inlt1al es litil para generar sei'!ales de enu-.lda a fin de simu-
lar un diseño. Al simular un circuito secuencial. es necesario generar una fuente de reloj para dis-
parar los flip-fl ops. He aquf dos posibles formas de incluir un reloj de opemción libre:
initial
_in
c l ock'" l'bO ;
n¡Mat (30)
.10 clock : - clock;
. ""
initial
_in
clock ", l' bO,
1300 $flnl8b;
.""
al.,ay •
.10 clock = -clock;
En la primera versión. el bloque Inilial está encerrado emre las palabras clave begin y cnd. El
reloj se pone en O en el tiempo = O; se complementa cacm 10 unidades de tiempo y se repite
30 veces. Esto produce J 5 ciclos de rel oj. cada uno con una duración de 20 unidades de tiem-
po. En la segunda versión, el bloque Inldal pone el reloj en O en cI tiempo = O. Después de
JO unidades de ti empo. el enunciado always complemema repcti dameme el reloj cada 10 uni -
dades de tiempo. Jo que proporciona un reloj con una duración de 20 unidades de ti empo. La
simulación termina en respuesta a la larea del sistema Sfinish en cltiempo = 300.
El enunciado always se comrola con retardos que esperan cieno tiempo o esperan hasta
que ciertas condiciones se cumplen o se presentan cienos sucesos. Aquf sólo se explicará la con-
dición de contrQl por suceso. Este lipo de enunciado tiene la fonna
alway. i (expresión de control de sucesos)
Enunciados procedimentales de asignaci ón.
La expresión de contrQl de sucesos especifica la condici ón que debe presentarse para activar
la ejecución de los enunciados procedimenlales de asignación. Las variables del miembro iz-
M' pr01eQido ~ r d e r ~ h C l df' ,.,r
I
Sección 5-5 HDl para ci rcuitos secuenciares 191
qui erdo de los enunciados procedimentales deben ser del tipo de datos reg y declarMSC: como
tales. El miembro derecho puede ser cualquier expresión que produzca un vaJor empleando
operadores definidos en Veri log.
La expresión de control de sucesos ll amada li sta de sensibilidad) especi fi ca los su-
cesos que deben dnrse para iniciar la ejecución de los enunciados procedimentales del bloque
always. Los enunci3dos de ese bloque se ejecutan sucesivamente y la ejecución se suspende
después del último enunciado. Luego. el enunciado always espera otra vez que se presenre un
suceso. Aquf consideraremos dos tipos de sucesos: sucesos sensibl es al ni vel y sucesos di spa-
rados por flanco. Los primeros se dlln en los circuitos oombinacionales y en lalches. Por ejemplo.
el enunciado
al_y. ji (A or B or Reset)
hace que se ejecuten los enunciados procedimental es del bloque aJways si hay un cambi o en
A o en B o en En los circuitos secuenciales sincrónicos. Jos Oip-flops sólo deben cam-
biar como respuesta a una transición de pulso de reloj. La transición podrfa ser un di sparador
de borde positivo o de borde negativo. Veri log HDL maneja estas condiciones con dos palabras
clave: posedge y negedge. Por ejemplo.
alwa)'5 11 (po.tt4g. clock or n.gtt4g0. reset)
hace que se ejecuten los enunciados procedimentales s610 si el reloj surre una transici6n posi-
tiva o si Reset pasa por una transici6n negati va.
Los enunciados procedimentaJes son enunciados conteni dos en un enunciado InlUal O al-
ways. Esto contrasta con las asignaciones continuas que vi mos en la secci6n 4- 11 al hablar del
modelado de flujo de datos. donde el enunciado se evalúa continuamente. Hay dos ti pos de enun·
ciados procedimentales. bloqueadort!s y no bloqlleadort!s. y se distinguen por los sfmbol os
que usan. Los enunciados bloqueadores emplean el símbolo (=) como operador de asignaci6n.
mientnlS que los no bloqueadores usan el operador «=). Los enunciados de asignación bloquea-
dores se ejecutan sucesivamente en el orden en que aparecen en un bloque secuencial. los
enunciados no bloqueadores evah1an las expresiones del miembro derecho pero no efectúan la
asignaci6n al mi embro izquierdo sino hasta que se han evaluado todas las expresiones. Se en-
tenderán mejor los dos tipos de asignaciones con un ejemplo. Consideremos las dos asignacio--
ncs procedimentales bloqueadoras:
B :: A
C - B + I
El primer enunciado transfiere A a B. El segundo enunciado incrementa el nuevo valor de B y
lo U'ansfiere a C. Al final. e contiene el vaJor de A + l .
Consideremos ahora los dos enunciados en ronna de asignaciones no bloqueadoras:
B <= A
e <= B + I
Cuando se ejecutan los enunciados. las expresiones de la derecha se evalúan y se almace-
nan en un lugar temporal. El valor de A se guarda en un lugar y el valor de B + t se guarda en
otro. Una vez que se han evaluado y almacenado todas las expresiones del bloque secuencial.
se dectlla la asignaci6n a los destinos de la i7.quierda. En este caso. e contendrá el valor
original de B mds uno. Casi lodos los ejemplos de este capftul o y el siguienle pueden usar
enunciados bloqueadores. Los enunciados no bloqueadores son indispensables cuando se efec-
túa di seño en el ni vel de transrerencia de registros, como se verá en el capítulo 8.
Mat 1"11 proJP.Qido Y'lr derechos dfI :J.L'f')r
192 Capítulo S lógica secuencial sincrónica
Fllp-flops y latches
Los ejemplos HDL S· ] a 5-4 muestrnn descripci ones de di versos flip-flops y un lalch D. El latch
D es transparenle y responde a un cambio en la entrada de datos oon un cambio en la salida en
tanto la entrada de control eslé habiliUlda. El módulo de descripción dellatch D se presenta en el
ejemplo HDL 5· 1. TIene dos entradas, D y COn/rol. y una salida, Q. Puesto que Q se evalúa en
un enunciado procedimental. se le debe declarar como de lipo rq} Los latchc.o¡ rc. .. ponden a ni-
veles de seHaI de entrada, asf que las dos entradas se dan sin calificadores de borde (posedge o
negedge) en la expresión de control de sucesos que sigue al símbolo @ en el enunciado always,
Sólo hay un enunciado de asignación procedimenlal bloqueador, y especifica la transrerencia de
la entrada D a la salida Q si el control es 1 lógico. Adviena que este enunciado se ejecuta cada
vez que hay un cambio en D si el control es l.
El ejemplo HDL 5-2 descri be dos flip-flops D de borde positivo en dos módul os. El prime-
ro responde únicamente al rel oj: el segundo incluye una enlrada de restablecimi ento asincr6-
nico. La salida Q debe declararse como de lipo de dalos reg además de darse como salida. El
moti,'O es que es una salida de destino en un enunciado procedimental de asignación. U. palabr.t
posedb-e garant iza que la de la entrnda D a Q sólo se dará duruntc la tr.msi-
ción de borde positi vo de CLK. Un cumbío en D en cualqui er otro momento no cambia Q.
Ejemplo HDL Sol
IIDescripción de un latch O (Véase la f igura 5-6)
=cau1. 0_1atch (O,D,control);
output O;
input O.control;
r.g O;
.1w.ya i (control or O)
if (control) O O; II Igual que: ir (control "'; 1)
Ejemplo HOL 5-2
II Flip- flop o
=odul. D_FF (O, D.CLK);
output O;
lI:lput O,CLK;
O;
alway. i CLK)
O '" O;
.""'Modal.
II Flip- fl op o con restablecimiento asinc r 6nico .
.o6ul. OFF (O. O,CLK,RST);
output O:
input O,CLK,RST;
r.g O;
.l .. ya CLK or
if O • l' bO;
.1 •• O .. O:
RST)
11 Igua l a: U (RST
"'''' O)
protegido por derechos de 'JI.: or
Sección 5·5 HDl para circuitos secuenciales 193
El segundo módulo incluye una entrada de restablecimiento asincrónico además del reloj sin-
crónico. Se usa una fonna especial del enunci ado Ir paro generar este tipo de flip-fl op. La ex-
presión de sucesos después del sfmbolo @ en el enunciado always puede tener cualquier
número de sucesos de borde, sean posedgc o ncgcdgc. Uno de ellos debe ser un suceso de re-
loj. Los demás especifican condiciones en las que debe ejecutarse lógica asincrónica. Cada
enunciado Ir o clse ir de los enunciados procedimelllales de asignación corresponde a un su-
ceso asincrónico. El último enunciado else corresponde al suceso de reloj. Hay dos sucesos de
borde en el segundo módulo del ejempl o 5-2. El suceso ncgcdge RST (restnblecimiento) es asin-
crónico porque equivale al suceso Ir (-RST). En talllO RST sea O. Q se pondrá en O. Si CLK
ti ene una transi ción positiva. su efecto se bloqueará. Sólo si RST = I podrá el suceso de re-
loj posedge transferir si ncrónicamente D a Q.
Por 10 regul ar e.. .. necesario que los flip-fl ops incluyan una señal de enttnda de restableci mien-
to (o preestablecimielllo. pnut ); de lo contrario, no se podrá detenninar el estado inicial del
circuito secuencial. Los circuitos secuenciales no se pueden probar con simulación HDL si no
es posible asignar un e.<¡lado inicial con una señal de entrada.
El ejemplo HDL 5-3 describe la construcción de un flip-flop T o JK a partir de un flip-flop D
y compuertas. El circuito se descri be utilizando la. .. ecuaciones característi cas de los flip-f1ops:
Q{t + 1) = Q lB T para un flip-fl op T
Q(t + 1) = JQ' + K' Q para un flip-flop JK
Ejemplo HDL 5-3
II Flip- flop T hecho con flip-flop O y compuertas
module TFF (Q,T,CLK,RST);
output Q:
input T,CLK,RST;
vire DT:
.aalgn DT = O ~ T ,
IICrear ejemplar del flip-flop o
OFF TFl (Q,DT,CLK,RST);
.n ........ ul.
II Flip-flop JK hecho con flip-flop O y compuertas
mc>d.ule JKFF (Q,J,K,CLK,RST);
output Q;
input J,K,CLK,RST;
vire JK:
a .. ign JK .. (J' - Q) I (-K' O);
IICrear e j emplar de flip-flop O
OFF JKl (Q,JK, CLK,RST);
en·' =4,,1.
II Flip- flop O
lIIOdul. OFF (Q,O,CLX,RST);
output Q;
input D,CLK,RST;
reg Q;
alvay. Q (po ..... g. CLK or neg .... g. RST)
if (-RST) Q = l'bO;
.1 •• Q ; O;
endmodule
Mar rF1) protegido p-?r derechos de '1U C)r
194 Capítulo 5 lógica secuencial si ncrónica
Ejemplo HDL 5-4
l/ Descripción funci ona l de flip-flop J K
module J K-FF (J,K,CLK,Q,Qnot l;
output O,Onot.;
input J,K,CLK;
reg O;
.aaign Onot. - O ;
.l-aya i (poaedge CLKI
ca .. ({J,X)I
2'bOO : Q • Q;
2'bOl: O '" l'bO;
2'blO: Q ;: l'bl;
2'bll: O '" - O;
endea.e
eno' -.dul.e
El primer módulo TFF descri be un flip-flop T creando un ejemplar de OFF (la creación de
ejempl ares se explica en la sección 4- 11). A la declllr.tción wire OT se asignn el OR excl usi-
vo de Q y r, lo cual es necesario para convenir un flip-flop O en un flip-fl op r. La creación de
un ejemplar en la que el valor de OT sustituya a D en el módulo OFF produce el nip-flop r
requerido. El nip-fl op JK se especifica de fonna simi lar utilizando su ecuación característica
paro definir lo que a D en el ejemplar de OFF.
El ejemplo HOL S-4 muestroJ. otra fonna de describir un mp-flop JK. Aquí optamos por des-
cribirlo empleando la tabla característi ca en lugar de la ecuación carncterística. La condición de
rami ficación multi v{a case exami na el número de dos bits que se obtiene concatenando los bits
de J y K. El valor case ({J.K}) se evalúa y compara con los valores de la lisia de enunciados que
sigue. Se ejecuta el primer \ .a!(K" que coincide con la condición verdadera. Puesto que la conca-
tenación de J Y K produce un número dc dos bils. puede ser igual a OO. 0 1. 10 o 11 . El primer bit
da el V"J.lor de J. y el segundo. el de K. Las cuatro posibles condiciones especifican el valor del
siguiente estado de Q después de la apli cación de un reloj de borde posilivo.
Diagrama de estados
El funcionami ento de los circuitos secucnciales se describe en HOL en el mismo fonnato que
los diagramas de estados. En el ejemplo HDL S-S se presenta un diagrama de estados de mo-
delo Mealy. La entrada. salida. reloj y restablecimiento se dcclaran de la forma acostumbroJ.-
da. El estado de los flip-flops se declara con los identificadores Prstate (estado actual) y
Nxt s tate (siguiente estado). Estas variables cont ienen el valor de estado del circuito se-
cuencial. La asignación binaria de estado se efectúa con un enunciado de parámetro. (Veri log
pennite definir constantes cn un módulo con la palabra clave paramcler). Se asignan los nú-
meros binarios 00 a 11 a los cuatro estados SO a 53. La notación S2 = 2 ' b lOes preferi ble a
la alternati va, S2 = 2. La primera usa dos bits para almacenar la constante. La segunda nOla-
ción produce un número binari o de 32 (o 64) bits.
La descri pción HDL utili1.u lres bloques always que se ejecuulIl de forma concurrente e
int erJ.ctúan a través de variables en común. El primer enunciado always restablece el circui -
10 al estado inicial SO = 00 y especi.fica la operación sincrónica con reloj . El enunciado
Mal 'JI pro 0f derechos de 'Jl. or

Sección S-S HOL para circuitos secuenciales 195
Ejemplo HOL 5·5
// Diagrama de estados Mealy (figura 5- 16)
(x,y, CLK, RST);
input x, CLK,RST;
output y:
r.g y;
r.g [1:0] Prstate, Nxtstate;
par ... ter SO "" 2'bOO, SI "" 2'bOl, S2 "" 2' bl 0, S3 "" 2'b11;
alyay. i CLK or n.g.ag. RST)
if (- RST) Prstate a SO; l/ Iniciar e n estado SO
el •• Prstate = Nxtstate; IIOperaciones de reloj
alway. i (Pr state or xl l/ Determina r siquiente estado
ca •• (Pr state)
SO : if (x ) Nxtstate = 51;
.1 •• Nxtstate z SO;
51: lf (x) Nxtstate = S3;
.1 •• Nxtstate • SO;
52:
"
(- x)Nxtstate

SO;
.1 •• Nxtstat e
• 52;
53 :
"
Ixl Nxtstate

52;
. 1 •• Nxtstate

SO;
an4ca ••
alway. i (Prstate or xl l/ Eval uar salida
c ••• (Pr state)
SO: y "" O;
51: if (x) y z l'bO; .1 •• y a l'bl;
S2 : if (x) y = l'bO; .1 •• y = l'bl;
S3 : lf ( x ) y:: l ' b O; .1 •• y " l'b1;
.n4ca.e
.nc!mo(Jul.
Prs ta te = Nxts ta te se ejecuta ún icamente en respuesta a una transición de borde po-
sitivo del reloj. Esto impli ca que cualquier cambio que sufra el valor de Nxts ta te en el se-
gundo bloque always se transferirá a prs tate como resultado de un suceso posedge, El
segundo bloque alwllys detennina la transición al siguiente estado en función del estado ac-
tual y de la entrada. La condición de ramificación mult ivfa sigue la sucesión especificada en
el diagrama de estados de la figura .5· 16. El tercer bloque a lways evalúa la salida en función
del estado actual y de la entrada. Aunque se presenta apane por clari dad. podría combinar·
se con el segundo bloque. Observe que el valor de la sali da y podría cambiar si cambia el va-
lor de la entrada x mi entras el circuito está en cualquier estado dado.
En el ejemplo HOL 5-6 se descri be un ejemplo de diagroma de estados de modelo Moore.
Este ejempl o demuestro que es posible especificar las tronsiciones de estado con un solo blo-
que always. El estado actual del circuito se idemifica con la variable s ta te. Las transiciones
de estado se presentan con el CLK posedge de acuerdo con las condiciones dadas en los enun-
ciados case. La salida del circuito es independiente de la entrnda y se toma directamente de las
salidas de los flip-nops. La salida de dos bits AH se especifica con un enunciado assign y es
igual al valor del estado actual.

Mal rFJI protegido p-?r derechos de '1U ':Ir
196 Capítulo 5 l ógica secuencial sincrónica
Ejemplo HOL 5-6
l/ Diagrama de eatados de Moor e (f igur a 5- 19)
eodul. M o o r e ~ l (x,AB, CLK, RST);
input x, CLK, RST;
output [1:0] AB;
reg [1 : 0] atate;
par ... t.r SO • 2'bOO, SI • 2'b01, S2 = 2' bl0, S3 : 2'bll;
al •• y. i (po.edg. CLK or
ir (-RST) state z SO;
.1 ••
c ••• (atate)
SO: if (-xl
S1: if ( x )
S2 : if (-xl
S3 : if (-x l
.ndc •••
atate

s tate •
sta t e

s tate

negedg. RSTJ
// Iniciar en estado SO
S1; .1 •• s tate

SO;
S2 ; .1 •• state • S3 ;
S3 ; .1 •• state

S2 ;
SO; . 1 •• s tate • S3 ;
••• i gn AB : state; l/Salida de flip-flopa
Descripción estructural
Los circuitos combinacionales se descri ben en HOL empleando enunciados de flujo de dalaS
o en el nivel de compucnas. En c:1 caso dc: los circuilos secucnciul cs. el funcionamiento de l os
flip-flops se describe con enunciados de comportami ento. Puesto que un circuilO secuencial
consta de flip-flops y compuertas. su estructura se puede describir con una combi nnción de
enunciados de flujo de <hitos y de comportamiento. Los flip·flops se describen con un enun-
ciado always. La parte combinacional se describe con enunciados asslgn y ecuaciones boolea-
nas. Los módulos individuales se pueden combinar creando ejemplares.
La descripción estructural de un circuito secuencial se ilustra en el ejemplo HDL 5-7. El
ejemplo tiene dos módulos. El primero describe el circuito de la figura 5-203). El segundo des-
cribe un flip-flop T. Otro módulo genera un estímul o para probar el funci onamient o del circui-
10. El circuito secuencial es un contador binario de dos bits controlado por la entrada.r. La
salida y es I cuando la cuenta llega al lI binario. Se incluyen los mp-flops A y B como sali-
das para verifi car su funcionamiento. Las eeuaciones de entrada de los flip-flops y la t:-c uación
de salida se evalúan con enunciados as,<¡lgn que tienen las expresiones booleana<; correspondien.
tes. Luego se crean ejemplares del flip-flop T empleando TA y TU definidos por las ecuacio-
nes de entmda.
El segundo módulo describe el mp-nop T. La entrada RST restablece el Oíp-flop a O con
una senal negativa. El funcionamiento del flip-flop se especifica con su ecuación caracterfsti-
caQ(t + 1) = QeT.
El módulo de estfmulo alimenta entradas al circuito para verificar la respuesta de salida. El
primer bloque ¡nillal produce ocho cicl os de reloj eon un peri odo de 10 ns. El segundo bloque
loltlal especifica un cambio alterno de la entr.1da x que se presenta en la tmnsición de borde
negath'o del reloj. El resultado de la simulación se presenta en la figum 5·21. Las salidas A y
B pasan por la sucesión binaria OO. 01. 10. 11 Y de vuelta a OO. El cambio en el conteo se da
dur.1nte un borde positi vo del reloj siempre que.r ::z l. Si.\' ::::: O. In cuenta no cambia, La sa-
lida)' es I cuando tanto A como B son l. Esto verifi ca el funcionamiento del circuito.
Mat r 'JI protegido lY)r derechos de ':lut')r
Sección 5-5 HDl para ci rcuitos secuenciales 197
Ejemplo HDL 5·7
// OescriDCión estructural de circuito secuencial
l/véase la figura 5-20a)
-r-dul. Tcircuit (x,y,A,B,CLK,RST);
input x, CLK,RST;
output y,A,B;
.. ir. TA, TB;
// Ecuaciones de entrada de flip-flop
••• ilfO TB ~ x,
TA"x&B;
// Ecuación de salida
••• ign y : A " B;
l/Se crean ejemplares de flip-fl ops T
T_FF BF (B,TB,CLK, RST);
T_FF AF (A,TA, CLK,RST);
.n""""u1.
II Flip-flop T
"'04ul. T_FF (Q. T,CLK.RST);
output Q;
input T,CLK,RST;
r.g Q;
.l.-ay. i ( po.edg. CLK 01' negedg. RSTI
1f (-RST) Q = l'bO;
.1 •• Q '" Q A T;
.n....,.,u1.
l/ Estimulo para probar el circuito secuencial
...-.dul. testTcircuit;
r.g x ,CLK,RST; Il entradas del circuito
.-ir. y,A,B; Il salida del circuito
Tci r cuit Te (x,y,A,B,CLK,RST); // se crea un ejemplar
11 del cir cuito
1nit1al
begln
RST

O,
eLK

O,
t5 RST •
"
r.peat (16)
'S CLK • -CLK;
x '" O;
IlSx .. l¡
r.peat (8)
IIOx "- x;
....
t ndmodule
Mar rF11 prOlegido po?r derechos de '1U ')r
198 Capítulo S lógica secuencial sincrónica
:¡rE
lo..
",", po.,
el
,
, ....
~
leslTcircuilJl
leslTclrcuiLCLK
1e5ITcin:uil. RST
lestTclrcuil .y
\
lc:stclrcuil.A
r \
leslc1rcuit.8
J J
\
FIGURA 5·21
Salida de la simulación del ejemplo HOl 5- 7
5-6 REDUCCiÓN Y ASIGNACiÓN DE ESTADOS
El anál isis de circuitos secuenciales parte de un di agrama de circuitos y culmi na en una tabla
o diagrama de estados. El diseño de un circuito secuencial parte de un conjunto de especifi ca-
ciones y culmina en un diagruma lógico. Presentaremos los procedimientos de diseí'lo en la
secciÓn 5-7. En esta sección veremos ciertas propiedades de los circuitos secuenciales que po-
drfan servir paro reducir el número de compuertas y mp-flops durante el diseño.
Reducción de estados
La reducción en el número de mp-flops de un circuito secuencial se conoce como problema
de red/lcción de estados. Los algori tmos de reducción de estados dan pi e a procedimientos pa-
ra reducir el número de estlldos de una tabla de estados. pero si n alterar los requisitos externos
de entrada-sali da. Puesto que m flip-flops producen 2'" estados. una reducción en el número de
estados podría (o no) reducir el número de flip-flops. Un efecto impredecible al reduci r el nú-
mero de flip-flops es que a veces el circuito equivalente (con menos nip-nops) podría reque-
rir más compuertas combinacionales.
Ilustraremos el procedimiento de reducción de estados con un ejemplo. Partiremos de un
circuito secuencial cuya especificación se da en el diagrama de estados de la figura 5-22. En
este ejemplo. sólo son important es las sucesiones de entrada-sali da: los esmdos internos só-
lo sirven paro producir las sucesiones requeridas. Por ell o. los estados marcados dentro de
los cfrculos se denotan con letras en vez de sus valores binarios. Esto contrasta con un con-
tador binano. en el que la sucesiÓn de valores binarios de los estados mismos se toma como
las salidas.
Hay un número infi nito de sucesiones de entrada que podrían aplicarse al circuito: cada una
produce una sucesiÓn de salida única. Por ejemplo. consideremos la sucesión de entrada
01010110100 partiendo del estado inicial o. Cada entrada de O o I produce una SIl1ida de O o
1 y hace que el circuilo pase al siguiente estado. Del diagrama de estados. obtenemos las su-
Mat 'JI pro '"'Qido 0r I Pr,n de 'JL
I
,
I
FIGURA 5-22
Diagrama de estados
Sección 5·6 Reducción y asignación de estados 199
1"°
8 <W ,
110
,
<W
1/1 11/1

1/1
cesiones de sali da y de estados para la sucesión dada de entrada como sigue: con el circui lo en
el estado inicial a. una entrada de O produce una salida de O y el ci rcui to permanece en el es-
tado a. Con estado actual tl y entrada de l . la salida es O y el sigui ente estado es b. Con e.<¡ta-
do act ual b y entrada de O. la sal ida es O y el siguiente estado es c. Continuando este proceso.
se obtiene la sucesión lotal sigui ente:
Estado a
Enlt3da O
Salida O
a
I
O
b
O
O
,
1
O
d
O
O
,
1
1
f
I
1
f
O
O
g
I
1
f
O
O
g
O
O
a
En cada columna. tenemos el estado actual, el valor de entrada y el valor de salida. El siguien.
te estado aparece hasta arriba en la siguiente columna. Es importante darse cuenta de que, en
este circuito. los estados mismos tienen importancia secundaria porque únicamenle nos inte-
resan las sucesiones de sali da causadas por sucesiones de entrada.
Suponga ahortl que hemos hallado un circuito secuencial cuyo diagrama de estados tiene
menos de siete estados y queremos compararl o con el circuito cuyo di agrama de cstados está
dado por la figura 5-22. Si se aplican sucesiones de entrada idénti cas n los dos circuitos y se
producen sali das idénticas para todas las sucesiones de entrada, decimos que los dos circuitos
son equi valentes (en lo quc se refiere a entrnda-sal ida), y podemos sustituir uno por el otro. El
problema de lo reducción de estados consiste en hal lar formas de reduci r el número de estados
de un circuito secuencial sin alterar las relaciones de entrada-salida.
I Ahora procedemos a reducir el número de estados de este ejemplo. Pri mero, necesitamos
la tabla de estados; es más fácil aplicar los procedimientos de reducción de estados a una ta-
bla que a un diagrnma. La tabla de estados del circuito 3parece en la tabla 5-6 y se obtiene di -
reciamente del di agrama de estados.
protegido P')r derechos de '1U ':Ir
I
200 Capitulo 5 lógica secuencial sincrónica
Tabla 5-6
Tabla de
Siguiente estado Salida
Estado ac::tual , - O

K= O x = 1
" "
b O O
b
,
"
O O
,
"
d O O
d
,
f
O 1
,
u
f
O 1
f

f
O 1
g a
f
O 1
Presentaremos lIquf. sin demostmrl o. un algori tmo pan¡ reducir los estados de una tabla de
estados plenamente especificada: "Decimos que dos estados son equivalentes si, para cada
miembro del conjunto de dan exactamente la mi sma salida y pasan el drcuilO al
mi smo estado o a un estado equivalent e"', Si dos estados son equi\'alentes. uno de ellos pue-
de el iminarse sin alterar las relaciones de cnlrada-salida.
Apliquemos ahora este algori tmo a la tabla 5-6. Examinamos la tabla en buscn de estados
aclUales que pasen al mismo siguiente estado y tengan la misma salida con ambas combina-
ciones de entroda. Los estados g y e cumplen con esos requi sit os: ambos pac¡an a los estados (1
y fy tienen sulidus de O y I con.t = O y.t - l. respectivllnlc:ntc. Por tanto. los estados g y e
son equivalentes y podemos eliminar uno de ellos. En la tabla 5·7 se indica el procedimiento
para eliminar un estado y sustituirlo por su equivalente. Se elimina la lila del estado aClUal g y
el estado g se sustituye por e en todos los lugares en que aparece en las col umnas de siguien.
te estado.
El estado actualf ahora ti ene como siguientes estados a t! y! y como salidas, O y l cuan-
do x = O Y x = 1, respectivamenle. En la fila del estado aClUal d aparecen los mi smos siguien-
tes estados y sali das. Por tanto. los estados f y d son equivalentes y podemos elimi nar el
estado! sustituyéndolo pord. La tabla reducida final se reproduce en la tabla 5-8. El dia-
grama de estados de la tabla reducida consta únicamente de cinco estados y se aprecia en la
Tabla 5-7
Reducción de la tabla de estados
Slgulente estado SIIUd.
Estado .ctual , - o , - 1 , - o , = 1
" "
b O O
b
,
d O O
,
a d O O
d
,
f
O 1
,
"
f
O 1
f
,
f
O 1
M fI 31 protegido por derecho"- de u ':Ir
I
Sección 5-6 Reducción y asignación de estados 101
Tabla 5-8
Tablo d ~ tirodos rtducido
Slgulente estado Salida
Estado actual JI: = O x = 1 x =o x = 1
"
a b O O
b e d O O
,
"
d O O
d
,
d O I
,
"
d O I
fi gura 5·23. Este diagrama de estados satisface las especificaciones de entrada-sali da origi-
nales y produce la sucesión de salida requerida con cualquier sucesión de entrada dada. La
lisia que sigue se dedujo del diagrama de estados de la figura 5· 23 y corresponde a la suce-
sión de cnlrada que se utilizó anles (adviena que se obti ene la mi sma sucesión de salido,
aunque la sucesión de estados es di stinta):
Estado
Enlrada
Salida
a
O
O
a
I
O
b
O
O
e
I
O
d
O
O
,
I
I
d
I
I
d
O
O
,
I
I
d
O
O
,
O
O
a
De hecho. esta sucesión es exaClamcnt e la mi sma que se obtuvo con la figura 5-2 1 si se susti -
tuye g por tJ y f por d.
Podemos verificar sistemáticamente la posible equivalencia de cada par de estados con la
ayuda de un procedimiento que utiliza una tabla de implicación. Dicha tnbla tiene un cuadra-
do pura cada par de estados que se sospecha podrian ser equivalentes. Si usamos la labIa aeer-
tndamente. podremos enconlmr todos los pares de estados equi\llllenles de una tabla de estndos.
Ilustraremos el uso de la tabla de implicación para reducir el número de estados de una labIa
de estados en la sección 9.5.
¡ 1"
111
FIGURA 5-23
Diagrama de e s t a d o ~ reducido
Mar fI'll protegido por c!erocf'Jo<:, de 'lL: "Ir
202 Capítulo 5 lógica secuencial sincrónica
El circuito secuencial de este ejemplo se redujo de siete a cinco estados. En general, la re-
ducción del número de estados de una tabla de estados da pi e a un circuito con menos compo-
nentes. No obstante. el hecho de que una tabla de estados se haya reducido a menos estados no
garantiza un ahorro en el número de flip-nops o de compuertas.
Asignación de estados
Para diseñar un circuito secuencial con componentes ffsicos. es nl"Cesrulo asignar valore .. bi-
nanas codificados a los estados. En el caso de un circuito con tII estados. los códigos deben con-
tener n bi ts. donde zn = tII. Por ejemplo, con tres bits es posible asignar códigos a ocho
estados denotados por los números binarios de 000 a 11\ . Si usamos la tabla de estados de
la labia 5-6, deberemos asignar valores binarios a siete estados: el estado restante no se usa.
Si uti lizamos la tabla de estados de la tabla 5-8, sólo cinco est3dos requerirán asigl\3ción bi-
naria. y nos quedarán tres estados no utiIi1.ados. Los estados no ut ilizados se tratan como con-
diciones de indiferencia durante el diseño. Dado que las condiciones de indiferencia por lo
regular ayudan a obtener un circuito más sencillo. es más probable que el circuito con cinco
estados requiera menos compuertas combinacionales que el circuito con siete estados.
La forma más sencilla de codificar cinco estados es usar los primeros cinco enteros en el or-
den del conteo binario, como se muestra en la primem asignación de la tabla 5-9. Otra asigna-
ción similar es el código Gray que se muestra como asignación 2. En este caso. sólo un bit del
grupo de código cambia al pasar de un número al siguiente. E.<¡te código facilita la colocación
de las funciones booleanas en el mapa para simplificarlas. Otra posible asignaciÓn que se usa
a menudo en el diseño de control es la asignación de un solo uno (ol/e.lwt). Esta confi gumción
utiliza tantos bits como estados hay en el circuito. En cualqui er momento. sólo un bit e. .. 1; to-
dos los demás son O. Este tipo de asignaci6n ulili:ro un flip-flop por estado.
La tabla 5- 10 es la tabla de estados reducida. después de sustituir los sfmbolos de letra de
Jos estados por la asignación binaria l . Una asignaciÓn di stinta producirá una tabla de estados
con valores binarios distintos para los estados. Usamos ta ronna binaria de la tabla de esta-
dos parJ deducir la parte combinacional del circuito secuencial. La complejidad del circuito
combi nacional dependerá de la asignación binaria de estados que se escoja.
A veces se usa elténnino tabla paro! referirse a una labia de estados con asig.
nación bi naria. Esto la distingue de la. .. tablas de que usan nombres si mbólicos pam los
eSlados. En este li bro usaremos el mismo términO para referimos a ambos tipos de tablas
de estados.
Tabla 5-9
posibles asignaciones binariOl estados
Estado Asignación 1 Asignación 2 Asignación 3
8In.rt. Código Gr.,. Un solo uno
"
000 000 00001

001 001 00010
,
010 011 00100
d 011 010 01000
,
100 110 10000
,'JI prOl.egido fJOr derechos de 'Jt.: or
Sección 5-7 Procedimiento de diseño 203
Tabla S-lO
Tabfa de es /odas rtducida, con fa asignación binaria 1
Siguiente estado ......
Estado actual x - O
x - '
x - O
x - '
,
000 000 001 O O
001 010 011 O O
010 000 011 O O
011 100 011

I
100 000 011 O I
5-7 PROCEDIM I ENTO· DE DI5EÑO
El diseño de un circuito secuencial con reloj parte de un conjunto de especificaciones y culmi-
na en un dillgramlllógico o una li sta de funciones booleanas de la cual puede obtenerse el dia-
grama lógico. En contraste con los circuitos combinacionales. que se especifi can cabalmente
con una tabla de verdad. los circuitos secuenciales requieren una tabla de estados paro su es-
pecificación. El primer paso en el di seño de circuitos secuenciales es la obtención de una ta-
bla de estados o una representaci ón equivalente. como un diagrama de estados.
Un circuito secuenci al sincrónico consta de flip-flops y compuertas combinacionales. El
diseño del circuito consiste en escoger los fli p-fl ops y luego encontrar una estructura de com-
puertas combinacionales que. jUnio con los flip-flops. produzca un circuito que salisfBga las es-
pecifi caciones plameadas. El número de flip-flops se deduce del número de estados que se
requieren en el circuito. El circuito combinacional se deduce de la tabla de estados eval uando
las ecuaciones de emrada y de salida de los flip-fl ops. De hecho. una vez determinados el tipo
y el número de los flip-fl ops. el proceso de diseño implica una transformación de un proble-
ma de circuito secuenciBI a un problema de circuito combinacional. De este modo. pueden
aplicarse las técnicas del di seño de circuitos combinacionales.
El Pl ocedimiemo para diseñar circuitos secuenciales si ncronicos se resume en una lista de
pasos recomendados:
l . Deduzca, de lB descripción textual y las especifi caciones del funcionami ento deseado. un
diagrama de estados para el circuito.
2. Reduzca el número de estados si es necesario.
3. Asigne valores binarios a los estados.
4. Obtenga la tabla de eslados codificada en binario.
5. Escoja el ti po de flip-flops que se usaron.
6. Deduzca las ttuaciones simplificadas de entrada y de sali da de los nip-flops.
7. Dibuje el diagrama lógico.
La especifi cación textual del comportamiento del circuito por lo regular supone que el lce-
tor conoce la terminologfa de lógica digital. Es necesario que el diseñador utilice intuici ón y
experiencia para interpretar correctamente las especifi caciones del circuito. porque las des-
cripciones textuales podrfan ser incompletas e inexactas. Una vez establecida lal especifi cación.
)\ habiéndose obtenido el diBgrama de estados. será posible aplicar procedimientos conocidos
de srntesis para completar el disello. Aunque existen procedimientos fom13les para la reduc-
ción y asignación de estados. los di señadores experimentados casi nunca los usan. Los pasos
204 Capítulo 5 lógica secuencial sincrónica
o
FIGURA 5-24
Diagrama de estados para el dete<tor de sucesiones
4 a 7 del diseño se implementan con al goritmos exactos y por tanto pueden automatizarse. La
parte del diseño que sigue un procedi miento bien definido se denomina símesis.
El primer paso es la parte más diffcil del diseño. Aquf mostraremos un ejemplo sencillo pa-
ra ilustrnr la fonna de obtener un diagrama de estados a partir de la especi fi cación textual.
Queremos diseñar un circuito que detecte tres o mois unos consecutivos en una cadena de
bits que llegan por una línea de entrada. El diagrama de estados del circuito se presenta en la
figura 5-24. Se obti ene partiendo del So- Si la entrda es O, el circuito p:nnanece en el
mismo estado, pero si es l . pasa al estado S, pura indicar que se detectó un l . Si la sigui ente
entrada es 1, el cambio es al estado para indicar que han llegado dos unos consccuti,'os, p:-
ro si la entroda es O volvemos al estado So- El tercer uno consccUli vo envfa al circuito al esta-
do 5
J
• Si se detectan mois unos. el circuito pennaneceni en Sj. Cualquier entradll O devolverá
el circuito a Asf, el circuito permanecerá en 5] en tanto se hayan rccibido tres o má..¡ unos
consecutivos. Se trata de un circuito secuenci al de modelo Moore porque la salida es I cuan-
do el circuito e..¡tá en el estado 53' y O en los demás casos.
Síntesis con fllp-flops
Una vez deducido el diagrama de estados, el resto del di seño sigue un procedimiento de sfn-
tesis directo. De hecho, es posible di señar el circuito con una descri pción HDL del di agrama
de estados y las herramientas de sfnt esis HDL apropiadas para obtener una lista de red si nte·
ti zada. (La descri pción HDL del diagrama de e.<¡tados será simi lar al ejempl o HDL 5·6 de la
sección 5·5.) Para di señar el circuit o a mano, necesitamos asignar códigos binarios a los esta·
dos y preparar la tabla de estados. Esto se hizo en la tabla 5· 11 , que se dedujo del di agrama de
estados de la figuro 5-24 con una asignación binaria directa. Escogimos dos flip-nops D pam
representar los cuatro estados y rotulamos sus salidas A y B. Hay una entrada x y una salida y.
La. ecuación característi ca del flip-nop O es Q(I + 1) "" Do- lo que signifi ca que los valores
de siguiente estado de la tabla de estados especifican la condición de entrnda O para el nip-nop.
Las ecuaciones de entrada del flip-nop se obtienen directamente de las columnas de siguien-
te estado de A y B. Y se expresan en fonna de suma de minitérminos asf:
A(I + 1) 7)
B(I + 1) 7)
y( A, B. x) 7)
M" r 11 protegido por dere('t'Jo de "Ir

Sección 5-7 Procedimiento de diseño 205
Tabla $-11
Tabla dr el/odos para el deteclor de suceJiones
I
Estado Siguiente
.aua' Entrada ....... Hllda
A

,
A

Y
O O O O O O
O O I O I O
O I O O O O
O I I I O O
I O O O O O

I O I I I O
I I O O O I
I I I I I I
donde A Y B son los valores de estado actual de los nip-fl opsA y B, x es la entrada, y D" Y Do
son las ecuaciones de entrada, Los miniténninos para la salida y se obtienen de la columna de
salida de la tabla de estados.
Las ecuaciones booleanas se simplifican con ayuda de los mapas de la fi gura 5-25. Las
ecuaciones simplificadas son
D" = Ax + Bx
D, = Ax + H'x
y = AH
El diagrama lógico del circuito secuencial se presenta en la fi gura 5-26.
Tablas de excitación
A
El diseño de un circuito secuencial con flip-fl ops de otro li po que no sea D se complica por el
hecho de que las ecuaciones de entrada del circuito se deben deducir de manera indirecta de
la tabla de estados. Cuando!ie usan nip-fl ops D. las de entradll se obtienen direc-
8,
8
00 01
"
10
A

O
I I
I I I
..rJ
,
I I
,
D", _ A.r + B.r
y - A8
FIGURA 5-25
Mapas para el detect or de sucesiones
M fI 31 protegido por derecho" de u ':Ir
206 Capftulo 5 lógica 5ecuencial 5i ncrónka
r-
/)
A
e

/)
,
e
B'
CtK
,
FIGURA 5-26
Diagrama lógico del det ector de sucesi ones
tamente del siguiente estado. No sucede asf con los fl ip-Ilops JK y T. Pum determinar las ecua-
ciones de entrada de estos Ilip-Ilops. es necesario deducir una relación funcional entre la labia
de e.'ltados y las ecuaciones de entrada.
Las tabla características de flip-Il ops que prt:Senlamos en la labia 5- 1 dan el valor del siguien-
te estado cuando se conocen las entradas y el estado actual. Estas tablas son úti les para anali -
zar circuitos secuenciales y para defi ni r el funci onamient o de los Ilip-Ilops. Durante el proceso
de diseilo. normalmente se conoce la transición de c.<; tado actual a siguiente estado y se desea
conocer las condiciones de entrada del Il ip-Ilop que dan pie a la transición requerida. Por ello.
se necesita una tabla que dé las entradas requeridas para un cambi o de estado dado. Ese tipo
de tablas se llaman tablas de excitación.
La tabla 5- 12 presenta lus tabl as de excitación de los dos Ilip-Ilops. Cada tabla tiene una co-
lumna para el estado actual. Q(t ) y el siguiente estado. Q(t + 1). y una columna para cada en-
trada. a fin de mostrar cómo se logra la transición requerida. Hay cuatro posibles transiciones
de estado act ual a siguiente estado. Las condiciones de entrada necesarias para cada una se
deducen de In información proporcionada por la tabla característi ca. El símbol o X en las labias
representa una condi ción de indiferencia. es decir. que no impona si la entmda es I o O.
La tabla de excitación delllip-Ilop JK corresponde 11 la pane a). Cuando tanto el estado ac-
tual como el siguiente son O. la entrnda J debe pennanecer en O y la entr.KIa K puede ser O o 1.
M ~ . prOiegido por df' echo" de ... ':Ir
Sección 5-7 Procedimiento de diseño 207
Tabla 5-12
Tablas d ~ I!/tcitac;on dI! flip· flops
Q(I) Q(t + 1)
I
K Q(Q Q(t + 1) T
O O O X O O O
O I I X O I I
I O X I I O I
I 1 X O I 1 O
a)JK b) T
Asimismo. cuando tamo el estado oclUal como el siguiente son 1. la entrada K debe pennanecer
en O. mientras que la J puede ser O o l. Si es preciso que el flip-flop tenga una transición del es-
tado O al l. J deberá ser 1. porque la entradll J eSlllblece el fli p-flop; en cambio, In entrada K pue-
de ser O o 1. Si K = O. la condición J = I eSlllblecerá el flip-flop como se requiere: si K = 1 Y
J = l. el flip-flop se complememará y pasará del estado O al 1, como se requiere. Por tanto, mat-
camos la emrada K con una condición de indiferencia para la transición de O a 1. En el ca.'lO de
la transición del estado 1 al O. necesitamos K = 1, porque la entrada K despeja el flip-flop. En
cambio. la entrada J puede ser O o 1. porque J = O no tiene ningún efecto, mi entrns que J = 1
con K = 1 complementa el flip-flop y produce la transición del estado I 111 eslado O.
La pane b) corresponde a la tabla de excitación pard el flip-flop T. Por la tabla de característi-
cas, sabemos que. cuando la entrada T = l . el estado del flip-flop se complementa; cuando T = O,
el estado del flip-flop no cambia. Por tant o. si el estado del flip-flop debe pellllanecer sin cam-
bio, el requi sito es que T = O. Si es preciso complememllT el esllldo del flip-flop. T debe ser l .
Síntesis con fIIp-flops JI(
El piocedimiento de sfntesis de circui tos secuenciales con flip-flops JK es el mismo que con flip-
flops D. excepto que las ecuaciones de entrada se deben evaluar a parti r de la transición de esta-
do actual a siguiente estado deducida de la IIIblll de excitación. Para ilustrar el procedimiento.
sinteti7.aremos el circuito secuencial especificado por la tabla 5-13. Además de tener columnas
para el estado actual. la entrada y el siguiente estado, como en una IIIbla convencional de esta-
dos. la tabla tambi én muestra las condiciones de entrada del flip-flop de las que se deducen las
ecuaci ones de entrada. Estas entradas del flip-flop se deducen de la tabla de estados y de la IIIbla
de excitación del flip-flop JK. Por ejemplo, en la primera fiJa de la tabla 5- 13 tenemos una tran-
sición para el flip-flop A. de O en el estado actual a O en el siguiente estado. En la tabla 5-12 pa-
ra el flip-flop JK, vemos que una transición de estado actual O a siguiente estado O requiere que
la entrnda J sea O; la entrada K no importa. Por tanto, se anotII un O y una X en la primera fiJa.
buj o J
A
y KA' Puesto que la primera fiJlI tambitn muestra una transición para el flip-flop B. de O
en el estado actual a O en el siguiente estado, se anota un O y una X en esa fila. bajo J
II
y K,. La
segunda fiJa de la tabla indica una transición del flip-flop B, de O en el estado actual a I en el si-
guiente estado. La tabla de excitación nos dice que una transici ón de O a I requiere J = 1, mien-
tras que K no impona. así que anotamos I y X en la segunda fila bajo J, y K,. Continuamos este
ptoceso con todas las fi las de la tabla y con cada flip-flop, copiando las condiciones de entrada
de la tabla de excitación en la fila apropiada del flip-flop que se está considerando.
Las entradllS del flip-fl op de la IIIbla 5- 13 especifican 111 tabla de verdad de las ecuaciones
de entrnda en función de los estados actual es A y B Y de la entrada x. Las ecuaciones de entrada
se simplifi can en los mapas de la figura 5·27. Los valOf"CS de siguiente estado no se usan duran·
Mat 'Jlpro'"'Qido )Qrdl"Pr' de'lt.:'lf
208 Capítul o S lógica secuencial sincrónica
Tabla 5· 13
Toblo estados y entrados de flip.nops IX
Estado Siguiente
Actual Entrada Estado Entradas del fllp-flop
A 8 x A 8
/. K. /,
K,
O O O O O O X O X
O O I O I O X I X
O I O I O I X X I
O I I O I O X X O
I O O I O X O O X
I O I I I X O I X
I I O I I X O X O
I I I O O X I X I
te la simplificación porque las ecuaciones de entroda son función únicamente del estado actual
y de la entmda. Considere la ventaja de usar llip-l1ops JK al di señar circuitos secuenciales. El
hecho de que haya tantas condiciones de indiferenci a indica que el circuito combinacional pa-
ra las ecuaciones de cnlrada scguramcnlc será más sencillo, porque los minitérminos de indi-
ferencia nonnalmcnte ayudan a obt ener expresiones más simples. Si la tabla de estados ,iene
e,<; lados no uti liwdos. habrá condi ciones de indiferencia adicionales en el mapa.
A
O
I
A
O
A I
00
\
Bx
00
FIGURA 5·27
B
01
" '"
I
,
\ \
J
II
- 8x'
B
0 1 11 10
-
I \
,
I
, ,
x
Mapas pMa las ecuaciones de entradll J y /(
A
O
I
A
O
A I
00
\
Bx
00
\
\
B
01
" '"
\ \ \
I
B
01 11 10
,
I
\ I
--'-
.,
protegido por derechos de 'lL.: or
Sección 5-7 Procedimiento de diseño 209
" 1)
1
v
A
e

A'
1

8
-l> e
>

8 '
eL'
FIGURA 5·28
Diagrama lógico para el circuito 5ecuencial con JK
Las cuatro ecuaciones de entroda. de los dos flip-flops JK se dan bajo los mapas de la figu-
m 5-27. El diagmma lógico del circuito secuenci al se presenta en la figum 5-28.
Síntesis con fllp-flops T
lI ustmremos la sfntesis con flip--flops T diseHando un contador binario. Un contador binario de
11 bits consiste en 11 flip--flops capaces de contar en binario de O hasta 1:' - l . El diagrama de es-
tados de un contador de tres bits se reproduce en la fi guro 5-29. Como se ve por los estados bi -
narios indicados dentro de los círculos, las salidas de los flip--flops repiten la sucesión de conteo
binario, volviendo a 000 después de 111. Las flechas entre los cfrculos no se han marcado con
valores de entmda y snlida como en otros diagmmas de estados. Recuerde que las tmnsiciones
de estado en los circuitos secuenciales con reloj se dan durante un borde de reloj; los flip--flops
pcrmane<:en en su estado aClunl si no se aplica reloj. Por ello, el reloj no aparece cxplfcitamen-
te como variable de entrada en el diagmma de estados ni en la tabla de estados. Desde este
FIGURA 5-29
Diagrama de de un contador binario de tres bIts
Mal 'JI protegido por derocf'Jo<:, de 'lt.: "Ir
210 Capít ul o 5 l ógica secuencial sincrónica
Tabla 5-14
Tabla d ~ estados poro f!/ contodor dt tres bits
Estado actu.1 Slgulente estado Entrada' de los fllp-flops
...
A,
A,
A, A
A,
T"
T .. T ..
O O O O O 1 O O 1
O O 1 O 1 O O 1 1
O 1 O O 1 1 O O 1
O 1 1 1 O O 1 1 1
1 O O 1 O 1 O O 1
1 O 1 1 1 O O 1 1
1 1 O 1 1 1 O 1
1 1 1 O O O 1 1 1
punto de vista. el diagrama de estados de un contador no tiene que indi car valores de enlrnda
y salida a lo largo de las flechas. La únicn entrada del circuito es el reloj , y las salidas están es-
pecificadas por el estado actual de los flip-flops. El siguiente estado de un contador depende
exclusivamente de su estado actual, y In transición de estado se efecnía cada vez que el reloj
tiene una ttansiciÓn.
La tabla 5-14 es la tabla de estados para el contador binario de tres bi ts. Los tres ni p-fl ops
se designan con Al ' Al Y Ao- La ronna más eficiente de construir contadores binarios es con flip-
fl ops T gracias a su propiedad de complemento. La excitación de los Oip-flops para las entra·
das T se deduce de la tabla de excitación del flip-flop T y de una inspección de la transición
del estado actual al sigui ente estado. Por ejemplo. consideremos las emradas de mp-flop que
van en la fila 001. El estado actual aquf es 001 . y el siguieme. 010. que es el siguiente contco
sucesivo. Si comparamos estos dos comeos. veremos que A
2
pasa de O a O; por tanto. marca·
mos T"l con O porque el flip-flop A
2
no debe cambiar cuando hay una transición de reloj. Al
pasa de O a l. asf que marcamos T"I con 1 porque eSle flip-fl op se deberá compl emema! en el
siguiente borde de reloj. Por su parte, Ao pasa de I a O, lo que indica que se debe complemen·
tar; por tanto. marcamos T lifJ con 1. La última fila. con estado actual 111. se compara con el pri-
mer conteo, 000. que es su sigui ente estado. El cambio de ceros a unos en todos los bits requiere
complementar los tres flip-flops.
Las ecuaciones de entrada de los flip-f1ops se simplifican con los mapas de la fi gura 5· 30.
Vemos que T lifJ liene unos en los ocho minitérminos porque el bit menos significativo del con-
A,
1 1 1 1 1 1 1
1 1 1 1 1 1 1
T" I - Ao
FIGURA 5-30
Milpas para el contador binario de tres bits
Mal rlll protegido por derecho de ul')r
Problemas 211
CLK
C
-f -f
T T T
I
FI GURA 5-31
Diagrama lógIco del contador de tres bits
lador se complementa en cada con le<>. Una función booleana que incluye a lodos los minilér-
minos define un valor constante de l . Las ecuaciones de entrada que se dan abajo de cada ma-
pa especifican la pune combi nacional del cOnlador. Al incl uir eSlas funciones con los tres
nip-nops. obtenemos el di agrama lógico del conlador de la figura 5·31.
PROBLEMAS
5 -1 El lalch D de la figura 5-6 se construyó con cuatro rompoertas NAND y un in\'ersor. Considere
estas otras tres formas de obtener un lalch D. En cada caso, dibuje el dimgrama lógico y \'erifique
el funcionami ento del circui to.
a) Use compuertas NOR ~ la parte de latch SR y compuelttlS ANO patll las otras dos. Se po-
dría necesitar un in\'er50r.
b) Use compuertas NOR para las cuatro compuertas. Se podrfan requerir in\'ersores.
e) Use úni camente cuatro compueIUS NANO (sin inversor). Esto se logra conectando la salida
de la compuerta superior de 13 figura 5-6 (que va a1lalch SR) con 13 entrada de la compuer-
la inferior (en \'ez de la salida del inversor).
5 · 2 Construya un flipoflop JK con un flip-flop D. un multiplexor de 2lfneas a 1 y un inversor.
5 -3 Demuestre que la ecuación camcteristica parn la salida de complemento de un flip-flop JK es
Q'(t + 1) - 1'(1 + KQ
$-4 Un flipoflop PN tiene cuatro OliClacioncs: despeje a O. ningdn cambio. complemento y estableci·
miento a 1, cuando las entradas P y N son OO. 01, 10 Y 11 . respectivamente.
3) Tubtile la tabla de camcteristicas.
e) Tabule la labia de elIcilación.
b) Dc:dUZCII. la ecu:ación camcterislica.
d) Muestre cómo el flip-flop PN se puede
convertir en un fli p-nop D.
$-5 Expl ique la di ferencia entre tabla & \'etdad, tabla de eslados, tabla camcteristica y labia de C)I;-
cit:aci6n. ElI:plique tambj¿n la diferencia entre unn ecuación booleana, una ecuación de eslado, una
ecuación camcteristica y una ecu:ación de entrada de mp-flop.
Mat ~ '11 protegido por derechos de '11.: or
212 Capítulo 5 lógica secuencial sincrónica
5 -6 Un circui to secuencial con dos flip-nops D. A 'Y B: dos enlr.ldas . .f 'Y y; 'Y una salida . .:. se especi.
rICa con las ecuaciones de eslado y sal ida siguientes
A(t + 1) '"' .f'y + .,A
8(1 + 1) = :l H + .fA
,- 8
a) Dibuje el diagroma lógico del circui to. b) Prepare la tabla de estados del circoi to
secuencial.
c) Dibuje el di agrama de estados correspondient e.
5 - 7 Un circuito secucncialtiene un flip-nop Q. dos entradas x y y. y una sal ida S. Consta de un cir-
cuito sumador compl eto COrICCtaoo a un nip-flop D. como se indica en la fi gurn P5-7. Deduzca
lo tabla de estados y el diagrama de estados del circuito secuencial.
,
_1 Sumador
e CQml}/eto
s
,
Q
D
eK
FIGURA PS-7
5 · 8 Deduzca la labi a de estados y el diagrol ma de estados del circuito secuencial que se mUCStrn en
la figura P5-S. Explique la fu nción del circuito.
A ' A 8 ' U
5r
e
T T
- eLK
FIGURA PS-8
M a t ~ r t ' l l protegido por derechos de 'lL.: or
114 Capítulo 5 lógica .'Secuencial sincróni<a
5-14 Sustituya la asignación binaria 2 de la Ulbla 5-91:n los estados de la Ulbla 5-8 y obtenga la tabla
de estados binaria.
5-15 Pn:pare una Ulbla de estados para el mp-flop JK utili7Jlrldo Q como estado actual y siguiente, y
J Y K como entradas. Disei\e el circuito secuencial especifi cado por la tabla de estad05 y demues-
tre que es equivalente a la figura 5-lla).
5·16 Diseñe un circuito secuencial con dos flip-flops D," Y 8, Y una entrada, x. Cuando x = O, el es·
tado del circuito 00 cambia. Cuando x - l . el circuito pasa por las transiciones de estado de 00
aOI a II a lO y de vuelta 300, y repite.
5·17 Diseñe un complementado!' a dos en sene con una entrada y una salida. El circuito acepta una ca·
dena de bits de la entroda y genera el complemento a dos en la salida. El circuito se puede resta·
blecer asincrónicamente para iniciar y tenninar la opeT3Ción.
5-18 Diseñe un circuito secuencial con dos flip·flops JK." Y 8. Y dos entrJdas, E y x. Si E - O. el
circuito pennanecc en el mi smo estado sea cual sea el valor de x. Si E '= l Y x = l. el circuito
pasa por lu transiciones de estado de 00 a 01 a 10 a 11 '1 de vuelta a 00, '1 repite. Cuando E = I
Y x - O. el circuito pasa por las transiciones de estado de 00 a 11 a 10 a 01 y de v!KIlI! a 00, y
repite.
5-19 Un circuito secuencial tiene treS flip-flops. A. 8. C; una entnlda . . 1': '1 una salida. y. El diagrama
de estados aparece en la figura PS·19. El circuilO se diseñan!. tratando los estados no mi lil,ados
como condiciones de indiferencia. Analice el circuito obtenido del diseoo para detenninar el efec-
to de los estados no utilizados.
u) Use flip-flops D en el diseno. b) Use mp-flops JK en el disc:i\o.
001

FIGURA P5· 19
5·20 Diseñe el circuito secuencial especi fi cado por el diagrnma de estados de la figura 5. 19 emplean-
do flip-flops T.
5· 21 Explique la principal diferencia entre un enunciado Inltlal y un enunciado always en Venlog
HDL
M" mi protegido por derocf'Jo<:. de :ll.: "Ir
Problemas 215
$ -22 Dibuje la forma de onda generada por el enunciado inilial
initial
begin
w-O; '20w:.l; '50w:O; '30w=1¡ IIOw=O;
.....
5-23 Considere estos enunciados suponiendo que RegA contiene inicialmente el valor JO.
5-24
S-25
S-26
11) RegA '" 125 b) RegA <: 125
RegB '" RegA
RegB <_ RegA
¿Qué vlllores tienen RegA y RegB después de 111 ejecución?
Escriba Un:J descripci ón HDL del compona.micnto de un flip-nop D con prccscablecimiento y
restablecimiento asincronicos. (Este tipo de flip-nop se reproduce: en la figura 11-1 3.)
Un f1ip-flop especial disparndo por borde positivo tiene dos entradas. DI y D2. 'Y una entrada de
control que escoge una de las dos. Escriba una descripción HDL del compon3miento de este flip-
f1op.
Escriba una descripci ón HDL del componnmiento de un f1ip-f1opJK Uli1i1.nndo un enunciado ir·
el.se basado en el \"alor del est!WIo actual. (Sugutnda: Considere la ecuación e8rncteristlcll cuan-
doQ = OoQ - I. )
Reescriba la descripción del ejemplo HDL 5-5 combinando las transiciones de estado 'Y \3 S3lida
en un bloque always.
5-28 Simule el circuito sccuenei31 de 111 figura 5-17.
a) Escriba la descripción HDL dc:1 diagrama de estados.
b) Escriba la descripción IIDL del diagroma de: cireuito.
e) Escriba un estímulo HDL oon una suce:sión de entradas: OO. 01. 11 . 10. Verifique que la res-
puesta sea la misma con ambas descripciones.
5 - 29 Escriba 1:1. descripción HOL del contndor binario de dos bits que se il ustro en la figura 5-20. Uti-
lice: el módulo de estrmulo del ejemplo HDL 5-7 Y verifique que su respuesta de salida sea la
misma que las fonnas de onda de la figura S-21.
S· JO Dibuje el diagrama lógico del cin:uito secuencial descrito por el módulo HOL siguiente:
module Seqcrt (A,B,C,O,CLK) ¡
ipPUt A,B, C, CLK;
out.put. O;
r.g O,E;
al .. ay. i (posedge CLK)
_in
E<.,A&B¡
o <:Elc;
.....
¿Qué cambios. si acaso. deben hacerse al circuito si los dos últimos enunciados usan asigna-
ción bloqueadora en vez de no bloqueadora'?
protegido por derechos de 'lL.: or
216 Capítulo S lógica secuencial sincrónica
REFERENCIAS
1 . HAYES. J. P. 1993. 1ntroduclion 10 Digi/ol wgic Duigll. Reading. MA: Addison-Wesley.
2_ WAKERLY. J. F. 2000. Digital Design: Principies (Jlld I'rocticts, 30. ed. Uppcr Snddle Rivcr. NJ:
Prentice- Hall.
3. KATl_ R. H_ 1994. Contemporo,), wgic IÑsign. Uppcr Suddle Ri\'cr. NJ: Prcmice-Hall .
4_ MANO. M. M. Y C_ R. KIME. 2000. wgic and Comp/J/er Design Fundamt!llwls. la. ed. Uppc:r
Saddlc Rivcr. NJ: Prcntice- Hall.
5 . NELSQN V. P. . H. T. NAGUl, J. D. IRwIN)' B. D. CARROU... 1995. Digital wgic Circuit Allalys;s amJ
Dtsigll . Uppcr Saddlc Ri\"er. NI: ?renlice-Hall.
6. DIETME'I'ER. D. L 1988. wgic Dt!sign 01 Digital S)'stmu. 3a. ed. 8oslon: Al lyn Bacon.
7. GAJSKI. D. D. 1997. Principies al Digital Dt!sign. Upper Saddle Ri\-er. NJ: Prentice-Hall.
8 . Rom. C. H. 1992. al wgic Design. 4a. N , SI. PllUl : Wesl.
9. BIIASKER. J. 1997. A \'úilog HDL Primt!T. AlIentQ ... '". PA: Stnr Galaxy Press.
10. BIIASKER. J. 1998. Verilog HDL S)"ntlltsis. Allentown, PA: Star Gahuy Pms.
11 . CILbTII. M. D. 1999. Mo¡Je/ilrg. S)"ntlrnu O/r¡J R(rpi¡J ¡>rolO/)1,in8 wi/h Vi'rilog IIDL Upper Snd-
dIe River. NJ: Prentice-Hnll .
12. PALNmwt. S. 1996. Vuilog HDL' A Guille 10 Digital Desigll nJl¡J S)"lIIlresis. SunSoft Press (un
¡flUlo PTentice-HIIIl ).
13. TlfO.\lAS. D. E. Y P. R. MQORDY. 1998. 7ñe Veri/og Dt'JcriplioJl LlIIrguugt. 4a. cd. Bos-
Ion: KlulO.·cr Academic Publishers.

protegido por derechos de 'lL.: or
6-1 EGISTROS
Regi stros
y contadores
circuito secuencial con reloj consiste en un grupo de fli p-flops y compuenas combinado-
coneclados para formar un camino de retroalimentación. los fl ip-fl ops son ¡ndispensa-
porque, si n ellos. el circuito se reduce a un circuito puramente combinacional (suponiendo
no haya retroalimentación entre las compuertas). Un circuito con fli p-flops se considera
aunque no tenga compuenas combinacionales. Los circuitos que incl uyen flip-flops
lo regular se clasifican según la función que desempeñan. más que por el nombre del cir-
secuencial. Dos de esos circuitos son los registros y los cont adores.
Un registro es un grupo de flip-fl ops. Cada fl ip-fl op puede almacenar un bit de infonnaciÓn.
regiSlro de n bits consiste en un grupo de n fl ip-fl ops capaces de al macenar n bits de infor-
binaria. Además de los fli p-flops. un registro puede tener compuertas oombinaciona-
que real izan ciertas tareas de procesamiento de datos. En su defini ción más ampli a. un
consiste en un grupo de fli p-flops y compuertas que efectúan su transición. Los fli p-
contienen la información binaria y las compuertas determi nan CÓmo esa información se
al registro.
Un contador es básicamente un registro que pasa por una sucesión predeterminada de esta-
Las compuertas del contador están conectadas de tal manera que producen la sucesión
de estados bi narios. Aunque los contadores son un tipo especial de registros, es ca-
distinguirlos dándoles otro nombre.
Hay diversos ti pos de registros en el comercio. El más senci llo consiste únicamente en flip-
sin compuertas. La figura 6- 1 muestra uno de esos registros construido con cuatro
tipo D. La entrada de reloj . común a todos los flip-Oops.los di spara en el flanco po-
de cada pulso. y los datos binarios disponibles en las cuatro entradas se transfieren en el
de cuatro bits. Es posible muestrear las cuatro salidas en cualquier momento para ob-
la información bi naria almacenada en el registro. La entrada de despeje (cI.!ar) se canec-
a hl entrada R (restablecimiento. nos.!,) de los cuatro fli p-flops. Cuando esta entrada cambia
217
218 Capítulo 6 Registros y cont adores
D
e
R
r-
D
H>c
R
D
e
R
r-
D
H>c
R
Reloj Despeje
FIGURA 6-1
Registro de cuatro bits
a O. todos los flip-nops se restablecen asincr6nicamcnte. La entrada cfear sirve pam poner en
ceros el registro antes de que comience a funcionar con rel oj . Las entradas R se deben mnnt e-
ner en Ilógico dumnte el funcionami ento nonnal con reloj. Se utiliza tanto cfear como rt!sel
para indicar la transferenci a del regi stro ni estado de ceros.
Mat rnl protegido p?f dcracbos de ':lul')r
I
Sección 6-2 Registros de desplazamiento 21 9
Registro con carga paralela
Los sistemas digitales si ncróni cos tienen un generador maestro de reloj que suministra un tren
continuo de pulsos de reloj. Estos pulsos se aplican a lodos los fli p-nops y regislros del siste-
ma. El reloj maestro actúa como una bomba que ali menla un latido constante a loda<; las par-
tes del sistema. Se requiere una senal de control aparte paro. decidir pulso de reloj especifico
tendrá efecto sobre un registro dado. La transferencia de infonnación nueva a un registro se des-
cribe como carga del registro. Si lodos los bits del regi stro se cargan simulláneamente. con un
pulso de reloj común. se dice que la carga se efectúa en paralelo. Un borde de reloj aplicado a
las entradas e del regislro de la figura 6-1 carga las cuatro entradas en paralelo. En esta con-
ijguración. el reloj deberá inhibirse del cin:uito cuando se desee que el registro conserve intac-
to su contenido. Esto se hace controlando la señal de entrada del reloj eon una compuerta
habilitadora. Sin embargo. la inserción de compuertas en la trayectoria del reloj impli ca que la
lógica se efectúa con pulsos de reloj. La inserción de compuertas lógicas produce retardos de
propagación desiguales entre el reloj maestro y las entradas de los flip-flops. Paro si ncronizar
plenamente el sistema. hay que cerciorarse de que todos los pulsos de reloj lleguen al mismo
ticmpo a todos los puntos del sistema. para que todos los flip-flops se di sparen en forma simul-
tánea. La lógica efectuada con pulsos de reloj inserta retardos variublcs 'Y podría hacer que el
sistema se desincroni ce. Por ello. es aconsejable controlar el funcionami ento del registro con
las entradas D. en vez de controlar el reloj en las entradas e de los flip-flops.
En la fi gura 6-2 se observll un registro de euatro bits con una entrada de control de carga que
se hace pasar por compuertas 'Y llega a las entradas D de los flip-flops. La enlr'olda de earga del
regi stro detennina la acción que se real izará en cada pulso de reloj. Si la entruda de carga es
l . los datos de las cuatro entradas se tmnsfieren al registro en el siguiente borde positivo del
reloj. Si la entrada de carga es O. las salidas de los flip-flops se conectan a sus respectivas en-
tradas. La conexión de retroalimentaeión de salida a entrada es necesaria porque el flip-flop D
no tiene una condición de "sin cambio". En cada flanco de reloj. la entrada D detenninu el si-
guiente estado del registro. Para quc lu salida no cambie. es necesario hacer que la entrada D
sea igual al valor actual de la salida.
Los pulsos de reloj se apl ican a las entradas e en todo momento. La entrada de carga deter-
mina si el siguiente pulso va a aceptar nueva información o va a dejar intacta la información
que está en el registro. La transferencia·de información de las entradas de datos o las saJidas
del registro se efectúa simultáneamente con los cuatro bi ts. en respuesta a un borde de reloj.
6-2 REG I STROS OE DESPLAZAM I ENTO
Un registro capaz de desplazar su información binaria en una dirección o en la otra se ll ama
de desplawmienro. La configuración lógica de un registro de desplazami ento consis-
te en una cadena de flip-flops en cascada, con la salida de un flip-fl op conectada a la entrada
del siguiente fl ip-fl op. Todos los flip-flops reciben pulsos de reloj comunes, que activan el des-
plaz.amiento de una etapa a la sigui ente.
El registro de desplazamiento más sencillo posible usa sólo flip-flops, como se indica en la
figura 6-3. La salida de un flip-flop dado se conecta a la entrada D del flip-flop que está a su de-
rccha. Cailil pulso de reloj despluza el contenido del registro una posición de bit a la derecha. La
entroda en serie detem,i na qué sucede en el flip-flop de la extrema izquierda durante el despla-
zamiento. La salida en serie se toma de la salida del flip-flop de la extrema derecha. A veces se
hace necesario controlar el desplazamiento de modo que sólo se efectúe con ciertos pulsos. pe-
Mat '11 pro <:Ir dE' '!L "Ir
220 Capítulo 6 Regi!otros y contadores
"
~
L ::[
Reloj

FI GURA 6-2
Registro de cuatro blh con carga paralela
Entrada
en sene
CI. K
FIGURA 6-3
SI
O O
----1:. e ----1:. e
Registro de desplazamiento de cuatro bits
~
J-
O
- l ~ C
) O
t e
D
t e
o
t e
o
-j> e
/J
¡te
-'
SO
Salida
en IiCne
A,
M f[ 11 protegido por deroct'Jo<:. de t.: "Ir
Sección 6-2 Registros de desplazamiento 221
ro no con otros. Esto se logra inhibiendo el reloj de la entrada del registro paro impedir que se
de.<¡place. Más adelante se verá que la operación de desplazamiento se controla a Imv6; de las en-
trndas D de los nip-flops. en vez de hacerse a trav6; de la entrada de reloj. Pero si se se usa el re-
gistro de despl:v..amiento de la figura 6-3. el desplazamiento podrá controlarse conectando el
reloj a través de una compuena ANO con una entrada que controle el desplazamiento.
Transferencia en serie
Decimos que un sistema digi tal opero! en modo en serie cuando la infonuación se transfiere y
manipula bit por bit. La infonuaci6n se transfiere bit por bi t despInzando los bits del registro
de origen hacia el registro de desti no. Esto conltaSta con la transferencia paralela. en la que to-
dos los bits del registro se transfieren al mi smo tiempo.
La transferencia en serie de infornmción del regi stro A al registro B se efectúa con registros
de desplazamiento. como se observa en el diagrama de bloques de la figura 6-4a). La sali da en
serie (SO) del regi stro A se conecta a la entrada en serie (51) del registro B. Para evitar la pér-
dida de infonuaci6n almacenada en el registro de ori gen. se hace que la infonnaci6n del regis-
tro A circule conectando la salida en serie con la entrada en seri e. El contenido inicial del
registro B se desplaza hacia su salida en serie y se pierde a menos que se transfiera a un tercer re-
&¡istro de desplazamiento. La entrada de control de desplazamiento detennina cuándo y cúan\as
veces se desplazan los registros. Esto se hace con una compuertnANO que peilllite el paso de pul-
sps de reloj a las tenuinaJes CLK únicamente cuando el control de desplazamiento está activo.
I
Reloj
Control de
desplazamiento
SI
.
Registrode
SO SI
desplazamiento A
CLK
a) Diagrama de bloqUC$
Control de ::-_____ ---'1
dc!>plllZllmiento
Registro de
desplazamiento B
CLK
b) Diagnr.ma de tempori:¿oci6n
FIGURA 6· 4
Transferenc.la en serie del registro A al registro B
O S
Mar rt'll protegido por derecho" de 'lU ':Ir
222
Capítulo 6 Registros y contadores
Tabla 6-1
en
Pulso de Registro de Registro de
temporización desplaumJento A desplazamiento B
Valor inicial 1 O 1 1 O O I O
Después de TI 1 1 O 1 1 O O 1
Después de T
1
1 1 1 O 1 1 O O
Desputs de T} O 1 1 1 O 1 1 O
Después de T
4
1 O 1 1 1 O 1 1
Supongamos que cada uno de los registros de despl azamient o tiem: cuatro bits. Ln unidad
de control que supervisa la trdnsrerencia debe diseñarse de tal mancra que habilite los regis-
tros de desplazamiento. a través de la señal de control de desplu7..amiento. durante un tiempo
fijo de cuatro pulsos de reloj. Esto se muestra en el diagrama de temporización de la figurn 6-4b).
Ln señal de control de desplazamiento se sincroniza con el reloj y cambia de valor inmediata-
mente despu«!:s del flanco negativo del reloj. Los cuatro pulsos dc reloj siguientes encucntr..m
la señal de control de desplazamiento en el estado activo, que la salida de la compuerta
ANO conectada a las entradas CLK produce cuatro pulsos. TI. T
2
• T] Y T
4
, Cada borde nsccn·
dente del pulso causa un desplazamiento en ambos regi stros. El cuarto pulso cambia el control
de de.<¡plazamiento a O y los regi stros de desplazamiento quedan inhabilitados.
Supongamos que el contenido binario de A antes del desplazamiento es 10 II Y que el de 8
0010. La transrerencia en serie deA a 8 se erectúa en cuatro pasos. como se indica en la ta-
bla 6- 1. Con el primer pulso TI' el bi t de la extrema derecha de A se desplaza al bit de la ex-
trema izquierda de 8 y también se circula a la posición de extrema izquierda de A. Al mi smo
tiempo, todos los bits de A y 8 se desplazan una posición a la derecha. La anterior salida en
seri e de B. en la posici ón de extrema derecha. se pierde, 't su valor cambia de O a l. Los tres
pulsos siguientes erectúan operaciones idénticas. despla:r..ando los de A II 8. uno por uno.
Después del cuano desplazamiento, el control de desplazamiento cambia a O 't ambos re-
gistros. A y B. tienen el valor 10 11. Asr. el contenido dc A se transfiere a B, pero pennanece
inalterado.

La direrencia entre los modos de operación en serie y en paralelo deberá ser obvia por e.<¡te
ejemplo. En el modo paralelo. se cuenta con inronnación de todos los bits de un registro. y to-
dos los bits se pueden transrerir simultl1neamente durante un pulso de reloj. En el modo en se-
rie. los regi stros tienen una sola entrada en serie 't una sola sali da en serie. La inronnación se
transfiere bit por bit mientras los registros se desplazan en la misma dirección.
Suma e n serie
Las operaciones de las computadoras di gitales por lo regular se erectúan en paralelo porque es-
te. modo de operación es más rápido. Las operaciones en serie son más lentas. pero tienen la
ventaja de requerir menos equipo. Para ilustrar el modo de operación en serie. presentaremos
aqur el disei'lo de un sumador en serie. Su contrapane paralela se presentó en la sección 4-4.
Los dos números binarios que se sumarán en serie se almacenan en dos registros de despl a-
zamiento. Los bits se suman par por par Ulilizando un solo circuito de sumador completo (Se),
como se observa en la figurn 6-5. El acnm:o de salida del sumador completo se trnnsfiere a un
mp-flop D. La sali da de este flip-flop se utili7..a entonce,<¡ como acarreo de entrnda para el si·
guiente par de bits significativos. El bit de suma de la sali da S del sumador completo podría
transferirse a un tercer registro de desplazamiento. Al desplazar la suma a A mientras se des-
Mal r 'JI protegido r.f derechos de> 'jI t"r
,
Control de
dcspla2amiento
CLK
Ent rada
en scnc
FIGURA 6· 5
Sumador en serie
Sección 6-2 Registros de desplazamiento 223

Registro de
SO
_ desplaumienlO A
x
S
,
se
C
SI •

-
::
Rcplrode SO
-
B
Q
o
C1-
Ocar
pl81..aJl hocia afuera los bits de A. es posible utilizar un solo registro para almacenar los bits tan-
to de un sumando como de la suma. La entrada en serie del registro B sirve para transferir a B
un nuevo número binario mientras los bits del sumando se desplazan hado afuera durante la
suma.
El sumador en serie funciono como sigue. Inicialmente. el registro A contiene el primer su-
mando. el registro B contiene el segundo sumando y el flip-nop de acarreo está en O. Las sa-
lidas (SO) de A y B alimentan un par de bits significativos al sumador completo en x y y. La
salida Q del mp-flop alimenta el acarreo de entrada en l. El control de desplazamiento habili-
ta anlbos registros y el nip-f1op de acarreo. de modo que, en el siguiente pulso de reloj, ambos
registros se desplazarán una vez a la derecha; el bit de suma de S ingresará en el mp-flop de
e"trema izquierda de A, y el acarreo de salida se transferirá al flip-flop Q. El control de des-
pla:r.amiento habilita los registros durante un número de pulsos de reloj igun! al número de bits
que hay en los registros. Con cada pulso de reloj sucesivo, un nuevo bit de suma se transfiere.
n A, un nuevo aellfTl:Q se U'andiere a Q y ambos registros se desplazan una vez a la derecha.
Este proceso continúa hasta que el control de desplazamiento se inhabil ila. As[ pues. la suma
se efectúa pasando cada par de bi ts, junto con el acarreo anlmor. por un solo circuito de su-
mador complet o. y transfiriendo la suma, bit por bit, a1 registro A.
Ini cialmente, A yel flip-flop de acarreo se ponen en O (con clear), y luego se suma el primer
número de B. Mientras B se desplaza a travb del sumador completo, se transfiere a ti un segun-
do número a trav6i de su entrada en serie, Luego el segundo número se suma al contenido del re-
gistro A mientras un tercer número se transfiere en serie al registro B. Esto puede repetirse para
efectuar la suma de dos, tres o más números y acumular SU suma en el registro A.
Si se compara el sumador en serie con el sumador paralelo descrito en la sección 4-4, no-
taremos varias diferencias. El sumador pmalelo utiliza regi stros de carga paralela. mientrali
que el sumador en serie usa registros de desplazamiento. El número de circuitos de sumador
Mat 'JI prOiP.gido -:-f dE' '1U ')1'
224 Capítulo 6 Registros y contadores
completo en el sumador parnlelo es igual 01 número de bits de los números binarios, mientrns
que el sumador en serie sólo requiere un circuito de sumador compkto y un Oip--Oop de acarreo.
Sin contar los registros. el sumador paralel o es un circuito combinacional, mientras que el su-
mador en serie es un circuito secuencial, El circuito secuencial del sumador en serie consiste
en un sumador compl eto y un nip-Oop que almacena el acarreo de salida. Esto es tfpico en las
operaciones en serie porque el resultado de una operación en un ti empo de un bit podrfa de-
pender no sólo de las entrJ.das actuales, sino tambi én de las entradas anteriores que se deben
almacenaren Oip-Oops.
Pnr.l demostrar que es posi ble di senar operaciones en serie empleando el procedimiento de cir-
cuitos secuenciales, volveremos a discñarel sumador en serie utili zando unu tabla de estados. Pri -
mero, suponga que contamos con dos registros de desplaz.1.mi enlo para almacenar los números
binarios que se sumarán en serie. Las salidas en serie de los registros se designarán x y y. El ci r-
cuito secuencial 11 diseñar no inclui rá los registros de despl:l7.1lmient o: éstos se insenamn des-
pués para mostrnr el circuito completo. El circuito secuencial propiamente dicho tiene las dos
entradas, x y y. que alimentan un par de bits signi ficmi vos. una sali da S que genera el bit de su-
ma y un flip--Oop Q para almacenar el acarreo. La tabla de estados que especifica el circuito se-
cuencial se presenta en la tabla 6-2. El estado actual de Q es el vulor actual del acarreo. El acarreo
que está en Q se suma a las entradlls x y y para producir el bit de suma en la salida S. El siguien-
te estado de Q es igual al acarreo de salida. Vemos que las filas de la tabla de estados son idénti -
cas ti. las de la tabla de verdad de un sumador completo. excepto que el acarreo de emrada ahora
es el estado actual de Q y el acarreo de salida ahoru es el siguiemc estudo de Q.
Si usamos un Oip-flop D para Q, el circuito se reducirá al que se muc:stra en la figura 6-5.
Si usamos un Oip--fl op JK para Q. será necesari o detemlinar los valores de Ins entrndas J y K
consultando la I1lblu de excitación (labia 5-12). E.<¡ IO se hace en la" últ imas dos columnas de la
tabla 6-2. Las dos ecuaci ones de entrudll de Oip--Oop y la ecuación de salida se simplifi can por
medi o de mapas para obtener
Tabla 6-2
Jo = xy
Ka = x/y' ::::: (x + y)'
S = x $y$Q
Tabla eh l!StodOl del sumador en sl!ril!
Estado Siguiente Entradas del
actual Entradas estado Salida fIIp-flop
Q X
Y
Q S
J, K,
O O O O O O X
O O I O I O X
O I O O I O X
O I I I O I X
I O O O I X I
I O I I O X O
I I O I O X O
I I I I I X O
protegido por derechos de 'lt.: or
Sección 6-2 Registros de desplazamiento 225
Control de
des pi a7.1'11T1 ie n I o
CLK
Entrada
en !lene
FIGURA 6·6
SI
SI
Rcgistro de Iso ", x
dc:spIaumi<nlo A I
Rcgiw<I de
50 * ,
desplazamiento B
Segunda forma del sumador en serie
S
}
-
-1> e
K
Ocar
El diagrama de circuito se reproduce en la fi gura 6-6. El circuito consta de tres compuenas y
un flip-flop JK. Se hnn incluido los dos registros de desplazamiento en el diagrama para mos-
trar el sumador en serie completo. Cabe señalar que la salida S es función no sólo de x y y. si-
no l a m b i ~ n del estado actual de Q. El siguiente estado de Q es función del estado act ual de Q
y de los valores x y y que salen de las salidas en seri e de los registros de desplazamiento.
Registro de desplazamiento universal
Si las salidas de flip-flop de un registro de desplaz.amiento e.<;tán accesibles. la infonnación que
se introduce en serie por desplazamiento se puede sacar en parnlelo de las salidas de los flip-flops.
Si se añade la capacidad de carga en paralelo a un registro de desplazamiento. los datos introdu-
cidos en paralelo se podrnn sacar en serie desplazando los datos almacenados en el registro.
Algunos registros de desplazamiento proporcionan las tenni nales de entrada y salida nece-
sarias para la transferencia en parnlelo. También podrían lenercapacidad de despl azamiento tan-
lo a la derecha como a la izquierda. El regi stro de desplazamiento más general tiene estas
capacidades:
1. Un control de despeje (dear) para poner en ceros el registro.
Z. Una entrada de reloj (dock) para sincronizar las operaciones.
3. Un control de desplazamiento a derecha (s/lift·rigllt) paro habi litar la operación de des·
plazamiento a la derecha, y las !fncas de entmda y salida en serie asociadas al desplaza.
miento a la derecha.
4. Un control de desplazamiento a izquierda (sllift-Ieft) para habil itar la operación de des-
plv.arniento a la izquierda. y las líneas de entrada y salida en urie asociadas al desplaza-
miento a la izquierda.
S. Un control de carga en paralelo (pamllel-load) para habi litar la transferencia en parale-
lo y las IIUneas de entrada asociadas a la transferencia en paralelo.
6. n líneas de SlJlida en paralelo.
7. Un control de estado que deja la información del registro como está. en presencia del
reloj.
Mat fI'll protegido por dere('t'Jo de 'lL: "Ir
0'"
eLK
226 Capítulo 6 Registros y contadores
Salidas panlelas
A, A.
I I I I
4
D
4
D
4
D
4
D
-t
" MUX de MUXde MUXde MUXde
'"
" ,
'"
" , ,
1 2
,
o 1 2
,
o 1 2
,
o 1 2
,
o
Entrada tn
EnIJIIU. t
... rieJW1l _

1, 1,
Entrldas parlldas
FIGURA 6-7
RegIstro de deipl azamiento universal de 4 bits
1, 1,
"
Knt parll
desplazamk
.. ,
• la lLquknJ.o
Otros registros de desplllUlmiento podrlan tener sólo algunas de las funcionc!S nnteriores. con
una operación de desplll7.ami ento por lo menos.
Un registro que sólo puede desplazar en una dirección es un registro de desplazamiento uni -
direccional. Uno que puede hacerl o en ambas direcciones es un registro de despl a7.amient o
bidireccional. Si el registro tiene ambos despl azami entos y capacidad de carga paralela. se de-
nomina registro de despluw 11I;e/lto III,iver.ral .
En la figura 6-7 se presenta el di agrama de un registro de despl azamiento universal de cua-
tro bi ts que posee todas las capacidades de la lista anteri or. Consta de cuatro flip-fl ops D y
cuatro multiplexores. Los cuatro multiplexores tienen dos entradas de selección en común, St
y So- La entrada O de cada multiplexor se selecciona cuando SISO = OO. la entrada 1 se selec-
ciona cuando SISO = 01 . Y de manera análoga para las otros dos entradas. Las enlradas de se·
lección controlan el modo de operaci ón del registro según las funci ones enumer"das en In labi a
6-3. Cuando SLSO = 00, el valor actual del registro se apl ica a las entr.w:las D de los flip-fl ops.
Estn condi ción establ ece una trayectori a desde la salida de cuda fl ip-fl op hasta la Cnlruda del
mismo flip-fl op. El sigui ente balde de rel oj tmnsfiere a cada fl íp-flop el val or binario que con-
Mat<>fL'll protegido pt:lr ¡,;erecho!' de 'lut')r
Sección 6-3 Contadores de rizo 227
Tabla 6-3
Tabla de función para el reg/uro de fa figura 6-7
Control de modo
>,
o
O
I
I
O
I
O
I
Operación del registro
Sin cambio
Desplll7.amiento a la derecha
Desphwuniento a la izquierdu
C4f"ga en paralelo
tenía antes. así que no hay cambio de estado. Cuando .1
1
.1J:1 = 01 . la tenninal I de las entradas
de multiplexor tiene una trnycctori a a las entrndas D de Jos Oip-flops. Esto causa una opera-
ción de despl a7.ami ento a la derecha, trnnsfi riéndose la entrada en seri e al flip-flop Al' Cuan-
do .1
1
.10 = 10. el resultado es una opernción de despl azamiento a la izquierda. y la otra entrada
en serie al Oip-flop Ao. Por últ imo. cuando SISO "" 11 . la informaciÓn binari a que está en
las Ifneas de entr.lda paralelas se transfiere al regi stro simultánellfllCnte durante el siguiente
borde de reloj.
Los regi stros de despl azamient o se usan mucho como inteñaz de sistemas di gitales situa-
dos lejos uno del otro. Por ejemplo. supongamos que es necesario transmitir una cantidad de
11 bits entre dos puntos. Si la di stancia es grande. seria costoso usar n Ifneas para transmitir
los 11 bits en par.llelo. Resul ta más económi co usar una sola Ifnea y transmitir la infonnación
en seri e. bit por bit. Los 11 bi ts de datos se colocan en paralelo en un registro del transmi sor y
luego se transmiten en seri e por la línea común. El receptor acepta los datos en seri e en un re-
gisltO de desplazamiento. Una vez que ha recibido los 11 bits. éstos se pueden tomar de las sa-
lida. .. del registro en paralelo. Así. el transmi sor efectúa una conven;ión de los datos. de paralelo
a seri e. y el reeeptor efectúa una conversión de serie a paralelo.
6-3 CONTADORES DE RIZO
Un registro que pasa por una sucesión precscrita de estados cuando se aplican pulsos de entm-
da se denomi na cont ador. Los pulsos de entrada podrian ser pulsos de reloj u ori ginarse en al -
guna fuente externa. y podrían presentarse a interval os fijos de tiempo o al azar. La sucesión
de estados pcxI ria seguir la sucesión numéri ca binari a o cualquier otro orden. Un contador que
sigue la sucesión numérica binaria e. .. un contador binario. Un contador binario de " bi ts consis-
te en n ni p-fl ops y puede contar en binario desde O hasta r - l .
Los contadores se dividen en dos categorlas: contadores de ri zo y contadores sincronicos.
En un contador de ri zo. la transición de salida del flip-flop sirve como dispamdor de otros nip-
flops. Dicho de aIro modo. la entrada C de algunos nip-fl ops, o de todos, se dispara. no con
los pulsos del reloj común. sino con la transición que se da en otras de fli p-fl op. En un
contador si ncroni co. las salidas C de todos los fl ip-flops reciben el reloj común. Se habl nr:1 de
los contadores sincronicos en las dos secciones siguientes. Aquí presentaremos los contadores
de ri zo binario y BCD Y explicaremos su funcionamiento.
Mal rl'11 protegido por derec 10 de 'lU ':Ir
Sección 6-3 Contadores de rizo 229
T
--
o
f+
Cante
"
1>e R
-;¡-
Conteo
-tc.
y

T
r-
o
o
1>e.
t eR y
--jT
A,
o
-tCR 1>C. y
T
o
e.
"'te.
Ilógico
. ~ ,
-,
1) Con Dip-Ilops T
b) Con flip-Ilops D
FIGURA 6-8
Contador binario d ~ rizo d ~ cuatro blu
tal prnlegido po. a r o de ut
230 Capít ulo 6 Regist ros y contadores
Tabla 6-4
Sucesión binario d ~ contro
A. A. A,
...
O O O O
O O O I
O O I O
O O I I
O I O O
O I O I
O I I O
O I I I
I O O O
Contador BCD de rizo
Un contador deci mal sigue una sucesiÓn de diez estados y vuelve a O después de la cuenta
de 9. Un contador así necesita por lo menos cuatro mp-nops para represenlar cada dfgilo de-
ci mal, ya que un dígito decimal se representa con un código binario de por 10 menos cuatro
bits. La sucesión de estados de un conlador decimal depende del código binario empleado
para representar un dígito decimal. Si se usa BCD, la sucesión de estados es la que se apre-
cia en el di agl1lma de estados de la figura 6-9. Este contador es similar al binario, excepto
que el estado que sigue a 100 I (código del dígito decimal 9) es 0000 (código para el dfgilo
deci mal O).
En la fi gura 6- JO se presenta el di agrama lógico de un contador BCD de ri zo que utili za nip-
nops JK. las cuatro salidas se designan con la letra Q segui da de un subfndiee numéri co igual
al peso bi nario del bit correspondienl e en el código BCD. Vemos que la salida de QI se aplica
a las entradas e tanto de Ql como de Qs. y que la salida de Ql se aplica a la enlrada e de Q •.
las entradas J y K se conectan a una señal de Ilógico pennonente o bien o salidas de otros
mp-nops.
Un comador de rizo es un circuito secuencial asincrónico. Las señales que afeclan la
transición del mp-nop dependen de la fonna en que cambion de I a O. Podemos explicar el
funci onamiento del eontador con una lisia de condiciones para transiciones de Oip-nop.
Estas condiciones se deducen del diagrama lógico y del conoci miento de la forma en que
opera un mp-flop JX. Recuerde que. cuando la entrada e cambia de I a O, el mp-nop se
FI GURA 6-9
Diagrama de estado, de un contador BCD decimal
Mal lal protegido.por derechos dfI :J.L'f')r
FIGURA 6- 10
COlltador BCD de rizo
eoo'w
Sección 6-3 Cont adores de ri zo 231
J
Q,
c
K
-
J
C
-
K
WJ
.c
- K
J
C
K
I
establece si J :::: 1, se restablece si K :::: 1, se complementa si J :::: K = I Y no cambia si
J :::: K ;;: O.
Paro verifi car que estas condiciones producen la sucesión requerida por un contador BCD
de ri zo, es necesario comprobar que las transiciones de mp-flop pasen sucesivamente a los es-
tados especificados por el diagrama de estudos de la figura 6-9. Q. cambia de estado
de cada pulso de reloj . Ql se complementa cada velo que Q. pasa de I a O. en tanto QI = O.
Mat '11 prOiegido 0f de '!u ':Ir
232 Capítulo 6 Registros y contadores
Contador
BCD
Dfgho 1()2
FIGURA 6-11
Contador
BCD
Dígi to 10
1
I
Contador
BCD
Dígilo Ir/!
""'" <1< """'ro
Diagrama un (ontador BCD decimal de dé(adai
Cuando Q, cambia a l. permanece en O. Q, se complemema cada vez que Ql cambia de I
a O. Q8 permanece en O en tamo Q2 o Q4 sean O. Si tanlo Ql como Q.. cambian a 1. Q. se com-
plemema cuando Ql cambia de I a O. Q. se despeja en la siguiente transición de Q,.
El comador BCD de la figura 6-10 es un comador de década. pues cuenta de O a 9. Puro con-
tar en decimal de O a 99, se necesita un contador de dos décadas. Para cont ar de O a 999. es ne-
cesari o uno de tres df cadas. Los comadores de varias décadas se construyen conectando
contadores BCD en cascuda. uno parJ. cada década. En la fi guro 6-11 se ilustm un contador de
tres décadas. Las entmdas de la segunda y la tercero docadas provienen de QI de la década an-
teri or. Cuando QI de una década cambia de 1 a O. di spara el conteo de la sigui ente década de
orden superior mientras su propia década cambia de 9 a O.
6-4 CONTADORES SINCRÓNICOS
Los contadores sincróni cos difieren de los de rizo en que se apli can pulsos de reloj a las entro-
das de todos los Clip-flops. Un mi smo reloj disparo todos los flip-flops simultáneamente en
vez de hacerlo uno por uno sucesivamente como en los contadores de ri 7.0. La decisión de si
un fli p-fl op debe complementarse o no depende de los valores de las entradas de d:l tos. como
To) y K. en el momento en que ll ega el oorne de reloj . Si T = O o) = K = O. el fli p-fl op no
cambia de estado. Si T = I o) = K = l. el flip-fl op se complementa.
Ya presentamos el procedimiento de diseño de los contadores si ncróni cos en la sección
5-7. Y el diseño de un contador binario de tres bits se erectuó con la ayuda de la figura 5-31.
En esta sección se presentar:in algunos contadores sincróni cos repre¡;enlath'os y se explicará
su funcionami ento.
Contador binario
El di¡;eño de un contador binario sincronico es tan sencillo que no es preciso realii'.ar un pro-
ceso secuenci al de diseño lógico. En un contador binario sincronico. el mp-flop de la posici ón
menos significativa se complementa con cada pulso. Un flip-flop en cualquier otro posici ón se
complementa cuando todos los bits de las posiciones significativas inferiores son l. Por ejem-
pl o. si d estado actual de un contador de cuatro bits es Ay\y\ IAo = 0011 . el siguient e conteo
será 0100. Ao siempre se complementa. A I se complementa porque el estado actual de Ao = l .
Al se complementa porque el estado actual de A.Ao = 11 . En cambio. Aj no se complemema
porque el estado actual de Ay\ ¡Ao 111: 011 . Y no cumpl e la condición de ··todos unos".
Mat nal protegido por derechos dfI aL'!')r
Sección 6·4 Contadores sincrónicos 233
Los contadores binarios sincrónicos tienen un patrón regular y se pueden construir con flip-
nops complementadores y compuertas. El patrón regular se distingue en el contador de cuatro
bits que se representa en la fi gura 6-12. Las entradas e de todos los nip-nops se conectan a un
reloj común. El contador se habilita con la entnlda de habilitar contador. Si esa entrada es O,
todas las entradas J y K son O y el reloj no cambia el estado del contador. La pri mera etapa Ao
J
- - ,
e
Habilit ar oonl CO
K
---.t,
J
e
K
r'--'
J
e
K
J
e
K
A Jaliguicnlc ctapa
e LK
t FIGURA 6-12
Cont ador binario sincrónico de cuatro bits
protegido por derechos de 'lL.: or
234 Capítulo 6 Registros y contadores
tiene 1 en su J y en su K si el comador está habilitado. Las otras entrudas J y K tienen 1 si to-
das las etapas ameriores. menos significativas, producen 1 y el conteo está habilitado. La ca-
dena de compuenas ANO genera la lógica requerida para las entradas J y K de cada etapa. El
contador puede extenderse a cualquier cantidad de etapas. cada una de las cuales tiene un flip-
flap adicional y una compuer1a ANO que produce una salida de I si las salida. .. de todos los
flip-flops anteriores son l.
Cabe senalar que los f1ip-flops se di sparon con el borde posi tivo del reloj. La polaridad del
rel oj no es fundamental en este caso como lo era en el contador de ri zo. El contador si ncroni-
ca se di spara con el borde positivo del reloj. o con el negativo. Los fli p- flops compl ementa-
dores del contador binario pueden ser del tipo JK o del tipo T. o del tipo D con compucnas XOR.
La equivalencia de los tres ti pos se senalll en la figura 5-13.
Contador binario ascendente-descendente
Un contador binario sincronico de cuema regresiva pasa por los eSlados binarios en el orden
inverso. de 1111 hasta 0000. pasando a 11II para repetir el conteo. Es posi ble di-
senar un contador de cuenta regresiva de la forma acostumbrada. pero el resultado es prede-
cible por inspección del conteo binario descendente. El bit de la posición menos significativa
se complementa con cada pulso. Un bit en cualquier otra posición se compl ementa si todos
los bias menos significativos son O. Por ejemplo. el estado que sigue al estado actual 0 100
es 0011. El bit menos significativo siempre se complementa. El segundo bit hacia la iz-
quierda se complementa porque el primero es O. El tercero se complementa porque los dos
primeros son O. El cuarto bil. en contra"le. no cnmbia porque no todos los bits menos "igni _
ficativos son O.
Podemos construir un contador binario de cucnta regresiva como el de la figura 6-12. ex-
cepto que las entradas de las compuertas ANO deben provenir de las salidas complementadas
de los flip-flops anteriores. no de las salidas nonnal es. Es posible combinar las dos oper.lcio-
nes en un solo circuito para formar un contador capaz de contar hacia arriba o hacia abajo. En
la figura 6-13 se representa el circuito de un contador binario ascendenle-descendente que uti -
liza flip-flops T. TIene una entrada de control pam conteo ascendente (arriba) y una entrada dc
control para conteo descendente (abajo). Cuando la entrada arriba es 1. el circuito cuenta ha-
cia arriba, porque entrndas T reciben sus señales de las normales de los flip-fl ops
anteriores. Cuando la entrada abajo es 1 y la entrada arriba es O. el circuito cuenta hacia aba-
jo. porque se aplican a las entrudas T las salidas complementadas de los flip-fl ops anteriores.
Si ambas entrndas. arriba y abajo. son O. el circuito no cambia de estado y pennanece en In mis-
ma cuenta. Si ambas entradas son 1, el circuito cuenta hacia arriba. Esto garantiza que sólo una
operoción se efectúe en todo momento.
Contador BCD
Los contadores BCD cuentan en decimal codificado en binario. de 0000 hasta 1001 y luego re-
gresan a 0000. Debido al regreso a cero de contar hasta 9. el contador BCD no sigue
u,n patrón regular como en el conteo binario directo. Para deducir el circuito de un contador BCD
sincronico. es preciso efectuar un procedimienlO secuencial de diseño de circuitos.
La tabla de estados de un contador BCD se presenta en la tabla 6-5. Las condiciones de en-
trada de los siete flip-flops se obtienen de las condici ones de estado actual y siguiente estado.
se da una salida y en la tabl a. Esta salida es 1 cuando el estado actual es 100 l . Así. y
Mal 131 proJP.Qido lOr df' 8ll"
Sección 64 Contadores sincrónicos 235
Ambo
" v
Abajo
f--
T
e
.
T
e
T
e
.
T
I
e
CLK
FIGURA 6-13
Contador binario de cuatro bits
Mat '11 protegido por derechos de 'lL.: or
I
,
236 Capítulo 6 Registros y contadores
Tabla 6-5
Toblo de eJ!odol poro el contador BCD
Estado actual Siguiente estado Salida Entrada, de fllp-flop
Q,
c¡.
Q, Q,
c¡. c¡.
Q, Q, y TQ, TQ, TQ, TQ,
O O O O O O O I O O O O I
O O O I O O I O O O O I I
O O I O O O I I O O O O I
O O I I O I O O O O I I I
O I O O O I O I O O O O I
O I O I O I I O O O O I I
O I I O O I I I O O O O I
O I I I I O O O O I I I I
I O O O I O O I O O O O I
I O O I O O O O I O O I
puede habil itar c:J conteo de la sigui ente década más significativa alliempo que cambia la dé-
cadoncl uo] de 100 1 00000.
Las ecuaciones de entrada de los flip-nops se simplifican con la ayuda de mapas. Los esta-
dos no utiliuulos de los miniténninos 1011 15 se IOfTllln como ténninos de indiferencill. L a . ~ fun-
ciones si mplificadas son
Tal = 1
T(p "" QÍl QI
1(14 :: QZQl
1(/1 = Q. Ql + Q4Q2Q1
y = QSQl
Es fácil dibujare] circuito con cuatro flip-fl ops T. cinco compuena<; AND y una compuerta ORo
Los contadores BCD sincrónicos se pueden conectar en cascada para fanllar un contador de
numeros decimal es de cualquier longilUd. La conexión en cascada se hace corno en la fi gura
6- 11 . excepto que la salida y se debe coneclar a la entrada de conteo de la siguiente década m á . ~
significativa.
Contador binario con carga paralela
Es muy común que los contadores empleados en sistemas di gital es requieran una capacidad de
CMga paralela para transferir un número binario inicial al contador antes de la operación de con-
teo. La figuro 6-14 representa el diagrama lógico de un registro de cuatro bits que tiene capacidad
de carga paralela y puede operar como contador. Si la entrada de cont rol de carga es l. la
operación de conteo se inhabiliUl y se efectúa una transferencia de datos de las cuatro entm-
das de dat os a los cuatro flip-fl ops. Si ambas entradas de control son O. los pulsos de reloj no
alteran el estado del registro.
M flll protegido por derocf'Jo de ~ "Ir
Sección 6· 4 Contadores sincrónicos 237
Conteo
v
/,
)
J
A,
C
K
T
J
ri
C
/ ,
A,
..j'
(
v
/,
)-j-
J
{
C
I
)- -
"
-1
K
-'::::r'
v
-
rL
)-
-
J
¡-
-
1> c
/,
)
K
¡-
,
-
CLK
,
,
:::j.
Salida de acarreo
FIGURA 6.14
Contador binado de cuatro blu con carga Pllralcla
Mar rF11 protegido po?r derechos de '1U ':Ir
238 Capítulo 6 Registros y contadores
T_bl.6-6
Toblo dt función poro ti contodor dt Jo figuro 6-14
(1 .. , CU(
c."", Conteo función
O X X X Poner en ceros
I 1 I X Cargar entradas
I 1 O I Contar al siguiente esUldo binario
I 1 O O Si n cambio
La salida de acarreo es 1 si todos los flip-nops son I y la entOlda de conteo está habilitada,
É<lta es la condi ción para compl ementar el flip-Oop que contiene el siguiente bit significativo.
La salida de acarreo es útil para expandir el contador a más de cuatro bits. La rapidez de l
contador aumenta si elaclUTeo se genera directamenle a panir de las salidas de los cuatro flip-
nops. pues ell o reduce el retardo de generación del acarreo. Al pasar del estado 1I11 a 0000.
sólo hay un retardo de compuena: en cambio. en la cadena de compuena." ANO de la fi gura
6-- 12 hay cuatro relardos de compuena. Asimismo. cada flip-nop se asocia a una compuena
ANO que recibe directamente las salidas de todos los flip-f1ops anteriores en vez de conectar
las compuenas ANO en cadena.
El funci onamiento del contudor se resume en la tabla 6--6. Las cuntro enlradas de control :
clear, CLK. carga y conteo. determinan el siguienle estado. La entrada clear es asincmnica y.
si es O. hace que el contador se despeje (se ponga en ceros) sin ¡mponar si hay pulsos de reloj
u O l r a . ~ entradas. Esto se indica en la tabla con las entrada. .. X. que repre..'iCnlan condiciones de
indiferencia para las demás entradas. La entrada clear debe estar en el estado 1 para que se
efectúen todas las demás operaciones. Si la entrada de carga y la de conteo son O. las salidas
no cambian. aunque se apliquen pulsos de reloj. Una entrada de carga I causa una transferen-
cia de las entradas 1
0
-/
1
al regist ro durante un borde positivo del reloj. Los datos de enlrada se
cargan en el regi stro sin imponar qué valor tenga la enlrolda de conteo. porque é."ta se inhibe
cuando la entrada de carga está habilitada. La entrada de carga debe ser O para que la entrada
de conteo controle el funcionami ento del contador.
Podemos usar un contador con carga paralela para generar cualquier sucesión de conteo de-
~ a d a . La figuro 6-- 15 muestra dos formas de usar un contador con carga par.deJa para generar
un conteo BCD. En ambos casos. el control de conteo se pone en 1 para habilitar el conteo a
trolvés de la entrada CLK. Recuerde también que el control de entrada inhibe el conteo y que
la operación de despeje es independiente de las demás ent radas de cont rol.
La compuerta ANO de la fi gura 6--15a) detecta la ocurrencia del estado 100 1. Inicialmen-
te. el contador se pone en ceros y luego las entradas clear y COnteo se ponen en l para que el
contador esté siempre acti vo. En tanlo la salida de la compuerta ANO sea O. cada borde posi-
tivo del rel oj incrementará el contador en uno. Cuando la salida llegue ala cuenta de 1001. tan-
10 Ao como Al serán l . y la salida de la compuerta ANO será l . Esla condición acti va la entrada
de carga: entonces. cuando llegue el siguiente borde de reloj. el regi stro no contará. sino que
se cargará de sus cuatro entradas de datos. Puesto que esas cuatro entrodas están conectadas a
O lógico. se cargant un valor de ceros en el regi stro después de la cuentll de 100 l. Asf pues. el
circuito efcclúa el conteo de 0000 hasta 1001 Y luego vuelve a 0000. como debe hucer un con-
tador BCD.
En la fi gura 6-15b), la compuerta NANO detecta la cuenta de 1010. y en ese mi smo inslan-
te el registro se despeja. La cuenta de 10 10 no tiene oportunidad de durar un tiempo aprecia-
M' pro'0'9ido 0rdl"Pr'
I I
c.,,,
I
Conladorde
la figura 6- 14
l r a d a ~ - O
a) Ul ilizando la enlrada de carga
FIGURA 6-15
Conteo - 1
Ocar - 1
CLK
Sección 6-5 Otros contadores 239
Conladorde
la fiaura 6-14
-Conteo . 1
-Carga - O
_ CLK
Las enlradas no tienen efec10
b) Utilizando la enlrada clear
Dos formas de construir un contador BCD empleando un contador con carga
paralela
ble, porque el registro pasa inmediatamenle a O. Hay un pico momentáneo en la saJida Ao cuan-
do la cuenla pasa de 1010 a 1011 e inmedialamente a 0000. Este pico momenláneo podria ser
indeseable, y es por ello que no se recomienda esta confi guración. Si el contador li ene una en-
trada clear sincrónica, sería posible despejar el conlador con el reloj después de que se presen-
ta la cuenta 1001.
6-5 OT RO S CO NTA DO R E S
Es posibl e di señar contadores que generen cualquier sucesión de eSlados deseada. Un conta-
dor de división enlre N (también llamado contador módulo-N) pasa por una sucesión repetida
de N eSlados. Dicha sucesión podría seguir el conteo binario o podría ser cualquier otra suce-
sión arbi lraria. Se emplean cOnl adores para generar señaJes de tempori z.ación que control an la
sucesión de operaciones de un sistema digital. También es posible construir contadores con
registros de desplazamiento. En esta sección, se presenlarán unos cuantos ejemplos de conta-
dores no binarios.
Contador con estados no utilizados
Un circuito con n mp-nops tiene 2" estados bi narios. Hay ocasiones en que un circuito secuen-
cial utili z.a menos de esle máximo número posible de estados. Los estados que no se usan pa-
ra especificar el circuito secuencial no se incluyen en la tabla de estados. Al simplificar las
ecuaciones de entrada, los estados no utilizados podrían tratarse como oondiciones de indife-
rencia. o asignárseles siguientes estados espedficos. Una vez diseltado y construido el circui-
to, una interferencia externa podría hacer que el circuito quede en uno de los estados no
utiliz.ados. En tal caso. será necesario asegurnrsc de que el cireuilo pase en algún momento a
uno de los estados válidos para poder reanudar su operación normal. De lo contrario, si el cir-
cui to secuencial circula entre e5lados no utilizados. no habrá forma de que regrese a la suce-
240 Capítul o 6 Registros y contadores
Tabla 6-7
Toblo de tirodos de un contador
Estado Siguiente
actual eslHo EntrAdas de fllp-f1ops
A

e A

e
1,
K,
l.
K. 1,
K,
o o o o o 1 o X o x x
o o 1 o 1 o o X 1 X X 1
o 1 o 1 o o 1 X X 1 o X
1 o o 1 o 1 X o o X 1 X
1 o 1 1 1 o X o 1 X X 1
1 1 o o o o X 1 X 1 o X
5i60 diseñada de transiciones de estado. Si los estados no utilizados se tratan como condicio-
nes de indiferencia, entonces. una vez que el circuito se haya diseñado. se le deberá investigar
para delenninar el efecto de Jos estados no utilizados. El estado que sigue ¡¡ un estado no mi·
li7.a<!O se detenninu efectuando un análi sis del circuito ya diseñado.
Como ilustración. consideremos el contador especificado en la tabla 6-7. El conteo liene una
sucesión repetida de seis estados. en la que los flip-nops B y e repitcn el conteo binario OO.
01. 10, Y el flip-nop A al terna entre O y I cada tres conteos. La sucesión de eoOlco no es bina-
ri a direclu, y dos estados. Oll y I I l. no están incluidos en el cont eo. La decisión de usar mp-
Oops lK da pie a las condiciones de entrada de flip-Oop que se e.<:pecilican en la tabla. Las
entradas KIJ y Ke sólo tienen unos y cruces en sus columnas. de modo que estas entradas siem-
pre son 1. Las demás ecuaciones de entrada de flip-Oop se si mplifican utilizando los minitér-
minos 3 y 7 como condiciones de indiferencia. Las ecuaciones simplificadas son
l A = 8
lB "" e
l e = 8'
KII "" 8
K
B
"" I
Ke = 1
El diagrama lógico del contador se reproduce en la figura 6- 16a). Puesto que hay dos esta-
dos no utilizados. analizaremos el circuito para detemlÍn:lT su efecto. Si el circuito llega a
estar en el estado 011 debido a un error de señal. pasará al estado 100 de.<: pués de la apl icación
de un pulso de reloj. Esto se averigua por inspección del diugr.tma lógico, observando que,
cuando 8 = l. el siguieme borde de reloj complementa a A y pone a e en O. y cuando e = l.
el siguiente borde de reloj complememu a 8. De fonna similar. podemos ver <Iue el estado que
sigue a III es 000.
En la fi gura 6-16b) se observa el diagroma de estados que incluye el decto de los estados
no utili7..ados. Si el circuito llega a quedar en uno de los estados no uti li7.ados debido a una in-
terferencia externa. el siguiente pulso de conteo lo transferirá a uno de los estados válidos y el
circuito seguirá contando corrcctanlcnte. Asf pues. este circuito tiene nutocorrección. Un con-
tador tiene autocorrccción si. en caso de quedar en uno de los estados no utili zados. llega a la
sucesión nonnal de conteo después de uno o más pulsos de reloj.
Mat '11 pro ~ i d o por derechos de '!L.: or
Sección 6-5 Otros contadores 241
) A
e
K
1)
-,
-
H
I>e
1
K
h
- )
e
OXI "---@)
---}> e
,-
- - K
Reloj
a) Diagrama lógico
b) Diagrama de !:Slldos
FIGURA 6- 16
Contador con estados no utilizados
Contador a nular
Las señales de temporizac ión que cont rolan la sucesión de operllciones de un sistema di-
gi tal se pueden generar con un regi stro de despla7.amiento o con un contador provisto de
decodificador. Un comallor al/lllar (o de ani ll o) es un registro de desplazamiento circular en
el que sólo un mp-nop está establecido en cualquier instante dado: los demás están despe-
jados. El bi l soli tario se desplaza de un flip-nop al siguiente para produci r la sucesión de se-
ñal es de temporización. En la figura 6- l7a) se aprecia un registro de desplazamiento de
cuatro bits conectado como contador anular. El valor iniciaJ del registro es 1000. El bi t l se
desplaza a la derecha con cada pulso de reloj y al llegar a T
l
circula de vuelta a TI)- Cada flip-
flap está en el estado l una vez cada cuatro ciclos de reloj y produce una de las cuatro seña-
les de temporización que se indi can en la figura 6- J 7c). Cada salida se convierte en I después
de la transición de borde negat ivo de un pulso de reloj y sigue siendo I durante el siguiente
cic lo de reloj.
1 Las señales de temporización tambi én pueden generarse con un contador de dos bits que pa-
sa por cuatro estados di stintos. El decOOificador que se ilustra en la figura 6- 17b) decodifica
los cuatro estados del contador y genera la sucesión requerida de señales de temporización.
Mal '11 prOiegido ')f derechos de 'lU ':Ir
242 Capítul o 6 Registros y contadores
FIGURA 6-17
Desplaur
.1. derecha
a) Cont ador anular (yalor inicial - 1000)
Habiliu,r
~ ' r o
Dcrodificadot"
de 2 x 4
Contador de
dos bits
b) Contadot" y deoodifieadot"
eLK
T.
I r
T, ___ -.J
I
T, __ ------'1
T' _I
I
e) Sucesión de cuatro lenales de temporiución
Generación de señal es de temporización
Para generar 2" scñal es de lemporización. se requiere un registro de desplazamiento con 2"
flip-Oops O bien un COnlador binario de" bits junto con un decodifi cador de 11 a 2 ~ lineas. Por
ejemplo, podemos generar 16 señales de temporización con un registro de desplazamient o de
16 bits conectado como contador anular, o con un contador bi nario de cuatro bi ts y un decodi-
fi cador de 4 a 161fneas. En el primer caso, se necesi tan 16 flip-fl ops. En el segundo. necesita-
remos cuatro flip-flops y 16 compuenas ANO de cuatro entradas par.! el decodificador. También
Mal '11 prOiegido ')f derechos de '!L 'lr
,
Sección 6-5 Otros contadores 243
es posible generar las scñales de temporización con una combinación de un registro de desplo-
mmiento y un decodificador. En este caso, el número de Oip-flops es menor que con un con-
tador anular, y el decodificador sólo requiere compuertas de dos entradas. La combinación se
denomina contador Jo/mson.
Contador Johnson
Un contador anular de k bits circula un solo bit entre los flip-flops para producir k estados dis-
tinguibles. El número de estados puede duplicarse si el registro de desplazamiento se conecta
como contador anular con extremo eOll/tUllado. Un contador anular con extremo conmutado es
un registro de desplazamiento circular en el que la salida de complemento del úllimo flip-flop
está conectada a la entrada del primer flip-nop. La figura 6-188) muestra un registro de des-
pla7.amiento de este tipo. La conexión ci rcular se efectúa entre la salida de complemento del
flip-flop de la extrema derecha y la entrada del flip-nop de la extrema izquierda. El registro des-
plaza su contenido una vez a la derecha con cada pulso de reloj y; al mismo tiempo. el valor
complementado del flip-Oop E se transfiere al mp-nop A. Empezando en el estado despejado.
el contador anular con extremo conmutado pasa por una sucesión de ocho estados, la cual se
represcntn en la figura 6-18b). En general. un contador anular con extremo conmutado de k bits
pasa por una sucesión de 2k estados. Partiendo de ceros, cada operación de desplazamiento
inserta unos por la izquierda hasta que el registro queda lleno de unos. A cominuaci6n, se in-
sennn ceros por la izquierda hasta que el registro vuelve a eslar lleno de ceros.
I
D
A
D
B
D
e
D
-E
p' e
¡-{> e
p' e e
E'
1>- A' >- B'
I>-C
eLK -
a) Contador anular con u.trc:mo conmutado de cuatro etapas
NlÍmc:ro
Salidas de los flip-flops
Compuerta ANO
.uonivo
A B e E
r"querida p"11I la ... ¡)do,
I o o o o A' E"
,
I o o o AB'
l I I o o BC
4 I I I o CE'
S I I I I AE
6 o I I I A'B
1 o o I I B'e
8 o o o I CE
b) Sucesión de conteo y derodiftc:ación requerida
FIGURA 6-18
Construcción de un contador Johnson
Mat rF11 protegido P'?r derechos de '1U ':Ir
244 Capítulo 6 Registros y contadores
Un contador Johnson es un contador anular con extremo conmutado de k bitS provisto de
2k compuenas decodificadoras paro generar salidas correspondientes a 2k señales de tempori-
zación. Las compuertas decodificadoras no se indican en la fi gura 6-18. pero se especifican en
la últ ima columna de la tabla. Las ocho compuertas ANO que se registran en la tabla. conec-
tadas al circuito. completan la construcción del contador Johnson. Puesto que cada compuer-
ta se habilita durante una sucesión dada de estados, las salidas de las compuertas generan ocho
señales sucesivas de tempori zación.
La decodifi cación de un contador anular con CJl:tremo conmutado de k bits para obtener 2k
de tempori7..ación sigue un patron regular. El estado de puros ceros se decodifica toman-
do el complemento de las salidas de los dos flip-flops de los extremos. El estndo de puros unos
se decodifica tomando las salidas normales de los dos Oip-flops de los extremos. Todos los de-
más estados se decodifican a partir de un patron l. O o O. 1 adyacente en la sucesión. Por ejem-
plo. la sucesión 7 tiene un patron O. 1 adyacente en los flip-fl ops B Y C. La salida decodificada
se obtiene tomando el complemento de B y la salida nonnal de C. es decir. B'C.
Una desventajn del circuito de la figura 6-18a) es que si llega a estar en un estado no utili-
zado. persistirá en pasar de un estado no vál ido a otro y nunca lIegam a un estado válido. Es-
to se corrige modifi cando el circuito a modo de evitar esta condición indeseable. Un
procedimiento de corrección consiste en desconectar la salida del ni p-flop B que va a la entra-
da D del flip-fl op C. y habi.litar la entrada del flip-fl op e con la función
Dc (A + C) B
donde De es la ecuación para la enlrnda D del flip-flop C.
Podemos construir contlldores Johnson para cualquier número de sucesiones de temporiza-
ción. El número de flip-fl ops requeridos es la mitad del número de señales de tempori7.ación.
El número de compuertas es igual al número de señales de temporización. y
sólo se necesimn compuertas de dos entradas.
6-6 HDl PARA REGISTROS Y CONTADORES
Los registros y contadores se describen en HDL en el nivel de comportamiento o en el estruc-
tural. En el primero. el registro se especifica describiendo las diversas operaciones que reali-
za. de fonna si milar a una tabla de función. Una descripci ón en el nivel estructural muestra el
circuito en ténninos de una colección de componentes como compuertas. flip-Oops y multiple-
xores. Se crean ejemplares de los diversos componentes pam formar una descripción jérárqui-
ca del diseño. similar a una representación de un diagrama lógico. Uti1i7.nremos treS circuitos
de este capftulo paro ilustrar los dos li pos de descripciones.
Registro de desplazam1ento
El registro de desplazamiento universal que se presentó en la sección 6-2 es un registro de des-
plazamiento bidireccional con carga paralela. En la tabla 6-6 se especifican las cuat ro opera-
ciones con reloj que se efectúan con el registro. El registro también se puede despejar
asi neronieamente. La descripción del comportamiento de un regi stro de uni·
versal de cuatro bits se ilustra en el ejemplo HDL 6-1 . Hay dos entradas de selección. dos
enlrndas en serie. una enlrnda en pamlelo de cuatro y una salida en par.J.lelo de cuatro bits.
El bloque always describe las cinco oper-.J.Ciones que es posible efectuar con el registro. La en-
Mal 'JI pro <:Ir dE' 'Jl or
Sección 6-6 HDl para registros y contadores 245
F..j emplo HDL 6-1
// Descripción del comportamiento de un
Il r egi s tro de desplazamiento universal
// figura 6-7 y tabla 6-3
module shf treg (sl,sO,Pin,lHn,rtin,A, CLK,Clr);
input s l , s O; IISeleccionar entradas
input lfin, rtin;
illput CLK, Cl r;
input [3:01 Pino
output [3:0] A;
r.g (3: 0J A;
II Entradas en ser ie
l/ Rel oj y Clear
II Entrada paralela
l/salida del r egistro
.1-.y. i (po.e4g. CLK or
if (-Cl r ) A z 4'bOOOO;
negedg. Cl r )
.1 ••
e ••• ({sl,sO})
2'bOO: A,. A;
2' bOl : A. (rtin,A(3 : 1) };
2'bl O: A . (A{2 : 01.1fin);
2'bll: A. Pin;
l/si n cambio
IIDesplazamiento a la derecha
IIDesplazamiento a la izqui erda
II Entrada de car ga paralela
tracia Clr despeja (pone en ceros) el registro asi ncronicamente con una señal negativa. Clr de·
be estar alta para que el registro responda al borde positivo del reloj. Las cuntro operaciones
con reloj del registro se determi nAn a parti r de los valore.!! de las dos entradas de selección en
el enunciado t ase (s I y sO se concatenan en un vector de dos bi ts despu6$ de la palabro clave
case). El desplazamiento se especifica con la concatenaciÓn de la entrada en serie y tres flip--
nops. Por ejetr:-Io. el enunciAdo
A · ( r t in. A(3:l] )
especifica una concatenaciÓn de la entrada en serie pana desplazamiento a la derecha (rtin) y
los nip..nops A3. A2 Y A I paro ronnar un número de cuatro bil."I. que se transfiere a A[3:0). E."I-
to produce uno operación de desploz.nmient o a la derecha. Considere que sólo se ha descrito la
funciÓn del circuito, independient emente del hardware específico.
Podemos descri bir la estructura del registro remitit!'! ndonos al diagrama lógico de la figura
6-7. Ese diagrama indicn que el registro se construye con cuatro multiplexores y cuatro flip-
nops D, La descripción estructural del registro se muestra en el ejemplo HDI:- 6-2. El ejempl o
tiene dos módulos. El pri mero declara las entradas y las salidas. y luego cren ejemplares para
las etapas del registro. Los cuatro ejemplares creados especifican las interconexiones entre las
cuatro etapas y proporcionan los ponnenores de construcción del registro especificados en el
diagrama lógico. El segundo módulo ti ene dos bloques always. El pri mero descri be al mul ti -
plexor. y el segundo. al Oi p-flop. Juntos defi nen una etapa del registro.
Mat 1"3.1 protegido por derechos dfI :J.L'f')r

246 Capítulo 6 Registros y contadores
Ejemplo HDL 6-2
IIDescripción estructural de registro
l/universa l de despl azamiento (figura 6-7)
MOdul. SHFTREG !I,select,lfin,rtin,A,CLK,Clr);
input [3:0] 1; II Ent r ada paralela
input [1:0] select; l/Seleccionar modo
input lfin, r tin,CLK,Clr; II Entradas e n serie, reloj, clear
output [3:0] A; IISali da paralela
l/Crear ejemplares para las cuatro etapas
stage STO (1'.[ O] ,A [11 ,1fin, 1 10] ,1'.1 0] ,select, CLK, Cl r) ;
stage STl (AU1,A[2I, AI OI,I(I] ,1'.(1] ,selec:t,CLK,Clr);
stage ST2 (A(2j ,A(3) ,1'.[1 ] ,112] ,A(2] ,select,CLK,Cl r);
stage ST3 (AI3],rtin,A[2J,I{3],A(3],select,CLK,Clr);
IIUna etapa del registro de desplazamiento
.odul. stage(iO,il,i2,i3,Q,select,CLK,Clr);
input iO.il,i2,i3.CLK,Cl r ;
iQPUt [1:0) selecto
output Q;
reg O;
reg D;
//Multiplexor 4xl
alway. i (iD or il or i2 0:1; i3 or selectl
c ••• (selectl
2 'bOO: o" iO;
2'b01: O •
il;
2' bID: O

i2 ;
2'bl1: O

13;
.nde •••
/I Flip-fl op O
.lw.re i (po.e4g. CLK or n.ge4g. Clrl
iL (-Clr) O" l'bO;
.1·· 0"0;
.",temul.
Contador sincrónico
El ejc,!! pl o HDL 6-3 descri be el contador sincronico con carga paralela de la fi gura 6-1 4,
COI/ni. Load. CLK y el, (cont eo. carga, reloj y despeje) son entradas que determinan el fun-
cionamiento del registro según la función especificada en la tabla 6-6. El comador tiene cua-
tro entradas de datos, cuatro sal idas de datos y una salida de acarreo. Esta últ ima, ca se
genera con un circuito combi nacional y se especifica con un enunciado assign. CO = I
cuando la cuenta llega a 15 y e] contador está en e] estado de cont eo, As( pues, ca = 1 si
Sección 6-6 HOl para regIstros y contadores 247
Ejemplo HDL 6-3
IIContodor bi nario con cargo paralelo
IIVéase la figura 6- 14 y la tabla 6- 6
module counter CCount,Load,IN,CLK,Clr ,A,C01;
input Count,Load,CLK,Clr;
input (3:0] IN;
output CO;
outpu.t (3 : 0] A;
reg [3 : 0] A,
l/ Entrada de datos
l/Acarreo de s a lida
l/Salida de datos
••• iga CO = Count & -Load & (A .... 4' bllll);
.l.ay. i (po •• dg. CLK or neg.dg. Clr)
ir (-elr) A = 4 'bOOOO;
el •• ir (Load ) A .. IN;
el •• ir (Count) A = A + l'b1;
el •• A '" A;
en·'·)(!ule
COIml :: 1, Uxld :: D y A :: 1111 ; en los demás casos, CO "" D. El bloque always especifica
la operación a efeclUar en el registro, dependiendo de los valores de Clr. Load y COIml . Una
señal negativa en Clr pone A en D. Si e lr = 1, una de tres opernciones se ejecutan durnnte
un borde positivo del reloj . Los enunciados Ir, cisc Ir y else toman las decisiones como
sigue:
if Cl r '" o Poner A en ceros
e1se if (Clr'" 1 and l Load -.: 1 Car gar entradas en A
el s e i f (Clr - 1 and Load" O andl Count - 1 Incrementar A
else (Cl r '" 1 and Load " O a nd Count .. O) Sin combio en A
Lajerarquía impUcila en los enunciados ir-else se ajusta a la precedencia especificada en la ta-
bla 6-6.
Contador de rizo
En el ejemplo HOL 6-4 se muestra la descripción eslructural de un contador de rizo. El pri-
mer módul o crea ejempl ares de cuatro flip-fl ops complcmentadorcs que se definen en el se-
gundo módulo como CF(Q, CLK. Reset). El reloj (entrada C) del primer flip-fl op se coneela
a la entrada externa Counr (Counr sustituye a CLK en FU). La entrada de reloj del segundo
flip-flop está conectadu a la salida del pri mero (AD sustituye a CLK en FI ). Oc fonna si mi -
lar. el reloj de cuda uno de los otros flip-flops está conectado a la salida del flip-fl op ante-
rior. Así. los flip-fl ops se encadenan para fonnar un contador de rizo. como se advierte en
la fi gura 6-8b).
El segundo módulo describe un flip-fl op compl ementador con relaroo. El circuito se cons-
truye conectando la salida de compl emento a la entrada D. Se incluye Una enlmda de reslable-
Mat 'JI prOiegido t.l)r derechos de 'Jt.. ':Ir
248 Capítulo 6 Registros y cont adores
Ejenlplo ROL 6-4
l/Contador de rizo (Véase la figura 6-8b) )
ntdu1. r i pplecounter (AO, Al, A2,A3,Count,Reset);
output AO,Al, A2,AJ:
input Count, Reset¡
II Crear ejemplar de flip-flop complementador
CF FO (AO.Count,Resetl;
CF Fl (Al,AO,Reset);
CF F2 (A2,Al ,Reset);
CF F3 (AJ,A2,Reset );
eno' 04u1e
/I Flip- fl op complementador con retardo
l/ Entrada al flip-fl op O ; O'
-ndule CF (Q,CLK,Reset) ;
output O;
input CLK,Reset;
reg Q;
al .. ay. i (neglld"e CLK or po.lId"a Reset )
if (Reset) Q. l'bO;
el.. Q :c 12 (-O) ; 11 Retardo de 2 unidades de tiempo
e"""""'ule
II Estimulo para probar el contador de rizo
-o4u1e testcounter;
re" Count;
reg Reset;
.. ira AO.Al,A2.A3;
IICrear ejemplar de contador de rizo
ripplecounter RC (AO.Al,A2,A3.Count, Reset);
a1 .. ay.
15 Count ., -Count;
iaitia1
_in
Count " l'bO;
Reset " l' bl ¡
14 Reset '" l'bO;
1165 $fioi.b;
.".,
ea .. "4\11e
ci miento en el fli p-flop para poder iniciar el contador. Los simuladores HDL no proporcionan
valores de salida si no se les asigna un valor inicial Se asigna al flip-flop un retardo de dos uni-
dades de tiempo. desde el momento en que se apl ica el reloj hasta el momento en que el fl ip-
fl op se complement a. Esto se especifica con el enunciado Q = 112 (-Q).
Mat '-JI pro ~ i d o por derechos de '-JL.: or
1
Sección 6-6 HOl para registros y contadores 249
Ellercer módulo del ejemplo 6-4 genera un estímulo para simular y probar el contador de
rizo. El enunciado a1WByS genera un reloj con un ciclo de 10 unidndes de tiempo. Los fli p-flops
se di sparan con el borde negativo del reloj. que se da en t :::: 10.20,30. etcéu:ru. Las fonna'!
de onda que se obtienen de esta simulación se disti nguen en la li gura 6-19. Count se vuelve nc-
gll.tiva cada 10 ns. AO se complementa con cada borde negativo de COllnt pero con un retardo
de 2 ns. Cada fli p-flop se complementa cuando el fli p-flop precedente cambia de I a O. Des-
puts de t = 80 os, los cuatro fl ip-flops se complementan porque el contador cambia de 0 111
a 1000. Cada sal ida se retarda 2 ns y. a causa de ello, A3 cambia de O a 1 en t = 88 os, y de I a
O a los 168 ns.

J.... 1"' ''' P- 1"''''
C"'IOOU nI er. Cou n 1
ICltrou.nltr,Rexl h
IcstC(KJnler.AO
I \

f \
J
\ I
\.j
lestrountl' r .A2
I \
J...
testoountcr.AJ
al OcOa L1Ons
1
"'"
"M
, ..
""


r
lestrounler.Counl
\
\
lestrounler,ReKl
,
•• AO

U:Slrountcr.A I
.
teslQO\lnll' r.A2
leslCO\lnlCr,A3
I
b) D<: 1Oa onm
FIGURA 6-19
Salida de sImulación del ejemplo HOl6·4
Mar fL'll protegido por c!erocf'to"- de ::n.: "Ir
250 Capítulo 6 Registros y contadores
PROBLEMAS
6- 1 Incluya una compuena NAND de dos entradas con el registro de la figura 6-1 y conecte la 5alirJa de
la compuerta a las enuadas e de todos los mp-nops. Una entrndll de la compuerta NAND recibe los
pulsos de reloj del generndorde reloj. y la otrn entrnd:a de la compuerta se ellCarga de controlar la car·
ga en paralelo. Explique el fuooonamiento del registro modificaclo.
6-2 Incl Ll ya una enU'llda de despeje sincrónica pana el registro de la fi gura b-2, El registro modifica-
do tendrá L1na capacidad de carga en paralelo y una capacidad de despeje sincronico. El registro
se despeja (pone en ceros) sincrónicamente cuando el reloj tiene una transición positiva y la en·
trnda de despeje es l .
6-3 ¿Qut diferencia hay entre transferencia en serie y en paralelo? Explique cómocoovenirdatos en se--
Oc a par.¡lelo y datos en paralelo a datos en serie. tipo de registro se necesita'!
6-4 El contenido de L1n registro de cuatro bits es inicialmente 1101. El registro se despllllJl seis veces
a la derecha, siendo la entrada en serie 10 11 01 . ¿Qué contiene el registrO despufs de cada des-
plv.amiento?
6-S El registro unÍ\'ersal de despl az.amiento de cLl atro bi ts mostrado en la figura 6-7 se encielTll en un
paquete de O.
a) Dibuje un diagrama de bloques del circui to integrado que señale todas las entradas y salidas.
Incluya dos entradas para la alimentación elfctri ca.
b) Dibuje un diagrnma de bloques empleando dos el pan! producir un registro de despl az,¡¡ .
miento uni\'Crsal de ocho bits.
6·6 Diseñe un registrOdedesp1a7.runiento de cuatro bits con carga par.¡lela empleando flip-nops D. Hay
dos entradas decontrol: desplllZ3J'Y cargar. Cuando desplllZ3J' e l . el cUIltcnido del registro se des<
plaza UIUI. posición. Se lI1lnsfi eren nuevos datos al registro cuando cargar - 1 Y desplnar - O. Si
ambas entradas de control son O. el contenido del registro no cambia.
6·7 Dibuje el diagrama lógico de un registro óe cuatro bitS con cuatro mp-flops D y euatro multiple-
xores 4 X l . con de selección de modo sJ y Jo. El registro opero segun la siguiente ta-
bl a de función:
"
..
Oper_16n d.1 registro
O O Sin cambio
O I Complementar IIL'l cu;um saJitbs
I O Poner el registro en ceros (sillCTÓnico con el reloj)
I I Cargar datOS en panalclo
6 · 8 El sumador en seri e de la fi gura ().6 usa dos registros de cuatro bi ts. El registro A cont iene el
número binario 0101. y el regi stro B. 011 1. El flip-nop de acarreo se restablece inicialmente en
O. Numere los mlores binarios que están en el regi stro A yen el ni p-nop de acarreo después de
cada desplazamiento.
6 -9 En la sección 6-2 se describieron dos formas de implementar un sumador en serie (A + 8). Es
necesario modificllf los circuitos paro con\'enirlos en reslJldores en serie (A - B).
a) Utllizandoel circuilo de la figur,¡ 6-5. indique los cambios necesarios para obtener A + como
plemento a dos de B.
b) Utilizando el cin:uito de la fi gura 6-6. indique los cambios requeridos modificando la tabla
6-2. de un cin:uito sumador a uno restador. (Véase el problema 4· 12.)
6 -1 O Diseñe un complemcntador a dos en serie con un registrO de tksplazamiemo y un flip-flop. El nú-
mero binari o se desplaza hacia afuera por un lado y su complemento a dos .se desplaza hacia
adentro por el otro lado del regi stro de desplu.Dmiento.
Mat rnl protegido p?f derechos de ":lul')r
Problemas 2S 1
6-11 Un contador binario de rilO usa flip-Oops que se disparan con el borde positivo del reloj . ¿Cuál
serli el conteo si a) las salidas normales de los flip-Oops se conectan al reloj y b) las ialidas de
complemento de los flip-flops se conectan al reloj?
6- 12 Dibuje el diagrama lógico de un sumador binario de rizo de cuatro bits de cuenta regresiva utili-
zando a) flip-flops que se di sparon con el borde positi\'{) del reloj y b) flip-fl ops que se disparon
con el borde negativo del reloj.
6-1 J Demuestre que es posible constnlir un contador BCD de rizo empleando un contador binario de
ri zo de cuatro bits con despeje asincl'Ónico y una compuena NANO que detecta la ocurrencia
de la cuenta \OJO.
6-14 ¿Cuántos flip-f1ops se compJemenUU'11n en un contador binario de rizo de 10 bits para llegar a la
siguiente cuenta despub de la cuenta?: a) ](XH 100111: b) 0011 11 111 1: c) 1111111111 .
6-1 S Un flip-flop liene un retardo de S AS desde el momento en que se da el borde de reloj hasta el IDO-
mento en que la ialida se complementa. ¿Qué retardo máximo tendría un conlaclor binario de n-
1.0 de 10 bits que usara esos flip-flops? ¿Con que! frecuencia máxima puede oper.ll' el contador de
manero oonfiuble?
6-16 El contador BCD de rizo que se representa en la figura 6-10 tiene cualro flip-f1ops y 16 estados.
de los cuales sólo se usan 10. Analice el circuito y determine el siguiente estaclo para cada uno de
Jos otros seis estados no ¿Quo! suceden! si una sei\a.J de ruido hace que el circuito pa-
se a uno de los estados no utilizados?
117 Disei\e un contador binario sincrónico de cuatro bits con flip-flops D.
6!-18 ¿Que! operación se efectúa en el contador usccndente-descendenle de la fi gura 6-13 cuando Ilm-
bas entl'lldas, aniba y abajo. están habil itadas? Modifique el circuito de modo que cuando ambas
entrndas sean 1, el contador no cambie de estado. sino que permanezca en la misma cuenU.
19 Las ecuaciones deentrada de flip-flops para un contador BCD oollSlruido l'Oll flip-flops Tse incl u-
yen en la sccdón 6-4. ObIenga las ecnaciones de entro(\a para un conl!ldor BCD construido con a)
flip- f1ops JK Y b) flip-fIops D. Compare kIs lfeS discl'los para es el más erw:iente.
6-20 Encierre el contador binario con carga paralela de la figura 6-14 en un diagrama de bloques que
muestre todas las entnulas y salidas.
a) Muestre las conexiones de cuatro de esos bloques para fonnar un oontadorde 16 bits con car-
ga paralela.
b) Construya un contador binario que cueOle t!esde O hasta 64 binario.
6-21 El contador de la figura 6-14 tiene dos enlnldas de control-Cargar (L) y Conteo c}- y una en-
trada de datos (1
1
),
Carga (L)
Conteo (C)
D810$ (D)
11) Deduzca las ecuaciones de entrada de flip-f1ops para J y K de la primera etapa, en te!rminos
deL.Ce/.
b) En la figuna P6-21 se obsc:rva el diagrama lógico de la primera etapa de un circuito integra.
do equivalente (74161). Compruebe que este circuito sea equivalente al de a).
e
}
CLK
"
?
K
fiGURA P6-21
Mar r['jl protegido p-?r derechos de '1U ':Ir
252 Capitulo 6 Registros y cont adores
6 · 22 Uti li zando el circuito de la figura 6-14. ~ tres alternativas para un contador mod· 12:
a) Utilizando una compuerta ANO y la entlOlda de carga.
b) Uti li1.anOO el acarreo de salida.
c) Uti lizando una compuena NANO y la entruda de despeje asincr6nico.
6 · 23 Diseñe un ci rcuito de temporiz.nci ón que genere una señal de salida que se mantenga encendida
durante exactamente ocho ciclos de reloj. Una seilo.l de inicio hace que lo. salida pase al t.'itado 1:
d e s p u ~ s de ocho ciclos de reloj , la señal vueh'e al estado O.
&-24 Di señe con Oip-nops T un contador que pase por la siguiente sucesión binaria repelida: O, 1,
3,7,6, 4. Demuestre que si los estados binarios 010 y 101 se consideran condiciones de indi o
ferencia. el contador podría no fu ncionar com:ctamcnte. Encuentre una fomla de rom:gi r el
diseño.
&-25 Es necesario generar sei! señal es repetidas de tempori7.ad ón T
o
a T) similares D las que se indio
can en lo. fi gura 6-17c). Oisei\c el circuito utilizando:
a) Únicamente mp-nops. b) Un contador y un decodifi cador.
6--26 Un sistema digital tieoc un generador de reloj que produce pulsos con una frecuencia de 80
MHz. Diseñe un circuito que geocre un reloj con un tiempo de ciclo de 50 ns.
6--27 Diseñe un contador que si ga esta sucesión binaria repetida: O. 1, 2, 3. 4. 5. 6. Use nip-nops JK.
&-28 Diseile un contador que siga esta sucesiÓn binaria repetida: O, 1, 2. 4. 6. Use mp-nops D.
6-- 29 Numere 101> ocho cstad<nl no utillUldos del contador de anillo con e:o;u-cmo conmutado de la fi ·
gura 6-18a).
Determine el siguiente t.'itaoo para cada uno de t.'itos estados y demuestre que. si el contador lie-
ga a estnr en un estado no válido. no volverá a un esllldo válioo. Modifique el circuito como se
recomienda en el texto y demuestre que el contador produce la mi sma sucesión de estados y que
el circuito ll ega a un estado válido de.We cualquiera de los estados no uti li1.ados.
6 - 30 Demuestre que un contador Johnson ron If mp-flops produce una sucesión de 211 estados. Nu·
mere los 10 estados producidos con cinco Oip-nops y los tf rminos booleanos de cada una de las
diez " Iidas de compuena ANO.
6- 31 Escriba las descri pciones HDL de comportamiento y estructurol del registro de cuatrO bil$ de la
figura 6-J.
6 - 32 a) Escriba la descripción HOL del componami enlo de un regislro de cuatro bits con carga pa-
ralela y despeje asi ncrónico.
b) Escri ba la descripción HDL estructural del registro de cuatro bi ts con carga paralela de la fi ·
gura 6-2. Utilice un mulliplexor 2 x 1 para las entradas de nip-nops. Incluya una entrada de
despeje asincronico.
c) Verifique nmbas descripciones con un conjunto de pruebas.
6- 33 Se usa el programa de estfmulo siguiente pam simular el rontaOOr binario con carga paralela
descrito en el ejemplo HDL 6-3. Examine el progrdma y prediga qué salida tendrá el comador y
el acarreo entre t K O Y I "" 155 ns.
Mat"'rI"l1 protegido p?f derechos de "lut')r
II Estimulo para probar e l contador
Il del ejempl o 6-3
-o4ul. tes t eounter;
r.g Count. Load. CLK, Clr;
r.g [3:0J I N;
.ir. COi
. 1r. [ 3 : 0 ] A;
Problemas 253
eounter ent (Count, Load, IN, CLK, Cl r. A, CO) ;
al_ya
.5 CLK • -CLK:
1n1t1al
_in
Cl r '" O;
CL K . 1;
Load ", O: Count " 1;
. 5 Clr '"' 1;
'50 Load 1; IN z 4 'bl l 00 ;
H O Load"" O;
'70 Count '" O;
120 $fiDiah ;
.""
. n"-v'K'ul.
6 -14 Escri ba la descripción HOL de:! comportamiento de un registro de desplazamiento de cuatro bits
(figuro. 6-3).
6 - 35 Escriba las descripciones HDL de comportamiento y estructurnl del coll1ador arriba-abajo de
cuatro bi ts cuyo diagmma lógico aparece en la fi gura 6- 13.
6-36 Escriba la descri pdón HDL del comportamiento de un conlador arri ba-abajo de cU:llro bir.s con
carga parolela uti li 7JUldo las siguientes entrodas de control:
a) El contador liene " 'eS entradas de control para las lres Arriba. Abajo y Cargar. El
orden de precedencia es: Cargar. Arriba y Abajo.
b) El conlndor liene do5 enlrodas de selCC(: ión par:1 especifi c/lr cuatro opc:rnciOOC1i : Arriba. Aba-
jo. Cargar y sin cambi o.
6-37 Escriba la descripción HOL de un contador anular de ocho bils similar al de la figura 6- 17a).
6-38 Escriba la descripción HDL de un contador anular con extremo conmulado de cuatro bit!; (ligu-
m6-18a).
6 -39 Escriba las descripciones HDL de comportamiento y esuudurnl del contador de la figur .. 6- ló.
Mat nal protegido por derechos dfI aL'!')r
254 Capítulo 6 Registros y c.ontadores
RE FE RE N CIA S
1 . MANO. M. M. )' C. R. KlME. 2000. Logic alld Compllll!r 2a. ed. Upper
S:lddle Rh-er, NJ: Prentice-Hall.
2. NfJ..SON V. P. . H. T. NAGU:. J. D. IJl.wIN)' B. D. CAJl.RQU.. 1995. Digi/al Logir: Ci'Cllil Anolysis omi
/Rsign. Upper Saddle River. NJ: Prentiee· Hall .
3. HAYES, J. P. 1993. Intnxluelion ro Digilal Logie /Rsign. Reading. MA: Addison.Wcs1ey.
4. WAKERLY, J. F. 2000. Digital Design: Principies alld 3a. ed. Uppcr Saddlc Ki\'er. NI :
Prentice·Hall.
5 . DllmolEYER. D. L 1988. Logic Design of Digital SystelllS. 3a. ed. Boston: Allyn Bacon.
6. GAJSKI. D. D. 1997. Principies of Digital Design. Uppcr Saddle River. NJ: Prentice· HalL
7 . Rom. C. H. 1992. Fundnml!nlals ni Logie lksigll . 4:1. ed. Sto Paul : West.
8. KATZ. R. H. 1994. Con/tmporory Logic /Rslgn. Upper Saddle River, NJ: Prentice-HIlII .
9. CUErn. M. D. 1999. Moddlng, Synthesls and Rapid Prorotyping "'ith \'trilag HDL Upper Sad·
die River. NJ: Prentice-Hall.
1 0 . BIIASKER. J. 1997. A Verilog HDL Prima. Allentown. PA: Star Gahuy Press.
11. TIIOMI\S. D. E. Y P. R. MOQRBY. 1998. The Veri/og Hamwarr /RseriptiOlI /..anguage. 4:1. ed. Bos·
Ion: Kluwer Academic Publishers.
12. BIIASKER. J. 1998. Vuilog JJDL S)'nthesis. Allenlown. PA: Slar Galax)' Pren.
13. PAUIITKAII. S. 1996. Verilog HDL' A Gllide to Digital/Rsign and SunSofl Press (Un
1{lulo Prentice· Hall).
Mat rnl protegido p?f derechos de ':lul')r

Memoria y lógica
programable
7-1 I TRODUCC I ÓN
unidad de memoria es un dispositivo al que se transfiere información binaria que desea al·
y del que se puede obtener información que es necesario procesar. Cuando se efee-
procesamiento de datos, la información de la memoria se transfiere a registros selectos de
unidad de procesamiento. Los resultados intermedios y finrues obteni dos en la unidad de pro-
se lJ'ansfieren de vuelta a la memoria para guardarse. La información binaria reci-
de un dispositi vo de entrada se almacena en la memori a. y la información Ir.Ulsferida a un
de salida se toma de la memoria. Una unidad de memoria es una colección de cel-
que permite alTlUlcenar una gran cantidad de ¡nrormoción binaria.
Hay dos ti pos de memorias que se usan en los sistemas digitales: memoria de acceso ulea-
(RAM. random-access memo'}') y memoria de sólo lectura (ROM. memo'}').
primera acepta nueva información que se guardará para poder usarla posteriormente. El
de guardar infomación nueva en la memoria es una operación de escritura en memo--
El proceso de tran5ferir desde la memoria la información en ella almacenada es una ope-
de futura de memoria. La memoria de acceso al eatorio puede efectuar ambas
lectura y escritura. La memori a de sólo lectura llnicamente puede efectuar la ope-
de lectum. a"o implica que ya está nlmacenada en ella una infonnnción binarin apro-
que es posible recuperar o leerse en cualquier momento. Sin embargo, la información
no puede a1ternrse mediante escritur.!. porque únicamente se puede leer de la memo-
de sólo lectur.!.; no es posible escri bir en ella.
La memori a de sólo lectum es un dispositim f6g;co La infonnación binaria
se almacena en un disposi tivo lógico programable se especifica de alguna manera y luego
incorpora al hardware. Llamamos a este puxeso programar el dispositivo. La palabra "pro-
en este caso se refiere a un procedimiento de hardware que especifica los bits que
insertan en In configuraci ón de hardware del disposi tivo.
La memoria de sólo lectura (ROM) es un ejemplo de dispositivo lógico progrnmable (PLD.
fogic deYice). Otros son el arreglo de lógica programable (PLA.
array), el arreglo lógico programable (PAL programmabfe lJrray logic) y el arreglo de
255
256 Capítulo 7 Memoria y lógica programable
a) Sfmbolo convencional
FIGURA 7-1
1111 )
b) Símbolo de arreglo lógico
DIagramas convenclonal '/ de. arreglo lógico para la compuerta OR
compuertas progrumnble en el campo (FPGA.field-progmmmable gate amI)'. Un dispositivo
lógico progrnmable es un circuito integrado con lógi cas inlemas que se conectan me-
diante trayectori as electrónicas que se comportan como una especie de fusibles. En el estado ori -
ginal del dispositivo, todos los fusibles están intactos. Progr.l.m:lrel dispositivo requi ere "quemar"
los fusibles que están en las trayeclOrias que es preciso eliminar para obtener la configuración de
la función lógica deseada. En este capflUl o presentaremos la confi guración de los dispositi vos ló-
gicos programables y menci onaremos cómo se usan en el di seno de sistemas digitales.
Un dispositivo lógico programable trpico podño tener desde cientos hasta millones de com-
puertas inlereonect¡¡d¡¡s por cientos o miles de trayectori as internas. Ptlro mostror el diogranm ló-
gico interno de manera concisa. es necesario utili zar una simbología especial de compuenas
¡¡plicable ¡¡la lógica de arreglos. Lo figuro 7- 1 muestra los sfmbolos convencional y de arreglo
para una compuena OR de múltiples entradas. En lugar de dibujar varias líneas que entran en la
compuena. se dibuja una sola lfnen hIlcia la compuena. Las líneas de entrada se dibuj an perpen-
di culares a esa única Uoca y se conectan a la compuena a tra\'és dc fusibl es intemos. La lógica
de arreglo paro una compuena ANO es similar. Este tipo de representación gráfica para las en-
trndas de compuertas se usad en todo este caprlUlo al dibujar di agrnmas de arreglos lógicos.
7-2 MEMORIA DE ACCESO ALEATORIO
Una unidad de memoria es un conj unto de celdas de almacenami ento junto con los circuitos
asociados que se requieren para lr.msferir informaciÓn al y del dispositivo. El ti empo que to-
ma transferir información o o de cualquier posición al azar deseada siempre es el mi smo, de
ahf el nombre memoria de acceso aleatorio o RAM.
Una unidad de memoria olmacena información binario en grupos de bi ts llamados pala-
bras. Una palabra de memoria es una entidad de bits que siempre se guardan o s.'lcan juntos.
como una unidad. Una palabro de memori a es un grupo de unos y ceros y podña representar
un número, una inslrUcción, uno o más caracteres alfanuméri cos o cual quier otrn información
codificada en binario. Un grupo de ocho bits es un by/e. Casi todas las memorias de computooo-
ro manejan palabras cuya longi tud es un múltiplo de ocho bits. Asi, una palabro de 16 bi ts con-
ticne dos bytes. y una de 32 bits consta de cuatro bytes. La capacidad de una unidad de memoria
por lo regular se da como el número total de bytes que es capaz de guardar.
La comunicación entre la memoria y su entorno se efectúa a través de Ifneas dc ent rada y
salida de datos. líneas de selección de direcciones y Ifocas de control que especifican la direc-
ción de la transferencia. En la fi guro 7-2 se presento un diagrama de bloques de la unidad de me-
moria. Las n líneas de entrada de datos olimentan la información que se guardará en la mcmorill.
y las 11 líneas de salida de datos proporci onan 13 información que viene de la memoria. Las k
!fneas de dirección especifican la palabra específica escogida. de ent re muchas disponibles.
Las dos entradas de control especifican la dirección de la transferencia deseada: la entrada de
escritura hace que se transfieran datos binarios a la memori a; lo de lectura hoce que !;e saquen
datos binarios de la memorio.
M' mi protegido por dere("t-Jo de t.: '"Ir
Sección 7·2 Memori a de acceso a leatorio 257
n Ifneas de entrada de datos
le lineas de direo:ión-_
L", - _
E5cribir-_
FIC;URA 7· 2
Unidad de memoria
2· palabl'1l$
n bits por palabra
n lineas de ulida de: datos
Diagrama de bloqes de una unidad de memoria
La. unidad de memoria se especifi ca con el numero de palabras que comiene y el numero de
bits que hay en cada palabra. Las Ifneas de dirección seleccionan una palabra especffica. A ca-
da palabra de la memoria se asigna un número de idemificación, llamado entre O y
2
t
- l . donde le es el número de \fneas de dirección. La selección d. una palabra especffica de
la memoria se efectúa aplicando los le bits de dirección a las Ifneas de dirección. Un decodificador
acepta esta dirección y abre las trayectorias necesarias para seleccionar la paJabra especificada.
Las memorias varian considerablemente en cuanto a tamaño; las hay desde 1024 palabras. que
requieren una direcciÓn de 10 bits. hasta 2
11
palabras. que requieren 32 bits de direcciÓn.
Se acoslUmbrn especificar el número de palabras (o bytes) de la memoria con una de las letras
K (kilo), M (mega) O G (giga). K es igual a 210, M es igual a 2
20
y G es igual a 2
30
. Así pues,
64K ::: 2
1
1>. 2M = 2
21
Y 4G ::: 2
l2

Considere, por ejemplo. la unidad de memoria con capacidad de I K palabras de 16 bits ea-
da una. Puesto que I K = 1024 = 2
10
Y 16 bits constituyen dos bytes. se afinnll que la memo-
ria puede dar cllbida a 2048 = 2K byles. La figura 7-3 el posible comeni do de las
FIGURA 7-3
Dirección de memoria
Binaria
=1
0000000010
1111 11 1101
111111 1110
1111111111
Decimal
O
1
2




1021
1022
1023
Contenido de una memoria de 1024 x 16
Contenido de: la memoria
1011010101011101
1010101 1 11XXl1001
OO:X)t 101011XXl110




10011 10100010100
cnxlllOHXXl l l ll0
lIOll111XXl1 001 01
M fI 31 protegido por derecho" de u ':Ir
258 Capítulo 7 Memoria y lógica programable
primeras tres y las últirnru; tres palabras de esta memoria. Cada palabra comiene 16 bits que se
di viden en dos bytes. Las palabras se reconocen por su dirección decimal, de O a 1023. La di·
rección binaria equi valente consta de 10 bits. La primem di rección se especifica con 10 ceros,
y la últi ma. con 10 unos. Ello se debe a que 1023 en binario es 111 1111111 . Seleccionamos
una palabra de memori a por su dirección binaria. Cuando se lee o escri be una palabra, la me·
mori a opera sobre los 16 bits como una sola uni dad.
La memori a de 1 K X 16 de la fi gura 7-3 tiene 10 bits en la di rección y 16 bits en cada pa-
labra. En Olro ejemplo, una memoria de 64K X 10 tendría 16 bits en la dirección (porque
64K ::::: 2
16
) y cada palabra consistiría en 10 bits. El número de bits de di rección que una me·
mori a necesi ta depende del número total de palabras que eS posible guardar en la memoria, y
es independienle del número de bits que hay en cada palabra. El número de bits de la dirección
se detennina a partir de la relación 2
l
m, donde m es el número 100al de palabras y fe es el
número de bi ts de di rección necesarios para satisfacer la relación.
Operaciones de lectura y escritura
Las dos operaciones que efect úa una memoria de acceso aleatori o son escri tura y lect ura. La
• •
seilal de escritura especifica una opemción de transferencia hacia adentro. y la de lectura, una
de transferencia hacia afuera. Al aceptar una de estas seilales de control. los circuitos internos de
la memoria efectúan la operación deseada.
Los pasos que deben segui rse para transferi r una nueva palabra a la memoria son:
1. Aplique In dirección binari a de la localidad deseada a las de dirección.
2. Aplique a las líneas de ent rada de datos los bits de datos que se guardarán en la me-
moria.
3. Acti ve la entrada escribir.
La unidad de memoria tomará entonces los bits de las Ifneas de d:lIos de entr.lda y los almace-
nará en la localidad e.'!pecificada por !fneas de dirección.
Los palios que deben seguirse para sacar de la memoria una palabra almacenada son:
l. Aplique a Ia.o; Ifneas de dirección la dirección binaria de la locnlidad deseadn.
2. Acti ve la entrada leer.
La unidad de memori a tomará entonces los bi ts de la local idad seleccionada por la dirección
y los aplicará a las !fneas de datos de salida. El conteni do de la localidad seleccionada no cam-
bia después de lu lectura.
Algunos componentes de memori a que se venden comercialmente en chi ps de circuitos in-
tegrados ofrecen las dos entrada'! de control para leer y escri bir en una conliguración un tanto
di ferente, En vez de tener dos entrada. o; indi viduales de leer y escribir para controlar la'! dos ope·
raciones, casi todos los circuitos integrados ofrecen otras dos de control: una sell!c,
ciona la uni dad y la otra determina la operación. Las de memori a result:ldo de
estas entradas de cont rol se especifican en la tabl a 7- ).
La entrada de habilitar memoria (o de seleecionnr chip. como también se le conoce) si rve
paro habilitar un chip de memoria en una impl ementnción mu ll ichips de una memoria grande.
Si habilitar memori a está inacti va, el chi p no está seleccionado y no se dect úa ninguna oper.l·
ción. Si esa entrnda está activa, la entr,¡da leer/escribir determi na la operación a efectuar,
prOiP.gido )Qr dI" AI""" de 'lU ':Ir
Sección 7·2 Memoria de acceso aleatorio 259
Tabla 7· 1
Entrado5 dt control dt un chip dt mtmorio
o X Ni nguna
I O
I I
Escribir en la localidad sc: lc:o:ionada
Lc:cr de: la localidad sc:lc:ccionada
Descripción de memoria en HDL
La memoria se modela en Veri lag HDL con un arreglo de registros. Se declara con la palabra
clave reg empleando un arreglo bidimensional. El primer índice del arregJo especifica el nú-
mero de bits que tiene una palabra. y el segundo. el número de palabras que contiene la me-
moria. Por ejemplo. una memoria de 1024 palabras de 16 bi ts cada una se declara como
reg [ 15 : 0] memword [O :1023 ] ;
Esto describe un arreglo bidi mensional de 1024 regi stros. cada uno de los cuales contiene 16
bits. El índice de memword abarca el número total de palabras que hay en la memoria y equi-
vale a la dirección de la palabra en la memoria. Por ejemplo. memwor d [512] se refiere a la
palabro de memori a de 16 bits que está en la dirección 512.
En el ejemplo HDL 7-1 se ilustra el funcionamiento de una unidad de memoria. Esta me-
moria tiene 64 palabras de cuatro bits cada una. Hay dos entradas de control: Enable (habili-
tar) y ReadWrit e (leer/escribir). Las Hneas Dataln (entrada de datos) y DalaOut (salida de
datos) tienen cuatro bits cada una. La entrada Address (dirección) debe tener seis bits (porque
2
6
= 64). La memoria se declara como un arreglo bidimensional de registros. y Mem especi A
Ejemplo HDL 7-1
/ / Operaciones de lec tur a y es critura de memori a .
/ / El tamafto de l a memoria es 64 palabras de 4 bits c / u.
-oAul. memory t Enable,ReadWri t e,Addres s,Dataln ,DataOut) ;
input Enable,ReadWrite;
input [3 : 01 Dataln;
input [ 5: 0) Address ;
output 13: 01 DataOut ;
reg [3: 01 DataOut;
reg (3: 0) Mem [0 :63 ) ;
II Memor i a de 64 x 4
.lv.y. i (Enable or ReadWrite )
if (Enablel
ir t ReadWr i t e)
DataOut = Meml Addressl ; l / Leer
.1 ••
Mem[Address) = Dataln; l/ Escr ibir
.1 •• Da t aOut '" 4' bz; l/ Estado de a lta impedancia
. ""-oAul.
M fI 3) protegido por derecho" de u ':Ir
260 Capítulo 7 Memoria y lógica programable
fica la de las 64 palabras. Se erectúa una openlción de memoria cuando la entrada Ena-
ble está activa. La entrada ReadWri te determina el tipo de operación. Si ReadWri te es l. la me-
mori a erectúa una operación de lectura si mbolizada por el enunciado
DataOut +- Mem IAddressJ:
Esto hace que se transfieran cuatro bits de la palabra de memoria seleccionada. especificada
por Address, a las líneas de salida de datos. Si ReadWrite es O, la memoria efectúa una opera·
ción de escritura si mboli zada por el enunciado
Mem IAddressJ +- Dataln:
Esto hace que se transfieran cuatro bits de las líneas de entrada de datos a la palabr.l de memo-
ri a seleccionada por Address. Cuando Enable es O, la memoria queda inhabi litada y se supone
que las salidas están en un estado de alta impedancia. Esto se simboliza con la palabro! clave
Z, e indi ca que la memori a tiene salidas de tres estados.
Formas de onda de temporización
El runeionamiento de la unidad de memoria se controla CQn un di sposit ivo externo. como una
unidad central de procesamiento (CPU). La CPU suele sincronizarse con su propio reloj . La
memori a. en cambio, no utiliza un reloj intemo: sus operaciones de lectura y escri tura se es-
pecifi can con entradas de control. El tiempo de acceso de una memoria es el tiempo que toma
seleccionar una palabra y leerl a. El tiempo de ciclo de una memori a es el ti empo necesari o pa-
ra ll evar a cabo una operación de escritura. La CPU debe sumi nistrar las señales de control de
memori a de manera tal que si ncronice sus operaciones internas, controladas por reloj, con las
operaciones de lectura y escrit ura de la memori a. E."to implica que el tiempo de acceso y de
ciclo de la memori a deben equivaler a un número fijo de ciclos de reloj.
Supongamos. por ejemplo, que una CPU opera con una rrecuencia de reloj de 50 MHz, lo
que da un periodo de 20 ns para cada ciclo de reloj. Suponga que esta CPU se comunica con
una memoria cuyos ti empos de acceso y de ciclo no exceden los 50 ns. Esto implica que cI ci-
clo de escri tura tenni na de guardar la palabra seleccionada en 50 ns o menos, y que el ciclo de
lect ura proporciona el contenido de la palabra seleccionada en 50 ns o menos. (Los dos tiem-
pos no siempre son iguales.) Puesto que el periodo de la CPU es de 20 ns. será necesario de-
dicar por lo menos dos y medio, y posiblemente tres, ciclos de reloj a cada solicitud de memoria.
La tempori zación de memori a que se indica en la figura 7-4 corresponde a una CPU con un
reloj de 50 MHz y una memori a con un tiempo máxi mo de ciclo de 50 ns. El ciclo de escri tu-
r.! de la pune a) mUCSlrll tres ciclos de 20 ns: n. T2 Y T3. En una opernción de escri tura. la CPU
deberá sumi nistrar la dirección y los datos de entrada a la memori a. Esto se hace al principio
de TI . (Las dos ¡¡neas que se cruzan en las rormas de onda de dirección y dutos indican un po-
sible eambio de valor de las línea." múlti ples.) Las señales de habili tar memori a y leer/escri bir
se deben actiVar una vez que las señales de las !fncas de dirección alCanzan la estabilidad, pa-
ra no destruir los datos almacenados en otra palabra de memori a. La señal de habili tar memo-
ria cambi a al nivel alto y la señal de leer/escribir cambia al ni vel bajo, para indicar una operación
de escritura. Las dos señales de control deben activas durante por lo menos 50 ns.
Las seiiales de dirección y de datos deben pennanecer estables durante un tiempo cor1o des-
de que se desactivan las señales de control. Al término del tercer ciclo de reloj. la opera-
ciÓn de escritura en memoria se ha llevado a cabo y la CPU puede tener acceso otra vez a la
memori a con el siguiente ciclo n.
protegido por derechos de 'lL.: or
Sección 7-2 Memoria de acceso aleatorio 261
• 20" •
I
TI
\ I
T2
\ I
T3
\ I
TI
Reloj
Dirección ::=x
Dirección dUda
>C
de memoria
Habilitar
I \
memona
Leerl
\ I
e5Cfi bir
Entnada
::=x de datOS
Dat05 válidos
>C
a) CIClo de eseritlllll
• •
Reloj
----v Direo;i(ln v"ida >C
Dirección ~ __________________ _
de memoria
Habilitar _.-JI
memoria
Leerl
escribir
\'---
Salida
de datos
_______________ ~ x Dat05v4lidos >C
b) OcIo de ICCl UIlI
FIGURA 7 ·4
Formas de onda de temporización de un cido de memoria
El ciclo de lecturo. que se aprecia en la figura 7-4b) recibe de la CPU una dirección de me-
moria. Las señales de habilitar memoria y leer/escribir deben estar en su nivel alto pnrn una ope-
ración de lecturo.. La memori a coloca en las !fneas de salida de datos los datos contenidos en
la palabro. seleccionada en un intervalo de 50 ns (o menos), contados a partir de la acti vación
de la habilitación de memoria. La CPU puede transferir los datos a uno de sus regi stros inter-
nos durante la transición negativa de T3. En el sigui ente ciclo TI es posible efectuar otra soli -
citud de memoria.
262 Ca pítul o 7 Memoria y lógica programable
Tipos de memorias
El modo de acceso de un sistema de memoria depende del tipo de compc>nente,.<; empleados. En
una memoria de acceso aleatorio. se considera que las direcciones de palabra están separadas en
d espacio. y eada. palabra ocupa un lugar dado. En una memoria de acceso secuencial. la infor-
moción almacenada en algún medio no está accesible inmediatameme: sólo se ooiene en cienos
intervalos de tiempo. Los di scos magnéticos o unidades de cinta SOn de este tipo. Cada posición
de memoria pasa por las cabe7..as de lectura/escritura en cieno oruen. pero sólo se lee informa-
ción cuando se ha llegado a la palabra solicitada. En una memoria de acceso aleatorio. cl tiempo
de acceso siempre es el mi smo. si n imponar en qué lugar esté la palabra. En una memoria de ac-
ceso secuencial. el liempo que loma lener acceso a una palabra depende de la posición de la pa-
lubra con respecto a la posición de la cabe7..a lectora: por lallto. el tiempo de acceso es variable.
Las unidades de RAM en circuitos integrados ti enen uno de dos modos de operación: es/á·
tico y dintimico. La RAM estáti ca (SRAM) consiste básicamente en latches imemos que guar-
dan la información binaria. La infonnación binaria será válida en tanto no deje de alimentarse
electricidad a la unidad. La RAM dinámi ca (DRAM) almacena la información binaria en for-
ma de cargas eléctricas en condensadores. Éstos se forman dentro del chip con transistores
MOS. La carga almacenada en los condensadores tiende a disiparse con el tiempo. por lo que
los condensadores deben recargarse periódicamente la memoria dinámica. El re-
fresco se efectúa restaurando de forma cíclica la carga de todas las palabras cada cieno núme-
ro de milisegundos. en orden. La DRAM COnsume menos electricidad y por ello ofrece mayor
capacidad de almacenamiento en un solo chip de memoria. La SRAM es más fáci l de usar y
sus ciclos de lectura y escritura son más cortos.
Las uni dades de memoria que pierden la información almacenada cuando se imerrumpe la
alimentación eléctrica se denominan La.<; RAM de circuitos integrados. mnto estáti -
cas como dinámicas. penenecen a esta categoría. pues las celda,o¡ binari as necesitan electrici-
dad externa para mamener la infonnación almacenada. En comrnste. una memoria no volátil.
como un disco magnético. conserva la información almacenada después de apagarse. Ello se
debe a que los datos almacenados en componemes magnf ticos están representados por la di -
rección de imantación. que se mantiene cuando se deja de ali mentar electri ci dad. Otra memo-
ria no volátil es la memoria de sólo lectura (ROM). Se requiere una memoria no \'olátil en las
computadoras digital es paro almacenar los programas que se necesitarán la próxima vez que
se encienda la computadora después de apagarse. Los progrolmas y datos que no pueden alte-
rarse se guardan en ROM. Otros programas grandes se mamiencn en di scos magnéticos. Cuan-
do se enciende la computadorn. puede usar los programa.<; que están en ROM. l uego. los demás
programas que residen en di sco magnf tico se transfi ereo a la RAM de la computadora. con-
forme se vayan necesitando. Ames de apagar la computadora. la información binari a conteni-
da en su RAM y que se desea conservar se transfi ere al disco .

7-3 DECODIFICACION DE MEMORIA
Además de los componentes de almacenamiento de la unidad de memoria. se requieren circui -
tos de decodifi cación para seleccionar la palabra de memoria especifi cada por las tfneas de di-
rección. En cst.a sección se presentará la construcción interna de una memoria de acceso aleatorio
y se ilustnuá el funcionamiento del decodificador. Para poder incluir toda la memoria en un dia-
grama. la unidad de memoria que usaremos como ejemplo sólo tiene capacidad para 16 bits di s-
puestos en cuatro palabras de cuatro bits cada una. Se incl uye un ejemplo de decodificación
coincideme bidimensional para ilUSlrnr un esquema de decodificación más eficiente que se usa
en las memorias grandes. Luego mostraremos un ejemplo de multiplexión de direcciones que
se usa comúnmente en los circuitos int egrados de DRAM.
M' mi protegido por deroc'lO de "Ir
264 Capítulo 7 Memoria y lógica programable
Enlrndas
de direro
'''''
lI abilitar
memori a
L..eerlaai
",
EN
Palabra O
l' alabra 1
Deoodificador
de 2 x 4
Palabra 2
Palabra J
FIGURA 7· 6
I
Diagrama de una RAM de 4 , 6
01105 de enlnda
I I I
CB es CB CD

ca
H
I CD H
ca H
CB
H
CB es CB CB
H
ca H y Ol
CD CD
r-L :-'-
T
DalOS de salida
Las memorias de acceso aleatorio comercial es podrían tener una capacidad de mil es de pa·
labras. cada una de las cuales puede lener de I a 64 bits. La construcción lógica de una memo-
ria de alta capacidad una extensión directa de la configuración que IIquf Una
memoria de 2
1
palabras de 11 bits cada una requiere k Hneas de dirección que entran en un de·
codificadorde k x 2
1
. Cada salida del decodifi cador una palabrn de 11 bi ts para leer-
la o escribi rl a.
De codificación coincidente
Un decodi fi cador con k entradas y 2· salidas requiere i ' compuenas AND con k cntrotdas por
compuena. E1101a1 de compuerta.<; y el número de entrndas por compuena se reduce Ulilizan·
do dos decodificadores en un esquema bidimensional de La idea básica de la deco·
difi cación bidimensional es acomodar las celdas de memoria en un arreglo lo más cercano
posible a un cuadrado. En esta configuración. se usan dos decodifi cadores con ld2 enlrndas ca-
da uno. en vez de un decodificador con k entradas. Un decodifi cador selecciona la fi la y el otro
selecciona la columna de una configumción de matriz bidimensional.
En la figura 7-7 se iluslra el patron bidi mensional de selección para una memoria de I K pa·
IlIbras. En lugar de usar un solo decodificador de JO x 1024. se emplean dos decodifiClldores
Mar 'JI pro 1O'9ido por df>1 ""hn<:, de 'Jl lar
Sección 7-3 Decodificación de memoria 26S
y
----'-
DecodifICador de S x 32

I 2 . .
• . 2. • • • 31

I
2
·
Din:cción binan

x
Decodificador .
01100 10100
·
ddx 32
X Y
12
·


"1
FICiURA 7-7
Estructura bidimensional de decodificación para una memoria de lK palabras
de 5 x 32. Con el decodificador úni co necesitariamos 10"...4 compuertas ANO con 10 cnlnldas
cada una. Con los dos decodificadores. se necesitan 64 compuertas ANO con cinco entradas ca-
da una. Los cinco bils más significalivos de la dirección se enyfan a la enlrada X, y los ci nco
menos significativos. a Y. Cada palabra del arreglo de memoria se selecciona por la coi nciden-
cia de una !fnea X y una línea Y. Asf, cada palabra de la memoria se selecciona por la coi nci-
dencia de una de 32 fil as y una de 32 columnas, pum un lotal de 1024 palabras. Cada inlersección
representa una palabra que podrfa lener cualqui er cantidad de bi ts.
Considere, como ejempl o. la palabra cuya dirección es 404. El equivalente binario de 404
es O 11 00 10 1 00 (con 10 bils). EsIO hace que X ". 0 11 00 (12 binario) y y ". i0100 (20 bina-
rio). La palabra de n bils que se selecciona eslá en [a salida 12 del decodifi cador X y la salida
20 del decodificador Y. Se seleccionan para lecturo o escrituro todos los bits de la palabro.
Multlplexlón de direcciones
La celda de memoria SRAM modelada en la figura 7-5 por lo regular contiene seis transisto-
res. Para construir memori as con una mayor densidad es preciso reducir el número de transis-
tores en cada celda. La eelda ORAM contiene un transistor MOS y un condensador. La carga
almacenada en el condensador se di sipa con el ti empo. por lo que las celdas de memoria se de-
ben recargar periódicamenle refrescando la memoria. Por lo sencillo de la estructura de sus cel-
das, las DRAM suelen tener una capacidad cuatro veces mayor que [a SRAM. Eslo pennile
incl uir cuatro veces más memoria en un chip de un tamaño dado. El costo por bit de memoria
ORAM es de tres a cuatro veces menos que el de SRAM. Se logra un ahorro adicional porque
266 Ca pítulo 7 Memori a y lógica programable
las celdas DRAM consumen menos electricidad. Estas ventajas hacen que la DRAM sea la
tecnología preferida para memorias grandes. Hay chips de DRAM con capacidades de 64K bits
a 256M bits. Casi todas las DRAM tienen un tamafio de palabm de I bit, por Jo que es preci.
so combinar varios chips para tener palabras más grandes.
Por su gran capacidad, la decodificación de direcciones en las DRAM se efectún con un
arreglo bidimensional , y las memorias más grandes suelen tener múlti ples areglos. A fin de re·
ducir el número de terminales del paquete de el. los diseñadores utilizan multiplexión de direc·
ciones, en la que unjuego de terminales de entrada da cabida a los componentes de la dirección.
En un arreglo bidimensional, la dirección se aplica en dos partes. primero In de fila y luego la
de columna. Puesto que se usa el mi smo juego de terminales para ambas partes de la dirección,
el tamaño del paquete se reduce considerablemente.
Usaremos una memori a de 64K palabras para ilustrnr la multiplexión de direcci ones. En la
figura 7-8 aparece un diagrama de la configuración de decodificación. La memoria consiste en
CAS Registro de columna
de 8 bit5
Decodi fi cador
de 8)( 2S6
RAS
Regimo
OccodirJCador
Arreglo de celdas
de fila de
de8 X 256
de memoria de
8 bits
". X'"
DirecciÓn
de 8 bits Leerle5Clibir
Entrada Salida
de dat05 de dat 05
FIGURA 7-8
Multiplexi6n de direcciones para una DRAM de 64K
M a t ~ r t ' l l protegido por derechos de 'lL.: or
Sección 7-4 Detección y cOlTección de errores 267
un arreglo bidimensional de celda .. di spuestas en 256 filas y 256 columnas. para un total de
1!' x 2
8
= 210 = 64Kpa1abrns. Hay unasolalfneadeentradadedatos, una solade salidadeda-
tos y un control de leer/escribir. Hay una entrada de di rección de ocho bits y dos strobes (se-
nales estroboscópicas) de di rección que habilitan las direcci ones de fila y de columna para que
ingresen en sus respectivos registros. El strobc de dirección de fila RAS (row address strobe)
habilita el regi stro de fila de ocho bits. y el de columna. CAS (cofumn addrcss strobe). habi li -
ta el registro de columna de ocho bits. La raya sobre el sfmbolo de strobe indica que los regis-
tros se habilitan en en ni velO de la señal.
La dirección de 16 bits se aplica a la DRAM en dos pasos, utilizando RAS y CASo En un
principio, ambos strobcs están en el estado l . La dirección de fil a, de ocho bits. se aplica a las
entradas de dirección. y se cambia RAS a O. E. .. to carga la dirección de fil a en el registro de di -
rección de fila. RAS tambi én habilita el decodificador de fil a para decodificar la dirección de
fi la y seleccionar una fila del arreglo. Después de un tiempo equi valente al tiempo de estabili-
zación de la selección de filn. RAS vuelye al nivel l . Entonces se aplicn la dirección de col um-
na. de ocho bits. a las entradas de di rección. y CAS se cambia al estado O. Esto tmnsfi ere la
dirección de columna al registro de columna y habil ita el decodificador de columna. En este
momento. las dos partes de la di rección ya están en sus respectivos registros. los decodifica-
dores las han decodificado para seleccionar la celda única correspondi ente a las direcciones de
filu y de columna. y ya puede erectuarse una operación de lectura/escritura con esa celda. CAS
debcrfi volver al nh'el I antes de iniciar otra operación de memoria.
7-4 DETECCiÓN Y CORRECCiÓN DE ERRORES
El nivel de complejidad de un arreglo de memoria podría causar errores al alma-
cenar y recuperar la inrormación binaria. La fiabili dad de una unidad de memoria aumenta si
se usan códigos para detectar y corregi r errores. El esquema más común para detectar errores
es el bit de paridad (véase la sección 3·8). Se genero un bit de paridad y se almacena j unto con
la palabra de datos en la memoria. Después de Iec.n;e una palabra de la memoria, se verifica su
paridad. y se acepta si la paridad de los bi ts leídos es correcta. Si la verificación de paridad da
una inversión. se habrá detectado un error. pero no podrá corregirse.
Un código de corrección de errores genera múlti ples bits de comprobación de paridad que
se almacenan junto con la palabra de datos en la memoria. Cada bit de comprobación comple-
ta la paridad de un grupo de de la palabra de datos. Cuando la palabra se lee de la memo-
ri a. también se leen los bits de paridad y se comparan con un nuevo j uego de bits de
comprobación generados a partir de los datos lerdos. Si los bits de comprobación coinciden.
qui ere decir que no hubo error: si no coi nciden. generan un patrón único. llamado
que sirve para identificar el bi t erróneo. Hay un error individual cuando un bit cambia de l a
O o de O a I durante In operación de escri turo o lectum. Si se identifica el bit erróneo. el error
podrá corregirse complementando dicho bit.
Código Hammlng
Uno de los códigos para corrección de errores más utili 7..ados en memorias de acceso aleato-
rio fue ideado por R. W. Hamming. En el código Hammi ng, se anaden k bits de paridad a una
palabra de dalos de" bits pard romlar una nueva.paIabra de n + l bits. Las posiciones de bit
se numeran sucesivamente de la" + l . Las posiciones numeradas con potencias de 2 se re-
Mat 'JI pro <:Ir dE' 'JL "Ir

Sección 7·4 Detección y corrección de errores 269
En el primer caso. no hay errores en la palabra de 12 bits. En el segundo. hay un error en la po-
sición de bit 1 porque cambió de O a 1. El tercer caso muestro un error en la posición de bit 5
que cambió de 1 a Q. Al evaluar el XOR de los bits correspondientes. obtenemos estos bits de
comprobación:
Sin error:
Con error en el bit 1:
Con error en el bit 5:
c.
O
O
O
e,
O
O
I
e,
O
O
O
e,
O
I
I
Asr. cuando no hay error. tenemos e = OOCXI; con un error en el bit \. obtenemos e = 000 1:
y con un error en el bit 5. obtenemos e = 0101 . El valor binario de C. si es dislinto de IXXX).
da la posición del bit eI'TÓneo. El error se corri ge complementando el bit correspondiente. Ca-
be sei\alar que el error podrfa presentarse en la palabra de datos o en uno de los bits de paridad.
El código Hamming se puede Ulilizar con palabras de datos de cualquier longitud. En ge·
neral, el código consiste en k bits de comprobaciÓn y 11 bits de datos, para dar un lotal de" + k
bits. El valor del sfndrome e tiene k bits y abarca 2
t
val ores entre O y 2
t
- l . Uno de estos va-
lores, que por I!, regulnr es el cero. indica que no se delectÓ ningún elTOf. asf que quedan 1!- - I
valores para indicar cuál de los" + k bi ts estaba equivocado. Cada uno de estos 't - I valores
para describir de forma inconfundible un bit erróneo. Por tanto. el intervalo de k debe ser ma-
yor o igual que " + k. lo que da la relaciÓn

Al despejar 11 en términos de /.:. se obtiene
2
i
- I -/.:2; /I
Esta relación da una fÓrmula para establecer el número de bits de datos que se pueden usar
junto con k bits de comprobaciÓn. Por ejemplo. cuando k = 3. el número de bils de datos
que se puedenusaresn :5 (2
3
- I - 3) = 4.Cook = 4.tenemosZ' - I - 4 = I 1. o sea que
11 :5 11 . La palabra de dalos puede tener menos de II bits. pero debe tener por lo menos cin-
co bits. pues con menos de cinco bits sólo se necesitan tres bits de comprobación. Esto justi-
fica el uso de cuatro bits de comprobación para los ocho bits de datos del ejemplo anterior.
En la tabla 7-2 se dan los interv:tlos de 11 para dh'efS()!¡ valores de k.
La agrupación de bits para generar y verificar la paridad se obtiene de una lista de los nú-
meros binarios de O hasla 2
t
- l. El bit menos signifi calivo es I en los números binarios l . 3.
Tabla 7-2
Intl!rvolo de blu de daros poro le bits dI! comprobación
Número de bits
de comprob. dón, 6:
3
4
5
6
7
InteJ'Yalo de
bits de datos, n
2-4
5- 11
12-26
27-57
58- 120
Mal rF11 protegido p-?r derechos de '1U ':Ir
Secdón 7-5 Memoria de sólo lectura 271
k entradlu (direc:ción) - _-j 1-_ _ "mIldIU (datos)
FIGURA 7-9
Diagrama de bloques de ROM
2
t
palabras. La ROM no tiene entrndas de datos porque no efectúa la operación de escritura.
Los chips de circuitos integr.tdos de ROM tienen una o más entradas de habilitación y a veces
cuentan con salidas de tres estados que facilitan la construcción de grandes arreglos de ROM.
Consideremos. por ejemplo. una ROM de 32 X 8. La unidad consiste en 32 palabras de 8
bits cada una. Hay cinco líneas de entrada que forman los números binarios del O al 31 paro la
direcci ón. La figura 7-10 muestra la construcción lógica interna de la ROM. L a . ~ cinco entra-
das se decodifican a 32 salidas di stintas con un decodificador de 5 X 32. Cada salida del de-
codificador representa una dirección de memoria. Las 32 salidas del decodificador se conectan
a cada unade las ochocompucrtas ORo El diagrama muestra la convención de arreglos lógicos que
se emplea en circuit os complejos (véase la figura 7- 1). Debe consideTUf'Se que cada compuer-
ta OR tiene 32 entrados. Cada salida del decodi fi cador se conecta a una de las entrndas de ca-
da compuerta ORo Puesto que cada compuerta OR tiene 32 conexiones dlC entrada y hay ocho
compuenas ORo la ROM contiene 32 x 8 = 256 conexiones internas. En general. una ROM
de 2
t
X 11 tiene un decodificador interno de le x 2( y 11 compuertllS ORo Cada compuerta OR
tiene 2
l
entradas. que se conectan a cada una de I a . ~ salidas del decodificador .

o
I
2
J
DecodifICador
·
deSx32
·
·
28
29
lO
31
I T T T I
A,
A. A. A, A,
fiGURA 7· 10
lógica Interna de una ROM de 32 x 8
Mat nal protegido por derechos dfI aL'!')r
274 Capítulo 7 Memoria y lógica programable
Diseñar un circui to combinacional con una ROM. El circuito acepta un número de tres bits y
genera un número binario igual al cuadrado del número introducido.
El primer paso es deducir la tabla de verdad del circui to combinacional. En la mayoría
de los casos no se necesita más. En otros casos. se uti liza uniltabla de verdad parcial para la
ROM aprovechando cienas propiedades de las variables de Slllida. La tabla 7-4 es la tabla de
verdad del circuito combinacional. Se requieren tres entrodils y seis Slll idas para dar cabida a
todos los números binarios posibles. Observamos que la salida Bo siempre es igual illa entro-
da Ao. por lo que no hay necesidad de generar Bo con una ROM. pues es iguill a una variable
de entroda. Además. la salida 8
1
siempre es O. asf que esta salida es una constante conocida.
En real idad. sólo necesitamos generar cuatro salidas con la ROM; las OII""J.S dos se obtienen fá-
cilmente. La ROM mínima requerida debe tener tres entradas y cuatro salidas. Tres entradas
especifican ocho palabras. asf que el tamaño de la ROM es 8 X 4. La implememación en ROM
se ilustra en la figura 7- 12. Las tres entradas especifican ocho palabras de cuatro bits cada una.
La tabla de verdad de la figura 7. 12b) especifica la informaci Ón necesaria para programar la
ROM. El diagrama de bloques de la figura 7- 12a) indica las conexiones requeridas del circui-
to combi nacional.

Tabla 7-4
Tablo poro ti circufto del ejemplo 1- '
lntrMl.s 5.lldas
A, A,
A,
B, B, S, S,
.. ..
Decimal
O O O O O O O O O O
O O I O O O O O I I
O I O O O O I O O 4
O I I O O I O O I 9
I O O O I O O O O 16
I O I O I I O O I 25
I I O I O O I O O 36
I I I I I O O O I 49
no
A, A, A
o
B, 8, B, B,
o
B, o o o o o O O
o o I o o O O
B,
O I O O O O I
-
l
ROM de
,><
I
B,
O I I o o I o
I O O o I O o
B,
I O I O I I O
I I O I O O I
B, I I I I I O O
-
a) Diagnlma de bloques b) Tabla de verdad de la ROM
FIGURA 7-12
Implementación en ROM del ejf!mpl0 7-1
Ma rlll pr01eQido por dfI U!')r
Sección 7-5 Memoria de sólo lectura 275
Tipo. de ROM
Las trayectorias que se requieren en una ROM se pueden programar de CualrO maneras. La. pri-
mera se denomina programación por máscara y la efectúa el fabricante de semiconductores du-
rante el último proceso de fabricación de la unidad. El procedimiento de manufacturJ. de una
ROM requiere que el cliente llene la tabla de verdad que la ROM debe sati sfacer. La tabla se
presenta en una forma especial proporcionada por el fabri cante. o en un formato dado en un
medio de saJida de computadora. El fabricante crea la máscara correspondiente a las trayectorias
que producen los unos y ceros indicados en la tabla de verdad del cliente. Este procedimiento
es costoso porque el proveedor cobra al cliente un cargo especiaJ por hacer una máscara a la
medida para la ROM en cuesti ón. Por ell o. la programación por máscara sólo resulta económi-
ca si el pedido es por grandes cantidades de ROM con la misma configuración.
Para cantidades pequeñas. es más económico usar otro tipo de ROM ll amada memori a pro-
gramable de sólo lectura (PROM. progrommable read·only memory). Recién compr-ddas. las
unidades PROM tienen todos sus fusibles intactos. lo que equivale a I en todos los bits de
las palabras almacenadas. Los fusibles de la PROM se queman aplicando un pulso de al to vol-
taje al dispositivo a través de una terminal especial. Un fusible quemado defi ne un estado bi-
nario O y un fusible intacto da un estado bi nario l . Esto permite al usuario programar la PROM
en el laboratorio para obtener la relación deseada entre direcciones de entrada y palabras al-
macenadas. Se venden instrumentos especiales llamados progrumadores de PROM que facili-
tan este procedimiento. En cualquier caso, todos los procedimientos para programar las ROM
son procedimientos en hardware. aunque se use la palabra programación.
El procedimiento para programar las ROM y PROM por hardware es irreversible y, una vez
efectuado, el patrón es permanente y no puede alterarse. Una vez que se ha establecido un pa-
tron de bits. la unidad tendrá que desecharse si es necesario modifi car el palrÓn de bits. Un
tercer tipo de ROM es la PROM borrable (EPROM. erawble PROM). La EPROM se puaJe res-
taurar al estado inicial aunque se le haya programado previamente. Cuando la EPROM se colo-
ca bajo una lámpara ultravioleta especial durante cieno tiempo, la radiación de onda cona
descarga las compuertas flotantes internas que actúan como conexiones programadas. Una vez
borrnda la EPROM vuelve a su estado inidal y es posible reprogramarse con otro conjunto de
valores.
El cuano tipo de ROM es la PROM borrnble eléctri camente (EEPROM o E
1
pROM). Es ro-
mo la EPROM, sólo que las conexiones previamente programadas se borran con una sei\a1
eléctrica en vez de luz ultravioleta. La ventuja es que el dispositivo puede bolTllne sin des-
montarlo de su base.
PLD combinacionales
La PROM es un dispositiyo lógico progmrtulble (PLD.fnvgrommable logic device) combinocio-
nal. Un PlO combinacional es un circuito integrado con compuertas programables divididas
en un arreglo ANO y un arreglo OR para efectuar una implementación de suma de productos
ANO-OR. Hay tres tipos principales de PLO combi nacionaJes. que difieren en la colocación
de las conexiones programables en el arreglo ANO-OR. La figura 7- 13 reproduce la configuración
de los tres PlO. La memoria programable de sólo lectura (PROM) tiene un arreglo ANO fijo
construido como decodificador y un arreglo OR programable. Las compuertas OR programa-
bl es implementan las funciones booleanas como suma de miniténninos. El arreglo lógico progra-
mable (PAl. progrommable arra)' logic} ti ene un arreglo ANO programable y un ll/Teglo OR
Mat '11 prOiegido ')f derechos de '!t.. ':Ir
Secc::ión 7-6 Arreglo de lógica programable 279
rida. Al igual que las ROM. el PLA puede ser programable por máscara o programable en cI
campo. Con programación por máscara. el cliente presenta al fabricante una tabl a de progra-
mación de PLA, que el fabricante uti li7.B para producir un PLA a la medida que tiene la lógi-
ca interna especificada por el cliente. Un segundo tipo de PLA se llama arreglo de lógica
programable en el campo (FPLA, field programmable logic array). El usuari o programo el
FPLA con uno unidad progmmadora que se vende en el comercio.
Al implementar un circuito combinacional con un PLA, se debe efectuar una investi gación
cuidadosa para reducir el numero de términos producto di stintos, ya que el PLA tiene un nu-
mero finito de compuenas ANO. Esto se efectúa simplificando cada función booleana al nume-
ro mínimo de términos. El número de literales en los térmi nos no es importante porque ya se
cuenta con todas las variables de entrada. Para cada función, se debe simplificar tanlo la ver-
dadera como su compl emento. para ver cuál se puede expresar con menos términos producto
y cuál genera términos productos comunes a otras funciones.
Implemente estas dos funciones booleanas con un PLA:
F,( A, B. C) ~ :¡; (O. I.2. 4)
F,( A. B. C) ~ :¡; (O. 5. 6. 7)
Las dos funciones se simplifican en Jos mapas de la fi gura 7- 1 S. Se han si mplifi cado en suma
de productos tanto las funciones verdaderas como sus compl ementos. La combinación que da
el mínimo de términos producto es
fj = (AB + AC + BC)'
y
Fl = AB + AC + A' B'C'
Esto da cuatro témlinos producto di stintos: AB, AC, BC Y A' B'C. La tabla de programación de
PLA se presenta en la fi gura. Cabe señalar que F. es lo salida ' ·erdadera. aunque se ha marca-
do una C arriba de ell a en la tabl a. El moti vo es que F. se genera con un circuito ANO-QR y
está di sponible en la salida de la compuena ORo La compuerta XQR compl ementa la funci ón
para producir la verdadera salida F •.

, El circuito combinacional empleado en el ejemplo 7-2 es demasiado si mple como para im-
plementarlo con un PLA; se presenta únicamente como il ustrnción. Un PLA típico tiene un gran
número de entradas y términos producto. La simplifi cación de funciones booleanas con tantas
variables necesita efectuarse con procedimientos de si mplificación asistidos por computado-
ra. El programa de diseño asistido por computadora simpli fica cada función y su complemen-
to al mínimo de términos. Luego, el programa selecciona el mínimo de términos producto que
cubren todas las funci ones en su forma verdadera o de complemento. Después se genera la ta-
bla de programación y se obtiene el mapa de fusibl es requeri do. El mapa se apli ca a un pro-
gramador de FPLA que efectúa el procedimiento en hardware de quemar los fusibles inlemos
del circuito integrado.
M ~ rt 11 protegido p:lr !,?3rec,o de u ':Ir
"
nnlno Té
P roduclo +
I
2
3

4
S
6
7
8
,
10
"
12
FIGURA 7-16
Sección 7-7 Arreglo lógIco programable 281
Entradas de las oompuerlasAND
123 4 56189 10
---'

}-

N
}-
---'
;--
F,
r
--í
,-L
F,
L
,-J..
1 2 3 4 5 6 7 8 9 10
PAl con cuatro entradas, cuatro salidas y una AND-OR de a nchura tres
Mat 'JI pro <:Ir de '11..: or
282 Capítulo 7 Memoria y lógica programable
o más compuertas ORo Por ello. cada función se simplifi ca sola sin considcl"J.r témlinos
producto comunes. El número de términos producto en cada sección es fij o. y si el número de
términos en la fundón es demasiado grande. podría ser necesario usar dos secciones para im-
pl emcntar una fundón booleana.
Como ejempl o del uso de PAL en el di seño de circuitos combinacional es. consideremos
siguientes funciones booleanas. dadas en suma de minitérmi nos:
.. ( A, B, e. D) = };(2. 12. 13)
x(A, B, e, D) = }; (7. 8, 9, lO, 11 , 12, 13, 14. 15)
y( A. B,e, D) = }; (0.2.3. 4,5, 6. 7, 8, 10. 11 . 15)
z( A. B. e, D) = }; ( I. 2. 8. 12.13)
La si mplHi cllción de las cuatro funciones al mínimo de términos produce estas fundones

w "" ABC' + A' B'CO'
x "" A + BCD
y "" A' B +CD + B' O'
z "" ABC' + A' B'CO' + AC' D' + A' B'C' D
"" tV + AC' O' + A' B'C' D
Vemos que la función paro l tiene cuatro términos producto. La suma lógica de dos de estos tér-
minos es igual a w. Si se usa w. es posible reduci r el número de térmi nos de z. de cualro a tres.
Ln labia de programación de PAL es similar a la que usamos par..t 1m PLA. con la salvedad
de que sólo es necesario programar las enlradas de las compuert as ANO. La tabla 7-6 presen-
ta la tabla de programación de PAL parn. las cuatro funcioneS La tabla se divide en
Tabla 7· 6
Tabla de programación de PAL
E.ntradas de ANO
Término producto A 8 e D W Salidas
I I I O
- -
'1/} '" ABe'
2 O O I O
-
+ A' B'CD'
3
- - -
4 1

5 I 1 I + BCD
6
- - - - -
7 O I
- - -
y = A'B
8 1 1
-
+CD
9 O O + B' D'
10
- - - -
I
.: - IV
"
1
-
O O + AC' D'
12 O O O I + A'B'C' D
Mal rnl protegido p?f derechos de ':lut')r
I


Sección 7·8 Dispositivos programables secuenciales 283
cuntro secciones con tres términos prodUCIO en cada una, en correspondencia con el PAL de la
figura 7- 16. Las primeras dos secciones necesitan úni camente dos términos producto para im-
plementar la función booleana. La última sección, la de In sal ida ¡:. nccesir.a cuatro términos pro-
ducto. Si utilizamos la salida de 11'. podremos reducir la función a tres términos.
El mapa de fusibles del PAL especificado por la tabla de programación se observa en la fi-
gura 7-17. Por cuda 1 o O en la tabla, marcamos la intersección correspondiente en el diagra-
ma con el sfmbolo de fusibl e inlaclo. Por cada guión. marcamos el diagrama con fusibles
quemados en ambas "erdadera y complemento. Si una compuerta AND no se usa. de-
jarnos inlaclos lodos sus fusibles de entrada. Puesto que In enlrada correspondí eme recibe tan-
to la variable de entrada verdadera como su complemento, tendremos AA' = O Y la salida de
la compuerta ANO siempre será O.
Al igual que con todos los PLD, el di seño con PAL se facilit:l. si se emplean técnicas de di-
seño por computadora. El quemado de fusibles internos es un procedimiento en hard-
ware que se efectúa con la ayuda de instrumentos electrónicos especiales.
7-8 DISPOSITIVOS PROGRAMABLES SECUENCIALES
Los sistemas digitales se diseñan empleando nip-flops y compuertas. Puesto que el PLD com-
binacional sólo contiene compuertas. es necesario incluir nip-flops externos cuando se utilizan
en el diseño. Los dispositi vos programables secuenciales contienen tanto compuertas como
flip-flops. Asr, el di spositivo puede programarse para que realice diversas funciones de circui-
to secuencial. En el comercio hay varios ti pos de dispositi vos programables secuenciales, y
cada uno tiene variantes dentro de cada tipo que son JXlI1l el proveedor dado. La ló-
gica interna de estos di spositivos es demasiado compleja como para mostl1lJSC aquf: por ello,
describiremos tres tipos principales sin entrdr en los pormenores de su construcción:
l. Di spositivo lógico programable secuencial (o simple) (SPLD)
2. Dispositivo lógico progmmable complejo (CPLD)
3, Arreglo de compuertas programable en el campo (FPGA)
El PLD secuencial también se describe como ' ;simple" para distinguirl o del PLD complejo. Los
SPLD incluyen flip-nops dentro del chip de circuitos integrados además del arreglo AND-OR.
El result ado es un circuito secuencial como el que se aprecia en la figura 7-18. Un PAL o PLA
se modifica por la inclusión de varios flip-flops conectados para formar un registro. Las salidas
del circuito se toman de las compuertas OR o de las salidas de los flip-nops. Hay conexiones
programables adicionales que permiten incl uir las salidas de los flip-flops en los términos pro-
ducto que se forman con el arreglo ANO. Los flip-flops pueden ser del tipo O o del tipo JK.
El primer di sposit ivo progromable que creó paro apoyor lo implementación de circuitos
secuenci ales fue el secuenciador lógico program¡¡ble en el campo (FPLS,jiefd-programmoble
logic uqlfence). Un FPLS típico se organizn en tomo a un PLA con varias salidas que alimen-
tan a nip-flops. Éstos son flexibles en cuanlo a que es posible programarlos de modo que operen
como de tipo JK o de tipo D. El FPLS no tuvo fxito comercial porque tiene demasiadas cone-
xiones progrmnables. La configuración que se emplea generalmente para los SPLD es el PAL
combinacional junto con flip-flops D. Un PAL que incluye flip-flops se conoce como PAL con
registros paro indicar que el di spositivo contiene nip-flops además dellllTeglo ANO-OR. Ca-
da sección de un SPLD se denomina macrocelda. Una macrocelda es un circuito que contie-
";C una funciÓn de lógica combi nacional de suma de productos y un flip· Oop opcionnl.
SUlxmdremos una suma de productos AND-OR, pero en la práctica puede ser cualquiera de las
implementaciones de dos ni veles que se presentaron en la sección 3-7.
Mal '11 pro por derechos de '!L.: or
,
284 Capítulo 7 Memoria y lógica programable
Ttrmino
p
""'" .. ,
,
2
J
U
4
,

8
U
1


e
U
10
"
"
...
~
D
FIGURA 7-17
Entradas de hH c:ompuen8$ ANO
A A' B B' e e D D' lO' W'
' - -
-
-
- '
-
- - -
-
~
- - - - -
-
-
- - - - - - - - -
-
-
+-
- - - - -
-
-
-+
- -
~ - '
-
-
~
-
-
+-+-t-
-
-t- -t-
-
- -
- - -
- - -
-
- - - - -
- - - -
- - - - -
+-+-t-
- -
- -
-t-
-
- - - - - -
'-!-t
- '
~
-
~ - ' ~ ~
- -
- - -
-
- - - - - -
-
A A' 8 ' 8 ' e e o D' lO' 10' <
Mapa de fusibles del PAl especificado en la tabla 7-6
~
)--
x
-f
¡L
,
x
TodQ¡ los flUiblcs
inllC'lOl (Iiempre - O)
4
r.
y
4
,
r
)( FUlib1c inlllCIO
+ Fusible quc:mDdo
p ;:C;¡
JS ,.. '00'
~
-
Sección 7-8 Dispositivos programables secuenciales 285
EntradM
Arreglo AND-OR
Salid
(PALoPLA)
..
flip-nops
FIGURA 7-'18
Dispositivo lógico programable secuencial

La figura 7-19 muestra la lógica de una macrocelda básica. El arreglo AND-OR es el mis-
mo que el del PAL combinacional que se observa en la figura 7- 16. La salida se alimenta con
un flip-nop D disparado por flanco. El nip-flop está conectado a una entrada de reloj común
y cambia de estado en un borde de reloj. La salida del nip-fl op se conecta a un búfer (o inver-
sor) de tres estados controlado por una señal de habilitación de salida (output enable) marca-
da en el diagrama con OE. La salida del flip-flop se realimenta a una de las enlradas de las
compuertas ANO programables para suministrar la condición de estado actual del circuito se-
cuenciaL Un SPLO tfpico tiene entre ocho y diez macroceldas en un paquete de CI. Todos los
flip-nops están conectados a la entrada de reloj CLK común. y todos los búferes de tres esta-
dos se cOnlrolan con la entrada OE.
Además del arreglo ANO programable. la macrocelda podría tener otras características pro-
gramables. Entre las opciones de programación más comunes están la capacidad de usar el
nip-fl op o bien pasarlo por alto. seleccionar la polaridad del borde de reloj. seleccionar prees-
tablecimienlO (preut) y despeje (clear) para el regi stro. y seleccionar la fonna verdadera o el
complemento de una salida. Se utiliza una compuerta XOR para programar una condición de
CLK OE
I -l- 1
I
=i:
I I
i
I
D
I I I
-
---p
FIGURA 7· 19
lógica de una macrocclda básica
Mal fI'll protegido pt)r ¡,;erecho" de 'lU ':Ir
286 Capítul o 7 Memoria y lógka programable
Bloque
'" EJS
PLO
' LO
PLD PLO
Matriz programable de conmultldofl'S
Bloque
d,EJS

PLO PLO PLD
'LO
FIGURA 7-20
Configuración general de un CPl O
verdaderafcomplemento. Los multiplexores ¡:w=nniten escoger entre dos o cuatro trayectorias dis-
tintas programando las entmdas de selección.
El diseño de un sistema digi tal con PLD suele requerir la conexión de vari os di sposi tivos
para producir la especificación completa. En este tipo de aplicaciones, resulta má'l económico
ut ilizar un dispositi vo lógi co programable complejo (CPLD). Un CPLD es un conj unto de PLD
individuales en un solo circui to integrado. Una estructUnl de interconexión programable ¡:w=r-
mite concctar los PLO entre sf de la misma manera que se hace con PLD individuales.
La figura 7-20 muestra la configuración getlCrJ.l de un e PLD. Consta de múltiples PLO inter-
conectados a través de una matriz programabl e de conmutadores. Los bloques de entrada/salida
(E/S) proporcionan las conexiones a las termi nale.'I del e l. Cada leoni nal de EJS se al imenta con
un búfer de tres estados y se puede programar de modo que actúe como entr.tda o como salida.
La matriz. de conmutadores recibe entradas del bloque de E/S y las dirige a las macroceldas in-
dividuales. De fonna simi lar. salidas selectas de las macroceldas se envfan a las So'llidas según sea
necesario. Cada PLO suele contener entre 8 y 16 macroceldas. Las macroceldas dent ro de cada
PLO por lo regular están plenamente interconectadas. Si una macrocelda tiene lénninos produc-
to no uti lizados, otras macroceldus cercanas pueden usarlos. En algunos casos, el nip-nop de la
macrocelda se programa para que actúe como Oip-nop D, JK o T.
Los diferentes fabricantes han adoptado distintos enfoques respecto a la arquitectura ge-
neral de los e PLO. Entre los aspeclos en los que difieren están los PLD individuales (también
ll amados bloques de función), el ti po de macroceldas, los bloques de E/S y la estructurJ. pro-
gramable de interconexión. La mejor forma de investigar un dispositivo especifi co de un
proveedor es estudiar la literatura del fabricante.
El componente básico empl eado en un diseño VLSI es el arregto de compllertas. que con-
siste en un patrón de compuertas fabricadas en un área de silicio y que se repite miles de ve-
ces hasta cubrir todo el chip con las compuenas. Se fa brican arreglos de entre mil y cien mil
compuert as en un solo chi p de CI. dependiendo de la tecnologfa empleada. El di seño con
arreglos de compuertas requi ere que el cliente proporcione al fabricante el patrón de intcrco-
Mat '11 pro ~ i d o 0f derechos de '!L
288 Capítulo 7 Memoria y lógica programable
7 · 5 Escriba un conjumo de pruebas para lit memoria que se describe en el ejemplo BOL 7-1_ El pro-
grama de prueba almacena un 7 binario en la dirección O y un 14 binario en la direcci ón 60. Lue-
go se leen esas dos direcciones para verificar su contenido_
7 -6 Encierre la RAM de 4 X 4 de la fi gura 7-6 en un di agrama de bloques que señale todas las en·
tradas y salidas_ Suponiendo salidas de tres csmdos. construya una memorill de 8 X 8 uti lizando
cuatro unidades de RAM de 4 X 4.
7·7 Una memori a de 16K X 4 utilizo decodificacioo coiocidente dividiendo el decodificudor inl cr-
no en selecci ón X y selección Y.
a) tamailo tiene cada decodificador y cuántas compucnas AND se requieren para deco-
dificar la dire:ct:ioo'!
b) Determi ne las Ifneas de selección X y Yquc: est4n habilitadas cuando la di rección de entra-
da es el equivnlente binario de 6000.
7-8 11) ¿Cuánlos chips de RAM de 32K X 8 se necesitan para tener una capacidad de memori a de
256K byte.'?
b) ¿Cuántas Ifncas de dirección se necesi tan paro acceder I 256K bytes? ¿Cuámas de esas lineas
estoo conectadas a las entradu de di rección de todos los chips?
e) ¿Cuootas lineas deben decodificarse para las entradas de selecci ón de chip? Especi fique el
tamaño del decodificador.
7 · 9 Un chip de DRAM utiliza multiplexión bidimensional de dittteiones. Tiene 13 terminales de di -
rttción comunes. y la dirección de fila tiene un bit más que la dirección de columna. capa-
cidad tiene la memoria?
7 · 10 Dada la palabra de datoS 0101 10 11 . de ocho bits, genere: la palabra compuesta de 13 bits corres-
pondiente al cOdiao lIamming que corrige individUBle5 y de.«ta errores dobles.
7· 11 Deduzca la palabra de Código Hamming de I S bi ts para la palabra de dUlos de II bi ts
11001001010.
7 · 12 Se lec de la memoria una palabra de código I-I amming de 12 bits que contiene ocho bits de datos
y cuatro bits de paridad. Indique la palabra de datos origi nal, de ocho bits, que se escribió en la
memoria. si la palabra de 12 bits que se Ice es:
a) ()()()()1110101O b) 10111000011 0
c) 101111110100
7 · 13 ¿Cuántos bits de comprobal;: iÓfl de paridad deben irw:luir.;e juntO con la palabro de dat os paro po-
dercorregir e,,,, ... es individuales y detectnrCi ,Ot'CS dobles si la JXllabra de datos cont iene a) 16 bits.
b) 32 bits y e) 48 bi ts.
7-14 Es necesario formular el código I-Iamming para cuatro bits de datos, OJ. O" Oft Y DJ. j unto con
tres bits de paridad. P" P: y P, .
n) Evalllc In palabro compuesta de siete bits para la palabra de datos 0010.
b) Evalúe tres bi ts de comprobación, C" C
l
y C
j
, suponiendo que no hay error.
e) Suponga que se produce un error en el bit D, ni escribir la palabra en la memoria. Explique
cómo se detecta y corrige el error de ese bit.
d) Añada el bit de paridad PI par .. incluir en el código detección de errores dobles. Suponga que
hubo en los bits P
1
y DJ. Explique cómo se detecta el doble error.
7-1 S Dado un chip de ROM de 32 X 8 con una entrnd9. de habili tación. indique las conexiones exter·
nas que se requieren para construir una ROM tic 128 X 8 con cuatro chips y un decodificador.
7· 16 Un chip de ROM de 4096 x 8 bits tiene dos entradas de selección de chip y opera con una ruen·
te de poder de S volts. ¿Cuootas tenninales el paquete de circuito integrado? Dibuje un
dingroma de bloques y rotule las terminalcs de entruda y salida de la ROM.
,'11 prOl.egido f..-Or derechos de '11.: or
290 Capitulo 7 Memoria y lógka programable
7-24 La que sigue es la tabla de: verdad de un circuito tombinacional con tres entradas y cuatro sali ·
das. Prepare la tabla de programación de PAL para el circuito y marque el mapa de fusibles en
un diagrama de PAlsimilar al de la figura 7-17 .
EntradAl .......

,

• •
,
D
o o o o
,
o o
o o
, , , , ,
o
,
o
,
o
, ,
o
, ,
o
,
o
,
,
o o
,
o
,
o
,
o
,
o o o
,
, ,
o
, , ,
o
, , ,
o
, , ,
7·25 Ulili1.ando la macrocelda con registro de la figura 7-19. muestre el mapa de fusibles ele UII circui ·
to secuencial con dos entradas. x y )'. y un flip-flop. A. descrito por la ecuación de entrada
DA = xEByEDA
7-26 Modifique el diagrama de PAL de la figura 7-16 incluyendo tres flip-flops tipo D con reloj. en-
tre las compuertas OR y las salidas, como en la figurn 7- 19. El diagrama deber.! aj ustarse al dia-
¡ruma de bloques de un circuito secuencial. Ello requerirá compuertas búfer-invcrsor adicionales
y seis líneas verticales para conectar las salidas de nip-nop I;:on el arnglo ANO a Il1Ivfs de 1;:0-
ne:dones programables. Ulilizando el diagrama de I'AL con registro modifkado. muestre el mapa
de fusibles que implementa un contador binario de tres bits I;:on Ill;:llrreo de: salida.
REFERENCIAS
1. Toco R. J. Y N. S. WI DMat. 2001. DigilOf Sy11rms Principlr1 and App/iclJfiOlIS. 8a. «1. Upper
Snddle Rh·cr. NJ; Prenti!;C· Hall .
2. KrrsON. B. 1984. Programmabl, Arro)' Logic IIO/Idbook. Sunn)'\·ale. CA: Ad\'anl;:ed Micro
Dcvil;:cs.
l. WAKE!U.Y, J. F. 2000. Digiwllk1ign: Principln and Procticr$. 3a. ed. Upper Saddle Rivc:T. NJ:
Prenti!;C-Hall .
4. NEl.SON. V. P .. 11. T. NAGlJ:. J. D. y B. D. CAJl:ROU. 1997. DigilOl Logic Circuir I\ /W/ylis mul
lkl ign. Uppcr Saddle Rh·er. NI : Prenticc-Hall.
5. HAMMJNG. R. W. 1950. Error Dctcl;: ling and Error Correeling Codeso B, fI S)'1'. J. 29:
147- 160.
6. UN. S. y O. J. COS'TEU.O. Jr. 1983. Error COIrtrol Coding. EngJewood Cliffs. NJ: Prenlicc·Uall.
7. 1988. Programnwblr Logic Data Book. Dali as: Tuas Inslnrments.
8. TJl:IMIJEJl:OER. S. M. 1994. Field Progromnmblr Arra)' DOMon: Klul'icr Acude·
mic Pub.
9. 1994. Thr Progmmmablc Logic Daw Book. 2a. ed. Sun José. CA: Xitinx. lnc.
10. 1986. Mrrrwl'y Componrnu HandOOok. Sanla Clara. CA: Inlel.
Mar Tlal proJP.Qido por dfI 'lw')r
Nivel de transferencia
de registros
8- OTACIÓN DE NIVEL DE TRANSFERENCIA
E REGISTROS RTL
sistema di gital es un sistema de lógica secuencial construido con flip-Oops y compuenns.
circuitos secuenciales se pueden especificar con tablas de estados como se explicó en el
5. Especificar un sistema digital grande con una tabla de estados es muy diUcil, si
imposible. porque el número de estados seria prohibitivamente grande. Paro superar esta di·
los sistemas digitales se diseñan con un enfoque modul ar. El sistema se divide en sub-
modulares, cada uno de los cuales desempeña alguna tarea funcional. Los módul os
construyen de disposi ti vos di gitales como registros. decodificadores. multiplexores. cIernen-
de animética y lógica de cOnlrol. Los di versos módulos se interconectan con troyectorias
dot os y de cont rol comunes pam formar un sistema digital.
La mejor forma de describir los módulos digi tales es con un conjunto de registros y las ape-
que se erectúan con la inrormación binaria almacenada en ell os. Como ejempl os de
de registros podemos citar desplazamiento, conteo, despeje y carga. Se supone que
regislros son los componentes básicos del sistema digital. El flujo de inrormación yel pnxe-
erect uado con los datos almacenados en los registros reciben el nombre de opernciones
transrerencia de registros. Un sistema digital se representa en el nj¡'ef de tmnsfere./lcio de re.-
(RTL. regisrer tmnsfer I ~ ' e l ) cuando se especifica con estos tres componentes:
t. El conjunto de registros del sistema.
2. Las opemciones que se efectúan con los datos almacenados en los registros.
3. El control que supervi sa la sucesión dc opemciones del sistema.
registro cs un grupo dc flip-flops que almacena inrormación binaria y puede realizar una o
opemciones elementale.'i. Un regi stro es capaz de cargar nueva inrormación o desplazar
información a la derecha o a la izquierda. Un contador es un registro que incrementa un
en uno. Un flip·nop solo se considero un registro de un bit que puede establecerse
291
292 Capítulo 8 Nivel de transferencia de regIstros
(encenderse. ponerse en 1). despejarse (apagarse. ponerse en O) o complement arse. De hecho.
los flip-flops y las compuertas de cualquier circuito seeuencial se pueden llamar regi slrOS se·
gún esta defi ni ción.
Las operaciones que se ejecutan con la infomlación almacenada en registros son operacio-
nes elementales que se efectúan en paralelo con una cadena de bits durante un ciclo de reloj.
El resultado de la openaciÓll podóa reemplazar la información binaria previa de un registro. Otra
posibilidad es que el resultado se transfiera a otro registro. sin alterar los datos previos. Los cir-
cuitos digitales que presentamos en el eapft ul o 6 son registros que implementan operaciones
elementales. Un comador con carga paralela puede efectuar las operaciones de incremento y
carga. Un registro de desplazamiento bidireccional puede reali7..ar las operaciones de despla·
uamiento 11 la derecha y desplazamiento a la izquierda.
El control que inicia la sucesión de operaciones consiste en señales de temporización que
ordenan las operaciones de cierta manera. Ciertas condiciones que dependen de resultados de
operacione.<¡ anteriores podrían detem1inar el orden de operaciones fut uras. Las salidas de la ló-
gica de control son variables binarias que inician las di versas operaciones en el registro.
La transferencia de información de un regi stro a otro se indica de forma simbólica con un
operador de sustitución. El enunciado
R2 ~ RI
denota la transferencia del contenido del registro R I al registro R2. Especifica una sustitución
del comenido de R2 por el conteni do de RI . Por defi nición. el contenido del regi stro de origen
R I no cambia después de la tr.l.nsferencia. La fl echa representa la transferencia y la dirección
en que se efectúa.
Un enunciado que especifica una transferencia de registro implica que existen conexiones de
circuito que van de las salidas del registro de origen a las entradas del regi stro de destino. y que
el registro de destino tiene capacidad de cargaen paralelo. Normalmente. IlOqueremos que se efec·
túe la transferencia en cada ciclo de rel oj, sino sólo cuando se da cierta condición predetermina-
da. Las condiciones se expre..<;an con enunciados condicionale.<¡ if· then (si--entonces). como
If(TI = 1) then ( R2 ~ RI )
donde TI es una señal de control generada en la sección de control. Advierta que el reloj no se
incluye como variable en los enunciados de transferencia de registro. Se supone que todas IIIS
transferencias se efectúan durante una transición de borde de reloj. Aunque es posible que una
condición de control como TI se cumpla antes de una transición de reloj. la transferencia no
se efCClUará sino hasta que haya terminado la transición de reloj.
Se puede usar una coma para separar dos o más operaciones que se ejecutan al mi smo
tiempo. Consideremos el enunciado
I f (n = 1) then ( R2 +- RI . RI ~ R2)
Este enunciado denota una operación que intercambia el conteni do de dos registros durante el
mismo borde de reloj, a condición de que n = l . Esta operación simullánea es posible con
registros que tienen flip-flops disparados por flanco (borde). He aquf otros ejemplos de Ir.!ns·
ferencias de registro:
RI +- RI + R2
R 3 ~ R 3 + I
R4 ~ shr R4
R5 ~ O
Sumar el contenido de R2 a Rl
Incrementar R3 en I (cont ar hacia arriba)
Despl azar R4 a la derecha
Despejar R5 (ponerlo en ceros)
Mat 'JI protegido por derechos de 'lL.: or
Sección 8-2 Nivel de transferenci a de registros en HDl 293
La se efectúa con un sumador bi nario paralelo: el incremento. con un contador; y el des-
plazamiento con un regi stro de despl;u.amiento. Los ti pos de operaciones que más comúnmen-
te se efectúan en los sistemas digitales pueden pertenecer a una de cuatro categorías:
1. Operaciones de transferencia que transfieren dalos de un registro a 01TO.
2. Operaciones ari tméticas que efectúan cálculos simples con los datos de los registros.
3. Operaciones de lógica que manipulan los bits de datos no numéricos en los regi stros.
4. Operaciones de desplazamiento que desplazan los datos en los regi stros.
La operación de transferencia no altera la información que se traslada del registro de origen al
de desti no. Los otros tres tipos modifican la información durante la transferencia. La notación de
trnnsfercncia de regi stros y los símbolos empleados para representar las diversas operaciones
de transferencia de regi stros no están estandarizados. Aquf usaremos dos tipos de notacio-
nes. La notación que presentamos en esta sección se usará informalmente para especifi car y
explicar sistemas digitales en el ni vel de transferencia de regi stros. En la sección que sigue
presentaremos los simbolos de RTL que se usan en Verilog HOL.
8-2 t:l IV EL DE TRANSFERENCIA DE REGISTROS
EN HDl
Los sistemas digitales se pueden describeni r en el nivel de tmnsferencia de registros con un len-
guaje de descripción de En Veri log HDL. las descripciones RTL ut ilizan una combi-
nación de construcciones de componamiento y de flujo de datos. Las transferencias de registro
se especifican con enunciados de asignación procedimental. Las funciones de circuitos combi-
nacionales se especifican con enunciados de asignación continua o procedimental. El símbolo em·
picado para designar una transferencia es el signo de igual o una flecha. La sincronización con
el reloj se logra utilizando un enunciado always cuyo control de sucesos es posedge o negedge.
Los ej empl os que siguen ilustran las formas en que se puede especificar una transferencia en
Veri log HDL:
a •• igu s:: A .. B;
al.ay. i (A or 8 )
S :: A .. 8;
al.ay. i c lock)
_in
AA '" AA + RE;
RO • AA;
onO
al •• y. i (Dagadga clockl
bagiD
AA <:: AA .. RB:
RO <:: AA;
on.
Asignación continua

Asignación procedimental (si n reloj)
Asignac ión procedimental bloqueador a
Asignac ión procedimental no bloqueadora
Se ut il izan asignaciones continuas para especificar ci rcuitos combinacionales. El enuncia-
do assign anterior describe un sumador binario con entrndas A y B Y salida S. El operando de
Mat 1"11 proJP.Qido 'lnr derer.hos df' :]l t.,r
294 Capítul o 8 Nivel de transferencia de registros
destino en un enunciado de asignación (S en este caso) no puede ser un regi stro. salidas de
circuitos se pueden transferir a un registro con unu asignación prfX:edi men-
tal con reloj. La asignación procedimental sin reloj del segundo ejemplo ilustra otra fonno de
espeeificar un circuito combinacional.
Hay dos clases de asignaciones proccdimentales: bloqueadoras y /10 bloqueadoras. Las dis-
tinguimos por los símbol os que usan. Las asignaciones bloqueadoras usan el símbolo (=) co-
mo operador de transferencia; y las no bloqueadoras. el símbolo «=). Los enunciados de
asignoción bloqueadores se ejecutan sucesivamente en el ordcn en que aparecen en el bloque
secuencial. Los enunciados no evalúan las expresiones del miembro derecho,
pero no efectúan la asignación al miembro izquierdo si no hasta que se han evaluado todas las
expresiones. Consideremos los dos ejemplos anteriores. En la procedimental blo-
queadora, el primer enunciado transfiere la suma a RA, mientras que el segundo tmnsfiere el
nuevo valor de RA a RD. Al final , RA y RD tienen el mismo valor. En la asignación procedi-
mental no bloqueadora. las dos operaciones se efectúan de forma concurrente. de modo que RD
recibe el valor original de RA.
Par.! garantizar la sincronía de las oper.!ciones en un di seno Rll., es preciso usur asignacio-
nes procedimentales no bloqueadoras para las variables que siguen a un enunciado always con
reloj. El objetivo es evitar cualquier posibi lidad de incongruencia funcional entre el modelo de
di seño y la descripción HDL. La asignación no bloqueadora que aparece en un enunciado al-
ways con reloj modela COfTCClamente el componamiento de un circuito secuencial sincronico.
Operadores de HDL
En la labia 8-1 se presentan los operodores de Verilog HOL que se emplean en el diseño RTL.
junto con sus sfmbolos. Los operadores de ariltmtica, lógica y desplazamiento son necesarios pa-
ra describir opemciones de transferencia de registros. Los operadores lógicos y relacionaJes son
út il es pW1l especificar condiciones de control. Las aritméticas se efectúan con nú-
meros binarios. Los números negativos se representan en complemento a dos. El operador de re-
siduo produce el residuo de la división de dos números. Por ejemplo. 14 % 3 da 2.
Hay dos tipos de operadores de lógica: bit por bit y de reducción. Los operadores bit por bit
(bit-wise) efectúan una operación lógica sucesivamente con los bits de dos operandos. Toman
cada uno de los bits de un operando y efectúan la oper.ICión con el bit correspondiente del
. operando. Los operadores de reducción efectúan la operación lógica con un solo operando.
Efectúan la operación bit por bit de derecha a izqui erda y producen un resultado de un solo bit.
Por ejemplo, la reducción NOR (- 1) produce O con el operando 00101 y I con el operando
00000. La negación no se usa como operador de reducci ón. En la tabla 4-9 de la sección
4-11 se presentan las tablas de verdad de los operadores bi t por bit.
Los operadores lógicos y relacionales pueden lomar variables o expresiones como operandos.
Básicamente. sirven para delcnni narcondiciones verdaderas o falsas. Su eval uación da I si la con-
dición es verdadera. y O si es falsa. Si la condición es ambigua. el resultado de su evaJuación es
x. Si el operando es un número, la evaluación da O si el número es igual a cero, y I si el número
es di stinto de cero. Por ejemplo, si A '= 1010 Y B = 0000. A se turna corno 1 (el número es dis-
timo de cero) y B se toma como O. Los resultados de otras operaciones con estos son:
A&&8 "'0
1\ [ [8=1
!I\ ;; O
lB .., 1
( 11. > 8 )=1
( A .. " 8) " O
Mat ríal protegido por derechos dfI :J.L'f')r
Sección 8-2 Nivel de transferencia de registros en HDl 295
Tabla 8-1
de Verilog HDL
npo de operador 51mbolo
Ari tml!tica
Lógica
(bit por bit
o
reducción)
De desphll..amiento
Relacionales
(


I

-

I

!
••
I I
»
«

I
>
<
••
!.
>.
<.
suma

multiplicación
divi sión
residuo
negación (compkmento)
ANO
OR
QR exclusivo (XQR)
negación
ANO
OR
desplazamiento a la derecha
desplazamiento a la izquierda
concatenación
Illayorque
mcnor que
igualdad
desigualdad
mayor o igual que
menor o igual que
Los opcrndores de desplazamiento desplazan un operundo vector a la derecha o a la izquier-
da cieno número de bits. Las posiciones de bit que quedan vacantes se llenan con ceros. Por
ejemplo, si R = 11010, el enunciado
R _ R»l;
desplaza R una posición a la derecha. El nuevo vaJor de R es 01101 . El operador de concate-
nación pennite juntar varios operandos. Puede servir paro. especificar un desplazamiento incl u-
yendo los bits que se transfieren en las posiciones vacantes, como se vio. Ya vimos esto en el
ejemplo HDL 6- 1 para el regi stro de desplazamiento.
Enunciados cíclicos
Veri log HOL tiene cuatro tipos de cicl os que penniten ejecutor repetidnmcnle enunciados pro-
cedimentales: repem, lorel>u, lI'hife y lor. Todos los enunciados cíclicos deben llpateCef den-
tro de un bloque initial o always.
296 Capft ulo 8 Nivel de transferencia de registros
El ciclo repeut ejecuta los enunciados correspondientes cier10 número de veces. Ya usamos
antes el ejempl o siguiente:
IIlltial
begln
004
c1ock:: l'bO:
repeat (16)
.5 c10ck :: - clock:
Esto produce ocho ciclos de reloj con un tiempl de ciclo de 10 unidades de tiempl.
El ci cl o forevcr hace que se ejecute cont inuamente el enunciado procedimental una y Olrol.
vez. Por ejemplo. el ciclo siguiente produce un reloj cominuo:
initial
begin
clock :: l 'bO ;
for.".r
• clock : - clock:
004
El ciclo whlle ejecuta un enunciado o bloque de enunciados una y otra vez en tanto una ex-
presi ón sea verdadera. Si la expresión es falsa inicialmente. el enunciado nunca se ejecuta. Es-
te ejemplo ilustra el uso del ciclo whil e:

iDteger count;
initial
begin
count " O;
while (count < 64)
count • count • 1;
onO
El valor de count se incrementa de O a 63. El cicl o lennina cuando el conteo llega a 64.
Al manejar enunciados dcl icos. a veces resulla conveniente usar un tipl de datos entero
para mani pular cantidades. Los enteros se declaran con la palabra clave Integer, como en el
ejemplo anteri or. Aunque es posible usar la palabra clave reg para declarar variables. si la va-
ri able se usará para contar es m.1s recomendable declararla como Inh.'gl'r. Las variables que se
declamn como reg se almncenan como números sin signo. Las que se declaran como Integcr
se al macenan como números con signo en formato de complemento a dos. La anchura por
omisión de un ent ero es de 32 bils.
El ciclo fur liene tres panes. sepamdas por signos de punto y cuma:
• Una condición inicial.
• Una expresión para veri ficar la condición de tennintlción.
• Una asignación para modificar la vari abl e de control.
Mal rnl protegido p?f derechos de ':lul')r
8-3
I
Sección 8-3 Máquinas de estados algorít micas 299
Descripción HOL
DiK'1Io
HCmlmi l:ntas Lista de
I
del diseno
válido
de síntesis la red
Simular Conjunto
Simulardiscl\o
disello RTL de pruebas
a nivel de
c:ompucn as
Resultado
Resultado
Bueno Bueno
"'''' "''''


Comparar P.lbricar
Notoincide Coincide el
FIGURA 8-1
Proceso de sImul ación y sínt esis en HOl
MÁQ UI NAS DE ES TADOS
-
AlGORITM I CAS
La información binaria almacenada en un sistema digiUl I se clasifica como datos o infomación
de control. Los datos son elementos di scretos de informaci ón que se manipul an para llevar a
cabo larcas de procesamiento de datos como aritmética. lógica. desplazamiento. etcétera. Es-
tas operaciones se implementan con componentes digitales como sumadores. decodificadores,
multipl exores. conladores y regi stros de desplazamiento. La información de control sumi ni s-
tra señales de mando que supervisan las diversas operaciones en la sección de datos para que
se efectúen las tareas de procesamiento deseadas. El diseño lógico de un sistema digital se di-
vide en dos panes bien definidas. Una se ocupa de diseñar los circuitos di gitales que efectúan
las operaciones de procesamiento de datos. La otra se ocupa de disel'lar los circuitos de con-
trol que detenninan el orden en que se efectuarán las diversas acciones.
La relación entre la lógica de control y el procesamiento de datos en un sistema di gital se
indica en la figura 8-2. La trayectoria de procesamiento de datos. ll runnda comúnmente trayecto-
ria datos, manipula datos en registros según los requisitos del sistema. La lógica de control
inicia el envío de una sucesión de órdenes a la trayectoria de datos. La 16gica de control util iza
condiciones de estado de la trayectori a de dat os como variables de decisión para determinar el
orden de las señales de control.
La 16gica de control que genera las señales que indican el orden de las operaciones en la trayec-
toria de datos es un ci rcuito secuencial cuyos estados internos determi nan las órdenes de con-
trol del sistema. En cualquier momento dado. el estado del control secuencial genera un conj unto
M' pro '"'Qido )Qr dl' l p.r, de "Ir

300 Capítulo 8 Nivel de t ransferencia de registros
,
(1l1raUJ
c\l"rnJ
,
FIGURA 8-2
Lóg<a
de oontrol
, ,

<1.:

Interacción del control y la trayectoria de datos
Trayectoria
de datos
l> "u., .k
",lid"
prescrito de órdenes. Dependiendo de condiciones de estado y otms entradas externas, el con-
trol secuencial pasa al sigui ente estado para iniciar otras operaciones. Los circui tos di gitales
que actúan como lógica de control suministron una secuencia temporal de sena les para ini ciar
operaciones en la trayectoria de datos, y también determinan el siguiente estado del sub-
sistema de control mi smo.
La secuencia de control y las tareas de 111 trayecotoria de dat os de un sistema digital se es-
pecificllll mediante un algoritmo en hardware. Un algoritmo es un número finito de pasos pro-
cedimentales que especifi can cómo resolver un problema. Un algoritmo en hardware e .... un
procedimiento para implementar la solución al problema con un equipo dado. La parte di -
Hcil y creativa del di seno di gital es la formul ación de al gori tmos en hardware para lograr los
objetivos deseados.
El diagrama de flujo es una fonna conveniente de especifi car la serie de pasos procedimen-
tales y trJ.ycctorias de decisión de un algoritmo. Un diagrama de flujo para un algori tmo en hard-
ware traduce el planteamiento en palabras en un diagrama de infonnación que enumera la serie
de operaciones. junto con las condi ciones necesarias para su ejecución. Un diagrama de flujo
especial que se creó específicamente para definir algoritmos digitales en hardware se llama
di agrama de máquina de eswdos lilgorftmica (ASM, aJgorit/tmic state machine). Máquillll de
estados es otro nombre para un circuito secuencial. que es la estructura básica de un sistema
digital.
El diagrnma ASM se parece a los di agrnmas de flujo convencionales. pero se interpreta de
fonna un tant o distinta. Los diagramas convencionales describen la sucesión de pasos proce-
dimentales y de decisión de un algoritmo en fonrua secuencial, sin lomar en cuenla
sus relaciones temporales. El diagrama ASM describe la serie de sucesos y también las rela-
ciones de temporización entre los estados de l control ador secuencial y los sucesos que tienen
lugar cuando pasa de un estado al siguiente. Está adaptado específicamente para describir con
exactitud la sucesión de control y las operaciones de trayectoria de datos de un sistema digi -
tal, tomando en consideración las restricciones del hardware digital.
Diagrama ASM
El diagrama ASM es un ti po especial de diagrama de flujo apropiado parn descri bir las opera-
ciones secuenci ales de un sistema di gitaL El diagrama se compone de tres elementos básicos:
el cuadro de estado. el cuadro de decisión y el cuadro condi cional. Un estado de la suce.<¡ión
de control se indica con un cuadro de estado. como se observa en la fi gura 8-3. La forma del
M' proJP.Qido Xlr df' 1"
I
FIGURA 8· )
Cuadro de estado
Sección 8· 3 Máquinas de est ados algorítmicas 301
Nombre
I
Código
binario
Operación de
registro O salida
a) Oe$cripción general
T,
R ~ O
INICIO
011
b) Ejemplo especifico
cuadro es rectangular. y en su interior se escriben operaciones de registros o nombres de seña-
les de salida que el control genera cuando está en ese estado. El estado recibe un nombre sim·
bólico. que se coloca en la esquina superior izquierda del cuadro. El código binario asignado
al estado se coloca en la esqui na superior derecha. La fi gura 8-3b) muestro un ejemplo espe-
cUico de cuadro de estado. El eslado tiene el nombre si mbólico T). y se le ha asignado el có-
digo binario 01 1. Dentro del cuadro se ha escrito la operación de registro R t- O. que indica que
el regislro R debe ponerse en ceros cuando el sistema está en el estado T). El nombre INICIO
dentro del cuadro podría indicar, por ejemplo, una señal de salida que inicia ciena operación.
El cuadro de decisión descri be el efecto de una entrada sobre el subsistema de control. Tie-
ne fonna de rombo con dos o más trayectorias de salida, como se aprecia en la figura 8-4. La
condición de entrada que se probará se escribe dentro del rombo. Se toma una trayectoria de
salida si la condición se cumple, y el otro cuando no se cumple. Si se asigna un valor binario
a una condición de entnlda, las dos trayectorias se marcan con I yO.
Los cuadros de estado y decisión son conocidos porque se usan en los diagramas de flujo
com'encionales. El lercer elemento, el cuadro condicional, es exclusivo de los diagramas ASM.
La fomla ovalnda del cuadro condicional se aprecia en la figura 8-5. Las esquinas redondea-
das 10 disti nguen del cuadro de eslado. La trayectoria de entrada al cuadro condicional debe
provenir de una de las trayectorias de salida de un cuadro de decisión. Las operaciones de re-
gistros o salidas que se lln()(an dentro del cuadro condicional se generan durante un estado dado.
n condición de que se sati sfaga la condición de entrada. La fi gura 8-5b) presenta un ejemplo
con cuadro condicionnl. El cOnlrol genera una señal de salida INICIO cuando está en el eSIa-
do TI' Mienlras está en ese estado. el conlrol verifica la sit uación de la entrada E. Si E "" 1, R
se pone en ceros; en caso contrario. R no cambia. En ambos casos. el siguiente estado es T
l
.
o
lhIy«coria de salida
FICURA 8-4
Cuadro de decisión
CondiciOn
I
Trayectoria de: salida
Mal nal protegido por derechos dfI aL'!')r
Sección 8-3 Máquinas de estados algorítmicas 303
001
"'z: 1
e
010
EF - Oi

e
FIGURA 8..7
Diagrama de estados equivlliente al diagrama ASM de la figura 8--6
define de forma úniCIl cada bloque a pllrtir de su estructura. Un cuadro de eSlIido sin cuadros
de decisión ni condicionales constituye un bloque simple.
Cadll bloque del di agrama ASM describe el esllido del sistema durante un intervalo de pul-
so de reloj. Las operaciones especificadas dentro de los cuadros de estado y condicionales de
la fi gura 8·6 se ejecutan con un pulso de reloj común mientras el sistema está en el estado TI.
El mi smo pulso de reloj transfi ere el controlador del sistemll a uno de los siguientes estados
- T
l
• T
l
o T,- según determinen los valores binarios de E y F.
El dillgramll ASM es muy similnr a un di agrama de estados. Cada cuadro de estado equiva-
le a un estado de un circuito secueocial. El cuadro de decisión equivaJe a la información bina-
ria que se escribe sobre las flechas que conectan dos estados de un diagrama de estados. Por
ello. hay ocasiones en que conviene convertir el diagrama ASM en un diagrama de estados y
luego usar procedimientos de circuitos secuenciales para di seilar la lógica de control. Para ilus-
trar esto. se ha dibujado el diagrama ASM de la figura 8-6 como diagrama de estados en la fi-
gura B-7. Los tres estados se indican con círculos, con su valor binario escrito adentro. Las
flechas indican las condi ciones que determinan el sigui ente estado. Las operaciones incondi -
cionales y condi cionlll es que deben efectuarse no se indican en el diagrama de estados.
Consideraciones de temporización
La tempori zación de todos los registros y flip--fl ops de un sistema digital se controla con un ge·
nerador de reloj maestro. Los pulsos de reloj se apl ican no sólo a los registros de la lrnyectoria
de datos. sino también a todos los flip-flops de la lógica de control. Las entradas también se
si ncronizan con el reloj porque normalmente se generan como salidas de otro circuito que usa
las mi smas sei'lales de reloj . Si la seilal de enlrnda cambi a en un momento arbitrario. indepen-
diente del reloj. deci mos que es una enlmda asincl"Ónica. Las entradas asincronicas pueden
causar di versos problemas. como se verá en el capitulo 9. Para simplificar el diseño. supondre-
mos que todas las entrndas están si ncronizadas con el reloj y cambian de estado en respuesta
a una transición de borde.
La principal diferencia entre un diagrama de flujo convencional y un diagrama ASM es la
interpretación de la relación temporal entre las diversas operaciones. Por ejempl o. si la figura
8-6 fuem un diagrama de flujo convencional, se considernrfa que las operaciones indicadas se
siguen una a la otra en orden temporal: primero se incrementa el regi stro A y Juego se evalúa
E. Si E = 1, el regi stro R se pone en ceros y el control pasa al estado T
4
• De 10 contrario.
si E = O. el siguiente paso es eVlll uar F y pasar al estado T
1
o al T
l
. En un diagrama
ASM considera a todo el bloque como una unidad. Todas las operaciones que se especifican
,
Sección 8·4 Ejemplo de diseño 305
Diagrama ASM
El diagrama ASM se reproduce en la figura 8·9. Cuando no se efectúan operaciones. el sistema
está en el estado inicial T (jo en espera de la señal de inicio S. Cuando la entruda S es l. el con-
tador A yel ni p.nop F se ponen en ceros y el controlador pasa ni estado TI_ Observe el cuadro
rondi cionnl que sigue ni cuadro de decisión de S. Esto implica que el conUldor y el mp-flop se
despejarán durante T
o
si S = 1, Y al mismo tiempo se transferirá el control al estado TI_
El bloque asociado al estado TI tiene dos cuadros de decisión y dos cuadros condicionales.
El contador se incrementa con cada pulso de reloj . Al mismo tiempo, se efectúa una de tres po-
sibles operaciones durante el mi smo borde de reloj :
E se despejo y el control pennancce en el estado TI (Al = O): o bien.
E se pone en I y el control permanece en el estado TI (Ay1. = 10); o
E se pone en 1 y el control pasa al estado T
l
"" 11 ).
T.
[j;, ... i'-'b
o/s)
"./
I


T,
r
"' +- ..4 + 1 I
o

I
v

G
o
I
T,
I

I
FIGURA 8·9
DIagrama ASM para el ejemplo de dIseño
Mal nal protegido por derechos dfI :J.L'f')r
306 Capítul o 8 Nivel de transferencia de registros
Cuando el control está en el estado T!. el flip-flop F se pone en 1 y el circuit o vuelve al esta-
do inicial. T o-
El diagrama ASM consta de tres estados y tres bloques. El bloque asociado a ro consiste en
el cuadro de estado. un cuadro de decisión y un cuadro condicional. El bloque asociado a T
2
consiste únicamente en el cuadro de estado. La lógica de control tiene una entrada externa, S.
y dos entradas de situación. A3 y A ...
Hemos mostrado aquí la Fonna en que una descripci ón textual de un di seño se traduce a un
diagrama ASM. Hay que tener presente que el ejemplo de diseño FomlUlado en el diagrama
ASM no ti ene una aplicación práctica y. dependiendo de la int erpretación, podría si mplifi car-
se y Fonnularse: de otro. manera. Sin embargo. una vel, cstabl ecido el dingrama ASM. el proce-
dimient o para di sennr el circuito es directo.
Secuencia de temporización
Cada bloque de un diagrama ASM cspecifica las operaciones que se efeclUarnn durante un pul-
so de reloj común. las operaciones especificadas dentro de los cuadros de estado y condicio-
nal es del bl oque se ejecutan en la subsección de Ir.tyectoria de datos. El cambio de un c.<¡ tado
al siguiente se eFectúa en la lógica de control. Para apreciar la relación de temporización que
interviene. numeraremos la sucesión de operaci ones que se efectúan después de cada pulso
de rel oj. desde el momento en que se presenta la señal de inicio hasta que el sistema vuelve al
estado ini cia!.
La tabla 8-2 indica los valores binarios del contador y los dos flip-fl ops de cada pul·
so de reloj. La tabla tambi én muestra. por separndo. la situación de Al y A •. así como el esta·
do actual del controlador. Ini ciamos con el estado TI inmedi atament e después de que la señal
de entrada S ha hecho que el contador y el flip-fl op F se pongan en ceros. Se supone que el va-
lor de E es l. porque E es I en r o (como se indica al final de la tabla) y porque E no cambia
durante la transición de T
o
a TI' El sistema pemlanece en el estado TI durunte los siguientes 13
pulsos de reloj . Cada pulso incrementa el contador y apaga o bien enciende E. Note la relación
entre el momento en que Al se vuelve I yel momcnt oen que Ese pone en l . Cuando A = 001 1.
el siguiente pulso de reloj increment a el contador a 01 OO. pero ese mi smo borde de reloj ve un
O en Al' asf que despeja E. El siguiente pulso cambia el contador de 0100 ti 0101. Y ahora Al
es inicialmente 1. asf que E se pone en 1. De Forma similar. E se pone en O no cuando la cuen-
ta pasa de 0111 a 1000. sino cuando pasa de 1000 a 100 1. que es cuando A] es O en el valor
actual del contador.
Cuando la cuenta llega a 1100. tanto A, como A .. son l . El siguiente borde de reloj incre-
menta A en l . pone E en I y transfiere el control al estado T
2
. El control pennanece en T
2
du-
rante un solo periodo de reloj. El borde de rcloj asociado a T
1
pone en I el fli p-flop P Y transfiere
el control al estado T o- El sistema pennanecerá en el estado inicial ro en tanto S sea O.
Al examinar la tabla 8-2. podría parecer que las operaciones que se efectúan sobre E se re-
tardan un pulso de reloj. Ésta es la diFerencia entre un diagrama ASM y un diagrama de flujo
com'endona!. Si la figura 8-9 Fuera un diagrama de nuj o convencional. supondríamos que pri-
mero se incrcmentaA y luego se usa el valor incrementado paro veri ficar la situación de A
j
• Las
operaciones que se eFectúan en el hardware digi tal especifi cado por un bloque del diagrama
ASM ti enen lugar durante el mismo ciclo de reloj y no como una sucesión de operaciones que
se eFectúan una otra en el tiempo. que es como suelen interpretarse los diagramas de nu-
jo convencionales. Asf pues. el valor de AJ que se considera en el cuadro de decisión se toma
del valor del contador en el estado actual. antes de incrementarse:. El moti vo es que el cuadro
Mat '11 pro <:Ir de '!L "Ir

Sección 8-4 Ej empl o de diseño 307
T.bl. &.2
$uuJ/6n de optrocionef paro el ejemplo de diseño
Contador FIlp-fIops
..
A,
A.
A, E F Condkfonu
b._
O O O O 1 O A)- O. A. - O T,
O O O 1 O O
O O 1 O O O
O O 1 1 O O
O 1 O O O O
AJ - - O
O 1 O 1 1 O
O 1 1 O 1 O
O 1 1 1 1 O
1 O O O 1 O "' 1 - 0, .04. - 1
1 O O 1 O O
1 O 1 O O O
1 O 1 1 O O
1 1 O O O O A) - I.A. - 1
1 1 O 1 1 O T,
1 1 O 1 1 1 T.
de decisión de E pertenece al mismo bloque que el estado TI' Los circuitos digitales dd con-
trol generan las senoJes para todas las operaciones especificadas en el bloque actual. antes de
la llegada del siguiente pulso de reloj . El siguiente borde de reloj ejecuta todas las operacio-
nes de los registros y nip-nops. incluidos los flip-nops del controlador que detenninan el si-
guiente estado.
Dlsefto de trayectoria s de dat os
El diagrama ASM proporciona loda la información necesaria para diseñar el sislema digital. Los
requisilos para el diseno de la trayectoria de dalos se especifican dentro de los cuadros de estado
y La lógi ca de control se determina a parti r de los cuadros de deci sión y de las
transiciones de estado requeridas. La fi gura 8-10 es un diagrnma que muestra el hardware para
el ejemplo de di seño. El subsistema de control se eJ; hibe sólo con sus entradas y salidas. El di·
seño detall odo del control se considerará más odelante. La uaycctorio de datos consiste en un
contador binario de cuatro bits. dos nip-flops y varias compueMaS. El contador es similar al que
se ilustra en la figura 6- 12. excepto que se requieren compuenas adi cionales pora la opernción
sincroni ca de despej e. El contador se incrementa con cada cic:1o de reloj cuando el control es·
lá en el estado TI. Sólo se despeja cuando el control está en el estado T
o
Y S es l . Esta opera-
ción condi cional requiere una compuerta ANO para garanliwr que ambas condiciones estén
presentes. La." otras dos operaciones condicionales utilizan otras dos compuertas ANO paro en-
cender o apagar el nip-flop E. El mp-flop F se enciende incondicionalmente durante el esta-
do T
2
. Todos los flip-f1ops y regi stros. inc:1uidos Jos nip-f1ops del control, usan el mismo reloj.
Mal 'JI prOiP.gido por df>1 "C"bnc. de 'Jl "Ir
308 Capítulo 8 Nivel de transferencia de registros
,
-l
nido
,
T,
T: I
A.
Coo,,'"
A, T,
Rdo;
,
F.
-
e
K
,
F
-j>C
- K
'"
A, A, A,
C ~ W
eL<
CQntador de 4 bilJ OX)II
Reloj
~ NnaÓl'iro
~ A
FIGURA 8-10
Trayectoria de datos del elemplo de diseño
Representación de transferencia de registros
Los sistemas digi tales se representan en el nh'el de transferencia de registros especifieando los
regi stros del sistema, las operaciones efectuadas y la sucesión de control. Las operaciones
de registro y la información de control se especifican con un di agrama ASM. Hay ocasiones en
que conviene separar la lógica de control y las operaciones de registros pam la trayectori a de
datos. La información de control y las operaciones de transfere nci a de registros se representan
por separado como se aprecia en la fi gura 8- 11 . El diagrama de estados especifica la sucesión
de control . y las operaciones de registros se especifican con la notación que se prese nta en la
secciÓn 8- 1. Esta representación es una alternati va a la representaciÓn del sistema descrita en
el diagrama ASM de la fi gura 8-9. la informaciÓn para el diagrama de estados se tomó di rec-
tamente del di agrama ASM. Los nombres de los estados se especi fi can en cada cuadro de es-
tado. Las condici ones que causan un cambio de estado se especifica n dentro de los cundros de
decisión rombicos. Las fl echas entre los estados y la condi ción asociada a cada una siguen la
mi sma trayectoria que en el di agrama ASM. Las operaciones de transferencia de registros pa-
ra cada uno de los tres estados se numeran después del nombre del estado y de un signo de dos
puntos (:). Se tomun de los cuadros de estado rectangulares y de los cuadros condi cional es
ovalados correspondi entes del di agr.una ASM.
Mar '11 pro '"'Qido por df>' ""hn<:. de '1L "Ir
310 Capítulo 8 Nivel de transferencia de registros
ya que no determinan el siguiente estado en este caso. Mientras el sistema está en el estado bi-
nario OO. el control proporciona una salida rot ulada T
o
que ini cia las operaciones de registros
requeridas. La transición desde el estado binario 0 1 depende de las entr-.ldas Al y El siste-
ma pasa al estado binario 1I sólo si = 11 : de lo contrari o. permanece en el estado bina-
rio DI. Por úllimo. el estado bi nario I I pasa a 00 independientemente de las variables ele entrnda.
Lógica de control
El procedimiento para diseñar un circuito secuencial a partir de una tabla de estados se presentó
en el capítulo 5. Si se aplica ese procedimiento a la tabla 8-3, se usar mapns de cinco
variables para simpl ificar las ecuaciones de entrada. El moti\'o es que aparecen cinco variables
bajo las columnas de estado actual y entrados de la tabla. En lugar de usar mapas para simplifi-
car las ecuaciones de entrada, podetnOli obtenerlas directamente de la tabla de estados por inspec-
ción. Si queremos diseñar el circuito secuencial con flip- flops D. habrá que estudiar las columnas
de si guiente estado de la tabla y deducir todas las condiciones que deben poner en I cada flip-
fl op. En la tabla 8-3 vemos que la columna de siguiente estado para G
I
tiene un solo I en la quin-
ta fila. La entrada D dd fli p-flop G
I
debe ser l dur-<lme el estado actual TI. cuando ambas entradas.
Al y A4' son también l. Esto se expresa con la ecuación de entrada de flip-flop O.
D OI = T1AlA4
Asimi smo. la col umna de siguiente estado de G
o
liene cuatro unos. y la condición para encen-
der este f1ip-flop es
Doo = ToS + TI
Para deduci r las tres funciones de salida. podemos aprovechar el hecho de que el estado bina-
rio 10 no se usa. )' obtener este conjunto simplificado de ecuaciones de salida:
T
o
= G
ó
TI = G¡G
o
T
1
= G
I
El diagrama lógico del control se ha dibujado en la figura 8-12. E.<¡ te circuito muestra la cons-
trucción inlerna del bloque de control de In figum 8- 10 jumo con la compuerta AND que ge-
nera la scñal Despejar-A.
8-5 DESCRIPCiÓN DEL EJEMPLO DE DISEÑO
EN HDL
En capítulos anteri ores. se han incluido ejemplos de descripciones HOL de circuitos combi na-
cionales. circuitos secuenciales y diversos componentes estándar como mult iplexores. coma-
dores y regi stros. Ya estamos en condiciones de incorporar estos componentes a una descripción
de un diseño eSpI;cífico. Como se mencionó antes. los diseños se pueden descri bir en un nivel
estructural o en un nivel de comportJlmiento. Las descripciones de comportamiento se efectúan
en el nivel de transferencia de registros o en un nivel algorítmico abstracto. Por tanto, ¡¡hora con-
sidemremos tres niveles de diseño: descri pción estructural. descripción RTL y descripción de
comportamiento basada en algori tmos.
La descripción estmctllral es el nivel más bajo)' más detallado. El sistema di gital se espe-
cifica en términos de los componentes físicos y de su interconc;¡:ión. Los diversos componen-
Mal I I proJP.gido 'lnr df':]l t"r
s
A,
A.
Sección 8-5 Descripción del ejemplo de diseño en HDL 3' 1
G,
-J
D
e
T,
,
T,
,
D
G,
T,
e
CJ.K el,
FIGURA 8-12
Diagrama lógico de control
.
tes podñan incluir compucnas. mp-flops y circuitos eslándar. como multiplexores y contadores.
El diseno se descompone jerárquicamente en uni dades funcionales. cada una de las cuales se
describe con un módul o HDL. Un módul o en el ni\'cl más alto combina lodo el sistema crean-
dr ejemplares de lodos los módul os de nivel inferior.
la descripción RTL especifica el sistema digi tal en términos de los registros. las operacio-
nes efect uados y el control que ordena las operaciones, Este tipo de descripción consiste en enun-
ciados procedimentales que delerminan la relación entre las diversas oper'.lciones del diseño.
sin referirlas a una estructura específi ca. La descripción RTL implica cierta configuración de
hardware enlre los registros. Esto permite al disenador crear un diseno que puede lIi nteli zurse
para dar componentes di gitales estándar.
La descripci ón de. comportamie.nto basada en algoritmos es el ni vel más obstracto. Descri-
be la función del diseño en una forma al gorltmica procedimental parecido a los lenguajes de
ph,gramación. No da los pormenores de la implementación del diseno con hardware. Es la
más apropiada para si mular sistemas complejos con el fin de verificar las de diseño. Las
descripciones en este nivel son accesibles para usuarios no técni cos que saben de lenguajes de
programación. Algunas de las construcciones en este nh'el podrían no ser sinteti7.ables.
A continuación il usunremos las descripciones R11... y estructural uti li zando el ejemplo de dise-
no de la sección anterior. En la sección 8-8 se ilustrará una descripción en algori tmos.
Mar 'JI prOiP.gido 0f de '1U ':Ir
312 Capítulo 8 Nivel de transferencia de registros
Descripción RTL
La descripci ón HDL de un di seño RTL se di vide en tres secciones. La primera sección defi ne
las entradas, salidas y regi stros del di seño. La segunda sección especifica la sucesión de con-
trol. La tercera sección proporciona las operaciones de transferencia de regi stros y las salidas.
La descripci ón RTL del ejemplo de diseño se muestra en el ejemplo HDL 8-2. Se ajusta al dia-
grama ASM de la figura 8-9 y a las especificaciones de transferencia de regi stros de la fi gura
8- 11 . Las entradas son S (ini cio), CLK (reloj ) y Clr (despejar). Esta última es necesaria para
asignar TO como estado inicial del control. Las salidas son los flip-nops E y F Y et regi stro A.
El registro de control se especifica con un vector de dos bits que contiene el valor act ual de las
condi ciones de estado actual y siguient e estado. Los tres estados de control reciben nombres
simbóli cos y se codifican con valores binarios.
La siguiente sección de la descripción RTL especi.fica la sucesión de control con dos enun-
ciados always. El pri mer bloque always incluye dos operaciones: la entrada Clr inicia el esta-
do actual con TO, y CLK posedge si ncroniza la transición de estado con el reloj. El segundo
bloque always consiste en una condición case que especifica la transición del estado actual al
siguiente estado. Por ejemplo, si el estado actual es TO y S = 1, el sigui ente estado será TI . Si
S = O, el estado TO no cambi ará. El cambi o de TO a TI (si S = 1) sólo se efectúa cuando se
presenta el suceso de borde positivo de CLK, como especifica el pri mer enunciado always.
La tercera sección de la descripción RTL especifi ca las operaciones de transferencia de re-
gistros en cada uno de los tres estados de control. Esto sigue las operaciones de transferencia
de registros que se dan en la figura 8- 11 b). Advierta que se emplean asignaciones no bloquea-
doras (con el símbolo <=) para las operaciones de transferencia de regi stros. Esto es crucial so-
bre lodo durante el estado de control TI . En esle estado, A se incrementa en uno y se verifica
el valorde A!31 para detenninar la situación de E. Si se qui ere lograr un diseño sincronico vá-
lido, es preciso asegurarse de que A13] se veri fi que antes de incrementarse A. Si se usaran asig-
naci ones bloqueador<lS, seria necesari o colocar primero los dos enunciados que veri fi can E y
colocar al fi nal el enunciado que incrementa A. En cambio, al usar asignaciones no bl oquea-
doras, logramos la sincronización requerida sin preocupamos por el orden de los enunciados.
Prueba de la descripción de diseno
La sucesión de operaciones para el ejemplo de diseño se investi gó en la sección anterior. La
labia 8-2 muestra los valores de E y F mientras se incrementa el regi stro A. Seria interesante
idear una prueba para el circuito que verifique la validez de la descripción HDL. El conjunto
de del ejemplo HDL 8-3 se encarga de ell o. (El procedi miento para conj unlos de
pruebas se explicó en la sección 4-11.) El módul o de prueba genero señales para S. CLK y
elr, y verifica los resultados obtenidos de los regislrOs A, E y F. En un principio, la señal e/r
se pone en O para iniciar el control, y S Y CLK se ponen en O. En cltiempo I == 5, la señal Clr se
inhabilita poniéndola en l . la entrada S se habilita poniéndola en 1, Y el rel oj se repite duran·
te 16 ciclos. El enunciado $monltor exhibe los valores de A, E Y F cada 10 ns. La salida de la
simulación se presenta en el ejempl o bajo el titulo "Simulati on log" (bitácora de simulación).
En un principio (tiempo "" O). los valores de los se desconocen. asl que se marcan con
el simbolo x. La primera transición positiva del rel oj en ti empo = 10 despeja A y F. pero no
afecta a E, de modo que E se desconoce en este momento. El resto de la tabla es idéntico a la
tabla 8-2. Vemos que. puestO que S sigue siendo I en tiempo = 160, la última entrada de la ta-
bl a muestra que A y F se ponen en O y E no enmbia. pennaneciendo en 1. Esto sucede duran-
te la segunda transición de TO a TI .
M' mi protegido por deroct]o de "Ir
Sección 8· 5 Descripción de l ejempl o de diseño en HDl 313
Ejemplo HDL 8·2
II Descripción RTL del e j emplo de diseno (figura 8-11)
module Examp1e_RTL (S,CLK,Clr,E,F,A);
II Especificar entradas y salidas
/IVéase el diagrama de bloques de la figura 8-10
input S,CLK,Clr;
output E, F;
output [4: 1J A;
II Especi fi car registros
reg (4 :1 ) A;
reg E, F ;
del sistema
l/ Registro A
II Flip-flops E Y P
r.o 11: 0] pstate, nstate; l/ Registro de control
l / Codificar los estados
paraaet.r TO '" 2'bOO, TI '" 2'b01, T2 '" 2'b11;
IITransición de estado pa.ra la lógica de control
l/Véase el diagrama de estados de la figura 8-11a)
al •• y. i(po.e4g. CLK or nage4g. ClrJ
it (-Clr ) pstate sTO; II Estado inicial
.1 •• pstate <z nstate; l/Operaciones con reloj
.l-.y. i (5 or A or patate)
c ••• (patate)
TO: it (S) nstate ~ Tl; .1 •• nstate .. TO;
TI: it (A!3) & A!4jl nstate s T2; .1 •• nstate .. T1;
T2: nstate '" TO;
.ndca ••
//Operaciones de transferencia de registros
IIVéase la lista de operaciones, f ioura 8-1 lb)
al •• y. i(po.e4g. CLK)
c ••• (pstate)
TO: it' (S)
TI:
_in
A <'" 4'bOOOO;
F <'" l'bO;
004
_in
A <= A ... l'b1;
it' (A!3 ] ) E <'" l'b1;
.1 •• E <- l'bO;
004
T2 : F <a l'bl,
ende •••
Mar rF1) protegido po?r derechos de '1U ':Ir
314 Capítulo 8 Nivel de transferencia de registros
Ejemplo HOL 8-3
l/ conjunto de pruebas para el ejemplo de disefto
.adule test_design_example;
reg S, CLK, Clr:
vire (4:1] A;
vire E, F¡
l/ Crear ejemplar del ejemplo de diseno
Example-RTL dsexp (S,CLK,Clr,E,F,A)¡
initiel
_ln
elr - O'
- .
s " O;
CLK " O;
'S Clr " 1; S " 1;
repe.t (32)
:tllgin
...
initial
.5 CLK '" - CLK;
.nO
'.,nitor {"A" \b E" \b F s \b time" tOdo, A,E,F, $tiDe ) ;
Simulation loq:
A

~ E

x F

x time • O
A

0000 E

x F

O time

10
A

0001 E

O F

O
'1me •
20
A

0010 E • O F • O time • 30
A • 00 11 E • O F

O ,lme

40
A
-
0100 E

O F

O t ime

SO
A • 0101 E • 1 F • O time

60
A

0110 E

1 F
• O t.ime

10
A

0111 E

1 F

O time • 80
A

1000 E

1 F

O t.ime

90
A

1001 E • O F

O t.ime • 100
A • 1010 E

O F • O time

110
A

1011 E

O F

O t i me

120
A

1100 E • O F

O time

130
A • 1101 E • 1 F • O time • 140
A

1101 E

1 F

1 time

lSO
A

0000 E

1 F

O time

160
M fI 31 protegido por derecho" de u ':Ir
316 Capítulo 8 Nivel de transferencia de registros
Ejemplo HDL 8-4
// Descripci6n estructurol del ejemplo de disefto
l/Ver diograma de bloques, figura 8-10
..-..sule Exomple_Structure (S,CLK,Clr,E,F,Al ,
input S,CLK,Clr;
output E. F;
output [4:lJ A:
l/Crear un ejemplar del circuito de control
control ctl (S,A!3] . A[41,CLK,Clr,T2.Tl.Clear),
l/Crear un ejemplar de los flip-flops E y F
E_F EF (Tl,T2.Clear,CLK, A[3] ,E.F) ,
l/Crear un ejemplar del contador
counter ctr (Tl, Clear .CLK.A),
en"-odule
l / Circuito de cont r ol (figura 8- 12)
~ u l e control (Start ,A3,A4.CLK.Clr.T2,Tl,Clear);
input Start. A3,A4 .CLK.Clr:
output T2,Tl.Clear,
vire Gl,GO,DGl,DGO;
l/Ci rcuito combinacional
a •• ign DGl ~ A3 " A4 " TI,
DGO =, (Start & -GOl I TI.
T2 • Gl.
TI .. GO " -Gl.
Clear ~ St art " -GO,
l/Crear un ejemplar del flip-flop O
OFF GIF (Gl.DGI. CLK. Cl r ).
GOF (GO.DGO.CLK.Clr):
// Flip-flop O
n=4ule OFF (Q.O.CLK,Clr),
input O,CLK,Clr;
output Q;
reg Q;
alvay. i (po.ec1ge CLK or negedge Clr)
it (-Clr) Q '" l'bO;
el.e Q '"' O;
en"-odule
// Flip-flops E Y F
ncdule EJ (Tl.T2.Clear.CLK .... 3,E.F);
input Tl,T2.Cleor,CLK,A3;
output E,F:
vire E.F,JE.KE,JF,KF;
(comimía)
M flll protegido por de! ocf'Jo<:, de ~ "Ir
Sección 8·6 Multiplicador binario 317
I ICirc uito combi nacional
•• dgll JE = TI , A3,
RE = TI , - A3 ,
J F =T2, '
KF .. Clear;
IICr ear un ejemplar del flip-fl op JK
JRFF EF (E, JE,KE,CLK),
FF (F,JF,KF,CLK) ;
II Flip-flop JK
....... ule JKFF (Q,J ,K,CLKI;
input J,K,CLK;
output Q;
r-v QI
a1.aya i (po.e4g. CLKI
c ••• ({J,K})
2' b OO : Q = Q;
2 ' b Ol: Q

l' b O:
2'blO: Q

l' b l:
2'bll: Q

-Q;
.ndea ••
• n.'+o4u1.
IIContador con d espeje si ncrónico
-odu1. c ount er (Count,Clea r, CLK,Al;
input Count,Cl ear ,CLK;
output 14:11 A;
r-v ( 4:1 1 A;
.l.aya i (po •• 6;. CLKI
if (Clear ) A<= 4 'bOOOO;
.1 •• if (Coun t ) A <= A + l'bl;
.1 •• A<=1\;
.",'+>dul.
La descripci ón estructural se probó con el conj unto de' pruebas del ejemplo 8-3, El único cam·
bio necesario es sustituir la creación del ejempl ar de Exampl e-.RTL a Example_Structure, El
resultado de la simulación para In descripción estructural es igunl a lo simulación de salida que
se obtuvo de la descripci ón RTL.
8-6 MULTIPLICADOR BINARIO
En esln sección se present a un segundo ejemplo de diseí'lo. Se presenta un al gori tmo en hard·
ware para la multiplicaci ón bi naria, se propone la confi guración de registros para su imple,
mentación y luego se muestra el disei\o del camino de datos y el control con un diagrumn ASM.
Mar 'JI prOiP.gido por df>1 "C"bnc. de '1U ':Ir
318 Capítulo 8 Nivel de transferencia de registros
El sistema que examinaremos multiplica dos números binarios sin signo. En la SlXción 4.(i de-
sarrollamos un algoritmo en hardware JXlr.l ejecutar la multiplicación, que produjo un circui-
10 combinacional multiplicador con muchos sumadores y compuenas ANO. En eSla sección,
en cambio, el algoritmo en hardware producirá un multipl icador secuencial que sólo uti li7.a un
sunwdor y un regi stro de desplazamiento.
La multiplicación de dos números binarios se efectúa con lápiz y papel cfectuando sumas
y desplazamientos sucesivos. La mejor forma de explicar este proceso es con un ejemplo nu-
mérico. Mult ipliquemos los dos números binarios 10111 y 10011:
23
19
-
437
10111
10011
10 II I
101 I I
00000
00000
10111
1101 10101
muhipli cando
multiplicador
producto
El proceso consiste en exami nar bits sucesivos del multiplicador. comenzando por el menos sig-
nificari vo. Si el bit del mult ipl icador es l. el nlUltipli cando se copia abajo: si no, se copian ce-
ros. Los números copiados en lineas sucesivas se desplazan una posición a In izquierda
al número anterior. Por últ imo. los números se suman y su suma forma el producto. El produc-
10 oblenido de la multipl icación de dos números binarios de n cada uno puede tener hasta
2n bits.
Cuando el procedimiento de multiplicación se implementa con hardware digital. conviene
modifi car un poco el proceso. En primer Jugar. en vez de incluir circuitos digitales pal1l alma-
cenar y sumar simultáneamente tantos números binarios como unos haya en el multiplicador,
resulta menos costoso incluir circuitos para sumar sólo dos números binarios y acumular su-
cesivamente los productos parciales en un registro. En segundo lugar. en lugar de desplazar el
multiplicando a la izquierda, el producto parcial que se está fonnando se desplaza a la dere-
cha. Esto deja al producto parcial y al multi pl icando en las posiciones relalivas requeridas. En
tercer lugar. si el bit correspondiente del multiplicador es O, no es necesario sumar ceros al
producto parcial. ya que esto no a1ter.trá su valor.
Confl guraclón de registros
En la fi gurn 8-13 se observa f:1 diagl1lma de bloques del multiplicador binario. El mult ipli can-
do se guarda en el registro B, el mul tiplicador se guardu en el registro Q, y el. producto parcial
se forma en el regi stro A y se guarda en A y Q. Un sumador parnlelo suma el contenido de los
r.egislrOS B y A. El fl ip-flop C almacena el acarreo después de la sunw. El contador P se ajus-
ta de modo que inicia1mente contenga un número binario igual al número de bits del multipli-
cador. Este contador se decrementa después de fonnarse cada producto parcial. Cuando el
contenido del contador ll ega a cero, se fonna el producto en el registro dobl e AQ y el proceso
tennina. La lógica de control pennanece en un estado inicial hasta que la señal de inicio S cam-
bia a l. Entonces. el siSlema efectúa la multiplicación. La suma de A y B fonna los " bi ts más
signi ficntivos del producto parcial, que se transfiere a A. El acarreo de salida de la suma (C
loIlklo
),
sea O o 1, se transfiere a C. Tanto el producto parcial que está en A como el multiplicador que
Mat 'JI pro <:Ir dE' 'Jl
Sección &-6 Multiplicador binario 319
Mulhphc.I1IJu
Ver si
Z
Registro 8
es cero
Lógica
'"
Q,
oonlrol
Contador P
e .....
I
Sumador paralelo
S

(inicio)
Mul tiplicador
o e RegimoA Registro Q
¡'HlJUC'tO
FIGURA 8-13

Diagrama de bloques del multipli cador binario
está en Q se desplazan a la derecha. El bi t menos significativo de A se desplaza a la posición
más significativa de Q: el acarreo de e se desplaza a la posición más significativa de A; Y se
desplaza ° a C. Después de la operación de de.'¡plazumiento a la derecha. un bit del producto
parcial se Inlnsfiere a Q mientras los bits del multiplicador que están en Q se desplazan una po-
sición a la derechn. De este modo. el bit menos significntivo del registro Q. Qo. contiene el bit
del multiplicador que es preciso examinar a cont inuación. La lÓgica de control determina si de-
be sumar o no, con base en este bit de entrada. La lógica de control también recibe la sei'lal Z
de un circuito que verifica si el contador P ha llegado a cero o no. Qo y Z son entradas de es·
tado de la unidad de control. La entrada de inicio S es una entrada de control externa. Las sa-
lidas de la lógica de control activan las operaciones requeridas en los registros.
Diagrama ASM
El diagrama ASM para el multiplicador binario se muestra en la figura 8- 14. En un principio.
el multiplicando está en B y el multiplicador está en Q. En tanto el circuito esté en el estado
inicial 'i S = O, no se efectuará ninguna acción y el sistema permanecerá en el estado inicial
To- El proceso de multiplicación inicia cuando S -= I 'i el control pasa al estado TI ' El regis-
tro A yel flip-fl op de acarreo C se ponen en ceros y el contador sucesivo P se ajusta a un nú·
mero binario n, igual al número de bits del multiplicador. Luego el sistema pasa al estado T
2

Se examina el bit del multiplicador que está en Qo y. si es 1. el multiplicando que está en B se
suma al producto parcial que esLi en A. El acarreo de la suma se transfiere a C. Si Qo :: O, no
se modifican ni el producto parcial en A ni C. El contador P se decrementa en 1, sea cua) sea
el valor de Qo- En ambos casos, el siguiente estado es T
J
. Los registros e, A y Q se combi nan
en un regi stro compuesto CAQ, 'i su contenido se desplaza una posición a la derecha para
obtener un nuevo producto parcial. Esta operación de desplazamiento a la derecha (shift riglll ,
en ingl&) se indica en el diagrama de forma compacta con el enunciado
sbr CAQ, C +- O
M rt al pr01eQido por dfl ''''"Ir
320 Capítulo 8 Nivel de t ransferencia de registros
T,
Estado inicial
O

T,
I


PH
T,
P ..... P - I
O
/,.'
I .
,Q,/
A +- A + 8, C +- C
Mlida
I
T,
shr CAQ, e +- o
O
/z"
I
V
FIGURA 8-14
Diagrama ASM para el multiplicador blnartp
Uti lizando sfmbolos de registros individuales, la operaciÓn se describe con las operaciones de
registros siguiente.c;;
A +- +- e
Q +- shr Q, +- Ao
C<-O
Ambos registros. A y Q. se desplazan a la derecha. El bit de la extrema izquierda de A. designa·
do por recibe el acarreo de C. El bit de la extrema i7.quierda de Q. Q,, _/. recibe el bit de
la posición extrema den:cha de A. en Ao; Y e se restablece a O. En esencia. se trata de un despla·
7.amiento largo del registro compuesto CAQ. insenando O en lu entrada en serie. que está en C.
Mal '11 prOiP.gido 0f de '!L ':Ir
322 Capítulo 8 Nivel de transferencia de registros

s- ,
a) Diagrama de estados
To: Estado inicial
T
t
: A +- o. e +- o. P +- n
Ti- dC5plaxar I la deredlll CAQ. e +- o
b) Operaciones de transrerencia de registros
FIGURA 8-15
Especificaciones de control para el multiplicador binario
z - ,
cia!. Los rombos que denotan cuadros de decisión detenninan las condiciones para la transi-
ción al siguiente estado del diagrama de estados. En la figura 8- 15 se presenta. como ejemplo.
el diagrnma de estados de control para el mulliplicador binario desarroll ado en la sección an-
tcrior. La infonnación paro el diagrama se tomó di rectamente del diagrama ASM de la figurd
8-14. Los cuatro estados. T
o
a T]. se loman de los cuadros de estado rectangulares. cntra-
das S y Z se loman de los cuadros de decisión rómbicos. Las operaciones de transferencia de
registros para cada uno de los cuatro estados se dan abajo del di agrama de estados. Se loma-
ron de los cuadros de estado y condicionales correspondientes del diagrama ASM.
Hay dos tareas di stintas que debemos efectuar al implementar la lógica de control: eSlable-
cer la sucesión requeri da de estados y generar señales que controlen las operaciones de regis-
tros. La sucesión de estados se esp«:ifica en el diagrama de esludos. Las señales para controlar
las operaciones en los regi stros se especifican en los enunciados de transferencia de regislr05.
En el caso del mult iplicador. dichas señales son TI (para despejar A y e y cargar un número en
P). T
1
(para decrementar P). T) (]xtra desplazar el registro CAQ) y Qo pam detenni ntlr si B se
suma ti A o no. El diagrama de bloques del control se reproduce en In figura 8- 16. Lns ent m-
das para el control secuencial son S y Z. y las salidus. T (lo TI' T
z
• T
3
• como c.'ipccifica el diagra-
ma de estados. La compuerto. ANO que genera la señal L = se nccesim parn cargar la suma
en el registro A si Qo = I estando en el T
1
.

protegido por derechos de 'JI..: or
l
S
Q.
fiGURA 8-16
Lóg""
de: control
Diagrama de bloques del control
Sección 8-7 Lógica de control 323
T.
T,
L
T,
T,
-
Un paso imponante del di seilo es la asignación de valores binari os codificados a los esta-
dos. La asignación más senci ll a es la sucesión binaria directa que aparece en la tabla 8-5. Otra
asignación similar es el código Gray. en el que sólo un bit cambia al pasar de un número al si-
guiente. Una asignación de estados que se usa mucho en diseilos de control es la asignación
de llll solo lino. Esta asignación utililll: tantos bits como estados hay en el circuito. En cualquier
momento dado. sólo un bit es 1, mientras todos los demás se mantienen en O. Este ti po de asig-
nación usa un nip-nop para cada estado.
Tabla 3-5
Asignación d4! tstodos poro el control
....... 81n.no Código Gra)' Un solo uno
T. 00 00 0001
T, 01 01 0010
T, 10
"
0100
r,
"
10 1000
Puesto que el control es un circuito secuencial, podemos discilarlo siguiendo el procedi-
miento de lógica secuencial delineado en el capítulo 5. Sin embargo, en la mayorfa de los
casos este método no resulta práctico debido al gran número de estados y entradas que puede
tener un circuito de control típico. Por ello. es necesario utilizar métodos especializados para
diseilar lógica de control. los cual es podrían considernrse variaciones del método de lógica se-
cuencial clásico. A continuación se presentan dos de esos procedimientos de diseilo. Uno em-
plea un regi stro de secuencia y un decodificador: el otro usa un nip-nop por estado.
Registro de secuencia y decodificador
El método de regi stro de secuencia y decodifi cador. como su nombre implica. utiliza un regi s-
tro para los estados de control y un decodificador para generar una salida a ca-
da uno de los estados. Un regi stro con n flip-flops puede tener hasta estados. y un
decodifi cador de 11 a 2" lfneas liene hasta 2
8
salidas. Un regi stro de secuencia de n bits es. en
esencia. un circuito con n flip-flops y las compuenas asociadas que efectúan su transición
de estado.
El diagrama de estados de control paro! el multiplicador binario tiene cuatro estados y dos
entradas. Para implementarlo con un regi stro de secuencia y un decodificador. necesitamos
s
z
L¡-

Sección 8-7 l 6gica de control 325
D
e, o r,
o """".
,.
r,
-t e
flCldor I
dc 2X 4
2 r,
e,
I
3
r,
-L
D
-t e
Reloj
FIGURA 8·17
Diagrama lógico del control para el multiplicador binario empleando un registro
de secuencia y un decodificador
Al deducir ecuaciones de entrada por inspección de la tabla de estados. no podemos tener la
oene7..!l de que las ecuaciones booleanas se han simpl ificado de manera óptima. Por ello, es acon-
sejable analizar el circuito para veri fi car que las ecuaciones deducidas realmente prOOu7.can las
transiciones de estado deseadas.
El diagrama lógico del circuito de control se ha dibujado en In figura 8-17. Consisle en un
registro con dos flip-flops, 0
1
y 0 0. Y un decodificador 2 X 4. Las salidas del decodificador
se utilizan para generar las entradas de la lógica de siguienle estudo. asf como las salidas de con·
trol. Las salidas del controlador deben conectarse a In trayectoria de datos para act ivar las ope-
rociones de regi stros requeridas.
Un fllp-flop por estado
Otro posible método para disei\ar la lógica de control es uti lizar In asignación de un solo uno
que produce un circuito secucncial con un flip-flop por eSlndo. Sólo uno de los fl ip-flops con·
tiene un 1 en cualquier momento dado; todos los demás se restablecen a O. El 1 se propaga de
un flip-flop a otro bajo el control de la lógica de decisión. En una configuración asf. cada flip-
flop representa un estado que sólo csll1 presente cuando el bit de control se transfiere a él.
Este método utili za el número máximo de fli p-nops para el circuito secuenci al. Por ejem-
plo, un circuito secuencial con 12 estados requiere por lo menos cuatro flip-flops. Si se utili -
za el método de un flip-nop por estado, el circuito requerirá 12 flip-flops. uno para cada estado.
A primera vista. podría parecer que este método aumenta el costo del sistema porque se usan
Mat 1"11 proJP.Qido por df' :JL'I"lr
328 Capítulo 8 Nivel de transferencia de registros
Ejemplo HOL 8-S
II Descripción RTL del multiplicador binario
l/ correspondiente al diagrama de bloques de la figura 8- 13 y al diagrama
//ASM de la figura 8-14
//n_S para comparar con tabla 8-4
.adula mltp(S,CLK,Clr,Sinput,Oinput,C,A,O,P);
input S,CLK,C1r:
input [ 4:0) Sinput,Qinput; II Entradas de datos
output C;
output [4:0J A,O;
outpu.t [2 : 0] P;
II Registros del sistema
reg C;
reg [4: 0] A,O,S;
rag [2:0J P:
rao [1: 0] pstate, ns tate; Il registro de contr ol
par ... tar TO=2'bnO, TI_2'bOI, T2=2'b10,
IICircuito combinacional
"lre Z;
a •• ilfD Z = -I p; /IVer si es cero
l/ Transición de estado para control
IIVer diagrama de estados figura 8-15a )
alway. i(n.gadg. CLK oc n.ge4ga Clr)
ir (-Cl r) pstate _ TO;
.1 •• pstate <= nstate;
alway. i(S or Z or ps tata J
ca •• {pata te)
TO: H ISI nstate • T1 ;
TI: nstata

T2 :
T2 : nstate • T3 ;
T): H
IZI
nstate

TO'

.1 •• nstate

T2 ;
an4ca ••
.1 •• nstate

TO;
l/ Operaciones de transferencia de registros
IIVer operación de registros figura 8-lSbl
alwaya i( a.gadga CLK)
c.a. Ipstatel
TO: B <_ Blnput;
Tl: bagla
A ca S 'bOOOOO;
C <'" 1 'bO;
P < _ 3' b10l;
O <= Oinput;
...
T2: bagla
p <_ P - 3'bOOl:
1f 10[0])
(C,A) <_ A • S:
...
T3: bagia
C <= l'bO;
A <_ IC, A( 4:1 J);
O ca {AIO].014:l11¡
.".
aMc •• a
an·' ">dula
II Introducir multiplicando
II Iniciar contador en n=5
// Introducir multiplicador
//Decrementar contador
multipl icando
IIDespejar C
A a la derecha
l/ Desplazar O a la derecha
Mar fI'll protegido por derecho" de 'lU ':Ir
Sección 8-9 Diseño con multiplexores 329
Prueba del multiplicador
El ejemplo HDL 8-6 constituye un conj unlo de pruebas para probar el multiplicador. Las en-
tradas son el multiplicando y el multiplicador que están en B y en Q. La salida es el producto
que queda en A y Q. También "erificamos los contadores del acarreo e y el contador P. Las
enlrodas binarias de cinco bi ts son I a . ~ mi smas que se utili zaron en la tabla 8-4. El segundo
enunciado initial genero 13 ciclos de reloj de 10 unidades de tiempo cada uno. Una inspección
de las transiciones de estados revela que los estados n y n se suceden dc1icamente ci nco ve-
ces (una vez por cada producto parcial). Esto requiere 10 ciclos de reloj. Se necesitan otros tres
ciclos de reloj paro ro. TI y el regreso a ro cuando Z = l .
El resultado del cálculo se exhibe con la tarea del sistema Sstrobe. Esta tarea es simil ar a las
tareas $display y Smonitor que se explicaron en la sección 4-) ). La tarea Sstrobe ofrece un me-
c.mismo de sincronización que garantiza que los datos se exhibirán únicamenle después de ha-
berse ejecutado todas las asignaciones de un incremenlo de tiempo dado. Esto es muy útil en los
circuitos secuenciales sincrónicos en los que el incremento de tiempo inicia en un borde de re-
loj. El uso de $strobe después del enunciado al",ays @ negcdge CLK garantiza que se exhi bi-
rán los valores de las señales tal como existen después de una transición negativ:J. del reloj.
El módulo tescmltp del ejemplo HDL 8-6 crea un ejemplar del módulo mltp del ejempl o
HOL 8-5. Ambos módulos deben incl uirse al simular el multiplicador con un simulador Veri -
log HDL. El resultado de esta simulación exhibe una bitácora de simulación con números idén-
ticos a los dI! In labln 8-4.
Descripción del comportamiento del multiplicador
El multiplicador binario se describe en el nivel de componamienlo, como se indica en el ejem-
pl o H DL 8-7. Las dos entradas se declaran como vectores de ocho bits, y la salida, como uno
de 16 bits. No hay implfcilo un hardware especffi co. como en las descripciones RTL o estruc-
turol. El funcionamiento se especifica con un solo enunciado de multiplicación. En este caso.
la descripción podría sintetizarse para dar un circuito combinacional multiplicador (véase la
sección 4-6) si el software de síntesis asf se di sei'ió. En general, las descri pciones de compor-
tamiento basadas en algoritmos no siempre son sintetizables.
8-9 DI SEÑO CON MU l TlPlEXORES
El control de registro de secuencia y decodificador consta de tres componentes: los mp-flops que
contienen el valor binario del estado. el decodificador que genero las salidas de control y las com-
puer1as que detenninan las seí'lales de siguiente estado y de salida. En la sección 4-10 demoslra-
mos que es posible implementar un circuitocombinaciooal con multiplexores en lugar de compuertas
individuales. La sustitución de las compuenas por multiplexores produce un patrón regular de tres
nh'eles de componentes. El primer nivel consiste en multi plexores que detenni nan el siguiente es-
tado del registro. El segundo nivel contiene un registro que guarda el estado actual binario. El ter-
cer ni,'el tiene un decodificador que genera una salida individual para cada estado de control. Estos
tres componentes son celdas estándar predefinidas en muchos circuitos integrados.
Consideremos. por ejemplo. el diagrama ASM de la fi gura 8-19. Consta de cuatro estados y
cuatro entradas de control. Los cuadros de estado se han dejado vacíos en este caso porque sólo
nos interesa la sucesi 6n de control, que es independiente de las operaciones de registros. La asig-
nación binaria a cuda estado se indica en la esqui na superior derecha de los cuadros de estado.
Los cuadros de decisión especifican las tr.msiciooes de estado en función de las cuatro entr.u:las
330 Capítulo 8 Nivel de transferencia de registros
Ejemplo HDL 8-6
{/ Prueba del multiplicador binario
-oduh
II Entradas del multiplicador
reg S,CLK,Clr¡
reg (4: 0) Binput,Oinput;
IIDatos a exhibir
vire C;
vire (4: 0) A,O;
vire [2:01 p;
IICrear ejemplar del multiplicador
mltp mp(S,CLK,Clr,Binput,Qinput , C,A,Q,P};
initial
_ln
SeO; CLKzO; Clr=O;
.5 S=l: C1r;l:
Binput - 5'bl0lll;
Qinput " 5'bl0011:
115 S '" O;
.....
inltlel
_ln
repeat (26)
.5 CLK :::: -CLK:
....
II Exhibir cálculos y comparar con tabla 8-4
al-aya i(negedg. CLK)
'atrobe> ("C=\b Az\b Oz\b time:\Od",C,A,O,P, $tiAe);
.ac!eodul.
Simulation log:
e-x
A=xxxxx O=xxxxx o-xxx time:lO
e_' A=OOOOO 0=10011 P=101 time:20
C=O A=10111 0=10011 P=100 time,.30
e_' A:01011 Os11001 P.100 timez40
C=l A=00010 0"'11001 P=011 time=50
C=O A"10001 Q=01100 P .. Ol1 time=60
e-'
A,,10001
0"01100 P=010 time.:70
C=O A=01000 0=10110 P",010 times80
c.,
A=01000 0=10110 P"OOI time-90
e-'
A=00100 0=01011 P:001 time:100
e-, A=11011 0=01011 P-OOO time=110
C=O A=01101 0=10101 P=OOO time:120
e-, A"'01101 0=10101 P=OOO time=130
M fI 31 protegido por derecho" de u ':Ir
Sección 8-9 Diseño con multiplexores 333
Tabla 8-7
de los multiplexo"s
EstMlo Siguiente
actual .......
Condiciones
Entradas
O, O. O,
O.
de entrada MUXl MUX2
O O O O w'
O O O I w O w
O I I O x
O I I I
"
I x'
I O O O
)"
I O I O )'z' yz' + )'Z :: ) ' )'Z
I O I I

I I O I
I I I O )'
I I I I )" :.' J' + :: )' + z' y' z + y' z' '" y'
tir de las condiciones de entrada cuando el siguieme estado del flip-nop es l. Así pues. después
del estado actual 01. el sigui ente estado de G
l
siempre es igual a l y el sigui ente estado de C
o
es igual al complemento del valor de x. Por tanto. la entrada de MUX 1 se hace igual a l . y la
de MUX2. a X. cuando el estado actual del registro es O l. Como ejemplo adicional. después
del estado actual 10. el siguiente estado de G
l
debe ser I si las condiciones de entrnda son ).z
o yz. Si se obtiene el OR de estos dos ténninos booleanos y se simpl ifi ca el resultado. se ob-
tiene la variable binaria única y. como se indica en la tabla. El siguieme estado de G
o
es I si
las condi ciones de entroda son)'z :: 11. Si el siguiente estado de G
l
pemlanece en O después
de un estado aClUal dado. colocamos un O en la entrada del multiplexor. como se muest ro en el
estado actual 00 paro MUX 1. Si el siguiente estado de G
l
siempre es 1. colocamos un I en la
cntroda del multi plexor. como se indica en el estado actual 01 para MUXI. Las demás entrJ.-
das paro MUX I y MUX2 se deducen de fonna similar. Las enlrodas de multiplexor de la ta-
bl a se usan ent onces en la implement ación del comrol de la fi guro 8-20. Si el siguiente estado
de un nip-nop es función de dos o más variables de control. el mult iplexor podría requeri r una
o más compuertas en su entrada_ De 10 contrario. la entrada del mult iplexor es igual a la varia-
bl e de control. o al complememo de la vari able de comrol, o O, o l .
Ejemplo de diseño: contar el número de unos en un registro
Ilustrnrcmos In impleme ntudón de cont rol con mullipl exon:s empleundo un ejemplo de d ise-
OO. El ejemplo también ilustrará lo (onnulación del di ograma ASM y la implementación del sub-
sistema de trayectori a de datos.
El sistema di gi tal a diseñar consta de dos registros. RI y R2. Y un mp-nop. E. El siste-
ma cuenta el número de unos que hay en el número que se carga en el registro RI , Y pone esa
cuenta enel registro R2. Por ejemplo. si el número bi nariocnrgado en Rl es 1011 1001 , el eircui -
to contará los ci nco unos de RI y guardará la cuenta binari a 101 en el registro R2. Esto se ho-
ce despla:tnndo cada bit del registro R l . uno por uno. al flip-fl op E. El control examina el valor
de E, y cada vez que es l . incrementa en I el registro R2.
El control ut iliza una entrada externa S paro iniciar la opernc:ión y dos entrndas de: estado E y Z
de la trayectoria de datos. E es la sali da del fli p-nop. Z es la salida de un circui to que detennina si
el registro RI contiene únicamente ceros. El circui to produce una salida Z = 1 si RI es igual a O.
Mal fI"Il protegido l':'f
Sección 8-9 Di seño con multiplexores 33S
Inicio
S T,
:c
T,
E
""" "'"
T,
Z
T, -
Z - I ir

RI - o
Ver si
uccro
Salkb
Entrada en serie - O
Oe$plaur
Resrst rode
.
.
E
D
dcsptuamiento RI
""'"
entrada
e
OltO$ de entrada
Cuenta de latida
e LK

Contar
Contador R2
c.rgar entrlda
Ent.-.d.s _ Pul'Oll,lr>O$
FIGURA 8 -22
Diagrama de bloques del contador de unos
El diagrama de bloques del circuito se reproduce en la figuro 8·22_ El control tiene tres entra-
das y cU3trosalidas. La trayectoria dedatos sólo usa tres salidas. El registro RI es de desplaz.urnien-
too El registro R2 es un contador con carga pamlela. Paro no complicar el diagrama, no se muestra
el reloj, pero se debe aplicar a los dos registros, al flip-fl op E y a los flip-flops del control.
Las condiciones de entrada del multiplexor para el control se delerminan a partir de la Ia-
qJa 8·8. Las condiciones de entrnda se obtienen del diagrama ASM paro cada posible Imnsi·
ción de estado binario. Se asignan a los cuatro estados los valores bi narios 00 a 11 . La transición
desde el estado actual 00 depende de S. La transición desde el estado aclual 01 depende de Z,
y la trnnsición desde el estado actual 11 depende de E. El estado 10 pasa al II incondicional·
mente. Los valores bajo MUX I y MUX2 en la tabla se determinan a partir de las condiciones
booleanas de entrada paro el siguieme eSlado de G
l
y G
Ir
respecti vamente.
Mal 'JI pro por derechos de '11..: or
336 Capitulo 8 Nivel de transferencia de registros
Tabla 8-8
Condie/onr-s de entrado de mullipleJ/orrs poro el ejemplo de di¡eilo
lstado Siguiente Entradas de
actual estado
Condiciones
multiplexores
e, e, e, e, de entrada MUXl MUX2
O O O O S'
O O O I S O S
O I I O Z
O I I Z' Z'
O
I O I I Ninguna I I
I I I O E'
I I O I E E'
La impl ememación del control para el ejemplo de diseño se ¡lu5ml en la fi gum 8-23. Se tru-
la de una implementaci ón de tres niveles con los multiplexores en el primer ni veL Las ent ra-
das de los multiplexores se obtienen de la tabla 8-8.

o
z'
I
S
o
I
E
o
I
,
)
O
I
,
)
FIGURA 8·2)
,
MUXI
l
"
,
"
,
,
MUX2
o
e
Seleccionar
MUX
O
e
CLK
G,
G,
!krodifiOldor
de2X ,¡
T,
T,
T,
T,
Implementación del control para el circuito contador de unos
Mar 'JI prOiP.gido pt)r ¡,,;erecho" de '1ut')r
Problemas 337
PROBLEMAS
8 -1 Explique oon palabras las operaciones especificadas por la siguiente notaci6n de transrerencia de
regi stros:
a) R2 _ R2 + 1, RI _ R2
b) R3_R3 - 1
e) ¡f (T
I
:: 1) then ( RO _ RI ) else if (T
I
= 1) then ( RO _ R2)
8 ·2 Dibuje la porción de un diagrama ASM paniendo de un estado inicial. Hay dos señales de con-
trol: .1' y )'_ Si X)' = 10. el registro R se incrementa en I y el control pasa a un segundo estado. Si
.1'y '" 01 . el registro R se pone en O y el control pasa del estado inicial a un tercer estado. En los
demás casos, el cootrol permanece en el estado inicial.
8-3 Dibuje los diagrJmas ASM para las siguientes trnnsiciones de estado:
a) Si.1' '" O. el control pasa del estado TI al estado T
l
: si x la 1. se genera una operación con-
dicional y se pasa de TI a TI'
b) Si x = l. el control pasa de TI a TI y luego a T, : si x '" O. el control pasa de TI a T,.
c) Se pane del estado TI: luego, si X)' - 00, pasar a T¡: si X)' - 01, pasar 11 T,: si xy 3 10. pa-
saraT¡: siX)'= 11 .pas.ara T,.
Muestre cn un bloque ASM los ocho trayectOrillS de sal ida que etrulnaJl de los cuadros de decisión
que veri fi can los ocho posibles \'lllortS binarios de tres variables de control: x, y y z.
8·S Explique en qué difiere un di agrama ASM de un diagrama de flujo con\'Cncional. Ut ilice In fi gu-
ra 8· 1 S como ejemplo para ilustrar la direrencia en imerpretaciÓll .
8 -6 Construya un diagramaASM parn un sistema digital que cuenta el número de personas en una ha-
bitación. Las personas entran por una puena provista de una rotocdda que cambia una señal x de
1 a O cuando la luz se intenumpc. y salen por una segunda puena provista de una fOlOCClda simi·
lar que cambi a una señal y de I a O cuando la luz se intenumpe. El circuito consta de un conta·
dor arriba-ab3jo con un displny que indica cuántas personas hay en 13 habi t3Ción.
8-7 Dibuje un diagrama ASM para un circuito con dos regi stros de ocho bits NA y RB que reciben dos
mlmeros binarios sin signo y efeculan 13 operaci6n de resta:
RA _ HA - RB
Utilice el método de rest3lkseritO r-n la sección 1-:5 y pong3 un Ilip-nop de prtstamo en 1 si la
respuest3 es negat iva.
8·8 Disene un circuito digital con tres registros de 16 bits, AH. BH y CH que realicen las operaciones
siguientes:
a) Transferir dos nllmeros de 16 bits con signo (en representación de complemento a dOl) 3 AH
Y 8R.
b) Si el nllmero que está en AR es negat ivo, dividirlo entRi 2 y trnnsferir el resul tado al registro
CR.
c) Si el número que está en AR es posi tivo pero di.stinto de cero. mullipl icar el número que es·
tá en BR por 2 y transferir el result3do al registro CR.
d) Si el número que eslá en AR es cero. poner en cero el registro CR.
8 -9 Di señe el control cuyo diagrama de esmdos se dio en la figurJ 8- 11 0), utiliznndo un Ilip-nop por
estado (lI5ignación de un solo uoo).
8·10 U. fi gura PS- IO CotTeSponde al diagram3 de estados de una unidad de control. Tiene cuatro esta-
dos y dos entradas, x y y. Dibuje el di3gramaASM equivalente. dejando en blanco 101 cuadros de
estado.
protegido por derechos de 'JI.: or
I
,
Problemas 339
8 · 20 Examine el diagrama ASM de la figul'3 PS-20. No seespec:iftcan las operaciones de registros por-
que sólo nos interesa diseñar hllógica de control.
a) Dibuje el diagrumll de estado!! equlVlliente.
b) Disel\e el control con un ni p- fl op p.Jr estlldo.
e) Prepare la tabla de estados patlI el control.
d) Dise1le el control con tres flip-nops D, un decodificador y COnlJM.Icnas.
e) Dedu7.ca una labia que muestre las condiciones de entrada de multiplexores para el control.
f) Disei'lc el control con tres multiplexores. un registro con tres f1ip-flops y un decodificador de
3 X 8.
T.
t!!!!'
O
>
,
I
O /)
T,
001
'--' / I I
I
T,
010
r I
0-0) I
V
T,
100
I I
A.
T,
011
O I
T,
110
r l
T,
111 T. 101
I
FIGURA PB-20
Diagrama ASM para el problema 8-20
Mat nal protegido por derechos dfI :J.L'f')r
340 Capítulo 8 Nlvel de transferencia de registros
8 -21 ¿Qut! ''alor tiene E en tooa bloque HOL, suponiendo que RA = I?
a) RA " RA - 1 ; b) RA <" RA - 1;
if (RA "'= O) E " 1; if I RA -- O) E <= 1;
else E '" O; el se E <= O;
8-22 Utilizando los opcrnd01'l!S de Veril og BDL presentados en la tabla 8- 1_ evalúe el resultado de las
operaciones siguientes, Suponga que A "" 4bOlIO, B "" 4'bOOlO Y e = 4'bOOOO.
A" B;A +S;
A&& C; I A;A
A - S; -C; A&. B; A I s; A " s; & A; - Ic: A II s;
< B; A :>
8 -23 Considere este bloque al ways:
.lway. i (po.edQ. CLK)
i! (1'11 Rl <= Rl + R2;

, ", - ,
.1 •• i! (T21 Rl <= Rl + 1 ;
.1 •• Rl <:: Rl ;
Uti lizando un COfIl:IOOr de cuatro bits con carga paro.(ela para NI (como en la figura 6-14) y un
sumador de cuatro bits, dibuje: un di agrama de bloques que muestre las tone:üones de los com-
ponentes y las senales de control parn una posible síntesis del bloque.
8-24 Los si ntetizadores lógicos a menudo traducen el enunciado caw multini'-el a multipleJr.ores en hard-
ware. ¿Cómo traducirla el sigui ente bloque case a hardware? Suponga registros de ocho bits ca·
da uno.
c ••• (Il t ... t e)
TO:
R'
o
RO;
1'1,
R'
o
Rl ;
1'2,
R'
o
R2;
1'3 :
R'
o
R3 ;
.nde •••
8-25 En (a secciÓn 8-9 se di señó un circuito que cuenta el número de unos que hay en un registro. El
diagrama ASM paro ese cin:uito se muestra en la figura 8-21 , y el diagrama de bloques, en la fi ·
gura 8· 22.
a) Escriba la descripción HDL del cin:ui to en el nh'el de transferencia de regi Stros.
b) Di señe la lógica de control empleando un mp-nop por estado (asignación de un solo uno).
las ecuaciones de entrada para los cuatro mp-nops.
e) Escriba la descripción estructural HDL del cin:uito empleando el control disebdo en la par-
te b) y el diagrama. de bloques de la figura 8-22.
d) Escriba un conjunto de para probar el dn:uito. Simule el cin:uito paro verificar el fun-
cionamiento descri to en los programas tanto RTI.. como estroclUral.
8-26 Escriba la descripción estructurol HDL del multiplicador disei\adoen la seoción 8-6. Utilice el dia-
grama de bloques de la figura 8-13 y el eircui to de control de la figura 8-17. Simule el diseño y
"erifique el funci onamiento con el conjunto de proebas del ejempl O HDL 8-6.
8 - 27 La suma de dos numeros binariM con signo en la representnción de magnitud con signo sigue las
reglas de la ordinaria. Si los dos números tienen el mismo signo (ambos positivos o 11m·
bos negati\'os), las dos magnitudes se suman y la suma tiene el signo de los operandos. Si los dos
números ti enen distinlo signo, el de menor magnitud se rest..:l al de mayor magnitud y el resulta-
"'
Referencias 341
do tiene el signo del minuendo. Escriba una descripción HDl de comportamiento para. la suma
de dos mlmeros de ocho bits con signo en representación de I1lI!.snitud con signo. El bit de extre·
ma i7.quierda de cada nlÍmero contiene el signo y los otros siete bit5 conttcnen la magnitud.
8·28 Escriba la descripción HDl del cifC1Ji to disellado en el problema 8·14.
REFERENCIAS
,
1 . PALNITKAIt, S. 1996. Verilog HDL' A Guidt to DigiU/llñ.fign 0IId Symhtsis. SunSoft Press (Un
IflUlo Prentice·Hall).
2 . BUASKEM, J. 1997. A \'trilog HDL Primu. Allenlown, PA: Star Galaxy Press.
3 . BttASKER. J. 1998. \'trilog HDL S)'mhtsis. Allentown. PA: Star Galaxy Press.
4 . THol>tAS, D. E. Y P. R. MOORBY. 1998. 77ft Hordwo" lñ:fCripl;l)fI Wnguage. 4a. ed. Bos·
ton: Kluwer Academic Publishers.
S. CIIErn, M. D. 1999. Modtlin8, S)'mhtsis und Ropid PmlOlyping wilh Verilog HDL Upper Saddle
River. NJ: Prentice· Hall.
6. ARNOLD, M. G. 1999. Verilog DigjwJ Computer Iñsign. Upper Saddle Ri ver, NJ: Prentice· Hal l.
7 , Sl>tITH. D. J. 1996. HDL Chip Design. Madi 50n. AL: Doone Publications.
8 . 1995. IEEE Stund(Jfd Hardware Iñscriplion úmguagt &lStd on Ihe Verilog Hardwaff! Iñscrip·
tion Ú/llgllagt (Nonna lEED 1364· 1995). Nueva York: 1l1e Institute ofElectricnl nOO Electronics
Engincers.
9, . MANO. M. M. 1993. Computer S)'slelfl Arclliltclllff!, 3a. ed. Upper Snddle Rh"el', NJ: Prentice· Hnll.
10. MANO, M. M. Y C. R. KJME. 2000. Logic alld Compuler Iñsign Fundamentals. 2a. ed. Upper
Saddle River. NJ: Prcntice· Hall .
11. HAYES.1. P. 1993. Introd"ction III J)jgital wgic Design. Rcading. MA: Addison· Wcsley.
12. CUkE, C. R. 1971. Designing Logic Syslems Vsing Stale Machines. Nueva York.: McG11Iw· HiU.
13. WINKl.EJl. D. y F. PRosSEIL 1987. 77ftArf o/ Dlgi/(Jllñslgn, 2a. ed. Englewood Clifrs, NI: Pren·
tice· Hall .
protegido p-?r derechos de '1U ':Ir
Lógica secuencial
. "'.
aSlncronlca
9·' INTRODUC Ci ÓN
342
Un circuito secuencial se especifica con una sucesión temporal de entradas. snlidas y estados in-
ternos. En los circui tos secuenciales el cambio de estado interno se d.1 en respue.'ila
a los pulsos de reloj sincroni zados. Los circuitos secuenciales asincrónicos no utitizan pulsos de
reloj. El cambio de estado ¡memo se da cuando hay un cambio en las variables de entrada. Los
clemcnlos de memoria de los circuitos secuenciales sincrónicos son flip-flops que opemn con re-
loj. Los elementos de memoria en los circuitos secucncinles asincr6nicos son Oip-flops si n reloj.
O bien. elementos de retardo. La car«idad de memoria de un dispositivo de rcumlo se debe al tiem-
po finito que la sena! tarda en propagarse a Irnvés de las compuenas digitales. Muchos circuitos
secuenciale.<i asincrónicos semejan circuitos combinacionales con retroalimentaci ón.
Es más difícil diseñar circuitos secuenciales asi ncronicos que sincróni cos debido a los pro-
blemas de temporización causados por el cami no de retroalimentación. En un sistema sincró-
nico debidamente diseñado. los problemas de tempori zación se eliminan al disparar todos los
nip-flops con el borde del pulso. El cambio de un estado al siguiente se da durnnte el bre\'c lap-
so de la transición del pulso. Puesto que los circuitos asincronicos no usan reloj. el estado del
sistema puede cambiar inmediatamente después de que cambian entnldas. Es preci so cui-
dar que cada nuevo estado mantenga al circuito en una condici ón estable. aunque exista un ca-
mino de retroal imentación.
Los circuitos secuenciales asincroni cos tienen diversas aplicaciones. Se les utili za cuando
la \'elocidud de operación es importante. sobre tooo en casos en que el sistema di gi tal debe
responder rápidamente. sin espernr un pulso de reloj. Su uso es más económico en sistemas pe-
queños independientes que sólo requieren unos cuantos componentes. En lul es ca.'Ios. no resul -
ta práctico incumr en el gasto que implica incl uir un circuito para genernr pulsos de reloj . Los
circuitos asi ncronicos también son útiles en apl icaciones en las que las señales de entrnda del
sistema podrían cambiar en cualquier momento. con independencia de un reloj interno. La co-
municación entre dos unidades. cada una de las cunles tiene su propio reloj autónomo. debe efee-
con circuilos asincronicos. Los diseñadores digitales a menudo crean sistemas mixtos
""
do<
k variables
sccunduias
(estado
lIClual)
FIGURA 9 -1
riables
nlrada
"

"



·
'.
y,
y,

·
y,
·
Sección 9-1 Introducción 343

·
·
Circuito
combinacional
·


Retardo
Retardo
Rctaroo
<,
<,

-.
Y,
Y,
Y,
m varia
d. de
le variables
de adulción
(siguiente
esudo)
Diagrama de bloques de un circuito sl!<ueoncial asl ncr6nlco
en los que una parte del sistema si ncrónico posee las caracterfsticas de los circuitos asincroni-
coso Conocer el componamienlo de la lógica secuencial asincr6nica nos ayuda a wrifi car que
el sistema digilal tOlal esté funcionando correctamente.
La figura 9- J presenta el diagrama de bloques de un circuito secuencial asincronico. Con-
siste en un circuito combimlcionaJ y elementos de retardo conectados para fonnar lazos de re-
troalimentaci6n. Hay n variables de entrada. m variables de salida y k internos. Los
elementos de retardo pueden verse como una memoria a cono plOO'.o p:lnl el circuito secuen-
cial. En un circuito de compuertas. el retardo de propagación que hay en la trayectoria de circui-
to combinacional desde la entrada hasta la sal ida proporciona un retardo suficiente en ella7.0
de retroalimentación, y es innecesario insenar elementos especfficos de retardo en el 137.0. Las
de e.<;tado actual )' siguiente e.<;tado de los circuitos secuenciales asincronicos suelen
denominarse variables secundari as y variables de excitación. respectivamente. No debemos
confundir las variables de excitación con la tabla de exci tación que se usa en el diseño de los
circuitos secuenciales con reloj.
Cuando una variable de entrada cambia de valor. las)' variables secundarias no cambian
instantáneamente. Se requi ere cierto tiempo para que la seilal se propague desde las termina-
les i:le entrada. a través del circuito combinacional, hasta las variables de excitación Y, donde

Mat 'JI pro <:Ir dE' 'lt.: or

344 Capítulo 9 l ógica secuencial asi ncrónica
9-2
se generan nuevos valores paro el siguiente estado. Estos valores se propagan a través de los
elementos de entrada y se convierten en el nuevo estado actual de las variabl es secundari as. Ca·
be señalar la distinción entre las y y las Y. En la condi ción de estado estable, son iguales, no
asf durante la transición. Paro un valor dado de las vari ables de entrada, el sistema está estable
si el circuit o alcanza una condi ción de estado estacionario con y,::: Y, para i = 1, 2, ... , k. De
lo contrario, el circuito estará en una transición continua y decimos que es inestable. Es impor-
tante darse cuenta de que sólo se da una transición de un estado estable a otro en respuesta a
un cambio en una variable de entrada. Esto contrasta con los sistemas sincróni cos. en los que
las transiciones de estado se dan en respuesta a la aplicación de un pulso de reloj.
Para garantizar un funcionamiento COi .octo, debe pennitirse <Iue los circuitos secuenciales
asincronicos alcancen un estado estable antes de cambiar sus entradas a un nuevo valor. Debido
al retardo en los conduclore.'i y en los circuitos de compuerta, es imposible hacer que dos o más
variables de entrada cambien CJl:actamentc al mismo ticmpo sin que haya incertidumbre respec-
to a cuál cambió primero. Por ello, generalmente se prohi ben los cambios simultáneos de dos o
más variables. Esta reslI'icción impl ica que sólo una variable de entroda puede cambiar de valor
en un momcntodado, y que el tiempo entre dos c-.unbios de entrnda debe ser mús largo que el ticm·
po que el circui to tarda en alcanzar un estado estable. Este tipo de funcionamiento se defi ne ro-
momodo fwufomelllal. El funcionamiento en modo fundamental supone que las señales de entrada
cambian una por una, y sólo cuando el circuito está en condición esmble .

PROCEDIMIENTO DE ANAlISIS
El anál isis de circuitos asi ncronicos consiste en obtener una tahta o diflgmma que
describa la sucesión de estados intcrnos y salidas cn función de los cambios en las variables
de entrada. Un diagrama lógico manifiesta un componamiemo de circuito secuencial asincro..
nico si tiene uno o más lazos de retroalimelllación o si incluye flip-fl ops si n rel oj. En esta sec-
ción se analizará el componamiento de los circuitos secuenciales asincronicos que tienen
trayectorias de relrOOlimentación sin usar flip-flops. Los flip-flops sin reloj se llaman lalche.'i, y en
la siguiente sección se explicará su uso cn los circuitos secuenciales asincrónieos.
Se presentará el procedimiento de análisis con la ayuda de treS ejemplos espt.'Cíficos. El pri-
mero introduce la t.abla de transi ción. El segundo ejemplo define la tabla de flujo. El tercero
im'csliga la estabi lidad de los circuitos secuenciales nsincronicos.
Tabla de transición
En la fi gura 9-2 se presenta un ejemplo de circuito secuencial asincronico que sólo tiene com-
puertas. El diagrama muestra claramente dos lazos de retroalimentación desde las salidas de
las compuertas OR hacia las de las ANO. El circuit o tiene una vari abl e
de entrada x y dos estados internos. los estados internos tienen dos variables de excitación, y.
y Y
1
, Y dos variables secundari as,)', y 12- El retardo asociado a cada la7.0 de retroalimentación
proviene del retardo de propagación entre cada entrada)' y su salida correspondient e Y. Cada
compuerta lógica en la trnyectoria introduce un retardo de propagación de aproxi madamente
2 a 10 ns. Los conductores que llevan señales eléclI'icas introducen un retardo de aproximada·
mente un nanosegundo por cada 30 cm de cable. Por tanto, no se requieren elementos de
retardo externos adicionales si el circuito combinacional y los cables de la trayectoria de re-
troalimentación proporcionan suficiente retardo.
El análi sis del circuito se ini cia considerando a las variabl e.'i de exci tación como salidas y
a la.'i variables secundari as como entradas. Luego se deducen las expresione.'i booleanas para
Mal 'JI prOiP.gido 0f dE' 'Jl n
Sección 9-2 Procedimiento de análisis 34S
y,
-l>
y,
-l>
FIGURA 9-2
Ejemplo de circuito secuencial aslncrónico
las variables de excitación en función de las variables de entrada y las variables secundari as.
Dichas expresiones se obtienen fácilmente del diagroma lógico.
lí = XYl + X'}'l:
Yz = xyi + XYl
El sigui ente paso es graficar las funciones Y
I
y Y
2
en un mapa, como se muestra en la figu-
ro 9-3a) y b). Usamos los valores binari os codificados de las variables y para rotular las filas,
y la variable de entrada x, para designar las columnas. Esta configuración produce un mapa de
lreS variables un poco diferente del que se usó en cap'tulos anteriores. No obstante. es un ma-
pa válido. y este tipo de confi guración es más conveniente para manejar circuit os secuencia-
les asincronicos. Observe que las variables que corresponden a los cuadros apropi ados no se
anotan a los costados del mapa como en caprt ulos anteriores.
1112
00
"
I I
o I
o O
I O
I I
O I
a) Mapa para
y 1 '" .l'y¡ + x'y2
FIGURA 9-)
o I
O I
O I I I
I I I O
10 O O
b) Mapa para
Y1 " XY '¡+Xh
Mapas y tabla de transición para el ci rcuito de la (¡ gura 9-2
o I
@
"
"
"
@
11
G
10
10 00
@
c)Tabla de transición
Mat '11 protegido por c!erocf'¡o<:, de '1t.: "Ir
346 Capítul o 9 lógica secuencial asincrónica
La tabl a de transición de la fi gura 9-3c) se obtiene de los mapas combinando los valores bi-
narios de cuadrados correspondientes. La tabla de transición muestro el valor de )' = Y, Y
2
dentro de cada cuadrado. El primer bit de Y se obt iene del valor de Y,. y el segundo. del valor
de y! en el mi smo cuadrado. Para que un estado sea estable. el valor de Y debe ser igual al de
y = y'Yl' Los elementos de la tabla de trnnsición en los que Y = Y se han encerrado en cfrcu-
los para indicar una condición estable. Los elementos no encerrddos en círculos representan es-
tados inestables.
Consideremos ahora el efecto de un cambio en la variabl e de enlmda. El cuadrado para
x '" O Y Y = 00 en la tabla de transición muestra que Y = OO. Puesto que Y representa el si-
guiente valor de y. es una condi ción establ e. Si x cambia de O a 1 cuando y = OO. el circuil o
cambiará el valor de Ya 01 . Esto represent a una condici ón inestable tempoml porque Y no es
igual al valor actual de y. Lo que sucede a continuación es que. tan pronto como la señal se pro-
paga para hacer a Y = 01. la trayectoria de retroalimentación del circuito hace que y cambie a O l.
Esto se manifi esta en la labia de transición con una transición de la primera fil a (y = 00) a la
segunda. donde)' = 01. Ahora que y = Y. el circuito ll ega a una condi ción estable con unu en-
trada de x ::: l . En general. si un cambio en la entrada pone al circuito en un estado inestable.
el valor de y cambiará (en tanto x no cambi e) hasta llegar a un estado estable (encerrado en un
cfrculo). Al aplicar este tipo de análisis al resto de los cuadrados de la tabl a de transición. ve-
mos que el circuito repite la sucesión de estados OO. O l. 11. 10 cuando la entrada alterna repe-
tidamente entre O y l .
Advierta la diferencia entre un circuito secuencial si ncronico y uno asincronico. En un sis-
tema sincrónico. el estado actual está cabalmente especifi cado por los valores de los mp-nops
y no cambia si la entrada cambio cuando el pulso de reloj está inacti vo. En un circuito asi ncfÓ-
nico. el estado int erno puede cambiar inmediatamente después de un cambio en la entrada. Por
ell o. a veces resulta conveni ente combinar el estado interno con el valor de entrada y ll amarl o
esratlo loral del circuito. El circuito cuya tabl a de transición se aprecia en la figura 9-3c) tiene
cuatro estados t()(ales estables ::: 000.011 . 110 Y 101- Y cuatro estados totales ine.'i -
tables:OOI.OIO.1 11 y 100.
La tabla de transición de un circuito secuencial asi ncronico es similar a la tabla de estados
que usamos con los circuitos sincronicos. Si vemos a las variables secundarias como el est.ado
actual. y a las variables de excitación como el siguiente estado. obtendremos la tabla de esta-
dos que se muestra en la tabla 9- 1. Esta tabla proporciona la misma infonnación que la tabla
de transición. Hay una restricción para el caso asincronico que no aplica al caso si ncronico. En
la tabla de transición asi ncroni ca. por lo regul ar hayal menos un siguient e estado que es igual
al valor de estado actual de cada fila. De lo contrario. todos los estados totales de esa fi la se-
rán inestabl es.
Tabla 9· 1
Tabla de estodo] pora el circuito lo fi9uro 9·1
.. .....,
SlguJente estMlo
.aual , - O 1C :: 1
O O O O O I
O I I I O I
I O O O I O
I I I I I O
flll protegido por derec 10 de u ':Ir
Sección 9-2 Procedimiento de análisis 347
El procedimi ento para oblener una labia de trnnsición a partir del diagrama de circuilo de
un circuilo secuencial asi ncronico es el siguiente:
1. DClennine lodos los lazos de retroalimentación del circuilo.
2. Designe la salida de cada lazo de retroalimentación con la variable Y/, y su entrolda co-
rrespondiente oon J,. para i = 1, 2, .... k, donde k es el número de lazos de retroalimen-
lación del circuito.
3. Deduzca J n . ~ funciones booleanas de todas las Yen función de las entradas externas y
las J.
4. Grafique cada función Yen un mapa, utilizando I t l . ~ variables y para las filas y ln.e¡ entra·
das externas para las columnas.
5. Combine lodos los mapn.e¡ en una tabla que [enga el valor de Y = y. y 2 ••• Y
t
denlro de
cada cuadrado.
6. Encierre en drculos los valores de Yquc sean igual es al valor de y = J.Yz ... YI de la
misma fila.
Una vez que se [cnga la tabla de lrnnsición, se podrá analizar el comportamiento del circuito
observando la transición de estado en función de cambios en las vari ables de entrada.
Tabla de flujo
En el diseño de circuitos secuenciales asincronicos. es más recomendable nombrar los estados
con sfmbolos (letras) si n indicar especflicament e sus valores binarios. Una tabla asf se deno-
mina llibla de flujo. y es similar a una tabla de transición con la salvedud de que los estados
internos se si mboli l.an con letras, no con números binarios. La tabln de flujo también incluye
los valores de salida del circuito pard cada estado estable.
En la figura 9-4 se muestrdn ejemplos de tablas de flujo. la de la figura 9-4a) tiene cuatro
estados designados con In.e¡ letras Q, b, e y d, y se reduce a la tabla de transi ción de la fi gura
,
b
,
d
FIGURA 9-4
x
o I
0
b
,
8
8
J
,
0
a) Cuatro estados
oon una entrada
Ejemplos de tablas de fluJo
,

.>".'>"z
00 01 11 10
0
0
0
0
0
0
' , 0
, ,o , ,o
0.
1
0.
0
b) Dos eslados con d05
enlrndllS y una salida
Mar rF11 protegido p-?r derechos de '1U ':Ir
348 Capítulo 9 lógica secuencial asincróni(a
9-3c) si asignamos los valore.<; binarios siguienles a los estados: (1 = OO. b = 01. e = 11 Y
d = 10. Decimos que la tabla de la fi gura 9-4a) es una tabla de fluj o primitil'O porque sólo tie-
ne un estado es table en cada fila. La figura 9-4b) constituye una tabla de fl ujo con más de un
estado estable en la misma fila. Tiene dos estados. a y b: dos entradas. XI y X ~ : y una salida. z.
El valor binario de la vari able de sulida se indica dentro del cuadrado, junto al símbolo de es-
tado y separado de él por una coma. En la tabla de flujo se observa el siguiente comportamien-
to del circuito. Si XI = O, el circuito está en el estado a. Si Xl cambia a 1 mientras Xl es O. el
circuito pasa al estado b. Si las enlradas son Xl X2 = 11. el circuito podría estar en el estado a
o en el b. Si está en a, la sal ida es O: si está en b. la salida es l . El estado b se manti ene si las
entradas cambian de 10 a 11 . El circuito permanece en el estado a si las entradas cambian de
01 a 11 . Recuerde que. en modo fundament al. dos variables de entrada no pueden cambiar si-
multáneamente. así que no permitimos un cambio de entradas de 00 n 11.
Pum obtener el circuito descrito por una tabla de fl ujo, es necesario asignar a cada estado
un valor binario distinto. Esta asignación convierte a la tabla de flujo en una tabla de transición
a partir de la cual se deduce el diagrama lógico. Esto se ilustra en la figura 9-5 para la tabla de
flujo de la figum 9-4b). Asignamos O bi nario al estado (1 y I binario al estado b. El resultado
es la tabla de transición de la figura 9-5a). El mapa de salida de la figura 9-5b) se obtiene di-
rectamente de los valores de salida de la tabla de fl ujo. La función de exci tación Y y la función
de salida:: se simplifican con la ayuda de los dos mapas. El diagrnma lógico del circui to apa-
rece en la figura 9-5c).
Este ejemplo ilustra el procedimiento pam obtener el diagmma lógico a partir de una ta-
bla de flujo dada. El procedimiento no siempre es tan sencill o como en este ejempl o. La
,
O
1
<,
<,
FI GURA 9·5
00 01 11 10
0 0 0
1
y
O
00
O
01 11
O O
O O
0 0
1 O O 1
. .
a) Tabta de transICIón
Y - XIX·I +.rI)'
r
v
y
-
.
b) Mapa de la salida
l a XI.rI )'
y
e) Diagrama l6gko
10
O
O
Deducción del circuito especifiudo por la tabl;, de flujo de la figura 9. 4b)
Sección 9-2 Procedimiento de análisis 349
asignación de estados binarios y la asignación de salidas a los estados inestabl es conllevan
varia. .. dificultades_ Comentaremos los pormenores de esos problemas en las secciones que

sIguen.
Condiciones de carrera
Se dice que existe una condici ón dc carrero (roce) en un circuito secuencial asi ncronico cuan-
do dos o más vari ables de estado bi nari as cambian de valor en respuesta a un cambio en una
variable de entroda. Si los retardos son desigual es. una condición de carrero podria hacer que
las variables de estado cambien de manero impredecible. Por ejemplo, si las variables de esta-
do dcben cambiar de 00 a ll.la diferencia de retardos podria hacer que la primero variable cam-
bie más rápidamente que la segunda, y el resultado seria que las variables de estado cambiaron
sucesivamente de 00 a 10 a 11. Es posibl e que no se conozca con antelación el orden en que
cambian las variables de estado. Si el estado establ e final al que llega el circuito no depende
del orden en que se modifican las variables de estado, decimos que hay una carrera 110 cr(ticu.
Si es posible llegar a dos o mú.. .. estados estables di stintos, dependi endo del orden en que cam-
bian las variables de estado. hay una carrera critica. Para que el funcionamiento sea con-ecto,
es preciso evitar las carreras criticas.
Los dos ejemplos de la fi guro 9-6 ilustran carreras no criticas. Partimos del estado total es-
tabl e y,y:t" = 000 Y luego cambiamos la entrada de O a l . Las variables de estado deben cam-
biar de 00 a 11 , lo cual define una condi ción de carrero. Las transiciones que se dan abajo de
cada tabla muestron tres posibl es fonnas en que podrian cambiar las variables de estado. Pue-
den cambiar si multáneamente de 00 a 11 , o pueden hacerlo sucesivamente de 00 a 01 a 11 ,
O de 00 a 10 a 11. En todos los casos, el estado estable final es el mismo, o sea que la condición
de carrera no es critica. En a). el estado total final es Y I Y ~ = 111 , Y en b), es 011 .
FIGURA 9-6

x
o 1
8
11
01 11
1 1
®
10 11
a) Posibles lransiciones:
00-11
00 - 01-11
00 - 10- 11
Ejemplos de carreras no críticas
" ,.,
00
0 1
11
10
o
8
x
1
11
e
01
11
b) Posibles Iransicionel:
00- 11-01
00_01
00- 10_11_01
Mar fI'll protegido por derecho"- de 'lU ':Ir
350 Capítulo 9 lógica secuencial aslncrónica
FIGURA 9-7

o 1
@
11
01
e
11
C0
10
G
a) f\)sibles transiciones:
00 _ 11
00_01
00-10
Ejemplos de carreras criticas

o 1
@
11
Oi 11
11
C0
10
G
b) Pmibles transiciones:
00_ 11
00_01_11
00-10
Las tablas de transición de la fi gura 9-7 representan carreras criti cas. Aquf también parti-
mos del estado total establ e = 000 Y luego cambiamos la entrada de O a l . Las variables
de estlldo deben cambiar de 00 a 11 . Si cambian simul táneamente. el estado total final est¡¡ble
es 111 . En la !lIbla de transición de la pllrte a). si Y
1
cambia a 1 antes que Y, debido a un rc-
tardo de propagación desigual. el circuito pasará al estado total estable 011 y permanecerá
ahí. En cambi o. si Y
l
cambia primero. el estado interno será 10 y el circuito pemlllnecerá en
el estado total establ e 101 . Por tanto, la carrera es.crflica porque el circuilo pasa a diferentes
estados estables dependiendo del orden en que cambian las variables de estado. La tubla de tron-
sición de la figura 9-7b) ilustra otro carrera critica. donde dos posibles transiciones dan como
resultado un mismo estado tOlal final. pero la tercem posible transición llega a un estado tOlal
distinto.
Es posible evitar carreras efectuando una asignación binllria apropiada a las variables de
estado. Es preciso asignar a las variables de estado números binari os de tal mancrn que sólo una
variable de estado pueda cambi ar a la vez cuando hay una transición de estado en la labia de
nujo. El tema de la asignación de estadOli sin correr.!..; se abordará en la sección 9-6.
Podemos haciendo que el circuito pase por estados inlennedios inestables con
un cambio unico de variabl es de estado. Cuando un circuito pasa por una sucesión úni ca de
estados inestables. deci mos que tiene un ciclo. En la figura 9-8 se ilustr.l.n los ciclos. Una ,",ez
más. parti mos de ytYl = 00 y luego cambiamos la entrada de O a l. La tabl a de trnnsición de
la pune a) da una sucesión única que termina en el estado lotal estable 10 l. La tabla de b) in-
dica que, aunque las variables de estado cambien de 00 a 11. el ciclo produce una trnnsici ón
única de 00 a O I Y luego a 11 . Al usar ciclos. hay que asegurarse de que tenninen con un esta-
do establ e. Si un ciclo no tennina con un estado estable. el circuito seguirá pasando de un es-
tado inestable a otro. y todo el circuito será ineslable. como se ilustrn en la fi gura 9-&) y
también en el ejemplo siguiente.
protegido por derechos de 'lt.: or
o I
@
01
01 11
I I 10
10
@
a) TllInsición de CSlado
00 ..... 01 ..... 11 -+ 10
FIGURA 9-8
Ejemplos de ciclos
Consideraciones de estabilidad
Sección 9-2 ProcedimIento de análi sis 351
o I
@
01
o I 11
I I
(0
10
@
b) TllInsición de C:Slado
00 - 01 _ 11
y, ,.,
00
01
11
10
o
@
I
01
11
10
01
e) Inc:slablc
r OI -+ 11 -+ 10J
Debido a la conexión de retroalimentación que existe en los circuitos secuenciales asincroni-
coso debemos cuidar que el circuilo no se vuel va inestable_ Una condici ón inestable hará que
el circuito oscile entre estados inestabl es. El método de análisis de tabla de transición puede
ayudamos a delectar inestabilidades.
Consideremos. por ejemplo, el circuito de la figura 9-9a). La función de excitación es
"
"
FIGURA 9-9
y = (X
l
y)'X2 = (x; + y')Xl = :C;X2 + x2Y'
y
-L
a) DiaJl1lma lógico
00 10
y
O
0
I I
0
I O
0)
O O
. .
b)labl. de IllInsiOOn
Ejemplo de circuito Inestable
y
352 Capítulo 9 l ógica secuencial asincr6nica
La tabla de transición del circuito se reproduce en la fi gura 9·9b). Los valores de Yquc son
iguales a y se han encerrado en circulos y representan estados estAbles. Los valores que no es·
tán en círcul os indican condiciones inestables. Vemos que la col umna 1I no ti ene estados
estables. Esto implica que, si la entrada XIXl se fija en 11 , los valores de Y y )' nunca serán
iguales. Si )' ::: O, ent onces y ,., l. Y esto causa una transición a la segunda fi la de la labIA con
y ::: 1 y Y ::: O. A su vez.. esto provoca una transición de vuelta a la pri mera fila.lISf que la va-
ri Able de estado alt emnrá entre. O y 1 indefi nidamente en tnnto la entrada sea 11.
La condición de inestabilidad se detecta di rectament e del diagrama lógico. Sea X I ::: 1,
Xz = 1 y)' ::: 1. La salida de la compuerta NANO es O. y la de la compuerta ANO es O, lo que
hace que Y sea O, as! que Y +- y. Ahora bien, si y ::: O, In salida de la compuerta NANO será 1,
la de la compuerta ANO será 1, y Y será 1, de modo que Y +- y. Si suponemos que cada com-
puerta tiene un retardo de propagación de 5 ns (incluidos los concetores), veremos que YesO
durante 10 ns y I durante los 10 ns sigui entes. Esto producirá una fonna de onda cuadrada con
un periodo de 20 ns. La frecuencia de oscil ación es el recíproco del periodo Y es igual a 50 MH7_
A menos que estemos diseñando un generador de onda cuadrada, la inestabilidad que podría
presentarse en los circuitos secuenciales asincroni cos es indeseable y debe evitarse.
9-3 CIRCUITOS CON LATCHES
Históricamente. los circuitos asi ncronicos se conocieron y usaron ant es de que se desarrolla·
ran los circuitos sincronicos. Los primeros circuitos digitales prácticos se construyeron con
relevadores. que son más adaptabl es a las opemciones Por ello, el método tradi-
cional para configurar circuitos asincronicos ha utili zado componentes conectados paro fonnar
uno o más lazos de retroalimentación. Cuando los circuitos digitales se construyen con com-
electrónicos, result a conveni ente utili zar ellatch SR (que presentamos en la sección
5-2) como elemento de memoria. El uso de lntches SR en circuitos secuenciales asi ncronicos
produce un patron ordenado en los diagramas lógicos. en el que se disti nguen claramente los
elementos de mcmoria. En esta sección, se analizará el funcionamiento dellatch SR ut ilizan-
do la técnica presentada en la sección anteri or. Luego mostraremos un procedi miemo para im-
plementar circuitos secuenciales asi ncrónicos con latches SR.
Latch SR
Ellatch SR es un circuito digital con dos entradas. S y R, Y dos compuenas NOR acopladas en
cruz o dos compuertas NANO acopladas en cruz. El circuito de compuenas NOR acopladas
en cruz se aprecia en la fi gura 9- 10. Este ci rcuito y su tabla de \'erdad se tomaron de la figura
5-3. Para anali zar el circuito con el método de labia de transici6n. 10 hemos redibujado en la
figura 9-1Oc) para ver el cami no de retroalimentación desde la salida de la compuena I hasta
la entrada de la compuerta 2. La salida Q equivale a la variable de exci tación Y y a la variable
secundari a y. La función booleana para la salida es
y [(S + y)' + Rj' (S + y) R' + R'y
Al graficar Y como en la figura 9- IOd). se obtiene la tabla de tronsición para el circuito.
Ahora podemos investi gar el comport ami ento del latch SR utili zando la tabla de tran-
sición. Con SR = 10, la sali da Q :::: y = I Y decimos que el latch está encendido o esta-
blecido. Si cambiamos S a O el circuito pennanecen'i en el estado encendido. Con SR ::: 01,
M" pro'"'Qido )Qrdl"Pr,n de '"Ir
354 Capítulo 9 lógica sec.uencial asinc.rónica
s
R
s
R
Pam anal izar un circuit o con un ¡atch SR. primero hay que verificar que la condición boolea-
na SR = O se cumpla en todo momento. Entonces usamos la función de excitación reducida
pura analizar el circuito. No obstante, si se descubre que tanto S como R pueden ser 1 al mi s-
mo tiempo, será necesario usar la función de excitación original.
El análisis dellatch SR con compuertas NANO se muestra en la figura 9- 11 . El hltch NANO
opera con ambas entradas normalmente en l. a menos que sea preciso cambiar el estado del
latch. La aplicación de O a R hace que la salida Q cambie a O, lo cual restablece cl llltch. Una
vez que la entrada R regresa a 1, un cambio de S a O produce un cambi o al estado encendido.
La condición que debe evitarse aquí es que S y R sean O simultáneamente. Esta condici ón se
satisface cuando SR' "" O. La función de excitación del circuito es
y ~ [S(R)'y j' ~ S' + Ry
Al compararla con la función de excitación del Jatch NOR, vemos que S ha sido sustituida por
S, y R' , por R. Por tanto. las variables de entmda dellatch NAND requieren los valores como
plementados de los que se usan en ellatch NOR. Por eilo. el latch NANO tambi én se conoce
como laleh SR' (o laleh S-R).
1 Q
S R Q Q'
1 O O 1
1 1 O 1 (Después de SR '" lO)
O 1 1 O
2
1 1 1 O
O O 1 1
Q'
(Después de SR ... 01)
D) Circuito acoplado en cruz b)'Thbla de verdad
1
.1
2
),
,
-:
,
O
1
SR
00 01
"
10
1 1
0 0
(0 (0 (0
O
y - s' + Ry cuandoS' R' - O
e) Circuito que muestra retroali mentación d)'ThblD de transición
FIGURA 9-11
latch SR con compuertas NANO
Mal nal protegido por derechos dfI aL'!')r
Sección 9-3 Circuitos con latches 355

Ejemplo de análisis
Es posi ble construir circuitos secuenciales asincróni cos uti liUUldo latches SR con o sin trayec-
torias de reU'Oal imentnción externas. Desde luego. siempre hay un lazo de retroalimentación den-
tro del latch mismo. lI ustroremos el tl náli sis de circuitos con latches utili zando un ejemplo
espedfieo. A part ir de él. podremos generoliznr los pasos procedimentales necesarios paro
analizar otros circuitos similares.
I El circuito de la figuro 9-12 tiene dos latches SR con salidas Y
I
y Y
2
• Hay dos entrndas. XI y
xl' Y dos lazos de retroolimentación externos que dan pie a las variables secundarias YI y 12- Ob-
serve que este circuito se parece a un circuito secuencial convencional en el que Jos latches se
componan como nip-flops si n pulsos de reloj. El análisis del circuito requi ere oblener prinle-
ro las funciones booleanas paro las entradas S y R de cada Inlch.
SI = xI Yl
RI = x¡xi
Luego comprobamos si se satisftlce la condición SR = O para garanti zar el runcionamiento
correcto del circuito:
St RI = xlnx;x! = O
S2R2 = Xlx!xí YI = O
El resultado es O porque X L X; = Xl X; = O.
<,
l
R,
s,
"
y,
R,
s,
<,
FIGURA 9-12
Ejemplo de circuito con latches SR
Y,
:>
}<
Sección 9-3 Circuitos (on lat(hes 359
3. Dibuje el diagrama lógico empleando lo: latches. j unto con las compuenas necesarias pa-
r.l. gener'olr las funciones booleanas S y R. En el caso de latches NOR. se utili zan las fun-
ciones booleanas S y R obtenidas en el paso 2. En el caso de lutches NANO. se usan los
complementos de los valores obtenidos en el paso 2.
En la sección 9-7 se dará otro ejemplo útil de implementación con latches (fi gura 9-38).
Circuito antlrrebote
La información binari a de entrada de un sistema digital se puede generar manualmente con in-
terruptores mecáni cos. Una posición del interruptor suministra un voltaje equi valente al I ló-
gico y la otra posición suministra un voltaje distinto equivalente aJ O lógico. También se utilizan
interruptores mecánicos para iniciar. parar o restablecer el sistema digital. Al probar circuitos
digitales en el laboratorio. las señales de entrada normaJmente provienen de interruptores. Una
carncterfslica que tienen lodos los interruptores mecánicos es que, cuando se mueve la palan-
ca de una posición a la otra, el contacto del interruptor vibra o rebota varias veces antes de
quedar inmóvi l en su posición fi nal. En un interruptor típico, el rebote del contacto podría tar-
dar vwios mili segundos en eJuinguirse. Esto podrfa hacer que la señal oscilara entre I y O. por-
que el contacto del interruptor está vibrando.
Un circuito antirrebote elimina la serie de pulsos debida al rebote del contacto y produce una
sola transición uni forme de la señaJ binaria. de O a 1 O de I a O. Un circuito de este tipo con-
siste en un interruptor de un solo polo y dos posiciones conectado a un latch SR, como se ob-
serva en la figura 9- 15. El contacto centra.! est11 conectado a tierra. la cual proporciona una
señal equivalente al O lógico. Cuando uno de los dos contactos. A o B. no está conectado a tie-
m a través del interruptor. se compona como una señal de I lógico. A veces se conecta un re-
sistor entre cada contacto y un voltaje fijo para tener una señal firme de I lógico. Cuando el
interruptor se pasa de la posición A a la posición B y de regreso. las salidas del latch producen
un solo pulso. como se negativo para Q y positivo para Q'. El interruptor por lo regu-
lar es de botón. cuyo contaclO descansa en la posición A. Cuando se oprime el botón. pasa a la
posición B. y cuando se suel ta vuelve a la posición A.
El circuito antirrebote funciona como ¡¡igue. Cuando el interruptor descansa en la posición
A. tenemos la condición S "" O, R = 1 Y Q = 1, Q' == O ' véase la figura 9-11 b)]. Cuando el
interruptor se pasa a la posición B, la conexión a tierra hace que R cambie a O mientras S caro-
A
)
B
-'

FIGURA 9-15
CIrcuito antl rrebote
S
Q
I I
R Q'
I I
A ,
Mal nal protegido por derechos dfI aL-t')r
360 Capítulo 9 lógica secuencial aslncrónlca
bia a I porque el contacto A está abieno. Esta condición hace que la salida Q cambie a O y que
Q' cambie a l . Una vez que el interruptor hace su contacto ini cial con B. rebota varias veces,
aunque debemos suponer que. para funci onar correctamente. no rebota tanto como para vol-
ver al puntoA. La salida dellatch no se verá afectada por el rebot e del contacto porque Q' per-
manece en I (y Q pemlll1lece en O) ya sea que R = O (contacto con tierra) o R =- I (sin conlacto
con tierra). Cuando el interruptor vuel V' .! a la posición A, S cambillrá a O y Q volvern a l . Una
vez más, la salida exhi birá una transición suave aunque haya un rebote en el contacto de 111 po-
sición A.
9-4 PROCEDIMIENTO DE DISEÑO
El diseño de un circuito secuencial asincr6nico pane del planteamiento dcl problema y culmi-
na en un diagrama lógico. Se deben llevar a cabo varios pasos de di seño a fin de reducir al mí-
nimo la compl ej idad del circuito y produci r un circuito estable sin carreras críti cas.
Someramente, los pasos de diseño son los sigui entes. Se obtiene una tabl a de flujo primitiva a
panir de las especificaciones de diseño, La labia de flujo se reduce a un número mínimo de es-
tados. Se asignan números binarios a los estados para poder obtener la tabla de transición. De
la tabla de transición, deducimos el diagrama lógico en fomla de circuito combi nacional con
retroalimentaci ón o de circuito con latches SR.
Il ustraremos el proceso de diseño con un ejemplo espccífico. Una vez que elleclor domi-
ne este ejemplo, le será más fácil entender los pasos de diseño que se numeran al final de la
sección. Algunos pasos requieren aplicar procedimientos formales, los cuales se estudi aron
más a fondo en las seeciones siguientes.
Ejemplo de diseño
Es necesario di señar un circuito de latch con compuena que tiene dos entradas, G (compuer-
ta) y D (datos), y una salida, Q. La información binaria presente en 111 entrada D se transfiere
a la salida Q cuando G es l. La salida Q cambiará como cambia la entrada D en lanto G = l .
Cuando G cambie 11 O, la información que estaba presente en la entrada D en el moment o de
la Ir.!nsición se mantendrá en la salida Q. El IlI tch con compuena es un elemenlo de memoria
que acepta el vll lor de D cuando G = I Y conserva ese valor después de que G cambi a a O. Una
vez que G = O. un cambi o en D no alterará el wlor de la salida Q.
Tabla de flujo primitiva
Ya definimos una tabla de flujo primitiva como una tabla de flujo en la que sólo hay un esta-
do tQ(al establ e en cada fi la. Recuerde que un estado total consiste en el estado interno combi-
nado con 111 entrada. La deducción de la tabla de flujo primitiva se racili"l si primero tratamos
de formar una tabla con todos los estados totales posibles del sistema. ÉSla se en la ta-
bla 9-2 par.! ellatch con compuena. Cada fila de la tabla especifica un estado 10lal, que con-
siste en una designación de letra para el estado interno y una posible combinación de entrada
par.! D Y G. También se indica la salida Q para cada estado 10tal. Comen7.amQS con los dos esta-
dos totales que tienen G = l . Por lll s especificaciones del diseño. sabemos que Q = O si
DG = 01 Y Q = 1 si DG = 11 porque D debe ser igual a Q cuando G = l . Asignamos
Mat i"ll proJP.Qido 'lnr df':]l t"r
362 Capítulo 9 lógica secuencial asincrónica
Ahora. dado que no se permite un cambio simulláneo de ambas entradas. colocamos guio-
nes todas las filas que en dos o más variables de las variables de asociadas
al estado esmble. Por ejemplo. la primera fila de la mbla de flujo un estable con
entrada O l. Puesto que sólo una entrada puede cambiar en un momento dado. podrá haber un
cambio a 00 o a 11 . pero no a 10. Por tanto. ponemos dos guiones en la columna lO de la fila
(l . Al final . e..<¡to dará pie a una condición de indiferencia para el siguiente estado y la salida en
este cuoora.do. Siguiendo este procedimiento. llenamos un segundo cuadrodo de cada fila de In
tabla de flujo primitiva.
A continuación. es necesario encontrar valores para otros dos cuadrados en cada fila. Los
comentarios de la tabla 9·2 nos ayudarán a deducir la información nece.'lIlria. Por ejemplo, el
estado e está asociado a la entrada OO. y se llega a él desde el estado a o el d. después de un
cambio de entrada. Por tanto. indicamos un estado inestable c en la columna 00 y las filas a y
d de la tabla de flujo. La salida se marca con un guión para indicar una condición de indife·
rencia. La interpretación de esto es que si el circuito está en el estado estable a y la entrada eam·
bia de 01 a 00, el circuito primero pasa a un siguiente estado inestable. e, lo que cambia
el valor de esllldo actual de a a e y da pie a una transición a la lercero fila y primera. columna de
la tabla de fluj o. Los valores de estado inestable para los demás cuadrados se detemlinan
de fonna similar. Todas las salidas asociadas a estados inestables se marcan con un guión para
indicar condiciones de indiferencia. Se explicará con mayor detalle la asignación de valores rea·
les a las salidas después de terminar el ejemplo de diseno.
Reducción de la tabla de flujo primitiva
La tabla de fluj o primitiva liene sólo un estado estable en cada fila. El número de fi las de la ta·
bla se reduce si colocamos dos o más estados establ es en la misma fiJa de la tabla de flujo. La
acciÓn de agrupar estados estables de diferentes filas en una mi sma fila se denomina/u.ti611 .
La fusión de varios e.<¡todos estables en la mi sma fila implica que la variable binaria de estado
que en última instancia se asigna a 111 fila fusionada no cambiará cuando cambie la variable de
entra.da. Ello se debe a que, en una tabla de flujo primitiva. la variable de estado cambia cada
vez que cambia la entrada, mientras que, en una tabla de flujo reducida. una modifi cación en
la entrada no produce una alteración en la variable de estado si el siguiente estado estable está
en la misma fila.
En la siguiente sección se presentará un procedimiento fomlal para reducir la tabl a de flu·
jo. A fin de termi nar el ejemplo de diseno sin explicar el procedimiento formal , aplicaremos el
proceso de fusión utilizando una versiÓn simplificada de las reglas de fusiÓn. Es posible fusio-
nar dos o más filas de la tabla de flujo primitiva en una fila si no hay conflictos entre los e.<¡ ta-
dos y salidas de cada una de las columnas. Siempre que encontremos un sfmbolo de estado y
marcas de indiferencia en la mi sma columna. anotaremos ese estado en la fila fusionada, Ade·
más, si el estado está encerrado en un cfrculo en una de las filas. tambi én se encerrará en un
cfrculo en la fila fusionada. Se incluye el valor de salida con cada estado estable en la fila fu·
sionada.
Ahora apli caremos esla.<¡ regla.<¡ a la tabla de fluj o primitiva de la figuro 9·16. Paro mostrar
cómo se hace esto. hemos dividido la tabla de flujo en dos partes de tres filas cada una. como
se aprecia en la figuro 9. 17a). En cada parte vemos tres esmdos que pueden fusionarse
porque no hay conflictos en ninguna de las cuatro columnas. En la primera. columna de la pri·
mera pane aparece el estado e en todas las columnas y O o un guión como salida. Puesto que
un gui ón representa una condición de indiferencia. se le puede asociar a cualquier estado o sao
prOiP.gido )Or cif' 1 AI"'" de "
366 Capítulo 9 lógica secuencial asincrónlca
inestable b. Si la salida asignada al b inestable es l. aparecerá un pulso cono momemáneo en
la salida cuando el circuito cambi e de una salida O en el estado a a una salida de I en el esta-
do inestable b y vuelva a O cuando el circuito llegue al estado estable b. Por tant o. la salida
correspondiente al estado inestabl e b se debe especificar como O para evitar una salida falsa
momentánea.
Si una variable de salida debe cambiar de valor como resultado de un cambio de estado. se
asigna una condición de indiferencia a esa variable. Por ejemplo. la transición del estado esta-
ble b al estado estable e en la figura 9-21 a) cambia la salida de O a l . Si se asigna O como va-
lor de salida del estado inestable c. el cambio en la variable de salida no se dará sino haslIl el
ténnino de la transición. En cambio. si se asigna l. el cambio se efectuará al principio de la lron-
siciÓn. Puesto que no impona cuándo se efectúe el cambio de salida. colocamos un indicador
de indiferencia en la salida asociada al estado ineslllble c. En la fi gura 9-21 b) se presenta la asig-
nación de salida para la tabla de nujo. Esta asignación ilustra las cuatro posibles combinacio-
nes de cambio de salida que pueden presentarse. El procedimiento para efectuar la asignación
a salidas asociadas a estados inestabl es se resume asf:
l . Asigne O a una variable de salida asociada a un estado inestable que es un estado transi-
torio entre dos estados estables que ti enen O en la variable de salida correspondiente.
2. Asigne I a una variable de salida asociada a un estado ine.'1table que es un estado transi-
tori o entre dos estados eSlIlbles que ti enen I en la variable de salida eorre. .. pondiente.
J. Asigne una condición de indiferencia a una variable de salida asociado a un estado ines-
table que es un estado transitorio entre dos estados e. .. tables que tienen valore." distintos
(O'j I o I 'j O) en la variable de salida correspondiente.
Resumen del procedimiento de diseño
El di seno de circuitos seeuencillles asincronicos se efectúa utilizando el procedimiento que se
ilustro en el ejemplo anterior. En las secciones siguientes se explicarán algunos de los pasos
de di sei\o que es preciso detallar más. Los pasos del procedimiento son:
l . Obtenga una tabla de nujo primitiva a partir de las especificaciones de di seno dadas. fu·
ta es la parte más dificil del diseño porque son necesari as intuición y experiencia paro in-
terpretar correctamente las especificaciones del diseño.
2. Reduzca la tabla de nujo fusionando filas de la tabla de nujo primitiva. En la sección
9-5 se presenta un procedimiento formal para efectuar e. .. ta fusión.
J. Asigne variables binarias de estado a cada fila de la tabla de nujo reducida para obte·
ner la tabla de transición. El procedimiento para asignar estados eliminando cualquier
posible carrera cótica se describe en la sección 9-6.
4. Asigne valores de salida a los guiones asociados a 105 estados inestables. para obtener
los mapas de salida. Este procedimiento ya se explicó.
5. Simplifique las funciones booleanas de las variables de excitación y de salida y dibuje
el diagrama lógico. como se explicó en la secciÓn 9-2. El diagramll lógico se dibuja
utilizando latches SR. como se explica en la sección 9·3 'j tambi én al final de la sec-
ción 9-7.
M ~ ~ r l l l protegido por deree 10 de u ':Ir
Sección 9-5 Reducción de estados y de tablas de flujo 367
9-S REDUCCiÓN DE EST A DO S Y DE TABLAS
DE FLUJO
El procedimiento para reducir el número de estados internos de un circuito secuencial asincTÓ-
nieo es si milar al procedimi ento empl eado con circuitos sincrónicos. En la seccióo 5-6 presen-
tamos un algoritmo para reducir los estados de una tabla de estados totalmente especificada.
Repasaremos ese algoritmo y lo aplicaremos a un método de reducción de estados que utiliza
una tabla de implicación. Luego modificaremos el algoritmo y la tabla de implicación para cu-
brir la reducción de estados de tablas de estados incompl etamente especificadas. A conti nua-
ción utilizaremos el algorit mo modifi cado para explicar el procedimiento de reducción de la
tabl a de flujo de circuitos secuenci ales asincróni cos.
Tabla de Implicación
El procedimient o para reduci r los estados de tablas de estados totalmente especifi cadas se ba-
sa en el hecho de que dos estados de una tabla de estados se pueden combinar en uno solo si
se demuestra que son equivalentes. Dos estados son equi valentes si, para cada posible entra-
da, dan exactamente la mi sma salida y pasan a los misnt os sigui entes estados o a siguientes es-
tados equivalentes. La tabla 6-6 brinda un ejemplo de estados equivalentes que tienen los
mi smos siguientes estados y las mismas salidas para cada combinación de entradas. Hay oca-
siones en que dos estñdos no presentan los mismos sigui entes estados, pero de todas maneras
pasan a siguientes estados equivalentes. Considere, por ejemplo. la tllbla de estados mostrada
en la tabl a 9-3. Los estados actuales a y b tienen la misma salida con la misma entrada. Sus si-
gui entes estados son e y d cuando.r = O. y b Y a cuando x = l . Si se demuestra que el par de
estados (e, d ) es equivalente, el par de estados (a, b) también será equivalente porque tiene
siguientes estados iguales o equivalentes. Cuando existe una relación así, deci mos que (a, b)
implican a (e, d ). Asimismo, en las dos últi ma<; fil as de la tabla 9-3 vemos que los dos e,<;tados
(e, d) implican al par de estados (a, b). La característica de los estados equivalentes es que, si
(al b) impli can a (e, d), y (e, el) implican a (a, b). entonces ambos pares de estados son equi-
valentes; es decir. a y b son equivalentes, lo mismo que e y d. Por tanto, las cuatro filas de la
tabla 9-3 se reducen a dos fil as combinando Il y b en un solo estado, y e y d en otro.
Es posibl e verificar sistemáticamente la equivalencia o no equivalencia de cada par de es-
tados de una tabla con un gran número de estados con la ayuda de unn tabla de implicación.
La tabla de implicación es un di agl1lma que consiste en un cuadrado para cada posible par de
estados, con espacio para anotar cualesquier estados quc pudicl1ln implican;e. Si examinamos
Tabla 9 · )
rabia para ilultrar
b._
Slgulente estado S.lkla
actual
x - O
x _ '
x - O
x - ,
a e b O 1
b d a O 1
e a d 1 O'
d b d 1 O
M' pr01eQido por ÓfI • ""'Ir

I
Sec.ción 9·5 Reducción de estados y de tablas de fl uj o 369
les con tooas las entradas. En este caso. la sal ida del estado e es diferente de la de cualquier
otro estado, por lo que se pone una cruz en los dos cuadrados de la fila e y en los cuatro cuadra-
dos de la columna c. La labia de implicación ti ene otros nueve cuadrados que pertenecen a cs-
la calegoría.
A continuación, se anola en los cuadrados restanles los pares de estados implicados por el
p¡ar de estados que cada cuadrado representll. Comenzamos con el cuadrado superior de la co-
lumna izquierda y procedemos hacia abajo: luego continuamos con la siguiente columna hacia
la derecha. En la labia de estados vemos que (a. b) implican a (d. e). así que anotamos a (d. e)
en el cuadrado definido por la columna a y la fila b. Continuamos de esta manera hasta tenni-
naT la labIa. Observamos que los estados (d. e) son equivalentes porque pasan al mismo si-
guiente estado y tienen la mi sma salida. Por tanto. colocamos una paloma en el cuadrado
definido por la columna d y la fila e, para indicar que Jos dos estados son equivalentes e inde-
pendienles de cualquier par implicado.
El siguiente p3.<:o consiste en efectuar revi siones sucesivas de la tabla para detenninar si
hay otros cuadrados que deban marcarse con una cruz. Se tachará un cuadrado de la tabla si con-
tiene al menos un par implicado que no sea equivalente. Por ejemplo. el cuadrado definido por
a y ¡se marca con una cruz j unto a e, d porque el par (c. d ) define un cuadrado que contiene
una cruz. Este procedimient o se repite hasta que no es posible UlChar más cuadrndos. Por últi-
mo, se marcan con una paloma todos los cuadrados no tachados. Estos cuadrados definen pa-
res de estados equivalentes. En este ejempl o, los estados equivalentes son
(a. b) (d. <) (d. g) «, g)
Ahora combi namos pares de estados en grupos mayores de estados equivalentes. Los últi -
mos tres pares se combinan en un juego de tres estados equivalentes (d. e, g) porque cada uno
de los estados del grupo es equivalente a los otros dos. La división final de los estados consis-
en los estados equivalentes obtenidos de la tabla de implicación y todos Jos estados restan-
tes de la tabla de estados que no son equivalentes a ni ngún otro estado.
(a. b) (e) (d. <, g) (f)
Ésto quiere decir que la tabla 9-4 se puede reducir de siete a cuatro estados. uno para cada
miembro de la divi sión anterior. Obtenemos la tabla reducida sustituyendo al estado b por a y
a los estados e y g por d. La tabla 9-.5 corresponde a la tabla de estados reducida.
T.bl.9-5
Toblo de nlado! rrducido
Est.do
Sigulente est.do
Sa'Ida
actu.1 .. O
.. ,
• • 0
.. ,
a d a O O
e d
!
O I
d a d I O
!
e a O O
protegido por derechos de 'lL.: or
370 Ca pít ul o 9 l ógica secuencial aslncrónica
Fusión de la tabla de estados
Hay ocasiones en que la tabla de estados de un circuito secuencial no está total-
mente. Esto sucede cuando cienas combi naciones de enlr.ldas o sucesiones de entradas nunca
pueden presentarse debido a restricciones externas o internas. En tales casos, los siguientes es-
tados y salidas que deberlan haberse presentado si fueran posibles toda<¡ las entr.ldas, nunca se
alcanzan y se consideron como condici ones de indiferencia. Aunque a vece.<¡ posible repre-
sentar circuitos secuenciales sincronicos con tabl as de estados incompletamente especifica-
das, lo que nos interesa aquí son los circuitos secuenciales asi ncronicos cuya t3bla de flujo
primitiva siempre está incompletamente especificada.
Los estados incompl etamente especifi cados pueden combi narse para reducir el número de
estados de la tabla dc flujo. Tales estados no se consider.rn equivalentes, porque la definición
fonnal de equi valencia requiere que estén especificadas todas las salidas y todos los siguien·
tes estados para todas las entmdas. Más bien, dos estados incompletamente especificados que
pueden combinarse se consideran compatibles. Dos estados son compatibles si. para cada
posible entrada, ti enen la misma sali da si está especificada, y sus siguientes estados son
compati bles si están especificados. Las condi ciones de: indiferencia mareadas con gui ones no
tienen efecto alguno en la búsqueda de estados compatibles. pues representan condiciones
no especifi cadas.
El proceso que debe aplicarse para encontrar un grupo adecuado de compatibles con obje·
to de fusionar una tabla de flujo se divide en tres pasos:
1. Oetenni ne todos los pares compatibles empl eando una tabla de implicación.
2. Encuentre los compatibles empleando un di3grama de fusión.
3. Encuentre un conjunto mfnimo de compatibles que cubra todos los estados y esté
cerrado.
Luego se USil el conjunto mfnimo de compatibles para fusionar las filas de la tabla de flujo. A
continuación, ilustraremos y explicaremos los tres pasos del procedi mient o empleando la ta-
bla de flujo primitiva del ejemplo de diseño de la sección anteri or.
Pares compatibles
El procedimiento pam encontr .... pares compatibles se iluslm en la fi gura 9-23. La labia de flu-
jo primitiva de a) es igual a la figura 9- 16. El contenido de cada cuadro representa el siguiente
eslado y la salida. Los guione.c; representan los estados o salidas no especificados. Usamos la
tabla de implicación para encontrar estados compati bles de la mi sma forma que la usamos
para hall ar estados equi val entes en el caso totalmente especificado. La úni ca diferencia es que,
al comparar filas. podemos ajustar los gui ones pam hacerl os congruenlc.'i con cualquier con-
dici ón deseada.
Dos estados son compatibles si, en las col umnas de las filas corn:spondientes dc la ta-
bla de flujo. hay estados idénticos o compatibles. y si no hay confli clOs entre los valores de
salida. Por ejemplo, las u y b de la tabla de flujo son compatibles. pero las filas u y I só-
lo serán compatibles si e y I son compatibles. Sin embargo. las fila<¡ e y I no son compatibles
porque tienen salidas di sti ntas en la primera columna. Esta infonnación se registra en la tabla
de implicación. Una paloma denota un cuadrado cuyos dos e.<¡tados son compatibles. Los es-
tados que no son compatibles se marcan con una Cru7_ En los cuadrados restantes se anotan los
pares implicados que es preciso investigar a fondo.
protegido por derechos de 'lL.: or
372 Capítulo 9 lógica secuencial asincrónica

fr __ -j-_
d
a) Máximo compatible:
(D, b,) (a, f, d) (b, e,n
fiGURA 9·24
Diagramas de fusión
,
,
b) Mbimo compalible:
(a, (b,l', h) (l', tI) (g)
,
La fi gurn 9-24b) muesU'a el diagrnma de fusión de una tabla de fl ujo de ocho estados. Los pa-
trones geomélricos son un reclángul o con sus dos diagonales conecladas para fonll ar el com-
patible de cuatro estados (a, b, e,j). un lri ángul o (b, c. 11), una lrnea (c. d ) y un estado solitario
g que no es compatibl e con ni ngún otro. Los máximos compatibles son
(a.b.,.!) (b. e. h) (e. d) (g)
Podemos usar conj unto máxi mo compatible para fusionar la labia de fl ujo asignando una fi -
la de la tabla reducida a cada miembro del conjunlo. Sin embargo. es muy común que los
máximos compat ibl es no necesariamente constit uyan el conjunto mínimo de compatibles. En
muchos casos. es posibl e encontrar un conj unto más pequeño de compatibles que sati sfaga la
condición para fusionar fi las.
Condición de cobertura cerrada
La condición que debe sati sfacerse. para fusionar fi las es que el conj unto de compatibles esco-
gido debe cubrir todos los estados y debe ser cerrado. El conj unto cubre todos los estados si
incluye todos los e.<¡t ados de la tabla de estados original. La condición de cierre se satisface
si no hay estados implicados o si los esllldos impli cados están incl uidos en el conjunto. Un
conjulllo cerrado de compat ibles que cubre todos los cSlados se denomina cobertura cernldCl .
Explicaremos la condición de cobenura cerrada (,'On dos ejemplos.
Consi deremos los máximos compatibles de la fi gura 9-24a). Si elimi namos «(/. b). nos que-
dará un conjumo de dos compatibles:
(a, <. d) (b. ,.¡)
Los seis estados de la tabla de flujo de la figura 9-23 eslán incluidos en este conjunto. E.<¡to sa-
t isface la condición de cobenurn. No hay estados implicados para (a. e), (a. d ). (e, d ). (b. e).
(b,f) ni (e, j). como se ve en la labia de impl icación de la fi gura 9-23b). asf que lrunbién se
smi sface la condi ción de cierre. Por tant o. la lablll de fl ujo primit iva se puede fusionar en dos
Mal 'JI prOiP.gido 0f dE' 'Jl 'lr

I
Sección 9-5 Reducción de estados y de tablas de flujo 373
filas. una para cada uno de los complltibles. La construcción detallada de la tabla reducida pa-
ra este ejemplo específico se efectuó en la sección anlerior y se muestra en la figura 9-17b).
El segundo ejemplo proviene de una tabla de flujo primitiva (no se muestra) cuya labio de
impli cación se presema en la figura 9-250). Los pares de compat ibles deducidos de la labia
de implicación son
(o. b) (a. d) (b. e) (c. d) (c. e) (d. e)
Determi namos los máximos compatibl es con el diagrnma de fusión de la figura 9-25b):
(o. b) (a.d) (b,c) (c,d,,)
Si escogemos los dos compatibles
(a. b) (c. d. e)
el conjunto cubrirá los cinco estados de la labia original. La condición de cicm se verifica uli -
li,zando una tabla de cierre. que aparece en la fi gura 9-25c). Los pares implicados que se indi-
can para cada compalible se loman di reciamente de la tabla de implicación. Los estados
implicados paro (a, b) son (b. e). Sin embargo. (b, e) no está incluido en el conjunto escogido
de (o. b) (c. d. e). asf que este conjunto de compatibles no es cerrado. Un conjunt o de compa-
tibl es que satisface la condición de cobenura cerrada es
(o, d) (b,c) (c,d.,)
b
b,t;./
,
x d,t:./
,
d
b, c ./ x /l , .t ./
,
x x
¡
b.c./

b
,
d
a) Tabla de implicación b) Diagrama <k fusión
Compatibles (4, b) (/l, d) (b,e) (e, d, t:)
Estados implicados (b, e) (b, e) (d. t:) (a, d,)
(b. c,)
c)Tabla de cierre
fiGURA 9-25
Selección de un conjunto de compatibles

Sección 9-6 Asignación de estado si n carreras 375
00 10
, _ oo;::... ______ b - 01
,
8
b
,
8
b
,
8 8
,
, ,
8 8 8
a) Tabl a de nujo b) Diagrama de transiciÓn
FIGURA 9-26
Ejemplo de tabla de flujo de tres filas
Podemos ob(ener una asignación sin carreros si añadimos otra fila a la tabla de fl ujo. El uso
de una cuarta fila no aumenta el número de variables de estado bi narias. pero sr permite: la for-
mación de ciclos entre dos estados estables. Consideremos la tabla de fl ujo modi ficada de la fi -
gura 9-27. Las primeras tres fil as representan las mi smas condiciones que la tabla original de
tres filas. Asignamos a la cuarta fila. rotulada d. el valor binario 10. que es adyoccnte tanto a a
como a c. Ahora la trnnsición de a a c debe pasar por d, asl que Las variables binarias cambian de
a = 00 a d = 10 a c "" 11, con 10 que se evita una carrera critica. Esto se logra cambiando la fi-
lo. a, columna 11 , a d. y la filo. d, columna 11 , a c. De forma análoga. vemos que la transición de
~ a a pasa por el estado incslable d, aunque la columna 00 constiluye una carrera no critica.
La tabla de transición correspondi ente a la tabla de fl ujo con la asignación indicada de es-
tados binarios se reproduce en la fi gura 9-28. Los dos gui ones de la fila d representan estados
no especificados que se consideran condiciones de indi ferencia. Sin embargo. hay que tener cui-
dado de no asignar 10 11 estos cuadrados. paro evitar la posibil idad de establecer un estado es-o
table indeseable en la cuarta fila.
Este ejemplo ilustra el uso de una fila extra en la tabla de flujo para lograr una asignación
sin carreras. La fi la extra no se asigna a ni ngún estado estable especffico: más bien. sirve para
00 01 11 10
,
8
b d
8
b .. O!
b
,
8 8
,
,
d
0 8 8
d
,
-
,
-
d .. !O e _ U
.) Tabl a de nujo b) Diagrama de tran5ició"
FIGURA 9-21
Tabla de flulo con una fila exlra
M flll protegido por c!erocf]o,,- de t.: '"Ir
Sección 9-6 Asig nación de estado sin carreras 377
"
00 01 11 10
, . OOO'-____ ::, b '" 00\
,
O
,
b
, t
g
d
1
.. 'OO¡
a) AlIignación binaria
d ., \01
/ = \11 c " o\ \
b) Diagrlllla de transición
FIGURA 9-30
Selección de filas extra para la tabla de flulo
La figuro. 9-30 muestro. el mapa de asignación de estados apropi ado para cual quier labia de
flujo de cuatro fil as_ Los estados n_ b_ e y d son los ori gi nales: t,fy g son estados extro.. Los
estados colocados en cuadrados adyacentes en el mapa tendrán asignaciones adyacentes. Asig-
namos 00 I al estado b. que es adyacente a los otros tres estados ori ginal es. La transición de n
a d debe pasar por el estado extra t para que produzca un ciclo y sólo una variable binaria cam-
bie a la vez. De fonna análoga. se hace que la lmnsición de e a u pase por g. y que la lr.lnsi-
ción de d a c pase por f. Mediante la asignación dada por el mapa, la tabla de cuatro fi las se
puede expandir a una tabla de siete fil as que no tiene carreras crit icas. como se observa en la
fi gura 9-31. Aunque la tabla de fl ujo ti ene siete filas, sólo hay cuatro estados estables. Los es-
tados de las tres filas eXIm. no encerrados en círculos, sólo están ahí para poder efectuar una
transición sin carreras entre los estados establ e. ...
00 01 11 10
000 · , b
0

0
001 - b
G " G
,
01 1 'O c
0
g b
0
010. ,
-
,
- -
110 -
- - - -
111 'O /
,
- -
,
101 _ d
/
0 0
/
lOO _ e - -
"
-
FIGURA 9-31
Asignación de eHados a la tabla de flulo modificada
Mar fI'll protegido pt)r ¡,;erecho" de 'lU ':Ir
378 Capít ulo 9 lógica secuencial asincrónica
Este ejemplo ilustra una posible forma de seleccionar filas ext ra en una tabla de flujo pa-
m lograr una a.'.ignación si n carrerus. Un mapa de asignación de eStados similar al de la fi -
gura 9-3Oa) es útil en la generalidad de los casos. A veces es posible aprovechar elementos no
especifi cados de la tabla de fl ujo. En lugar de añadir fil a .. a la tabla. podría ser posible elimi-
nar carreras CÓlicas haciendo que algunas dc las transiciones de estado pasen por los estados
indiferentes. La asignaci ón real se efectúa por ensayo y error hasta encontrar una asignación
satisfactoria que resuelva todas las carreras criticas.
Método de múltiples fil as
El método para efectuar asignaciones de estado sin carreras añadiendo fil as extra a la tabla de
flujo. que ilustramos con los dos ejemplos anteriores. se conoce como método dcfiJas componi-
das. Existe un segundo método. menos eficiente pero más fácil de aplicar. II nmado método de múJ-
tiplesfilas. En la asignación de múltiples filas. eada estado de la tabla de flujo original se sustituye
FIGURA 9·J2
y,
O
1
(Xl() .. a l
111 - /12
001 .. b¡
011 .. Cl
100 " Cl
010 " di
Asignacl6n de múltiples filas
""
00 01 11 10
"
h,
"
",

d,
"
",
a) Asignación binaria
00 01 11 10
b,
G
d,
G
b,
G
d,
G
G
d,
@
"
G
d,
@
"
G "
h,
G
G "
",
6)
" 8 G
"
" 8 G "
b)Thbla de nujo
protegido por derechos de 'lL.: or
I
Sección 9-7 Peligros 379
por dos O más combin3Ciones de variables de estado. El mapa de asignación de eslados de la fi -
gura 9-32a) muestra una asignación de múltiples filas que se puede usar con cualquier labia de
flujo de cunlJ'O f i l a . ~ . Hay dos variables de estado bi nari as para cada estado estable, siendo una el
complememo lógico de la otra. Por ejemplo. el estado origi nal a se sustituye por dos estados
equivalentes, al = 000 Y a l ;;. 11 1. Los valores de salida, que no se indican aquí. deben ser los
mismos en (1, y a 2' Vemos que UI es adyacente a b •• el Y di ' Y a l es adyocenle a el. ~ Y d
2
: asimis-
mo. cada estado es ndyacente a tres estados designados con letrn di stinta. El componamiento del
circuilo es el mismo si el estado intemo es a. o al_ Y lo mismo sucede con los demás estados.
La figurol. 9-32b) exhi be la asignación de múltiples fil as para la tabla de flujo original de la
figura 9-293). La tabla expandidn se fonna sustituyendo cada fil a de la labia ori ginal por dos
fila.;. Por ejemplo. la fila b se sustilUye por las filas b¡ y b
1
• Y se inlrOduce el estado estable b
el) las columnas 00 y 11 en ambas filas. Una vez que se han introducido todos los estados es-
tables. se introducen los estados inestables consultando la asignación espedficada en el mapa
de la p3J1e a). Al escoger el siguiente estado para un estado actual dado. se selecciona del ma-
pa un estado adyacente al estado actual. En la tabla original. los siguientes estados de b son a
y d par.!. la<; cntrodas 10 Y 01. respectivamente. En la tabla expandida. los siguientes estados pa-
1':\ b¡ son al Y dI porque ¿<;tO!i son los estados adyacentes a b¡. Asimismo. los sigui entes esta-
dos para b
1
son a2 Y di ' porque son adyacentes a b
1
·
En la asignación de múltiples fil as. el cambio de un estado estable a ovo siempre causará el
cambio de sólo una variable de estado binaria. Cada estado estable tiene dos asignaciones bina-
rias con exactamente la misma salida. En cualquier momento dado, sólo se está usando una de
las asignaciones. Por ejemplo. si panimos del estado (11 y la entrada 01 y luego cambiamos la en-
troda a 11. 01 . 00 y de vuelta a O 1. la sucesión de estados intemos será. al _ dio el Y a 2' Aunque el
circuito inicia en el estado a l Y termi na en el estado a2' en lo que a la relación de entrada-salida
concierne. Jos dos estados. al Y 01' son equivalentes al estado a de la tabla de flujo original.
9-7 PELIGROS
Al diseñar circuitos secuenciales asincrónicos. hay que tener cuidado de respetar ciertas res-
tricciones y precauciones para garanti zar un funcionamiento correcto. El circui to se debe ope-
rar en modo fundamental, o sea que sólo debe cambiar una entrada en cualquier momento
dado. y no debe tener carreras criticas. Además. existe ()(ro fenómeno, llamado peligro (/Ill1.Ord),
que podría hacer que el circuito no funcione correctamente. Los peligros son transitori os de con-
mutación indeseables que podrían aparecer en la salida de un circuito debido a que diferentes
trayectorias tienen diferentes retardos de propagación. Se presentan peli gros en los circuitos
combi nacionales, donde podrían causar un valor temporal de salida falsa. Cuando esta condición
J presenta en circuitos secuenciales asincrónicos, podría causar una transición a un estado es-
table indebido. Por tanto. es necesario cuidar la posibilidad de peli gros y determinar si causan
operaciones indebida.;: Si lo hacen, será preciso tomar medidas para eli minar su efecto.
Peligros en drc:ultos c:omblnadonales
Un peligro es una condi ción en la que un cambio en una sola variable produce en la salida un
cambio moment Wleo que no deberla presentarse. El circuito de la fi guro 9-33a) ilustra un pe-
ligro. Supongamos que las tres entrodas son 1 inicialmente. Esto hace que la salida de la com-
puerta I sea l. que la de la compuerta 2 sea O y que la del circuito sea l . Consideremos ahora
un cambio de X2' de 1 a O. La salida de la compuerta I cambia a O, y la de la compuerta 2, a l.
Mal io:¡l proJP.Qido 'lnr derer.hos df' :]l t')r
380 Capítulo 9 lógica secuencial aslncrónica
XI - I
,
<,
Lr---. ,
J -y
2
a) Circuito AND·OR
FIGURA 9-lJ
CIrcuitos con pellgro5
" -
,
"

,
0-'
,-o
,
0-'
J
y

2 r'-O
-'
b) Circuito NAND
con lo que la sali da del circuilO permanece en 1. Sin embargo. la salida del circuito podría
cambiar momentáneamente a O si se toma en cuenta el retardo de propagación a través del in-
versor. El retardo en el inversor podría hacer que la salida de la compuerta I cambie a O antes
de que la salida de la compuerta 2 cambie a l. En ese caso. las dos entrJdas de la compuert a 3
semn momentáneamente O. y la salida del circuito cambitlrá a Q durant e el breve lapso que la
señal de entrada de Xl se retarda mientras se propaga a través del circuito inversor.
El circui to de la figurJ 9-33b) es una implementación NANO de la mismn función boolea-
na. TIene un peligro por el mismo moti vo. Dado que las compuertas I y 2 son NANO. sus sa-
lidas son el complemento de las sal idas de las compuertas ANO correspondientes. Cuando Xl
cambia de 1 1I O. 111.<; dos de In compuerta 3 podrinn ser 1. 10 que harúl que In salida pro-
dujera un cambio momentáneo a O cuando debería haberse mantenido en l .
Los dos circuitos que se ilustran en la figura 9· 33 implementan la función booleana en su-
ma de productos:
Este li po de implementación podrfa hacer que la sali da cambie a O cuando debería mllnlener-
se en 1. Si el circui to se implementa en producto de sumas (véase la sección 3-5). o sea.
y = (Xt + X;J(Xl + Xl)
la salida podrla cambiar momentáneamente a I cuando debería mantenerse en Q. El pri mer ca·
so se describe CQmo peligro de / estático. y el segundo. como peligro de O estático. Un tercer
ti po de peli gro. ll amado peligro dinámico. hace que la salida cambie tres o más veces. cuando
debería cambiar de 1 a O o de O a l. La fi gura 9-34 ilustra los tres ti pos de peligros. Cuando un
' -;
o
a) Peligro de I estJi tico
FIGURA 9·34
Tipos de peligro5
,
b) Peligro de O estático
,-
o
e) Peligro di námico
M fl 31 protegido por derecho" de u ':Ir
382 Capítulo 9 lógica secuencial as!ncrónlca
Peligros en circuitos secuenciales
En el diseño normal de ci rcuitos combinacional es asociados a circuitos secuenciales sincróni-
cos. no hay que preocuparse por los peligros. pues las señal es erróneas momentáneas gener.ll-
mente no causan problemas. En cambio. si una señal moment.1neamente incorrecta se realimenta
a un circuito secuencial asincrónico. podría hacer que el ci rcuito pase a un estado estable in-
debido. Esto se ilustra en la figura 9-37. Si el circuito está en el estado estable total )'X IXl = 1II
Y la entrada X2 cambia de I a O, el sigui ente estado establ e total deberá ser 110. Si n embargo,
el peligro podría hacer que la salida Ycambie a O momentáneamente. Si esta seiial fal sa se rea·
limenta a la compuerta 2 ames de que la salida del inversor cambie a l . la salida de la compuer-
ta 2 se mantendrá en O y el circuito pasará al estado estable total 010, que es incorrecto.
despeñecto se elimina aiiadiendo una compuerta extra, como se hizo en la fi gura 9-36.
Implementación con latches SR
Otra forma de evitar los peligros estáticos en circuitos secuenciales asincronicos implemen-
tar el circuito con latches SR. Una seiial O momentánea aplicada a la entrada S o R de un lalch
NOR no afectn el estado del ci rcuito. Asi mismo. una seiial 1 momentánea aplicada a las entra-
das S y R de un latch NANO no afecta el estado del latch. En la figura 9-33b) vimos que una
expresión de suma de productos de dos ni veles implementnda con compuertas NANO podría
tener un peligro de l estático si ambas entradas de la compuerta 3 cambian a 1, lo que haria
que In salida del circuito enmbie momentáneamente de l a O. Sin cmbargo, si la compuerta 3
fornla pane de un laleh, la seiial 1 momenlánea no afectará la salida porque una tercera entm-
da de la compuerta provendrá del lado complementado del latch. el cual será O, y por ello la
<,
I
3
-
<,
2
Y
a) Diagramalógiro
y
O
I
00
0
(0
Ol
0
O
11 10
I
0
(0 (0
b) Tbbla de transición
FIGURA 9-37
y
O
I
peligro en un ci rcuito se<uenclal aslncrónico
00 Ol 11 10
Í'I

)tr I
e) para Y
Mat na! protegido por derechos dfI aL'f')r
,
Sección 9-7 Peligros 383
salida se mantendrá en 1. Para aclarar eslO, consideremos un ¡alch SR NANO con las siguien-
tes funci ones booleanas para S y R:
S "" AB + CD
R ::: A'C
Pueslo que se Irala de un lal ch NANO. hay que aplicar 105 valores complementados a las
enlradas:
s = (AB + CD)' = ( AB)'(CD)'
R = (A'C)'
Esla implememación se ilustra en la rigur ... 9-38a). S se genera oon dos compuertas NANO y
una ANO. La funci ón booleana de la salida Q es
Q = (Q'S)' = [Q' (AB)'(CD)' ]'
A
B
C
D
A '
C
A---'
B >---;
~ = = =
--'
s
.)
Q
Q'
A ' ---, ~ ___ -= _J ~ - - ' - - Q '
C-- _ J
FIGURA 9· 18
Implementadón con latches
b)
Mal nal protegido por derechos dfI aL'!')r
384 Capítulo 9 lógica secuencial asincrónica
Esta función se genera en la fi gura 9-38b) con dos ni vele. .. de compuerta .. NANO. Si la salida
Q es l. entonces Q' es igunl a O. Si dos de las tres entradas cambian moment áneamente a l. la
compuerta NANO asociada a la sali da Q se mantendrá en I porque Q' se mantiene en O.
La figura 9-38b) representa un circuito típico que puede uti lizarse par.! construir circuitos
secuenciales asincfÓnicos. Las dos compuenas NANO que fonnan el latch nonnnlmente tie-
nen dos entradas. pero si las funciones S o R contienen dos o más témli nos producto cuando
se expresan en suma de productos. la compuerta NANO corre. .. pondiente del latch SR tendrá
tres o más ent radas. Asf. los dos ttrminos de la expresión ori gi nal en suma de productos para
S son AB y CD. y ambos se implementan con una compuena NANO cuya salida se aplica a la
entrada dellatch NANO. De este modo. cada vari abl e de estado requiere un circuito con dos
ni veles de compuertas NANO. El pri mer nivel consiste en compuenas NANO que implemen-
tan cada ténnino producto de la expresión booleana original paro S y R. El segundo nh'el for-
ma la conexión acoplada en cruz del latch SR con entradas que provienen de las sali das de
cada compuert a NANO del pri mer nivel.
Peligros esenciales
Hasta aquf se han considerado los peligros caracterizados como y di námicos. fu iste
otro ti po de peli gros que podrlan presentarg en los circuitos secuenciales asincr6ni cos: los
llamados peligros esenciales. Estos peligros se deben a retardos desiguales 3 10 largo de dos o
más trayectori as que se originan en [a misma ent • .lda. Un retardo excesivo a tmvts de un ci r-
cuito inversor. en compamción con el retardo asociado a 13 trayectorin de retroal imentación. po-
dría causar un pel igro Los peligros esenciales no se pueden corregir añadiendo compuertas
redundantes. como se hace cuando hay peligros estáticos. El problema que implican se corrige
aj ustando e[ retardo en la trayectori a afectada. Pura evitar peligros esenciales, cada lazo de re-
troali mentación se debe manejar en fonna individual para asegurar que su retardo sea suficien-
temenle largo en comparación con los retardos de otras señales que se origi nan en las tenninales
de entrada. El probl enm suele ser especializado. pues depende del circuito espccffico y de los
retardos que tenga en sus diversas trayectorias.
9-8 EJEMPLO DE D I SEÑO
Ya estamos en condiciones de examinar un ejemplo de diseño completo de un circuito secuen-
cial asi ncronico. Este ejemplo podría servi r como referencia para el diseño de Ol ros circuitos
similares. Ilustraremos el método de diseño siguiendo los pasos del procedimiento Tt!comen·
dado que se numeraron al fi nal de la sección 94 y que repetimos aquí. Entonces una vez es-
tablecidas especificaciones de diseño.
1. Deduzca una tabla de flujo pri miti va.
2. Reduzca la labi a de flujo fusionando filas.
3. Efectúe una asignación de estados binarios que no tenga carreras.
4. Obtenga la tabla de transición y el mapa de salida.
5. Obtenga el diagrama lógico empleando latches SR.
M' mi protegido por deroct]o de "Ir
Sección 9-8 Ejemplo de di seño 385
especificaciones de diseno
Es necesario d i ~ ñ a r un flip-flop T disparado por flanco negativo. El circuito tiene dos entra-
das, T (toggle) 'i e (reloj ), 'i una salida. Q. El estado de sali da se complementa si T "" I 'i el
reloj e cambia de I a O (di sparo por borde negativo). En todas las demás condiciones de en-
trada. la salida Q no cambiará. Aunque es posible usar este circuito como flip-fl op en circui-
tos secuenciales con reloj. el di seño intemo del flip-flop (como sucede con todos los demás
flip-flops) es un problema asincrónico.
Tabla de flujo primitiva
La deducción de la tabla de flujo primitiva podría ser más fácil si primero obtenemos una ta-
bla que numere todos los estados totales en que puede estar el circuito. como ~ aprecia en la
tabla 9-6. Comenzamos con la condición de entrada Te = II Y la asignamos al estado a. El
circuito pasa al estado b y la salida Q se complementa de O a 1 cuando e cambia de I a O mien-
tras T permanece en l. Hay otro cambio en la salida cuando el circuilo pasa del estado e al
d. En este caso. T "" 1, e cambia de 1 a O y la salida Q se complementa de 1 a O. Los otros cua-
tro estados de la tabla no causan un cambio en la salida porque T es igual a O. Si Q inicialmen-
te es O. pemlanece en O. y si inicialmente es l. permanece en I aunque cambie la entrada de
reloj. Esta infom13ción da pie a seis estados total es. Advierta que no se han incluido las tran-
siciones simultáneas de dos variables de entrnda. como de 01 a 10. porque violan la condición
de operación en modo fundamental.
La tabla de flujo primitiva se presenta en la figurn 9-39. La información para esa tabla se
obtiene directamente de las condiciones numer..ldas en la tabla 9-6. Primero se llena un cua-
dmdo de cada fila. el correspondiente al estado estable de esa fila según se indica en la tabla.
Luego se colocan guiones en los cuadrados cuya entrada difiere en dos variables de la entrada
correspondiente al estado estable. A continuación se determinan las condiciones inestables con
base en la información de la col umna de comentarios de la tabla 9-6.
T.bl.9-6
EJpecificotión de estada! taro/el
Entrad., ......
"todo
T e Q Cotnent.rtos
u I I o Salida inicial es O
b I O I Despu6l del estado a
,
I I I Salida inicial es 1
d I O O Despu6i del estado e
,
O O O Desputs del estado d o[
J
O I O Despu6i del estndo e o o
g O O I Desputs del estado b o h
h O I I Despu6 del eslado g o e
386 Capitulo 9 lógica secuencial asincr6nica
Te
-
00 01 1 1 10
,
- -

! .-
0 .
0
b . -
g ,- - - , .- (B. I

b
,
-.-
' .-
0.
1 d .-
' .-
- -
,
- @.o
• •
d
(9. 0 ! .- - - d .-

,
, ,-
0.
0 , .-
- -
• !
(!J.
1 h

- -

- b -

g
h
g . -
®- I
, .-
-.-
FIGURA 9 -39
Tabla de flujo primitiva
Fusión de la tabla de flujo
Las filas de la tabla de flujo primitiv'd se fusionan obteniendo primero todos los pares de esta-
dos compatibles. Esto se hace con ayuda de la tabla de implicación de la figur.t 9-40. Los cua·
drados que conti enen palomas definen los pares compmibles:
(a,!) (b.g ) (b, /' ) (', h) (d .• ) (d.!) (,.!) (g.h)
Los compatibles máximos se obtienen del diagrama de fusión de la figura 9-4 1. Los patro-
nes geométricos que se reconocen en el diagrama son dos tri ángulos y dos lineas rectas. El
conjunuo de máximos compmibl es es
(a,f) (b.g, ' ) (c.h) (d.,,!)
En este ejemplo especffico. el conjunto mínimo de compatibles Illmbién es el conjunto máxi·
mo. Vemos que se satisface la condición de cerradura porque el conjunto incluye los ocho es-
tados originales numerados en la tabla de flujo primitiva. aunque los estados Ir y I se repiten.
La condición de cobertura también se satisface porque ningún par compatible tiene estados
implicados, como se observa en la tabla de implicación.
La labia de flujo reduci da se reproduce en la fi gura 9-42. La de la parte a) de la fi gura con-
serva los sfmbolos originales de los estados pero fusiona las fil as correspondientes. Por ejem-
plo, los estados a y lson compatibl es y.se fusionan en una fila que conserva las lelras ori ginales
de los estados. Asimismo. se usan los otros tres conjuntos compatibles de estados para fusio-
nar la tabla de flujo en cuatro filas. conservando los ochos sfmbolos de letra originales. La otra
fonna de dibujar la tabla de flujo fusionada se presenta en la parte b) de la figur.t. Ah{ a . ~ i g n a -
Mar 'JI prOiP.gido por df>1 "C'b"" de 'Jl "
I
Secc.!ón 9-8 Ejemplo de diseño 387
b
" ,e X
, ,
b,dX
,
b , d X
,
",eX
,
b.d )(
... fIX
I , h X J
b, d)(
J
"., )( ,. " X
J J
.. . r lo( .. ,f )(
f

f·" X J
b,dx
.. , , )(
b,dX
,
c'l X
f. ,
',h X
J J
d. c)(
t ." )( ,
J
", c X c. f )( l. " >!.
,


,
,
,
f

FIGURA 9-40
Tabla de Implicación


,
,
I
f ~ _ ~ '
FIGURA 941
Diagrama de fusi6n
TC
00 01 11
··f ' ,-
(D. o
0
0
b.g,h (V I @,I
, ,-
" ,
" 1
@,I
~ . I
d,t,f
0
0 (lJ, 0
' ,-
.)
FIGURA 9-42
Tabla de flujo reducida
10
b,-
@,I
d ,-
0 , 0
,
TC
00 01 11 10

11 ,- • ,o
Q).o @,-
b
<D I
@, I
,,-
<D I
,
b, -
0
1
0
1
d ,_
d
0
0
0 ,0
. ,-
0
0
b)
Mar fI'll protegido por c!erocf'Jo<:, de 'lL: "Ir
388 Capítulo 9 lógica secuencial ¡¡sincrónica
mos una misma lelra a todos los estados estables de cada fila fus ionada. Asf. el sfmbolo/se sus-
tituye por a. y g y h se sustituyen por b, y algo análogo se hace en las otras dos filas. La segun-
da alternativa muestra claramente una tabla de flujo de cuatro estados en la que se usan sólo
cuatro símbolos de letra para los estados.
Asignación de estados y tabla de transición
El siguiente paso del diseño consiste en encontrar una asignación binari a sin carreras para los
cuatro estados estables de la tabla de flujo reducida. Para encontrar una asignación adyacente
adecuada. dibujamos el diagrama de transición. que corresponde a la figura 9-43. En este ejem-
plo es posible obtener una asignación adyacente adecuada sin necesidad de estados eXlm. Ello
se debe a que no hay lineas diagonales en el diagrama de transi ción.
Al sustituir en la labia de flujo reducida la asignación binaria indicada por el diagrama de
transición. obtenemos la labia de transición de la figura 9-44. El mapa de salida se obtiene
de la tabla de flujo reducida. Asignamos valores a los guiones de la sección de salida según las
reglas establecidas en la sección 9-4 .
fiGURA 9-43
DIagrama de transición
• - 00
TC
00 01 11

@ @
10
,, "
• - 00
.-0
,
@ @
11
, -,
,
o,
G G
B B
00
10
O,
@
,o
B
a) Tabla de lr8nsición
fiGURA 9·44
Tabla de transición y mapa de salida
)'1 )'2
00
01
11
10
TC
00 01 11
,o
o O O X
, , , ,
, ,
1 X
O o O o
b) Map.l de sali da Q - )'1
protegido por derechos de 'lt.: or
Sección 9-8 Ejemplo de diseño 389
Di agrama lógico
El cin:uito a disei'lar tiene dos variables de estado. Y
l
y Y
1
• Y una salida. Q. El mapa de salida
de la fi gura 944 indica que Q es igual a la variable de estado Yl' La implementación del cir-
cuito requiere dos latches SR. uno para cada variable de estado. Los mapas para las entradas S
y R de los dos latches se aprecian en la fi gura 9-4.5. Los mapas se obtienen a partir de la infor-
mación dada en la tabla de transición utili zando las condiciones especificadas en la tabla de ex-
citación dellalch que aparece en la figura 9-l4b). Las funciones booleanas simplificadas se dan
abajo dc cada mapa.
El diagrama lógico del circuito se observa en la fi gura 9-46. Aquí usamos dos latches NAND
con dos o tres entradas en cada compuena. Esta implementación sigue el patrón establecido en
la sección 9-7. figura 9-38b). Las funci ones de entrada S y R requieren seis compuenas NANO
para su implementación.
y,y,
00
o 1
1 1
10
00 01
10
o
o o
o X
(xJ
x
Te
11 10
o o
1 o
x x
o x
a)SI - Y2TC +y'2 T C
M
00
o 1
1 1
1 o
FIGURA 9-45
00
o
X
X
o
Te
01 11
o o
X X
X X
o o
MapiU para l a ~ entradas de lalch
10
1
X
o
o
M
00
01
11
\O
00
01
11
10
Te
00 01 11 10
o x
~
x
x x o X
1 o o o
o o
Í'1
o
b) R
1
"'y
1
T C+ y'2 TC
Te
00 01 11 \O
x x x o
o o o o
o o o 1
X X X X
-'
M a t ~ f l ' l l protegido pt)r ¡,;erecho!'- de 'lU ':Ir
390 Caprtulo 9 lógica secuencial asincrónica
T
"
...
e
"
v Y,
TI
Y',
Y r
-
Q
Y,
Y',
FIGURA 9-46
Diagrama lógico del flip-flop T disparado por flanco negativo
Este ejemplo ilustro lo compl ej o que resulla diseñar circuitos secuenciales asincronicos.
Fue preparor 10 diagramas para o"'cner el diagrama dc circuito final. Aunque la
mayoría de los circuitos digi tales es del lipo sincronico, hay ocasiones en que es preciso
manejar un componamiemo asincróni co. Las propiedades presentadas en este capí-
tul o son indispensables par,j entender pl enamente el componamienl o interno de los circuitos
digi tal es.
Mal rF11 protegido p-?r derechos de '1U ':Ir
Referencias 397
9-23 Dibuje el diagruma lógico de la expresión en prodUCIO de sumas:
Demuestre que hay un peligro de O estático cuando XI y xl son O y Xl cambia de O a l . Encuen-
tre una forma de eliminar el peligro agregando otra compuena ORo
9-24 Las funciones booleanas para las entradas de un ¡alch SR son
S = xjxí Xl + X¡X1Xl
R = x, xí + X1Xj
Pre-part- el diagrama del circui to ulili;mndo el mfnimo de compuertas NAND.
9-25 Complete el diseño del circui to especificado en el problema 9-13.
REF ERENCIA S
1 . Hu.!.. F. J. Y G. R. P'BTERSON. 1981. lmroductlon ro SK'itc:hing Theoryand LogirnllHsign. 3a. ed.
Nueva York.: 10hn Wiley.
2. KQIIAVI, Z. 1978. SwilC:hing atul AUlOmata Theory, la. ed. Nueva York: McGraw·HiII.
3. McCWSKEY', E. J. 1986. Logic lHsign Principln . Englewood Cliffs. NJ: Prentice-Hall.
4. UNGER. S. H. 1969. Asynchronous Swl/chillg Circuits. Nue\'lI York: Jobn Wiley.
S. BREEDtNG, K. J. 1989. Digital Desig" Englewood Cli ffs, NJ: Prenticc· Hall.
6. FRIEI»IAN, A. D. 1986. Fundamenlals 01 Logic Des/gil and Switching Theory. Rockville, MD:
Computer Science PreSS.
7 . NEI .SOS. V. P .• H. T. NAGlE, J. D. llI:wts y B. D. CAaMou.. 1995. Digital Logic Clrcul, Aoolysls and
lksign. Prenticc· Hall .
,
Mat nal protegido por derechos dfI aL'!')r
Circuitos
integrados digitales
10· 1 INTRODUCCiÓN
'98

Los circuitos integrados (el ) y las familias de lógica digital se estudiaron en la sección 2-8. En
este capílulo se presentarán los circuitos eleclróniCO!i de cada f ~ l I l l i l i n de 16gicII digital en el y
se analizará su funcionamiemo eléctrico. Supoocmos que elleC10r tiene conoci mientos básicos
de circuitos eléctricos.
Lns familias de lógica di gi tal en el que se examinarán aquí 5On:
.TL
OTL
TTL
ECL
MOS
eMOS
Lógica resistor.transistor
Lógica diodo-trunsistor
Lógica trnnsistor-lr.msistor
Lógica acoplada por emisor
Melal-óxido-scmiconductor
Mctal-6xido-scmiconductor complementario
Las primcl1l.S dos, RTI. y OTL. sólo ti enen imponancia histórica. porque ya no se usan en
el di seño de sistemas digitales. R1L fue la primera familia comercial que se usó ampliamen-
te. La incluimos aquí porque: si rve como punto de partida para clI pl icar el funcion!lmiento bá-
sico de las compuertas digitales. Los circuitos DTL han sido reemplazados por TIL. De hecho,
TIL es una l1'"IQdifi cación de 13 oompuena OTL. Será más fácil entender el funcion3miento de
la compuena TIL una vez que hayamos analizado la compuena OTL. TIL. Eel y e MOS
tienen un gran número de circuitos 551. además de component es MSI. LSI y VLSI.
El circuito básico de cada familia de lógica di gi tal en el es una compuena NANO o
NOR. Este circuito básico es el bloque de construcción primario del que se derivan todos los
demás componcntCli di git.al es. más complejos. ew!:. familia de lógica en e l ti ene un libro de
datos que numera todos los circuitos imegrados de la familia. las diferenci as en las funcio-
nes lógicas que cada familia ofrece no radican tanto en las funciones que desempeñan como
Sección 10-1 Introducción 399
Entradas Salida
x
, ,
L L 11
x
I
)
L 11 11
,
11 L 11
11 11 L
FIGURA 10- 1
Compuerta NANO de 16glca positiva
en las caractenslicas eléctricas especfficas de la compuerta básica con la que se construye
el circuito.
Las compuertas NANO y NOR suelen definirse por las funciones booleanas que implementan
en términos de variables binarias. Al analizarlas como circuitos electrónicos. es necesario in-
vestigar sus relaciones de entrada-salida en términos de dos niveles de voltaje: un nivel al-
to denotado por H (lIi811) Y un nivel bajo denotado por L (lo",). Como se mencionó en la sección
2-8. la de I binario a H da pie a un sistema de lógica positiva, y la asignación de I
binario a L da pie a un sistema de lógica negativa. En la figura 10-1 se presenta la tabla de ver-
dad de una compuerta NANO de lógica positi va en términos de H y L Vemos que la salida de
la compuerta es alta en tanto una o más entradas sean bajas. La salida es baja sólo cuando am-
bas entradas son altas. El comportamiento de una compuerta NANO de lógica positiva en tér-
minos de señales altas y bajas se plantea asf:
Si cualquier entrada de una compuerta NANO es baja. la salida es alta
Si todas las entradas de una compuerta NANO son altas, la salida es baja.
En la figura 10-2 se presenta la tabla de verdad de una compuerta NOR de lógica positiva. La
sal ida de esta compuerta es baja cuando una o más entradas son altas. La salida es alta cuan·
do ambas enlradas son bajas. El comportamiento de una compuerta NOR de lógica positiva en
iérminos de señales altas y bajas se describe as!:
Si cualquier cntrada de una compuerta NOR es alta. la sal ida es baja.
Si tOOtiS las de una compuerta NOR son bajas. la sal ida es alta.
Es preciso recordar estas características de las compuertas NANO y NOR porque se usarán en
el análisis de las compuertas en este capítulo.
Enlllldas Salida
x
, ,
l . L 11
x
)
>
,
1. H L
,
H L L
H H 1.
FIGURA 10-2
Compuerta NOR de tóg1ca positiva
Mat rF11 protegido po?r derechos de '1U ':Ir
400 Capítulo 10 Ci rcuitos Integrados digitales
Un transistor de unión bipolar (BJT. bipolar junclion transistor) puede ser npn o pnp. En
contraste, los transistores de efecto de campo (FE I.jield-effect transistors) son uni polares. El
funeionamientode un trnnsistor bipolar depende del flujo de dos tipos de portadores de carga: elec-
lrones y huecos. Un transistor unipolar sólo depende del flujo de un lipo de portador mayorita-
rio, que puede consistir en electrones (canal n) o huecos (canal p). Las primeras cuatro
de lógica digiral de nuestra lista - RTL, DlL, TI1. Y ECL- usan Ir.msistores bipolares. Las úl -
dos fami lias - MOS y CMOS-- usan un tipo de transistor unipolar llamado transistor de
efecto de campo de metal-6xido-semiconductor (abreviado MOSFEI o simplemente MOS).
En este capítulo. primero se hablará de las camctcristicas más comunes que se usan para com-
parar las famili as de lógica digital. Luego se describirán las propiedades del transistor bipolar
y se analizarán las compuenas básicas de las familias de lógica bipolar. Después. se explicará
el funcionamiento del transistor MOS '1 presentaremos las compucnas básicas de sus dos fa-
milias de lógica.
10-2 CARACTERíSTICAS ESPECIALE S
I....ns caractelÍstlcus de las familias de lógica digital de CI suelen comp:uurse anali7.ando el circuito
de la compuerta básica de cada familia. Los parámetros más importantes que se evalúan y com-
paran son abanico de salida (jatl out), disipación de potencia. retardo de propagación y mar-
gen de ruido. Primero explicaremos las propiedades de estos parámetros y luego Jos usaremos
para comparar las familias de lógica en CI.
Abanico de salida
El abanico de salida (jan-out o carga máxima de salida) de una compuerta especifica el núme-
ro de cargas estándar que es posible conectar a la salida de la compuerta sin degradar su fun-
cionamiento normal. Por lo regular, una carga estándar se define como la cantidad de corriente
que requiere una entrada de Olta compuerta de la misma familia de lógica. A veces se usa el
término carga en lugar de abanico de salida. Esle término proviene del hecho de que la sal ida
de una compuena es capaz de una cantidad limitada de corriente. rros allá de la cual
deja de operar correctamente y dice que está "sobrecargada". La salida de una compuena
por lo regular se conecta a las enlrddas de otras compuenas. Cada entrada consume ciena can-
tidad de corriente de la salida de la compuerta. de modo que cada conexión adi cional aumen-
ta la carga sobre la compuerta. A veces se especifican reglas de carga para una familia de
circuitos digitales. Estas reglas especifican la carga máxima permi tida JXIIU cada salida de ca-
da circuito de la familia. Si se excede la carga máxima especificada podría haber un funci ona-
miento incorrecto porque el circuito no puede suministrar la potencia que se le exige. El abanico
de salida es el número máximo de entradas que es posible conectar a la salida de una compuer-
ta. y se expresa con un número.
El abanico de salida se calcula a partir de la cantidad de corriente que está disponible en la
salida de una compuerta y la cantidad de corriente que cada entrada de una compuerta necesi-
ta Consideremos las cooexiones que se muestran en la fi gura 10-3. La salida de una compuerta
se conecta a una o más enlradas de otros compuenas. En la figuro 10-3a). la salida de la
comv4erta está en el nivel de alto voltaje; alimenta una corriente Ion a todas las de com-
puerta Iconectadas a el la. Cada entrada de compuerta requiere una comente 111/ para operar co-
rrectamente. En la figura 10-3b). la salida de la compuerta está en el nivel de bajo voltaje.
Mal '11 pro <:Ir dE' '!l or
402 Capítulo 10 Circuitos integrados digitales
La cantidad de pOlencia disipada en una compuerta se calcula con base en el vohaje de ali-
mentación V
oc
y la corri ente locque el circuito consume. La potenci a es el producto V ce x Ice.
El consumo de corriente de la fuente de poder depende del estado lógico de la compuerta. La
corriente consumida cuando la salida de la compuerta está en el nivel de voltaje alto se deno-
mina I
ceH
. Cuando la salida está en el nivel de voltaje bajo. la comente es l cel.' La corriente
media es
I ( )
l cell + I
CCL
ce avg = 2
y sirve para calcular la di sipación media de potencia:
PD(avg) = l ce(avg) X V
ce
Por ejempl o. una compuerta NANO 1TL estándar utili za un voltaje de alimentación V ce de
5v y tiene consunlQs de corriente de I
ceH
= 1 mA e l cel. = 3 mA. La corri ente media es
(3 + 1)/2 :c 2 mA. La disipación media de potencia es 5 x 2 = 10 mW. Un CI con cuatro
compuertas NANO disipa un lotal de 10 x 4 = 40 mW. En un sistema digi tal tfpico hay mu-
chos CI. y e . ~ preciso considerur la polencia que cada uno requiere. La di sipación lotal de po-
(encia del sistema es la sumatoria de las polencias di sipadas en todos los CI.
Retardo de propagación
El retardo de propagación de una compuerta es el ti empo medio de transición que la señal tar-
da en propagarse de la entrnda a la salida cuando la sei\al binaria cambia de valor. Las sei\alcs
que pasan por una compuerta tardan cierto ti empo en propagarse desde las entradas hasta la sa-
lida. Este lapso se defi ne como retardo de propagación de la compuert a y se mide en nanose-
gundos (ns). 1 ns es igual a 10-
9
segundos.
Las señal e.o¡ que viajan de las entradas de un circuito digital a sus salidas pasan por una se-
rie de compuertas. La sumatoria de los retardos de propagación a truvés de las compuertas es
el retardo lotal del circuito. Si la T'dpidez de opemción es importante. cada compuerta debe te-
ner un retardo de propagación corto. y el circuito di gital debe tener el mínimo de compuertas
entre las entrndas y las salidas.
El retardo de propagación medi o de una compuerta se calcula a partir de las fonnas de on-
da de entrada y salida. como se indica en la figum 10-4. El tiempo de retardo de la señal entre
la entrada y la salida cuando la salida cambi a del ni vel alto al bajo se denota con 'PHI.' Asimis-
mo. cuando la salida pasa del ni vel bajo al alto. e! retardo es ' PUl. Se acostumbm medir el tiem-
po entre el punto de 50% en las transiciones de entrnda y de salida. En general. los dos retardos
son desiguales. y ambos varian dependiendo de las condi ciones de carga. La dumción media
del retardo de propagación se calcul a promediando los dos retardos.
PQr' ejemplo. los retardos de una compuerta TIL estándar son 'PIIL = 7 ns y l pUl = I1 ns.
Estas cantidades se dan en el libro de datos de TIL Y se miden con una resistencia de carga de
400 ohms y una capacitancia de carga de 15 pE El retardo de propagación medio de la com-
puerta 1TL es (11 + 7)/2 = 9 ns.
Bajo ciertas condiciones, es más importante conocer el máximo tiempo de retardo de una
compuerta que el valor promedio. El libro de datos TIL lista los siguientes retardos de propa-
gación máxi mos pam una compuerta NANO estándar: t PHI. = 15 ns y I PIIL = 22 ns. Cuan-
do la velocidad de operaci ón es critica. es necesario tomar en cuenta el retardo máximo para
gamntil.ar una operación adecuada.
Mal nal protegido por derechos dfI aL'!')r
Secci6n 10-2 Caract erfsticas e.speciales 403
Entrada
___ o Ttempo
Salida
FIGURA 10-4
Medición del retardo de propagación
Las sei\ales de entrada en la mayorla de los circuitos digilales se aplican simultáneamen-
te a más de una compuerta. Todas las compuertas conectadas a entradas externas constituyen
el primer nivel lógico del circuito. Las compuertas que reciben al menos una entrada provenien-
te1de una salida de una compuerta de primer nivcl se consideran parte del segundo nivellógi-
ca, y así pan!. el tercer y demás niveles lógicos superiores. El retardo de propagación total del
circuito es igual al retardo de propagación de una compuerta multiplicado por el número de ni-
veles lógicos del circuito. De esta forma, una reducción en el número de niveles lógicos dis-
minuye el retardo de propagación y hace que el circuito sea más rápido. La reducción del
retardo de propagación de los circuitos podrla ser más imponante que la reducción del núme-
ro total de compuertas. si la rapidez de operación es un factor principal.
Margen de ruido
Las sei\ales el éctricas espurias de fuentes industriales y de otro tipo en ocasiones inducen vol-
tajes indeseables en los alambres que conectan circuitos lógicos. Esas sei\ales indeseables se
denominan ruido. Ha)' dos ti¡:M)S de ruido que considerar. El ruido de corriente continua (c.c.)
se debe a una deriva en los niveles de voltaje de una sei\al. El ruido de comente alterna (c.a.)
d un pulso aleatorio que podría tener su origen en otras señales de conmutación. Así pues,
"ruido" es un término empleado para referirse a una sei\a1 indeseable superpuesta a la señal DI»'
rativa normal. El margen de ruido es el voltaje máximo de ruido añadido a una señal de entra-
da de un circuito digital que no causa un cambio indeseable en la salida del circuito. La
capacidad de los pam oper.tr de manera confiable en un entorno ruidoso es imponun-
te en muchas apl icaciones. El margen de ruido se expresa en volts )' representa la scñn.1 máxi-
ma de ruido que la compuenn puede tolerar.
El margen de ruido se calcula a partir del voltaje de señal disponible en la salida de la com-
puenn 'i el voltaje de senal requerido en In entrada de la compuerta. La figura 10-5 ilustra las se-
que se usan para ca1cular el margen de ruido. La parte a) muestra el intervalo de voltajes de
s::i1ida que pueden presentarse en una compuerta típica. Cualquier voltaje en la salida de la com-
puerta entre V ce )' V OH se considera como estado de nivel alto, 'i cualquier voltaje entre O )' VOL
en la salida de la compuena se considera como estado de nivel bajo. Los voltajes entre VOl. y V OH
son indetenninados y no se presentan en condiciones operativas normales como no sea durante
la tr,msición entre los dos nivel es. Los dos intervalos de voltaje correspondientes que la entrada
de la compuerta reconoce se indican en la figura 10-5b). Para compensar cualquier sei\a1 de rui-
Mat 'JI prOiP.gido ')f derechos de '1U ':Ir
Sección 10-3 Características de transistor bipolar 405

R.
-
1) Circui to
1,
emA)
L-__ -! '--"'-=---007 V Bc(V)
0.6 0.7 0.8
b) Caracterbtica de la base del transistor
FIGURA 10· 6
Caracteristlcou del transistor opo de silicio
,.--____ o .•
,-___ 0'
___ 0.4

I
tI
- O.2 mA
Va(Vl
V<c
cl Carac::lcmtic::a dcl coLector del transi!.tor
sistor. La corriente marcada l e fluye a través del resi stor Re Y el colector del transistor. La
corriente I tI fl uye a través del resistor RtI y la base del transistor. El emisor está conectado a
tierra y su corriente es lE = le + I tI. El voltaje de alimentación está entre V ce y tierra. La en-
trada está entre VI y tierra, y la salida. entre V
o
y tierra.
Hemos supuesto una dirección positiva para las corrientes, como se indica. Éstas son las
di recciones en que fluyen normalmente las corri entes en un transistor npo. Las corrientes de
colector y de base. l e e l/f' respectivamente, son positivus cuando enlran en el transistor. La
corri ente de emisor, IF.' es positiva cuando saJe del transistor, como indica la fl echa en la ter-
minal del emisor. El sfmbolo Va representa la cafda de potencial del colector al emi sor y
siempre es positiva. Asimismo. V
IIE
es la caída de potencial en la unión base-emisor. Esta
unión tiene polarización directa cuando Vtl o! es positiva. y polari7.ación inversa cuando V
IIE
es negativa.
La car.tcterfstica gráfica base-emisor se senala en la fi gura 1().6b). Se trata de una. gráfica de
VJJEcontra I tI. Si el voltaje base-emisor es menor que 0.6 V. se dice que el lJ'anSistor esLá en cor-
te y no fl uye corriente de base. Cuando la unión base-emisor tiene polarización directa con un vol-
taje de más de 0.6 V. el transistor conduce e l /f comienza a subir con gran rapidez. mientras que
V /IC casi no cambia. El voltaje V /fE por un transistor conductor roras veces excede 0.8 v.
r prOiegido por de¡ochoc. de u ':Ir
Sección 10-3 Caracteristicas de transistor bipolar 407
cados y valores de resistores. Luego. si la corriente de base es lo bastante grande como para
que IIJ Ics/hFE' se deduce que el transistor está en la región de saturación con V CE = 0.2 V.
Por otra parte, si la comente de ba'ie es más pequeña y no satisface la relaci6n anterior, eltran-
sistor estará en la región acti va y se recalculará la corriente de cole<:tor Ic con la ecuación
Ic "" hFc/
a
,
Como ejemplo, consideremos el circuito inversor de la fi gura 10-6a) con los parámetros si-
guientes:
Re "" [kO
RII "" 22 kO
= 50
v ce "" S V (fuente de voltaje)
H = 5 V (voltaje de alto nivel)
1.. ::: 0.2 V (voltaje de bajo nivel )
Con un voltaje de entrada V, "" 1.. = 0.2 V,tenemos que V
ac
< 0.6 V Y el transistor está en
cone. El circuito colector-emisor se compona como circuito abierto. así que el voltaje de sa-
lida V" :::: 5 V = H.
Con un voltaje de entrnda V, :::: H ::: S V. deducimos que V SE > 0.6 V. Suponiendo que
V
IIC
:: 0.7. calculamos la corriente de base:
V¡ - V
ac
5 - 0.7
I
s
= = = 0.195mA
Ra 22 kO
La corriente máxima de cole<:t or, suponiendo V cc = 0.2 V, es
Va: - V
CE
5 - 0.2
I
cs
= = = 48mA
Rc I kO .
Luego vemos si hay saturación, empleando la condición
Ics 4.8
0.195 = la h
FE
= 50 = 0.096 mA
y vemos que la desigualdad se sati sface, porque 0. 195 > 0.096. Concluimos que el transistor
está saturotdo y el voltaje de sali da. V" = V CE = 0.2 V = 1... Así pues, el circuito se comporta
como inversor.
El procedimiento recién descrito se utili7.ará mucho al analizar circuitos en las secciones que
siguen. Esto se hará con un análisis cualitativo, es decir. sin escribir las ecuaciones numéricas
específicas. El análisis cuantitativo y los cálculos se dejarán como ejercicios en la
sección de problemas al final del capít ul o.
Hay ocasiones en las que se usan no sólo transistores sino también diodos en los circuitos
digitales. Un diodo en el por 10 regular se a partir de un transistor con su colector
a la base. como se observa en la fi gura lO. 7a). En la figura lo.7b) se incluye el sím-
bolo gráfico que denota un diodo. El diodo se comporta en esencia como la unión base-emisor
de un transistor. Su caracteñstica gráfica, que se muestra en la figura 10-7c), es similar a la ca-
racterística base-emisor de un transistor. Podemos concl uir. entonces. que un diodo está apa-
gado y no conduce cuando su voltaje directo, VI}> es menor que 0.6 V. Cuando el diodo conduce,
la corriente l o fluye en la dirección que se indica en la figura 10-7b) y V
o
pennallece cerca de
0.7 V. Siempre hay que incluir un resistor externo paro limitar la corriente en un diodo conduc-
tor, porque su voltaje pennanece relativamente constante y es de una frncciÓIl de voh.
Mar i"3.1 protegido derechos dfI :J.L'f')r
408 Capítulo 10 Circuitos integrados digitales
1 v--J---{

a) Transistor adaptado para
usarse romo diodo
ID
o
¡ tl 11 tl2
. -
Vv
b) Sfmbolo grtflCO de diodo
FIGURA 10-7
Iv
(mA)
'-----:,.;---,''0-- l' D ( V)
0.6 0.7
e) Caractcmlica de diodo
Símbolo y caracterbtlca del diodo de silicio
10-4 CI RCUITOS RTL Y OTL
Compuerta RTL básica
El circuit o básico de la familia de lógica digital RTL es la compuerta NOR que SI! observa en
la figura 10-8. Cada entroda está asociada a un resi slOr y un tronsislOr. Los colectores de los
transistores están conectados en la salida. Los niveles de voltaje paro el circuito son 0.2 V pa-
ra el nivel bajo y de 1 33.6 V paro el nivel alto.
El anál isis de la compuerta RTL es muy sencillo y sigue el procedimiento delineado en la
sección anterior. Si cualquier entrada de la compuerta RTL es alla. el transistor correspondien-
te se ll eva a saturación. Esto hace que la salida sea baja. sin importar los estados de los otros
transistores. Si todas las entradas están bajas. en 0.2 V. todos los transistores en corte
V",,-J.6 V
&100
y = (A -4- lJ -4- C) '
' 50 O '500 ' 50 0
A 8 e
L
FIGURA 10-8
Compuerta NOR RTL básica
M fI 31 protegido por derecho" de u ':Ir
Sección 10·4 Ci rcuitos RTl y OTl 409
porque V
SE
< 0.6 V. Esto hace que la salida del circuito sea aha y se aproxime al valor del vol-
taje de alimentación V ce. Esto confinna las condiciones planteadas en la figura 10-2 paro. la com-
puerta NOR. El margen de rui do para una entrada de señal baja es 0.6 - 0.2 :: 0.4 V.
El abanico de salida de la compuerta R11. está limitado por el valor del voltaje de salida cuan-
do es alto. Al cargarse la salida con las entradas de otras la carga consume más co-
rri ente. Esta comente debe fluir a través del resistor de 640 n. Un sencill o cálculo (véase el
problema 10-2) demuestra que. si I/J'E baja a 20. el vohaje de salida baja a aproximadamente 1
V cuando el abanico de salida es 5. Cualquier voltaje por debajo de 1 Ven la salida podría no
llevar al siguiente transistor a la saturación. como se requiere. La disipación de potencia de la
compuerta RTL es de aproximadamente 12 mW y el retardo de propagación promedia 2.'5 ns.
Compuertas básicas DTL
El circuito básico de la familia de lógica di gital OTL es la compuerta NANO que se aprecia
en la fi gura 10-9. Cada entrada está asociada a un diodo. los diodos y el resislOr de 5 kn for-
man una compuerta ANO. El transistor actúa como ampl ificador de comente al ti empo que in-
viene la señal digital. Los dos niveles de voltaje son 0.2 V para el ni vel bajo y entre 4 y 5 V
para el nivel alto.
El análisis de la compuena DTL debe aj ustarse a las condiciones numeradas en la figura
10-1 para la compuerta NANO. Si cualquier entrada de la compuerta está baja. en 0.2 V. el
diodo de entrada correspondiente conduce corriente a través de V ce y el resistor de 5 kO al no-
do de entrada. El voltaje en el punto P es igual al voltaje de entrada de 0.2 V más una carda de
diodo de 0.7 V. dando un tOlal de 0.9 V. Para que el transistor comience a conducir. es preciso
que el vohaj e en el punto P supere un potencial de una carda de V Bf.' en QI más dos cardas de
diodo en DI y 02. osea. 3 x 0.6 :: 1.8 V. Puesto que el diodo conductor de entrada mantie-
ne en 0.9 V el voltaje en P, el transistor queda en corte y el voltaje de salida es alto. 5 V.
Si todas las entrndas de la compuena son altas. el transistor se empuja a la región de satu-
ración. El voltaje en P ahora es igual a V" E más las dos cardas de diodo en DI y 02. osea.
0.7 x 3 :: 2.1 Y. Puesto que todas las entradas son alias en 5 Y, Y VI' :: 2.1 Y. los diodos de
entrada están polari zados a la inversa y. por tanto. apagados. La corriente de base es igual a la
diferencia de las corrientes que fluyen por los dos resistores de 5 kO y es suficiente para lIe-
Ha
" A

DI D2
Q\
"a

fiGURA 10-9
Compuerta NANO OTL básica
M' mi protegido por dereclO de u ':Ir
410 Capítulo 10 Circuitos integrados digItales
1.6 k o
H"
H"
~ y .. (ABC) '
80-+ ---1
'""
fiGURA 10.10
Compuerta DTL modific.da
vur el transistor a la saturación. (Véase el problema 10-3.) Con eltnmsislOr saturado. la salida
cae a V CE' que es 0.2 V. el ni vel bajo de la compuerta.
La di sipación de ¡>O(encia de una compuerta OTL es de aproximadamente 12 mW y el re-
tardo de propagación promedia 30 ns. El margen de ruido es de aproxi madamente 1 V Y pue-
de lograrse un abanico de salida de hasta 8. El abanico de salida de la compuerta OTL está
limitado por la coment e máxima que puede fluir en el colector del trunsistor Sllt urudo. (Véa-
se el problema 10-4.)
El abani co de salida de una compuena OTL aumenta sustituyendo uno de los diodos del cir-
cuito de base por un transistor, como se observa en Ja figura 10-10. El transistor QI se man-
tiene en la región activa cuando eltransislor de salida Q2 está sat urado. En consecuencia. el
circuito modificado puede alimentar una mayor cantidad de corriente de base al transistor de
salida. el cual ahora puede consumir una mayor cantidad de corriente de colector antes de que-
dar ruera de saturación. Una parte de la corriente de colector proviene de los diodos conduc-
tores en las compuertas de carga cuando Q2 está saturado. Así. un incremento en la comente
saturada de colector aceptable permite conectar más cargas a la salida. lo que aumenta el aba-
nico de salida de. la compuerta.
10-5 LÓGICA DE TRANSISTOR- TRANSISTOR ( TTl )
La compuerta TTI.. básica original era una pequeña mejora a la compuena 011- Al progresar la
tecnologfa rn.. se aftadieron otras mejoras que hicieron que esta ramilia de lógi ca se usara am-
pliamente en el diseño de sistemas digital es. Hay varias subramili as o seri es de tecnología TfL
Los nombres y características de las ocho series TTI.. se dan en la tabla I ()"'2. Los el TTL comer-
ciales tienen una designación num6i ca que comienza con 74 seguido de un sufijo que identifi ca
el tipo de serie. Como ejemplos podemos citar los 7404. 74586 Y 74ALS161 . El abanico de sa-
lida. la disipación de potencia y el retardo de propag3Ción se definieron en la sección 1()...2. El pro-
ducto rapidez-potencia es un par.1metro importante para comparar las diversas scries rn...: es el
producto del retardo de propagación y In disipación de potencia y se midc en picojoules (pJ). Es
deseable que este parámetro tenga un valor bajo. porque indica que es posible lograr un retar-
do de propagación dado sin una disipación de potencia Q,cesiva. y viceversa.
M- prOiP.gido por derect'to de u ':Ir
Sección 10-5 lógica de transistor-transistor (TTl) 413
En este análisis. dij imos que la unión base-colector de QI actúa como un diodo de unión p".
Esto es verdad en la condición de estado estable. Sin embargo. durante la transición de apagado.
Q 1 sí exhibe una acción de lrnnsistor, la cual reduce el retardo de propagación. Cuando todas las
salidas son altas y luego se lleva una de las entradas a un nh'eI bajo, tanto Q2 como Q3 comien-
zan a apagarse. En este momento. la unión de colector de QI eslllrá polariz:vla en reversa y el emi-
sor tendrá polarización directa: por tanto. el transistor Ql entrará momentáneamente en la región
acti va. La corriente de colector de Ql proviene de la base de Q2 y rápidamente elimina la Cüf};a
sobrante almacenada en Q2 durante su estado de sat uración anterior. Esto causa una reducción
en el tiempo de almacenamiento del circuito. en comparación con el tipo de entrada DTL. El re-
sultado es una di sminución del tiempo de apagado de la compuerta.
La compucna TIL de colector abieno opera sin el resistor elttemo cuando está conectada
a entradas de otras compuenas TIL. aunque esto no es recomendable debido a la baja inmu-
nidad al ruido que se observa. Sin un resi stor externo, la salida de la compuena será un circui-
tO abieno cuando Q3 esté apagado. Un circuito abieno en una entrada de una compuerta TIL
se compona como si tu viera una entrada de alto ni vel (pero una pequel\a cantidad de ruido
puede convenirla en nivel bajo). Cuando Q3 conduce. su colector tiene una trayectoria de co-
rriente alimentada por la entrada de la compuena de carga a trav6 de V ro el resistor de 4 kO
y la unión base-emisor polari7.ada en directo.
Las compuenas de colector abieno se usan en tres aplicaciones principales: control de una
lámpara o relevador. ejecución de lógica alambrada y construcción de un sistema de b l¡S co-
mún. Una sal ida de colector abieno puede controlar una lámpara colocada en su salida a tra-
vés de un resi stor limitante. Cuando la salida es baja. el transistor saturado Q3 fonna una
trayectoria para la corriente que enciende la lámpara. Cuando el transistor de sali da está apa-
gado. la lámparn se apaga porque no hay trayectori a par-d la corriente.
Si se coneclan las salidas de varias compuertas lTL de colector abierto con un solo resis-
tor eltterno. se ejecuta una lógica de ANO alambrada. Recuerde que una función ANO de 16-
gica posi ti va sólo produce un nivel alto si todas las variables están altas; de 10 contrario. la
función estará baj a. Si se conectan entre sr las salidas de compuertas de colector abierto. la sa-
lida común s610 será alta cuando todos los transistores de sal ida estén apagados (o al tos). Si
un transi stor dc salida conduce. hace que la salida pase al estado bajo.
La lógica alambrada que se ejecuta con las compuertas TIL de colector abieno (oc. ope"
colfector) se ilustra en la figura 10- 12. El alambrado ffsico en a) indica cómo deben conectar-
e - ------.,
D- ~ ~ -
a) Conexión fHÍC8
FIGURA 10·12
A
B
e
D
}--y
b) Sfmbo!o gráfico de tógica alambrada
ANO alambrada de dos compuertas de colector abierto (oc), Y == (AB + CD)'
Mf prOiP.gido)Qr 'ec 10 de u ':Ir
Sección 10-5 lógica de transistor-transistor (TTl) 415
Salida en totem pole
La impedancia de salida de una compuerta normalmente es una cargn resistiva más una capa-
citiva. La carga capaci ti va consiste en la capacitancia del transistor de salida. la capacitancia
de las compuertas del abanico de salida y cualquier capacitancia que pudiera tener el cablea-
do. Cuando la salida cambia del estado bajo al alto. el transistor de salida de la compuerta cam-
bia dc sat uraci6n a corte y la capacitancia total de carga e se carga exponcnciaJmente desde el
nivel de voltaj e bajo hasta el alto con una constante de tiempo ¡guaJ a Re. En el caso de la
compuerta de colector abieno, R es el resistor externo marcado R
L
• Para un vaJor operati vo (f-
pico de e = 15 pF Y R
L
= 4 kfl. el retardo de propagaci6n de una compuerta TTL de colec-
tor abierto durnnte elliempo de apagado es de 35 ns. Si un circuito de actuación (pulf-up)
acti l'o sustituye al resistor de actuaci6n pasivo RI.,> el retardo de propagaci6n se reduce a 10 ns.
Esta confi guraci6n. que se expone en la fi gura 10-14, se denomina salida en totem po/e por-
que el tr.tJl sistor Q4 está "montado" sobre Q3.
La compuerta TrL con salida en totem pole es igual a la compuerta de colector abierto, ex-
cepto por el transistor de salida Q4 y el diooo DI . Cuando la salida Y está en el estado bajo,
Q2 y Q3 se ll evan a la saturación como en la compuerta de colector abierto. El voltaje en el
t olcclorde Q2 es V"E(Q3) + V
ce
(Q2}o 0.7 + 0.2 = 0.9 Y. La salida Y - V
ce
(Q3) "" 0.2 V.
El transislor Q4 está en cone porque. para que empi ece a conducir. su base debe ser una caf-
da de V"t" más una calda de di odo, o sea. 2 X 0.6 "" 1.2 V. Puesto que el colector de (ll. está
conectado a la base de 04, el voltaje de este último es de sólo 0.9 V en lugar de los 1.2 V re-
queridos, así que Q4 queda en corte. Se incluye el diodo en el circuito para que haya una caí-
da de diodo en la trayectoria de !lalida. lo que garantiza que Q4 quedará en cone cuando Q3
esté saturado.
Cuando la sali da cambia al estado alto porque una de las entnldas cae al estado bajo. los tran-
sistores Q2 y Q3 quedan en corte. Sin embargo, la salida se mantiene momentáneamente baja
1.6 k o
1300
"O
DI
QI
Q2
"O
FIGURA 10-14
Compuerta TTl con salida en totem pole
Mar rF11 protegido po?r derechos de '1U ':Ir
416 Capítulo 10 Circuitos integrados digitales
porque los vohajes en la capacitancia de carga no pueden cambiar instantáneamente. Tan pron-
to como Q2 se apaga. Q4 conduce porque su base está conectada a V ce a trJvés del resi stor de
1.6 kO. La cOlliente requerida parJ. cargar la capacitancia de carga hace que Q4 se !:ature mo-
mentáneamente. y el vollaje dc salida aumenta con una constante de tiempo Re. Sin embargo.
R en este caso es 130 n más la re<iislencia de ¡;aturaciÓn de Q4. má.<¡ la del diodo. lo
que da un lolal de aproximadament e 150 n. Este valor de R es mucho menor que la re.<¡i sten-
cia de actuación pasiva que se usa en el circuito de coleclOr abierto. Por ello. lo trnll!:ición del
nivel bajo 010110 es mucho más rápida.
Al cnrgarse la carga cupacitiva. el voltuje de salida oumenta y la comente Q4 di sminuye. po-
niendo al transistor en la región activa. Asr. en contraste con los otros tr.msistores, Q4 eSlá en
la región actil'll cuando la condición es de estado estable. El valor final del voltaje de salida es
entonces 5 V menos uno carda de VMen Q4 menos una carda de diodo en DI. ° sea. aproxi-
madamente 3.6 V. El trnnsistor Q3 ent ra en eone muy rápidamente. pero durante el tiempo de
trnnsici ón iniciultanto Q3 como Q4 están encendidos y se extrae uno comente pi co de la fuen-
te de poder. Este pico de corriente genera ruido en el sistema de distribución de la ruente de
poder. Si el cambio de e.<¡tado es frecuente. los picos de corrient e trnnsitoriu elevan el consu-
lno de corriente de la fuent e de poder y la disipación de potencio del circuito oumenta.
La conexiÓn de lógica alambl1lda no se permite con circuitos de salida en IOlem pole. Cuan-
do dos salidas en totem pole se conectan y la salida de una compuena es alta mientras que la
de la otra es baja. la cantidad excesiva de COmente consumida puede genelllT suficiente calor
como para dañar los trnnsistores del circuito (véase el problema I ().. 7). Alguna.<¡ compuenas TT1.
se construyen de modo que resistan la cantidad de comente que fluye en estas condiciones. En
lodo la corriente de colector en la compuerta baja podria ser suficiente para llevar el trnn-
sislor a la región activa y producir en la conexión alambrada un vol taje de salida mayor que 0.8
V. 10 cual no es una señal binaria válida en las compuertas TTl..,
Compuerta TTL Schottky
Como ya se dijo. una reducción del tiempo de almacenamiento reduce el retardo de propago-
ción. Ello se debe a que el tiempo necesario para que un trnnsistor salga de la saturación retar-
da el cambio del trJ. nsistor de la condición encendido a la condición apagado. Es posible
eliminar la saturación colocando un diodo Schottky entre la base y el colector de cada transis-
tor saturado del circuito. El diodo Schollky se forma con la uni ón de un metal y un semicon-
ductor. en cOnlrnste con los diodos convencionales. que se forman con la unión de un
semiconductor ti po p y uno lipo n. El vol taje en un diodo Schottky conductor es dc sólo 0.4 V.
en \'ez de los 0,7 V de un diodo com'encional. La presencia de un diodo Schollky entre la ba-
se y el colector impide al transistor entrar en saturaciÓn. El transistor resultante se Ilam:l mili-
sistor Scholtky. El uso de transistores Schouky en un 1TL reduce el retardo de propagación sin
que aumente la di sipación de potencia.
La compuerta TfL SchoUky se representa en la figura 1 ()..15. Observe el símbolo especial
que se utiliza para los transistores y diodos Schotlky. El diagrama indica que todos los trnnsis-
tores son del tipo Schouky excepto Q4, Este transistor es la excepción porque no se saturno si-
no que se mantiene en la región activa. Advierta tambi én que los valores de los resistorcs se han
reducido para disminuir aún más el retardo de propagación.
Además de usar transistores Schouky y resislores de más bajo valor. el circuito de lo figu-
ra 1()..15 incluye Olras modificaciones que no estaban present es en la compucna estándar de la
figurn 1(}. 14. Se han añadido dos nuevos transistores. Q5 y 06. y se han insertado diodos Schot-
Mat '11 prOiegido )()r dI" ""'"',,, de 'lL ':Ir
Se<dón 10-5 l ógkll de t ransistor-t ransistor (nl) 417
F1C,URA 10· 1 S
Compuerta TIL S<hoUky
Ql
2.8 kO
900 n
soo n
", n
3.5 ka
-
-
250 n
tky entre cada terminal de entrada y tierra. No hay diodo en el circuito de totem poleo pero
la nueva combinación de Q5 y Q4 sigue produciendo las dos cardas de V lIB necesarias para
evilar que Q4 conduzca cuando la salida es baja. Esta combinación comprcnde un doble emi-
sor-seguidor Ilomado par DarUrlgtorl. Éste proporciona una ganancia de corri ente muy alta
y una resistencia extremadamente baja. Esto es exaclamente lo que se necesita durante e l
cambio de baja a alt a de la salida, y el resu lt ado es una di sminución en el retardo de pro-
pagación.
Los diodos en cada entrada que se aprecian en el circuito ayudan a amortiguar cual quier
oscilación que pudiera presentarse en las I(neas de entrada, En condiciones de conmutación
transi toria. las !fncas de señal parecen induct ivas; esto. junto con una capacitancia parásita.
hace que las señales oscilen. Cuando la salida de una compuerta cambi a del estado bajo al
alto. la fonna de onda oscilante en la entrada podrfa tener excursi ones por debajo de tierra
de hasta 2-3 V. dependiendo de la longitud de la Ifnea. Los diodos conectados a ti erra amor·
tiguan esta oscil ación porque conducen lan pronto como el voltaje negativo excede 0.4 V. Al
limitarse la excursión negat iva, tambi l! n se reduce la osci lación posit iva. Estos dicxlos fija-
dores han limitado tan bien los efectos de \fnea, que todas las versiones de compuertas ITL
los util izan.
El resistoren el emisor de Q2 en la figura J()..14 se ha reemplazado en la figura l()..lS por
un circuito que consiste en el transistor Q6 y dos resistores. El efecto de este ci rcuito es re-
duci r los pi cos de corriente de apagado antes mencionados. El análi sis de este circuito. que
ayuda a reducir el tiempo de propagución de la compucna, es demasiado complicado como pa-
ra presentarlo en esta breve explicución.
Mat nal protegido por derechos dfI aL'!')r
418 Capítulo 10 Circuitos integrados digitales
Compuerta de tres estados
Como ya se mencionó. lao; salida o; de dos compuertas ITL con estructura de totem pole no
pueden eonectarse entre sr como en las salidas de colector abierto. No obstante. existe un tipo
especial de compuena en totem pole que pennite la conexión alambrada de sal idas para for-
mar un sistema de bus común. Cuando una compuerta ITL con salida en totem pole tiene cs-
ta propiedad. se le denomina compuerta de tres eswdos.
Una compuena de tres estados presenta tres eslados de saJida: 1) un estado de bajo nivel cuan-
do el transistor inferior del totem poJe está encendido y el de aniba está apagado. 2) un estado
de ulto nivel cuando el transistor superior deltotem pole está encendido y el de abajo está
apagado y 3) un tercer estado en el que ambos transistores del totem pote están apagodos. El
tercer estado es de circuito abierto o alto impedancia. y pennite una conexión con alambre di ·
recto de muchas salidas a una !fnea común. Las compuertas de tres estados hacen innecesarias
las conlpuertas de colector abierto en configuraciones de bus.
La figum 10-100) incluye el símbolo gráfico de una compuerta bufer de tres estados. Cuan-
do la entrada de control e es alta. la compuerta está habilitada y se comporta como un bUfer
nonnal cuya salida es igual al valor binario de entrada. Cuando la entrada de control es baja.
la salida es un circui to abierto, lo que produce una impedancia olta (el tercer estado) indepen-
dientemente del valor de la emmda A. Algunas compuertas de tres estados producen un esta-
do de alta impedancia cuando la entrada de control es alta. Esto se representa si mból icamente
en la figura 10-16b). Aquí tenemos dos burbujas. una para la salida del inversor y la otra para
indicar que la compuerta está habi litada cuando e es baja
El diagrama de circuito del inversor de tres estados se reproduce en la figura 10-16c). Los
tronsistores Q6. (l1 y Q8 asociados ala entrada de control forman un circuito similar al dI! la
compuerta de colector abierto. Los tmnsistores Ql a Q5. asociados ala entrada de datos. forman
un circuito TIL en totem pole. Los dos circuitos se conectan entre sr a través del diodo DI . Al
igual que en un circuito de colector abierto. el transiSlOr Q8 se apaga cuando la entmda de con-
trol e está en el estado de nivel bajo. Esto impide al diodo DI conducir. Además. el emisor de
QI conectado a Q8 no cuenta con una trayectoria de conducción. En esta condición. el tmn-
sistor Q8 no afeclllla operación de la compuena y la salida r depende unicamellle de lo entrada
de datos en A.
Cuando la entrada de control cs altu. el transistor Q8 se enciende y la comente que fluye des-
de V ce a trav6; del diodo D I hnce que el transistor Q8 se sature. El voltaje en la base de Q5 es
aOOm igual al voltaje en el tronsistor satur.1do. Q8. más una carda de diodo. es decir, 0.9 V. Es-
te voltaje apaga a Q5 y Q4. porque es menor que dos cardas de VBl:' Al mi smo tiempo. la
entrada baja o uno de los emisores de Q I hace que se apague el transistor Q3 (y Q2). Así.
tanto Q3 como Q4 en el totem pole se apagan y la salidn del circuito .se comporta como circui-
to abierto con inlpeclancia de salida muy alta.
Se crea un bus de tres estados alambrando entre sr varias salidas de tres estados. En cunl -
quier instante. sólo una entrada de control cstá hnbilitada. mientras que todas las demás sali -
das están en el estado de alta impedancia. La compuena que no está en estado de alta impedancia
put.'(\e tmnsmitir infonnación binaria a travts del bus común. Es crucial que todas menos una
de lus salidas estén en el tercer estado: de lo conlrnrio. tendremos la condición indeseable de
dos salidao; en totem pele activas conectadus entre sí.
Una característi ca importante de casi lodus las compuertas de tres estados e . ~ que el retardo
de habilitación de la salida es más lurgo que el de inhabilitación de la salida. Si un circuit o de
control habili ta una compuerta e inhabi lita otro al mismo tiempo. la compuerta inhabilitada
Mal 'JI prOiP.gido 0f derechos de 'JL ':Ir
Sección 10-5 l ógica de transistor-transistor (TTl) 419
Y- A,iC - aJta
A ---i[)>--- y al la impedancia
J siC - baja
C----'
a) Compuerta bUfer de tres estados
Enlrada A
de dalos
Entrada e
de control
J7.
Q,
Q;'"
I
Q,
Q,
Y- A' siC - baja
A - - ~ r > > < ~ - y alla impedancia
J siC- alta
C----'
b) Compucna inversora de trcs esladOli
~
Q, )
Q.
y
Q,
l O'
-
-
~ .
-
-
\:) D;agrllma de \:;reuiIO del ;nvcl'$(lr de Ire. estados en b)
FIGURA 10· 16
Compuerta TTl de tres estados
pasa al estado de alta impedancia antes de que la otm compuerta quede habilitada. EsIO elimi -
na la posi bilidad de que ambas compuertas estén aclivas al mismo tiempo.
Hay una corri enle de fuga muy pequeña asociada a la condición de alta impedancia de una
compuerta de tres estados. Sin embargo. es tan pequeña que es posible conectar hasta 100 com-
puertas de tres CSlados para formar una línea de bus común.
Mat nal protegido por derechos dfI aL'f')r

Sección 10-7 Metal-óxido·semiconductor (M OS) 421
está en corte porque su voltaje Vllf" necesita por lo menos 0.6 V para comenzar a conducir. La
corriente del resislor Ro fluye a la base de Q8 (si hay un resislor de carga). Esta corriente es
tan pequeña que la caída de voltaje en Ro es insignificante. La salida OR de la compuerta es-
tá una carda de V /lE por debajo de tierra. o sea. - 0.8 V, que es el estado alto. La corriente que
fluye a trav6s de Rel Y el transistor conductor produce una caída de aproltimadamenle 1 V por
debajo de tierra (vfase el problema 10-9). La salida NQR está una carda V"lj" por debajo de es-
te nivel. es decir. en - 1.8 V, que es el estado bajo.
Si todas las entradas están en el nivel bajo, todos los transistores de entrada se apagan y Q5
conduce. El vahaje en el nodo de emisor común está una caída de V"lí por debajo de VJII'IJ. o sea.
en -2. 1 V. Puesto que la base de cada entrada está en el nivel bajo de - 1.8 V. cada unión emi-
sor-base tiene únicamentc 0.3 V Y todos los transistores de entrada están en cone. Re;¡ extrae
comente a través de Q5. lo que causa una caída de voltaje de aproximadamente I V Y hace que
la salida OR esté una caída de V 81.' por debajo de este nivel. en - 1.8 V. que es el nivel bajo. La
corricnte en R
e1
es insignificante y la salida NOR está una caída de VlIf' por debajo de tierra.
en -0.8 V. que es d nivel alto. Esto verifica las operaciones OR y NOR del circuito.
El retardo de propagación de la compuena EeL es de 2 ns. y su di sipación de potencia, 25
mW. Esto da un producto rapidez-potencia de 50, que es similar al del TTL Schottky. El mar-
gen de ruido es de aproximadamente 0.3 V, no tan bueno como el de la compuerta TTL. La com-
puena TTL puede tener un abanico de salida grande grdCias a la elevada impedancia de entrada
del amplificador diferencial y la baja impedancia de salida del emisor-seguidor. La velocidad
extremadamente alta de las senales hace que los alambres externos actúen como Uneas de trans-
misión. Salvo en el caso de cables muy cortos de unos cuantos centímetn:)S, las salidas ECL deben
uti lizar cables coaxiales con una terminación resistiva para reducir las renexiones en las Uneas.
El símbolo gráfico de la compuena EeL se indica en la figura 10- 18a). Tiene dos salidas:
una para la función NOR y otro para la función ORo Es posible conectar las sali das de dos o
más compuenas ECL para formar lógica alambrada. Como se observa en la figura 10- 18b), una
conexión alambrada Ulema de dos salida. .. NOR produce una función OR alambrada. En al-
gunos e l ECL se utiliza una conexión alambrada ¡mema de dos salidas OR para producir una
lógica de ANO alambrado (también llamada punlo-ANO). Esta propiedad podría aprovechar-
se cuando se usan compuertas ECL para formarlas funciones OR-ANO-lNVERTy OR-ANO.
10·7 METAL·ÓX iDO-S EMiCONDUCTOR (MOS)
El transistor de efecto de campo (FE tmruislor) es un transistor unipolar, ya que
su funcionamiento depende del flujo de sólo un tipo de ponador. Hay dos ti pos de transistores
de efecto de campo: ellransistor de efecto de campo de uni ón (JFE 1, junclion FE1) y el me-
A
B
-t- 8)' NOR
+ 8) OR
.) Compu.crta individual
FIGURA 10· 18
A -:::[:::::t==;-Ep + 8)' + (e -t- D)' -
8 _ \(04 + 8 )(C + D)J'
= _/ -1-1 r 1f-..J
---(.4 + 8 ){C + D)
Símbolos gráficos de compuertas ECL
M' rlll protegido ¡nr !,?3rec 10 de u ':Ir
Sección 10-8 MOS complementario (eMOS) 423
drenaje
o
drenaje
r.I
oompuert. --1 ""lrll10
r.I
roon"uc:rtI --1 q JUStrlIO
fuc: nle fllt1lle
')Clnlt p b)Clnat n
FIGURA 10-20
Símbolos para transistores MOS
dirección del fluj o de corriente positü'a (de la fuente al drenaje en el canal p y del drenaje a
la fuente en el canal n).
Debido a la construcción simétrica de la fuente y el drenaje. el transistor MOS puede ope-
como dispositivo bilateml. Aunque nonnnlmente se opera de modo que los ponadores flu-
yan de la fuente al drenaje. hay circunstancias en las que conviene pennitir el flujo de portadores
del drenaje a la fuente el problema 10-12).
Una ventaja del dispositivo MOS es que se le puede usar como transistor y como
resistor. Se obtiene un resistor del MOS polarizando de forma permanente la terminal de com-
puena para que condui'.ca. Entonces. la razón del voltaje fuente-drenaje entre la comente de ca-
nal detennina el valor de la resistencia. Es factible construir resislores con diferentes valores
fijando durante la fabricación la longit ud y anchura del canal del dispositivo MOS.
En la figura 10-21 se aprecian tres circuitos lógicos que usan dispositivos MOS. En un MOS
de canal p. el f ollaje de alimentación V DO es positivo (unos 5 V) para que pueda haber flujo de
corriente positi va del drenaje a la fuente. Los dos niveles de vahaje son función del voltaje
de umbral VT.J El nivel bajo puede ser curuquiera entre cero Y V
To
y el alto varia entre V
T
y V 00-
Las compuertas de canal n por lo regular emplean lógica positiva. Los circuitos de canal p uti-
lizan un voltaje negativo en V DD para que pueda haber flujo de corriente positiva de la fuente
a1 drenaje. los dos niveles de voltaje son negativos, por arriba Y por debajo del voltaje de um-
bral negativo V7' Las compuertas de canal p suelen utilizar lógica negativa.
El circuito inversor que aparece en la figura 10-21a) usa dos dispositivos MOS. QI actúa co-
mo resi stor de carga. y 02. como dispositivo activo. El resistor de carga MOS tiene su compuer-
ta conectada a V DO> lo que lo mantiene siempre en el estado de conducción. Cuando el voltaje de
entrada es bajo (menor que V
r
). Q2 se apaga. Puesto que QI siempre está encendido. el volta-
je de salida es aproximadamente Vl)& Cuando el voltaje de entrada es alto (mayor que V
r
). Q2
se enciende. Huye corriente desde V DD hasta Q2. p.wmdo por el resistor de carga QI . La geome-
lÓa de los dos dispositivos MOS debe serial que la resistencia de Q2. al conducir. sea mucho m .... AA
que la resistencia de QI, a fin de manlener la salida Yen un voltaje menor que V7'
La compuerta NAND que se ilustra en la figura 10-2 lb) utiliza transistores en serie. Am-
bas entradas. A. y B, deben ser altas pan!. que todos los transistores conduzcan y la salida sea
baja. Si cua1quier entrada es baja. el U'ansi stor cOTTeSpondiente se apagará y la sali da será al-
ta. Una vez más, la resistencia en serie formada por los dos dispositivos MOS activos debe ser
mucho menor que la resistencia del resistor de carga MOS. La compuena NOR que se mues-
tra en la figura 10-21c) utiliza transistores en paralelo. Si cualquiera de las entradas es alta,
el U'ansi stor correspondiente conduce y la salida es baja. Si todas las entradas son bajas. todos
los transistores activos están apagados y la salida es alta.
10-8 MOS COMPLEMENTARI O (CMOS)
Los circuitos MOS complementario aprovedulJI el hecho de que es posible fabricar di spositi-
vos tanto de canal n como de canal p en el mismo sustrato. Los circuitos CMOS constan de am-
bos tipos de di spositivos MOS interconectados pan!. formar funciones lógicas. El circuito básico
M' proJP.Qido Xlr Óf' ''1r
424 Capítulo 10 Circuitos integrados digitales
-
-
b) Complk'rta NANO e) Compu<rtl NOR
fiGURA 10-21
Clrwltos de lógica MOS de canal n
es el inversor, que consiste en un transistor de canal p y un transislOr de canal n. como se apre-
cia en la fi gura 10-22a). La tenninal de fuente del dispositivo de canal p está en VI}/}< y la ter-
minal de fuente del disposit ivo de canal " está en tierra. El valor de V 1m podría ser cualquiera
entre + 3 Y + 18 V. Los dos niveles de voltaje son O V para el nivel bajo y V />IJ para el nivel al-
to (por lo regular 5 V).
Para entender el funcionamiento del im'Cl'SOI". es preciso repasar el comportamiento del tran-
sistor MOS. que se explicó en la sección anteri or:
l. El MOS de canal " conduce cuando su voltaje de compuer1a a fuente es posi ti vo.
2. El MOS de canal p conduce cuando su voltaje de compuer1a a fuente es negati vo.
3. Ambos ti pos se apagan si el voltaje de compuer1a a fuente es cero.
Consideremos ahora el funcionamiento del inversor. Cuando la entrada es baja. com-
puenas están en potencial cero. La entrada está en - V tJfJ rel ati va a la fuente del disposi tivo de
canal p. y en O V relativa a la fuente del dispositivo de canal 11. El resultado es que el di sposi-
tivo de canal p se enciende y el de canal n se apaga. En estas condiciones. hay una trayectoria
de baja impedancia desde V tJfJ hasta la salida y una trayectoria de muy alta impedancia de la
salida a tierra. Por tanto, el vahaje de salida se aproxima al nivel alto V tJfJ en condiciones de
carga normal. Cuando la entrndn es alta. ambas compuertas están en V />1) Y la situación se in-
viene: el dispositivo de canal p está apagado y el de canal /! encendido. El resultado es que la
salida se acerca al nivel bajo de O V.
En la fi gura !0-22 se ilustran otras dos compuer1as CMOS Una compuena NANO
de dos entrndas consta de dos unidades ti po p en paralelo y dos unidades tipo 11 en serie. como se
aprecia en la fi gura 1O-22b). Si todas las entradas son altas. ambos transistores de canal p
se apagan y ambos transistores de canal n se encienden. La salida tiene impedancia baja hacia
tierra y produce un estado bajo. Si cualquier entrada es baja, el transistor de canal 11 asociado
a ell a se apaga y el transistor de cunal p asociado se enciende. La salida se acopla a V /JO Y pa-
sa al estado alto. Es posible rormar