Está en la página 1de 202

i'$ I I ¡ I I T Iffiil I T I r I ¡ I I T¡IIIII ¡ I ¡ I I I I

'r) -u
a
na
r lt
\
I
1
lt
tl'-
F
D)
=.
n
=
E
a
r+
!" T
I
U I
{
U' 6' o t
W
o a 'f I 0
0
o 0

OJ
E.
3 \
0
ú t
o) fl
f')
OJ
CI
a tü
i
¡

o
J
o
o- tttl I
I

E
o
a tl I qo
..} \
I
I
(^) t
nI

I t
1
f
{lil
¡t
rl
I§ ü
t q
f$
t
CI
ft
.l
il
ffi
ü
\\{
I I T
m
I
\
I,!

ffi
H r?_ I
{!"b ¡ U hH
r{n*" +
I \r
sEX
o3X }l
A I
rui m;.i
ur¡¡l..l I ! I
TEOREMAS BOOLEANOS
1. x.0=0 2.
4. x i=0 5. xlQ=¡ 6. x+1:1
7. 8. x+i=1 9..
10. 't 1. x + (y +z):(x+y) +z=x+y +z 12. x(yz)=(xy)z=xyz
13a. x(y .t z) -xy+xz 13b. (w+ x) (y+z) =wy+ xy +wz+xz 14.
15a. x+iy=x+y i+xy=!ey x+Y-=i,
17. W:t+t

TABLAS DE VEBDAD DE LAS COMPUEETAS LóGICAS

OR NOH AND NAND xoR XNOR


B I
A+B A+B A. B A.B AOB AOB
0 0 0 1 0 1 0 1

0 1 1 0 0 1 1 0
,l
1 0 0 0 1 1 0
1 1 1 0 1 0 0 1

SíMBOLoS DE CoMPUERTAS LóGIcAs

x=A+B
B B

Compuerta OR Compuerta NOR

X=AB
x:AB
B B

Compuerta AND Cqmpuerta NAND

X=AEB
:Ás+nB x=A(EB=AB+AB
B B

xoF XNOB
Sistemas Digitales
Pri nci pios y Aplicaciones

1la Edición
I MAs Y cóotcos
Énlcos

§ CONTTNIDO

I,l Conversiones de binario t6 Integracién de los sistemas


a decimal numéricos
r-2 Conversiones de decimal 1.7 Byte, nibble v palabra
a binalio I -rl Códigos alfanuméricos
1 -.t Sistema nu¡¡rérico 1.9 Método de paridad para la
lrexadecimal dctección de errores
I -.1 Código decimal codrficado 1-tt) Aplicaciones
en birario o código BCD
t5 Código Gray
I
U RESUTTADOSDELCAPíTULO
Al linalizar ate capítulo, usted será capaz de:
I Convertir un número de un sistema numé rico (decimal, binario, hexadeci"
mal) a su equivalente en uno de los otros sistemas numéricos.
I Citar las ventajas del sistema numérico hexadecimal.
t Con t ar en hexadecimal.
r Representar númetos decimales mediante el código decimal codificado
bin¿rrio (BCD, por ias siglas de binary-cod.ed decimal)l citar I as ventalas y
desventajas de usar BCD
r Explicar la diferencia enrrr: BCD y binario natural.
r Explica¡ el propósito de 1os códigos alfanumériccts, como el código ASCII. ,, .
r Explicar el método de paridad para la detección de etrores.
I Determinar el bit de paridad que se debe adicionar a una cadena de datos
digital.

ffi ¡NTRODUCCION
Si bien el sistema numérico binario es el ¡rás importante de los sistemas digi-.
tales, hay otros que también lo son. El sistema decimal es importante porque r

se utiliza de manera universal para representar c¡rntidades que no pertenecen:l


a un sistema digital. Esto significa que habrá situaciones en 1as rt ue los valore,i
decimales deberán convertirse en valores binarios antes de in¡roducirse en el
sistema üBital. Por ejemplo, cuando oprirne un número decimal en su calcula-
dora de bolsillo (o computadora), los circuitos en el interior de la máquina con-;
vierten el número decimal en un valor binario,

de comunicar una cantidad binaria cuando se habla con otra persona. El sis-
tema numérico hexadecimal (base 16) se ha convertido en la forma estándar
para comunicar valores numéricos en los sistemas digitales. La gran ventaja
<1ue los números hexadecimales pueden convertirse con facilida<i a binario
viceversa. Descubrirá que muchas herramientas computacionales avanzadás,
que están diseñadas para ayudar a los desarrol¡adores de software a solu
problemas o depurar sus programasl usan el sistema numérico hexadecimal
para inEoducir números que se almacenan en la computadora como binarios y
mostr¿rrlos de nuevo como hexadecimales. .. ,' .,.,
Se han ideado olros métodos para representar cantidades decimales con , :, i.

dígitos codificados en binario, los cuales no son en sí verdaderos sistemas num6


ricos, pero ofreten Ia facilidad de conversión entre el código binaric, y el sis-
te¡na numérico decimal. A esto se le conoce como decimal codificado en binario
o BCD. Es muy importanae que usted pueda interpretar los valores en cualquier--,,, ...1. "
4 CApirULo 1/SIS1[]MAS y cói]rGos NUMnRrcos

sistema y realizar conversiones entre cualquierá de estas representaciones


numéricas, ya que las cantidades y los patrones de bits podrían representarse
mediante cualquiera de estos métodos en un determinado sistema y en todo el
m¿rteri¿rl escrito de soporte para esos sislemas. 'fambién cubriremos o¡ros códi
gos r¡ue Ltrilizan unos y ceros para representar cosas como caracteres allanumé"
ricos, ya que son muy comunes en los sistemas digitales.

I-1 CONVERSIONES DE BINARIO A DECIMAL

RESULTADOS
Al fino.lizar esta sección, usted serú capaz de:
I Convertir números binarios en decimal.
! Identificar el peso (valo¡ ) de cada bir en un número binario.
El sistenr¿r numéricr¡ bina¡io es un sistema posicional, en donde c;rcia dígito binario
(bit) soporta cierto pesn, basado en su pnsicién reláriva al LSB (bit meuos signifi-
cativo). Cualquier número birialio puede convertirse en su equivalente decimat
con sólo sumar todos los pesos de las diversas posiciones en el númelo binario
que conten8an un 1, Para ilustrar esto, varcos a con\¡erti¡ el número 1 10112 erl su
equivalente decimal.
1 1 0 1 12
Za +?t+ 0+21 +20:16 +g +2{-1
= 27n
Hagamos ahora otro ejemplo con un mayor númerc¡ de bits;
1 0 1 1 0 1 0 12=
27 + O + 2s + 2a + O + 22 + 0 + 20 = 18110

Corno puede norar e1 procedimiento es encontrar los pesos (es deci, potencias
de 2) para cada posición de bit que contenga un 1, y después sumarlr.¡s. Observe
también que el MSts (bit más significativo) tiene un peso cle 27 aun cuanrio cs el
octavo bit; esto se debe a que el l§B es el primer bit y tiene lrn peso cle 20.
Otro método de conversión de binario a decimal que evita la suma de ntirne-
ros grandes y llevar la cuenta de los pesos de las columnas se co¡1oce colln
método double-dabble (doblar y sumar). EI procedimiento es el siguiente:
1. Escribir el primer 1 binario colocado a la izquierda en el número binario.
2. Multiplicarlo por 2 y sumar el siguiente bit inmediato a la rlerecha.
3. Escribir el resultado bajo el siguiente bit.
4. Seguir con los pasos 2 y 3 hasta termina¡ con el númelo binario,
Usaremos los mismos números para ilustra¡ este método.
Dado:110172
Resultados: 1- x2 = Z
+1
3x2=6
+0
6x?=72
+1
73x2=26
+1,
Lt70

Dadt¡; 1 0 110 1 0 12

Resultados: 1, ?-) 5+ 11', 22 --) 45 -, 90 -) 18110


SEccIóN 1.2/CoNVERSIONES DE DECIMAI A BINARIO 5

1. Convierta 1000110110112 en su equivalente en decimal, sume los productos


de los dígitos y los pesos
2. ¿Cuál es el peso del MSB de un nírmero de 16 bits?
3. Repita la conversión de la pregunta 1, utilice el método double'dabble'

I-2 CONVERSIONES DE DECIMAL A BINARIO

RESULTADOS
Al Íi,talizdr esta sección, usted será capaz de:
I Convertir números decimales en bina¡io.
r Identificar el núme¡o de bits neces¿rrios para un rango dadc¡ de valores.
r ldentificar eI rango de valores dado por el número de bits-
Existen dos métodos para convertt un núrnero en¡ero decimal en su representación
equivalente en el sistema binario. El primer método es el inverso del proceso
que se describió en la sección 1-1. El número decimal tan sólo se expresa como
[na suma de potencias de 2, y después se escriben unos y ceros en las posiciones
de bit apropiadas. Para ilust¡ar 1o anterior veamos lo siguiente:

45ro= 32 + 8 + 4 + 1 = 2s + 0 + 2l + 72 + O + 20
=1 0 1 1 0 lz
Obsewe que se coloca un 0 en las posiciones 21 y 2a,ya que se deben tomar en
cuenta todas las posiciones. Veamos otro ejemplo:

761s = 64+ 8+4 : 26 + O +0+ 23 + 22 + O + O


:r 0 0 1 1 0 0z

Oro método para convertir enteros decimales utiliza la división repetida


entre 2. Pa¡a 1a conversión, que se muestra a continuación para el número 2510,
se requiere divldir en forma repetida el número decimal entre 2 y anotar e1 resi'
duo después de cada división hasta que se obtenga un cociente de 0. El resultado
binario se obtj.ene al escribir el primer residuo como el LSB y el último como el
MSB. Este proceso, que se ilustra en el diagrama de flujo de la figura 1-1, puede
usarse también para convertir de decimal a cualquier otro sistema numérico,
como veremos más adelante.
)< LSB
ZlL = 72 + ¡esiduo de 1

ú-
*=9-residuode0
J--

3-3+r""¡d,rodeO-_.
i-
3
,=1+residuodel
r--
.
1: o + residuo de 1--
MSBJ

25¡¡ * 1 1 00 1,
§ C-,!.rírrl-o l1SrsTEl.fAS y cóDlcos NUMÉRtcos

R,l l-1 Diagrama


trl (i t,
rNlcto
de flujo para el método de
división repe¡ida 6le 1a con"
ve¡sión de enteros decima.
les a binarios. Puede usalse
el mismo proceso para 2
convertir un entero decimal
a cualq uier otro sistema
nrrmé¡ ico.
RBg¡sirár osoionre (O)

¿Es
o..o?

Rocol€.1ár r6siduo6 (R)6n


el núrñero binario dosoado
coñ 6l pri¡ñ6r R coi¡o LSB
y €¡r1lirñó É como MSg

f:r¡l

Si utiliza uná calculadora para realizar las divisiones entre 2, pc¡abá saber si el
residuo es 0 o 1 y si el resultado tiene o no una parte fraccionaria. Por ejemplo,
f produciría 12-5. Como hay una parte fraccionarla (.5), el residuo es un 1. Si no
hubiera palte frtrccionaria, como en $ = 6, entonces el residuo sería 0. Ill ejem-
plo 1-1 demuesrra esto.

Convierta el número 3716 en binario. Trate de resolverlo por su cuenta antes de


ver la solución.
Soh¡ción
37
7 = t8.5---r residuo de 1 (LSB)

18
-, = 9.0
---+
0

9
; : 4.5 ----» 1

4
; = 2.0 -----+ 0

.|

?,
= 1.0 -----+ 0

1
1=
0.5 --*» 1(N.{S]l)

Por e¡rde, 37to ,-- 1001012


SEccróN 1-3/SrsrEMA NUMÉRlco HEXADECIMAL 7

Rango de conteo
Recuerde que si utilizamos N bits, podemos contar hasta 2N números deci
males dis¡intos que van desde 0 hasta 2N - 1. Por ejemplo, para N = 4 pode'
mos contar desde 00002 hasta 11112, que es de 01s hasta 1516, para un total de
16 números disdntos, Aquí, el valor decimal más grande es 2a - 1 = 15, y hay
24 números distintos.
Entonces, en Beneral podemos decir que:

Si utilizamos N-b.its, podemos repr,esentar nú&eros decimales que van


desde 0 hasta 2N - 1, un totá¡ de 2N nrimeros distintos.

rcEUil (a) ¿cuál es el rango toral de valores deci¡nales qtre pueden represenrarse en
ocho bits?
(b) ¿Cuántos bits se necesitan pal'a representar valores decimales que van desrie
0 hasta 12.500?

Soluciírn
(a) Aqui tenemos que IV = 8. Por ende, podemos representar números decimales
desde 0 hasta 28 - 1 :255. Pa¡a verificar 1o anterior podemos comprobar si
111111112 se convierte en 2551¡.
(b) Con 13 bits podemos conra¡ desde el 0 decimal hasta 213 - 1 = 8191. Con 14
bits podemos contar desde 0 hasta 214 - 1 = 16,383. Es evidente que no son
suficientes 13 bits, pe¡o 14 bits nos llevar'án más allá de 12,500. Por ende, el
número de bits requeddo es 14.

1. Convierta 8310 en binario usando ambos métodos.


Z. Convierta 7291j en binario usando ambos métodos. Revise su respuesta y
convie¡ta el resultado nuevamente en deci¡oal.
3. ¿Cuántos bits se requieren para contar hasta 1 miüón decimal?

1-3 SISTEMA NUMERICO HEXADECIMAL

RESUTTADOS
Al iinalizar *ta sección, usted serri capaz de:
¡ ldentificar el peso de cada dígito hexadecimal.
I Convertir entre cua.lquiera de los sistemas numéricos: binario, decimal,
hexadecimal.
¡ Contar en hexadecimal.
r Identificar el rango de números (en todos los sistemas) para un número de-
termirado de dígitos.
¡ Identificar el número de dígitos necesarios para un rango determinado de
valores.
I Memorizar el valor de cada dígito hexadecimal en binario y decimal.
a Citar las ventajas del sistema numérico hexadecimal.
El sisterna numérico lexadecimal emplea la base 16. En consecuencia, tiene
16 símbolos posibles para los dígitos. Util.iza los núrneros del 0 al 9 más las
letras A, B, C. D, E y F como sÍmbolos para los 16 dÍgitos. Como se muesrra a
o
Caplrulo 1,/SIsrEMAs y cóDIGos NUMÉRrcos

continuación, .lás posiciones de Ios dígitos se ponderan como potencias de 16, en


lugar de ponderarse como potencias de 10, co¡no en el sistemá decimal.

164 163 162 161 160 16-1 16-2 16-3 16-4


punto hexadeoimal

La tabla 1-1 mues*a las relaciones entre hexadecimal, decimal y bi,ario. Observe
que cada dígito hexadecimal representa un grupo de cuatro d?gitos
binarios. Ei
impoltarte recorda¡ que los dÍgitos hex (abréviación de ,,hexad1cimal,,) de la A
a la l. son equivalenres a Ios valores decjmales del 10 al 15.

TABIA 1.1
l-lexadeoimal Deaimal Biñar¡o
0 0 0000
I 1 0001
2 2 0010
3 J 001 1

4 4 0100
5 0101
6 6 0110
7 0111
I I 1 000
I 1 001
10 1010
B 1l 10J 1

c 12 1100
D ,J 1101
E -t4
11't0
F 15 1111

Conversién dc hexadecilrral ¿¡ dccilrial


Es posible conyertír un núme¡o hexadecimal a stt equivalenle decirnal gr.acias
a que la posición de-cada dÍgito hexadecimal riene un peso equivalente"a
una
potencia de 16. El LSD tie¡re ur peso de 160 - 1; la siguiente pisición
de digiio
tiene un peso de 161 = 16; la siguiente de 162 = Zie;l á.1"" Io sucesivo. En el
siguiente ejamplo demostraremos el proceso d.e conve-rsión.

l' t f ¡ i IlI*l;I¡l: ll f I I IlilIr I lCtll


Puede usar I a función g'de la ca.lculadora para evaluar las porencias d.e 16.

35616:3x162+5x161 +6 x 160
:768+80+6
= 85410

2Ar'16 =?x 762 + 10 x 16i + 1s x 160


=512+160+15
= 6g7ro
SEccróN 1-3lSIsrBMA NU\,IÉE ICo IIEXA-DECIMAL s

Observe que en ei segundo ejemplo, el valor 10 se sustituyó por A y el valor 15


por F en la conversión a decimal.
Para practicar, verifique que 18C216 sea igual a 71061¡.

(--¡¡nversión de decim¿rl ¿l hexadecünal


Recuerde que para realizar la conversión de decimal a binario utilizamos la divi"
sión repetida entre 2. De igual forma, la conversión de decimal a hexadecimal
puede ieaiizarse mediante el uso de la üvisión repetida entre 16 (tabla 1-1). El
siguiente ejemplo contiene dos casos de es(a conver§ión.

(a) Convierta 4231q a hexadecimal.

§olución
423
= 2,6 + residuo de 7
"
*=t*residuodel0
to
r_-
*=o*residuodel
423r0 = 1A7r,i

(b) Convierta 2141s a hex

Solucién
214
16
= tt+ residuo cle 6

! = 0 + residuo de 13
16

214 r0 = D6 r6

Como puede notar, los residuos de los procesos de división forman los dÍgitos
del número hexadecimal. Obse¡ve también que cualquier residuo mayor a 9 sc
Iepresenta por las letras de la A a la F.

Si utiliza una calculadora para realizar las divisiones en el proceso de conversión,


Ios resultados incluir¡in una fracción decimal en vez de un residuo. Para obtener
el residuo multiplique la fracción por 16- Para ilustrar esto, en el ejemplo 1.3(b)
1a ca-lculadora habría produci<lo 1o siguiente:

!!tb = n.zts
El residuo se convierte en (0.375) x 16 = 6.

Conversión de hexadecimal a binario


El sistema nrrmérico hexadecimal se utiliza principalmente como método "abre-
viado" para representar números binarios. En realidad es muy sencillo convertir
10 CAlirr;Lo 1/SlsrEMAS y cóDrGos NUMÉRtcos

un número hexadecimal en binario. Cada dígito hexadecimal se convierte en su


equivalente binario de cuat¡o bits ltabla 1-1). Esto se ilustra a continuación para
el número 9F216.

9F216= 9 F 2
J}J
=1 0 0 1 1111 0010
= 100111110010¿

Para practicar, ¡.,erifique que 84616 = 1011101001102.

Conver:sión tle binario a hexadercimal


Esta conversión es sólo el inverso del proceso antes mencionado. El númerr:
binario se separa en grupos de cuatro bits, y cada glupo se co¡rvierle e¡r su digito
hexadecimal equivalente. Se agre¡ian ceros (los que se muestran ensombrecidos)
según sea necesario para complet¿¡r un grupo de cuatro bits,

11101001102= 0 011 1 0 1 00 I
\...r.-/!--JL_-FJ
10
3A6
= 3A6r,,

Para hacer las conversic¡nes en¡re hexadecimal v binarÍo es necesario co¡lo-


cer los números bilarios de cuatrn bits (del 0000 al 1111) y sus dígitos hexadeci-
males equivalentes. Una vez dominadas, las conve¡siones podrán realizarse con
rapidez sin necesidad de hacer cálculos. Esto explica por qué el sistema hexade"
cimal es tan útil para representar números binarios extensos.
Para practicar, verifi<¡ue que 1010111112 = l§f'16.

Corlteo en hexddecimirl
Al contar en hexadecimal puede incrementarse (en 1) la posición de cada dí3ito.
desde el 0 hasta la 11. Una vez que 1a posición de un dígiro llega al valor F, se
rcstablece a 0 y se incrementa la posición del siguiente dí6ito. En las siguientes
socuencias de conteo hexadecinlal se ilustra esto:

(a) 38, 39. 3A, 38, 3C, 3D, 3Il, 3F, 40.41,42
(b) 6F8, 6F9, 6IrA, 6FB, 6FC, 6FD, 6FE, 6Fr" 700

Cabe mencionar que cuando hay un 9 en la posición de un dígito, se convier-te en A


cuando se inclementa,
Con N posiciones de dÍgitos hexade.-cimales podemos contar desde ei 0 deci'
mal hasta 16'*
1, para un total de 16N valores distintos. Por ejemplo, con lres
dígitos hexadecimales podemos contar desde 00016 hasta FFF16, que es desde 010
hasta 40951¡, para rrtr lotal de 4096 - 165 valores distintos.

{ I tilid¡ld de l¡¡s nírnre ros he:aadelciuráles


Los números hexadecimales se utilizan a menudo en un sistema digital com<l una
('abreviada"
rnanera de representar cadenas de bits. Al trahajar con las compu'
mdoras es muy común usar cadenas de hasta 64 bits. Estas cadenas binarias no
sicmple representan un valor numérico, sino que (como veremos más adelante)
pueden indicar algún tipo de código que conlleve información no numérica..N
trabajar con un núrnero extenso de bits es más conveniente y menos errático
esc¡ibir.los números binarios en hexadecimal, ya que, como hemos visto, es bas'
tante sencillo realizar conversiones entre hexadecimal y binario, o t'iceve}sa,
Para ilustrar Ia ventaja de la representación hexadecimal de ¡.¡na ca¡lena bin:rria.
srponga <1ue riene en su pocier una iurpresión del contenido rle 50 ubicacionos de
SEccróN 1-3/SIs?EMA l':uMÉR¡co HExaDÉcIMAr t1

memoria, cada una de las cuales es un número de 16 bits y usted tiene que revi'
sarlas comparándolas con una lista. ¿Qué preferiria revisa¡,50 números c':mo
ésre: 0110i11001100111, o 50 núme¡os como éste:6E67? ¿Y con cuál sería más
probable equivocarse? No obstante, es importante tener en cuenta que todos
los circuitos digitales trabajan en binario. Los números hexadecimales sólo se
utilizan como una convenieücia para los humanos involucrados. SerÍa conve-
niente memorizar el patrón binario de cuatro bits para cada dígito hexadecimal,
Sólo entonces se dará cuenta de la utilidad de esta herramienta en 1os sistemas
digitales.

Convierta el número 378 decimal en un número binario de 16 bits, primero con-


virtiendo el número en hexadecimal.

lialució¡¡
+ r'esiduo de 101¡,= A',,
#J- = t
3=l-rresiduode7
r
*:o*residuodel
Por lo tanto,3781o = 174ru. Este valor hexadecimal puede convertirse con facili
dad en el número binario 000101111010. Por último, podemos expresar el número
3781s como un número de 16 bits si le agregamos cuatro ce¡os a la izquierda:

37810: 996¡ 0001 0111 10102

ffim Convierta el número 82F16 en decimal'

§olucitin
82!'16= B x 162 +?t 161 + I"- )( 160
=11x256+Zx16+75
:286Uro

Resumen de las conversiones


E¡ estos rnomentos es pr'obable c¡ue su cabeza esté dando vueltas a rnedida que
trata de mantener el sentido con todas estas dis¡intas conversiones de un sisrema
numérico a otro. Tal vez se haya dado cuenta que muchas de estas conversiones
pueden realizarse en forma autontáticu en su calculadora con sólo oprimir una
tecla, pero es importante que las domine para que pueda comp¡-e¡¡det el proceso
Además, ¿qué pasaría si su calculadola se quedara sin energia en un momento
crucial y no tuviera un reemplazo a la mano? El siguiente resumen Ie ayudará,
pero nada se compara con la práctica continua.

1. Al convertir de binario [o hexadecimal] a decimal, utilice el método de


tomar la suma ponderada de la posición de cada bit, o siga el procedinriento
double-datrble.
2. Al convertir de decimal a binario [o hexadecimal], utilice el método de la
división repetida entre 2 [o 16] y recolectar los residuos (figura 1-1)"
12 C.a.?iT( :Lo I /SrsrEiná*s y coorGos NUMiiaIcos

3. Al convertir de binarioa hexadecimal, divida el núme¡o en grupos de cuatro


bits y convierta cacla grupo en el dígito hexadecimal cor¡ecto.
4. Al convertir de hexadecimal a binario, convierta cada díg.ito en su equivir-
lente de cuatro bits.

1. Convier¡a el nírmero 24C816 a decirrral.


2. Convierta el número 311719 a hexadecimal v después de hexadeciu¡al a
bina¡io.
3. Convierta el número 1001011110110101, a hexadecimal
4. Escliba los siguientes cuaüo números en esta secuencia de conteo hexadeci
mal: E9A. EgB, EgC, EgD, __,
5. Convierta el núme¡o 352716 a binario.
6. ¿Qué rango de valores decimales puede representarse meüante un número
hexadecirnal de cuatro dÍgitos?

I-4 CÓDICO DECIMAL CODIFICADO EN BINARIO O CÓDIGO BCD

RESULTADOS
AI finalizar esta sección, usted xrá capaz de:
r C<¡nvertir números decimales a código BC]D.
I Convertir código BCD a decimiil.
! Citar l¿rs ventajas y desventajas de usar BCD.
I Citar l¿rs ventajas/desventajas de BCD en comparación con los números bi-
narios en los sistemas digitales.
Cuando sc representan nútneros, letras o palabras mediante un grupo especial
de simbolos, decimos que están codificados, y al grupo de sí¡nbolos se le llant¿r
udigo. Qttizá uno de los códigos más conocidos sea el Morse, en el cual una serie
de puntos y rayas representan las letras dei alfabeto.
Hemos visto que cualquier nrimero decimal puede represcnta¡.se mediante
un número binario equivalente. El grupo de unos y ceros en el número binario
puede considerarse corno un códign que representa el número decimal. Cuando
un núnrer-o decimal se representa por su número binario equivale¡¡te le llama-
mos código binario natural o simp¡emente código binario.
Todos Ios sistemas digitales utilizan cierta forma de números binarios para
su operación interna, pero el mundo externo es decimal por naturaleza. Esro
significa que con frecuencia se realizan conversiones entae los sisremas cleci-
mal y binario. Ijfemos visto que las conversir:nes enfre clecimal v binar.ir: puedt:n
volvelse extensas y complicadas cuando se manejan números grancles. por esta
razón, en ciertas situaciones se util.iza un rnedio para codificar números deci.
males que combina algunas características tanto del sistema clecimal coruo clel
sistema bina io.

Códig«r decirr¡irl codificado en llinaris


Si cada dí6ito de un núme¡o decimal se representa metliante su equivalenti.:
binario, el resultado es un código que se conoce corno cédigo decimat iodificado
en binario (o código BCD). Como un dígito decimal puede llegar hasta el 9, se
requielcn cuatro bits para codificar cada dígiro (cl código bin¡rrio par.a (¡l 9 es
1001).
sE CróN 1.4/CóDrco DE0IMAL coDMcADo EN BINARIo o cÓD1Go BCD 13

Pa¡a ilustrar el código BCD r:onsidere como ejemplo el número decimal 874.
Cada drgito se cambia a su equivalente binario de Ia siguiente manera:
8 7 4 (clecimal)
¿JJ
1000 0111 0100 (BCD)

Como segundo ejemplo, vamos a cambiar el número 94.J a su representación en


código BCD:
I 4 3 (decimal)
J ¿ J
1001 0100 0011 (BCD)

Una vez más, cada díBito decimal se cambia a su equivalente binario. Observe
que sicmpre se utilizan cuatro bits para cada dígito.
Asi, el código BCD representa cada dígito del ¡rúmero decimal mediante un
núme¡o binario de cuatro bits. Es evidente que sólo se utilizan los números bina-
rios de cuaro bits del 0000 al 1001. El código BCD no utiliza los númelos 1010,
1011, 1100, 1101, 1110 y 1111. En otras palabras, sólo se utilizan 10 de 1os 16
posibles grupos de códi¿¡o binario de cuatro bits. Si llega a áparecer uno de.los
números "prohibidos" de cuatro bits en una máquina que utilice el có<iigo BCD,
por lo general indicará que se ha producido un error.

ril3ffiEm Convierta el número 0110100000111001 (BCD) en su equivalente decirnal.

Sr¡ltr¡:ié¡r
Divida el número BCD en grupos de cua¡ro bits y convierta cada grupo en
decimal.
01 10 10 00 001 100
6839

ilE@Uil Convierta el número BCD 011111000001 en su equivalente decimal

Solución
01r 1 I100 0001
!r..rvJ!-/

/+1
Ei $upo con el código prohibido indica
un error en el número BCD.

Cornpirracién entl'e BCD y hinario


Es importante entender que BCD no es otro sistema numérico como el binario,
el decimal o el hexadecimal- De hecho, se utiliza el sistema decimal pero cada
dÍBito está codificado en su equivalente binario. También es importante com-
prender que un número BCD ¡ro es lo mismo que un número binario, Un número
binario toma e1 número decirrral completo y 1o representa en binario; el cr5digo
BCD convierte cada dígíto decimal en binario de manera individual. Para ilusúar
estot tome el número 137 y compare sus códigos binario directo y BCD:
137ro = 100010012 (binario)
1371e: gggl 0011 0111 (BCD)
14 CApl1rrr,o 1/SrsrE14as y coDlGos NUMÉRrcos

Para representar el 137, el código BCD requiere 12 bits, mientras que el código
binario sólo requiere de ocho. El código BCD requiere más bits que el binar.io
directo para ¡eprescntar números decimales de más rle un dígito, debido a que
no r¡tiliza todos los grupos de cuatro bits posibles como se indicó antesi por lo
tantó, es algo ineficiente.
La principal ventaja del código BCD es la relativa facilidad de convertir BCI)
en decimal y viceversa. Sólo necesiran memo¡iza¡ los glupos de código de cua-
tro bits para cada uno de los dÍgitos decimales clel 0 al 9. Esta facilidad de con"
versión es muy importante desde el punto de vista del hardware, ya qr¡e en r¡rl
sistema digital scln los circuitos lógicos los <¡ue realizan las conversiones hacia v
desde decirnal,

ffiErmil El cajero automático (ATM) de un banco le permite introrlucir, en lormato deci-


nra1, la cantidtrd de efectivo que desea rerirar, esro mediante las teclas cle los
dígitos clecimales. ¿La computadora convierte este nílmero decimal en binario
directo o BCD? Explique.
Solución
El número que representa su saldo (todo e1 dinero que riene en el banco) se al,
macena como número bi¡rario. Cuando se introduce el rnonto a reti¡a¡, debe res-
tarse del saldo. Como hay que realizar operaciones alitrnéticas con 1os números,
ambos valores (eI saldo y el efectivo a retirar) deben esrar en binario. l,a entrada
decimal se convierte en binario.

Su celular Ie permiLe introducir/almacenar un número telefóuico de 10 ctígi"


tos decimales. ¿El celular almacena el número telefónico en binario o IICD?
Flxplique-

Soluciórr
Un número telefónico es una combinación ile muchos dígitos decimales. No es
necesa¡io combinar en forma matemática los dígitos (es decir, nu»ca se sumarl
dos nírmeros telefónicos). El teléfono sólo necesita almacenarlos en la secuencía
en que se introdujeron y recuperarlos uno a 1a vez, cuando el usuario oprima
anviar. Por lo tanto, se alrnacenarán como dÍgitos tsCD en la memoria de la compu-
ttsdora er sLr teléfono celular,

1. Represente el valor decimal lTSmediantesu equivalente bürario, Iuego codi-


fique el mismo número decimal en BCD.
2. ¿Cuántos bits se requieren para representar un nún¡ero decimal de ocho
dígitos en IICD?
3. ¿Cuál es la ventaja de codificar un número decimal en BCD, en vez de haccrlo
en binario directo? ¿Cuál sería una desventaja'l

1.5 CÓDIGO GRAY

RESULTADOS
Al finalizar esta secció¡t. usted será capaz de:
r Citar 'la ventaja del código Gray en comparación con el binario.
t Realizar conver-<iones cnt¡e valorcs cn los códigos Gray.y birrarir.r
I Generar la sec uencia de código Gray.
SEccróN 1"5/CóDIGo GRAY 15

TABLA 1.2
Bs G2 O1 Go
82 B1
Eqlri\,alencias entre
código binario de rres 0 0 0 0 0 0
bits v código Gray. U 0 1 0 0 1

0 1 0 0 1 1

0 1 1 0 1 0
1 0 0 1 1 0
0 1 1 1

'1
0 0 1

1 I 0 0

I¡s sistemas digirales operan a velocidades muy elevadas y respontlen a los cam-
bios que se producen en las entradas digitales. Al igual que en la vida real, cuando
varias condiciones de entrada están cambiando al mismo tiempo Ia situación
puede malinterpretarse, por lo que se puede producir una reacción errónea.
Cuando se ven los bits en una secuencia de conteo binario, a menudo hay varios
bits que deben cambiar estados al mismo tiempo. Por ejemplo, consiclere cuando
el nrimero binario de res bits correspondiente al 3 decimal cambia a 4: los tres
bits deben cambiar de estado.
Para reducir la probabilidad de que un circuito digiral malinterplete una
enÍada cambiante, se desarrolló el código Gray como una manera de represen-
tar una secuencia de números. El aspecto único del código Grav es que sólo
cambia un bit entre dos números sucesivos en la secuencia. La rabla 1-2 mues-
tra la conversión entre el valor del código binario de tres bits y el código Cray.
I'ara convertir rie binario a Gray só1o hay que iniciar en el bit más sig¡nificativo
y usarlo como el MSB de Gray, como se muestra en la figura 1-2(a). Después
se compara el MSB birario con el siguiente bit binario (ts1). Si son iguales,
entonces G1 = 0. Si son distintos, entonces G1 = 1. Para encontra¡ G0 se compara
81 con B0.

t l(i [ 1(A 1-f B¡nario Gray


MSB LSB l\,,lsB LSB
Conversión de (a) binario
B1 Bo G2 G1 Go
a Gray y de (b) Gray a
bínario.

¿Difqrénle? ¿Dilerenle? ¿O¡lsrenle? ¿ D¡lerenle?

G, Gt Go 8., Bt BD

§ray Binario
(a) (b)

En la figura 1-2(b) se muestra la conversión dei código Gray a binario.


Observe que e1 MSB en Gray siempre es el mismo que el MSB en binario. El
siguiente l¡it binario se encuen¡ra comparando el bi¡ binatio a la izquierda con
el bit correspondieite en códito Grag. Los bits simila¡es producen un 0 y los bits
disti¡rtos un 1. La aplicación más comú¡ del código Cray es el los codificadores
de ¡rosición de eje, como muestra la figura 1-3. Estos dispositivos producen un
valor binario que representa la posición de un eje mecánico giratorio. Un codifi-
cador de eje práctico utilizaría mucho más de tres bits y dividiría la rotación en
mucho más de ocho segmentos, pará que pudiéra detectar incrementos de rota
ción mucho más pequeños.
16 CapiTr]I,o llsrsTÉMAs y cóDrcos NUMÉRrcos

i:Í(ll- Ir.\ 1-.i U¡r c.rdifi- G2


cad0r de eje de tr¿'s bits G
Y ocho posiciones. Go

<-+

tlodil ici¡dr¡te s dL- cu.]clratura


La aplicación más comúrn del código Gray es el codificador de eje de cuadratura.
que gira el eje, esre dispositivo produce una secuencia de código Grav
{deqettid-a
dos bits en sus salidas. l,a roración en senlido de las manecillas del reir:¡ pro-
duce la secuencia que se muestra en la tabla 1-3(a) y la rotacirin en sentidri ion.
tla¡io a las manecillas del reloj produce la secuencia qúe se muestra en Ia tabla
1-3(b). Al convertir estos valores de código Gray en binario vemos que cuenran
en forma ascendente o descendenre, depoldiendo de la dirección de ir¡ración. La
sensibilidad o rrúmero de grados de rotación representados por cadi¡ estado cle la
secuencia Cray variará entre lc¡s diversos modelos de codificadr.¡res de e.ie clispo-
nibles. Una característica imporra¡rre de un codificador r.le eje es que la secuerrcra
de estados puede usarse para determinar en qtré dirección gira efeje.

TABLA 1-3 El código


Gray de dos bits de r¡n En sentido de las manecillas Er sentido contrário a las mánesillas
coditicador cle eje dc del reloi dei rel.j
cuadratrr¡a. A B Binar¡o Decimal A A B¡nar¡o Deci.nat
0 0 00 0 0 0 00 0
0 1 01 1)\ 1 0 '11 3
,1
1 10 c4\
-) 1 1 10 2
)
1 0 11
")/
I

0 1 01 1
)
{a) (b)

La figura 1-4 muestra un codificador de cje econórnico que puede rrsarse


como pelilla de control en los aparatos electrónicos ¡rara el consumidor. Flsta
perilla ¡rodria ser un control de volumen o un control de sinto¡rización en un
¡eceptor de radio, por ejemplo. Hay tres terminales en este codificacio¡. Una
terminal se c<¡necta a la rueda con rayos. I.os rayos conductores en la rucda rozan
con dos brazr¡s de contacto metálicos con resorte a medida que el eje gir.ar. Las
olras dos terrninales se conectan por cables a los dos cortactos metálicos con

Irl{it:R;\ I,r1
Un codificador de
cuadratu¡a de cr¡ntacto
mecánico-
SEccIóN 1.6i LN].EGRACIÓN DIl Los SISTEMAS NUMÉRICOS 1l
¡'ICURA 1"5 Operación
de codificador de
cuadratura. 0 11 0 lll"rl-L
\ .9.--SI'-'L_l_ ,i:.-:1I1-
B
En sonlido de las En séntido conlrario
man€cillas dsl r€lo, a las manocillas dél reloj

resorte- Los contactos metálicos con resorte se posicionan de tal lorma que uno
siempre haga contacto con el rayo un poco anres que el otro, a medida que gira el
eje. Con este codificador conectado como se muestra en la figrra 1-5, al gi¡ar
el eje en sentido de las manecilias del reloj y en sentido contrario a las maneci-
tlas del reloj se producen las formas de onda mostradas. Observe que los estados^
en estos diagramas de tiempos siguen la secuencia de código Gray de dos bits.
A menudo los codificadores de cuadratura se conocen como codificadores
de eje incrementales, mientras que los codificadores que generan suficientes
bits en código Gray como para identificar de manera única cualquier posición
del eje, como se muestra en 1a figura 1-3, se conocen como cr¡dificadores de eje
absolutos. En el capítulo 4 demostraremos cómo co¡nbinar u¡ codificador de
eje incremental (de cuadratura) con un circuito contador digital para llevar la
cuenta de la posición absoluta del eje.

1. Convierta el número 0l0l (binario) en su equivalente en cédigo de Gray.


2. Convierta el número 0101 (código de Gray) en su número bi¡ario equivalente.

1-6 INTECRAOÓN DE LOS SISTEMAS NUMÉRICOS


La tabl¿r 1"4 muestra la representación de los núme¡os decimales del I al 15 e¡¡
los sistemas numéricos binario y hexadecimal, y también en los códigos BCD y
Gray. Examine esta tabla con cuidado y asegúrese de comprender de dónde pro"
viene. Obser-ve en especial cómo la representación en BCD siempre usa cuatro
bits para cada digito decimal.

TABLA 1.4
DEcimal Blnar¡o Hexadecimal BCD Qr.y
Equivalencias entre
sistelnas numéricos y 0 0 0 0000 0000
códigos. 1 1 1 0001 0001
2 10 2 0010 0011

3 11 3 0011 0010
4 100 4 0100 01 10
10.1 5 0101 01 11

6 110 6 0110 01 01
7 111 7 0111 0100
I 1000 I 1000 1',t oo

I 1001 I 1 001 1101


10 1010 0001 0000 1111
11 '1011 B 0001 0001 1110
12 1100 c 0001 0010 1010
13 1101 D 0001 0011 1011
14 f110 E 0001 0100 1001
15 1'l1 l F 0001 010',1 1000
18 Captrrü.o l/SrslEMAS y cóDIcos NUMfiRlcos

I-7 BYTE, NIBBLE Y PALABRA

RESUTTADOS
Al iinalizar esta sección, usted setd capaz da:
I Definir los tér¡ninos comunes: bgte, nibble y palabra.
a {"lsar estas palabras en contexto.
r Interpretar estas palabras en el cc¡ntexto utilizado.

Bytcs
La mayoría de las microcomputadoras maneja y almacena dalos binarios e infor-
mación en grupos de ocho hits, por lo r¡ue a una cadena de ocho bits se le asignn
run nombre especial: byte. Un byte siempre consta de ocho bits y puede repre-
sentar cualquiera de los numerosos tipos de datos e infc,rmaciírn, Los siguicntes
eiemplos ilusrrarán este p unto.

¿Cuántos bytes hay en una cadena de:12 bits?

Solrrciólr
i? = 4, por lo tanto hay cuatro bytes en una cadena de rl2 bits.

¿Cuál es el valor decirnal más grande que puede representarse en binario si se


utilizan dos b.ytes?

Soluci¡in
Dos trytes son 16 bits, por Io que el valor binario más grande será cquivalente al
número decimal 216 - 1:65,535.

¿Cuántos bytes se necesitan para reprcsentar el valor decimal iJ46,569 en BCD?

Soluci<i¡r
Cada dígito decimal se convierte en un códigr:r BCD de cuatro birs. Pol ende, un
nírmero decimal de seis dígitos requiere 24 bits. Esos 24 bits corresponden a tres
bytes. El diagrama para este caso se muestra a continuación:

846569
r--::---t* (decimal)
..-? / \
1000 0100 0110 0101 0110 1001 (BCD)
!-'Jl.-.fJ\--.-...y-

byte1 l¡yteZ byre3

Nibl¡les
A menudo los números binarios se descomponen en grupos de cuatro bits, como
hemos visto con los códigos BCD y las conversiones a números hexaclecimales.
En los primeros üas de ]os sistemas digitales surgió un térrnino para describir un
grupo de cuarlo bits. Como abarca Ia mitad de un byttr. se le denominri nil¡l¡le.
Los siguientes ejemplos ilustran el uso de este término,
SEccIóN 1.8/CóDIGoS AIFANUMÉRICos 1g

¿Cuántos nibbles hay en un byte?

Solución
?

ilrffi ¿Cuál es el valor hexadecimal del nibble menos significadvo del número binario
10010101?

Solucién

1001 0101
Ei nibbie menos significativo es 0101 = 5.

Palahl'as
I,os términos birs, nibbles y b9r* representan un número fijo de dígitos binarios.
A medida tlue los sistemas han idc¡ creciendo a ravés de los añr.¡s" también ha
crecido su capacidad (¿apetito?) de manejar datos binarios. Una palabra es un
grupo de bits que representa una cierta unidad de información. El tamaño de
la palabra tlepende de1 tamaño de la ruta de datos en el sistema que utiliza la
informaciórr. EI tamaño de palabra puede definirse como el número de bits en
la palabra binaria con el que opera un sistema digital- Por ejemplo, tal vez la
computadora en su hoñlo de microondas sólo pueda manejar un b¡e a la vez.
'fiene un tamaño de palabra de ocho bits. Por otro lado,la computadora personal
en su escritorio puede manejar ocho bytes a la vez, por io que tiene un ramaño
de palabra tie 64 bits.

1. ¿Cuántos bytés se necesitan para representar el númexo 23510 en binado?


2. ¿Cuál cs el valor decimal más grande que puede representarse en BCD, si sc
utilüan dos bytes?
3. ¿Cuántos dígitos hexadecimales puede representar un nibble?
4. ¿:Cuántos nibbles hay en un digito ECD?

1.8 CÓDIGOSALFANUMÉRICOS

RÉSULTADOS
Al finalizar esta sección, usted. será capaz de:
r l]sar rr¡ra tab]a para tradticir entle códigos ASCII y caracteres.
r Explicar el pro¡rósito de los códigos alfanuméricos corno ASCü.
Además de los datos numéricos, una computadora debe ser capaz de mane-
jar información no numé¡ica. En otr¿s palabras, una computadora es capaz de
reconocer códigos que representan letras del alfabero, signos de puntuación y
otros caracteres especiales, además de los números. A estos códigos se les deno-
mina cédigos alfa¡ruméricos. Un código alfanumérico completo debe inclui¡ las
26 letras minúsculas, las 26 letras mayúsculas, 1os 10 dígitos numéricos, 7 signos
de pulrtuación y de 20 a 40 caracteres adicionaies, como +, /, #, 9/o, *, entre ohos.
Podemos decir que un código alfanumérico representa a todos los caracteres y
funciones que se encuentran en el teclado de una computadora.
20 C,rpÍ'r,rJLr) 1/Srs Ir.rMAS y CóDIGos NUMÉRIcos

Codigo i\SC{l
El cótligo alfanumérico r¡ás utilizado es el Código Esrándar Estadounidense pata
el Intercambio de Información (ASCII, por ias siglas cle American Standard Code
jor Infonnation Intetchanse), Este código es de siete bits, por l0 cual riene 2; = l2[l
códigos posibles. Esto es más que suficiente para representar todos los caracte-
res estánclar del teclado. asÍ como las fu¡rciones de co¡rtrol como ¡etor¡ro de carro
(RE:I'URN) y avance de ]Ínea (LINEFEED). La tabla 1'5 ¡nuestra ur1 listado del
código ASCTI estándar de siete bits. I-,a tabla proporciona los equivalentes err
hexadecimal y decimal. Para oblener el código binario de sietc bits para cada
carácter es necesario convertir el valor hexadecimal en bin¿rrio.

TABLA 1"5 Códigos ASCII estándar


Carácter Hex Decimal Carácter Hex Décimal Carácter Hex Dec¡mel Carácier Hex Dec¡rnal
NUL (nulo) 00 Espacio 32 @ 40 64 60 96
lflic¡o del encabezado 11 ! 21 41 a
lnic¡o del texto có 34 B 42 66 b 62 98
F¡n del texto 33 # c 43 67 c 63 99
Fin de la transmis¡ón 44 24 Jb D 44 68 d 64 100
Consufta 55 Yo 25 37 E 45 69 6 65 '' 01

Reconocimiento 66 26 38 F 46 70 f 66 102
Timbre 77 : 39 47 o 67 103
Retroceso 88 ( 2a 40 H 48 h 68 104
Tabulación horizontal ) 29 41 I 49 69 105
Avanco dé linéá A 10 2A 42 4A 74 J 6A 106
Tabulación vertical B 1l 'l 28 43 K 4Et 75 k 68 107
Avance de impresión 44 L 4c 76 6C 108
Retorno de carro D 13 2D 45 M 4D 77 m 6D 109
Mayúsculas E 14 2É. 46 N 4E 7A n 6E 110
desactivadas
Mayúsculas activadas F 15 2F 47 o 4F 79 o 6F 1l1
Escape de enlace 10 16 0 JU 48 P §0 80 p 70
de datos
Control direato .l
11 17 ,1
49 a 51 8l q 71 113
Control directo 2 12 18 2 50 52 82 I 114
Control d¡recto 3 51 S 53 oi, 73 1't 5
Controldireclo 4 14 20 4 34 T 54 84 ,t
74 116
ACK (reconoc¡miento) t5 21 5 U 55 85 U 75 117
negátivo
Sincronía eñ 16 22 6 36 54 56 86 76 118
estado inactivo
Fin de BIoque 17 23 7 37 57 B7 77 119
de Transmisión
Cancelar 'r8 24 I 38 56 x 5S 88 x78 120
Fin de med¡o 19 25 57 59 89 y79 121
Sustituir '14 26 3A 58 z 5A 90 z 7A
Escape 18 2'l 3B t 5B 91 {78
Separador de ,ormas 3C 60 5C 92 l7c 124
Separador de grupos 1D 29 3D I 93 i7D
Separador de registros 'lE 30 3E 62 5E 94 -7E 126
.|
Separador de unidades 3F 63 5F 95 Supriolir 7F 127
SEccróN 1-8/CóDIGos ATFANUMÉRIcos 21

Use la rabla 1-5 para encontrar el código ASCII de siete bits para el carácter de
barra diagonal inversa (\).

Solución
El valor hexadecimal que se indica en la tabla 1-5 es 5C. Al traducir cada dÍgito
hexadeci¡nal en código binario de cuatro bits se produce 0101 1100. Los siete bits
inferiores representan el código ASCtr para \, o 1011100.

El código ASCII se [tiliza para la rransferencia de información alfanumé'


rica entre una computadora y los dispositivos externos, como una impresora u
otra computatlora. La computadora también utiliza ASCII en forma interna para
almacenar la información que escribe un operador en el leclado, E1 siguiente
ejemplo ilustra 1o anterior.

EJEMPIO 1-16 Un operador está escribiendo un programa en lenguaje C en el teclado de cierta


microcomputadora, la cual convierte cada pulsación de tecla en su código ASCII,
y lo almacena como un byte en memoria. Determine las cadenas binarias que
se inroducirán en memolia cuando el operador escriba la siguiente inslrucción
en C:
i, f {r>l )

S<¡lutión
Localice cada carácter (incluyendo el espacio) en la tabla 1-5 y escriba su código
ASCII.

I 69 0110 1001
f 66 01 10 01 10
espacio 20 0010 0000
( )a 0010 1000
x 78 0111 1000
3E 0011 1110
3 33 0011 001 1
)
lo 0010 1001

Ohserve que se agregó un 0 ai bit de más a 1a izquierda de catla código ASCII


ya que los códi8os deben almacenarse como bytes (ocho bits). A este prr:ceso de
agregar un bit adicional se le denomina rellenar con ceros.

1. Codifique el siguiente mensaje en código ASCII utilizando la representación


hexadecimal: "COSTO = $72."
2. El siguiente mensaje en código ASCtr con bits de relleno se almacena en ubi-
caciones contiguas de memoria en una computadora:

01010011 01010100 01001111 01010000


¿Cuál es el mensaje?
¿¿ CApir(r.o 1/§1s rEM^s y cóDI6os NUMÉRrcos

1-9 METODO DE PARIDAD PARA LA DETECCION DE ERRORES

RESULTADOS
Al iinalizar esta sección, usted seftí capaz de:

¡ Usar los esqrremas de paridad par o impirr.


¡ A8regar el bit de paridad apropiado para cualquier esquc ra
r Explicar el método de paridad para detección de errores.
I l)eterminar si ocurrió un error al usar cualquier es(luerna.
El movimiento de datos bi¡rarios y códigos de un lugar a otro es Ia operación rrrás
frecuente que se realiza en los sistemas digitales. A continuación se listan sókr
unos cuantos ejemplos:

G La ransmisión de voz digitalizada a través de un enlace rle microontl¡rs.


r El almacenamiento de datos y la recuperación de los mismos desde dispositi
vos de memoria externos, como el disco magnético 1v el disco óptico.
ü La tansmisión de datos digitales desde una computadora hacia otra cornpu"
tadora remota, a travós de lineas telefónicas (mediante el uso de un ¡nódem).
Ésta es una de las principales formas de enviar y recibir infor¡¡ración en
Internet.

Siemple que se ransmite información desde un dis¡rositivo (el transmisor)


hasta r¡tro (el receptor), existe la ¡rosibilidad de que puedan protlucirse e¡ro¡'es
qu$ causen que el receptor no reciba la infornación idé¡rtici¡ a la que envió el
t¡ans¡¡risor. La principa.l causa de errores de trans¡nisión es el ruído eléctrico, tluc
consiste en fluctuaci<-¡nes falsas en el voltaje o en la corrie¡lte, que estan presL'n.
res en todos los sistemas electrónicos en diversos g,rados. La figura 1,6 cs una
ilustración simplificada de un tipo de error de rransmisién,

t'l{;l'R,\ i-b Ejemplo


del ¡uido que produc€ un
erio¡ en la úan§misÍón Tlar¡smisor
-TLT J,tr Fle4eplor
de datos diEítales.

El transmisor envia una señal digital en serie clue está relativame¡rte libre
de ruido, a ravés de una línea de señal a uD t eceptor. No obstante, para cuando
la señal ilega al receptol contiene un cierto grado de ruido acumuladr¡ sobre la
señal original. En r:casiones, el ruido es tan grande en amplitud r¡ue altera el
nivel lógico de la señal, como se ve en el punto x. Cuondo esto or:urre, el ft)ceptor,
puede interpretar en forma incorrecta ese bit como un I lógico, qrre no corres-
ponde con 10 que el transmisor envió.
La mayorÍa de1 equipo digital moderno esrá diseñado relativamente lil¡re de
errores, y la probabilidad de que ocurran errores como el que se muestra eu la
Iigura 1-6 es uruy baja. Sin embarg,o, debemos consideral que los sistemas digita-
les transmiten con frecuencia ¡niles, incluso millones de bits por segundo, por lo
r¡ue incluso hasta una relación muv baja de ocurrencia de erores puede produ.
cir un error ocasional que podría llegar a ser molesto, si no es que desastroso. Po¡
esla razón, muchos sistemas digirales emplean alg[tn método para la detección
(y en ocasiones corecr:ión) de errt¡¡ es. LIno de los osquemas más sirnpler y urili"
zados para este fin es el urétntlo de paridad.
StrccróN l-g/MilToDo DE pARrDAr PARA LA DETECCIóN DE ERRoBES 23

Bit de paridad
Un bit de paridad es un bit adicional que se agrega al grupo de blts del cédigo
que se transfÍere de un lugar a otro. El bit de paridad se compone de un 0 o un 1,
dependiendo del número de unos que contenga el grupo de bits tlel código. Para
añadi¡lo se utilizan dos métodos distintos.
En el método de paridad par, el valor del bit de paridad se elige de manera
que el número total de unos en el grupo de bits del código (incluyendo el bit de
paridad) sea par. Por ejemplo, suponga que el grupo es 1000011. Éste es el carác'
te¡ "C" en ASCII. El código tiene Íras unos. Por ende, agregaremos un bit de pari
dad de 1 para que el número to¡al de unos sea par. El nueuo código inclugendo el
bít de parid.ad sería entonces;

1 r0000 11
t bit de paridad agregado*

Si el grupo de bits de1 código contiene un númelo par de unos para empezar)
el bit de ¡rariclad recibe un valor de 0. Por ejemplo, si el código fuera 1000001 (el
código ASCII para la "A"), el bit de paridad asignado sería 0 y el nuevo código.
inclugendo el bit de paridad, serÍa 01000001.
El ¡¡rétoclo rle patidad impar se utiliza de la misma forma, sólo que el bit de
paritiad se elige de manera que el nírmero total de unos (incluyendo el bit de pari-
dad) sea impar. Por ejemp o, para el código 1000001, el bit de paridad asienado
sería un 1. Para el grupo de código 1000011, el bit de paridad seria un 0.
Ya sea que se utilice la paridad par o impar, el bit de paridad se convierre en
parte de la palabra de código. Por ejemplo, al agregar un bit de paridad al código
ASCII de siete bits se produce un cócligo de ocho bits. Por lo tanro, erl bit cle pari-
dad se trata justo igual que cualquier ot¡o bit en el código.
El bir de paridad se transmile para detectar ctralquier error de un solo bit
que ocurra durante la ransmisión de un código de un lugar a otro. Por ejemplo,
supónga que el carácter "A" se va a transmitir y se va a utilizar paridad ímpal.
El códigr-i transmitirlrl séría
11000001
Cuando e1 circuito receptor reciba eI código, verificará que éste contenga un
número impar de unos (incluye¡rdo el bit de paridad). De ser asÍ, el receptot.
supondrá que e1código se rccibió de manera correcta. Ahora suponga que debido
a cie¡ro ruido o falla, el leceptor en realidad recibe e1 sigLriente código:
11000000
E.l receptor descubrirá que este código tiene un número par de unos. Esto indica
al receptor que debe haber un error en el código, ya que se presume que el trans.
misor y el receptor han aco¡dado utilizm paridad impar. Sin embargo, no hay
forma de que el recepror sepa cuál bit tiene error, ya que no sabe cuál se :ir"¡pone
que va a ser el código.
Podemos asumir que este método de paridad no funciona si dos birs rienen
error, ya que dos er¡ores no cambiatían la caracte¡Ística de,,par,, o ,,irupar',
en el número de unos en el código. En la práctica, el método de paritlad se utiliza
sólo en situaciones en las que la probabilidad de un solo error es ¡nuv baja y la
probabilidad de doble error es prácticamente cero,
Cuando se utiliza el rcétodo de paridad, el transmisor y el receptor <Ieben
acordar antes de la tra¡smisión si van a utiliza¡ la paridad par o impar. No hay
ventaja de un método sobre el o$o, aunque parece r¡ue la paridad par se utiliza

'E¡ t¡it de paridad puede colocárse en cualquier extremo del grupo de códígo, pero por lo general se coloca
a la izquiercla del MSB.
24 C¡piTüLo llsrsrEl.t.ds y CúDICos NUMÉRrcos

con mayor frecuencia. El transmisor debe agregar el bit de paridad apropiado


a cacla unidad de información que transmita. Pnr e-jemplo, si el t¡ansm.isor está
enviando datos codificados en ASCtr, deber;i agregar el bit de paridad a cada
grupo de código ASCII de siete bits. Cu¿mtio ei receptor examine los daros que
recibió del transmisor, comprobará cada grupo dc códi6¡o pai'a ver si el núr¡ren¡
t<)tal de unos (incluyendo erl bit de paridad) es consistente cr:n el tipo tle pirriciacl
acordado. A es[o se le conoce comúnmente como comprobar la parídad de los
datos. En caso de que detecte un errol, el receptor puede enviar un mensaje al
transmisor para pedirle que vuelva a transmitir el último conjunto cle datÓs. EI
procedimiento exacto a seguir cuando se detecta un erfor depende de cacla sis,
tema específico.

reEffi lfs común que las computadoras se comuniquen con otros equipos rernotos a tra-
vés de líneas telcfónicas. AsÍ es como se lleva a cabo Ia comunicacion por' ¡tccelo
telefónico a través de lnternet. Cuando una computadora transmitc un mensaje
a otra, por lo general esa información se codifica en ASCII. ¿Cuá.les serían las
cadenas de bits que transmitiría una computatlora para enviar el mensaie IIOLA,
utilizando ASCII con paridad par?

Soluciahr
Primero, vea los códigos ASCII para cada carác¡er del rnensaje. Después, para
catla código cuente el n(tmero de un<¡s. Si es un número par añada un 0 como el
MSB, o un 1 si es un número impar. Por ende, los códigos de ocho birs (bytes)
resLrlfantes tendlán un nLimero par de unos (incluyendo la paridad).

b its de paridad agregados


J
H= 0 1001000
O= 1 1001111
L= 1 1001100
A= 0 1000001

Corrccción {le c:rrores


La detección de erores es benéIica debido a que el sistema que recibe un datlr
qrre contiene un error sabe que recibió "productos dañados". ¿No sería maravi-
lloso si de alguna forma el receptor tarnbién pudiera saber cuál [rit es incorrecrol'
Si un bit binario es incorrecto, entonces el valor correcto es su complemento. Se
han desa¡rollado valios métodos para lograr esto. En cada caso se requiere apli-
car varios bits de "códigos de detección/colrección de erróres" a cada paquete
de información transmitido. Al recibir el paquere, un ci¡'cuito pucde detectar
si t¡currieron errores (incluso varios errores) y corregirlos, Esta tecnología se
utiliza para la transferencia masiva de datos de alta vel'¡cidad en aplicaciones
como unidades de disco magnéticas, unidades Flash, CD, DYD, discos Blu'ray,
televisión dig,ital y redes de Internet de banda ancha.

1. Agregue un bit de paridad impar a}código ASCtr para el símbolo $ y exprese


el resultado en hexadecimal.
2. Adjunte un bit de paridad par al código BCD para el 69 decimal.
3. ¿Por qué ei método dé paridad no puede detectar un dol¡le error en los dat<¡s
üansmiddos?
SlrccréN 1-10/APLICACtoNES 25

r-10 APLICACIONES
A conrinuación se presentan algunas aplicaciones que servirán como repaso de
algunos conceptos que vimos en este cápíruio. El objetivo de estas aplicaciones
eJque usted se dá una idea de cómo se utilizan los diversos sistemas y códigos
numé¡icos en el mundo digital. En los problemas que se encuentran al final del
capítulo presentaremos más aplicaciones.

Un CD-ROM ordinario puede almacenar 650 megabytes de datos digitales. Como


mega = 220, ¿cuiíntos bits de datos puede almacenar un CD-ROM?

Solr¡ción
Recuerde que un byte tiene ocho Lrits. Por 1o tanto,650 megabytes son 650 x 220
x 8 = 5,452,595'200 bits.

Para poder programar la mayoria de microcotrtroladores, las instrucciones bina-


rias se almacenan en u¡r archivo de una computadora persoaal de una mauera
especial que se conoce como formato a lntel. La información hexadecimal se
codifica en caracteres ASCII de manera c¡ue ¡:ueda mostrarse con facilidad en la
pantalla de una PC, imptimirse o transnritirse de u¡la manera sencilla, carácter
por carácter', a través de un puerto COM serial de la PC. A continuación se mues-
tra una línea de un archivo en formato hexadecimal Intel:

:10Z00000F7CFFFCF1FEF2FEF2A95F]F71A95DgF7EA

Intel hex {ormat:


\r,mrrr, dc byres d,'(lirl,)s t'n esr,r linc¿
l)ireccxin Co in i.ir,

By¡es de datos

Ir
10 lii0i)
I
I
Suma de
ver ifrc aci¡in

F7 C}'FT CF 1F Ei' 2F EF 2A 95 F1 F7 1A 95 D9 T¡7 tiA

El prirner carácter enviado es el código ASCII correspondiente a los dos pun-


tos, seguido de un 1" A cada uno se Ie adjunta un bit de paridad par como el bit
más significativo. Un instrumento de prueba captura el patrón binario de bits a
medida que pasa zr través del cable hacia el mic¡ocontrolador.
(a) ¿Qué aparielrcia debo tenor el patrón binari<¡ <1e bits (i¡cluyendo la pari-
dad)? (MSB"LSB)
(b) El valor 10, que va después de los dos puntos, representa en núme¡o hexade"
cimal el total de bytes que se van a cargar en la memoria del microcontrola'
dor, ¿CuáLl es el número decimal de bytes que se van a cargar?
(c) El número 2000 es un valor hexadecimal de cualro dígitos que representa la
di¡ección en la que se va a almacenar el primer byte. ¿Cuál es la mayor direc-
ción posible? ¿Cuártos bits se requeririan para representar esta dir.ección?
(d) El valor del primer byte de datos es F7. ¿Cuál es el valor (en binario) del ni"
bble menos significativo de este byte?
28 Crpiru["o 1/SrsrEMAs y cóDIGos NUMÉRrcos

So luc irin
(a) Los códi8os ASCII son 3A (para el r) y 31 (para el 1) 00111010 10110001
lrit de paridad par I {
(b) 10 hex = 1 x 16 + 0x I = 16 bytes decimales.
(c) FIrüF es el mayor valor posible- Cada digito hexadecimal es de 4 bits, por kr
que nccesitamos 16 bits.

FFFL' 1111 1111 1111 1111 16 bits


1d) El nibble menos significarivo (4 bits) se representa mediante el 7 hexadeci-
mal. En binario sería 0111.

Una pequeña computadora de cont¡ol de procesos utiliza códigos hexadecimales


para representar sus direcciones de 16 bits de memoria.
(a) ¿Cuántos digitos hexadecimales se requieren?
(b) ¿Cuái cs el intervalo de direcciones en hexadecimal?
(c) ¿Cuántas ubicaciones de mcmoria ha¡,?

§o lrrc lri¡r
(a) Como 4 bits se convierten en un digito hexadecimal, se necesitan f = a clígi
tos hexadecimales.
(h) El rango binario es de 00000000000000002 a 11111111111111112. En hexade"
cimal sería de 000016 a F!'FF1¡¡.
(c) Con 4 dígitos hexadecimales, el número total de dirocciones es 164 = 65,536.

En un sistema basaclo e¡ microcon trolador, los números se introducen r:n llCI)


pero se almacenan e¡r binario directo. Como pro¡iramador, usted debe decidir si
necesita u¡ra ubicacién de almacenamiento de un byte o de dos bytes.
(a) ¿Cuánros bytes necesita si el sistema recibe una entrada decimal de dos
digitosi
(b) ¿Qué pasaría si tul,iera que introducir rres digitos?

Sol rtciri¡r
(a) Con dos dígitos puede introducir valores hasta el 99 (1001 1001BCD). En bina-
rio este valor es 0110001 1, el cual cabe en una ubicación de memoria tie ercho
bits. Por ende, puede utilizar un solo b.it.
(b) 'tres dígitos pueden represenrar hasra 999 (1001 1001 1001). En binar.io esre
valor es 1111100111 (10 bits). Por lo tanto, rro puede usar un solo byte; nece-
sita dos bytes-

Cuando hay que transrnitir caracteres ASCII e¡rtre dt¡s sistemas irrdependienres
(como una computadora y un módem), debe habel una manera de indicar al re_
ceptor cuándo va a llegar un nuevo carácter. A menudo también se tiene la nece-
sidad de detcctar errores en Ia transmisión. EI método de transferencia se llama
comunicación asíncrona de daros. El estado norrnal de inactividad de la lÍnea de
transn¡isión es un 1 lógico. Cuando el rt ansmisur envia un carácrer ASCII, debe
"encapsrlarse" para que el rcceptor sepa en dónds courierrz¿rn y tcrmütal los
datos. til primer bit debe ser siempre un bit de inicio (0 légico).
RESL',\,rEN 27

A continuación se envÍa el código ASCtr, en donde el LSB va primero v el


MSB al último. Después del MSB se adjunta un bit de paridad para comprobar
errores en Ia transmisión. Por último, para terminar la transmisión se en,r,ía un
bit de paro (1 lógico), En la figura 1-7 se muestra una transmisión asíncrona
ordinaria del código ASCII de siete bits para el sigro # (23 I-Iex) con paridacl par.

ulC Lrl{,\ 1,7 Datos se¡ia-


les asíncronos con paridad lnacl¡vo _____> <- Inactivo -->
par,

I D D D D D D P
t{ 'I 2
il 3 4 6 a
I
I I R
c L l\,1
I
o
I S s d
B
:i a
d

Su PC encuentra un err'or al ejecutar una aplicación. EI cuadro de diálogo re-


porta la información sobre las direcciones que no pudo leer o en las que no pudo
escribir. ¿Qué sistema numérico se usa para reportar el área de direcciones?

Solul iórr
Por lo general estos números se reportan en hexadecimal. En vez de usar el sub-
índice 16 conro hicimos en este libro, pueden usarse otros métodos pala indicar
hexadeci¡nal (como agregar el prefijo 0x al número).

HE:$T¡MEfU

1. El sistema numé¡ico hexadecimal se utiliza en los sistemas y las computado-


ras digitales como una manera eficiente de representar cantidades binarias.
2. En las conversiones entre hexadecimal y binario, cada dígito hexadecimal
corresponde a cuat¡o bits.
3. El métodó de división repetida se utiliza para conr,ertir números decir¡rales
en bina¡io o hexadeci¡nal.
4. Mediante el uso de ur número binario de N bits podemos representar valores
decimales desde el 0 hasta 2 - 1.
5. Para formar el código BCD de un número decimal, se convierte cada dígito
del número decimal en su er¡uivalente binario cle cuatro bits.
6. F)l código Gray define una secuencia de patrones de bits, en donde sólo un bit
cambia entre patrones sucesivos en la secuencia.
7. Un byte es una cadena de ocho bi¡s, Un nibble es de cuatro bits. El tan¡año de
una palabra depende del sistema.
8. Un código atfanumérico utiliza g upos de bits para representar a todos los carac-
teres y funciones que forman parte del teclado r¡rdinario de una computadora.
E1 código ASCtr es el código alfanumérico más utilizado.
9. En e1 rnétodo de paridad para la detección de errores se adjunta un bit de
paridad especial a cada grupo de bits que se transmite.
?s Clpirrir.o 1/Sts'IEt{.\s y coDICos NU}".rÉRIcos

TERMINOS ¡MPORTANTES

bit de paridad Código Estándar método de paridad


Estadounideuse para nibble
código binario el Intercamtrio de palabra
códig,o decimal lnformación (ASCII) sisteraa nur0érico
codificado en códtgo Gray hexadecimal
binario (BCD) códiÉlos alfanuméricos tamaño de palabra

PfiOBLEIVIAS

$rf;cr0ñtIs 1-1 Y t-?


l-1. Convierta los siguientes números bi¡arios en «lccimales
(a)r10110 (e)*111i 1111 (i)* 100110
(b) 10010101 (f) 01101111 (j) 1101
(c)* 100100001001 (g)*1111010111 (k)*111011
(d) 01101011 (h) 11011111 0) 1010101
1-2. Convierta los siguientes valores decimales en binarios.
(a)*37 (e)*77 (i)*S11
(b) 13 (f) 190 (j) 25
(c)*189 (g)*205 (k) 52
(d) i000 (h) 2133 0) 47
1-3. ¿Cuál es el valor decimal más grande qlre puede represcntarse meclia¡rte
(a)* un núrnero binario de ocho bits? (b) un número de 16 bits?

sr*cl0N't-4
1'4. Convierta cada número hexadecimal en su equit,alente riecimal.
(a)r743 (e)*165 (t) g71
(b) 36 (f) ABCD (j) s9
(c)*37FD (g)*7FF (k) 58
(d) 2000 (h) 1204 (t) 72
1-5. Convierta cada uno de los siguientes núme¡os dccimales en hexadecimales.
(a)*59 @)*777 (i) 29
(b) 372 (f) 2313 (j) 33
(c)*919 (g),65,536 (k) 100
(d) 1024 (h) 255 (1) 200
1-6. Convierta cada uno de 1os valores hexadeci¡¡rales del problema 1-4 en
n(rmeros binarir:s.
1-7. Convierta los números binarios del problema 1-'l en hexadecimales.
1-8. L,iste los núme¡os hexadecimales en secuencia, desde 17516 hasta 1g015.
l -9.*Cuando se va a convertir un número decimal grande en binario, algunas
weces es más fácil convertirlo primero en hexadccimal y después en bina_
rio. Pruebe este procedimiento para el número 21331¡ v compárelo con ei
procedimiento usado en el problenra 1-2(h).
l-10. ¿_Cuántos dígitos hexadecimales se requieren para representar los números
decimales hasta el 20,000?, y ¿hasta el 40,000?

'Las resp{estAs a los problemas márcados con astelsco aparecen al finaldél texto
PRoBl,ÉMds 29

1'11. Convierta los siguientes valores hexadecimales en decimales.


(a)'92 (e)*000F (i) i9
(b) 1A6 (f) 55 6) 4Z
(c)*315A (C)*2C0 (k) CA
(d) A02D (h) 7F (1) F1
1-12. Cr¡nvierta los siguientes valores decimales en hexadecimales.
(a)*75 (e)a7245 (i) 95
(b) 314 (0 498 (j) 89
(c)r2048 (e)*25,619 (k) 128
(d\ 24 (h) 4o9s (l) 256
1-13. Tome cada número binario de cuaro bits en el ord.en en el que están escri-
tos y escriba el digito hexadecimal equivalente sin realizar ningún cálculo
manual ni mediante la calculadora.
(a) 1001 (e) 1111 (i) 1011 (m) 0001
(b) 1101 (f) 0010 (j) 1100 (n) 0101
(c) 1000 (B) 1010 (k) 0011 (o) 0111
(d) 0000 (h) 1001 (1) 0100 (p) 0110
1-14. Tome cada dígito hexadecimal y escriba su valor binalio de cuat¡o bits sin
realizar ningún cálculo manual ni ¡recliante la calculadora.
(a) 6 (e) 4 (i) 9 (m) 0
(b) 7 (f) 3 (jl e (n) 8
(c) 5 (C) C (k) 2 (o) D
(d) 1 (h) B (l) r (p) 9
1"15. ¿Cuál es el valor más grande que puede representarse por rres digiros
hexadecimales?
1'16.*Convierta los valores hexadecimales del problema 1"11 en binarios.
1'17.*l,iste los números hexadecimales en secuencia, desde 280 hasta 2A0.
1"18. ¿Cuántos dígitos hexadeci¡nales se requieren para representar núrme¡os
decimales hasta 1 millón?, )¡ ¿hasta 4 mill:les?

srcct0H 1-4

1-19. Codifique los siguientes nírmeros decimales en BCD.


47
(.a)* (e)*13 (i)+ 72
(b) 962 (l) 529 (j) 38
(c)*187 (g)*89,627 (k)*61
(d) 6727 (h) 1024 (l) e0
1-?0. ¿Cuántos birs se req uieren para represenrar los números deci¡nales en el
rango de 0 a 999 si se utiliza: (a) código bilario directo, y (b) código IICD?
1.21 Los siguientes números están en BCD. Conviértalos en decimales,
(a)*1001011101010010 (f) 010101010101
(b) 000110000100 (g) 10111
(c)*011010010101 (h) 010110
(d) 01 101 101 101 01
1 1 1 (i) 1110101
(e)*010010010010
30 C.l.}iT(ILO 1/SISTII\'Ids Y cÓDICÓs NUMÉRICoS

§ECfl0f'J 1-7

1-22.* (a¡ ¿Cuántos birs hay en ocho bytes?


(b) ¿Cuál es el númer<.¡ hexadecimal más grande que puede representarse
en cuatro hytes?
(c) ¿Cuál es el valor decimal codif.icado en BCD más g,rande que ptrede
representarse en res bytes?
1-23. (a) Consulte la tabla 1-5. ¿Cuái es el nibble más significativo del círdi¡io
ASCIi para la let¡a X?
(b) ¿Cuántos nibbles pueden almacenarse en una palabra de 16 bits'¿
(c) ¿Cuántos bytes se requieren para formar una palabra de 24 bits?

§ECCT0NES 1-8 Y 1-9

1-24. Represente la instrucción "X:3 >l Y" en cócligo ASCII. Adjunte un bit de
paridad impar.
1-25.* Adiunte uu bit de paridadpar a catla uno rle los códigos ASCII del problema
1-24 y muestre ios resultados err hexadecimal.
1"26. Los siguientes bytes (mostrados en hexadecimal) representan el nombre
de una persona según como se almacenaría cn la memoria de una conrpu'
tado¡a. Cada byte es código ASCII con relleno. Determine el nombrr: cle
cada persona.
(a) *42 45 4E 20 53 4D 49 54 48
(b) 4A 6l'652A 47 72 65 65 6E
1'27. Convierta los siguientes números decimales en códig,o BCD y después
adjunte un bit de paridad impcr.
(a)*74 (c)*8884 (e)+165 (B) 11
(b) 38 (d) 275 (O 9201 (h) 51
l'28.*En cierto sisterna digital, los números decimales del 000 al 999 se reprc-
sentan en códig<l BCD. También se incluye un bit de paridad im¡:al al
final de cada grupo. Examine cada uno de los códig,os que se muestran a
continuación y suponga que cada uno acaba de t¡ansferirse de un lugar
á otfo, Algunos d€ los grupos contienen errores. Suponga que no se han pro-
ducido má.s de dos cr: ores en cada grupo. Detelmine cuá1es de los siguientes
grupos de código tienen un solo error y cuáles tienen en defírtitiuo un ercot
doble (sugerenc'ra; recuerde que éste es código RCD),
(a) 1001010110000
JI.,ISIJ I,S¡ Bit de paridacl
(b) 0100011101100
(c) 0111110000011
(d) 1000011000101
1-29. Suponga que el receptor recibió los siguientes datos clel transmisor del
ejemplo 1"17:
01001000
11000101
11001100
11001000
11001100
¿Qué errores puede determinar el receptor en los datos que recibió?
PRoaT,EMAS 31

PAEGUNTA§ OE PNÁCTITA

1.30.*Realice cada una de las siguientes conversiones, Tal vez sea conveniente
que pruebe varios métodos en algunas de ellas para ver con cuál se adapta
mejor. Por ejemplo, una conversión de binario a decimal puede realizarse
en forma directa, o también mediante una conversión de binario a hexade-
cimal seguida de una conversión de hexadecimal a decimal.
ta\ 1417 ñ=
(b) 25510 =
(c) 110100012 =
-t
----.2
(d) 11101010001001112 = --.---- ro
(e) 249716
-ro
1¡;

rfr 511,"-.- (BCD)


(g) 23516 _.ro
(h) 431610 re
(i) __10
7A916
-
1j) 3E1C16 _ro
(k) 160010 _16
(i) 38,1871e _.re
(m) 865r0
--- (BCD)
(n) 10010100011 I(BCD)
(o) 465rs.-"- z
(p) 83416*_2 -ro
(q) 0t 110r00(BCD) _z
(r)1110102 -,----(BCD)
1-.11. *Represente el valor decimal 37 en cada una de las siSuientes formas.
(a) Binario
(b) BCI)
(c) Hexadecimal
(d) ASCII (es decir, trafe cada dígito como un r:arácter)
1"32, *Lle¡re los espacios en blanco con la palabra o palabras correctas.
. (a) Para convert.ir de decimal a se requiere de la división ¡epe-
tida entre 16. -
--
(b) Para convertir de decimal a binario se rerluiere de la divisiírn repetida
enüe
- BCD, cada
(c) En el código se convierte en su equivalente binario
de cuatro bits.
(d) El códi8o tiene la- característica de que sólo cambia un bit al
ava¡rzar de un paso al siguiente.
--
(e) Un transmisor adjunta un a un grupo de código para perrnitir
que el receptor detecte
(f) El código '.-- es el código alfanumér'ico más cor¡run que se utiliza
-
en los sistemas computacionales.
(g) se utiliza a ¡nenudo
-. como una manera conveniente rie repre-
sent ar números binarios ex¡ensos.
lh ) --
[Jna cadena de ocho b.irs se 1]ama
32 C,\pirl¡,o 1/Srsr'rirtrAs y cóDrcos N!-tlf ÉRtcos

1-33. Escriba el número bínario que se produce cuando cada uno de los siguien-
tes números se incrementa en uno.
(a)*0111 (b) 010011 (c) 1011 (d) 1111
1-34. Resre uno (decremente) a cada uno de los siguientes números bin¿irios.
(a)*1100 (b) 101000 1110 (c) (d) 1001 0000
1.-15. Esc¡iba el númclo que se produce cuando se incrementa cada ura dc 1as
siguientes cifras.
(a)',"779$ (c)*OFFFre (e)*91816 (B) Fr¡;
(b) 999916 (d) 200016 (f) 100A16 (h) pEr{;
1-36.*Repita el problema 1-35 para la operación cle decremento.

EJE ñtlCl0§ i\YAN¿A0üS


1-37.*En una miclocomputadora, las direccion* de las ubicaciones de mcmo,
ria sor¡ núme¡os binarios que identifican c¿rcla uno de los circuitos de
me¡¡roria en dontle se a.lmacena un byte. El número de bits que forman
cada dirección depende de cuántas ubicaciones de memor:ia tenga. Como
el nirmero de bits puede ser muy extenso, a menudr:las direccinnes se
especific;xr en hexadccirnal, en lugar do binario.
(a) Si urra microcomputadora utiliza una dirección de 20 bits, ¿cuánras
utricaciones de memoria distintas hayi,
(b) ¿Cuántos dígitos hexadecimales se necesiran para rcpresentar lir di-
rección de una ubicación de ¡ner¡roria?
(c) ¿Cuál es la dirección hexadecimal de la ubicación de nremoria núox:ro
256-i (Nor«; la primera riirección siempre es 0).
(d) El programa dc computadora esrá aimacen¿rdo en el bloque infelior
de 2 kbvres de memoria. Proporcione las direcciones inicial v fi¡ra1 de
este bloque.
1'38. Por lo general, en un CD cle audio la serial de voltaje de audio se muestrea
aproxinradamente 44,000 veces pol segundo, y el valor cle cada nruesLrir
se ¡¡raba cn la superficie del CD comr¡ núrnero binario. En oras palabl.as,
cada número binalio que se graba repr.esenta un punto de voltaje indivi
dual er¡ la forma de onda de la señal de audio.
(a) Si los númetos binarios tienen una krng,irud de seis bits, ¿cuánros
valores de voltaje distintos pueden reprosentarse medi¿lntc u¡r solo
número t¡inalio? Repita para ocho y rliez ltits.
(b) Si se utilizan números de die¿ bits, ¿cuántos bits se grabar-án en el CD
en un seg.undo?
(c) Si un CD puede almacenar, por lo general, 5 mil rnillones de bits,
¿cuántos segundos de audio pueden grabarse si se utilizan diez bits?
1--J9.*Una cámara digital en blanco y negro coloca una rejilia fina sobre una
irnagen para después rnedir y registrar un nú¡nero lrinario rlue represcnta
el nivel de gris que ve e¡r t-'ada celda de la rejilia. Por ejcmplo, si sc uri-
lizan números de cuaro bits eI valor de negro se establece en 0000 y el
valo¡ de blanco en 1111, y cualquier nivel de gris puede tener algún valor
e¡¡tre 0000 y 1111- Si se trtilizan números de seis bits, el negro es 000000
y el blanco es 111111, y todos Ios griscs se encuentlar entre esros dos
valores.
Suponga que queremos diferenciar entre 254 niveles de gris derrtlo de
cada una de las celd¿rs de la rejilla. ¿Cuántos bits necesitarÍamos usar
para representar estos niveles?
1-40. 1]na cárnara digital de 3 megapíx<,lcs abnacerra un nrinruru de ocho bi¡s
para el brillo de cada uno dc Ios colr¡r'es primarios (rojo, verdr:, azul.) q uc
R.ESPI]ESTAS A LAS PREGUNTAS DE EVALUACIÓN DE RESULTADOS §
se encuentran en cada elemento de imagen (pixel)' Si se almacenan todos
los bits lsin comp¡esión de datos), ¿cuántas imágenes pueden almacmarse
en una tarjeta de memoria de 128 megabytes? (Notc.'en los sistemas digi
tales, mega significa 220).
1-41. Construya una tabla que muestre las representaciones en binario, hexa-
decimal y BCD de todos los números decimales del 0 al 15. Compare sus
resultarlos con la tabla 1-4.

RESPUE§TAS A tA§ PBEGUNTAS OE EVAI-UACIÓN


DE RESUTTAI}OS

SECCrÓN 1-r
1.2267 2.32768 3.2267

sEcflÓN r-2
1.1010011 2.1011011001 3. 20 bits

sEcct0N 1-3
1.9422 2,C2D;110000101101 3. 9785 4. EgE. EgF. EA0. ¡lA1
5. 11010100100111 6.0 a 65.s3s

§rcclÓN r-4
1.101i00r02;000101111000(BCD) 2.32 3. Venlajar facilidad de conversión
Desventaja: el código BCD requiere más bits.

SECCt0N 1,5
1.0111 2. 0110

sEtcr0N 1-7

1. Uno 2.9999 3. Uno 4. Uno

sEccl0N 1-8
1. 43, 4F. 53. 54, 20, 3D, 2A,24, 37, 32 2. STOP

sEccl0N 1-s
1. A4 2.001101001 3. Dos errores en 1os datos no cambiar'Ían Ia caracterísrica
impal o par del número de unos en los datos.
I RIPCIÓN DE LOS
TOS LÓGICOS

N CONTEN¡DO

') l')
:1.1 Consta¡rtes y variables Universalidad de las
bo<¡leanas compucrtas NANI) .y NOR
')
.lablas de verdad 2-11 Representaciones alternas
:-.1 C)peración OR con de compuertas lógicas
compuertas ()ll 1.1 .t Cuál represontación de
?" ,1 0peración ANI) con conpuerta se debe usa¡
compuerras AND 2,15 Retraso de propagación
Operación NOT l,1rj Resumen de los métodos
Descripción algebraica para describir circuitos
de circuitos ló¡1icos ló6icos
Evaluaciri¡r de las salidas )-11 Comparación entre
de circuitos lógicos lenguajes de clescripción y
:it Imple¡¡¡entac.ión dc lengrrajes dc prog,rarnación
circuit<.rs a partir l.rfr Implementación cle
de expresiones bot¡leanas circuitos lirgicos con PI-DS
2-$ Cornpuertas NOR y NANt) 2.19 lormato y slntaxis tlel IIDL
?.10 'feo¡emas boolear'¡os 2-20 Señales intermedias
Teoremas de DeMolgan
T RESULTADOSDELCAPíTULO
Al finalizar e-ste capítulo, usted set'á capaz d.e:
r Realizar las tres operaciones lógicas básicas.
r Describir la operación y construi¡ 1as tablas de verdad para las compuertiit
AND, NAND, OR y NOR, y el circurto NOT (INVERSOR).
Dibujar üagranas de tiempos para las diversas compuertas de los cir
1ógicos.
a Escribir la expresión booleana para las compuertas lógicas y combinacio
de compuertas lógicas,
r lmplemenrar circuitos lógicos mediante el uso de compuerras AND, OR y
NOT.
, Usa¡ el álgebra booleana pa¡a simplificar circuitos lógicos complejos.
r Usa¡ los teoremas de DeMbrgan para simplificar las expresiones lógicas,
t Usar cualquiera de las compuertas uniyersales (NAND y NOR) para imple-
mentar un circuito representado por una expresión booleana.
ll Explicar las ventajas de construi¡ un diagrama de circuitos iógicos
mediante el uso de los símbolos alte¡nos de las compuertas,
en comparación con los símbolos estándar de las compuertas lógicas.
t l)escribir el concepto de Ias señales lógicas, activa en BAJO y activa en
AITO,
r Describir y medir el tiempo de reraso de propagación.
a Usar diversos métodos para describir la operación de los circuito
I Interpretar circuitos simples definidos mediante un len8uaje de
de hardwale (HDL)
r Explica¡ la diferencia ente ur.r HDL y un lenguaje de prograrnac
conrputadoras.
I Crear un archivo de HDL para una compuerta lógica simple.
r Crea¡ Lrn archivo de HDL para circuitos combinacionales con
variables intermedias.

INTRODUCCICIN
En los circuitos lógicos sólo existen dos posibles condiciones para cualquier
entrada o salida: verdadero y falso. El sistema numérico bina¡io utiliza sólo
dÍ¿¡itos: 1 y 0, por lo que es perfecto para representar relaciones lógicas. Los
cuitos lógicos digitales utilizan rangos de voltaje predefinidos para repres
estos estados binarios. Si utilizamos estos conceptos podemos crear circui
co]I¡pL¡estos de algo más que arena de playa procesada y alarnbre, c¿rn 1o cual
se puedan realizar decisiones 1ógicas consistertes e inteligentes. Es muy i¡r¡
tante que tengamos un método para describir las decisiones lógicas que real
estos circuitos. En otras paiabras, debemos describir la ior¡na en que operart.
En este capítulo descubriremos muchas formas para describir su operación.
Cada uno de estos métodos de descripción es importante, ya que todos apar
en la literatura técnica y la documentación de sistemas, y se utilizan en con
junto con las herramientas modernas de diseño y desarrollo.
3G C,\pir(,r,o 2ll)rscRIpclóN Dt r,os crRCUrTos r,ó(;lcos

La vida esrá llena de ejemplos de casos que se e¡¡cuenran en un estado o en


otro. Por ejemplo, una criatura puede estar viva o muerta, una luz puede estar
encendida o apagada, una puerta puedc cstar cerada o abie:-ta, y puerle
estar r)viendo o no. En 1854, el matemático George Boole cscribié el libr'o
Iha inuati¿¡ación sobre las leges del pensamienlo, en donde describí¿r la malrela
en qrc realizamos der:isiones lógicas con base en circunstancias vertladelas
o ialsas. Los mátodos que describió se conocen actualmente como 1ógica
booleana, y el sistema de usar símbolos y operadores para desclibir estas
decisiones se llama álgebra booleana. De la misma forma que utilizamos
sÍmbolos co[1o.r y g para representar valores numéricos desconocidos e¡r
el álgebra t¡adicional, el álgebra boolea¡ra utiliza sÍmbolos para lepresenlar
una expresión lógica que tiene uno de dos valr¡res posibles: verdadero o 1'also,
La expresión lógica podría ser'. puerta está cen'ada, botón está opñmidrt, o niuel
de combustible utá bajo. Es muy tedioso escribir estas expresiones, por lo que
se acost[mbra sustifuirlás por símbolos como A, Il y C.
El propósito principal de estas exprcsiones lógicas es desrribir la rolacirin
entre la saiida de trn circuito lógico (la decisión) y sus entradas (las condicio-
nés), En este capítulo estudiaremos los circuitos lógicos más básicos (.compúe¡'tas
kígica.s), que son los elementos a partir de los cuales se construyen todos lt¡s
d.emás circ¡"ritos ló¡¡icos y s.istenras digitales. Veremos cómo la operación de las
distintas cr:mpuertas lógicas y los circuitos más complejos fo¡mados por corn[ri-
naciones de compuertas lógicas pueden describirse y analizarse mcdiante cl uso
del álgebra booleana. Tarnbién veremos un breve adelanto sobre cdmo puede
usarsc esle álgebrtr para sirnplificar una expresión booleana de ul rircuitr¡
cleterminado, de manera que éste pueda Leconstruirse con menos compuertas
lógicas y/o menos conexiones. En el capítuk:3 veremos mur:ho más acerca de Ia
simplilicación de circuitos.
E1 álgebra l¡ooleana no sólo se utiliza como herramienta para analizar y
simplificar sistemas Iógicos. 'fambién puod*: usarse parü crear un circuito lóg,ir:o
que produzca la relación de enracla/salida deseada. Pol lo general, esre proceso
se conoce cor o síntesis de circuitos iógicos, en vez de análisis. Se han utilizado
otras tócnicas en el análisis, síntesis y documentación de sistenas y circuirus
lógicos, corno tablas dc vertlad, sírnbolos e$quemáticos, diagramas de tiempos
y (por último. pero t.ro menos impoltante) el lengrraje. Para categorlzal estos
méi.odos, podr-íamos decir que el álgebra booleana es una hclramienl¡r m¿te.
rrrática, las tal¡las dc verdad son herramientas para org,anización de clatos, los
sÍmbolos esquemáticos son herramientas de representación grírfica, los dia¡ira-
rnas cle tiempos son herramientas para grafical la respuesta y el lelguaje cs la
herramienta rrnit ersal de descripción.
Actualmente puede usarse cualquiera de estas herramientas pa¡ a propor.
cionar l¡t entrüd¿r a una computadora. Éstas pueden utilizarse para simplificar
¡, traducir cnre estas diversas for¡nas de descripción y, en últirna ilstancia,
proveer una s¡üida en la fo¡'ma necesa¡ia para implementar un sistema digiral.
Para aprovechar los poderosos beneficios del software computacional. primero
debemos comprerrder por completo las formas aceptables para describir estos
sistemas cn términos que la cornpuradora pueda ententler. Iin uste capítuk>
veremos las bases para un esturlio más detallado de estas herramiont¿rs vir¿llcs
para la síntesis y el análisis de los sistemas digitales.
Es evidenre <¡ue Ias herramientas que describiremos aqui son invaluables
para describir, analizar, diseñar e implementar circuitos digitales. Eli estudianre
que tenga la expectativa de trabajar en el campo digital deberá esforzarse
mucho por cornprendel y familiarizarse con e1 álgebra booleana i aulque no lo
crea, es mucho más sencilla que ei álgebra convencional) y con todas las demás
herramientas. Resuelva todos los ejemplos, ejercicios y problernas, incluso los
<¡ue no le asigne su instructor. Cuando acabe con todos ellos, haga los suyos.
Bien valdrá la pena el dempo que invierta en ello, ya que usted verá cómo
mejoran sus habilidades v aurnenta su confianza.
SECCIóN 2.1i CÓNST,LNTSS Y VARIA}LES BOOLEANAS 37

2.1 CONSTANTES Y VARIABTES BOOLEANAS

RESULTADOS
Al linalizar esta sección, wted será capaz de:
! Diferenciar entre las variables y constantes booleanas.
r Indicar los posibles valores de una variable o constante booleana.
r Definir el álgebra booleana.
El álgebra booleana difiere en gran medida del rálgebra ordinari4 ya que a las cons'
tarites y variables booleanas sólo se les permite tener dos valores posibles: 0 o 1.
Una variable booleana es una cantidad que puede ser (en distinta§ ocasiones)
igual a 0 o a 1. Las va¡iables booleanas se utilizan a menudo para represer'¡tar el
nlvel de voltaje presente en un alambre o en las terminales de entrada/salida de
un circuito. Por ejemplo, en cierto sistema digital el valor booleano 0 podria asig"
narse a cualquier voltaje en el rango de 0 a 0.8 V, mientras que el valor booleano 1
podría asignarse a cualquier voltaje entre 2 y 5 V.*
Por 10 tanto, el 0 y el 1 booleanos no representan números reales, silro el
esrado de una variable de voltaje, o lo que se conoce como su nivel lógico. Se
dice que un voltaje en un circuito digital está en e1 ¡rivel 0lógico o en el nivel 1
lógico, dependiendo de su valor numé¡ico actual. En la lógica di5¡ital se utiliz-an
otios términos más como sinónimos de 0 y 1. La tabla 2'1 muestra algunos de los
más comunes. La mayor parte del tiempo utilizaremos las designaciones 0/1 y
BAJO/ALTO.

TABLA 2-l Término§ 0lóg¡co I lóEi6o


lógicos comunes-
Falso Verdadero
Apagado Encend¡do
BAJO ALTO
No Si
lnterruptor abierto lnterruptor
cerrado

Como diiimos en la introducción, el álgebra booleana es el medio para exple-


sar la relación enre las enradas y 1as salidas de un circuito lógico. Las entt'a"
das se consideran variables lógicas cuyos niveles Iógicos en cualquier momento
determinan los niveles de salida. En todo el trabajo que veremos, utilizaremos
simbolos de letras para represertar variables lógicas. Por ejemplo, la leüa '4
podría
-un representar una en*ada o salida determinada de un circuito digital, y en
determinado momento debemos tene¡.4. = 0 o,4 = 1; si no e§ uno, enlonces el
otro.
Como sól: dos valores son pos.ibles, en realidad es muy sencillo trabajar con
el álgebra booleana en comparación con el áIgebra ordinaria. En el álgebra boo-
leani no hay fracciones, decimales, números negativos, raíces cuadradas, raíces
cúbicas, logr.rritmc¡s, números imaginarios, etc. De hecho, en el álgebra booleana
sólo hay rres operaciones básicas: OR, AND y NOI:-
A eitas operaciones básicas se les conoce como ope¡¡a cion* lógicas. Los circui-
tos digitales, llam ados compüertas lógicas', pueden construirse a partir de diodos,
transiitores y resistencias conectaclos de mane¡a que la salida del circuito sea el
resultado de una operación lógica básica (OR, ÁND, NOD que se lleva a cabo con
1as entradas. Utilizaremos primero el álgebra boolea¡la para describir y analizar

'Los volt4es entre O.E y 2 V están ¡ndefin¡dos (no son O ni 1) y baio c¡rcunstancias narnales no detlen
proserila€e.

r--- -
I
38 CAf,ilI:Lo 2/DÉ:SCRIPclÓN DE i-()§ CIRCL,,.IToS LÓGICOS I
las compueltas lógicas básicas, y después para analizar y diseñar combinaciones de E
compuertas lógicas conectadas como cir-cuitos lógicos.
Una constante booleana representá un punto en el circuito en clonde el nivel ,
lógico nunca cambia. En otras palabras, cada hit está "integrado" a un 1 ló¡r,ico
o a un 0lógico. Un buetr nombre para un 1ló¡¡ico constante sería \¡CC o A1,'1O. ,
VCC es un nombre común <¡ue se asi¡;na a la fuente de alimentación positiva dc
los siste¡nas digirales. Un buen nombre para un 0lógico coRstante sería BA.JO o a
CND. CND significa tierra: el término utilizado para el lado negativo de la fuente
de alimentación para los circuitos digirales. Estos niveles de voltaie se usan p¿rra a
representar unos y ceros.
a
1, Un circuito tiene más entradas de las que necesita su aplicación. Las en-
a
tradas adicionales no afectarán a su aplicación si están en BAJO. ¿Debcría
aplicar una variable o ura constante? ¿Cuál sería un buen nombre para esle
a
punto en el ci¡cuito?
2. El codificador cle cuad¡'atura (código Gray de dos bits) descrito en el capítub 1
a
tiene sus dos canales A y B conectados como enüadas a un circuiro lóg,ico.
.:Deherian estas eltradas etiquetarse corno variables o constantes? ¡-C]uál
a
sería un buen nombre para cada entrada!'
3. Defina álgebra booleana.
a
E
2-2 TABIáS DE VERDAD
=
RESULTADOS
-
Al jinalizar esta sección, usted sertí capaz de:
! Construir una tabla de verdad. 7
a ldentifica¡ la salida correcta para cualquier entrada.
r Determinar el tamaño de la tabla de verdad con basc en el núme¡o de
a
variables. a
Una tabla de verdad es una herramienta para describir la lorma cn quc la s¿rlida de
un r:ircuito lógico depende de los niveles lógicos presentes e las entradas dei a,
circtrito- La figura 2-1(a) mueso a una tabla de verdad para un tipo de circuito lo¡qico
de dos entradas. La tabla lista todas las posibl<.:s combinaciones de niveles liigi-
cos present€s en las entradas.4 y B, junto con el conespondiente nivel en la
a
a,
ffl(il.liA 2'l Tabla§
de verdad de ejempio
Sallda B C t3 o D x I
para circuitos de (a) dos
entradas, (l)) tres entra-
Entradas
l{{ I
0
0
0
0
0
0

0
1
0
1
,l
0000
0001
o010
0
0
o
a
a
1

das y (c) cualro entradas B 0 1 1 0 0011 '|

o 0 1 1 0 0 o ol00 1

0101
0
1
1

0
0
1

0
1

1
0
1 0
i 0
0 0110
or11
0
0 a
a
1 1 1 1 1 1 1

(b)
1000 0
1001 0
1010
B
x
1011
1100
o
1

0
a
1101
(a) 1110
0
0 J
(c) J
J
?
SÉccróN 2.3/OpERACTóN OR coN coMpuEBTAS OR 39

salida iú. La primera entrada err ]a tabla muestra que cuando r4. y B se encuentran
en el nivel 0, la salida.r se encuentra en el nivel 1 o, de manera equivalente, en
el estado 1. La segunda entrada ¡nuestra que cuando la entrada .B se cambia al
estado 1, de manera que Á = 0 y A: 1, la salida x se vuelve un 0. De manera sinri"
Iar, la tabla muesúa qué ocurre con el estado de salida para cualquier conjunto
de condiciones de entrada,
Las figuras 2"1(b) y (c) muestran ejemplos de tablas de verdad para circui-
tos iégicos de tres y cuatro ent¡adas. De nuevo, cada tabla lista todas las posi-
bles combinaciones de niveles Iógicos de las entradas a la izquierda, con el nivel
lógico resultante para Ia salida x a la derecha. Desde luego que los valores reales
para x dependerán del tipo de circuito lógico.
Observe que hay 4 combinaciones para la tabla de verdad de dos entradas,
8 combinaciones para una tabla de verdad de tres enradas y 16 combinacio-
nes pa¡a la tabla de verdad de cuatro entradas. El número de combinaciones de
entrada será igual a 2N para una tabla de verdad con /y' entradas. Obserye tam-
bién qr-re la lista de todas las posibles combinaciones de entrada va de acuerdo
con la secuencia de conteo binario, por lo que es fácil anotar todas las combina-
ciones sin que falte una.

1. ¿Cuál es el estado de salida dei ci¡cuito de cnatro entradas representado err


la figura 2.1(c) cuando todas las entradas excepto B son 1?
2. Repita la pregunta 1 para las siguientes condiciones de enÚada: A = 7, B = 0,
C:1,D:0.
3. ¿Cuántas combinaciones se necesitan en la tabla para un circuito de cinco
ent¡adas?

2.3 OPERACIÓN OR CON COMPUERTAS OR

RESUTTADOS
Al finalizar esta sección, usted será capaz de;
r Definir la función OR lógica.
I Escribir ecuaciones booleanas usando la función OR.
a Dibujar el sírnbolo lógico para la función OR.
¡ Escribir una tabla de r.erdad para describir la función OR.
a Dibujar un diagrama de tiempos gue demuesre la f unción OR.
r Usar cualqtriera de 1os ¡nétodos anteriores para inferir la salida correcta de
un circuito lógico con base en su entrada.

t La opcración OR (O) es la primera de las tres operaciores booleanas básicas que


estudialemos. El horno de cocina es un buen ejemplo. La luz dentro del horno
debe encenderse si el interuptor de la luz del l¡orno está encendid.o O si la puerta
está abierta. ta letra á podría usarse para representar la condición íntenaptor de
a Ijl(;LrRA:.f (A) Tabla de OR

a T,erdad que define Ia ope.


ración OR: (b) símbolo de 0
B
0 0 x ArB
a circrrito de una compuerta
OR de dos entradas.
o
1 0
1 I
I B

a 1 1

(a)
1

Compueda OB
(b)

-
-
40 CApir['Lo 2/f]DSCRJpcIó¡i DE Los cIRCUITos r"óGlcos

la luz del honto mcmdido (verdadero y falso) yü podría representar la condicién


puerta o.bierta (verdadero o falso). La letra r podría representar la condición lu¿
e¡tcendida (verdadero o falso). La tabla de verdad de la figura 2-2(a) muestra lo
qlre ocurre cuando se combinan dos entradas lógicas (A v 8) mediante el uso de
la operación OR para producir la salida ¡. La tabla mucstra que .:r es trn 1 ló¡ii<--o
para cada una de las combinaciones de niveles de e¡ltrada en donde una o más
enradas sea 1. El único caso en el que x es 0 es cuando ambas entradas son 0.
La expresión booleana para la operación OR es
x=l + I
En esta expres.ión, el signo + no indic¿r la suma ordinaria; indica la operación
OR. Esta operación es similar a la suma ordinaria, excepro para el caso en el que
tanto A como -B son 1; la operación OR produce 1 + 1 = 1, no 1+ 1 = 2. En el
álgebra booleana 1 es el valor más ako, por Io que nunca rendremos un resulrado
mayor que 1. Lo rnismo aplica cuando se combinan tres entradas ¡nediante el uso
de la operación OR. Aquí tenemos que ,r = .4 + B + C. Si collsideramos el caso en
el que las tres enlladas son 1, tenemos
r=1+1+1=1
La expresión ¡ = á + B se lee como "x es i¡¡ual a A OR 8", lo cual significa que
¡ será 1 cua¡rdo A o B o ambas sean 1. I)e igual forma, la expresión x:A+B+C
sc lee como "x es igual a A OR B OR C", lo cual significa que x ser'á 1 cuando zl o
B o C o cualquier combinación de ellas sean 1. Para describir este circuito en el
idioma español podríamos decir que x es uerd.adera (1) C{IANDO A a uerdd.derd (1)
OR B a uerdad.era (1) OR C x uerdadera (1).

{lornpuerta OXI
F)r ios circuitos digitales, t¡na compuerta OR* es un circuito que tiene dos o
más enrradas y cuya salida es igual a la combinación OR de las enrradas- La
figura 2-2(b) muestra el símbolo Iógico para una compuerta OR de dos entradas.
Las entradas 4 y I son niveles lógicos de voltaje y la saliria r es un nivel ló¡iicr:
dc voitaje cuyo valor es el resullado de la operación OR sobre ,4 v B; es decir..
A + B. Iin otras palabras, la compuerta OR opera de manera que su salida esté
'- =
en ALTO (1 lógico) si cualquiera de las ent¡adas A o B o a¡nbas se encuenrran en
el nivel 1 lógico. l,a salida de la compuerta OR estará en IIAJO (0lóBico) sólo si
todas sus enÚadas están en 0lógico.
Esta misma idea puede extenderse a más de dos entradas, La figura 2-.i mues-
tra una compuerta OR de tres entradas y su tabla de vert{¿rd. Si examinamos esta
tabla de verdad podremos ver de ¡ugyq qr* la salida será 1 para cada cas<¡ en el
que una o rnás enrradas sealr 1..Este principio general es el mismo para las com-
puertas OR con cualquier número de enrradas.
-Si utilizamos el lengrraje del álgebra booleana, Ia salida x podemos expre-
sarla como x = A + B * C, en donde hay que enfatizar otra vez que el símboio +

f'I(;U¡tA ;:,.1 Símbolo y


tabla de verdad lrara una 0
B
0
C
0
t x.A{B.rC
o
compuerta OR de tres 0 0 1

ent¡ adas. x ,A r B rC 0 1 0
B 0 I 1

C 1 o 0
1 0 1

1 1 o
1 1 1

'El rérñ¡ño corrprerra provieno de la operación habilración/deshabitiiác¡óñ que se presenta en el


cap¡tulo 3.
SEccróN 2.3/OPERACIéN OR coN coMPUERT.{s 0R 4t

representa la operación OR. Asi, la salida de cualquier compuerta OR puede


cxpresarse como la combinación OR de sus diversas enrradas. Pond¡emos esto en
práctica a la hora de analizar los circuitos lógicos.

Resumen de la operacién 0R
l,os puntos importantes que debemos recordar en relación con la operación OR y
las compuertas OR son:

1. La operación OR produce un resultado (salida) de 1 siempte qte cualquieru


de sus entradas sea 1. En cuaiquier otro caso, la salida será 0.
2. Una compuerta OR es un circuito lógico que realiza una operación OR sobre
las entradas del circuito.
3. La expresión .x =A + B se lee como "x es igual a A OR IJ".

[EErff'trll On muchos siste¡nas de control indust¡iales se requiere activar una función


de salida cada vez que se activa una de varias entradas. Por ejemplo, en ttn
proceso quÍmico quizá sea conveniente que se active una alarma cada vez que
la temperatura del proceso exceda un valor máximo ¿l cada vez que la presión
pase cierro lírnitc. La figura 2,4 es un diagrama de bloques del caso descrito.
EI circuito transductor de temperatura produce un voltaje de salida propor-
cional a la temperatura del proceso. Este voltaje yT se compara con un voltaje
de relerencia de temperatura yTR en un circuito comparador de voltajes" Por
lo general, la salida del comparador I¡¡ es de un voltaje bajo (0 lógico) pero
cambia a un voltaje alto (1 lógico) cuando Y1 excede a [1¡, lo cual indíca que
la temperatura del proceso es demasiado alta. Para la medición de plesión se
utiliza un arreglo similar, de manera que su salida asociada del comparador P11
ca¡nbie de BAJO a ALTO cuando la presión es demasiado alta. ¿Cuá1 es el pro-
pósito de la compuerta OR?

t¡l(;Liltl 2-1Ejemplo del t I


uso de una compuerta OR Taansduclor
I

en rlrl sislema de alalma. d€


I
TH
temp€ralura Comparador

Alarma

Transductor PH
dé presién Comparador
I
I
Proc€so qulmico
-.1

Solrrció¡r
Dado que se quíere que la alarma se active cuando la temperatura o la pre-
sió¡r estén demasiado altas, es indudab)e que las dos salidas del comparador
pueden alimentarse a una compuerta OR. Por ende, la salida de la corupuerta
OR cambia a ALTO (1) para cualquiera de las dos condiciones de alarma, ac-
tivándola. Es obvio que esta misma iclea puede extenderse a situacio¡res cc¡n
más de dos variables del proceso.
42 CsirULo 2/f)EScRIpcIóN olt t,os ctRcüt?os Lóclcos

ffi (a) Determine la salida de la compuerta Olt de la figura 2"5. Las entradas.4 y B
de la compuerta OR están variando de acuerdo con los diagramas de tiempos
que se muestran. Por e jemplo,,4 empieza en nivel BAJO en e1 tiempo ¡0! cam-
bia a ALTo en t1, regresa a BAJo en t:t y asi sucesivamente.

l"ICt 'R . ;-5 Ejemplo 2.2. A 1

Saiida A i A
0
B
B

§alida I

I
i)
I I tt I

I
to 1
I ¡t
l¡l¡
I

t6 I
?

fiempo

Solucié¡r
La salida de la compuerta OR estará en ALTO siempre qüe cualquiera elc las
enrradas esté en AITO. Enue los tietupos to y h ambas entradas están en BAJO.
por lo cual SALIDA - BAJO. En ü1 la enaada z4 cambia a ALTO mientras que la
enrada B permanece en BAJO. Esto hace que SALIDA camirie a ALI'0 en 11 y
permanezca así hasta ú¿, ya que durante este inten'alo una o ambas enfradas cstán
er ALTO. En ta la entrada B cambia ile 1 a 0, por lo que arnbas e¡rtradas están e¡r
BAJO, y esto hace que SALIDA cambie nuevamente a BAJ0. En t5 A cambia a
ALTO, con lo cual SALIDA regresa a BAJO y permanece asÍ drrra¡rte el resto dei
tiempo mosffado.

Pa¡a la situación que se describe en la fígura 2"6, determine la forma de onda en


Ia salida de la compuerta OR.

l. lr;t n,\ l^(i Ej em¡rlos 1

2.:lA y B.
0
1
B AlBIC
0 B

1
C
C
0
I lt I

SAL
0 SAL

Tiempo

Solución
Las tles entradas A, B y C de la compuerta OR están variando, según se m.ues-
tra en sus diagramas de tiempos. La salida de la compuerta OR se determina
concluyendo que estará en AITO cada vez que al menos ¿¡¡a de las tres entra-
das esté en trn nivel ALTO, Si t¡tilizamos cste razontrmiento, la forr¡¡a dc ond¡
de la salida de la cornpuerta OR es como se muestra en la figrrra, Se debe
SECcróN ¿.4/OpERACIóN AN.D coN CoMPUERTAS ANI) 43

poner especial atención a lo que ocurre en el tiempo t1. El dia6yarna muestra


que, er't áse instante, la entrada A está cambiando de ALTO a BAJO mien'
tras que la entrada B está cambiando de BAJO a ALTO. Corno estas enüadas
están realizando sus transiciones casi al nismo Iiempo, y como estas rransi'
ciones tardá¡ cierta catrtidad de tiempo, hav un pequeño intervalo durante
el cual estas en¡radas de la compuerta OR se encuentran en la región indefi'
nida ent¡e ü y 1. Cuando esto ocurre, la salida de la compuerta OR también
adquiere un yalor en este intervalo, como se puede ver por la deformación o
pico en la forma de onda de salida en t1. La ocurrencia de esta deformación y
su tamaño lamplitud y anchura) dependen de la velocidad con la que ocrrren
las tra¡sicioncs de ent¡ada.

¿Qué Ie pasaría a la deformación en 1a salida de la figura 2.6 si la entrada C


se asenfara en eI estado ALTO ¡nientras que A v B estuvieran cambiando e¡r el
ti'mpo tl?
Solrrcién
Con la entrada C en nivel ALTO en h, la salida de la compuerta OR perma-
necerá en ese esiado §in impoxtar 1o que ocurra en las otras entradas, ya
que cualquier entrada en ALTO mantendrá la salida de la compuerta OR en
AL'IO. Por lo tamó, la deforrnación no aparecerá en la salida,

1. ¿Cuál es el único conjunto de condiciones de entrada que producirá una sa-


lida en BAJO p:ra cualquier compuerta OR?
2. Escriba la expresión booieana para una comPuerta OR de seis entradas.
3. Si la entrada A en la figura 2'6 se mantiene de mane¡a permanente en el
nivel 1. ¿cuá1 ser'á la forma de onda de salida?

2-4 OPERACIÓN AND CON COMPUERTAS AND

RE§ULTADOS
Al linalizar esta seccíótt, usted será capaz de:
r Definir la f unción iógica AND.
r Escribir ecuaciones booleanas usando la función AND.
¡ Dibuiar el símbolo 1ógico para la función AND.
r Escribir una tabla rle verdad que describa la función AND.
I Dibuiar un diagrama de riempos que demuestre la función AND'
I Usar cualquiera de los métodos anterio|es para inferir la salida correcta de
un circuito con base en su entrada,
La operación AND es la segunda operación booleana básica. Como ejemplo
del uso de la lógica AND, considere una secadora de ropa orditraria: seca ropa
(calienta y gira) sólo si el tetnporizador- está por enci¡nd de cero Y Ia puetta está
cgrrada. Vamos a asignar á para represen(ar cua¡d0 el tempoizador está üctivado
(\'/F), ll para representar cuando lnpueftd está. cen'ada (VIF) :- x puede represen'
tar cuando e\ calentador g el motor están encendidos (V/F). La tabla de verdad de
la figura 2-7(a) muestra 10 que ocurre cuando dos entradas lógicas A y B se coln'
binan mediante el uso de la operación AND para producir la salida ¡. La tabla
muestra que -r es ua 1 tógico sólo cua¡rdo A y B están en el nivel 1 lógicc.r. Para
cualquier caso en e1 que una de las entradas sea 0, 1a salida será 0-
44 CApíII'Lo z/DESCRIPCIÓN DE Los cIRcUIToS LOGIcos

rrlULltA l-7 (a) Tabla AND


de verdad para la opera- B B
ción ANDI (b) símbolo de 0 0 0
1a compuerta AND. 0 0
1
1

0 0
XAB
1 1
B
1

Compuerla AND
{a) (b)

La expresión booleana para la operación AND es


x--A.B
En esta expresién, el signo indica la operación AND booleana y no Ia opera-
ción de multiplicación. No obstante, la operación AND sobre variables boole¿rnas
opera de Ia misma forma que la multiplicación ordinaria scgún nos muestra el
análisis de la tabla de verdad, por lo que podemos considérarlas como iguales.
Esta caracteristica puede ser útil al evaluar expresiones lógicas que conlengan
operaciones AND.
La expresión x =,4 . B se lee como "x es ignal a A AND 8", lo cual sígnifica
que r será 1 sólo cuando A y -B sean ambas 1. Por lo general, se omite el signo .

de manera que Ia expresión se vuelve x = ¡18. Para eI caso en el qr,re se aplica la


operación AND con rres entradas, renemos que x=á B. C= ABC. Esto se Ice
como "l es igual a á AND B AND C", lo cual significa r¡ue x será 1 sólo cuando
ávBvCseantodasl.

Co¡npt¡erta ANII
La figura 2.7(b) muestra el sÍmbolo lógico para una compuerta AND de dos enra-
das. La salida de la compuerta AND es igual al producto AND de las enrradas
lógicas; es decir, x =AB. En otlas palabras, la compuerta AND es un circuito que
opera de manera que su salida esté en ALTO sóIo cuando todas sus enrraclas se
encuentren en ALTO. Para todos los demás casos, la salida de la compuerta AND
estará en BAJO.
Esta misrna operación es característica de comptrertas AND con más tle dos
entradas. Por ejemplo, la figura 2-tl muestra ula cornpuerta ANf) c{e t¡es entra-
das y su tabla de verdad correspondiente. Una vez más, observe <¡ue la salida
de la compuerta es 1 sólo para el caso en el que A = B = C: 1. La expresión para
1a salida es x = ABC. Para ula compuerta ANI) de cuarro entradas. la salida es
x= ABCD, y así en lo sucesivo.

f¡l{lt ft,l:-ti Tabla de B C x AB C


verdad y símboio pa!a 0 0 0 0
üna compuetta AND de 0 0 1 0
tres ent¡adas. o 1 0 0
0 1 I o B x ABC
l 0 0 0 c
'I 0 1 0
1 1 0 0
1 I 1 1

Observe la diferencia enre los símbolos para Ia compuerta AND y la com-


puerta OR. Cada vez que vea el símbolo AND en e1 diagrama de un circuito
lógico, le indicará que la salida estará en ALTO sólo cuando ¡odas las enr¡adas
estén en ALTO. Cada vez que vea el sÍmbolo OR, le indicará que lzr salicia estará
en AT.,T0 cuanclo cualqr:íerz de sus entradas eslé en ALTO.
SEccTÓN z,4/OPERA ÓN AND CON COMPUT]RTAS AND {5

Restunen de la operación ANI)


1- La operación AND se realiza de Ia misma forma que la multiplicación ordina-
ria de 1s y 0s.
2. Una compuerta AND es un circuito lógico que realiza la operación AND sobre
sus entradas.
3. La salida de una compuerta AND será 1 só¿o para el caso en el que rorfas las
entradas sean 1; para todos los demás casos la sallda será 0.
4. La expresión x = á.8 se lee como "r es igual a Á AND 8".

I)etermine 1a salida ¡ de la compuerta AND en la figura 2-9, para las formas de


onda de enrada dadas.
l:t(;Ull,\ 2"t Ejemplo 2'4

ffi B
o

0
B
xAB

to t1 t2 la t4 t¡i t¿, tr
s0t.ti(:¡oN
La salida de una compuerta AND se determina con base en la co¡rsidera-
cién de que estará en ALTO sólo cuando todas las entradas se enc[elltren en
Al-'llo aimismo tiempo. Para las formas de onda de entrada dadas' la co¡rdi-
ción se cumple sólo durante los intervalos .2- 4y t6- h' En todos los demás
intervalos, solo ur't, o más de ias entradas son 0' con lo cual se produce una
salicla en BAJO. Observe que los cambios en el nivel de entrada que §e pro'
ducen mientras la otra entiada está en BAJO no tienen efecto sob¡e l¿r salida'

Deterrnine la forma de onda de salida para la comPuerta AND que se muestra en


la figura 2-10.
i¡ICL ItÁ ¿-10 Ejemplos A
JUUUUUL
2-5A y B. X

B B

x
JUUT-
Solucirin
La salida x será 1 sólo cuando.4 y B se encuentren en ALTO al mismo tiempo.
Si nos basamos en este hecho podemos deterr¡ina¡ la forma de onda de x
'"'"-" :".i":::-'" "t :"' .

Observe que la forma de onda de x es 0 siempre que B es 0, sin importar el nivel


de la señal en A. Observe también que siempre que B es 1, la forma de onda de x
es igual que la de A. En consecuencia podemos considerar la entrada B como una
entrada de conmrl cuyo nivel lógico deternina si la forma de onda de.4 pasa o no
hacia la salida x. En esta situación, 1a compuerta ANf) se utiliza como u¡ c¿rcui¿o
inhibidot. Podemos decir que B = 0 es la condición de inhibición c¡ue produce una
salida de 0. Po¡ ouo lado, I = 1 es la condición de ftaáiliración, la cual permite que á
llegue a la salida. Esta operación de inhibición es una aplicación importante de las
compuertas AND, que veremos más adelante cor ma¡ror detalle.
46 C,lPirt,Lo z/I)ESCRll,cIÓN DE LOS CIRCUll.OS LÓCICOS

¿Qué ocurrirá con la forma de onda de la salida.r en la figura 2-10 si la entrada B


se mantiene en el nivel 0?

Solur:ión
Con B en BAJO, Ia salida x también permanecerá en BAJO. llsto puede razo-
¡rarsc de dos maneras distintas. Primero. con B: 0 te¡lemos que .r = á B -
A 0 = 0, ya que cualquier cosa que se multiplique por 0 (AND) será igual a 0.
Otra manera de ver esto es que una compuelta AND requiere que todas las
entrádas esté en ALTO para que la salida esré en ALTO, y esto r1o puede
ocurrir si B se mantiene en BAJ0.

1. ¿Cuál es la irnica cómbinación de entrada que producirá un nivel ALTO en la


salida de uná compuena AND de cinco entradas?
2, ¿Qué nivel lógico debe aplicarse a la segunda entrada de una compuerta
AND de dos entradas si se desea inhibir la señal lógica en la primela entTada
para evitar que llegue a la salida?
'3, Verd.ad.ero o
falso:la salida de una compuerta ANf) siem¡:re se¡á clisrjnta de la
salida de una compuerta OR para las mismas cordiciones de entrada.

Z-5 OPERACIÓN NOT

RESULTADOS
Al findlizar esta sección, usted será capaz d.e:
I Definir la función lógica NOT.
t Escribir ecuaciones booleanas utilizando la función N0"l'.
¡ Dibuja¡ eil símbolo lógico de la f unción NOT.
r Escribir una tabla de verdad que describa la función NOT.
r Dibujar un diagrama de tiempos que demueste la f t¡nción NO'f .

La operación NOl'es dis¡inta de las operaciones OR v AND, ya r¡ue ¡ruede realí-


enrada. Por ejemplo, si la variable á está sujeta
¿arse sobre una sola variable de
a lir r:peración NOT, el resultado x puede expresarse asÍ:
x=Á
li,n donde la barra superior representa ler operación NO'f. [,]sta expresión se lee
conro "r es i¡1ua.l a NOT A" o "r es igual al inuer¡o de A" o "*.- es i6¡ual al camplemento
de A ". Cada uua de estas expresiones es de uso común y todas indican r¡ue el
valor lógico de x = Á es el opuesro del valor lógico de.4. La tabla de verdad de l¿r
figtra 2-11(a) aclara esto para los dos casos en que A = 0 v A = 1. Esto es,
0=l porque0no es l

1=0 porque 1no es 0

La oper-ación NOT también se conoce como invetsió¡¡ o compleruentación, tér-


minos que manejaremos de manera indistinta en este libro. Aunque sie¡¡¡pr<:
utilizare¡nos eI indicador de barra superior para represel¡tar la inversión, es
SEccróN 2-5IOPERACIóN NOT 41

PI(iLttA l.l1
(a) Tabla NOf 1

de verdad; (b) símbolo pa¡a


el INYERSOR (ci¡cuito
0
x
1
Á
NOT

x'.Á
0
-JUL
NOT); (c) formas de or¡da 1 0
de ejemplo,

ffi
x
(a) La pr€s€ncia d€l cficulo 0
p€queño slempre d€nola
la ¡nv€rslót (c)

(b)

importante mencionar que el símbolo primo (') es otro indicador para la inver-
sión. Esto es,
A'=Á
Ambos deben reconocerse como sÍmbolos que indican 1a operación de inversiór¡.

Circuito NOlt' (INVERSOR)


La figura 2'11(b) muesra el símbolo para un circuito NOT, al cual se le conoce
más comú¡unente como INYERSOB. Este circuito siemp¡€ tiene una sola enrrada
y su nivel lógico de salida siempre es opuesto al nivel lógico de esta entrada.
La figura 2"11(c) muestra la forma en que el INVERSOR afecta a ula señal de
entrada. Invierte (complementa) la señal de entrada en todos los puntos de la
forma de onda, por lo que siempre que la entrada = 0, la salida = 1 y viceversa,

La figura 2'12 muestra una aplicación o¡dinaria de la compuerta NOT. El botón


está cableado para producir un 1 lógico (verdadero) cuando se oprime. Algunas
veces es conveniente saber si el botón no está oprirnido, por 1o que este circuito
proporciona trna expresión que es verdadera cuando el botón no está oprimido.

Solrreión
t.lct R,l f-iJ U¡ra '! 5v
compue¡ta NOT que
indica que un botón no Nivel lógico 1 (v€rdadero) cuando está oprimido
llolón (falso cuañdo 6l botóñ no gslá oprimido)
está oprimido cuando
su salida es verdadela. -t I
i
Ap.¡mido
NO apr¡rn¡do
+

Nlvsl lóo¡co I (verdadero) cuando no está opñmldo


(falso cuando el botón e§tá opñm¡do).

Resume¡¡ de las operaciones booleanas


Las reglas para las operaciones OR, AND y NOT pueden resumirse de la siguiente
manera:

OR AND N()r
0+0=0 0.0=0 0=1
0+1:1 0.1:0 1=0
1+0=1 1 0=0
1+1:1 1 1=1
48 Cr¡irr¡r.o 2/fJrscnlpctó¡( DE l.os crRcurros l.ócrcos

1. La salida del INVERSOR de la figura 2-11 está conectada a Ia entrada de un


segundo INVERSOR. Determine el nivel de sa.lida del segundo INVERSOR
para cada nivel de entrada á.
2. La salida de la compuerta AND de la figsra 2-7 está conectada a la entrada
de un INVERSOR. Escriba la tabla de verdad que muestre la salida del
INVERSOR para cada combinacién de entradas á y B.

2.6 DESCRIPC!ÓN ALCEBRAICA DE CIRCUITOS LÓCICOS

RESUTTADO
AI iinaliz«r e-sta sección. usted setLí capaz dt':
r Traducir los cliag,ramas lógicos en expresiones algebraictrs booleanas.
Cualquier circuito lógico, sin importar qué tan complejo sea, pLrede desc¡ibirse
por completc mediante el uso de las res operaciones booleanas básir:as, ya que
las compuertas OR, AND y el circuito NOT son los bloques fundarnenrales
para la construcción de sistemas digitales. Por ejerrrplo, considere el circuito de
la figura 2-13(a), e1 cu¿rl tiene res entrarlas A, B y C, y una sola salida r. Si
utilizamos la exprcsión booleana ¡rara cada compucrta, podemos determinar cr¡¡l
facilidad la expresión para la salida.

l;l(il fl,t l"l.i (a) Circuito


A'B
lóBico con su exprcsión boo-
leana: (b) Circuir0 lógico B x A B,C
culra explesión requiere C

parénlesi5.
(a)

AB
ffi ".## B x (A t B). C

(tr)

La expresión para la salida de la com¡ruerta AND se escril¡e (:omo,4 8. hlsra


saiida AND está corectada como entrada para la conr¡-r¡erta OR j Lrnto con C, ofra
entrada. l,a compuerra OR opera sobre sus entradas de manera r¡ue sü salida es
la suma OR de las entradas. Por 10 ranro, podemos expresar la salida OR cr:mo
x = A B -l- C (esta expresión final podría haberse esc¡il¡ también como x - C +
.,1 ' B, va que Jro importa cuál térn¡ino de la suma OR se escriba primcro)-

Prccerlencia dr: opc lerriores


lir r.¡casiones pLrede habel confusión ace¡ca de cuál operación, de una expre-
sión, debe realizarse primero, La expresión A .B + C puede interpreta¡.se de dos
mareras: (1) se aplica un OR entre A . B y el término q o (2) se aplica un ANI-)
entre,4 y el término B + C. Pa¡a eviti¡r esta confusión debe quedar claro que si
una explesión conriene las AND y OR, las operaciones AND se re¿rlizan primero,
a menos que haya parénresis en la expresión, en cuyo caso Ia o¡:eración s:llcerr¡d¿r
entl.e paréntesis es la que debe realizarse pdmero, Esta regla es la misma que se
uliliza en el álgebra ordinaria para determinar el orden de las oper aciones.
Para ilustrar meio¡" este concepto, consiclere el circuitr¡ drl la {igrrr¿r 2-1-l{}r).
L¿r expresión para la salid:r de la compuerta OR es A + B. Esta salida ¡ilve comr:
SEccIÓN 2.6/DESCR]PciÓN ALGEBRAICA DE CIRCUITOS LÓGICOS 49

entrada para la compuerta AND junto con otra entrada, C. Por ende, expresamos
la salida de la compuerta AND como r = (,4 + B) . C. Observe el uso de los parén-
tesis aquí para indicar que pimero se aplica la operación OR entre.4 y B, antes
que a su suma OR se le aplique un AND con C. Sin los paréntesis se inrerpretaría
de manera incorrecta, ya que I + B . C significa que a la entrada á se le aplica qn
OR con el producto B C.

Circrritos que contienen INVERSORES


Siempre que haya un INVERSOR presente en el diagrama de un circuito lógico,
1a expresión de su salida es en sí igual a la expresión de Ia enrrada con una barra
sobre ella. La figura 2-14 muestra dos ejemplos que utilizan INVERSORES. En 1a
figura 2-14(a) la entrada,4 se alimenta a través de un INVERSOR, cuya salida es,
por lo tanto Á. La salida del INVERSOR se alimenta a una compuerta OR iunto
con 8, de manela que la salida l)R cs igual a Á + B. Observe que la barra sólo
está sobre A, lo cual indica que A primero se invierte y después se alimenta a la
comprlerra C)R junto con B.

I,¡CtlRA 2-14 Circuiros


que usan ¡NVERSORES. x Á re A!B

ffi B

(a)
B

(b)

Dn la figura 2-14(b) la salida de la compuerta OR es igual a á + B y se ali-


menta a través de un INVERSOR. Por lo tanto, la salida del INYI1RSOR es igual
x A rB

a tá + B-) ya que invierte roda la expresión de entrada. Obser-ve que la balra


cubre toda la expresión (,4 + B). ¡sto_es importante ya que, como ve¡emos más
adelante, las expresiones (l+ E) y (a + E) no son equivalentes' La expresión
iit +7¡ indlca que primero se aplica urn OR enre.4 y B, y después su suma OR se
invierte, mientras que la expresión (¡ + B) indica qtre primero se invierten A v
B, y después se aplica un OR a los resultados de las dos inversiotres-
La figura 2-15 muestla dos ejemplos más que deben estudiarse con cuidado,
Obserrve ei uso de dos conjuntos separados de paréntesis en la figura 2'15(b).

lltGtrt{.\ 1"15 Á
[{ás ejempios ABO
B
G

x -ABC(A ¡ D)
A. D
ArO
D

¡,e)

A,B
(A ¡ a)c {A ! B)C
B

c
OriÁre)O
D

x '. ID I (A r B)CI.E
{b)

_', l
50 CAPiTTTTO 2/DESCRIPcIÓN DE LOS CIRCUI].os LÓCIcos

Además, en la figura 2-15(a) note que la variable de cntlada A esrá conectada


como entrada para clos compuertas disrintas.

1. En la figura 2.15(a) cambie cada compuerta AND por una OR, y cambie la
cornpuerta OR por una AND. Después escriba 1a expresión para la salida,r..
2. En Ia figura 2-15(b) caurbie cada compuerra AND por una OR y cada com-
pue$a OR por una AND. Después escriba la expresión para la salida x.

2-7 EVALUACIÓN DE I.AS SALIDAS DE CIRCUITOS LÓCICOS

RESUI.TADOS
At iinulizdr esta sección, usted será capaz de:
I Er,¿rluar cualquier diagrama de circuitos o salida de ecuación booleana,
dada una entrada especiJica.
f, Traducir ecuaciones boo.leanas o diagram.as lógicos en una tabla de verdacl,
Una vez que tengarnos la expresión booleana para un circuito lógico, podre-
r¡os ol:tener el nivel lógico de salida para cualquiel conjunto de niveles de
enrada. Por eiemplo, suponga que deseamos conocer el nivel lógico de la salida ;r
del circuito de la figura 2-15(a), para el caso en el que .4:0, B: 1, C:1y D= I.
Como en el álgebra ordirraria, podemos encontrar.el valor de ¡ si "conectamos',
los valo¡es de las va¡iables en la expresión y realizamos las operaciones indica-
das como se muestra a continuación:

x = ¿¿ct¿ iol
=0 '1.1 .(oT-i)
.1'1 .1S +T¡
.1.1 .(T)
.1.1 .0
:0
Cc¡nro otro eiemplo, vamos a evalua¡ la salitia del circuito de la figura 2-15(b)
pa¡a á =0, B:0, C= 1, D: 1 yE= 1.
¡. = [D + (,4 + B)e] .E
= tt + (¡ +-dt;Jl ' 1
[1 +0 '11.1
[1 +'Ó 1.1
[1 +1 l'1
7 1

I
En general, siempre debemos seg,uir las siguientes reglas cuando se evahia una
expresión bc¡oleana:

1. Primerr¡ realice todas las inversiones de términos individuales; es der:ir,


0=1ol=0.
2. Despuós realice todas las operaciones que estén encerradas entre paréntesis.
3, Ilealice una opei ación AND antes de una operación OR. a menos qtre haya
paréntesis que indiquen lo conrrario.
4. Si una expresión tiene una barra sobre ella, primerlr realice las operacir¡nes
denuo de la explesiór y después invierta el resultado.
SEccróN 2.7/EVALUACIóN DE LAs saLrDAS DE cIRcuITos LÓGlcos 51

Comr: práctica, determine las salidas de ambos circuitos de la figura 2-15


para el caso en el que todas las entradas sean 1. Las respuestas son x = 0 y ¡ = 1,
respectivamente,

Análisis mediante el uso de una tabla


Siempre que tenga un circuito lógico coñpuesto de varias compuertas lógicas y
desee saber cómo funciona, 1a mejor manera de analizarlo es mediante el uso de
una tabla de verdad. Las ventajas de este método son:

Le permite analizar una co¡npuerta o combinación lógica a la vez.


Le facilita una segunda comprobación de su trabajo.
Cuando termine tenüá una tabla que será de un beneficio incalculable cuando
sc busquen fallas en el circuito lógico.

Recuerde que una tabla de ve¡dad lista todas las posibles combinaciones
de las enradas en orden numérico" Para cada posible combinación de entrada.
podemos determinar el estado lógico en cada punto (nod<¡) del circuito lógico,
incluyendo la salida. Consulte la fig.ura 2-16(a). Hay varios nodos intermedios en
este circuito, los cuales no soü entradas ni salidas. Ta¡¡ sóIo sou conexiones enrre
la salida de una compuerta y la entrada de otra, En este diagrama se han etique-
tado como u, u y ru. El primer paso después de listar todas las combinaciones de

l.'l(;t'R,t 2-16 Análisi§


de un circuiro lógico
mediante el uso de tal¡las rl
de verdad.
B
vÁs x
w.BC

c
(a)

B C U B C U x.
Á ÁB BC Á ÁB BO
0 c o 0 o 0 1
,l
o 0 1 0 1

0 1 0 0 1 0 1 ':i

1 1 0 1 1 1

1 0 0 1 0 o
0 1 1 0 1 0 E
1 0 o 1 0
1 1 l l

(b) (c)

r,, B C c'
Á
]

E; 0 o 0
Ág
0
BC
Jo 1

foTo-fl Tj 0 o 1 0Ii
ñtrtot,*
1

o 1 o 1 1
0 1 1 1

1 o 0 0 o
I-o 1 0 1 0 0 0lj
lo o 1 1 0 0 0l
lT'TrTolE 1 1 1 0 rl
{d) (e)
52 CA?¡T(rlo z/DESCRrpcrróN DE Los cIRcuITos LóGrcos

entradas es crear una columna en la tabla de verdad para cada señal intermedia
(nodo), como se muesta en la figura 2-16(b). El nodo ¿¡ se Ilenó conro el comple-
mento de ,{.
El siguientc paso es llcnar los valores para la columtra u, como se mue§tra en
la figura 2-16(c). Del diagrama podemos ver que u = lÉ- El nodo ¡., debe es¡ar
en ALTO cuando.4 (nodo ¡¡) está en AI-TO Y lJ está en AL'I'O. Elslr: ocurre cada
vez que á está en IIAJO Y B está en Al,T0. Ell tercer paso es prcdecir los valores
en el nodo ¿o, que es el producto lógico de BC. Esta columna está en ALTO cada
vez que B está en ALTO Y C está en ALIO, como se mues[ra en ]a ligura 2-16( d).
El último paso es combinar en forma lóg.ica las columnas u y r¿! para predecir la
salida x. Como x = t: * w,la salida x estará en ALTO cuando u esté en AL'[O 0 t¿'
esté en ALTO, conro se muestla en la figura 2"16(e).
Si usted construyera este circuito y no se produjera la salicla co¡Tecta para x
bajo todas las condiciones, podria utilizar esta tabla para encontrar el problema.
I1l procedimiento general es probar el circuito bajo cada combinació¡r de entrad¿¡s. Si
cualquier co¡nbinación dc entradas produce una sa.lida incc¡rrecta (es clecit, lrta
falla), c.ompare el estado lógico actual de cirda nodo i¡tormedio cn el circuito con el
valor teórico correcto en la tabla mienúas aplica esa condición de entrada, Si
el estado iógico para un nodo intermedio es coffecto, ei probiema del¡c estar nrás
a la derecha de ese nodo. Si el esrado lógico de un nodo intermedio es iricrrrccto,
el problerna debe estal a la izquie¡da cle ese nodo (o ese nodo está cn corto corl
algo). En el capítulo 3 veremos con más detalle los procedimientos de dctección
de errr¡res v.las pr¡sibles fallas en los circuitos.

An¿rlice la o¡relación de la figura 2-15(a) mediante la cleación de una tabla que


muestre cl estado lógico en cada nodo del circuito.

Solución
Para llcnar Ia columna r, escriba un 1 para todas las entradas en las (lue
A=0yB=1y C:1.
Par¿r enar 1a columna r,r, escriba un 1 para todas las entradas en las qur:
A=1oD:1.
Para llenar.la columna u, complete todas las entradas de la columna u.
Para llena¡ la columna x, escriba un 1 para tod&s las entradas en las que
¿=1yu=1.

A B C D r =ÁeC u:A+D v:Á-TO- x.tv


0 0 0 0 0 0 '1
0
0 0 0 1 0 1 0 0
,l
0 0 0 0 0 1 0
0 0 1 1 0 1 0 0
0 1 0 0 0 0 'I 0
0 1 0 1 0 1 0 0
,1
0 1 1 0 1 0 1

0 1 1 1 1 1 0 0
1 0 0 0 0 1 0 0
1 0 0 1 0 1 0 0
1 0 1 0 0 1 0 0
1 0 1 1 0 1 0 0
'| 1 0 0 0 1 0 0
1 1 0 1 0 1 0 0
'I 1 0 0 '1
0 0
1 1 1 1 0 1 0 0
§EccróN 2.8/IMpLEMENTAcTóN DE crRcurros A paRTtR DE Ex?REstoNES BooLEANA§ 5il

1. Use la expresión de x para dete¡mina¡ la salida del circuito de 1a figora


2-15(a), para ias condicioaes en que -,1 = 0, B = 1, C : 1 y D = 0.
2. Use la expresión de x para detenrrinar la salida del circuito de la figura
2"15(b), paralas condiciones en queÁ=8 =É = 1 y C=D=0.
3. Determine 1as respuestas a las preguntas 1 y 2 enconüando los niveles lógi-
cos presentes en la salida de cada compuerta mediante el uso de una tabla,
como en la ligura 2-16.

2-A IMPLEMENTACION DE C¡RCUITOS A PARTIR DE EXPRESIONES


BOOLEANAS

RESULTADO
AI iinalizar esta seu:ión, usted será capaz de:
I Traducir cualquier ecuación booleana en un diagrama lógico.
Cuando la operación de un circuito se define mediante una expresión booleana,
podemos dibujar el diagrama de un circuito lógico de manera directa a partir
de esa expresión. Por ejemplo, si necesitáramos un circuito qtre estuviera defi-
nido por x: A . B . C, de inmediato sabríamos que todo Io que se requiere es
una compr.rerta AND de tres entradas. Si necesitáramos urr circuito definido por
x : A + B, utilizaríamos una compuerta OR de dos entradas con un INVERSOR
e¡r una de ellas. El mismo razonamiento que se utiliza para estos casos puede
extenderse hacia circuitos más complejos.
_, Supon¡ia que deseamos const¡ui¡ un circuito cuya salida sea g = AC + Be +
ABC. Esta expresión booleana contiene tres términos (AC, BC, ABC), a los cuales
se les aplica una operación OR. Esto nos indica que se requiere una compuerta
OR de tres enradas, en donde éstas son iguales a AC, Be y ÁrC. un la iigura
2'17(a) se ilustra esto, en donde está dibujada una compuerta OR de nes entra-
das etiqueradas como .4C, BC y ÁBC.
IrI(l L lt;l l" l7 AC
Construcción de r1n BC y=AC,Bc,ABC
circuito lóÉiico a pafli¡ de Áec
una expresión booleana. 1a)

B
y.ACIBC,ABC
c M-,'

c (b)

Cada entrada de Ia compuerta OR es un término del producto de AND, lo


cual significa q ue puede usarse una compuerta AND co¡r las entradas apropiaclas
para generar cada uno de estos términos. Esto se muestra en la figura 2-17(b),
que corresponde al diagrama del circuito final. Observe el uso de INVERSORIIS
para producil los términos.á y C requeridos en la expresión.
54 CApiT(¡LO 2/I)ÉScRIPCIÓN DL] LoS cIRcUlToS I,ÓGtcos

Siempre puede seguirse este mismo enfoqLre general, aunque más adelante
veremos qtre existen técnicas más inteligentes y eficientes" No obstanre, por
ahora utilizaremós este método simple v directo para minimizar el número de
eiementos nuegos que debe aprender.

Dibuje el diagrama del circuito para implementar la expresióu.r =(A + ¡lt(¡l + C).
Solución
Esta expresión muest¡a que los términos ,4 + B y E + C son entraclas p¿lra una
compuerta AND, y cada uno de estos términos se genera a p:rrtir de una col]r.
puerta OR separada. La figura 2'18 muestra un dibujo del resultado.
i'it;1 it11 -'- lfi AiB
Ir,iemlLr,2'7.
B (A I B)(B r a.:)

ffiffi c
B
B,C

1. Dibnje el diagrama dei circuito que implemente la expresión x = ÁBCt^-l-Dl


mediante el uso de compuertas con no más de tres entradas.
2. Dibuje el diagrama del circuito para la expresión g - AC + Be + ÁBC.
3. Dibuje el diagrama del circuito para x = tD + (Á .f$el .n.

2.9 COMPUERTA§ NOR Y NAND

RTSULTANOS
Al iinalizar esta seccíét1, L¿sted será capaz d.e:
a Definir las funciones lógicas NOR y NAND.
I Escribir ecuaciones hooleanas usa¡do la función NOR y NAND.
r Dibujar el símbolo ló¿¡ico para la función NOR y NAND.
r Escribir una tabla de verdad que descritra a las funciones NOR y NAND,
r Dibüjar un diagrarna de tiempos que demuestrre la función NOR y NAND.
r Usar cualquiera de los métodos anteriores para infcrir la salida cr:rrec¡a de
un circuito lógico con base en su entrada.
En k¡s circuitos digitales se utilizan mucho otros dos tipos (le compuertas 1ógicas;
NOR y NAND. Estas compuertas cornbinan las operaciones básicas AND, OR y
NO I , por lo que es muy sencillo escribir sus explesiones booleanas.

Corupuertr.r NOli
I.,a figura 2-19(a) muestra el sÍmbolo para una compuerta NOR de ck:s entradas.
Es igual que el simbolo de 1a compuerta OR, sólo que [iene un pequeño circulo
el la salida. El pequeño círculo representa la operación de inversión. Por ello,
Ia compuerta NC)R opera de manera similar a una compucrta OR seguicla de un
INVERSOR, dc ¡na¡rera que los ci(:uitos cn las figuras 2-19(a) y (b) son equiva-
lentes, y la expresión de salida para Ia comprrerra NOR es,t = á + ii.
sEccróN 2-9lCoMPtiERTAS NOR Y NANf) 55

I IG{.iR,t 2"19 (a) símbolo x ÁlG


NOR; (b) circrtiro equiva'
lente; (c) tabla de ve¡dad. B
Donola
inversión
(a) JL

A'r B x A]B
B

(b)

OR NOR

B A B
0 0
'B
0 1

0 1 1 0
1 0 1 0
1 1 1 0

(c)

La tabia de verdad de ia figura 2-19(c) muestra que la salida de la compuerta


NOR es el inverso exacto de la salida de la compuerta OR pala todas las posibles
condiciones de entrada. La salicla de una compuerta OR cambia a ALTO cua¡rdo
cualquiera de sus entradas se encuentl'a en ALTO; la salida de la compuerta
NolLcambia a BAJO cuando cualquiera de sus etrtradas se encuelltra en ALTO.
Esta rnis¡na operación puede aplicarse a las compuertas NOR con más de dos
en rradas.

TGEEW Determine la forma de onda en.la salida de una compuerta NOR para las formas
de onda de entrada que se muestrán en la figura 2-20

t'l(;t, R,\ l-?0 Eie¡nplo 2.8 1

0
x Ar B
I B
B
0

Sohrei(in
Unir rnanera de determinar la lorma de onda de salida NOR es encorrtrantlo pri-
mero la forma de oncla de salida OR y luego invirtiéndola (cambiar todos los
unos por ceros y viceversa). Otro sistema utiliza el hecho de rlue la saiida de una
.o*p,re.ra NOR estará en ALTO.sólrr cu¡rndo todas sus entradas estén en BAJO,
Por io tanto, puede examinar las formas de onda de entrada, enconrar esos io-
tervaios en los que rodas están en BAJ0, y hacer que 1a salida de la compuerta
NoR esté en AaTO para esos intervalos. La salida de la compuerta NOR estará
en BAJO para todos los demás intervalos cle tiempo' La figura muestra Ia lr¡rma
de r¡¡rda de salida resultante.
50 CaliluLo z/DEScRtpcróN DE Los crRcuiros Lócrcos

¡TIEilDEil l)etermine la expresión booleana para {rna compuerta NOR de tres entradas,
seguida de un INVERSOR,

liol¡¡tirln
Consulte la ligura 2-21, en do¡de se muestra el diagrama del circuiro. La expre-
sión en la salida de la compuerta NOR es (l + B+-e¡. Ia cual se alimenta des-
pués a rravés de un INVERSOR para producil

¡:
B-+-T¡
(.4
-+

I.a presencia de los signos de doble inversión indica que se invirrió la r:antidad
(/ + B + C) y se invi¡tió una vez más. Debe quedar claro que esto sólo hace que la
expresión (l + B + C) permanezca sin cambios. Esto es.
r=(á+B+C)=(A+B+C)
Siempre que hay dos barras de inversión sol¡re la misr¡¡a variable o canticlacl u[a
cancela a la otra, como en c+l ejemplo antedor. No obstante, en casos como ,4 + E
las barras de inversión no se cancelan. Esto se debe a que las barras de inversión
más pequeñas invierten las variables individuales á y B, mientras que la barra
largainrde11elacantidad (Á + 8). En consecuencia, A + g *á + -B. Demanera
similar,AB + 18.
Ir:(;t IIA 2-?l Ejemplo 2-9 A18rC x.,ArBrC.ArB C
B

Corrrpuerta NANIi
La figura 2-22(a) muestra el sínllrolo para una compuerta NAND cle dos enra-
das. Es el misrno que el de la conpuerta AND más un pequeio círculo en
la sali¡la, I)e nuevo, este pequeño círculo denota la operaciól de inyersió¡r.
Asi, la compuelta NAND opera igual que una compuerta AND seguida de un
INVERSOR. de manera que los circuitos de la figura 2-2?(a) y (b) son equivaien.
tes y la expresión de salida para la compuerra NAND es "x = ZB.

l:t{;LR-\ :-ll (a) Simbolo


AB
NAND; (b) circuit0 eqLriva'
Ienre; (c) rabla de verdad. AND NAND
g
Denota B AB AB
inverslón 0 0 0 'I

(a) Jl C 1 C 1

1 (.) o 1

l 1 1 0
AL]
(c)
B

(b)

La tabla de r.erdad de la figura 2"22(c) muestrá que la saliria de la compuerra


NAND es el inve¡so exacto de la compuerta AND para todas las posibles conrli-
ciones de enrada. La salida AND cambia a nivel ALTO sólo cuando todas ias
entradas se encuentran en ALTO, mienaas que la salida NANÍI car¡bia a BA.IO
só1o cuando todas las e¡rt|adas se ellcuen¡lan en ALfO. llsta ur¡..irna ca¡ ac¡eli:j-
rica puede aplicarse a las compuertas NAND que tienen más de dos enfradas.
sÉccr()N 2-glCoNfPUERTAS NOR Y NANI) 57

EJEMPIO 2.I{) Determine la forma de onda de salida de una compuerta NAND que tiene las
entradas que se muesüan en la figura 2'23.

l.r$uRA l-.I3
Ejempio 2-10.
x-Áa
B B

Solucién
Una manera es dibujar primero la forma de onda de salida para una compuerta
AND y después invertirla. Ora técnica utiliza el hecho de que una salida NAND
estará e¡ BAJO sólo cuando todas 1as entradas estén en ALTO. De esta forma,
puede encontrar todos esos intervalos durante los cuales todas las e¡rtradas están
e¡r Al-'fO y hacen que la salida NAND esté en BA.JO para esos intervalos. La sa-
lida estará en ALTO en todos los demás tiempos.

htEI
Implemente el circuito 1ógico que tiene la explesiótl ¡ = áB'iL'+ D¡ utiliza¡rdo
só10 compuertas NOR Y NAND.

Solucién
EI término ( e-TD) es 1a expresión para la salida de una compuertir NoR. A este
término se le aplica la operación NAND junto con A v B, y el resultado se in"
vierte; ésta es, desde 1uego, 1a operación NAND' A$í, el circuito se implementa
como se muestra en la figura 2-24. Observe que la compuerta NANI) primero
aplica un ANf) a tos téminos á, B y td+ D¡, y después invierte todo el resultado'

Fl(lL'RA f -:.1 Ejemplos


2.11 y 2-12. c C rD rl

D
x AB(C r D)
B

Determine el nivel de salida de la figura 2'24 cutnclo A =B= C:1 yD=0


Solrrció¡r
Uu el prime¡ ¡¡rétodo utilizarnos la exprcsión para.r

x : AB(C + D)
: 1.1.(f+-O)
= r. r.«-rl
ti:
En el segundo método, anotamos los niveles iógicos de enüada en el diagrama
del circuito (los cuales se muestran en g.ris en la Íigura 2'241 y seguimos estos
58 Cnpirul,o z/DltrscliJpcló§ uE Los ctRCUfros LócIcos

niveies a través de cada compuerta hasta la salida final. La cornpuerta NOR


tiene entrádas de 1 y 0 para producir una salida de 0 (una OR hubiera producido
L$a salida de 1). Entonces ia compuerta NAND tiene nileles de entrada de 0, 1 y 1
para producir r.¡¡ra salida de 1 (al igual qrre AND hubiera producirlo una salida
de 01.

1, ¿Cual es cl único conjunto de condiciones rlc ent¡ arla qut producirá una <a.
lida en ALTO en una compuerta NOR de tres entradas?
2. Deterrnine el nivel de salida enia figura 2.24 cuando.¿{ =8= l, C=D:0.
3. Cambie la compuerta NOR de 1a figura ?"24 por una compuerta NAND y ca¡n-
bie 1a compuerta NAND por ulta compuerta NOII. ¿Cuál es la rueva expre-
sión pai a xi'

2-10 TEOREMASBOOLEAI'IOS

RTSULT,{DOS
Al finalizar esta seccióft, usted será capaz de:
r Corelacionar los tcoremas algebraicos comules con el álgebra booleana.
I Emplear teoremas de1 álgebra booleana para simplificar las expresiones.
! Demosftar ia equivalencia de dos expresiones mediante la generación y
comparación de tablas de verdad.
Herrlos visto cómo puede utilizarse el álgebra booleana para ayudar a analizar un
circuito lógico y exp¡esar su ope¡ación en fortna matemática. Para continuar con
nuestro estudio del álgebra booleana vamos a investigar 1os diversos teoremas
booleanos (también conocidos como reglas booleanas) que pueden ayudarnos a
sirnplificar las expresiones lógicas y los circuitos lógicos. El primer gnrpo de teo-
remas se múestra en la fi¿¡ura 2-25. E¡ cada teorema, r es una variable légica qüe
puede ser un 0 o un 1. Cada teorema se acompañ.a por el dia¿yama de un circuito
lógico que demuestra su validez.
El teorema (1) establece que si se aplica un AND enre cualquier variabte y 0,
el resultado es 0. Esto es fáci1 de recordar ya que la operación AND es como Ia
muhiplicacién ordinaria, en donde sabemos que cuaiquier cantidad multiplicada

xr--------J---\
o*_-J I l------ 0 0
x

(1) x.0 0 {5) x,0.x


x
x
I 1

{2) x.1 x (6) xf1.1


x
X

Í3) r,x x (7) xrx x

(4) x,i o (8)


liIctrli,l ?-15 Teoremas con una sola variable

Z
a
SECcIÓN 2.I O/TEoREMAS BooLEA-I§oS 59
-
por 0 es igual a 0. También sabemos que ia salida de una compuerta AND será 0
- siempre que una entrada sea 0, sir importar el nivel en la otra entrada.
EI feorema (2) también es obvio si se le compara con la multiplicación
- ordinaria.
- Iil teorema (3) puede demostrarse si se prueba cada caso. Si J{ = 0, entonces
0 0=0; si ¡= l entonces 1 . 1=1. Porlo tanto,.x -r=x.
El teorema (4) puede probarse de la misma forma. No obstante, también
- podemos razonar que en cualquier momento ya sea r o su inverso, r, deben estar
en el nivel 0 y, por lo tanto, su producto AND siempre será 0.
- El feorema (5) es bastante directo, ya quó cualquier cantidad que se sume a 0
no afecta su valor, ya sea en la suma ordinaria o en la operación OR.
- Fll teorerna (6) establece que si se aplica un OR entre cualquier variable con 1,
el resultado siempre será 1. Comprobamos esto para ambos valores de ¡:0 + 1 = 1
- y 1 + 1 = 1. De igual forma podemos r.ecordar que la salida de una compucrta OR
será I cuando cualquiera de sus entradas sea 1, sin importar el valor de la otra
- entrada.
El teorema (7) puede probarse si se comprueban ambos valores de ¡: 0 + 0:
- 0 y 1 + 1 = 1.
El teorema (8) puede proharse de manera similar, q basta con razonar que
- en cuirJquier momento ya sea x o i estará en el nivel l, de manera r¡ue siempre se
at esté aplicando un OR entre 0 y 1, lo cual siempre produce un 1.
Antes de p¡'esentar más teoremas, debemos recalcar que cuando se aplican
los teoremas (1) a (8) la variable * puede llegar a representar una g¡presión
- que contiene más de una variable. Por ejemplo, si tenemos que,481aBt, pode-
aa mos invo_ggr el teorema (4) si hacemos que x = 4-ts. Por ende. podemos decir
que ¿E(¿F) = 0. Esta misma idea 1>uede aplicalse al uso de cualquiera de los
aa teoremas.

- 'f eoremas con firriltiples yaritrbles


Los teoremas que presentamos a continuación involucran más de una vaL¡iable:
- (9) ,c+9=9+j(
) (10) )c 9=9'x
(11) .lc+ (9 +z) =(¡+ V)+ z=x+ g+z
) (12) x(92): {xg)z= xgz
(L3a) x(9 + z): xV + xz
- (13b) (ro +.txy + z): ag + xV + uz + xz

a (14)
(15¿)
19:,
,('f
x+i9:¡a,
a (15b) t+19:i+9
a Los teoremas (9) y (10) se conoce¡r como ¡eges conmutatiuas, ya que indican
que el orden en el que se aplican las operaciones OR y AND a dos variables no
importa; el resultado es el mismo.
- Los teoremas (11) v (12) son las leyes asocietiüas, las cuales establecen rlue
a podemos agrupar las variables en unar expresiól AND o en ula expresión OR de
cualquier forma c¡ue necesitemos.
a EI teorema (13) eslaleg disffibutitt¿, la cual establece que para expandir una
expresión se multiplica término por rérmino, de igual forma que en el álgebra

a ordinaria. Este teorema también indica que podernos factorizar una expresión.
Esto es, si tenemos una suma de dos (o más) términos, cada uno de los cuales

a contiene una variable común, ésta puede factorizarse de igual forma que en el
álgebra ordinaria. Por ejemplo, si renemos Ia explesión AEC + AEe podernos

a factorizar la variable E:
AEc*ÁBC=E:AC+.4c)
a
-
60 C§ÍaULO 2/DESCi.IPCiÓN DE LOS CIRCUITOS I,ÓGICOS

Conro otro eiemplo, considere la expresión ABC + ABD. Aquí los dos términos
tienen en cornún las variahles .rtr y 8, por lo que á B puede factorizarse de ambos
términ0s, Bst0 es,
AAC + ABD = AB(C 't D)

l,os teoremas (9) a (13) son fáciies de recordar y de utilizar, va que son idén-
aicos a los del álgebra ordinaria. Por otro lado, los teolemas (14) y (15) no tienen
contrapa¡tes en el álgebra ordinaria. para demostl ar cada uno de ellos hay rluc:
pro[':ar todos ]os casos posibles para x y g. I]ara ilustrar lo anterior (para el teo-
rerna 14) vamos a clear una tabla de análisis para Ia ecuación x + r'9, como se
muestr'a a continuación:

x y. xy. x+,(y
0 0 0 0
0 1 0 0
,1
0 0 1

1 1
'I 1

{r + rg) es siempre el mismo que


Observe que el valor de toda la expresión
para r.
El teorema (14) también puede demostrarse mediante la factorización y el
uso de los teoremas (6) v (2), como se muestra a continuación:

J§+19=x(l+r)
=¡ 1 [usando el teoremá (6) ]
Iusanclo el teorema (2)]

Todos estos teoremas booieanos pueden ser útiles para simpli{icar una
expresién lógica; es decir, para reducir el número de térrninos en la cxpresiór.
Cr.:l esto, la expresión reducida produce un circuito rlue es mr:nos cornplejo q r,rc
el c¡ue habría producido ia expresión r"rriginal. Una buena porcíón del si¡iui.entr:
capitrrlo estará dedicada al proceso cle simplificación de los circuitos. Por ahora,
1os siguieltes ejemplos servírán para ilus¡rar cómo puerlen aplicarse los teore
r:nas bo<¡leanr;s. Nota; encontrará totlos los teorernas booleanos en la p?rrte int¿)-
rior. dc la cubierta pr:sterior del libro.

Simplifir¡ue la expresión g : ÁBn + ,lEñ.


Soluciri¡r
Factorice las variables comunes .¿1F medialte el uso del teorema (13);

e=AE@+D)
Si utilizamos el teorema (8), el rérmino enrre parérrtesis es equirraiente a 1. Así,

9 = AB.1
.,4
futilizanclo e] teorema (2ll
SEccróN 2-11/TEoitEr,IAS DE, DDMORcAN 61

Simplifique la expresión ¡ = (A + B)(¿ + B).

Solución
Podemos expandir la expresión si mukiplicamos los términos Iteorema (13)]:

z=Á.e+Á.8+B.A+B.B
Si invocamos el teorema (4), el término Á'A = 0. Además, B ' B = B [teorema
(3)l:

Z : O + Á.8 + B.A + B : ÁB + AB + B
Si factorizamos la variable .B [teorema (13)] tenemos que:
z:B(Á+A+r)
Por último, utilizando los teoremas (2) v (6).
z:B

EfiflrIm Simplifique -t = ACD + ABCD.

Solución
Si factorizamos las variables comunes CI), tenemos que

Í=CD(A+ÁB)
Utilizardo el teorema (15á) poclemos st.rstituir A + ÁB por A+ B, de manera que
x:CD(A+B)
= ACD + BCD

1. Use los teoremas (13) y (14) para simplificar g = Ae + ABe.


2. Use los teoremas (13) y (8) para simpli{icar y = ÁBCD + ÁBe-D
3. Use los teoremas (13) y (15b) Para simplificar g = -AD + ABD.

2-II TEOREMAS DE DEMORCAN

RESULTADOS
A1linalizar uta secci.én, txted será capaz de:
I Expresar el teo¡ema de DeMorga¡ en forma algebraica.
t Usar eI teo¡ema de DeMorgan para simplificar expresioues algebraicas.
¡ Dibujar circuitos equivalentes c{e DeMorgan.
Dos de los teoremas más importantes del álgebra booleana fue¡on aportación de
un gran matemático apeilidado DeMorgan. Los teotemas de DeMorgan son en
62 C-{pifl,Lo 2/l)ESC}rrpcróN DE i,os cIRCUrros Lóctcos

extremo útiles para simplificar expresiones en las cuales se invierte un producto


o la suma de variables. Los dos teoremas son:
(16) 11+ 9¡ = ¡'-
(17) tx+l = i + Y
EI teorema (16) establece que cuando se invierte la suma OR de dos varii.r,
bles, es lo mismr:r que inverrir cada variable en forma individual y clespués apli-
car una operación ANIJ a estas dos variables inverridas. EI ¡eorema (17) esra-
blece que cuando se i¡rvierte eI producto AND de dos variables, es 1o mismo
rluer invertir cada variabie en forma individual y después aplical una opelacirin
C)R a estas dos variables. Cada uno de los teoremas de DeMorgan puede demos-
trarsc con facilidad si se comprueban todas las posibles combinaciones para r v g.
I)ejaremos esta comprobación como un ejercicio de final de capítulo.
Aunque estos teolernas están declarados en términos de las variables indi-
viduales ¡ y 9, son también r,álidos en situaciones en las que s y/o 9 son expre-
siones que snljs¡¡en más de una variable. Por ejemplo, r.amos a aplicarlas a )a
expresión (AB + C) como se muestra a continuación;

f ,tE + C¡ = r¿Et .e
Aquí utilizamos el reor'ema (16) y lraramos a ,4-B como r y a C corno g. El resultarlo
puede simplificarse aún más ya que renemos un producto,4E que está inverticto.
Si utilizamos el teorema ( 17), la expresión se convierte en

AA.C: (á + a).C
_
Ahora, si sustituimos E por B, al final nos queda

(A+8).C=AC+Be
Este resultado final sólo contiene signos de inversión para invertir una sola
va¡iable.

ffiMm Simplifique la expresión z = {A + C) . (8 + D¡ a una en la que sólo haya varia.


bles individuales inverti das.

S<llrrcirir¡
Si utilizamos el leorenr¿r (17) y rlat mos a (,á + C) como -r v a rB * D) como 9.
tenemos que

z=(Á+O+(B+D)
Fh esta expresién se partió el signo inversor grande_q,lg_mitad y se cambió el
signo AND (.) por un signo OR (+). Ahora el término(,I + C) puede simplific3rsc
mediante la aplicación del teorema (16). De igual forma, el término (B + D)
puede simplificarse:

'= f§'-t't1.-tr. rt
Aquí se parrieron los si€¡nos inversores grandes de cacla expresión a la mitatl y
se cambiaron los (+) por (.). Ca¡celando las dobles inversio¡res nos quecla p,r,,
último
z=AZ+Éo
SEcc¡óN 2-1llTEoREMAs DE DsMoRcA§ 63

Ei punto clave er el ejemplo 2-16 es que cuando se utilizan los teorerna§ de


DeMorgan para reducir una expresión, podemos descomponer un signo inversor
en cualquier punto de la expresión y cambiar el signo del operador en ese punto
por su opuesto (+ se cambia por ', y viceversa). Este p¡ocedimiento se continúa
ñasta que la expresión se reduce a una en la que sólo haya variables individuales
invertidas. A continuación se proporcionan dos ejemplos más.

Ejemplo 1 üernplo 2
=l+E.i (d=(f+TO.(D+EFJ
" : = é-+ BA + (D +TF))
A.(B'C)
= l.1F + e¡ = 6.É0 + (D.EF)
: a'(B + e) = tA.(E' + e)l + [D. (E + ñ]
=AE+Ae+DE+DF
Los leoremas de DeMorgan pueden extenderse fácilmente a más de dos
variables. Por ejemplo, puede demostrarse que
x+g+z= x:9'1
x'9'z =;+ g+z
Aquí podemos ver que e1 signo inversor grande se descompone en dos puntos
de la expresión y que el signo del operador se cambia por su opuesto. Esto puede
extenderse a cualquier número de variables. De nuevo, debemos tener en cuenta
que las variables en sÍ pueden ser expresiones, en lugar de variables individua-
les. A continuacititt se muestra otro ejemplo.

x = ÁB.cTJ.F
=ÁÉ+6+ EF
-AB+CD+ L:F

lmplicaciones rlt¡ los teoremas de f)eMorgirrr


Examinemoslos teorem¿s (16) y ( 17) desde el punto de vista de los circuitos lóg!
cos. Primero vamos a considerar el teorema (16):

x*9= x'9
El lado izquierdo de la ecuación puede considerarse como la salida de una com-
puerta NOR cuyas entradas son r v 9. Por otra parte, el lado derecho de la ecua-
ciórr es el resulfa<lo de primero invertir ambas variables x y 9, y después pasarlas
a trar,és de una compuerta AND. Estas dos representaciores son equivalentes
y se ilustran en la figura 2-26(a), lo que significa que una compuerta ANI) con
INVERSORES en cada una de sus enradas es equivalente a una compuerta
NOR. De hecho, ambos símbolos se útilizan para representar a la función NOR.

I,r{l{ rH.\ l-"¿(,


x
i
(a) Circui!os equiYalentes x+y::
ímplicados por el leore¡ña v
,
(16); (b) sÍmbolo alterna'
rivo para la ,lrnción NOR ia)

x
i.i. x',
v

(b)
64 Capir{rr.(¡ 2/f)ÍtscRlpcróti DE t,os ctRCUrros i-óctcós

Ct¡ando se uti.liza la compuerta AND con ent¡adas invertidas para reprcsentar a


la función NOR, por lo general se dibuia en la foma que se muesrra en la figu-
ra 2"26(h), en donde los pequeños circulos en las entradas representan la opera-
ción de inversió¡.
Ah<¡r:r consideremos el teorema (17):

i*u
Podemos implementar el lado izquierdo de la ecttación mediantc una com-
puerta NAND con enradas r y g. Pala in¡plementar el lado derecho primero se
invierten las entradas.r y g, y despuós se p¡rsan a través de una com¡ruerta OI{.
En la figura 2-27(a) se rruestran estas dos representaciones equiv¿rlentes. I-,a
compuerra OR con INYEIISORES en cada una de sus enradas es equir.alente a
la compuerm NAND. IJe h6cho, ambas representaciones se utilizan para la fun-
ción NAND. Cuando se utiliza la conrpuerta OR con entradas invertidas para
representirr a .la f unción NAND, por 1o general se dibuja en la for'¡na ,lue sn, mt'es-
tra en la figura Z-27 (It), r:n donde los círcr¡los er las entratlas nBevarnon¡e repre-
sentan la operación de inversión,

t¡l t; t il,a'\ ¿-i7 X


x x
(a) Circuitos equi\.alentes xy xy
v
implicados pol e1 teotema v v
v
(17.); tb) símbolo alte|na-
rivo para la función \A:r-D
{a)

xiy xy
v

(b)

l[ilE@ I)etermine la expresión de salida para el circuito cle la figula 2-28 y sirnplifíquelo
mediante el uso de los teoremas de lreMorgan.

i. r{rt:t{it t-28
tr jemplo 2"17. B z.A'B.C,A rB rC ArBrc

ó
.-,,n*# c

,#ffiffiffi
Solucirin
La expresión para ? es z : ABe. Utiliz¿rmos el teorema de DeMorgan par.a des-
cornponef el signo de inversión grande:

.=A+B+C
Ahora cancelanros la doble inversión en C para obtener

,=j_g+f.
SECCIÓN ¿,12IU¡{IVDRSALIDA, DE LAS CoMPUERTAS NAND Y NOR 65

1. Utilice los teoremas dé Delvtorgán pa.ra convertir la expresión z = (,4 + B) - e


por una que sólo tenga inversiones de variables individuales.
2, Repita Ia pregunta 1 para la expresión 9 = i?ST + O.
3. Implemente un circuito que teaga la expresión de salida z = áFC udlizando
sólo una compuerta NOR y un INVERSOR.
4. Use los teorernas de DeMorgan para convertir y = +I B;iD en una expre-
sión que cortenga só1o inversiones de variables individuales.

2-12 UNIVERSALIDAD DE I.AS COMPUERTAS NAND Y NOR

RESULTADOS
Al finalizar esta sección, usted será capaz de:
r Usar compuertas NAND pa¡a crear las funciones lógicas AND, OR y NOT.
I Usar compuertas NOR para crear las funciones lógicas AND, OR v NO'f.
I Demosrar la reducción del total de circuitos integrados (CI) mediante el
uso de la tecnología lógica de paquetes DIP.
Todas las expresiones booleanas constan de varias combinaciones de 1as
operaciones básicas de OR, AND e INYERSOR. Por lo tanto, cualquier expre-
siól puede implementarse mediante el uso de combinaciones de compuertas
OR, AND e INVERSOR. No obstante, es posible implementar cualq uier- expre-
sión lógica utilizando srílo compuertas NAND y ningún otro tipo de compuerta.
Esto se debe a que si las compuertas NAND se combinan en forma apropiada,
pueden usarse para realizar cada una de las operaciones booleanas OR, AND e
INVERSOR. Esto se demuestra en la figura 2-29.

x Á+i Á

@ A

(a) INVERSOR

AB X.AB
Ats
I -\ B

(b) AND

x-Áe-n,s
ArB
tl B B

(c) OR

l¡¡()L'liA:-:9 Las compL¡erlas NAit-D pueden usarse para implementar cualquier función booleana

E primer lugar, en la figura 2-29(a) te¡'remos urra compuerra NAND de dos


entradas, las cuales se conecta¡on juntas a propósito, de manera que la variable I
se aplique a ambas. En esta configuración, la compue¡ta NAND actf¡a ran sólo
como INVERSOR, ya que su salida es x = A'A: A.
En Ia figura 2-29(b) tenemos dos compuertas NAND conectadas de mancra
que se realice la operación AND. La compuerta NAND 2 se utiliza como
INVERSOR para cambiar A- por ÁB' = AB, que es la función AND deseada.
Para implementar la operación OR se pueden utilizar compuertas NAND
figura 2-29(c). Aquí las comptrertas NAN[) 1
conect¿rdas conlo se muesEa en 1a
y 2 se utilizan como INVERSORIIS para 1as entradas, de manera que la salida
§6 C-{"pfT(rt-o 2li)FSCRIpcIóñ DII Los clRCurros l.o(xcos

final sea ¡ : á'É, 1o cual puede simplificarse como ¡=A + B mediante el uso del
teorerna de DeMorgan.
De una manera similar, podernos demostrar que se pueden creal arreglos
de compuertas NOR para implementar cualquiera de 1as operaciones booleanas.
Esto se ilustra en la fi6;ura 2'30. La parte (a) muestra que una compuerta NOII
con sus entradas conectadas entre sí se comporta como un INVERSOR. debido a
r¡uc Ja salida es r = A +Á = Á.

r-\ A

(a)
INVERSCR

A !B ArB
B D
B

{b) OP

x , A i I . AB

tl B B

AND
ic)
I:l(;t R.l ¿-"i0 Las compuertas NOR pueden utilizarse pa(a implementar cualqrrie¡ iunciór booleaoa.

En la figura 2-30(b) hay dos compuertas NOR conectadas de tal forrna r.¡uc se
lleve a caho la opelación _ORIa compuerta NOR 2 se Lrtiliza como un INVERSOR
pala cambiar 7"ffi. por T +"8 = ,,1 + B, ttue es la función OR deseacla.
La operación AND puede implemenrarse corl cr)lr¡pue¡ t¡¡s NOR, como sc
muesla en la fi6ura 2-30(c). Aquí las compuertas NOR 1 y 2 se utilizar¡. como
IN\¡IIRSORES para las entradas d¿: manera qLre la salida final sca x = Á + E,
que puede simplificarse cr¡mo ¡=,4 Bmedianteel uso del teorema de f)eMtrrgan.
Como cualquicra de las opcraciones booleanas pueden implernenldrse con
sólo t¡tilizar cornpuertas NAND, puede construirse cualquier circuito si sc trti-
lizan sók¡ conrpuertas NAND. Lo mismo aplica i:ara las compuertas NOI{..Esta
calacterística de las compuertas NAND v NOR puede ser muy útil en el diseño
de circuitos lógicos, como se muestra en el ejemplo 2-18.

En cierto ¡rroceso de manufaclLrra, una banda transportadora se apaga cada vcz


que ocurlen dete¡minadas condiciones, las cuales se supervisan y rellejan con
base en los estados de cu¿tro señaies lógicas de la siguiente n¡anera:la se¡ial -4
esta¡'á en ALTO siempre que la velocidad tle la barrda rranspoltado.ra sea dema-
siado alta; la señal B esra¡á en AL'[O cada vez que el recipiente r'<¡co.lercrot al
final de 1a banda se elcuentre lleno;1a señal C estará en ALll'O cr¡andr¡ la rensirin
cle la banda esté demasiado aha;la señal D esta¡á en ALTO cuando esté clesco-
nectado el sobrepaso rnanual.
Se necesita un circuito lógico para gcnera¡r una señal:r que cambie á AL'I'O
siempre que las condiciones A y B se presenten al mismo riempo, o cada vez que
las condiciones C y D se presenten al mismo tiempo. Es evidente que lir expre-
sión lógica para x es x =¡18 + CIr, El circulto debe implementarse coIr la r¡enor
cantidad de circuitos inregrados q r-re sea posible. Los circuitos integraclos I'l'L
que se muestran en la figr:ra 2'31 están disponibles. Cada CI es ¿:¿¿ád¡r¿plc, lo qrie
significa que contiene dlrarro compuerras idénticas en un solo chip.
Solución
El nrétodo di¡ecto para implementar la expresir'>n obrenida utiliza dos coür-
puerras ANI) y una compuerta OR, corro se muestra en la figura 2-:J2(a). .ltsta
NAND Y NOR $7
SsccróN 2-1zlUNIVERSALIDAD DE LAri coMPUERTAs

Üt(iLKA :'.it Circuitos in'


regrados disparibies Para el
ejemplo 2'18. ?41S00

74LS32 74LS0a

compuerta rlel
implementación utiliza dos compuertas riel CI 7,4LS08 y.uüa sola
entrada y salida son los núme-
CI 7,+LS32. Los nú¡neros entre p;réntesis en cada
muestran en cualquier dia'
i"'r ¿. i"ái"ál áel CI respectivo, 1':s cuales siernpre se
de Irs
n.^*o .1" cablcado de circuiros kjgicos Parir nue§tros fine" [a mayo¡ia
que \e nccesl-
Eiág.u*o" logicos t,o mostrarán lo' números de terminal a menos
ien".n lo rlescripcirin de la operación del circuito'

l,'l(;UltA :"32 Po§ibles (1)


74LSOB
iroplemenraciones Para el (s)
ejemplo 2-18. t2J
B 74LS§2
{1}
{3)
(a) \2)
x, AB lCD
(4i 741S08
a (6)
(5)
D

AND

(b)

c
D

AND OR

D€spués de eliminar

t,t las lnversióne§ dobles

74L§00
(3)
(2)
B (s) 7dLSO0
(3)
{t c)
{c) 741S00
(4)
C (6)
(5)
D
§B Capfrur"o 2/l)tscRrpcróN DE Los ctRCUtros Lóctcos

Se puede L:grar otra implementación si se to¡na el circuito de la figura 2.32(a)


y se sustituye cada compuerra AND v OR por la implementación er¡uivalente
con la compuerta NAND de Ia figura 2-29. El resultado se muestra en la fi¡1ura
z-32(b).
A primera vista, este nuevo ci¡cuito parece requerir siete compuertas NANI).
No obstante, las compuertas NAND 3 y 5 estáu corec(adas como INVHR§iOR1iS
eu serie y pueden eliminarse del circuito, ya que rezrlizan una doble inversión de
1a señail que sale de la compuerta NAND 1. I)e manera similar, las compuertas
NAND 4 y 6 pueden eliminarse. En la figura 2-32(c) se muestta el circuito final,
después de eliminar los dobles INVERSORES.
lisre circuito final es más eficiente que el de la figu'a 2-32(a), ya que utilizá
tres compuelras NAND de dos enrradas que pueden implementarse rnediante un
solo CI, cl 74LS00.

1. ¿Cuántas maneras tenemos ahora para implementar la operación de inver-


sión en un circuito lógico?
2. lmplemente la expresión ,c = (¡'t + nXC + I)) mediante el uso de co¡npr¡er!
tas OR y AND. Implemelte después la exprcsión utilizando sólo compuerras
NOR, convirtiendo cada compuerta OR v AND a su implemenfación con NOR
de la figura 2-30. ¿Cuál circuito es más eficienre?
3. Escriba la expresión de salida para el circuito de la ligura 2-32(c) y r¡tilice
los teore¡nas tle DeMorgan para demostrar que es equivalente a la expresión
para el circuito de la figura 2-32(a).
4. Consulte la figura 2-32(a). Si la enr¡ada D necesitara inve¡tirse para producir
¡ - ,48 + CY), ¿cuántos circuitos inregrados se necesitarÍan?
5. Suponiendo t¡ue se realizó el ca¡nbio antes descrito, ¿cuántos circuitos inte,
grados se necesitarían si se usara sólo NAND como en la figura 2-32(c)?

Z.I3 REPRESENTACIONES ALTERNAS DE COMPUERTAS LÓGICAS

RESULTADOS
Al finalizar esta sección, vsted será capaz de:
I Interp¡etar diagramas lógicos con base en los niveles activos de las
entradas.
I Representar funciones lógicas de la forma más significativa mediante el uso
de sÍmbolos alter-nat ivos,
I{emos plesentado las cinco compuelras ló¡¡icas básícas (AND, OIf, INVIIRSOR,
NAND y NOI{) y los simbolos estándar que se utilizan para represe¡ltar-las en
los diagramas de circuiros lógicos. Aunque tirl vez algunos diagramas tle circui-
tos aún Lrtilicen estos símbolos estándar de manera exclusiva, cada vcz es más
común encontrá¡ diagramas de circuitos en los que se emplean los simbolos lógi-
cos alternativos ade¡nás de ios símbolos esránclar.
Antes de hablar sobre las razones p;rla urilizar trn símbolo altenarivo par.a
una compuerta lógica, presentaremos lt¡s simbolos alternativos para Lada com"
puelta y demostraremos que son equivale¡rtes a los simbolos esrándar. Consulte
la figura 2-331 el lado izquierdo de la ilustración muesrra el símbolo estándar
para cada (\o¡npuerta lógica y el lado tlerecl¡o rnucstra el si¡nbolo akernativt¡. lil
SEccIóN 2.13/REPRESENTACTo¡§ES ALI.ERNAS DE CoMPUERTAS LÓGICAS 09

l CL;¡i,\ 2-.i.i §ímbolos


trf
A. B
estánda¡ y alterna vos TANp-l A+B-AB
para varias compuertas B B
iógicas y para e1 inversor

ArB n
oti Á-rá a
B B

AB
NANI) Á¡Éi Áe
B B

A+B
NOR A,B rB
B B

Á
INV Á

símbolo alrernativo para cada cornpuerta se obtiene a partir del símbolo estiin-
dar mediante el siguiente proceso:
1. Invertir cada entrada y salida del símbolo estándar, Para ello
se agregan bur-
bujas (pe<¡ueños circulos) en las entradas y salidas que no tienen burbujas y
se quitan las de las entradas y salidas que si tienen.
2. Cambiar el simbolo de la operación de AND a OR, o de OR a AND (en el caso
especial del INVERSOR, ei símbolo de la operación no se cambia).
l'or ejemplo, el símbolo NAND estánda¡ es un sÍmbolo AND con una hurbuja
en su salida. Siguiendo los pasos antes mencionados, eliminamos la burbuja de
la salida v agregamos una en cada entrada. Después cambiamos el simbolo AND
por un OR. El resultado es un símbolo OR con burbujas en sus entradas.
Podemos demostrar con facilidad que este simbolo alternativo es equivalente
al símbolo está¡rdar mediante el uso de los teoremas de DeMorgan y recordando
que Ia burbuja representa una operaciófl de inversión. La expresión de salida
del símbolo NAND estándar es AB = Á + E, que es lo mismo que la expresión de
salida para el símbolo alterno. Podemos seguir este mismo procedimiento para
cada par de símbolos de la figura 2-33.
Debemos ¡ ecalcar varios puntos en relación con las equivalencias de Ios sím-
bolos ló¡¡icos:
1. l,as equivalencias pueden extenderse a las compuertas cotl cualquier numero
de entradas.
2. Ninguno de los símbolos esrándar tiene burbujas en sus entradas, y todos los
símbolos alternativos sí.
3. Los símbolos estándar y alternativos para cada compuerta representan el
mismo circuiro ¡ísico; no haq d.iferencia en los circuitos represettad.os por los dos
síñ1bolos.
4. Las cornpuertas NAND y NOR son inversoras, por lo qrre tanto los síurbolos
estándar como los alternativos para estas compuertas tendrán una burbuja,
ga sea en la entrada o en ia salida. Las compuertas AND y OR son no inuerso-
ras, por lo que los símbolos alternativos para cáda urra de el]as tendr'á burbu-
jas tanto en las e¡rrraclas como en las salidas.
70 Cr\Pi?TfLO 2IDNSCRIPCIÓN DE LOS CIRCUITOS LÓCICoS

Interpletac.ión de los símt¡olns lógict.rs


Cada uno de Ios símbolos de Ias conrpuertas }ógicas de la figura 2"33 ofrece una
inrerpretacirin rlnica de la manera en que opeJ'a la compuerta. Antes de de¡nostrar
estas interp.ctaciones rlebemos establecer el concepto de los niveles lógicos activos.
Ct¡ando una linea de entrada o de salida en el símbolo de un circuito lógicri
no tiene burbuj¿t, se rlice que está activa en Af,TO. Cuando una línea de entrad¿r
o de salida tienc una burbuja, se dice que está acliva en Bdf0. Por lo tar¡to, la
presencia o ausencia de una burbuja cletermina el estado activo en BA.[O lact¡vo
en ALTO de las entradas y la salida de un circuito, y se utiliza para intelpr etar
la operación del mismo.
Para ilustrar 10 anterior, la figura ?.34(a) muestra el símbolo estándar para
una c(,mpuerta NAND. Este símbolo estándar tiene una burbuia en su salida y no
tiene burbujas en sus eniradas. Por lo tanto, tiene una salida activa en BÁ"|O y
ent¡adas activas en ALTO- En colsecuerrcia, la operación iógica qLre reprcsenra
este símbolo puede interpretarse de lar si¡¡uienle manela:
La salida cambia a BAJO sélo cuemdo todas las entradas están en ALTO.
Observe c¡ur.: esto dice que la salida carnbiará a su estado actir.o sólo cuando
todas las entradas se encuentren en sus estatlos activos. Se utiliza la palabra todas
debido al símholo AND.

t l(; r.'Ita f,-.i+ AB


IDterpretación de los dos La sslida cai¡bia a BAJO sólo cuando
lodss Ias 6nlradas eslán 6n ALÍO
simbol0s de c0mptlertas
NAND. Elestado EAJO
Act¡va e¡l AL¡O es el estado acllvo

{a)

A]B Á6 La salida eslá en ALTO cL¡ando


cualquler entrada está en BAJO
B
El éslado ALIO
Act¡va en BAJA
es el estado activo

(b)

El símbolo ¿ülernativ<¡ para una compuerta NAND que se muestra en la


tigura 2-34(b) tiene una saiida activa en ALTO y enrradas activas en llAJO, por
lo que su operación puede declararse así:
La salida cambi¿¡ a ALIO cuando cualquier entrada cstá en BAJO.
Esro quiere decir que la sa.lida estará en su estado activo cuando cualquiera de
Ias enn-adas se encuentre en sr¡ estado activo. Se útiliza la palabla aralquiaz
debido al símbolo OR.
Si k¡ analiza Rn poco, podrá ver que las dos interpretaciones para los símLro-
los NAND cle Ia li¡iLrla 2-34 son mane¡as distinras de decir Io misrnc¡.

Itesu¡r¡en
En estos rnonrentos tál vez se estó preguntando por <1ué la necesidad de te¡rer clos
símbolos e interpretaciones distintas para cada una de las compueflas iógicas.
Esperamos que las razt;nes para ello se aclaren después de r¡ue lea Ia siguiente
sección. Por ahora vamos a ¡esumir los puntos importantes en lelaciíln cr:n Ias
representaciotres de las compuertas lógicas.
1. Para obtener el sÍml¡olo alte¡nat.ivo para una compuerta lógica, tonre el sim"
bolo estánda¡ y carnbie sLr sÍmbolo de operación (OR a AND, o AND a OII).
Carnhie rambié¡r las t¡urbuias ta&to en l¿s entradas colno en la salitl¿ (es
SEccIÓN 2.14/CU]|L REPRESENTACIÓN DE COMPUERTA SE DEBE USAR 71

decir, elimine las burbujas que estén Preseñtes y agregue otras en donde no
haya).
2. Para interpretar 1a operación de una compuerta lógica, primero observe cuál
estado lógico (0 o 1) es el activo para las entradas y cuál es el activr: para la
salida. Después tome en cuenta que el estado activo de la salida se produce
al tener todas las enlradas en su esrado activo (si se utiliza un símbolo AND)
o cualquiera de las enradas en su estado activo (si se utiliza un símbolo OR).

Proporcione la interpretación de los dos símbolos de compuerta OR-


Solucit'rn
l,os resultados se muesfran en la figura 2-35. Observe que se utiliza la palabra
cualquiera cuando el simbolo de operación es un OR y la palabra todas cuando se
usa un ANI).

¡.lGt tt§ ?-35


A. B
Inte¡'pretación de los clos La salida cambia a ALTA caando cualqu¡era
tl d€ sus eñlradas s6 encuontra en ALTO
simbolos de compuerta
El e§tado ALTO
oR.
Acl¡va en AL fo es ol estado activo

(a)

A'B.ArB La salida cambia a BAJO sólo cuando ¡oda§


sus entradas €sláñ €n BAJO.
B
El eslado BAJó
Activa en BAJO es el ostado actiro

{b)

1. Escriba la interprelación de la operación que realiza el símbolo estándar de


la compuerta NO.R de la figura 2-33.
2. Repita la pregunta 1 para el símbolo alternativo de la cornpuerta NOR.
3. Repita la pregunta 1 para el símbolo alternativo de 1a compuelta ANIJ.
4. Repita la plegunta 1 para el símbolo estándar de la compuerta AND.

2-I4 CUÁL REPRESENTACIÓN DE COMPUERTA SE DEBE USAR

RESULTADOS
Al Jinalizar esta seccíón, usted serú capaz de:
¡ Elegir los símbolos lógicos más clescriptivos.
r A¡alizar con rapidez la operación de un circuito con base en el diagrama-
Algunos diseñadores de circuitos lóg,icos y algunos libros cle texto sólo utilizan
los simt¡olos estándar de las compuertas lógicas en los diagtamas esquemáti'
cos de sus circuitos. Aunque la lógica de esta práctica es corecta, no facilita el
seguirniento de la operación del circuito. El uso apropiado de los símbolr-¡s de
compuerta alternativos en el diagrama puede hacer mucho más clara la opera'
ción del circuito. Para ilustrar lo anterior consideremos el ejemplo que se mues-
ra en la figura 2-36.
12 CrpiTrn.(, 2/DnscRtpr:ló\ l)E Los ctRCLrt'tos l.lictcos

}l(iL:R,l l-3(> (a) Circuito


origi¡¡al que ütiliza simbolos
NAND estrándar; (b) repre- B
sentación equiYaiente en la Z
cu¿lla salida Z es activa en
AL,TO; (c) repre$e¡tacióD C
equivale¡te eu la cuai la
salida Z es activa en BAJO; D B C f)
(e) tabla de verdad. (a) 0000 o
0001 0
0010 0
0011 1

X o100 0
B
0101 0
0110 o
Z 0111 1

1000 0
c
Actlva en ALfO
1001 o
1010 o
D
1011 1

(b) 1100 1

f101 1

1110 l
X
1111 1

(d)
B

z
C
Activa en BAJO
D

1c)

El circuito de la fi6iura 2-36(a) contiene tres compuertas NANI) co¡rectadas


para prorlucir una salida Z que depende de las e¡rtradas A, B, C y D.III diagrama
del circuito utiliza el símbolo está¡rdar para cada ura rle las conrpuertas NANI).
Aunque la lógica de este diagrama es correcta! no facilita una comprensión de
la manera en que funciona el circuito. Sin embargo, 1as representaciones quc se
muesran en las figuras 2"36(b) y (c) pueden alalizarse con más facilidad para
determinar la operación del circuito.
La representación de 1a figu:a 2-36(b) se obtiene a partir del diagrama del
circuito original, sustituyendo la compuerta NAND 3 con su símbolr: i,rlternatilo.
Iin este diagrama la salida Z se toma del símbolo de una compuerta NAND que
tiene una salicla activa en ALTO. Por ende, podeuros decir que Z cambiar'á a AL1'O
cuando X o Y estén en BAJO. Ahora, como X y Y aparecen cada una en la salicla
de símbolos NAND que denen salidas activas en BAJO, podemos decir que X cam-
biará aBAJO sólo siá=8= 1,¡, que Ycambiará a tsAJO sólo si C:D= 1. De todo
esto podemos describir la operación del circuito de la siguiente manera:
La salida Z cambiará a ALTO siempre que A = B - 1 o cuando C = D = 1
(o en ambos casos).
Esta descripción puede traducirse al formato de tablas de verdad si se establece
Z : 1 para aquL-llos casos en los que á = B = 1 y para aquellos casos en ios que
C = D * 1. Para todos los demás casos, Z se hace 0. La tabla de verdad resultante
se rrruestra en la figura 2-36(d).
La ¡epresentación de la figura 2'36(c) sc obticne a partir del diagrarra del cir'-
cuito original. sustituyendo las compuertas NAND 1 y 2 por sus símbolos alterna-
tivos, En esta representación equivalente, Ia salida Z se toma tle uoa compuerta
NAND en la cual su salida sea activa en BAJO. Por lo tanto, podemos decir c¡ue Z
caml¡iará a RA-lO s¡ilc¡ cr¡an.lo X= y= 1. Corrro Xy Ysr¡¡r salidas activ¡rs en At.'I(),
podemos decir que X cambiará a ALTO cuando A o B estén en BA")O, v que Y
SEccréN 2'14lCuÁL REPREsENTActóN DE ooMPUERTA sE DEBE usAR 73

cambiará a ALTO cuando C o D estén en BAJO. De todo esto podemos concluir


que la operación del circuito es la si5¡uiente:
La salida Z cambiará a BAJ0 sólo cuando A o B estén en BAJO y C o D
estén en BAJO.
Esta descripción puede rraducirse al formato de tablas de verdad si hácemos que
Z: 0 pa¡a toclos los casos en los que cuando menos una de las entradas á o B esté
en BAJO al mismo tiempo que cuando menos una de las entradas C o D esté en
BAJO. Para todos los demás casos, Z se hace 1. La tabla de verdad resultante es
la misma que Ia que obtuvimos para el diagrama dei circuito de 1a figura 2-36(b).

¿Cuál diagrama de {rircuito debe Lrsarse?


La respuesta a esta pregunta depende de la función específica que vaya a reali-
zar la salida del circuito. Si éste va a utilizarse para producir cierta acción (por
ejemplo, encender un LED o activar oro circuito lógico) cuando la salida Z cam-
bie al estado 1, entonces decimos que Z debe ser activa en ALTO, y debemos usar
el diagrama del circuito de la figura 2-36(b). Por otro lado, si el circuifo se va a
utilizar para producir cierta acción cuando Z cambie al estado 0. entonces Z debe
ser activa en BAJO y debemos usar el diagrama de la figura 2'36(c).
Desde luego que habr'á situaciones en las que se utilicen dmbos estados de la
salida para producir disrintas acciones, y cualquiera de ellos podría consideralse
como el estado activo. Para estos casos puede utilizarse cualquierir de las dos
representaciones del circuito.

Colocación de las trurtrujas


Consulte la representacÍón del circuito de la figura 2-36(b) y observe que se
seleccionaro¡r los sÍmt¡olos para las compuertas NAND 1 y 2 de manera qué te11-
gan saliclas activas en BAJO, para hacer que coincidan co¡r las enradas activas
en BAJO de la compuerta NAND 3. Consulte 1a representaciólt del circuito de
Ia figura 2-36(c) y observe que se seleccionaron Ios símbolos para las compuer'
tas NAND 1 y 2 de manera que ten8an salidas activas en ALTO, para hacer <¡ue
coincidan con las entradas activas en ALTO de la compuerta NAND 3. Esto nos
conduce a la siguiente regla general para preparar diagramas esquemáticos de
circuitos lógicos:
Siempre que sea posible, seleccione símbolos de compuerta de manela
que las salidas con burbuja se conecten a las entradas con burbuja, y las
salidas sin burbuja se conecten a las entradas sin burbuja.
Los si¡¡uientes ejemplos demost¡arán cómo aplicar esta regla.

El circuito lógico de la figura 2-37(a) se utiliza para activar una alarma cuando
la salida Z cambie a ALTO. Modifique el diagrama del circuito de manera que
represenre la operación del mismo de una manera más efectiva.

¿ Z
B - -l-n1¡n r',rÁ I B -{aaú^l
C c
o D
(a) (b)

l'¡(; L n.-l I,J7 Ejemplo 2-20.

-r
74 CÁpiruro ?/I)EScRIpcIóN DE Los cIRcuITos Lócrcos

Solución
Como la condición Z = 1 activa la alarma, Z debe ser activa en ALTO. Por ende.
el símbolo de la compuerta AND 2 no tiene que cambiarse. El símboir¡ de la
compuerta NOR debe carübiarse por su símbolo alternativo con una salida sin
burbuja (activa en ALTO) para que concuerde con 1a entrada sin brrrbuja de la
compuerta AND 2, como se muestra en la figura 2'37(b). Observe que ahora cl
circuito tiene salidas sin burbuja conectadas a las entradas sin burbuia de la
compuerta Z.

:mmffi Cuando la salida del circuito lógico de Ia figura 2-38(a) cambia a IIAJ0, activa
otro circuito lógico. Modifique el diagrama del circuito para representar la ope-
racióri del mismo, de una manera más efectiva.

r¡t(;tiIt d 2"18
Ejemplo 2-21.
B B

c Z c Z.

D D

(a) (b)

Soluci<in
Como Z debe ser acriva en BAJO, debemos cambiar el simbolo para la compuerra
Olt 2 por su sírnbolo alternativo, co¡no se muesuo en la figrrra 2"38(b). El nuevo
símbolo de la compuerta OR 2 tiene entradas con burbujas, por 1o que los símbolos
de la compuerta AND y de la compuerra OR I deben cambiar.se por símbolos que
tengan salidas con burbuja, como se muestra er.r la figura 2"38(b). El INVERSOR
ya tiene una salida con burbuja. Ahora el circuiro tiene todas sus salidas co¡r bur-
buja conectadas a las entradas con burbuja de la comprrerta OR 2.

;1nálisis de circuitos
Cuando se dibuja el diagrarna esquemático de un circuito lógico utilizando las
re¡¡las que hemos seguido en estos ejemplos, es mucho más fácil para un inge-
niero, técnico o estudiante seguir el flujo de la señal a través del circuito y derc,r-
minar las condiciones de entrada necesarias para acdvar Ia salida. Ilustra¡.emos
esto en los siguientes ejemplos que, por coincidencia, utilizan diagramas de cir-
cuitos tomados de los diagramas esquemáticos lógicos de una microcomputadora
real.

El circuito lógico de la figura 2-39 genera una salitla llamada MEM que se utiliza
para activar los circuitos integrados de memoria en cierta microcomputadora.
Determine las condiciones de entrada necesarias para activar a.&lEM-
§EccIóN 2.l4/CUAL RF]PRESENTACIÓN DE coMPTJ.ERTA sE DEBE USAR ?5

F'lGl-rR:{ I'J9 X
Liemplo 2"22. RO
[4EM

BOM.A

ROM.B

HAIf

Solución
Una manera de hacerlo sería escribir.la expresión para MEM en términos de 1as
entradas RD, ROM-á, ROM-B y RAM, y evaluarla para las 16 combinaciones posi-
bles de estas enrradas. Aunque este método sí funcionarÍa, se requeriría mucho
más trabajo del necesario.
Un método más eficiente es interpretar el diagrama del circuito utiliza¡rdo las
ideas que hemos desarrollado en las últimas dos secciones. Éstos son los pasos:

1.MEM es activa en BAJO y cambará a BA.fO sólo cuando Xv Yestén en ALTO.


2.X estará en ALTO sólo cuando RD = 0.
3. Yestará en ALTO cuando Wo yestén en ALTO.
4, Y estará en ALTO cuando R,4M = 0.
5. l4l esta¡á en ALTO cuando ROM-A o ROM-B : 0.
6.De todo esto podemos deducir que MEM cambiará a BAJO sólo cuando
ItD = 0 y cuardo menos una de las tl,es entradas ROM-A, ROM"B o RAM esré
en BAJO.

EJEfüPt0 ¿:23 El circuito lógico de la figura 2-40 se utiliza para activar la pantalla de (:ristal
líquido (LCD, por las siglas de liquid crystal display; de un dispositivo electrónico
portátil cuando el microcontrolador envía o recibe datos hacia o desde el contro-
lador de Ia LCD, EI circuito activará la pantalla cuando LCD : 1, f)ete¡mine las
condiciones necesarias de entrada para activar la LCD.

li}0t RA 2-.10
E.iemplo 2-23. Nola: lodas las compuertas son CMOS-

74HCe0 Y
A5 7411C32
74HCO2 LCD

ENT x
SAL
-
7ñ C-\pfuul"a z/DEscRIpcróN DE LCs clRCUrros LóGrcos
-
!iolur:ión
U¡a vez más, interpretaremos el diagrama paso pol paso: -
i. ¿CI) estará activa en AI,TO y cambiará a AI,TO sók¡ cuando X = Y* 0. -
2- X estará en BAJO cuando EJVI o §AL estén en ALT(). 7
.?. Y es¡ará en BAJ0 sólo cuando W = 0 y Aa = 0.
4. W estará en BAJO sólo cuando todas las entradas de la.4¡ a la,47 estén en
7
ALTO,
5. De todo esto pódemos deducir qlre ICI) estará en ALTO cuando ár = Á j =Á j =
7
Aa = A s = A 6 = l, = 1 y A0 = 0, y cuando EN?R,4D¿ o SALIDA o an¡¡bas estárr
en l.
7
Observe el exfraño símbolo para la compuertá NAND CMOS de ocho enLradas -
{74}IC30); note además que la seiial ái está conectada a dos de 1as enlra-
¡las NAND.
a
7
Nilt'les a;iign do$j
Ilemos estado describiendo las señales lógicas como activas en BAJO o acrivas -
en AL"TO. Por ejemplo, la salida MEM en la figura 2-39 es activa en BAJO y la
-
sá1ida LCD en la figura 2-40 es activa en ALTO, ya que son los estados de saiida
que hacen que ocurra algo. I)e maaera similar, la figura 2-40 tiele las entradas
de 7a A1 ala A7 activas en ALI'O y la entrada áo activa en BA.JO.
a
Cuando una señal lógica se encuentra en su estado activo, podemos decir
que está asigneda. For ejeñplo, cuando decimos que la enuada -4o está asi€Fada, -
significa que sa encuentra eü su estado de activa en BAJO. Cuando una señal oü JA
se encuentra e¡r su estado ac¡ivo, se clice r¡ue esrá no asignada, Por ende. c uan¿lo
decimos que LCD está no asignada, significa que se encuentra e¡l su esfado inac-
tivo (bajo). JA
Es evidente que los términos asignado y no asignado son sinónirnos de actiuo
e inrsctiv o, respectivamente: ,
asigrrado = activo ,
$o asignado = inactivo
ámbos conjurtos de ¡érminos son de uso común en el campo digitai, por io que
-
usted debe ser capaz de ¡econocer ambas formas de describir el estado activo
de una seña1 lógica. a
Iitiqueta<lo de señales lógicas activas en EAJO -a
El uso de u¡a ba¡ra superior para etiquetar las señales activas en BAJO se ha
convertido en práctica común. La trarra superior sirve como ot¡a indicación de
-a
que la señal es activa en BAJO; desde tuego que 1a ausencia de una barra supe-
rior indica que ]a seña1 es activa en ALTO.
-
_ Como ejemplo, todas las señales de la figura 2"39 son activas en BAJO y pue-
den etiquetarse de la slguiette manera:
-
ffi, FOma, ROm:E', m, m¡r
Recue¡de que la barra superior es sólo una ma¡era de enfatiaar que estas s€ña. -
les son activas en BAJO. Empiearemos esta convención pa¡.a etiquetar las señales
lógicas siempre que sea apropiado. -
§tiquertado de señales biestado =
Es muy común que una señal de saiida tenga dos estados activoq es decir, que
tiene una tunción importante en el estado ALTO y otra en el estado BAJO,-Es =
costumbre etiquetar estas señales de manera que ambos estados activos sean ,
aparentes. Un ejemplo común es la seña1 de lectura/escritura RD,,Vffi, la cual se

-
ia
-
SEccróN 2-15/RETRASo DE pRopAGAcróN 77
-
interpreta de 1a siguiente manera: cuando esta señal está en ALTO se r.ealiza la
- operación de lectura (RD); cuando esrá en BAJO se realiza la operación cle esc¡i"
rula ( I4l8).
-
a
1. Use el método de los ejemplos 2-ZZ y 2"23 para determinar las condiciones
- de enfrada necesarias para activar la salida del circuito de ia figura 2-37{b).
2. Repira la pregunta 1 para e1 circuito de la figura 2-38(b).
- 3. ¿Cuántas compuertas NAND se muestran en la figura 2-39?
4. ¿Cuántas conpuerfas NOR se muesüan en la figura 2-40?
-
5. ¿Cuál será el nivel de salida en la figura 2-38(b) cuando todas las enúadas
- están asignadas?
aa 6. ¿Qué entradas se requieren para asignar la salida de alarma en 1a figura
2.37(b)?
aa 7. ¿Cuál de las siBuientes señales es activa el IIAJO: RD"W, R flV?
aa
,a 2-I5 RETRASO DE PROPACACION

aa RESUTTADOS
Al finalizar esta sección, usted. será capaz de:
aa I Predecir el efecto del retraso de propagación.
aa I Medir el retraso de propagación real.
¡ Usar descriptores de parámetros estándar para el retraso de propagación
a El r'et¡aso de propagación puede delinirse simplemente como el tiempo que
aa ta¡da un sistema en producir la salida apropiada después de recibir una entrada.
Piense en una máquina expendedora o¡dinaria. Usted pone su dinero en Ia
máquina y presiona un botón para realizar su selección. No recibe el producto de
aa inmediato; el producto tarda cierto tiempo en moverse del anaquel y caer en la
a puerta expendedora. Este es un letraso de propagación. Nuestros reflejos son un
ejemplo biológico. Desde el momento en que r.e las luces de freno del automóvil
frente a usted y hasta que pone su pie en el freno, hay un retraso considerable,
o tiempo de reacción.
- Los circuitos digitales reales tienen tarnbién un tiempo de retraso de propa-
) gación considerable. Las razones se volverán más claras cuando estudiemos las
características reales de los circuitos y semiconductores (transistores) en vez de
analizar sólo su operación ideal. Una compuerta AND, como la qus se muestra en
- la figura 2"41(a), sirve como ur.r ejemplo de que el retraso de propagación existe
y puede medirse.
- Cuando la señal ENT cambia a AI-TO, provoca que 1a señal SAL cambie
a ALTO poco tiempo después. De iguai forma, cuando la señal ENT cambia a
-
) ENI
0

-
a SAL
0

SAL
- ENf Ti6rn po
(a) (b)
- I¡I{;tilt,4.2-4'l Medición del retraso de propa8ación en una compuelta lógica
a
a
78 CÁ"PÍTTILo 2/DEscRIPCIÓN DE Los CIRCUITos LÓGICos

BAJO, provoca que ia señal SAL cambie a BAJO poco tiempo después. Ilay que
señalar dos cosas importantes del diagrama de tiempos de la figura 2-41(b):
1. Las transiciones no son realmente instantáneas, por lo que medimos destle el
punto del 50% en la entrada hasta el punto del 50% en la salida-
2. El tiempo que la s¿Iida tarda en cambiar a ALTO uo es necesariamente igual
que el tiempo que la sa/ida tarda en cambiar a BAJO. A estos tiempos de
retraso se les conoce como tpLH (tiempo de propagación de BAJO a ALTO) y
rrsr. (tiempo de propagación de ALTO a BA.IO).
La velocidad de un circuito lógico se relaciona con esta caractetÍstica de
retraso de propagación. Cualquiera que sea la pieza eiegida para implementar el
circuito lógico, debe tener una hoja de datos que indique el valor del retraso de
propagación, Esta información se usa para asegurar que el circuito pueda operar
con la suficiente rapidez para la aplicación.

1. ¿Por qué las rransiciones no son instantáneas al medir el retraso de propagación?


2. ¿En dónde se toman las mediciones cuando las transiciones no son instantáneas?
3. ¿Cuál es el pariímetro que mide el tiempo después de que cambia la ent¡ada
hasta que la salida puede cambiar de ALTO a BAJO?
4. ¿Cuál es el parámeffo que mide el tiempo después de que cambia la entrada,
hasta que la salida puede cambiar de BA.JO a ALTO?

2-16 RESUMEN DE LOS MÉTODOS PARA DESCRIBIR


CIRCUITOS LóGrcOS

RTSUTTADO
Al linalizar ata sección, wted será capaz d.e:
t Listar 1os métodos que se utilizan para describir la operación de un circt¡ito
lógico,
Los temas que hemos visto hasta aho¡a en este capitulo estári centrados alre-
dedo¡ de sólo tres funciones lógicas simples que conocemos como AND, OR y
NOT. El concepto no es nuevo, ya que todos usamos estas funciones lógicas en
nuestra vida diaria cuando tomamos decisioncs. He aquí algunos ejeurplos lógi-
cos de cómo podría pensar usted: si está lloviendo O (OR) el periódico dice que
podría llover, entonces llevaré mi paraguas; si recibo mi cheque de nómina hoy
Y (AND) llego al banco, entonces tendré dinero para gastar esta tarde; si tengo
una calificación aprobatoria en teo¡ia Y (AND) NO (NOT) he fallado en el labo-
ratorio, entonces aprobaré mi clase de circuitos digitales. En estos momentos tal
vez usted se pretunte por qué hemos i¡ve¡tido tantos esfuerzos para clescrihir
estos conceptos familiares. La ¡espuesta puede resumirse en dos puntos clave:
1. Debemos ser capaces de replesentar sstas decisiones 1ógicas.
2. Debemos ser capaces de combinar estas funciones lógicas y de implernentar
un sislema de toma de decisiones.
Hemos aptendido a representar cacla una de las funciones lógicas básicas medianre
el uso de:
Declaraciones 1ógicas en nuesrto propio lenguaje.
Tablas de verdad.
Símbolos lógicos gráficos tradicionales.
Expresiorres de álgebra booleana.
Diagramas de tiempos.
LóCICOS 79
gBccló¡i Z.16IBESUME¡¡ DE LOS METODOS PARA DESCRIBIR CIRCUITOS

en q o 1ógico nece"
La siguiente exprcsiótr en inglés describe la forma de seguridad
sita operar Para controlar e1 indicador de advertencia
en un automóvil.
NO (NOl') tiene
Si el conÚalador esÍí presente Y (AND) el conductor
está activo'
i"*r* .i "i","t;ny (Á¡¡o) el int§truBtot de encenditlo
advertencia'
hmfOncns (THEN) encendet la luz de
esq[ernáticos con sím-
I)escriba el circui(O USando álgebra booieana, diagramas
l"rrl iáei*t, rablas de verdad y diagrama§ de tieúpos'
Sr¡lrrción
Vea 1a figura 2-42.

Éxpresló8 t¡ooleana
intenuplor-€ncendido
luz,adv6[enc¡a = conduclor-presente' cinlurÓn-§ngarchado'
{a)

ülágrama esquomátlco
ENTF]ADA
conduclor Pl€sente ]AND3
NÓT
SAL¡DA luz advertefieia
ENTRADA
ciniulóll*énganchado
tnsls
ENI IlADA
inlernrptol,oncénd¡do
(b)

¡nt6mJPtor-é ncondido luz-advodenc¡a


condLlclor- Pr¿§ente clnlurón-engarchado
0 0
0 0
1 0
1l
0
c 0
0 1
0
¡ l 1

0 o
1
0
,| 0 1
l
0 0
1
1

1 n
1
1

(c)
Dlagrarná dó ti§mpo§ aos§ 9.0ms 10

l
0
(d)
os lógicos: (a) exaresión booleana;
(b) cliagrama esquematrcol
r-IGLrttA 2-42 Método§ para describi¡ clrcui¡
(c) tablas de verdadl (d) diagrama de dempos

1,a lisura 2-42 muestra cuaüo manera§ dis¡intas rle representar el circui¡o
ejemplo 2-24- Hav muchás
r¿"tli"iÉ"r. ¿"*.iiriál"ru"r"*"L e1lJ rrottell de1
para esta-decisio' c:-T:
:;;i;"."ü;;;:."'qr" po¿.i"ot''"r"á'""i"' lu lósica
o eFUnclar
:ji",,i;r;i;;;J, eniaá"' .*.oi¡r,,,o nuero fe.¡r-Luo]is,sraricos'De'dc iue¿'r
la |elacrrin lóEiüil rdroma tlifeicntc cumo tl ancés o-japorrós'
un 'o¿o
p*if"fes de utr circuito lügico'
que no porlemo; cubrir todas r"'i"t*"
descri-bii
8ü CAPirUf,o z/DNSCRIPCIÓN DE I.OS CIRCUlTOS LÓGICOS

pelo debemos complendó¡ los métodos más co¡nunes para poder comunicarnos
con otras personas en esta profesión. Lo que es más, ciertas situerciones son más
fáciles d.e describir si utilizamos un método cn lugar dc otlo. En algunos cilsos $na
imagen vale más que mil palabras; en otros, las palabras son lo basrante concisas y
se comunican con rrrás facilidad a los demás. El punto importante aquí r:s que ncce-
sitamos f¿.r¡mas de describir y comunical la operación <le ios sistemas digitales.
Se han desarrollado muchas her¡ar¡rienras parn que un d.iseñaclor puocia
introclucir la descripción de un circuito en una computadora con el propósito dc
documentar ese circuito, simular.lo y finalmente crear un circuitr¡ funcional. I,a
herramienta que recomendamos es de Altera Corporation, uno de los ¡:rovec-
dores de circrritos digitales más impr.rtantes del mundo. Su sr:ftrryare QLrarttrs U
está disponible sin costo y puede clescargarse de srr sitio web. Es l'ácil aprender a
usado, especialmente por medio de tutoriales disponibles, para los propietarios
de este libro. eD wr^"w.pealsonhighered.corn/electronics. Quartus I1 le ofrece rtna
forma de dc-.scril¡i¡ Lrn circuito al dibujar un cliagrama lógico. Iril diagrarna .lógict.r
de lar figura ¿-42(b) es un archivo de rlescripción de bloques ("bdf) que se generri
mediante el software Quartus II. Observe que este diagrama está cr)mpu(:sto de
símbolos de entrada etiquetados, símbolos de salida etiquerados y simbolos
de conrpttertas lrigicas. Todos estos símbolos se proporcionan en t¡na bibliotcca tle
componentes que se incluye en Quartus II. Los cornponentes se conectdn con
facilidad mediante una herramienta de dibujo de cables.
Una vez que el dise¡iador dibuja un archivo de descripción de bloques I.bdf),
puede abrir r¡¡ archivo de simulación en for¡na de un diagrama de tiern¡ros. El
diseñador crea las fotmas de o¡rda de entrada y el simulador dibuja la forma de
onda de salida. El diagrama de tiempos que se ¡rruestra en la iigura 2-42(d) cs un
ejempto de la simulación de un cliagrama de tiempos en Quartrrs II.

1. Nombre cinco formas de describir la operación de los circuitos lógicos.


2. Nombre dos de las herramientas disponibles en el software Qtrartus Il.

2.17 COMPARACIÓN ENTRE LEI,IGUAJES DE DESCRIPCÚT.¡


Y LENCI'AJES DE PROGRAMACIÓN'

RESULTADOS
Al finalízar esLa secciótt, r»ted será capaz dc:
I Articular la diferencia entre el lenguaje de descripción de irardware y ien,
guajes de ¡:rogr:amación de cornputadora.
¡ Indicar la fuente del origen cle VHDI- v AHDL.
L,as tendencias recientes en e.l canlpo de los sistemas digitales están a favor" de
la descripción de k¡s circuilos digitales media¡rte el lengtraje basado en rexro.
Quizá usted haya notado que cada urétt¡do de descripción de la figura 2-42 pre-
senta obstácu los para introducir los datos a la cgmpuradora, ya sea por las bar.r as
superiores, los sÍmbolos, el formato o el dibujo de lÍneas. En esta sección empe-
zaremos a conocer algunas de las herramientas más avanzadas que utilizan los
pro{esionales en el área de sistemas digitales para describir los circuitos que
iüIplementa¡l sus ideas. A estas herramientas se les conoce c¡)mo lenguajes de
descri¡rcirin de hardware (IIDL, por sus sig.las de h«rduare dacriptíon lan¿uages)-
Aun con las poderosas computadoras que tenemos actualmente, no es posiblc
desc¡ibir un circuito lógico en leuguaje común (como español o inglés)y cspera¡-

'Se puéden omr¡r loda§ las seccro¡es que hatlan sob,e los lenguale§ de descflpción de ha/dware st¡
perdEr la continuidad en el balance de los capítulos del2 al 10.
SrccróN 2.17lCoIvrpARAcróN ENrRE LENGUAJES DE DEscRtpctóN 81

que la computadora lo entienda' Las computadoras necesitan un lenguaje definido


con más rigidez. En este libro nos enfocaremos en dos lenguajes: el lenguaje de
descripción de hardwa¡e de Altera (AHDL, por sus siglas de altera hardware descrip-
tion tingrage) y e1 leng',^ie de descripción de hardware (VHDL, por sus siglas de
hardaaie d.ácñptíon language) para circuitos integtados de muy alta velocidad
(VHSIC, por sus siglas de very high speed integrated circuit).

VHIIL y AIIIIL
\¡HDL no es un lenguaje nuevo. EI Departamento de Defensa de los Estados
Unidos lo desarrolló a principios de la década de 1980 como una forma concisa
de documentar los diseños en e1 programa de circuitos integrados de muy alta
velocidad (VI{SIC). Como era demasiado adjuntar HDL a este acrónimo (incluso
hasta para 1os militares), el lenguaje se abrevió como VHDL. Se desarroll¿iron
pro8r'amas de computadora para tomar los archivos de lenguaje VHDL y simular
la operación de los ci¡cuitos. Con el crecimiento de los dispositivos lógicos pro-
gramables complejos en los sistemas digitales, VIIDL ha evolucionado para con'
vertirse en uno de los principales lenguajes de descripción de ha¡dwa¡e de alto
nivel para diseñar e implementar circuiros digitales (síntesis), El IEEE estanda-
rizó este lenguaje, con 1o cual se hizo universalmente atractivo para los ingenie-
ros, así como parer los fabricantes de herra¡¡¡ieutas de soltware que traducen los
diseños a los parones de bits utilizados para programar los dispositivos reales.
AHDL es un ilenguaje desarrollado por Altera Cor¡roration para ofiecer una
forma conveniente de configurar los dispositivos lógicos que ofrecen. Altera fue
una de ias primeras compañías en int¡oduci¡ dispositivos lógicos que pueden
reconfigurarse mediante electrónica. A estos dispositivos se les conoce como dis"
positivos légicos programables (PLD, por sus siglas de programmable logic deuices).
A diferencia del VIIDI ei AIIDL no está diseñado para usarse como un lenguaje
universal pala describir cualquiel circuito lógico, sino para programar sistemas
digitales complejos en dispositivos PLI) de Altera, en un lelguaje que se perciba
en general como más sencillo de aprender, pero que es muy similar al VHDL.
También cuenta con caractelisticas que aprovechan por completo la arquitec-
tura de los dispositivos de Altera. En todos los ejemplos de este libro utilizare'
mos el sofsrare Altera Quartus lI para desan'ollar archivos de diseño en ALIDL
y \rI{DL. Podrá ver la ventaja de usar el sistcma de desarrollo de Altera para
ámbos lenguajes cuando programe un dispositivo real. El sistema de Altera faci'
lita el desan'ollo de circuitos en forma considerable; además. contiene todas las
herramientas necesarias para traducir el archivo de diseño de HDL a uno listo
para cargarse en un PLD de Altera. También 1e permite desarrollar bloques
áe constiucción mediante la introducción de diagramas esquemáticos, AHDL,
VHDL y otros métodos, para después intetconectar esos bloques y fi:tmar un
sistema com¡rleto.
Hay ouos HDL disponibles que son más adecuados para program¿rr üspositiv,os
lógicos-rnás simples. Después de que, con la ayuda de este Iibro, aprenda los funda-
mentos de AHDL o VHDL, le parecerá fácii utilizar cualquiera de los otros lenguajes'

f,engutrjes de prog¡rarnación de corn¡rutadoras


Es importante díferenciar entre los lenguajes de descripción de hardware, que
están diseñados para describir 1a configuración de hardware de un circuito, y 1os
lenguajes de programación que representa¡ una secuencia de instrucciones que
una computadora debe llevar a cabo para realizar cierta tarea. En ambos casos
rltil.izamos un lenguaje para programar un dispositivo. No obstante, las compu-
tadoras son sistemas digitales complejos que se fabrican a partir de circuitos lógi'
cos. Las computadoras operan mediante el seguimiento de una lista de tareas (es
decir, instrucciones o "el programa"), cada una de las cuales debe realizatse en
un orden secuencia-l, La velocidad de operacién se determina con base en la rapi-
dez de la computadora para ejecutar cada instrucción. Por ejemplo, si una compu-
tadora fuera á responder a cuatro entradas distintas, requeriría cuanrlo menos
cuatro instrucciones (tareas secuenciales) separadas para detectar e identificar
cuál entrada cambió de estado. Por otro ]ado, la velocidad de un circuito lógico

'
l--
82 CApiTUr,o ¿/I)ESCRIpcfóN DE Los crRCUrros Lócrcos

digital está limitada sólo por la rapidez con la que la circuitería pueda cambiar
ias salidas en respuesta a los cambios en las eltradas. Supervisa todas las entra-
das en forma concurle¡rte (al mismo tiempo) y responde a cualt¡uiel cambio-
La siguiente analogía le ayudará ii comprender la diferencia entre la crpe'
ración de una cnmpuladora y la operación de un circuixo ló6ico digital, junro
con el papel de los elementos de leng,uaje que se utilizan para describir lo t¡ue
hacen los sistemas. Considere el reto cle describi¡ lo que se le hace a un auto de
carreras Indy 500 clurante una parada en los pits' Si ula sola ¡rr:t sona ¡ealizara
todas las tareas necesarias, una por una, tendría que ser muy rápida. Esta es la
forma en la que opela una computadola: una talea a la vez, pero con mucha rapi-
dez. Desde luego r¡ue en las competencias de autos Indy hay todo un equi¡:o de
mecánicos en los pits que invade el automóvil, y cada micmbro realiza su tarea
mientras los demás realizan la suya. Todos los miembros del equipo operan en
forma concurrente, al igual que los elementos de un circuito digita.l. Ahora con'
sidere la forma en que usted describiría a erlguien más lo que se est¿í hacien¿lo
al auto de carreras durante la parada en los pits, utilizando (1) el e¡ifoqLre dcl
mecánico individual o (2) el enfoque del e<luipo de mecánicos. rlNo seríart rnuy
similares las dos descripciones verbales de 1o que se está haciendo? Como vere-
mos, los lenguajes que se utilizan para describir el hardware digital (IIDL) so
muy similares a los len8uajes que describen los programas de computadora (por
ejemplo, BASIC, C, JAVA), aun cuando la implementación resultante opera en
formas muy distintas. No es necesario conocer cualquiera de estos lenguajes de
programacirin para comprender el HDL. l,o irnportante es que cuando usted haya
aprendido a usar tanto el HDL como un lenguaje de computadora, cleberá co¡n-
prcnder el papel particular de cada uno en los sistemas digitales.

Er@ Compare la operación de una computadora y un circuito lírgico al realizár la ope"


ración lógica simple de y =AB.

Sohrción
El ci¡'cuito lógico es una simple compuerta AND. La salida 9 estará en ALTO
dentro de un lapso aploximado de 10 nanosegundos después del punto en el que
y I estén en ALTO al mismo tiempo. La salida g estará en tsAJO denr¡'o de un
"4
lapso aproxirnado de 10 nanosegundos desplés r1e que cLralquier^a de l¿s entra-
das cambie a BAJO.
La computadora debe ejecutar un programa de instrucciones que realice
decisiones. Suponga que cada insruccién toma 2ü ns (¡bastante rápidol). Cada
figura del diagrama de flujo que se muestra en la fl¿¡ura Z-4.i representa rma
instrucción. Es evidente que se requerirá un mínimo de dns o tres instrucciones
(40-60 ns) pata res¡:onder a l<¡s cambios en las entradas.

tlf(;frliÁ f-+.i El p¡oceso


de decisiones de un pro-
grama de compuradora.
No Si
¿E§á A en ALTO?

st
¿Eslá a en ALTO?

Hac€r que y Hac€r que y l-lacer que y


cambio a BAJO cambie a BAJO camb¡e a ALTO

Bogaesar y rcpetir
SEcuóN 2-18/IMPLBM§NTAoIóN DE clRCUtros LÓGIco§ coN PLDS 83

1. ¿Qué significa HDL?


2. ¿Curá1 es el propósito de un HDL?
3. ¿Curíi es e1 propósito de un lenguaje de programación de computadoras?
4. ¿Curíl es la diferencia clave enrre el HDL y los lenguajes de programación de
coÍrputadoras?
5. ¿Quién creó el AHDL?
6. ¿Quién creó el VIIDL?

2-18 IMPTEMENTACóN DE CIRCUITOS LÓCICOS CON PLDS

RESULTADOS
Al ftnalizar esta sección, usted será capaz de:
r Definir lo que es un PLD.
r Explicar .la "programación" de ux PLD.
I Explica¡ el papel que juega la compilación.
En Ia acttralidad, muchos ci¡cuitos digitales se implementan mediante el uso
de dispositivos lógicos programables (PLDs). Estos dispositivos no son como las
mictocomputadoras o los mic¡ocontroladores, los cuales "ejecutan" un programa
de instrucciones. En vez de ello se configuran en forma electrónica y sus circui-
tos internos están "alamb¡ados" entre sí en forma electrónica para formar un
circuito lógico. Este alamb¡ado programable puede considerarse como niies de
conexiones que están conectadas (J.) o no conectadas (0). La figura 2-44 mues-
tr"a una pequeña área de conexiones progtamables. Cada intersección enre
una fila (alambre horizontal) y una columra (alambre vertical) es una conexión
programable. Imagine lo difícil que sería tratar de configurar estos dispositivos
rnediante la colocación de unos y ceros en una matriz en fo¡ma rnanual (que es
como se hacía en la década de 1970).
E1 papel del lenguaje de descripción de hardware es proporcionar úna manera
concisa y conveniente para que el diseñador describa la operación del ci¡cuito
en un formato que una computadora personal pueda manejar y almacenal en
forma adecuada. La computadora ejecuta una aplicación de software especial
llarnada compilador para traducir el lenguaje de descripción de hardware en
la matriz de unos y ceros que pueden cargarse en el PLD. Si una persona ¡ruede

r.rGt:ttA :-4,1 ENIRADAS


Configuración de digitales B
las conexiolres
c
D
de hardware con E
Ios dispositivos F
lógicos programables. G
I-t

Circuitos
lóg¡cos

Malriz d€ conexioñes
84 C,tPiTr,¿o z/DEscRrpclóN rrE Los cIRCUIToS I"óGIcos

dominar el lenguaje de descripción de hardware de mayor nivel, le será má$


fácil programar 1os PLD que tratar de usar álgebra booleana, dibujos esquemá-
ticos o tablas de verdad. En forma muy parecida a como aprendemos un idioma,
empezaremos por expre$ar cosas simples y poco a poco iremos aprendiendo los
aspectos más complicados de estos lenguajes. Nuestro objetivo es que aprenda lo
suficiente sot¡re HDL como para que se comunique con los demás y realice tarcas
siurples. La total comprensión de todos los detalles sobre estos lenguajcs es algo
que está fuera del alcance de este libro, ya que só1o puede dominarse mediante
la práctica regular.
§n las secciones de este libro que tratan acerca de los HDL, pteselrtalemos
tanto a como a V}IDI" en un formato que le permita o¡nitir un le'nguir-ie
^¡IfJf, en el otro sin pcrderse de información importante. Desde luego
y concentrarse
que esto implica que habrá cierta información redundante presente si usLed opta
por leer sobre ambos lenguajes. Sentimos que esta redundancia r.ale el eslLrerzo
adicional de proporcionarle Ia flexibilidad de enfocarse en cualquiera de los dos
letguajes, o de aprender ambos al co!¡parar y contrastar ejemplns similares. La
forma lecomendada de utilizar el libro es enfocarse en un leuguaje. Es cierto
que la manera más sencilla de volverse bilingüe y eficiente en ambos lengua-
jes es crecer en un entorno en el que ambos lenguajes se hablen de marrera
rutinada. No obstante, también es muy fár:il confundir los detal'les, por lo que
martendremos los ejemplos específicos separados e independientes. Es¡reramos
que este lormato le brinde la oportunidad de aprender un lenguaje ahora para
despLrés utilizar este libro como referenciar en caso de que nccesite retomar el
segundo lenguaje.

1. ¿Qué significa PLD?


2. ¿Cómo se reconfiguran los circuitos en forma electrónica en un PLI)?
3. ¿Qué hace un compilador?

2-19 FORMATO Y SINTAXIS DEL HDL

RE§ULTADOS
Al linalízar esta secci6n, usted será capaz de:
I ldenrifica¡ las palabras clave reservadas por AHDL o VHDI..
I Usar la sintaxis del HDL en fo¡ma correcta.
r Escribir un atchivo de código fuente simple.
Todos los lenguajes ¡ienen sus propiedades particulares, sus similirudes con
otros lenguajes y su propia sintaxis. Cuando estudiamos gramática en la escuela,
aprendemos convenciones co¡no el orden de las palabras como elementos en una
oración y 1a puntuación apropiada. A esto se le conoce como la sintaxis dei len-
g,uaje. Un lenguaje diseñado para que la computado}a lo jnterprete debe seguir
reglas estrictas de sintaxis. Una computadora es tan sólo un conjunto de alam'
bre y arena de playa procesada que no tiene idea de Io que uno "quiere" darle
a entender', por lo que debemos presental las inst¡ucciones usando la sintaxis
exacta que el lenguaje de cornputadora espera ]¡ comprende. E1 forr¡¡ato básico
de la descripción de cualquier circuito de hardware (en cualquier lenguaje)
implica dos elementos vitales:
1. La definición de lo que entra al circr.rifo y 1o que sale de éste (es decir, las
especificaciones de entradas/salidas).
2. La definició¡ de la for¡na ert que Ias sirlitlas respolrderl a las el¡t¡adas (es
clecir, su operación).
SEccIóN 2.I9IFORMATO Y SINTAXIS T,EL HDI- 85

Fl(;l,RA:-4S La ENTRADA
AND2
descripción de un SALIDA
diagrama esquerdático, v
ENfRÁüA
b

Un ingeniero o técnico competente podría leer un diagrama esquemático


couro e1 de 1a figura 2-45, ya que ambos comprenderían el significado de cada
uno de los símbolos en el dibujo. Si usted comprende cómo funciona cada elemento
y cómo se conectan los elementos entre sí, po<1rá comprender la forma en que
opera el circuito. En el ladr: izquierdo del diagrama está e1 conjunto de entradas
y a la derecha está el conjunto de salidas. Los símbolos del centro definen su ope-
ración. É1 lenguaje basado en texto debe mansmiti¡ la misma información. Todos
los IIDL utilizan el formato que se muestra en la figura 2-46.

['IGL:R^ l-.16 Fo¡mato de


archivos I{DL, Docum€nlaclón

Doilniclones de E/S

Do$cripción funcional

Err un lcnguaje basado en texto, el circuito que se describe debe tener un


nombre. Se detren asignar nombres a las entradas y las salidas (algunas veces 1la-
¡nadas puertos), y se deben definir de acuerdo con la naturaleza del puerto. ¿FJs
un bit individuat de un interruptor? ¿O es un número de cuatro bits que proviene
de un teclado numérico? El lenguaje l¡asado en texto debe t¡ansmitir de alguna
lolma Ia naruraleza de estas entradas y salidas. El modo de un puerto define si
es de entrada, de salida o de entrada/salida- El tipo se reliere al número de bits
v la rnanera en que óstos se agrupan y se interpretan. Si el npo de entrarla es de
trn sr:lo bit, entonces únicamente puede tener dos valores posibles: 0 y 1. Si el
tipo de entrada es un número binarirl de cuatro bits que proviene de un tecladt:
numérico, puede tener cualquiera de 16 valores distintos (0000¡ - 11112). EI tipo
determina el rango de valor'es posibles. En un lenguaje basado en texto, la defi
nición de la operación del circuito está contenida dentro de un conjunto de lns'
trucciones que van después de la definición de entrada/salida (E/S) del circuito.
En las si¡iuientes dos secciones describi¡emos e} circuito simple de 1a figura 2-4 5
e ilust¡aremos los elementos críticos del AHDL v tlel VHDL.

DESCRIPCIÓN BOOLEAHA MEDIANTE EL UgO DE AHDL


Consulte la i'igula 2-47. La palabra clave SUBDESICN asigna un nombre al blo"
que del circuito, que en este caso es cofipuertd-and. El nombre del archivo tam'
bién debe ser compuerta-and,tdf. Observe que la palabra clave SUBDESIGN
está en mayúsculas. El software no lo requiere, pero el uso de un estilo consis-
tente en cuanto a 1as mayúsculas y minúsculas facilita en forma considerable la
lectura del código. l,a guía de estilo que se incluye con el compilador de Altera
para AHDL sugiere el uso de letras mayúsculas para las palabras clave del lerr-
guaje. Las variables qtte nombre el diseñado¡ deben estar en ¡ninúsculas.
86 CAPiTrjlo 2/DESCR{PCIÓN DC LoS CIRCUTI)S LóGICos

t l{;l tt,l l"J7 Elenentos


esenciales e¡ AHDl,, SUBDESIGLI qo¡¡puerta-aÍtd
(

3, § : IN:L ! i
y I ouT?"i?;
)
BEI;iN
y5a & b;
END;

La sección SUBDESIGN define las cntradas y salidas del bloque del cit-
cuito lógico. Algo debe encerrar al circuito que estamos tt'at¿ndo do describir,
al igual que un diagrama de bloques encierra a todo lo que irirma parte del
diseño. En AHDL, esta definición de entrada/salida se encierra ottlc paténtr'"
sis. La lista de variables utilizadas como e¡rtraclas para este blor¡ue se se¡ara
mecliante comas y va se¡¡rrida de:INI'UT;. En AI{DL se asume cl Lrso del tipo
bit individual, a menos qtre la variable se designe como varios bits' El bit dc
salida individual se declara con el modo :OUTPUT;. Aprenderemos la forma
correcta de describir otros tipos de entradas, salidas y variables a medida que
1o necesitemos.
El conjunto de instlucciones que describe Ia operación del circuito en AI'lDL
está contenido en la sección lógica, ente las palabras clave BEGIN y END. IIay
que ponel un punto y coma después de la palabra END, asi como sie¡rrprc sc
termina un párrafo con un punto- Fin este ejemplo, la operación de harclware
se describe mediante una ecuación dc eilgebra boolea¡ra rnu¡r simple, la cual
esrablece que a la salicla (y) se Ie debe asignar (=) el lrivel lógir:o proclucido pot'
a AND i¡. A esta ecuacitin de álgebra boolcana se le conoce como instrucción de
asignación concurrente. Cualqu.ier instrucción (sólo hav una en estc ejernplt-r¡
entre BEGIN y END se evaluará en forma con$tante y concurrcnte. lll orden rln
el r¡Lre se listen no tiene uada que ver. Los operarlores booleanos b¿isicos son;
& ANI)
# oR
NO'f
; xoR

1. ¿Qué aparece dentro de los paréntesis ( ) después de SUtsDESIGN?


2. ¿Qué aparece entre BEGIN y END?

DT.SCRIPCIÓN BOOLEA-NA MTDIANTE EL USO DE VHDt


Consulte la figura 2"48. La palabra clavt: F,NTITY asigna un n<-¡ml¡re al blo-
* qr.tedel circuito, que cn este caso es (omprlerta_and. Observe que ia palabra
ENTITY está en mayúsculas pero conrpuerta_and no. EI softrvale no requierr:
esto, pero el uso de un estilo consislente en cuanto a las mayúsculas y minúscu,
Ias facilita en fo¡rna considerable la lectura dei código. La guía de estilo que se
incluye con elc<.rmpilador de Altera para VIIDL sugiere el uso de letlas mayúscu-
las para las pal*bras cl:¡v¡: d<>l lenguajc. l,as variables que rrrxrrll ar cl (lisciad()r
deben estar en rnirr úsculas.
SEccTÓN 2.¿OISEÑATES INTERMEDIAS 87

Fl(;L:RA 2-Jli Elementos


esenciales en VlfDL. BN3ITY eompuerta_and :5
:ADr¡ / - l^ .iñ E-rr.
y :O9? B:T);
ENDcompuerta andi
ARCIII?EC?Iiii ckt OF conpuerta añd:S

y<:aANDb,
END cKt,

La declaración ENTITY puede considerarse como Ia descripción de un blo-


que. Algo debe encerrar al circuito que tratamos de describir, al i¡¡ual que un
diagrama de bloques encierra a todo 1o que forma parte del diseño. En VHIJL, ¡t
la paiabra clave PORf indica al compilador que estamos definiendo entradas l

v salidas pala el bloque de este circuito. Se listan los nombres t¡tiiizados para
las entradas (separados por comas) y se termina con un punto y cqma, junto
con una descripción del modo y del tipo de entrada (:IN BIT). En YHDL, la
descripción BIT indica aI compilador que cada u¡ra de las variables en la lista
es un bit indiviclual. Aprenderemos la forma apropiada de describir oÚos tipos
de entradas, salidas y variables a rnedidtr que l: vayamos flecesitando. La línea
que contiene END compuerta-and; termira la declaración ENTITY
La declaración ARCHITECTURE se utiiiza para describir la operacién de
rodo lo que se encuentra dentro dei bloque. El diseñador inventa un nombre
para esta descripción arquitectónica del funcionamiento interno de1 bloque
ENTI'rY (ck¿ en este ejemplo). Todo bloque ENTI1Y debc tcner cuand<.¡ menos
una declaración ARCHITECTIIRE asociada a é1. I-as palabras OF e IS son pala-
bras clave en esta declaracién. El cuerpo de la descripción de la arquitectura
va e[cerl'ado entre las palabras clave BEGIN y END. Y el nombre que se asignó
a esta arquitectura va a continuacién de END. Es necesario poner un punto
y coma al fi¡ral de esta línea, de la misma forma que finaliza un párrafo con
un punto. Dentro del cuerpo (entre BEGIN v END) está la descripción de la
operación del bloque. En este ejempio, 1a operación del hardware se describe
mediante una ecuación de álgebra booleana muy simple, la cual establece que
a la salida (9) se ie debe asignar (<:) el nivel lógico producido por á AND b
A esto se Ie conoce como una instrucción de asignacién concul¡:ente, lo cual sig"
nifica que todas 1as instrucciones (sólo hav una en este ejempio) entre BEOIN
y I1ND se evaluarán en forma constante Y concurl'ente. El orden en el que s€:
iisten ¡ro es relevante.

1. ¿Cuál es la Iuncjón de la declaración }I,NTITY?


2. ¿Qué sección clave define la operación del circuito?
3. ¿Cuál es el operador de asignación que se utiliza para asignar un valor a una
señal lóeica?

2-2O SENALESINTERMEDIAS

RESULTADOS
Al finalizar est:a sección, usted será capaz de:
r Definir variables en HDl,.
r Usar variables etr el código de IIDL.
I f)ocumentar eI archivo tle código {uente
88 CATfT!Lo 2IDEScRII,C]ÓN DE LOS CIRCIIT OS LÓGICO§

En muchos diseños se tiene la necesidad de definir puntos do seña.l "dentro"


del bloque del circuito. Son puntos en el circuito que no son entradas ni salidas
para el bloque, pero que pueden ser útiles como punto de referencia. Puede ser
una seilal que necesite corectarse a muchos otros lu6ares dentro del bloque. En
un diagrama esqrremático analógico o digital se llamarÍan purltos de pt ueba o
nodos. En un IIDL se conocen como nodos ocultos o se¡lales locales, L,a figura 2-49
muesrra un circuito muy simple que uf iliza una señal intermedia llamada m. Iin
el HDL esros nodos (señales) no se definen con las entradas y salidas. sino en la
sección c¡ue describe la operación del bloque. L,as enttadas v salidas están dispo'
nibles para otros bloques de circuito en cl sistema, pero estas señ¿les locales se
reconocen só]o dentro de este bloque.

Señal ¡ntermedia m

ENTBADA
m

EÑTBADA
b

SALIDA
!NTRADA

I¡l(iL tt,! :-49 Diagrama de un circirito lógico con una variable irtermedia

En el código de ejemplo que viene a continuación, observe la información


e¡r la parte superir:r.
El propósito de esta iniormación es sólo con fines de docu-
menración. En defi¡itiva es imprescindible r¡ue el diseño se documen¡e con
todos los detalles posibles. Como minimo, debe describir e.l proyecto en el que
se está usando, quién Io escribió y la fecha. Por 1o general, a esta información se
ie conoce como el encabezado. En este libro varnos a mantener nuestros encabc-
zaclos breves para que sea más ligero cuando 1o lleve a str clase, pero recuerdc
que el espacio en memoria casi no cuesta y la información es valiosa, asÍ r¡ue ntr
tenga miedo de documefltdr sus proge¿tos con todo el detalle posiblt.'l ambién h¿v
comentarios ense¿¡uida de muchas de las instn¡cciones en el cótligo. Fstos sirven
al discñador para recordar lo qt,re estaba tratando de haccr, además ayudan a
que cualquier otra persona comprenda el significado del código.

NODOS OCULTOS EN AHDL


El código AHDI que describe el circuito de la figura 2-49 se muestra en la
figura 2-50. l,os comentarios en AHDL pucden ir encerraclos erfi e caracte,res %!
- conto podernos ver entre las lineas 1y 4. Esta seccirSn del código permite al
diseñado¡ escribi¡ muchas líueas de inlormación <¡uc serán ignoradas por los
programas de computadora que utilicen este alchivo, pero para cualcluier ¡rer-
sona que trate de descifr¿rr el código serán muy útiles. Observe quo los comen-
tarios al final de las líneas 7, 8, 11, 13 y 14 van precedidos por dos gLriones
cortos (-). El texto después de los guiones co os es sólo para documentación.
Puede usarsc cualquiera de estos simbolos para comentarios, pero los signos de
porcentaje deben usarse en pares para abrir v cerrar un comentario. Los do¡j
¡luiones cortos indicirn un comentario que se extiende basta el final de la línea.
Etr A1IDL las señales locales se declaran en la sección VARIABI-E. la cual
se coloca entre la sección SUBDESIGN y la sección lógica. l,a señal i¡rtermerlia ¿l -se
define en la línea 11, después de la palabra clave VARIABLE. La ¡ralabra clave
NODIi designa la naturaleza de la variable. Observe que un signo de dos purtos
sepala cl nt¡nrbre de la variable de su designacióu de ¡roclo. Iln 1a tlescri¡rción
SECCIóN 2.20/SeÑA],DS I¡f TERMEDiAS 8S

l rGLR.,l .¿-50
Las valiables inlerme- :. .t Ver1ables internedi.as en AItDL (!'r grrra 2-49)
dias en AHDL, descritas 2 S:steFas diq:ta:es l:a ed
en la fig,ura 2-49. 3 NS tJ:dne r
4 MAYO 27, 20i5 S
5 SUBTESI€)i fig2_50
6 I
1 atb, c ::N-D'.1T,' -- de¡:ne las e¡itr.ádas d?* b-oqire
I iá sd i].da cte.l b.Loc¡t,re
9 )

'-a VAF.iA3LE
-.i '-- na{hra ú¡a $eñai i¡termedía
'-2 B!JGJN
& * a ¡i h; -- gen§ra tér¡xino de p(oducto ocuftcr
'-a
Y = m 1i c; -- genera su¡Ia en .la sal:dá
L5 END;

de hardware de la iÍnea 13, la variable intermedia se asigna (conecta) a r.n


valor (m = a&b;) y después m se utiliua en la segunda instrucción en la linea 14
para asignar (conectar) un valor a g (g = m * c;). Recuerde qtte las instruccio-
nes de asigrración son concun'entes y por ende no importa el orden en el que
se proporcionan. Para que los humanos podamos lee¡las, es más lógico asignar
valores a variables intermedias antes de usarlas en otras instrucciones de asig'
nación, tal y como se rnuestra en este ejemplo,

1. ¿Cuál es 1a designación que se utiliza para las variables intermedias?


2, ¿En dónde se declaran estas va¡iables?
3. ¿Importa si la ecuación rn o ¡l se declara primero?
4. ¿Qué carácter se utilüa para limitar un bloque de comentarios?
5, ¿Qué caractexes se utilizan para comertar una sola lÍnea?

sEÑALES LOCALES DE VHDL


El cócligo de VI{DL que describe el circuito de la figura 2-49 se muestra en
la figura 2 51. Los comentarios en VHDL van después de dos guiones cor'
tos (-). Al escribir dos guiones cortos sucesi¡,os, el diseñador puede escribir
información desde ese punto hasta el final de la línea. La información que
va¡ra después de estos dos guiones será ignorada por los programas de compu-
tadora que utilicen este archivo, pero cualquier persona que trate de descifrar
el código podrá leerla.
La señal intermedia ¡n se define en la línea 13, despuás de la palabra
clave SIONAL. La palabra clave BIT designa el tipo de la señal. Observe
que un signo de dos puntos separa e1 nombre de la señal de su designación
de tipo. En la descripcién de ha¡ dr ¡are de la linea 16, la señal intermedia
90 CApirur.o 2/l)EScRtPCIó¡i DE Los clRculros LÓGlcos

i -- variables iDternedia§ én vHDl, (Figura 2-49)


2 -- Sistemas digitales 12a ed
3 -- N§ 'rlid&or
4

; EN?:TY fig2 51 :S
'7
?ORT{ a. k'r c :IN BI?; -- défine :as entrrdas del b:ooue
I i y I OUg BIT) ; -- define la sa::.da de- b1§que
I I
END frq2,si,
L. I

AE.CÍIITICTUT.E ckt OP flg2-51 iS


2
I SIGNAL n i3l3i -- n9mbra una seña- :nternedia
4
gt6lN
n<=aANDbi -- generá térnrr¡c de prcducto ocuLto
Y<=mORci -- ge¡era su¡ra eri 1é salrda
B :ND ckl--;
t
trl(itjliA ¿.51 Señales intermedÍas en VÍIDL, descritas e¡ la iigura 2-49

se asigna (se conecta) a u¡ valor (m<=a AND b;) y después m se utiliza en Ia


instrucción de la línea 17 para asignar (conectar) un valor a 9 (9<:m OR ci).
Recuerde que las instrucciones de asignación son concunentes y no importa el
orden en el que se proporcionen. Para que los l¡umanos podamos leerlas, es más
lógico asignar valores a las señales intermedias antes de utilizarlas en r¡tras ins-
trucciones de asignación, como se muestra ar¡uí.

1" ¿CuáI es la designación utilizada para las señales intermedias?


2, ¿En dónde se declaran estas señales?
3. ¿Importa si la ecuación m o 9 se declara primero?
4, ¿Qué caracteres se utilizan pa¡a comentar una sola lí¡rea?

[18§L'MEN

1. El álgebra booleana es una herramienta matemática que se utiliza en el ¿uráli


sis y diseño de circuitos digitales.
2. Las operaciones booleanas básicas son OR, AND y NO'l'.
3. Una compuerta OR produce una salida en ALTO cuando cualqrrier entrada
esrá en ALTO. Una compuerta ANII produce una salida en AI,TO sólo cuando
todas las entradas están en AL'[O. Un circuito NOT (INVERSOR) produ(e
una salida que es el nivel lógico opuesto al de la entada.
4. Una compuerta NOR es igual que una compuerta OR con su salirla conectada
a un INYERSOR. Una compuerta NAND es igual r¡ue una compuerta ANI)
con su salida r:onectada a un IN\TERSOR.
PRoBr-.EMAS 91

5. Los teoremas v las redas booleanas pueden usarse pará simplificar la ex'
presión de un circuito lógico y pueden producir una manera más simple de
implementar el circuito.
6- Las compuertas NAND pueden usarse para implementar cualquiera de las
operaciones booleanas básicas. Las compuertas NOR pueden usarse en forma
similar.
7. Pueden usarse los símbolos alternativos o eslándar para cada compuerta
lógica, denendiendo de si la salida va a ser activa en ALTO o activa en B¡UO.
8. El retraso de propagación es eI tiempo entre la transición de una entada y la
respuesta resu lt ante dcl circu iro,
9. l,os lenguajes de descripción de hardware se han convertido en un método
importante para describir circuitos digitales.
10. El cédigo I{Dl, siempre debe contener comentarios que documenten sus ca-
¡acterísticas más importantes, de manera que cualquier persona que lo lea
después pueda comprender 1o que hace.
11. Toda descripción de un ci¡cuito en HDL contiene una definición de las entra-
das y salidas, seguida de una sección que describe la operación del circuito.
12. Además de las entradas y salidas, pueden definirse conexiones intermedias
inaccesibles desde fuera del circuito. A estas conexiones intermedias se les
conoce como nodos ocultos o señales locales.

TERMINOS IMPOBTANTTS

activa es ALTO instruccién de asi¡¡nación NODE


activa en IlA.lO concurreDte nodos ocLrltos (señales
álgebra booleana inversión (complementa- locales)
ARCHITECTURE ción) operació{i ANf)
a signada lergr¡aje de descripción operación NOT
tsIT de hardware de Altera operación OR
circuito NOT (INVER6OR) (AEDL) retraso de propagación
comentarios Ieuguaje de descripción de símbolos logicos alter rativos
compiladqr hardware (VHDL) para sintaxis
compuerta ANI) circuitos de muy alta SUBDESIGN
(]ompuerta NAN D velocidad (vHSIC) tabla de verdad
compuerta NOR lenBuajes de descripción teoremas bo!leanos
compuerta OR de hardware HDL teoremas de DeN{organ
concul rente modo tipo
dispositivos lógicos nivel lógico VARIABLE
programables (PLD) niveles lógicos activos
ENTITY no asignada

$)ttsB{-EMAS

l,as letras en negritas antes de algunos de 1os situientes problemas sefralan srr
naturaleza o tipo, de acuerdo con lo que se indica a continuación:

Ii problema Básico
I. problema de diagnóstico de Fallas
D problema de Diseño o modificación de circuito
N Nuevo concepto o técnica que üo se cubre en el libro
A problema Avanaado
II problema de HDL
92 CA0fTrJr.o 2lDnscRlpcróN DE Los cIRcUiTos LócIcos

§[cct0ru ?-3

2-1.*(a) Dibuje Ia forma de onda de salida para la compuerta OR de la figura


2.52.
nl (b) Suponga que la entrada A en la figura 2-52 se conectó a tier:ra en forma
inadvertida (es decir,,4 :0). Dibuje la forma de onda de salida rest¡I"
tante.
i; (c) Suponga que la entrada A en la figura 2-52 se pone en corto en forma
inadvertida con la línea de suminisrro de +5 V (es decir,.4 = 1). Dibuje
la forma de onda de salida resultante.
t:t(; t I(A ,:"i.¿

B B
c
C

2-2. Una compuefta OR de res entradas debería producir un 0lógico en su


salicla, pero en vez de ello produce un 1 lógico. ¿Cómo puede determinar
cuá1 de las tres ent¡adas es incorrecta?
,x 2-3, Lea las síEuientes aseveraciones con respecto a una compuerta OR. Al
principio tal vez parezcan válidas, pero después de analizarlas se dará
cuenta que ninguna es verdadera siemprz Demues¡¡e esto mediante un
ejemplo especÍfico para refutar cada aseveración.
(a) Si la forma de onda de salida de una compuerta OR es igual que la
forma de onda en una de sus entradas, la otra entrada se mantendrá
de malera permanente en llAJO.
(b) Si la forma de onda de salida de una compuerta OR siempre esrá en
ALTO, una de sus entradas se mantendrá de manera permanente
en ALTO.
!i 2-4. ¿Cuántas combinaciones distinras de condiciones de entrada producirán
una salida en ALTO en una compuerta OR de cinco entradas?

§ECCl0l't 2-4

2-5. Una compue.rta AND de tres entradas debería producir un 1 ló¡¡ico en su


salida, pero en ve¿ de ello produce un 0 lógico. ¿Cómo puede determinar
cuál de las tres entradas es incor¡ecta?
?'ti. Cambie la compuerta OR en la figura 2-5? por una compuerta AND.
(a)*Dibu.ie la forma de onda de salida.
(b) Dibuie la forma de onda de salida si la entrada á se conecra de manera
permanente a tierTa.
(c) Dibuie la forma de onda de salida si A se pone en corto cle maner¿r
permanente con +5 V.
1¡ 2-7.* Consulte la figura 2"4. Modifique el circuiro de manera que la alarma se
active sólo cuaodo la presión y la temperatura exceda¡r sus limites máxi.
mos al mismo tiempo.
2.8.* Cambie la compuerta OR en la figura 2.6 por una compuerta AND v dibujc
la forma de onda de la salida.
2-9. Suponga que tiene una compuerta desconocida de dos entradas, que puerle
ser OR o AND. ¿Qué combinación de niveles de enrada debe aplicar a las
entradas para determinar qué tipo de compuerta es-/
' Enco¡tra¡á las respuesla§ a los probleñras marcados coñ lrn asterisco al finaldet libro.
PRoBLEr,tAs 93

!l 2-10. Verdadero o /also.' sin importal cuántas entradas tenga, una compuerta
AND producirá una salida en ALTO para sélo una combinación de niveles
de ent¡ada.

sEcct0NEs 2-5 A 2-7

¡! 2-11, Aptrique la forma de onda.4 dela figura 2-23 a ia entrada de un INVER§OR.


Dibuje Ia forma de onda de salida. Repita el proceso para la forma de onda E.
ll 2.1,2. (a)*Escriba la expresión booleana para la salida .r en la figura 2-53(a).
Determine el valor de r para todas las posibles coldiciones de entrada
y liste 1us valores en una tabla de verdad.
(b) Repita el proceso para el circuito de la figura 2-53(b).
Irt(;f nA 2-5.¡
B

c
(a)

ü
(b)

§ 2-13.* Cree una tabla de análisis completa para el circuito de la figu¡a Z-15(b)l
para ello encuentre los niveles lógicos presentes en la salida de cada com"
puerrá, para cada una de las 32 posibles combinaciones de entrada.
t3 2.1+. (a)*Cambie cada compuerta OR por una compuerta ANI) y cada compuerta
AND por rna compuerta OR en la figura 2-15(b). I)espués escriba Ia
expresión para la salida.
(b) Complete una tat¡la de análisis.
ri 2-15- Cree u¡¡a rabla <le análisis completa para el circuito de la ligura 2-ls(a)i
para ello encuenrre los niveles lógicos presentes en la salida de cada com-
puelta, para todas las 16 posibles combinaciones de niveles de ent¡ada.

§ECCt0N 2-8

la 2.16. Para cada una de las siguientes expresiones, const¡uya eI circuito lógico
correspondiente, utilizando compuertas AND v OR e INVERSORES.
(a)*x = Aa(C + D)
(b)*¡=á+B+eDE)+EcD
1.¡ e= 1;r{T-N+FQ)
94 CAPÍ.ILJLo 2/DI.SCRIPC]Ó}i DÉ LOS CIRCUTIOS LóGICOS

(d)x:14¡+P0
(e)z:^4¡!r(P+Ñ)
(f) x: (á + B)(A+ 8-)

tü c= AC+ ee
(h) h: aB;¿E
slccrúN 2-E

11 2-77t(a) Aplique las formas de onda de entrada de la figura 2.54 a una com-
puerta NOR y dibuje la forma de onda de salida.
(b) Repita el procedimiento manteniendo C de nranera permanellte en
BAJo'
(c) Repita el procedimiento manteniendo C en ALTO.

t tGt RA :.5+
B

l
C

It 2-18. Repita el problema ?-77 para una compuerra NAND.


A 2-19.*Escriba 1a expresión para la salida de la figura 2.55 y utilícela para derer-
minar la tabla de verdad completa. Después aplique las lormas de onda
de la figura 2-54 a las entradas del circuito y dibuje la forma de onda de
salida resultante-

t,l (; t ttA :-§5


X
B

ll 2.?O- Determine Ia tabla de verdad pa¡a el circui.to de la figura 2-24.


l'', 2-?7. Modifique los circuitos que se construyeron en el problema 2.16 de maner.a
que se utilicen compuertas NAND y NOR en donde sea apropiado.

sEcct0ñt 2-10

L 2-22. Demuestre Ios teoremas (15a) y (l5b) probando rodos los casos posihles.
B 2.23.*PREGUN'TA DE E.IERCICIO
Complete cacla una de las expresiones,

(f) D.1 =
(g)D+0
&)c+e
(i) G+GF
$l V+tov
PRoBLEI"TAS 95

A ?-24. (a)*simplifique 1a siguiente expresión usando los teorema§ (13b), (3)y(4):


r=(M+m(M+P)(Ñ+F)
(b) Simplifique la siguienteexpresión utilizando los teoremas (13a), (8) y (6):

z=ABC+ABC+BCD
sEccl0t{E§ 2-11 Y 2-12
2-25. Demuestre los teoremas de DeMorgan probando todos los casos posibles.
^ll 2-26- Simplifique cada una de las siguientes expresiones usando los teoremas
de DeMorgan-

(a)*-ABe (d),4+B (g)*A(B + C)D


(b)1+8C (e)*,48 (h) (M + Ñ)(M + ¡¿r
(c)* ABCD (l).4+c+D 6) ñcD
R 2-27 lUse los teoremas de DeMorgan para simpiificar la expresión de salida de
figura 2'55.
1a
L 2-28. Convierta el circuito de la figura 2-53(b) en uno que utilice sólo compuer-
tas NAND. Después escriba la expresién de salida para el nuevo circuito,
simplifíquelo utilizando los teoremas de DeMorgan y compárelo con la
expresión para el circuito originai.
h. 7-29, Convierta e[ circuito de la figura 2-53(a) en uno que urilice sólo compuer-
(as NOR. Después escriba la expresión para el nuevo circuito, simplifí-
quelo utilizanclo los teoremas de DeMorgan y compárelo con la expresión
del ci¡cuito original.
tl 2-.30. Muestre cómo puede construirse una compue¡ta NAND de dos entradas a
partir de clns compuertas NOR de dos entradas.
t] 2-31. Muestre cómo puede construirse una compuerta NOR de dos entradas ¿r
partir de compuertas NAND de dos entradas.
A. 2-32. Un jet emplea un sistema para monito¡ear los valores de revoiuciones por
rdnuto (rpm), presión y temperatura de sus motores mediante e1 uso de
se{lsores que operan de la siguiente manera:
salida del senso¡ de RPM = 0 sóIo cuando la velocidad < 4800 rprn
salida del senso¡ P: 0 sélo cuando la presión < 220 psi
salida del sensor ?:0 s6lo cuando la temperatura ( 200 "F
La figura 2'56 muestra el circuito lógico que controla una luz de adver"
tencia en cabina para ciertas combinaciones de condiciones deJ motor.
Suponga que un nivel ALTO en la salida I4lacriva la luz de advertencia.
(a) *Determine qué condiciones del motor darán una adveneacia al piloto.
(b) Caurt:ie este circuito por uno que utilice sólo compuertas NAND.
trt()t:tiA.¡,56 S€nsor de
T
lemporatura
o
S€nsor Luz de
dé presión
adv€rtencla
R
Sensgr
d€ RPM

2-33. La cajuela de un automóvil se abre en una de dos for.mas: oprimiendo un


borón en 1a tapa de la cajuela u oprimiendo el borón de la cajuela en el
96 CAphrrr,o 2,/DEscRrpcrói\¡ DE Los clRcutros Lóütcos

llave¡o. Sin embargo, estos botones sélo abren la caj uela bajo cierras con-
diciones para fines de segurida<l y prorección, El diagrarla lógico de este
circuito se muestra en la figura 2.57.
trle L R,! ?.57 LI.AVERO

Moio r-snc€ndido

Cerrada Caluela_abieria
TAPA

FEslac

La salida es Cajue.la_abierta
Al-T0 activa Ia liberación del cerrojo y abre la cajuela.
Las entradas se definen de la siguienre manera:
Botón en tapa TAPA BAJO = no ALTO = oprimido
cajuela
de oprimido
Botón e¡r üavero LLAVERO BAJO * no ALIO = opr.in¡ido
oprimido
Condición de Cerrado Bajo = abierto ALI'0 = cerrado
segrr::os de puerlas
Freno de Fllstac Bajo = no AI-:[O = acdvado
estacionamiento activado
nlstado del motor Motor-encendido Bajo = apagado ALI'0 = enccndido
(a) Escriba las condiciones en español para abrir la cajuela.
(b) Escriba la ecuación booleana usando los nombres de las señales pro.
porcionados.
(c) Vuelva a dibuiar el circuito usando sólo compuerrás NAND (suponga
que tiene cornpuertas NAND cle hasta cuatro cntradas disponibles;.
2-34. EI ence¡dido remoto de un auto¡nóvil arranca el rnotor bajo cierfas con.
diciones. El circuito lógico se muestra en la figura 2'58. Las entradas se
definen de 1a siguiente manera:
rrt r:l rtA 2-5l,t Encéndido E

lvlotor_eneendido M Ananque

Remoto n
C€n'ado C

E Encendido Interluptol
de encendido en posición
START (INICIO) = ALTO
I\,f Motor-e¡rcendido \lotor [uncionando = ALT0
R Remotr¡ Botón de encendido Iemoto en
LLAVERO presionado = AIJ|O
A Cerrad<¡ Puertas cerradas = ALl0
(a) Escriba ia expresión booleana a partir del diagrama del circui¡o.
(b) Dibuje la tabla de verdad para esre circuito.
(c) .Escribi, la versión SOP no simplilicada ( usa¡¡do tOdos los lérminos de
prodüctos de cuatro variables).
PRoBLEMAS s7

(d) Use álgebra booleana para simplificar la expresión SOP en (c) de modo
que coincida con la expresión en (a).
(e) lrnplemeute este circuito usando sólo compuertas NAND'

sEücl0NIs 2-13 Y 2-14

ll 2"35.* Para cada una de las siguientes instrucciones, dibuje el símbolo de com'
puerta 1ógica (estándar) apropiado para la operación dada.
(a) U¡a salida en ALTO ocurre sólo cuando las tres entradas están en
BA.IO.
(b) Una salida en BAJO ocurre cuando alguna de las cuatro entradas está
en BAJO.
(c) Una salida acti,r,a en BAJO ocurre sólo cuando las ocho entradas están
en AL'[O.
lf 2-36. Dibuje las representaciones estándar para cada una de las compuertas
ióg,icas básicas. Después dibuje las representaciones alternativas.
A 2-37. Suponga que el circuito de la figura 2-55 es un candado de combinación
digital simple, cuya salida generará una señalI-BR/R activa en BA.]O para
sólo una combinación de entradas.
(a)*Modifique el diagrama del circuito de tal forma que represente la ope-
ración del circuito de una manera más efectiva-
(h) Use eI nuevo diagrama del circuito para de¡erminar la cornbinación de
entradas que activará la salida. Para ello, trabaje desde la salida y uti
lice la información que proporcionan los símbolos de las compuertas,
como se hizo en los ejemplos 2-22 y 2-23. Compare los resLrltados con la
tabla de verdad que se obtuvo en el problema 2.19-
,! 2'38. (a) Determine las condiciones de entrada necesarias para activar Ia salida Z
en la figura 2-37(b). Para ello, trabaje desde la salida, como se hizo en
los ejemplos 2-22 y 2-23.
(b) Suponga que el estado BAJO tle Z es el que debe activa¡: la alar¡n¿r.
Cambie ei diagrama del circuito para ¡eflejar lo anterior y después uti
lice el diagrama revisado para determinar las condiciones de entrada
necesarias para activar la alarma.
{¡ 2-39. Modifique ei circuito de la figura 2-40, de manera que se necesite que
lr :0 para producir LCD = 1, en lugar deA, = 1.
It 2-40.*Determine las condiciones de enÍada necesarias para hacer que la salida
en .la figura 2-59 cambie a su estado activo.

tf tGt.lt,\ 1.59

c
D

ti 2-41.*(a) ¿Crrál es el estado asignado para la salida de la figura 2-59?


(b) ¿Cuál es el estado asignado para la salida de la figu¡a 2-36(c)?
v, Z-42. Use los resultados del problema 2'40 para obtener la tabla de verdad com-
pleta para el circuito de la iigura 2-59'

I
9B CápirUl-o 2/f)EscRrpcróN DE Los cIRCUnos Ló(;tc{)s

2-43.* La figura 2'60 muestra una aplicación de compuerras lógicas que simula
un interruptor de dos vías, como lós que utilizanos en nuesros hogares
para encender o apagar una luz desde dos interruptores distinros. Aqui
la luz es un LED que estará ENCENDIDO (en conduccióIl) cuando la sa-
lida de la compuerta. NOR esté eu BAJO. Observe que esta salida está
criquetada como LiiZ para indicar que es activa en BAJO. Determine las
condiciones de enrada necesarias para encender el LED. Después verifi
que que el circuito opere co¡no uñ interruptor de dos vías, utilizanclo los
interruptores A y B (en el capítulo 3 aprenderá a diseñar circuitos cor¡o
éste para producir una ¡elación dada entre las entradas y las salitlas).

r)ttit'ti.\ l-i0 ,5V

,5V
i I
¿

r"uz
,5V
a
I L]

sEIcr0f{ ?-r5
¡, 2'44, Un inverser TTL 7406 tiene un tpü,, máximo de 15 ns y un ¿prl de 23 ns. Se
aplica a la entrada un pulso positivo que dura 100 ns.
1a.¡ Ilibuje las formas de onda de entrada y de salida. Aplique escala al eie
X de tal forma que e} tiempo final sea de 200 ns.
(b) Etiquete tp¡_¡¡ y tp¡¡¡ en el gráfico.
(c) ¿Cuál es la anchura del prrlso cle salitla si ocurre¡r retrasos tle pro¡r;i¡1ir-
ción del peor caso?

sfcüt0n¡ e-17
PRT§UNTA§ OE PRÁCTICA OE HOI"

11 2-45.'Verdadero o falso:
(a) VHDL e$ un lenguaje de programación de computadoras.
(b) YI{DI, puede hacer lo mismr: que AHDL.
(c) AHDL es un lenguaje del estándar IEEE.
(d) Cada intersección en una ma¡riz de conmutación puede programarse
como u circuito abierto o cerrado, entre un alambre de fila v uno de
columna,
(e) El primer elemento que aparece en la parte superior de u¡r listaclo de
HDL es la descripción fu¡cional.
(f) El tipo de un objeto indica si es una entrada o u¡ra salicla.
(g) lil modo de ur.r objeto determina si es una entrada o una salida.
(h) I"cls nodos ocultos son nodos que sr¡ han eliminado y que nunca se uti-
liza¡án rle nuevo.
(i) Las señales locales son otro nombre para las variables intermedias.
(j) lll encabezado es un bloque de comentarios r¡ue documentan informa-
cÍón viral sobre el proyecto.
RESpT]ESTAS A LAs PREGUNTAS DE EVA,LUACIÓÑ DE RESULTADOS 9S

§ECCrÓr,¡ ¿-18

li 2-46. Redibuje la matriz de conexiones programable de la figura 2"44,


Etiquete las señales de salida (líneas horizontales) de la mariz de cone-
xión (desde la fila superior hasta Ia fila inferior) de la siguiente manera:
AAABADHE. Dibuje una X en las intersecciones apropiadas para poner
en corto circuito una fila con una columna y crear estas co¡rexiones hacia
el circuito lógico.
l{ 2-47.* Escriba el código de I{DL en el lenguaje de su preferencia, para que pro-
duzca las siguientes funciones de salida:

X=A+B
Y=ÁB
Z=A+B+C
¡{ 2-48. Esc¡iba el código de HDL en el lenguaje de su preferencia, para imple-
mentar el circuito lógico de la figura 2-39.
(a) Use una sola ecuación booleana.
(b) Use las variables intermedias V, W, X y Y.

APTITACION OE MICFOCOMPUIAOORA

A 2-49.* Consulte Ia figura 2-40 en el ejemplo 2.23. Las entradas de á7 a Á0 son en'
tad"as de dirección que se suministra¡ a este circuito desde las salidas del
chip microprocesador de una microcomputadora. El código de dirección
de trcho bits á7 - á0 seleccioüa cuál dispositivo desea activar e1 micropro-
cesador. Én el ejemplo 2-23, el código de dirección requeridr: para activar
la unidad de disco era 47 - l¡ : 111111102 = FEle.
Modilique el circuito de manera que el microprocesador deba enviar
un cridig,o de dirección de 4A16 para activar la l,CD.

EJEECtC!0S AVAÍ\¡ZA!0S

2-50. Muestre cómo puede implementarse x = ABC con una compuerta NOR de
dos entradas y una compuerta NAND de dos entradas.
2-51.r Implemenre 9 = áBCD usando sólo compuertas NAND de dos entradas-

RESPUESTA§ A tAS PEEGUNTAS DE EVAIUACIOfi¡ DE flESULTACIO§

sEccrÓN 2.r
i. Constante; GNll 2. Variables: A, B 3. Vea e1 glosario

§ECCrÓN 2"2
l.x-1 2.x=0 3.32

sEccr0ñ 2-3
1. Todas las ent¡adas en BAJo. 2 x=A)-B+C+D+E+F 3. Nivel AÍ,TO consfante

sEccr0N 2"4
1. 'fodas las cinco entradas -.-1. 2. trna entrada en BAJO mantendrá la salida en
BAJO. 3. Falso; vea la tabla de verdad para cada compuerta.

sEccrÓN 2-5
1. La salida del segundo INVER§OR será igual que Ia entrada ¿. 2. 9 estará en BAJO
sóIopa¡a.4=B:1,
r00 Carlnr¡,o ¿/DEscRlpcIóN DE Los cIRculTos Lóclcos

sEcü0N 2-6
1.¡ =Á* B¡ C-lñ 2.r= D(iT +-e) rE
srccr0N 2-7

1.x=1 2,x--l 3. ¡ = 1 para ambos c¡sos.

sECCrúf{ 2-S
1. Vea la figura 2-15(a). 2. Vea la figura 2-17(b). 3. Vea la figura 2-15(b).

SECCl0f!¡ 2-9
1. fodaslasenr¡adasenBAJO. 2.x=0 J ¡-/*;imi
§ECCt0r{ 2-t0
l,s=¡Ó ¿.s= SAb 3.u=ÁD¡B»
sECCrÚ¡¡ 2-11
t.¿=ÁE ¡ C 2.g= (R = S + 7)Q 3. Igual que la figrrra 2-28, sóto qr¡e la com-
pucrra NAND se sLrstirrrJe por una compÜcna NOR. 4. g ÁAG - D¡

§EüCt0N 2-12
1. Tres. 2. El circuito NOR es más eficiente-. ya quejüede implememarse co¡ solo
tres compuertas NOR. 3. x = (,{B*)(eD) = ¡E + te-Dl = ¡lR - CD 4.3 5. 1

§ECCtÓN 2-13
1. La salida camlria a B^JO cuaDdo cualq¡rie¡ enrrada está en ALTO. 2, La salida
ca¡nbia a ALTO sólo cuando todas ias entradas están en BAJO. 3- La sali(¡a cambia
a EA.JO crando cualquier enlrada está en BAJO. 4. I-,a saiida cambia a ALTO jiólo
cuando todas )as entradas están en ALTO.

§ECCIÓr{ 2"r4
l.Zcatnbiar'á aALTO cuandoA= B=§yC=D-, 1 2. Z cambiará a BA"JO «:rrardo
A=B:0,8= I y C o D o ambas sean 0. 3.Dos 4.Dos S. BAJO 6,..4.='B:0,
C=r=1 ?.W
sEcciÓ¡¡ 2-1s
1. La escala de tiempo es en nanosegundos y se requiere una cantídad de riempo f)nira
para c¿mbiar estadós, 2. Desde el punro del 50% en la entrada hasta el prrnto del
50% en la salida. 3.¡r,rrr- 4.trul

sEc úf'¡ ?"16


1. Ecuación boolea¡ra, tabla de verdad, diagrama ló€dco, diagrama de tiempos. lenguaje.
2. Entrada esqremática de archivos.bdf:y simulación median{e diagramas de tiempos.

§rcCrÚt¡ z.r?
1.l"enguaje de descripción de hardware. 2. Pa¡a desc¡ibir un circuito digitai y su
operación. 3. Para dar a una compuladora una lista secuencial de ¡a¡eas. 4. Et
HDL describe los circuitos concurrentes de hardware; las instrucciones de computadora
se ejecutan ura a Ia vez. 5. Altera Córporation- 6. Depa¡tamento de Defensa de
Estados Unidos.

sEccrÓe 2-18
1. Dispositivo lógico progmmable. 2. Se cieman y se abren conexiones en una matriz
de conmt¡tación. 3. Traduce el código de HDL en un parrón de bits para cúnfigllrar la
r11atri, de conñur aciír¡.
R¡spuBst.As A LAS PREGUNTAS DB EvALUActóN DE REsul,TADos 101

sEccr0f{ 2-19
AHOI.
1. Las definiciones de enrada y de salida. 2. La descripción de cómo opera.

VH DL

1. Para dar un nombre al circuito y definir sus entradas y salidas. 2. La descripción


ARCHITECTURE. 3. <=

sEccléfu 2-20
AHOT
1. NODE, 2. Después cte la definición de E/S y antes de BEGIN. 3. No.
4. %. 5. ..

VHDt
1, §IGNAI 2. Dentro de ARCHITECTURE, antes de BEGIN. 3. No 4
I

,,,.1
.4.-.,,.

F
ITOS LÓGICOS
I ) NACIONALES

il CONTENIDO

J-1 Iorma de suma de ploductos I r0 Diagnóstico de fallas


Sirnplificación de circuitos de sistemas digitales
lógicos Fallas internas
Simplificación algebraica en los circuitos integrados
digitales
.l .1
Diseño de circuitos 1ógicos
combinacionales .t-l! Fallas externas
3.5 Método de mapas Diagnóstico de fallas
de Karnaugh en protofipos de circuitos
3-(; Circuitos OR exclusivo .l-14 Dispnsitivos lógicos
v NOR exclusivo prograrnatrles
.).7 Generador y comprobador Representación de datos
de paridad EN HDI,

.i-li Ci¡cuitos de habilitaciórr.1 J-1f) Tablas de verdad mediante


deshabilitación el uso de HDL
3-9 Características básicas l-17 Estrucfuras de control
de los circuitos integrados de decisiones e¡r HDL
digitales
E RESULTADOS DE!- CAPíTULO
Al finalizar este capítulo, usted será capau de:
r Convertir una expresión lóBica en una expresión de su¡na de productos,
I Realizar los pasos necesarios para reducir una expresión de suma de pro"
ductos en su forma más simple.
I Usar el álgebra booleana y el mapa de Karnaugh como her,ramientas para
simplificar y diseñar circuitos lógicos.
I Explicar la operación de los circuitos OR exclusivo v NOR exciusivo.
¡ Diseña¡ circuitos 1ógicos simples sin la ayuda de una tabla de verdad.
I Describir cómo implementar circuitos de habiiitación.
T Citar las caracterísdcas básicas de los circuitos integrados digitales TTL y ,,

CMOS.
I Utilizar ias reglas básicas de diagnósrico cle fallas de los sisremas digitales.
n Deducir las fallas a partir de los resuhados observados en circuitos lógicos
combinacionales.
I Describir la idea fundarnental de los dispositivos lógicos programables
(PLD, por las s\glas de programmable logic deuic¿s).
a Describir los pasos implicados en la program ación de un PLD para realiear,
una función Iógica combinacional simple.
I Describir los métodos de diseño jerárquico.
¡ Identificar los tipos de datos apropiados para las variables con valores de
un solo bit, arreglos de bits v numéricas.
r Describir los circuitos lógicos mediante el uso de las estructuras de control
de HDL ItslELSE, IF/ELSII'y CASE.
t Seleccionar la estructura de control de HDL apropiada para un probleoa
dado.

r INTRODUCOÓN

cas y utilizamos el álgebra booleana para describi¡ y analizar circuitr¡s formados ,,¡,.
cle combi¡aciones de compuerta.- lógicas. listos circuitos pueden clasificarse ri..lti,.itij:
como circuitos lígícos combittacionalx ya que, en cuarlrluier momento. el nivel -'
lógico de la salida depende de la combinación de los niveles lógicos presentes , :
en las er]t¡adas. Un circuito cc¡mbinacional o tiene caracf erística de memorid,i..,,',a.it: ,,, ti,
¡:or.lo que su salida depende srílo del valor actrral de sus enrradas. . .¡_..,ií..¡¡:.¡,i
En este cirpítulo conrinuaremos con nuestro estudio tlc los circuiros combi- : ._
nacionales. Pa¡a empezar, conoceremos más detalles sobre la sinrplificación de ' .
los circuitos lógicos. Veremos dos métodos: el primero utiliza los teoremas del r t'i_ll'
álgebra booleana; el segrrndo utiliza una técnic a de mapeo. Además, analizare- : i ' ',,.
mos técnicas simples de diseño de circuitos lógicos combinacionales para satis-
facer un conjunto dado de requerimientos. El estudio completo de] diseño de
circuitos lógicos no es uno de nuest¡os objetivos, pero los métodos que presenta" . ,.r::
¡ en¡os le btindarán una excelente inrroducción al diseño 1ógico.
104 CA¡i1flLo 3/CIRCU¡ToS LÓGICOS COMBJNACIONAIES

Una buena porcién de este capítulo está dedicada ai tema del diagnóstico
de fallas. Éste término se adoptó como una descripción general del proceso
de aislal un problema o falla en cualquier sisrema e identificar urta forma de
corre6iirlo- Las habilidades analíticas y los métodos eficientes de diagnóstico
de fallas se aplican de igual forma con cualquier sistema, ya sea a un problema de
conexión de tubería, un problema con su auto¡róvil, un ploblema de salud o un
circuito digital. Los sistemas digitales (que se implemenran mediante el uso
de ci|cuitos integrados TTL) han proporcionado <lurante déeadas un vehÍculo
excepcional para el estudio de métodos de diagnóstico de fallas eficientes y
sistemáticos. Al igual que con cualquier sistema, debemos conocer 1as carac"
teristicas principales de las piezas que componen el sistema para anaiizar de
manera efectiva su operación normal, localizar el problerna y proponer un reme-
dio. Prese¡taremos algunas de las características básicas y modos típicos de falla
de los circuitos integrados (CI) de compuertas Iógicas en las familias lógicas TlL y
CMOS que se utilizan con fuecuencia todavía pala la instrucción en laboratorio er
los cursos ir'ltroductorios de circuitos dlg,itales y aprovechcuemos esta tecnología
para enseñar al6,unos principios fundamentales cle diagnóstico de falla».
lln las últimas secciones de este capítulo ampliaremos nuestro cunocimic¡lto
scbre los dispositivos 1ógicos programables y los lenguajes de descripción de
hardware. Reforzaremos el concepto de ias conexiones de hardware progra-
mahles y brindalemos más detalles en relación con Ia Iunción clel sistema ¿le
desarrolLo. Usted conocerá los pasos que se siguen actualmente para el diseño
y desalrollo de los sistemas digitales. Le proporciorraremos suficiente infoÍm¿r-
ción para que pueda ele¡iir los tipos de datos correctos para usarlos en pmyec-
tos simples q ue presentaremos rnás adelante en este libro. Por últin¡o explicare-
¡uos varias estructuras de control junto con al¡¡unas instrucciones ¡el¿¡cionadas
con su uso apropiado.

3-1 TORMA DT SUMA DE PRODUCTOS

RESULTADOS
Al iínalizar xta sección, usted. será capc.z de:
I ldentificar la forma de una expresión de suma tle producros (SOP, por las
sig,las de sum-o/-pnrducts).
I ldentificar la forma de una expresión de producto de sumas {POS, por las
siglas de product-oi-sums).
Los métodos de simplificación y diseño de circuitos lógicos r¡ue esturliaremos re-
c¡uieren que la expresión lógica se encuenrre e¡r forma de suma dc productos ($OP).
Algunos ejemplos de esta forma son:
.ABE
7. ABC +
'¿. AB + Á8e + eD + D

J.ÁB.Cb+EF+GK+HL
Cada u¡ra de estas expresiones de su¡na de productos consta de tlos o más tér-
minos AND (productos) a los que se les aplica la operación OR. Cada término
AND consiste de una o más variables que aparecen de ma¡e¡a individual, ya sea
en forma complementada o no complementada. Por ejemplo, en la expresión de
suma de productos ABC + ABe, el primer producto AND contieue las vari¿rbles
/, B v C en su forma rro complementada (no invertida). El segundo término AND
contiene a A y C en su forma complementada (invertitla). Cabe seña.lar.que en
ura expresión de suma de productos, un signo de inversión no puedc cubrir más
de una va¡iable en un término (por ejemplo, no podemos tener IFf o RSt'1.

Pn¡tlucto de las sumas


Algunas veces se utiliza o¡ra fo¡ma gereral pa¡a las expresiottes lógicas efl el
diseño de circuitos lógicos. A esta forma se le llanra producto de las sumas (POS)
SEccróN 3-2/Sr{pltFrcacróN DE crRcurros LócIcos 105

y consta de dos o más té¡minos OR (sumas) a los que se les aplica una operación
AND. Cada té¡mino OR consiste de una o más variables en su forma com¡:lemen.
tada o no complementada. He aquí algunas expresiones de producto de sumas:

1.(á+B+C)(á+C)
2. (A + B)(e + D)F
3. rá + C)rB * DlrB + C)(,4 + D. E)

Los métodos de simplificación y diseño de circuitos que urilizaremos se basan


en la forma de suma de productos (SOP), por lo que no veremos muchos ejem-
plos con Ia forma de producto de sumas (POS). No obstante, de ve¿ en cuando
se presentará esta forma para algunos circuitos lógicos que tengan una cierta
eStructura.

1. ¿Cuál de las siguientes expresiones se encuentra en la forma SOp?

(a).48+CD+E
(b) AB(C + D)
(c) (.4*B)(C+D+fl)
G)'ÑÑ + PQ
2. Repita la pregunta 1 para la foma POS.

3-2 SIMPLIFICACóN DE CIRCUITOS LÓGICOS

RESULTADG§
Al iinalizar esta secci6n, usted será capaz de:
r Justificar el uso de la simplificación.
t Nombrar dos técnicas de simplificación para circuitos digitales.
Una vez qLre se obtiene la expresión para un circuito ló¡¡ico, podemos reducirla a
una forma más simple que contenga menos términos, o menos variables en uno
o más tórminos. Asi, la nueva explesión puede utilizarse para implemcntar un
circuito equivalente al circuito original, pero que contenga menos compuertas y
conexiones.
Para ilustrar esto, el cilcuito de la figura 3-1(ai puede sür¡plificarse para pro-
ducir el circuito de la figura 3-1(b). Ambos circuitos ¡ealiza¡ la misma lógica, por
lo que debe ser obvio que el más simple es más conveniente, ya que contiene

¡.1(:LrftA.J-! A me¡rudo es
posible simplitÍcat un A,BC
circuito lógico de lal forma B x AB(A I BC)

que en la parte (a) se c


produzca una irnplementa-
ción más eficieote. la cr¡al
(a)
se múestra en (b).

ffi C
B

C
(b)
x ABC
10$ CAliTUm 3/ClRCUlTos r"éGICos coMBTNAci0NALES

menos cómpue¡tas y, por lo lanlo, será más pequeño y econéfilico que el ofigirlal.
Lo que es más, Ia confiabilidad del ci¡cuito aumentar"á, ya qLre ha¡,, menos inter-
conexiones que pueden provocar fallas potenciales e¡: el circr¡ito.
Otra ventaja estratégica de simplificar los cir¿uitos 1égicos irnplica la veloci'
dad opr-:racional de ios mismos. En análisis anteriorcs vimos que las compuertas
1ógirirs están sujetas al retaso de propagaciór'r. Si se configuran circuitos.lógicos
prácticos dc tal forrna que los cambios lógicos en las entradas se propaÉiuen a
través de muchas capas de compuertas pará determinar la salida, posiblemi;ntc
rio puedan operar tan rápido como los circuitos con menos aapas de compuertas.
Por cjr;mp1c, compare los circuitos de 1a figura 3-1(a) y (b). En la figura 3,i(a).
ia ruta rnás larga que debe recorrer una señal implica tres compuerras. lir la
figrra 3-1(b), la ruta rüás larga de la señal (C) sillo impiic¿r ctos compuerttrs. §i se.r
irabaja para lle6iar a una Ior-rna común como E(JP o 1,OS se asegura ur retrtrso de
pro¡r;rgación simiiar para rodas tas señales en el sistema ¡, ayuda a determinar ia
máxima rrelr¡cidarl de cperación del sistema.
fin ias slgu.ientes secciones estudiale¡nos dr:s métorlo¡ para simplilicar los
cittuitos lógicos. Uno de ellos utiliza los teorernas de áigebra booleana y, como
veremos, depende mucho de ia inspiración v la experiencia. El ¿¡tro método
(mapeo de Karnai"rgh) tiene un enloque sistemático, paso a paso. Tal vez algunos
i.nstructores deseen omitir este último método debidr¡ a que es algo mecánico
¡r es posible que tro contribuya a una mejor comprensiíln del álgellra bo<¡leana.
listo puede hacerse sin afr:ctar la continuirlad o ta claridad del resto del libro.

l. Mencione dos vertajas de la simplificación.


Z, Mencione dos nrárodos dc simpliticacion.

3-3 SIMPLIF!CACIÓNAL[EBRAICA

RTSULTAOO§
Al finatizar esta secsién, usted será capaz de:
* Aplica¡ k¡s teoremas y prr:piedades del álgebra booleana para rcducir ex_
presiones br'¡oleanas.
§ Nlanipular las expresiones para que toruen ia foxma pOS o:i0p.
Pode¡ros utilüar los teoremas de iilgebra booleana que estudia.ntos an e_l capítulo ?
para que nos avuden a simplificar Ia expresirin para un circuito lógico. por dcs-
6yacia no siem¡:re es obvio cuáles reorernas deben aplicarse pará producir. ei
resultado rnás simple. Lo que es más, r.ro hay una mitner-a sr:n¿:ilia de saber si la
expresión simplificada se encuenn'a en su lorma más simple r: si todavía puede
sirnplificarse más. Por ende, la simplificació, algebr.aica se vuelve a menurlo un
proceso de pruglr¡¡ y er¡or. Sin embargo, con experiencia uno plede volyürse
uu ade¡:to para obtener resuitados bas¡ante razonables.
l"os ejernplos que se muestran a contin$ación ilus¡ra¡,¿ín muchas dc las r¡anr:-
ras en las que pueden aplicarse los ¡eoremas booleanos para tratar tle sim¡lifícar
una expresién. listos eiemplos contierlen dos pasos esenciales:

1. l,a expresión original se coloca er¡ farrna SOp mediante la aplicación repe,
tida de los teoremas de DeMorgan y la riultiplicación de los té¡minos.
Snccróil 3.3/SI¡,{pLri.rcacróN ALGEBRAIcA t07

2. Una vez que la expresión original se encuenffe en Ia forma SOp, se com.


prueba si hay factores comunes eu los términos de productos y se lleva a
cabo la factorización en donde sea posible. Esre proceso de factorización de-
berá ayudar a eliminar uno o más términos.

nEffiEf¡flrfn Simplifique ei circuito lógico que se muesrra en la figu¡a 3-2(a)

AC
A B(A c)

c
z ABC ,AB(AC)
R

ABC

(a)

kffi B

C
6,.
A(B r C)

(b)
rt{}tiRA ¡-¡ Ejemplo 3"1

§olr¡tióu
hil primer paso es deter"minar la expresión para 1a salida. utilizando el método
que §e presentó en la sección 2-6. El resultado es

z = ABC + ,48.(Á C)

Una vez que se dete¡mina Ia expresión, por lo general es conveniente descom-


poner tsdos los signos i versores grandes mediante el uso de los teoremas tle
DeMorgan y después multiplicar tndos los términos.

Z' ABC + AB(A + C) Iteorema (17)]


= u{BC + ¿E(e + C) Ise cancelan las inversiongs dobles]
= ABC + AEA + AEC Ise realizan las multiplicaciones]
=ABC+AE+AEC lA'A = Al
Ahora que la expresión se encuentra en la forma SOP, debernos buscar variables
comunes eno e log diversos términos con la inrención de factorizar. Los térrninr:s
primero y tercero de atriba tieneD a AC en corrrún, lo cual puede factorizarse asÍ:

;= AC\B + B) - A-B

ComoB + E = 1, entonces

z: AC(I) + AE
:AC+AÉ
108 C,\pi1.uLo 3/CIRCUrros LócIcos coMBINACIoNAIES

Ahora podemos Iactorizar A, lo cual produce

z=l(C+E)
Iiste resultado ya no puede simplificarse más- En la figura.S-2(b) se muestra la
implernenLación de su circuito. Es obvio que el circuito de la ligura 3-2(b) es
mucho más simple que el de la figura 3-2{a).

ruEEfntllü§ Simplifique la ex¡rresión z = áE e + AIiC + ABC.

Solucíén
La expresión ya se encuentra en la forma SOP.
Método 1: Los primeros dos términos de la expresión tiénen el producto .4jl
en común, Por 1o tanto,

z=AE(e+C\+ABC
= AE(1) + áBC
-AE+atc
Podemos factorizar la va¡iable A de ambos términos;

¡:A(a+AC)
Si invocamos el teorema (15b):

z=A(E+c)
Métoda 2; t,a expresión original es z = AEe + ABC + -4llC. I-os primeros dos
tér"rninos tie¡ren a AB en común. Los ú.ltimos dos tiener a.4C en cotrirn. . Córao
podemos saber si debemos factorizar áB dc los primeros dos términos, o.4C de
ios últim<-¡s dos términrrs? En realidad podemos hacer ambas cosas si utilizamos
el término ABC dos ueces. En oras palabras, podemos reformular la expresión de
la siguiente manera;

:=AEe+AIiC+ARC+rtBC
en donde hemos agregado rrn término -4BC adicional. Esro es válido y no carnbia
el valor de la expresién, ya que A.ilC - AEC =.48-C Jtrcorcma (7)1. Áhora poite.
mos {actorizar áB de los primeros dos términos y.4C de los riltimos dos:

z = Á§<c + ¿) +,lC(B + B)
=á.8.1+4C.1
=AE+AC=.4(il+C)
Desde luego que este resultado es el mismo que se obtuvr: con el método 1. Ilst()
truco de usar el mismo término dos veces puede usar.se siempre. De hecho, el
mismo férmino puede emplearse más de dos veces si es necesario.
SECCION 3.3/SIMPLIFICACIÓ¡I AI,GEBRATCA r09

Sinrplifique z = Ác<TnIi} + -AB?D + ABC.

Solución
Primero, utilizamos el teorema de DeMorgan en el primer término:

z-ÁC@+E+D) +ÁneD+¡BC (p¡rsol)

La multiplicación produce 1o si¡luienfe:

z = ÁCq + ÁcB + ÁCD + ABCD + ABc {l)


Como Z 'á = 0, se elimina el primer término:

z=ABc + ÁCD +ÁBeD + AEC {.}}

Ésta es la forma SOP deseada- Ahora debemos buscar factores comunes de


entre los dive¡sos términos de productos. La idea es t¡uscar el facro¡'común más
grande entre dos r¡ más términos de productos. Por ejemplo,los términos primero
y último tienen el factor común 66 y los términos segundo y tercero comparten
el factor común ÁD. Podemos facto¡izar es¡os tér'ndnos de la siguiente manera:

z = ECtÁ + t) + Áltrc + ae) (4)

Ahora,comoá +,4 = 1 yC + ¿e = C + Blteorema(15a)], renemosque


z:Bc+;D(B+c) (i)
üste rnismo resultado podría obtenerse si eligiéramos otros términos para
la factorización. Por ejemplo, podríamos haber factorizado C de los términos de
productos primero, segundo y cuarto en eL paso 3, para obtener:
z = C(ÁB + AD'AE) + ÁBeD

La expresión dentro de los paréntesis puede facrorizarse aún más;


z=ct$lA+Al + AD) +ÁneD

Y como á+A= 1, esta expresión se convie¡te en:

¡=c(E+ÁblrÁneD
Despuós de mu ltiplicar, nos queda
:=BC+AcD-ÁBCD
A¡oIa podemos factorizar ÁD de los términr-¡s se8undo y tercero para obte¡ler

¿-Bcr ÁDtc ¡sq


Si utilizamos el teorema (15a), la expresión entre paréntesis se coúvierte en B + C.
Por lo tanto, finalrnente queda

z=EC+AD(B+c)
Ir0 C,¡piTULo 3/CTRCUITos Lóctcos coMBrNACroNAr-Es

Este ¡'esulaado es el mismo que obtuvimos antes, pero nos llevó muchos más
pasos, Aq uí se ilustra la razón por la quc debemos buscar los faclores comunes
más grandes: por 1o general, nos llevará a la expresión final en menos pasos.

El ejcmplo 3-3 ilustra la frustracidn que se encuentra a menude en la sint-


plificación bt¡oleana. Como hemos llegado a la misma ecuación (que parece
irreducible) por dos métodos distintos, podría parecer razonable concluir
que esta ecuación final es la forma más simple. De hecho, la forma más simple
de esta ecuación es
z=ÁeD*BC
Pero no hay una manera aparente de reducir el paso (5) para llegar a esta versitin
más simple. lin este caso nos faltó una operación cn el proceso, la cuai nos poclría
haber conducido a la forma más simple. La pregunta es, "¿Cómo hubiéramos
podido saber que omitimos un paso?". i\lás adclante en este capitulo examinare"
mos una técnica de mapeo que siempre nos llevará a la forma SOP más simple.

üÍ?,r'Jñlttr Sinrplifiqtre laexpresiónx = (Á + (A+B+Dlti


§olutió¡r
La expresión puede colocarse en la forma de suma de productos mediante la
multiplicacién de todos los términos. El resultado es
*ÁtD
x:
-¿»»
+ ÁBD + + añ) + BBii + BDD

El primer término puede e.liminarse, ya que á4 = 0. De igual forma, los térmi


nos te¡cero y sexto pueden eliminarse debido a que DD = 0. El quinto término
puede sirnplificarse a BD. ya quc BB = B. Esto nos da

x=ÁBD+ABD+Bn
Podemos factorizar BD de cada término para obtener

r=ADI.A-+A-r1)
Es evidente que ei término dentro de los paréntesis siempre es 1, por lo que al
ultimo nos queda
x:Ai)

IlrnÍr.Jfif1ü Simplifique el circuito de la figura 3-3(a).

7 I
B _,\ B

(a) ib)
I:iiititaA .i"J Ejemplo 3-s
SEccIóN 3.4/DIsEÑo DE CIRCUIToS LÓGIcoS CoMBINACIoNALES 111

Solución
La expresión para la salida z es
z=(Á+B)(A+E)
Si multiplicamos para otrtener la forma de suma de productos, obtenemos

z . AA + ÁE + BA + BB
Podemos eliminar á-4 = 0 y BA = 0 para terminar con

z=AÉ+eB
Esta expresirin se implementa en la figura 3.3(b), y si la comparamos con el cir-
cuito original veremos que ambos ci¡cuitos contienen el mismo número de com-
puertas y conexiones. En este caso, el proceso de simplificación produjo un cir-
cuito equivalente, pero no más simple.

Simplifique x -,{BC +ÁBD +eD.


Soli¡cién
Si quiere inténtek¡, pero no podrá simplificar más esta expresion.

1. Indique ctuíles de las siguientes expresiones no se encuentran en la fo¡ma de


suma de productos:
(a) RST + n§f + 7
b) Ae:ó + ÁcD
(c) M.IYP + (M + Ñ)P
(d) A¡ + Áte + ¡Ee»
2. Simplifiquo el circuito de la figura 3-1(a) para obtener el circuito de la figura
3-1(b).
3. Cambie cada compuerta AND en la figura 3-1(a) por una compuerra NAND.
Determirre la nueva expresión para x y simplifíquela.

3.4 DISEÑO DE CIRCUITOS LéGICOS COMBINACIONALES

RESULTADOS
Al Íinalizar esta sección, usted serd capq. de:
r Diseñar un circuito de manera sistemática para realizar cualquier función
1ógica de hasta cuatro variables.
I Listar los pasos del proceso de diseño.
Cuando se da el nivel de saiida deseado de un circuito lógico para todas las positles
condiciones de entrada, los fesultados pueden mostra¡se de manera conveniente
en una tabla de verdad. La expresión booleana para el circuito requerido pue
de entonces derivarse de la tabla de verdad. Por ejemplo, considere la figura 34(ai),
en donde se muestra la tabla de verdad para un circuito que tiene dos entradas -¡l
y B, y la salida r. I-a tabla muestra que la salida x estará en el nivel 1 srilo para el
112 CApiTULo 3lClRCUr"ros Lócrcos coMBrNACroNAr-Es

l:l(;t lt.l .l-l Ci.c!,ito B


que prodr¡ce una salida 0 c 0 Á
de 1 scilo para la 0 1 1
)i AB
condicién en la que 1 0 0
B
4=0yB=i. 1 1 0

(a) (b)

caso e¡r el que A = 0 v r, = 1. Ahora lo quc resra cs detelminar qlré circuito lógico
producirá esta operación deseada. Debería ser el¡idente que una dc las posihles
solrrciones es la qüe semLrestra en la figura .i'4(b). Aquí se utiliza un¿ compt¡Érta
AND con las entradas Z .y B, de manera que x : Á'8. Es obvio tlue.¡,- será 1 sdlo si
ambas ent¡adas de la com¡ruerta AND son 1; a saber, á = 1 (lo cual signilica que
.a = 0) y B = 1. Para todos los demás valores de .4 y B, la salida x será 0.
PLledc rtsarse un enfoque similar para 1as demás condiciones de entrada. Por
ejcmplo, si ¡ fuera a estar en nivel AL1'O sólo para la condiciiin.¡l = 1, I -- 0, el
circuito resultante sería rtna compuerta AND con enrradas ¡l y l?. t)r otras pala-
bras, para cualquiera de las cuatro posibies condiciones dc entracla, podenros
gencrar una salida x en nivel ALTO mediante el uso de Lrra cornpuerta AND con
las entradas apropiadas para Benerar el producto AND rerluerido. En la figura
3-5 se muestlan ]os ctratro casos. Cada u¡ra de las compnerras AND que se mues"
lra É,enera una salida qr'le es ALTO.srilo para una condición de entrarla dada v la
salida es BA"[O para tt¡das las dernás condiciones. Hay que rccalczrr-que las entra-
<las AND son invertidas o no invertidas, dependiendo de los valores que te¡lgan
las variables para la condición dada. Si la va¡iable es BAJO para la condición
dada, se invierte antes de enlra¡ a lá comprrerta ANII,

I¡I(it Ri .l-ri U¡a


comp erla AND con I8s AB A 0.8 0
entrndas apropiadas puede { ALTO sólo cuando
B
usa¡'se para producif una
salida de niYel ALTO para
trn co¡rjunto especifico de ÁB { ALTo séto cuarido A 0,8.1 )
rriveles cle entrada. B

AE {ALTo sólo cuando A '. 1.B o}


B

AB
{ALTo sólo cuando A 1.8.i}
B

Ahora consideremos el caso que se ¡iluesrr¿r en la figura 3-6(a), en dontle


tene'mos una tabla de verdad que indica que la salida x debe sel. 1 para tlos casos
distinros: ,4 = 0, B = 1v,,i=1, I=0, ¿Cór¡o puede implementarse esto? Sabemos
que el término AND Z. 8 generará un 1 sólo para la conclición .4 = 0, .B = 1, y quc
el tér¡rrino AND A.A generará un 1 pala la condición A= !, ts = 0. Como ¡:1
para ctnl quiera de esas condiciones, debe r¡uedar claro que es lecesirrio aplicar
una operación OR a estos térn¡inos para producir la salida.x deseada. Dsta imple"
ntc¡¡tacií¡n se fnuestra en la figura 3"6(b), en donde 1a expresión resultante par-a
Ia salida es r : dA + eE.
En este ejemplo se genera urr término AND para cada caso eu la tabla d<.¡nde
la salida;r = 1. Después se aplica un OR a las salidas de la compuerla AND para
produci¡ la salida total x, que será 1 cuando cualquiera dc los térrninos de la ope"
ració:r ANlf sea 1. F,s¡e mis¡To proer:dimi.:rrtr, puedc oxtonrlr'rs<, a los c.ienrplos
con más de cios entratlas. Considere la tabta de ve::dad para un circrrito dc tres
StrccróN 3-4/DrsEño DE clRCUrros Lócrcos coMBrNAcro¡JAr.Es 113

lf tCL ftA .l-6 Cada


conjr¡nto de condiciones ÁB
de entrada que debe
producir {¡rla salida de 1 B E
x AB rAB
seimplelnenta mediante 0 0 0
una compuerta AND 0 1 1
,1
1 0
separad¿. se aplica una AB
1 Í 0 B
operación OR a las salidas
de Ia compuerta AND para
{a) (b)
producir 1a salida final.

enuadas (tabla .1"1). AquÍ hay tres casos en donde la salida x = 1. Se muestra el
término AND requerido ¡rara cada uno de estos casos. Obser.ve rruevarnente que
para cada caso en el que una variable es 0, ésta aparece invertida en el té¡ mino
AND. La expresión de suma de productos para ¡.. se obtiene aplicando una opera-
ción OR a los tres términos AND.
x=IBe+ÁBC+ABc
TARLA 3-1 Generación A B c x
de términos AND.
000 0
001 0
010 1 -- Árt.
0ll 1
- ÁBC
100 0
1 0 1 0
1 1 0 0
1 1 1 1 *ABC

Procedirniento completo de diseño


Cualquier ploblema 1ógicó puede resolverse mediante el uso del siguiente pro-
cedimie¡rto paso a paso:

1. Interprete el problema y establezca una tabla de verdad para describir su


operación.
2. Escriba cl término AND (producto) para cada caso en el que la salida sea 1.
3. Escriba la expresión de suma de productos (SOP) para Ia salida.
4. Simpliiique la expresión de salida, si es posible.
5, Implemente el circuito para la expresión final simplificada,

El si6uiente ejemplo ilusrra el procedimiento completo de diseño.

rcEffi Diseñe un circuito lógico que tenga tres enradas .1tr, B y ü, y crrya salida esté cn
ALTO sólo cuando la rnayor'ía de sus entradas estén en ALTO.

Solur:ión

l'¿rso 1 Es¡ablezca Ia tabla de verdad

Con base en el enunciado del problema, ia salida ¡ deberá ser I siempre que
dos o más enfradas sean 1; para todos los demás casos, la salida deberá ser 0
ttabla 3-2).
t14 CAfiltILo 3/CIRCUIToS LÓGICOS COMBINACIONAI,ES

TABLA 3-2 Ejemplo 3-7:


tabla de verdad con términos ABC x
AND. 0 00 0
0 0 1 0
0 1 0 0
0 1 1 1 rlR
I 0 0 0
0
1 1 1
- ABC
I 1 0 1 *,48C
1 'I 1 I

tr,¿¡so f," Escriba el término AND para cada caso er, el que la saiida sea un 1.

I-lay cuatro casos así. Los términos AND se muestran enseguida cle l¿r tatrla tle
verdad (tabla 3-2). Observe de nuevo que cirda tér¡rino AND contiene cad¿ varia-
ble de entratla en su forma invertida o no invertida.

l'¡¡sr¡ .1. Escriba 1á exp¡esión de suma de productos para la salida.

x=ÁaC+ÁEc+ABC+ABC
l'aso .1, Simplifique la expresión de salida.

lista expresiórr puede simplificars€ de varias formas. Tal vez lir nrás rápida sea
considcrar que el último término ABC tiene dos variahles en cotnún con cada uno
de los otros términos. Por ende, potlemos usar el término ABC para factorizarlo
con cada uno de los demás términos. La expresión se reformula de mancra que
el térmjnr: rtrIlC ocurra tres yeces (recuerde del ejemplo 3-Z t¡uc es posible hacer
es¿o en el álgebra booleana;:

x -- ÁBC + ABC + AEc + Atlc + ABe + .ttlc


Si factorizamos los pares do tárminos apropiados, tenemos que
x= BC(Z + $ + ACIB+ B) +ÁB(C. C)

Cada término en paréntesis es igual a 1, por lo que nos quecla


x:BC+AC+AB
I'lso 5. Impiemente el circuito para la expresión find.

Ésta expresií;n se impleuenta en Ia figura 3-7, Como la expresión sÍ: en¡luenLra


cn la forma SOP, el circuito consta de un grupo de corn¡ruelras ANn) conccr¿rdas
con uu¿r sola coupuerta OR.

I.'¡CtrltA :1,7 Ejemplo 3-7. B


BC
C

x BC,AC{AB

AS
SEcc¡óN 3-4lD¡sEño DE crRcurros Lóclcos coMBrNActoNArEs 1r5

Consulte.la figura 3-8(a), en donde un convertidor analégico.digital está moniro"


reando e.l voltaje de corriente directa (Vs) de una baterÍa de almacenamiento de
12 V en una nave espacial en órbita. La salida del convertidor es un número bina-
rio de 4 bits identificado como.48CD, que corresponde a1 voltaje de la batería
en intervalos de 1 V, en donde á es el MSB. Las salidas binarias del converridor
se alimen¡an a un circuito lógico que debe producir una salida en ALTO siempre
y cuando el valor binario sea mayor que 01102 = 610; esfo es, que el vohaje de la
batería sea mayor que 6 V. Diseñe este circuito lógico.

[rs B B c D z
(0) 0 o 0 o o
Converfdor
g* analégico-
dlgilal
B
C
D
c
Clrculto
lógico
z (1)
(2)
0
0
0
0
o
1
1
0
0
o
-_-}
--_-> LS8
D (3)
(4)
o
0
o
1
'I

0
I
0
0
0
(a) (5) 0 'I
0 1 o
0 1 l 0 0
o 0 1 1 I ABCD
(8) 0 0 0 1- ABÓÓ
(e) 1 0 0 1 1- A6.D
Z AIBCD {10) 1 0 1 0 1r AgcÓ
(11) 1 0 1 1 1 ,. ABCD
B
(12) 1 o 0 1-- ABó-ñ
C
(1s) 1 1 o 1
't- ABÓp
D (14) 1 1 1 0 1" ABCt)
(15) 1 1 1 1 1- ABCD
(c)
(b)
l'I{it ll¡l 3.ti Ejemplo 3.8

§ok¡citin
La tabla de verdad se muestra en la figura 3-8(b). Para cada caso en la rabla de
verdad hemos indicado el equivalente decimal del número binario represenrado
por la combinación ABCD.
La salida z es igual a 1 para todos aquellos casos en los que el número binario
sea mayor que 0110. Para todos los dernás casos, z es igual a 0. Esta rabla de ver"
dad nos da la si¡iuiente expresión de suma de productos:

z = ÁaCD + AECD + AECD + AB;D + AESD + ABCD


+ ABED + ABCñ + .ABCD

La simplificación de esta expresión implica muchísimo trabajo, pero con un poco


de cuidado puede lograrse. El proceso paso a paso implica factorizar y eliminar
rérminos de la forma A + -4:

z* ÁBCo-t ABe@ + D) +
-ABCD .
+ D + AB1(D + D) +.48C(Dr D)
= ABC + AEC + ABC + ABC
^BC(D
= ÁBCo * AE(e . C) + Aa(C * Cl
.. Ágcn + A8 .+ AR
= Anco +,4(E + B)
= -dnCA + A

Esta expresión pLede reducirse aún más si aplicamos el teorema (15a), el cual
nos dice que r + .r9 = x + 9. En este caso x = A y g = BCD. Por lo tanto,

z=ÁBCD+A:BCD+A
F,sta expresión final se impiementa en Ia figura 3-8(c)
fi6 CapfTr.r,o 3lcmculTos LócICos coMRINAcloNAl,És

Como lo demuesra este ejemplo, el métódo de simplificación algebraic:I


puede ser bastante largo cuando Ia expresión original contiene un gran ntimer,;
de términos. flsta es una limitación que no comparte e1 método de mapco d,r
Karnaugh, como veremos más adelante.

Ol¡serve la figura 3-9(a). En una copiadora simple. sr: debe Sener¿Ir una seiral do
paro 5 para detene¡ 1a operacién de la máquina y encendel una lttz indicatlo¡ir
cad¡r vez que exista u¡ra de }as siguientes c<¡ndicion.is: ( 1 ) ctue no haya ¡:apel elt
la bandeja alimentadora; o (2) que se activen los dos microinterruptores en lir
ruta del papel, 1o cual indica ur atasco. La presencia de patrrel en la bandeja ali-
rnentadora se indica mediante un nivel ALTO en la señal lógica P. Cada mieroin.
terruptor 1rr-oduce una señal Iógica lQ,¡ R, respectita,"ente) qtte cambia a ALTCI
cada vez que el papel pasa por el interruptor y lo activa. Diseñe el circuito lógicr,
para producil un nivel ALTO en Ia señal de salida S para las co¡ldiciones an!c¡;
mencionadas, e impieméntelo utilizando el chip con cuatro compucrtas NANt,
de dos cntradas 74llC00 CMOS.

Sonsor d€ P
bandeja F P ori
aihenladora S
Circuito
,5V lóg¡co
a o
lnlernrptors§ 1k(l u
pará
detección
ib)
de pápel ti

I krl

(ai

OR

s S P'ON

ANt)
o o
R R

(c) (d)
!r ¡(: t'ti.\ l-, f":jemplo 3-9

Solucióu
Utilizaremos el proceso de cinco pasos indicado en el ejemplo 3"7. La tabla <je
verdad se muestra en la figura 3'3. La salida será un 1 lógico siempre que p = 0,

ya que esto indica que no hay papel en la bandeja alimentadora. .s también será
un 1 para los dos casr¡s en los que 0 y R sean ambas 1, lo cual indica un atasco
de papel. Crlnlo la tabla indica, hay cinco condiciones de entrada distintas que
producen una salida en ALTO. lp¿¡r¡ 1)
§ECCIÓN 3-4/DIsEÑo DE cInculTos LÓGIcos CoMBINACIoNALES r17

TABLA 3.3 Ejemplo 3.9: tabla


de verdad con términós AND, P o F s
0 00 1 FOF
0 0 1 I POR
0 1 0 I Pon
0 '|
1 I PoR
1 0 0 0
1 0 1 0
1 1 0 0
1 1 I 1 PQX

Sc muestran los términos AND para cada uno de estos casos. (Prrso l)
La expresión de suma de productos sería

s = PoR + FpR + Peri + peR + poR illaso 3)


Podemos e¡npezar Ia simplificación factorizando Fp de los términos 1 y Z, y fac-
torizando PQ de los térrninos 3 y 4;

§ = po(R + R) + -po(F + R) + poR

A.hora podemos eliminar los térrninos ñ + Ii ya que son iguales a 1:

s=P0+PQ-PQR
Si factorizamos It de los térrninos 1y 2 podemos eliminar Q de estos tér¡ninos:

s=F+PoR
Aqui, potlemos aplical el reorema (15b) (i + x9 = i + 9) para obtener

S=P+ 0R it,irso.ti
Como u¡a comprobación adicional de esta ecuación booleana simplificada,
veamos si concuerda con la tabla de verdad con la que cornenzamüs. Esta ecua-
ción dice que la salida S estará en AIJO siempre que P esté en BAJO OR ct¡a¡rdo
Q AND R estén en ALTO. Consulte la tabla 3"3 y observe que la salida está en
A,LTO para los cuaro casos eñ los que P está en BAJO. S también está en AL'IO
cuando Q AND R están ambas en ALTO, sin importar el estado de P. Lo anterior
concuerda con la ecuación.
La implementación AND/OR para este circuito se muesra en la figura 3-9(b).
( l'a¡o 5)
Para implementar este circuito usando ei chip NAND de dos entradas 74HC00
cuádruple, debemos convertir cada una de las compuertas y el INVERSOR en
sus compuertas NAND equivarlentes (cr¡n base en la sección 2-12). Est<-r se mrres
rra en la figura 3-9(c). Es evidente que podemos eliminar dos pares de inversores
dobles para producir la implementación con compuertas NAND que se muestra
en Ia figura 3-9( d).
El circuito alambrado final se obtiene mediante la cc¡¡rexión de dos <le las
compuertas NAND en el chip 74HC00. Este chip CMOS tiene la misma configura-
ción de compuertas y los mismos núme¡os de terminales que el chip 741,500 TTL
de la figura 2-31. La figura 3.10 muesra el circuito alambrado con números de
terminales, incluyendo las terminales +5 V y tierra (GROUND). También incluye
un transistor excitador de salida y un LÉD para indicar el estado de la salida S.
f't8 CÁriTl:Lo 3/CrRCUn os LóGlcos (:olrltstñACIoN¡\I-ES

l.li;l &,\.t-11) Circuito ,5V


pa.a la fi8ura 3-9(d.)
implementado mediallte
el uso del chip ¡§AND
74r I C00, Circuito 100 f)
controlador
74UCO0 14
d€l LED ,á
.1

e 5 33 kf')

o 1

:)
n 2

Nola: las ohas dos compuealas


74HC00 6n gl chip no sstán
isl coñectadas.

1, Escliba la ex¡rresión de suma de productos para un circuito con cuaü'o enü'a-


das y una salida que debe estar en ALTO sólo cuanclo la entr.ada A esté en
BAJC.I al mismo tiempo que dos de las oras entradas estén en BAJO.
2. knplemente la expresión de la pregunta 1 utilizando sól: compuertas NA§D
de cuatro entradas. ¿Cuántas se requieren?
3. Mencione los pasos ilel proceso cle diseño sistemático.

3-5 MÉTODO DE MAPAS DE KARNAUGH

RESUI-TADOS
Al fi¡t{.lizar esta secciófi, usted será c<tpaz tle:
r ldentificar las condiciones "No importtr" y usarlas en tablas de verdad.
¡ Usar mapas K para generar Ia forma SOp más simplc a partir de una tabla
de vc¡ dad,
El mapa de Karnaugh (mapa I() es una hcrramienta &ráfica que se utiliza par?l
simpiificar una ecuación lógica o convertir ula tabla de verdad en., co*.spo,r.
diente circuito ló¿1ico mediante un proceso sirnple y ordenadó. Aunque un mapa K
puede usarse para problernas en los que se involucre cualrluier número de viria"
bles de cnrrada, su r¡tilidacl prácrica está lirnitada a cinco o seis variat¡les. El
siguiente análisis se limitará a problemas con un máximo de cuatrcl entra.las,
ya que los problemas con cinco o más entradas son demasiado compl.icados y se
¡esuelven mejor n¡ediante el uso de un programa de computa<Jora,

[ir¡l'mi¡tt¡ do] ]napil d<: Kal:niiug]r


Al igual que una tabla de r.erdad, el mapa K es un medio para mostrar la relación
entre las entradas 1ógicas y la salida deseada. La figura 3"11 muestra tres ejern-
plos de mapas K pala dos, tres y cuatro variab.les, junto con sus corresponclientes
tablas de verdad. Estos eje¡nplos ilusffan los siguientes pnntos importanres:

1 - La tabla de1 verdad proporciona el varlor dc Ia s¡¡lida x pala cad¡l cor¡tbirraciófi


de valores de cntradu, lil nrapa K pro¡rcrciona la rrrisma i¡rformación en un
SEccróN 3-s/MÉToDo Dg MAp s DE KARNAUGTI 119

Il(;LrRÁ 3-11 Mapas ¡i B


de Karnaugh y tablas de B x
v€rdád para (a) dos, 0 0 1 Á5 1 0
(b) tres y (c) cuatró 0 1 0 x.ABrAB
Ya¡iables, f 0 0 0 1

I 1 1
-AB
(a)

C c
I C x
AB
0 0 0 '1
- ABC 1 1

0 0 1 1
- ÁEc
0 1 0 1 Ásó ÁB l 0
o 0 X ABC I ABC
1
1

0
1

0 0
",
+ABC + ABC ]
) AA 1 0
1 0 1 0
1 1 0 1 AB6
1 I 1 0 AB 0 f)
{b)

B c D x
0 0 0 0 0 CD CD CD CÓ
0 0
0 0
0 1
0
1

0
- ABCD
AB rl
1 0 1 0
o o 1 1 0
o 'I 0 o o
AB o 1 0 o
o 1 o 1 1 ABCD x .., ÁBCD r ÁBaD
0 1 1 0 o l AB.D ABCD I

0 1 I 1 o AB o 1 1 0
l
'1 o 0 0 0
I
, o 0 1 0 AB 0 I o 0 0
1 0 1 0 0 I

1 0 1 1 o
o o 0
0 J I* ABóO
1 0 o
'| 1 I - ABCD

(c)

formato distinto. Cada caso en la tahla de verdad corresponde a una casilla


en el mapa K. Por ejemplo, en la figura 3-11(a) la condición ¡{ = 0, B = 0 co-
rresponde la casilla,{B en el mapa K. Como la tabla de verdad mues¡ra X:1
par.r este caso, se coloca un 1 en la casilla i{B del mapa K, f)e manera sinilar,
la condición ,4 = 1, B = 1 en la tabla de verdad corresponde a la casilla ,AB del
'l
mapa K. Comú X = 1 para este caso. se coloc¿r un en la casilla dl}. Todas las
demás casillas se llenan con ceros. Esta misma idea se utiliza en los mapas
con tres y cuatro variables que se muestran en la iigura.
2. Las casillas del mapa K se etiquetan de manera que las casillas adyacentes
en forma horizontal difieran sólo pol una variable. Por ejemplo, tu,ggql-iq
rle la esquina superior izquierda el el mapa de cuatr-o variables cs áICD,
rnieütras que la casilla que se e;rrcuentra justo ¿r su de.ccha es T Iiel) 1s,ilo 1¡
variable D es distinta). De manera similar, las casillas adyacentes verticales
sólo difieren por una variable. Por ejemplo, la casilla de la esquina srperior
izquierda es ÁÍieD, mienuas que la casilla que está justo debajo es ÁBei)
(sólo la variahle B es distinta).
Obsc.rve que cada casilla en la fila superior se considera como adyaceutÉ
a una casilla correspondiente en la fila inferior Por ejemplo, la casilla ABCD
en la fila superior es adyacente a 1a casilla ABCD en la fila inferior, ya que
sélo difieren por la variable A. Podemos considerar que la parte superior del
120 CAPiT(,to 3/CIRCUIToS LéGIcoS CoMBI}¡ACIoNAI.ES

mapa se dobla para tocar su parte inferior. l)e manera similar, las casillas de
la columna más a la izquierda son adyacentes a las correspondientes en la
columna más a la delecha.
3. Para que las casillas adyacentes cn forma vertical ,v horizontal difierat sókl
por una variable, el etiquetado de arriba hacia abajo debe ¡ealiza¡se en el
orden mostrado: Á8,Á8, AB, AE. Lo mismo aplica ¡rara el etiqrretado de i:r-
quierda a derecha: CD,-CD, CD, CD.
4. Una vez c¡ue se ha llenado un mapa K con celos y unos, puede obtenerse la
expresión cle suma de productos para la salida X rned.iante ia aplicacién de
la operación OR a todas las casillas que co¡¡tengan un 1. Fln el rnapa de tres
variahles de la figura 3,1{b), las casillas ÁB-e, ABC, ÁBe y áBC conrienen
un l, de manera qúeX = AEe + AEC+ ÁBe + ABe.

Agnrpamiento
La cxpresión para la salida X puede simplificarse medianre la combinación aprc -
piada de las casillas en el nrapa K que contengan unos. Al proceso pala combinar
estos unos §e le conoce como agrupamiento.

Agrupanriento de pales (gntpos de dos)


La figula 3-12(a) es el mapa K para cierta tabla de verdad cie tres variables.
Este mapa contiene rln par de unos que son adyacentes en forma vertical; el pr.imcro
representa a ÁAe y el segundo a ABe. Observe que en esros clos térrninos. sókr
la variable ¿ aparece tanto en forma normal como complementada (invertida),
mientras que I y e permanecen sin cambios. Estos dos términos pueden agru.
parse (combinarse) para obtener un resultante que elimine la variable A, ya

l l(;t R \ .1.I2 Ejemplos ó C


de agrtrpamientos de
pares de unos ÁÉ 0 0 ÁB 0 o
ad\,acentes.
Áe 1 t) ÁB 1 1
x -. Áaó , eaó x,ÁBó,ÁBC
AB 1 o AB ÁB
0 0

A6 0 0 AB 0 o

(a) (b)

ó,c CD óo CD CD

AB
V 0 AB 0 a
Itr
Áác

AB 0 o Áe 0 0 o 0 X ÁácD ABCD
X ABC I ABC BC r eecó nácó
AB o 0 AB Á6c
0 C 0 0 AiiD

AB
ft 0 Aé 1) 0 c (
(d) ABD
ic)
SECcró{ 3.5/MÉToDo DE MA-pas D{i KARNAUGT.T 121

que aparece tanto en forma complementada como no complementada. Es fácil


demosrrarlo de la siguiente manera:

X: ÁBI, + ABE
= ae(Á + ál
= Be(1) = Be
Este mismo principio se aplica para cualquier par de unos adyacentcs en
forma vertical u horizontal. La figura 3-12(b) muestra un ejemplo de dos unr¡s
adyacentes en folma horizontal, los cuales pueden agruparse y la variable C
puede eliminalse. ya que aparece tanto en su fonna nt¡ com¡rlementada como en
su forma complcmentada. para obtener un resultante de X = á8.
La figura 3-12(c) muestra otro ejernplo. En un mapa K, la fita superior y la
fila inferior de casillas se consideran adyacente§. Por ende, los dos unns en este
mapa pueden a8ruparse para obtener un resulranre de áBf + AbC : Be.
La figura i)-12(d) muesta un mapa K que tiene dos pares de unos que pueden
agluparse. Los dos unos en la fila superior so¡r advacentes en forrna horizurtal
Los dos unos en Ia fila iriferior también son adyacentes ya que, en un mapa K la
coiomna más a Ia izquierda y la columna más a la de¡echa se considera¡ adyacen-
tes- Cuando se agrupa el par de unos de la parte superior, se elimina la variable I)
(ya que aparece como D y como D) para prodmir el término,{8C- A} agrupar el
par de la parte inlerior se elimina la variable C para producir el término .48ll.
Después se aplica una operación OR a estos dos términos para obtenel el resul-
tado final para X.
En resumen:

Al agrupal un par de unos adyacentes en un mapa K se elimi¡¡a la va-


riable que aparece tanto en forma no complementáda como en forma
cornplemetrtada.

Agruparnienlo de g,r:r¡pos de cu¡rtro (c:uádru¡rles¡


Un mapa K puede contener un gxupo de cuatro unos que sean adyacentes. A este
grupo se le corroce como cuúdruple, I-a figura 3.13 muestra varios ejemplos dc
esre tipo. En la {igura 3-13(a). }os cuatro unos son adyacentes en forma verl.ical
y en la figura 3'I3(b) son adyacentes en forma horizontal. EI mapa K de Ia figu-
ra 3-13(c) contiene cuatro unos en una casilla y se consideran adyacentes ent! e
sí, Los cuatro unos de la figura 3'13(d) también son adyacentes, al igual que lns
de la figura 3-13(e) ya que, como dijimos antes, las filas superior e inferior se c,.lr¡-
sideran como adyacentes entre sÍ, al i¡iuai que las columnas más a la izquierda y
más a la dereclra.
Cuando se agrupa un cuádruple, el término resultante sólo cortendrá las
variables que no cambian su forma en todas las casillas de1 cuádruple. Por ejem-
plo, en la figura 3-13(a) las cuatro casiilas que contienen un 1 son ÁBC, ÁBC, ABC
y AAC. Si examinamos estos términos descubriremos que sólo la variable C per-
manece sin cambios (tanto á corno I aparecen en forma complementada y no
coÍtplementada)- Par ende, ia expresión resultante para.X es tan sólo X: C. Esro
puede demostrarse de la siguiente manera:
X=ABC_AaC+ABC+ABC
: AC|E + 8) + ¿C(B * E)
:Á.c+Ac
:c(Á+A)=c
Como otro ejemplo, considere la figura 3-13(d), en donde las cuatro casillas
que conrienen unos so¡r átse D, AEÍD. ABCD y -AECD. Al analizar esros rérrninos
122 C.{],iTr. Lo 3/CiRCL,ITos Lócrcos coMBtNActoNALES

lr,(it R,l .i-¡f, Ejemplos cc CD CD CD CD óó CD CD ct)


de agrupamiento de
ct¡ádt uples. Ag 0
rl AB c ü 0 0 ÁB 0 0 0 a

AB

AE
0

0
1 ¡B

AB
0

1
0

1
0

1
0

1 AB
B 0

0
I r;l
I

{1
0

Ag 0

XC
1 AÉ 0 0 0 0 AB 0 0
,' I o

(a) XAB (c)


XBD
(b)

CD CD CD CD CD CD CD Ct]

o c 0 c AB
)
0 i) (
ÁB o 0 0 0 AB o 0 0 o
XéÓ
AB
\ 0 0 I AB 0 o o o

AB rJ 0

X
0

AD
l( Aii
)
0 0
í
(di {e)

podemos ve¡ que sólo las variables .4 y D permanecen sin cambios, de maner¿¡
que la expresión simplificada para X es

x=AD
Lo que puede demostrarse de la misma forna que se hizo antes. El lector deberó
comprobar cada uno de los otros casos cle la figura 3-13 para ve¡ificar las expre.
siunes indicadas para X.
En resumen:

Al agrupar un cuádruple de unos adyacentes se eliminan las dos varia-


trles que aparecen tanto en forha cornptemenlada como efl forma no
colnplemenlada.

Agruparnient o de octetos (gr:upos de oclro)


A un.grupo de ocho unos adyacentes entre si se le conoce como ocreto. l,a figu-
ra 3'14.muestra varios ejemplos de octetos- Cuando se agrupa un octeto en
un
rnapa de cuaro variables se eliminan tres de ellas, yo qr,Iu t;Jlo una perminece
sin.camhios, Por ejemplo, si examinamos las ocho cásiilas agrupadas en ia
fi6,u"
ra 3-14(a) pod.emos ver que sólo la r¡ariable g se encuentra en la misma {oriira
para las ocho casiltas: las demás variables aparecen en su {orma complementatla
y no complementada. En consecuencia, para esre mapa X = B. El láctor puecie
verificar los resultados para los demás ejemplos cle Ia iigura 3_1+.
Iln resur¡re¡u

Al agrrrpar un octeto de unos adyacentes se etiminan las tr.es variables


que aparecen tanto en su forma complementada como eü su fórma ¡ro
complementada¡,
SEccróN 3-S/MÉToDo DE MAPAS DE K.{INAUC¡I 123

rl{;LRA 3-I4 Ejemplos óó óD cD có CD óo ct) CO

t; t¡
de agrupamiento de
grupos de ocho unos AB 0 o c 0 Áá 0 0
(octeros),
ÁB 1 1 l ÁB 1 1 0 0
I

AB 1 1 1 1 AB 1 1 0 0

¡a 0 0 0 0 A6
tr 0 0

x B XC
(a) (lr)

ÜD Eo CD CD, CD óD cD cñ
AB

ÁB o
1 1

o
1

0 0
ÁÉ

AB
1 0

0
0

Q
f
1

I II,
0 0
AB 0 0 0 0 AB
'l I

AB /t l 1\ AÉ 0 0 1
1

)
XB
(c) {dl

Pr¡¡r:csr¡ r:ornpletn de sirn¡rlificación


Hemos visto cómo se puede utilizar el agrupamiento cle pares, cuádruples y octe-
tos en trn mapa K para obtener una expresión simplificada, Podemos resumir la
rcg,la para los agrupamientos de c1¿alq¿rier tamaño, de la sigrriente manerá:

Cuando una variable aparece tanto en su forma complementada como


no complementada dentro de un grupo' esa variable se elir¡rina de la
ex¡rresión. Las variables que son iguales para todas las casillas del g'u¡ro
deben aparecer en Ia expresión ünal.
I)ebe r¡ueclirr claro que un agrupamiento mayor de u¡ros elimin¡r más va¡ ia'
bles. Para ser exacto, rrn agrupamiento de dos elimina u¡ra variable, trn agrupa'
miento de cuatro elimina dos variables y irn agrir¡ramiento de ocho clirnina tres.
Ahora utilizarernos este priñcipio para obtener una expresión lógica simplificada
a partir de un rnapa K que contenga cualquier combinación de unos y ceros.
Primero describiremos el procedimiento y después lo aplicalemos en va¡i<.¡s
ejemplos. I-os si¡iuientes pasos se llevan a cabo mediante el uso del método del
mapa K. para simplificar una expresión boolea¡ra:

l)aso I Construya el mapa K y coloque unos en las casillas que correspondan ir


los unos en la tabla de verdad, C,:Iorlue ceros en las demás casillas.
["irsr¡ 2 Examine el mapa en busca de unos adyacentes y marque los que no sean
adyacentes con cualquiel otro 1. A éstos se les conoce como unns aislados.
I'¿rso.l A continuación busque los unos que seaa adyacentes sólo con otro 1-
t\grape cualquier par que contenga este t'ipo de unos.
l'ast¡ 4 Agrupe cualquier octeto, aun cuando contenga algnaos unos que ya se
hayan agrupaeio.
f,¡r;r¡ 5 Agrupe cualquier cuádruple que cont€nga uno o más unos que no se
hayan agrupado y4 asegurándose de utilizat el nún1era h1íiimo {le Bnipo.§.
124 C-.IPI?TILO 3/CIRCUITOS LÓGICOS COMBINACIONAIES

l'+so (r Agrupe cualquier par necesario para incluir todos los unos que no rie
lrayan agrupado todavía, asegttrándose de utilizar el númerc mhimo de
agrupamientos .

l'trso 7 Forme la suma OR de todos los términos generados pol cada gru¡ro.

En los siguientes ejemplos seguiremos al pie de la letra cada uno de estcs


pasos y haremos referencia a e1los. En cada caso, la expresión lógíca resuitante
estará en su forma de suma de productos más simple.

La figura 3.15(a) muestra el mapa K para un problema con cuaro variabior¡-


Supondremos que ya se completó el paso 1 (construir un nrapa K a pzLrtir de la
tabla de verdad del protrlema), Las casillas es¡án numeradas pol converriencir
para identificar cada uno de los grupos. Use los pasos 2 al 7 del proceso cle sin -
plificación para reducir el mapa K a una expresión SOP,

l.l0lr§^ 3"15 Ejemplos CD CD CD CD


3-10 al 3-12.
ÁB o 0 0

Áa

AB
0

a
rI
I
1

1
0
ABCD

grupo 4
ACD

grupo
BD

grupo 6.
11,15 7 10. 11
nÉ 0 0 0
(a)

CD CD CD CD

AB a 0 o

ÁB G 1l
l!
U 1
X ¡.8 BC ACD

AB ir- 0 C grupo 5, grupo 5, 9rupo


6,7, A 6, S. 1o
A¡i o 0 o 0
(b)

¿ó CD CD CD

ÁÉi 0 0 0

ÁB 0
X. ABC t ACD r ABC ¡ ACD
L_Y-J!.--Y,

AB 0 s, 10 2,6 7. 8 f 1,15

ne 0 0 0

{c)

Sol trr: ión


Pi¡ro 7 La casil.la 4 es la única que contienc un 1 que no cs adJ,/acente con
cualquier otro 1. Se agrupa y se identifica como grupo 4.
l)¡so -l La casilla 15 es adyacente sólo con Ia casilla 11. liste ¡rar se agri¡pa y se
ide¡rtifica co¡no grupc, 11, 15.
l¡.rst¡.1 No hay octetos.
SEccró¡§ 3-s/MÉróDo DE MAPAS DE K.\RNAL'GH 125

I'as0 5 Las casillas 6,7, 10 y 11 forman un cuádruple. Este cuádruple se agrupa


(grupo 6, 7, 10, 11). Ohserve que la casilla l1 se utiliza de nuevo, aun
cuando forma parte del grupo 11, 15.
Faso 6 Ya se han agrupatlo todos los unos.
Paso 7 Cada grupo genera un té¡mino en la expresión pára X. El grupo 4 es
ÁECD. El grupo 11, 15 es áCD (se elimina la variable 8). EI grupo 6, 7,
10, 11 es BD (se eliminan A y C).

r@EE[¡ Considere e) mapa K de la figura 3-15(b). Una vez m᧠podemos sltponer qlue y*
se ha realizado el paso 1. Sünplifique.

Sr¡lución
Paso 2 No hay unos aislados.
I'aso J El 1 en la casilla 3 es adyacente sólo con el 1 en la casilla 7' A1 agrupar
este par (Blupo 3, 7) se produce et término ÁCD.
Faso 4 No hay octetos.
l'¿rso 5 }{ay dos cuádruples: El primero 1o forman los cuadros 5,6,7 y 8 - AI
agrupar este cuádruple se produce el término AB. El segundo está com'
puesto por las casillas 5, 6, 9 y 10. Se debe a¡¡rupar este cuádluple, ya
que contiene dos casillas que no se han agrupado antes, AI agruparlo se
produce BC.
I'lrso 6 Ya se han agrupado todos lcls unos.
Pirso 7 Se :lplica la operación OR a los términos generados por los tres gt'tlpos y
se obtiene la expresión para X.

tr{ffiEeffi Considere el mapa K de la fiSura 3'15(c). Simplifique'

§olución
Paso 2 No hay unos aislados.
Pirso.l EI 1 enia casilla 2 es adyacente sólo para el 1 en la casilla 6. l:ste par
se agrupa para producir áep. ne manera similar, la casillai es adya'
cenú sólo con la casilla 10. Al aBrupar este par se produce l1BC' De igual
forma, los grupos 7, 8 y 11, 15 producen los téüninos ,18C y ,4CD, respec'
rivamente.
l¡¡¡sr¡.1 No hay octetos.
P:¡so 5 Sólo hay un cuádruple formado por las casilias 6, 7' 10 y 11. No obstante,
este c(¡ádruple no se agru¡:a debido a que todos los unos que contiene ya
se han incluido cn otros gruPos
Prrso 6 Ya se han agrupado todos los u¡¡os.
Pi¡sr¡ 7 La expresión para X se muesn'a en la figura.

=-E==:
@ConsidereIosdosagrupamientosenelmapaKdelafigura3-16.¿Esunomejor
que el otroi'

Solución
I'aso ¿ No hay unos aislados.
Prso 3 No hay unos que sean adyacentes sólo con otro 1

Ilr¡so 'l No hay octetos,


126 CapiTr;Lo 3/ClRCL:ITos Lócfcos coMBIN-{cIótiAt,ES

l.'l(;t R,r i- I6 El mismo CD co CD óó, óo , co có


mapa K con dos solucic¡res
correctas similare§. AB 0 1 o o ÁB 0
V 0 0

AB

AB
tl()

0 0
1

o
1 Áe

AB
0

(l 0
1 0

AB
fl 0 iJ-, AB 1)
/\ 0 (1

X . ACD rABC rABC ACD x .. ÁBD .r acD r 6óo r nÉó


(a) (b)

i'¡¡o i No hay cuádrup1es.


P¡¡sr¡s (i v 7 I{ay muchos pares posibles. El agrupamiento debe utilizar el númer<'
mínimo de gru¡ros para tomar en cuenta a todr¡s los unos. Para este rlap¿
hay dos grupos posibles, los cuales requieren sólo cuatro pares agru
pados. La figura 3-16(a) rnuestra una solución v str expresión resultante
La figura 3-16(b) muestra la otra, Observe que anrbas expr.esioncs son
de la misma cornplejidad, por lo cual ningunzr es me.jor que la otra.

Córu¡r lle¡rar urr rnapa K a partir de rrna expr.es;ót¡ de salida


Cuando la salida deseada se presenta como expresión t¡oolcana en vez de tatrla
de verdad, el mapa K puede llenarse meüante el uso de los siguientes pasos:

1. Cambie la expresión a su forma SOP, en caso de que no se encuerltre ya en


esa fr:r'ma.
Z. Para cada término de prr:ductos en la expresión SOP, cr:lor¡ue unI en cada
r:asilla del ruapa K cuya edqueta contenga la misma combinación de varia-
bles de entrada, Coloque un 0 en todas las depás casillas.

tsl siguiente ejemplo ilusra este procedimiento.

rcUGE Use un mapa K para simpli{icar la expresién y = etf ED + D) + A-¡JC + ij


§olu r: ió¡r

1. Multiplique el primer término para obrener g = AB1D + eD + ABC + ¡j.


que se encuértla ahora en la forma SOP.
2. Pa¡a el té¡mino ÁFeD sólo necesita colocar t¡n 1 en la casi.lla ZBL-D del
mapa K (figLra 3-17). Para el rérmino eD coloque un I en todas las casillas
que tengan en en sus eriquetas: ÁBeD, ÁBeD, ABID, AECD. para el tér-
mino ABC coloque un 1 en todas las casillas que tengan áEC en sus etique.
tas: ¿ECD, AECD. ?ara el término D coloque un 1 eri todas las casillas qut
tcngarr una D en sus etiquetas: en todas las casillas de las columnas más i la
izr¡uierda y nrás a la derecha.

Ahora el mapa K está lleno y puede agmparse para simplificar la expresiiin.


Verilique que un agrupamiento apropiado produzca la expresiórr ¡t -- AB + T + D.
SDccróN 3-s/MÉ.'r'oDo DE MA¡AS DE KARNÁuGri 1?7

TICURA 3-17 Ejemplo CD óD co cD


3.14,
AB I 0 1

ÁB 1 1 0 1

AB 1 l 0 1

A6 1 1 I 1

y ABTCTD

Condiciones "No importa"


Algunos cilcuitos lógicos pueden diseñarse de manera que haya cierras condicio-
nes de entrada para las cuales no existan niveles de salida especificados, por lo
general, debido a que estas condiciones de entrada nunca ocurri¡án. En otras paltr-
bras, habrá cicrtas combinaciones de niveles de entrada en las que "no importa" si
la salida es 1 o 0. Esto se ilustra en la tabla de verrlad de la fi6ura 3-18(a).

lrl{i l rltÁ J'18 l,as condi- óc c c


cio¡es "No importa" deben B c 2
cambiarsepor0olpara 0 0 o 0
AB 0 0 ÁB 0 0
producir un agrupalr¡iento 0 0 1 o
del mapa K que genere 1a 0 1 0 o ÁB 0 Áe 0 0
expresión más slmple. 0 1 1 x 'no
1 0 0 x ] ¡mporla" AB 1 1 AB 1 1 zA
1 0

L t:l
1 1

1 1 0 1

1 1 1 1
AB x 1 A8

1a) (b) (c)

:\qui la salida z no se especifica como 0 o 1 para las condiciones Á, B, C: 1,


0, 0 y á, B, C = 0, 1, l. En vez de ello se muestra una x para estas condiciones.
La r representa la condición de "no importa". Este tipo de condición ¡ruedc sur-
gjr debido a varias razones;la n¡ás común es que en algunas situaciorlcs nunca
podrán ocurrir ciertas combinaciones de entrada, por Io que no hay una salida
especificada para estas condiciones.
Un diseñador de circuitos tiene la libertad de hacer que la s:rlida para cual-
quier condición de "no imporra" sea un 0 o un 1 para producir la expresirin de
salida más simple. Por ejemplo, el mapa K para_esla tabla de verdad se muestra
en la figtrra ,]-18(b), con una x en las casillas ABC y ABC. Aquí la mejor opcir)n
¿ara el diseñador seria cambiar la ¡ de Ia casilla .4ü C por un 1 v la ¡ de la casilla
áBC por un 0, ya que esto produciría un cuádruple que puede ag,r'uparse para
producir z =,,1. como se muestra en la figura 3-18(c).
Siempre que ocurran condicit¡nes de "no importa", debemos decidir cuál x se
va a cambia¡ por 0 y cuál por 1 para producir el mejor agrupamiento del mapa K
(es decir, la exptesión rnás siraple). Esta dccisión no sic.¡¡¡p¡ e es fácil. Varios de
los problemas al final del capÍtulo le ayudarán a practicar para ratar los casos
de "no importa". He aquÍ orro ejemplo.

ffi Vamos a diseñar un circuito lógico que controla la puerta de un elevador en un


edificio de tres pisos. El circuito de la figura 3-19(a) tiene cuatro entradas. M es
una señal lógica que i¡dica cuando se mueve el elevador (M = 1) o cuando está
detenido (M = A)" F1, F2 y F3 son señales i¡rdicadoras de cada piso que. por lo
¡¡eneral, están en BA.JO, y cambian a ALTO sólo cuando eI elevador está posicio-
nado en ese piso específico. Por ejemplo, cuaado el elevador está alineado con el
128 C4}iT([,O f,ICiE.CI.]I.IOS LÓGICOS COIÍ BIN ACIO N ALI] S

trl(:t,lt.\ ¡.lt Eiemplo N,I F1 F2, ABIERTO


0 0 0 0 0
0 0 0 1 1

0 0 1 0 1

0 0 1 1 x
M F1 F2F3 0 1 0 0 1

x
{t
Clrculto
0
0
0
1

l
0
1

1
1

0
1
x
X
0 0 o 0
del elevador 1 0 0 1 o
1 0 I o o
0 1 1 X
I 1 o 0 0
Al}ERlO
1 I o 1 X
f 1 1 0 x
1 1 1 l x
(a) {b)

Fá F3 FZFs F2F3 F2F3 F2 É3 FáF3 FaFo Fziá


MFI o x I l MF1 o
r; It-,]
¡t Fl 1 I X
I

I
x tul fl
C 1 1
l
N4 F1 0 x X MF1 ó o 0 0

M É'.I C] o x Mñ 0 {) o 0
I

AtsIERTO ñ,1 (F1 , F2 r Fs)


(c) id)

seg,undo piso, f2 = 1 y I".l = fl3 = 0. La salida del circuito es ia señal -4818R70 que,
pol lo general, está en BAJO y cambia a ALII'O cuando se va a ablir la puerta del
elevador.
Podemos llena¡' la tabla de ¡,erdad para la salida -4.BIF)R7 0 [Figura li-1.t]i h)l
de la siguiente manera:
1- Com<.¡ el elevad¡:r no puede alinearse cr.¡n más de un piso a la vcz, sólo una
de las entradas de los pisos puede estar en ALTO cn un momento dado. Ilsto
significa que todos aquellos casos en la tabla de verdad en los qrre rnás rle
una entrada de piso esté en 1 serán condiciones de "no importa". l'odemos
colr¡c¿lr una x en 1a columna de la salida á818R?O pala los ocho casos en los
que más de u¡]a entrada F es 1.
2. Si analizamos los orros ocho casos, cuando M = 1 el elevador se está mo-
viendo, por lo que áBIER?O debe ser un 0 ya que no deseauros que se abra la
puelta del elevador. Cuando M= 0 (el elevador está detenido) queremos (¡ue
ABIER'IO = 1 siempre y cuando una de las eqtradas dc piso sea 1, Cuanclo
M = 0 ]. todas las entradas de piso son 0, el elcvador está detenido pero no
está alineado en forma apropiada con ninguno de los pisos, por Io quc quere-
mos que A8"IE-R?O = 0 para mantener la puerta cerrada.
Ahora la tabla de verdad está complota y podernos transferir su infolrn¿rció¡r
al rnapa K de Ia figura.l-19(c). El mapa sól: riene rres unos) per'o ocho condicio-
nes de "no importa". Al cambiar cuatro de estas casillas de "no impolta" por
unos, podemos produtir grupos de cuádruplcs que contenEan Ios ulos originales
{Figura 3-19(d)1. Esto es Io mejor que podemos hacer en cua¡lto a minirnizar la
expresiól de salida. Veri{ique que los aÉ}'upamie}rtos produzcan la e,xpresión de
salida r¡ue srl nluestira p¿ra ABíERTO.
SEccróN 3-6/C1RcuIros OR ExcLUSIV() y NOR ExcLUSIvo 129

Resutnen
El proceso de mapa K tiene varias ventajas en comparación con el método alge-
braico. El mapeo K es un proceso más ordenado, con pasos bien definidos en
comparación con el proceso de prueba y error que se utiliza algunas veces en la
simplificación algebraica. Por Io general, el mapeo K requiere menos pasos, en
especial para 1as expresiones que contienen muchos términos, y siempre pro-
duce una expresión mínima.
Sin embargo, algunos instructores prefieren el método algebraico debido a
que rec¡uiere un profundo corocimiento del álgebra booleana v no es tan sólo un
procedimiento mecánico. Cada método tiene sus ventajas y, aunq[e la mayoría
de los diseñadores lógicos sol adeptos en ambos, ser proficiente en uno de ellos
es todo lo que se necesita para producir resultados aceptables.
Existen otras técnicas más cornplejas que utilizan Ios diseñadores para mini-
mizar circuitos lógicos con más de cuatro entradas. Estas técnicas se adecuan
en lornra especial a los circuitos con grandes cantidades de entradas, en donde
no puede cr:nsiderarse el método algebraico ni el mapeo K. La mayoría de estas
técnicas puede traducirse a un prograrna de computador'a que realizará la mini
mización con ba;e en los datos de entrada que suminisrre la tabla de verdad o Ia
expresión sin sirnplif icar.

1. Utilice el mapeo K para obtener la expresión del ejempio 3-7,


2, Utilice el mapeo K para obtener la expresión del ejemplo 3-8. Aquí se debe
enfatizar la ventaja del mapeo K para expresiones que contengan ¡nuchos
términos.
3. Obtenga la expresión del ejemplo 3-9, utilizando un mapa K"
4. ¿Qué os una condición de "no importa"?

3-6 CTRCUTTOS 0R EXCTUSTVo Y NoR EXCLUSIVO

RESULTADOS
Al finalizar esta sección, usted será capaz de:
I Definir las funciones iógicas OR cxclusivo y NOR exclúsivo.
I Esc¡ibir ecuaciones booleanas medianre el uso de las funciones XOR¡XNOR
r Dibujar eI símbolo lógico de las funciones XOFJXNOR.
r Escribir una tabla de verdad que describa las funciones XOR/XNOR.
r l)ibujar un diagrama de tiempos que demuestre las f ur:ciones XOR/XNOR.
¡ Usar cualquiera de los métodos ante¡iores para inferir la salida correcta de
un circuito lágico con base en su entrada.

f)os de 1os circuitos 1ógicos especiales que se presentan con nrucha frecuencia e¡l
los sistemas digitales son el OR exclusiuo y el NOR exclusiuo.

0R exclusivo
Considere el circuito lógico de la figura 3-70(a). La expresión de salida de este
circuito es

x-.ñ¡+á8-
130 C,rpiruLo 3/ORCUIToS LóGrcos c o},f B¡ NAC Io.¡t A L Es

l.r{i{ t¡.1 i-:0 Á -A-BTfx


a) Circuito OR exciusivo o oll0
y su tabla de verdad; o i ll1
(b) ¡iímbolo tradiclorat de
B
r ollr
--{¡+._
la comprrerra XOR. AB
x Áe,¡ri 1 'llo
AB

(ai

M B

(b)
x A,:B
Ás , n¡l

l,¿¡ tabla de verdad que acompaña ?r este circuito muestra que x = 1 para
dos cersos: á = 0, IJ = 1 (el término AaTy ¿= 1, B:0 (el término AB). En otras
palabras:

Este circu.ito produee una salida en AIITO siempre que las dos entradas
§e encuentran en los niveles opuestos.

Éste es el circuito OR exclusivo, que de aquí en ádelante se at¡rcvia¡á corno XOII.


Esra combinación específica de compuertas lógicas se produce con mucha
frecuencia y es muy útil en ciertas aplicaciones. De hecho, al circuito XOR se le
ha otorgado su propio símtrolo, el cual se rr¡uestla en la fig,ura 3-20(b). Se asu¡ne
que esre símbolo contienc toda la lógica dentro del circuito XOR y, por lo tanto,
tiene la ¡nisma expresión lógica y la misma rabla de verdad. Por lo general, al cir-
cuito XOR s€ le conoce como c.ornpuerla XOR, y lo consideranrus cumo otro ripo
de compuerta ldgica.
Una comptrerta XOR sólo tiene dos entrada$ no hay compuertns XOR de tres ni
de cuat¡'o ent¡adas. Las dos entadas se comhinan de manerá que.r = áB + ,48. tlna
forma abreviada que se utiliza a-lgunas veces para indicar la cxprcsión de salida
XOR cs
x=l@a
en donde el simbolo @ representa la operación de la com¡:uerta IOI{.
A continuación se sintetizan las características de una conrpuerta XOR:

1. Sólo tier:e dos eníadas y su salida es


x = ¡I8 +,.1F =,4@B
2. Su salida está en ^4L?0 sólo cuando las dos entradas se encuentran en rriveles
distinto,'.

I{iry varios circuitos integrados rlisponibles que contienen compucrtas XOR.


Los quc se listan a continuación son chips que contienen cuatro compuertas xOIl.
74LS86 Chip col.l cuatro compuertas XOR (familia 't'l'L)
74C86 Chip con cuatro compuertas XOR (familia CMOSI
74tlUii6 Chi¡: con cuatro compuerl.as XOR (CMOS de aha velocidad;
sEccróN 3-6/CrRcurros OR DxcLUSwo Y NOR ExcLUSIvo 13t

NOR exclusivo -
Dl circuito NOR exclusivo (que se abrevia como XNOR) opera en forma comple-
tamente opuesta al circuito XOR. La figura 3-21(a) muesua un circuito XI.{OR y
su tabla de verdad correspondiente. La expresión de salida es

x=AB+ÁE
lo cual indica junto con la tabla de verdad que x será I para dos casos:.¡l: B = 1
(e1 término AB) y A = B = 0 (ei término áB). En otras palabras:

El circuito XNOR produce una salida en ALTO siempre que las dos en-
lTarlas se encuentran en el mismo nivel.

De todo esto podemos deducir que la salida del circuito XNOR es el inverso
exacto de la salida del circuito XOR. El símbolo fradicional para una compuerta
XITIOR se obtiene con sólo agregar un pequeño círculo en la salida del símbolo
XOR I fisura 3-21(b)'1.

ti¡(; t rIlA .l-21


(a) Cilcr"rito NOR exclusivo; A
(b) sÍmbolo tradicional para A BTI;
Ia compuerta XNOR. _--,---i-.t--
AB 0 0lll
o rllo
B
, ol{o
r rllr
x.ABiÁB

ffi (a)

x A,1 B=ABTAB

(b)

La compuerta XNOR también tiene sálo dos entradas, y las combina de


manera que su salida sea
x: AB + AB

Una for¡na abreviada de indicar'la expresién de salida de la compuerta XNOR es


* = l{@T
la cual es simplemente el inve¡so de la operación XOR. La compuerta XNOR se
puede sintetizar de la siguiente manera:

1. Só1o tiene dos eritradas y su salida es


x=,4,B+ÁE=aEE
2. Su salida está en ALTO sólo cuando las dos entradas se encuentran en el
mism¿¡ nivel.
132 Capfrur,o 3/CtRCUf'tos Ló6ICrars coiUBINAcloNALES

Hay varir:s cir-cuitos integrados disponibles que contienen compucrta;


XNOR. Los que se listan a continuación son chips que contienencuilro compuer-
tas XNOR.

74LS266 Chip colt cuatro comptrertas XNOR (fa¡nili.a TTl,l


7 4C266 Chip con cuaro compuertas XNOR (CNIOSt

74HC266 Chip con cuatro compuertas XNOR (CX{OS de alra velocidad )

Sin cmbargo, cada uno de estos chips consta de circuitos con salida especi¿l qu(,
limi¡an su uso a ciertos tipos especiales de aplicaciones. Iis mr:y r'crmún qri* ur
<1iseñado¡ lógico obtenga la funcién XNOR con sólo conectar la salida de rrot.
cémpuertá XOR a un INVIiRSOR.

Determine la forma de onda de salida para las fornras de onda de entrada que se
muestran en la figura 3-22.

,.jl{;t:RA:i-ll Ejcmplo
J- i lr,
tt
¡ lt tt
¡ ll lt
I II ll I] I

B
¡ li I
B
I
tt
¡
I

I
to lr 1, 11

§olr¡cirin
I-a forma de onda de salida se obtiene mediante el hecho de qtre la salida XOR
r:stará en AL'IO sólo cuanclo sus entradas se encurntren en distintos niveles. La
fo¡ma tle onda de salida resultante revela varicrs punros interesi¡r'¡tes:
1. La lorma de onda de ¡ concuerda con la forma de onda rle entrada A durante
los intervalos cle tiempo en los que B = 0. Esto ocurre ¡lr¡rante los intervalos
t0aalyt2a¡3.
2. La Ir¡rma de onda de .rr es el inuerso de la f orma de onda de entrada .4 durante
los intervalos de riempo en los que ¿ = 1. Esto ocurre durante 01 intervi¡lú
t1 á 12.
3. listas observaciones muestran que una compuerta XOR puede Lrriliza¡se
como /IütrERSOR contolttdo; es decir, que una de sus enrradas puede utili-
za¡se para co¡rtrolar si se va a invertir o no la señal de la otra entrada. Esta
propiedad puede ser ritil en ciertas aplicaci6rnes.

La notación;1x6 representa un número binario de dos bits que puede tener cual"
quier valor (00, 01, 10 o 11): por ejemplo, cuando x¡ : 1 v x6 - g ,r¡.ero binario
"¡ ¡lú¡nero bi¡ra-
es 10, y así en lo sucesivo, De manera similar, 9¡9¿ rept.esclltü otro
rio dc tlos birs. Diseñe un circuito lógico en el que utilice las entradas,rl, jLo, gt
J..
jro: y cuya salida esté en AI,TO sólo cuando los dos números binarios x1x6 1,-419¡
sear igrrales.

Soluc i é¡l
Bl primer paso cs construir una tatrla de verda<l par_a las l6 co¡r<Jiciurres tle
ontrr¡da (tabla 3-4). ].a salida ¿ debe estar en AL I'O siemple que los valores
SEccréN 3-6/Cmcul'ros OR Excrusrvo y NOR ExcLUSrvo r33

TABI,A 3.4
xr Xol Y1 ¿ {§aludq}

0 0 0 0 1

0 0 0 1 0
0 0 1 0 0

0 0 'l 1 0
0 1 0 0 0
0 1 0 1 1

0 1 1 0 0
1 1 1 0
1 0 0 o 0
1 0 0 I 0
1 0 1 0 1

1 0 1 1 0
1 0 0 0
1 0 1 0
1 1 1 0 0
1 1 1 1 1

lrlCl'Ii.A 3-f,3 Circuiro xl


para detectar la igualdad ñúméro
de dos números bina¡ios de biñado

ffi
dos bits.

Número
I 2

binado
1 Yo

de x1x6 concuerden con los valores de y1g0; esto es, siempre que ¡t = 91 y -r0:90.
l,¿r tabla muestra que hay cuauo cle esos casos. Ahora podríamos continuar con
ei procedimiento normal, que sería obtener una expresión suma de prodrtctr:s
parÍr z, tratar de simplificarla y después implementar el resultado. No obstan¡e.
la naturaleza cle este problemá lo hace ideal para que se implemente median-
te el uso de compuertas XNOR, y con un poco de pensamiento se producirá una
solución simple con el mÍnimo esfuerzo. Consulte la figura 3-23; en este diagrama
lógico, 11 y 91 se alimentan de na compuerta XNOR mientras que x9 ! p¡ se ali-
,nenran a otra compuerta XNOR. La salida de cada cornpuerta XNOR estará e¡r
AI,TO sólo cuando sus entradas sean iguales. Por ende, para xo = 90 y ¡1 = 91 las
salidas de ambas compuertas XNOR estarán en AI-TO. Esra es la condición que
esta¡nos buscando, ya que significa que los dos números de dos bits son iguales.
L:r s,¡lida de la compuerta AND estará en ,{1, fO sólo para este caso, con lo cual se
producir'á el tesultado deseado.

ffiEDñilrüF Al simplificar la expresióa para la salida de un circuito lógico combinacional,


tal vez se encuentre con las operaciones XOR o XNOR cuando esté facto¡izando.
A menudo estc] lros lleva a utilizar compuertas XOR o XNOR en la implemen-
ración del circuito final. Para ilustrar lo anterior, simplifique el circuiro de la
figura 3'24(a).

Soh¡cién
La expresión sin simplificar para el circuito se obtiene como
z-ABCD+ÁÉ*CD+ÁD
134 Capl}r,r,0 3iCIRcuITos LóGICos coMBtNACroNAt,.ss

a ABcD z.ABCDTABCDTAO

c
I
D

ABCD

(a)

AD(B , , c)
B I c
o 7 AD (8.: C) , AD

D- Áó
D
(b)

i'tlit ii,1 t";.rt El ejemplo 3-18, que mues¡r?i cómo puede Llsarse una conpuerla
XIiOR para simplifical la implementación de un circr¡itc¡-

Podernos factot:izar AD de los primeros dos términos:

z=AD(BC+Be)+AD
A primera instancia podria pensar que la expresión entre paréntesis pucde sus-
titnüse por un 1. Pero eso sería cierto sólo si Ia expfesión fuera /JC + iiC. Ileburia
reconocea la explesión entre paréntesis ct¡rno la combinació¡r XNOI( dc B y C.
[iste hecho puede ¡]sarse para volver a implementar el cilcuito conlo se muestra
en ltr figura 3-24(b). Este circuito es mucho más simple quc el t-rriginal, va que
utiliza compuertas con menos entradas y se han eliminado dos INVERSORES.

1. Use álgebra booleana para demósrar que la expresióñ de salida de la com-


puerta XNOR es el inl'erso exacto de la expresión de salida de Ia compuena
xoR.
2. ¿-Cuál es la salida de una comptrerta XNOR cuando se conectirn a sus entrartras
una señal lógica y su inverso exacto'?
3. Un diseñador lógico necesita un INVERSOR, y toi]o lc que hay disponible es
una compuerta XOR de un chip 74HC86. ¿Ne{:esita otro chipi'
SeccIéN 3,7/GENERADOR Y COMPROBADOR DE PARIDAD 135

3.7 CENERADOR Y COMPROBADOR DE PARIDAD

RESULIADOS
Al linalizar asta sección, u:;tcd serú. capaz de:

r Aplicar compuertas XOR para crear un generador de paridad.


r Aplicar compuertas XOR para crear un comprobador de paridad.
En el capítulo 1 vimos que un transmisor puede acljuntar un bit de paridad a un
conjunto de bits de datos antes de ransmitirlos a un receptor'. También vinros
cómo esto permite al receptor detectar cualquier error de un solo bit que pueda
haber ocurrido durante la transntisión. La Iigura 3-25 muestra un ejemplo de un
tipo de circtrito lógico que se utiliza para la generacién de palidad y la com¡rro-
t¡acién de paridad. Este ejemplo especÍfico utiliza ult grupo de cuatro bits como
los datos que se van a transmiti-r, y utiliza un bit de paridad par. Puede adaptarse
con facilidad para utilizar paridad impar y cualquier número de bits.

Generador de paridad par


D3
{
Daios I D2
orlginales {I Dr
Paridad (P)
I

L Do Dalos
lransmit¡do§
con sl bil

iffi
de paridad

(a)

Comp¡obador de psridad paí


P

D,t
Error (E)
Del D2 {1 ' €rror
transmisor 0- sin offorl
D1

Do

(b)

rlCt li§ .i':5 Compuer¡as XOR utilizadas para implemcntat (a) el generador de paridad ¡r
(b) el comprobaclo. de paridad para un sistema con paridad par.

En la figura 3-25(a), el conjunto de datos que se van a transmitir se aplica


al circuito generador de paridad, el cual produce el bit de paridad par P en su
salida. Este bit de paridad se transmite al receptor junto con los bits de datos
originales, formando un total de cinco bits. En la figura 3-25(b), estos cinco bits
(datos + paridad) entran en el cü'cuíto comprobadcr de ¡raridad dcl receplor, el
cual produce una salida de error E que indica si ocurrió o no un etrtlr de un
sokr bit.
No debería sorprendernos demasiado que ambos circuitos empleen compuer-
tas XOR, si consideramos que una sola compuerta XOR opera de manera que
¡rroduce una salida de 1 si un número impar de sus e¡rtradas son 1, y una salida
de 0 si un número par de sus entradas son 1.
136 CAPiTlrLo 3/ClRcU]Tos LÓcTcoS CoMBINAcIoNATES

Determi¡re la salida de1 generador de paridad para cada uno de los siguientt:s
conjuntos de datos de entrada, D3D2D1D¡: (a) 0111; (b) 1001; (r:) 0000; (d) 010r).
Consulte la figura 3'25( a).

!iolució¡¡
Para cada caso, aplique los niveles de datos a las eltradas del generador de pari"
dad y rastréelas a ravés de cada compuerta, hacia la salida P. Lr¡s resultadcs
sqn: (a) 1i (b) 0; (c) 0; y (d) 1. Observe que P es 1 sólo crtando los datos originales
contieren un nú¡nero impar de unos. Po¡ ende, el número total de unos que se
enr'íen al receptor (datos + paridad) será par.

' : .: - .t t" -.:" _ : i


Determine la salida del comprobador de paridad [vea la figura 3-25(h)] para
cada uno de los siguientes conjuntos de datos del transmisor:
¡l 1r,,. t, l)t 1)1,

(a) 0 1 0 1 0
(b) 1 1 1 1 0
(c) 1 1 7 1 I
(d) 1 0 0 0 0

Solur:ién
Para cada caso, aplique estos niveles a las entradas clel comprobador dc pari.
dad y rastréelos a través de las compuertas hacia la salida /:. Los resultador;
son: (a) 0; (b) 0; (c) 1; (d) 1. Observe que se produce un 1 en I sólo cuando apa
rece un número irnpar de unos en las entradas quc van hacia el com¡rrobarlor.
de paridad. Esto indica que se ha producido un error, ya qre $e esrá utilizandc,
la paridad par.

1. ¿Cuántas compuertas XOR se requieren para generar el bit de paridad para


un valor de datos de ocho bits?
2. ¿Cuántas compuertas XOR se requieren para comproLrar el bit de paridad de
un valor de datos de ocho bits (más un bit de paridad;?

3.8 CIRCUITOS DE HABILITACIÓNIDESHABILITACIÓN

RESUITADO§
Al firrulizar esta sección, usted será cap<z de:
I Usa¡ circuitos lógicos pala habilitar/deshabilita¡ de manera selectiva el
paso de una señal.
I Seleccionar la funció¡ correcta para asegurar los niveles lógicos requeritlos
cuando estó deshabilitada.

Cada una de Ias compuertas lógicas básicas puede u¡ilizarse para controlar el
paso de una señal lógica de enrada hacia la salida. Esro se describc en la fi¡iu-
ra 3-26, en donde se aplica una seña1 lógica.4 a u¡ra enrada de cada una de las
cornpuertas ló¿¡icas t,ásicas- La t¡t¡ ¿r c¡¡tra¿¿¡ dc cacla r:onrpucrta cs lri c¡rtr.ad¡r
de co¡r¡rol B. Iil nivel lógico en esta enrada de control cleterminará si la señal de
SECc¡óN 3-8/CtRCUITos DE rrARIr"ITACIóN/rEsHABlr¡T^cróN 137

iul
I-iABILITAR DESHABIL]TAF

Jl-rL
JUi x.0
B1 B ".0

JlJl U*-LI
Jl_l-l x -,1

B1 E] 0

JTJ1 JTJ1
0
JtJl B
x1

JUl x Á
lTtI JLN xo
BO gl
¡ tOl ti,L l.16 Las cuatro conpuerras básicas pueder habililar o deshabilitar el paso de una
señal de entrada -1, por medio del nivel lógico en la entrada de coDtrol B.

enrada está habilitada para llegar a la salida o deshabilitada para que no pueda
llegar a la salida. Esta acción de control explica por qué a estos circuitos se les
empezó a lTamar compuert*s-
Si examina la ligura 3-26 verá que cuando las compuertas no inversoras
(AND, OIt) están habiiitadas, 1a salida siSue a la señal A de ulla üranera exacta.
En contraste, cuando ias compuertas inversoras (NAND, NOR) est¿in h¿bilitadas,
la salida es el inverso exacto de la señal á.
Obserr,,c también que en la fig,ura lils crllllpuertas AND v NOR ¡rroducen una
salida constante en tsAJ0 cuando se encuentr¿ul eü la condiciórr deshabilitada.
En contraste, las compuertas NAND v OR producen una salida corlstante en
ALT 0 cuando están deshabilitadas.
ün el diseño de circuitos digitales se encontra¡á con muchas situaciones en
las que se habilite o deshabilite el paso de una señal lógica, dependiendo de las
condiciories presentes en una o más entradas de control. Los siguientes ejernplos
muestran varias de estas situaciones.

rcE§EEE Diseñe un circuito lógico que permita c¡ue una señal pase a Ia salida sólo cuando
las entratlas de control B y C estén ambas en ALTo; en caso contrario, la salida
deberá permanecer en BAJO.

§oIución
Debe usarse una compuerta AND, ya que la seña1 debe pasarse sin invertir y lá
condiciórr cie salida de deshabilitación es un nivei BAJO. Como la condición dc
habilitación debe ocurrir sólo cuando I = C = 1 se debe usar una compuert¿l AND
de ües entradas, como muestrá 1a fig,ura 3'27(a)'
t20 C,\pir\rlo 3/CrRcurfos Lé6ICos coMBtNACtoNlt.Es

rÍ;t:¡tÁ J-27 Ejemplos Ji-TL


3-21 y 3-22.

rl-n-
B
C c
{a) (b)

ffiIfiq@x Diseñe un circuito lógico que permita que una señal pase hacia la salida sólo
cuando una (pero no ambas) de sus entradas de control es¡é en ALTO; en caso
contlario, la salida permanecerá en ALTO.

Solucién
EI resultado se dibuja en la figura 3-27(b). Se úriliza una compuerta OR porqul
queremos r¡ue Ja condición de deshabititación de la salida sea un nivel ALTC,,
y no queremos invertir la señal. Las entradas de control B y C se cornbinan err
una compuerta XNOR. Cuando B y C son distinras, la compuerta XNOR cnvía u¡r
nivel BAJO para habilirar la compucrra OIl. Cuando B y C son iguales. la con:..
puerta XNOR envia un nivel ALTO para deshabilitar la compuerra OR.

ürH,lEifi?ril Diseire un ciÍcuito ló¡¡ico ct¡¡r la señal de entrada ¿, Ia entrada cle control I v l¿is
salidas X v Y. que opere de la siguiente manerar

1. Cuando B:1, la sirlida X seguirá a la enrada 4 y la salida yse1.á 0.


2. Cuardo l] = 0, la salicla X será 0 y la salida Y seguirti ¿ la entr¡rcla.rl.

Solucién
Las dos salidas serán ü cuancio esrén deshabilitadas y seguirán a la sefial de
entrada cuando esrén habilitadas. Por lo tantq debe utiliza¡rse una compuerta ANLI
para cada salida. Como X se debe habilita¡ cuando B = 1, su compuertá AND debt.
estar contrelada ¡,lor ü, como muestra la figura 3-28. Como y se debe habilital
gu_a-ndo,B = 0, su cr:nrpuerta AND está conrrolada por.ij. Al circuiro <{c Ia ilgura
3-28 se 1e conoce como círcuito de dirección de pulso, ya que dirige el pulsá dr
enuada hacia una salida o la otra, dependiendo de B.
l.'l(; t R.\.l,ll$ Ejempló
3.23.
E
x OJL F Bl
_rL { 0- F B-0

o-lF B I

{ ¡ *J1- ¡¡ s 6

1. Diseñe un circuito lógico con tres en*adas A, B, C y una salida que cambie a
BAJO sólo cuándo ¿ esté en ALTO mientas que B y C sean distintas.
2. Diserle un circuito para que pase la señal á sólo crrando B esté en Al.,ll0 y C
esté en BAJO, La salida debe esrar en I¡AJO cuando no se pase 4.
3. ¿Cuáies compuertas Iógicas producen una salida de 1 er. el estado deshabili
tado?
4. ¿Cuáles compuerras iógícas pasan el inverso de la señal de entrada cuando
se habilita¡r?
SEccróN 3-glcaRq,cTeRfsrrcAs BAsrcAS DE Los crRcurlos TNIEGRADos llrct'tAr-¿s t39

3-9 CARACTERISTICAS BASICAS DE LOS


CIRCU ¡IOS INTTGRADOS D¡GITALES-

RE§ULTADOS
Al t'inalízar esta seccíón, u:;ted será capaz de:
r Usar la tecnolo8ía de circuitos integrados con fines educarivos.
¡ Idenrificar las características criticas de los circuitos de TTL y CMOS.
t Implemenrar un circuito 1ógico mediante la tecnología de integración a pequóña
escala (SSI) y la integración a mediana escala (NISI) de los circuitos integrados.
Los circuitos integrados (CI) digitales sorr una colección de resistencias, diodos.y
ransistores fabrica<los en una sola pieza de material semiconductor (por lo ¿,ene"
ral, silicio), al cual se le conoce como s¿lstrd¿o, que por lo común se le denomina
chip. El chip está encerrado en un encapsulado de p1ástico o cerámica protectora
del cual salen terminales para conectar el CI con otros dispositivos. Uno de los
tipos más cornunes es el enca¡rsulado dual en lÍnea (DIP, por las si¿¡las r1e drral-
in-line package), el cual se muestra en la ligura 3-29(a), y se le llama asi del¡ido a
que condene dos filas paralelas de terminales, Estas termin¿rles se nu[reran e.t
senl ido contrario al de las manecillas del re1oj. r'iéndolas desde la ¡:arte su¡rerior del
encapsulado con respecto a una muesca o punto tle identificación el1 rm extremo
del encapsulado [vea la figura 3-29(b)], El DIP que se muestra aquí es un encap-
sulado de 14 telminales que mide 0.75 pulg por 0.25 pulg; también sc utilizan
encapsulados de 16, 20, 24,28, 4O y 64 terminales.
La lig,ura 3-29(c) muestra que el chip de silicio es mucho más pequctio que el
DIP; por lo general, es de 0.05 pulgadas cuadtadas. El chip de silicio se conecta a
ias terminales del l)IP mediante alambres muy finos Icon cliámetro de r.rna mi1é-
sima de pulgada (1 mil)].
Et DIP es tal vez el encapsuiado de CI digital más común que se encuentra
en el er¡uipo digital antiguo, pero actualmente se han hecho más populares otros

'14 13 12 t1 1C S I

[¡uesca

El chip puedo
7 lsn6r un pequoño
6 punto cerca
4
5 1234567
14 3 de la tsrmlnal 1
?
(a) {b)

ChiP Esquina b¡solada


de s¡l¡c¡o

Tsnninal € ----'

Termina¡ 1

+ Terminal 14 Terminal 1

(c) (d)

rtct:¡tA 3-zJ (a) Encapsulado dual en línea (DIP); (b) vista superior; (c) el chip de silicio es mucho más pequeño
que el encapsulado protector; (d) encapsulado PLCC.

'Se incluye esla sección para fos qué usan circujtos integrados TTL en ejercicios de Iaboratorro. Lcs que
úsan FPGA para éxperimsnlos pueden ornitir esta sección.
140 C.l}f T[,r,o 3/CIRCUlros LÓGICos coMRINACI{JNALns

tipos de encapsulados. ÉI CI que se muestra en la figura .t'29(d) es só)o uno ce


1os muchos encapsulados comunes en los circuitos digitales modernos. Este ti¡ o
específico utiliza puntas en forma de J que se encorvan por debajo ilel CI.
A menudo los circuitos integrados digitales se clasifican de acue¡do con la
complejidad de stts circuitos, con base en el nÍrmero de corrtpuertas ló¡¡icas equi'
valentes en el sustrato, En la actualidad existen seis niveles de compleiidad qu,:,
por lo común, se definen como se muestra en la tabla 3'5.

TABLA 3-5 Caregorías éompuertas por chip


Complei¡dad
de circuitos integrados.
lntegrac¡ór a pequeña escala (SSl) Menos d6 1 2
lntegración a mediana escala (MSl) De12a99
htegración a gran escala (LSl) De 100 a 9999
lntegráción a muy grande escala (VLSI) De10,000a99,999
lntégración a ultra gran escala (ULSI) De 100,000 a 999,9s9
lntegración a g¡ga escála (GSl) 1,000,000 o más

Todos los circuitos integrados específicos a los que se hizo referencia eir
el capítulo 2 y en este capítulo son chips SSI con un nú¡nero pequeñtl de corr.-
puertas. En los sistemas digitales modernos, los dispositivos con integración :t
mediana escala (MSI, por las siglas de mediam-scdle inteerrrtion) e inte¡¡ración a grutr
escata (L§I, VLSI, ULSI, GSI) realizan la mayoría de Ias funciones que alg,un,r
vez requirieron de varios tableros de circuitos llenos de dispositivos SSI- No ob:-
tante, los chips SSI se siguen utilizando como "interfaz" o "pegamento" entr()
estos chips más complejos. Los circuitos integrados de pet¡uetia escala facilitart
tan¡biór el aprendizaje de los lundamentos de los sistemas digitales. En conse"
cuencia, muchos cursos basados en laboratorio utilizan estos circuitos inte¡¡radori
para construir -v probar pequeños proyectos.
Ahola el mundo industrial de la electrónica di8itai se ha conce¡ttrado e¡r
los tlispositivos lógicos programables (PLD, por las siglirs de progratnntoblc ktgir:
deuices) p&ra implementar un sistema digital de cualquier tanaño considerable.
Algunos PLD simples están disponibles en erlcapsulados DII', pero los disposiri
vos lógicos programables más complejos requieren mLtciras más te¡nrinales dt,
las que están dispooibles en los DIP. Los circuitos integrados más grandcs qut
tal vez necesiten extraerse de un circuito para sustiruirlos, se fabrican por lc
general en un encapsulado de soporte de chip de plástico con contactos (Pt,ClC.
por las siglas de plastíc leaded chip carrie4. l,a figura 3"29(d) muestra el FIPM
712USLC84 de Altera en un encapsulado PLCC. l-as caracrerísticas clave de este
chip son más ternrinales, un tamaño más compacto ¡r rerminales alrededor cle
todo su perímetro. Observe que la terminal 1 no está "en la csquina" como en
el DIP, sino en medio de la parte superior del encapsu.lado. l,a ma¡-oria dc lns
cilcuitos lógicos que se usan en la actualidad son mucho ñás complejos (VLSI y
mayores) y requieren muchas más terminales. No pueden retirarse y volverse a
colocar en un tablero de cilcrritos experimental, por 1o que los describiremos e¡r
una sección posterior.

Circuitos intcgraitlos bipolares y unipolare$


I¡s circuitos integrados di&ixales también pueden clasificarse de acuerdo con el
tipo principal de componente elect¡ónico utili?ado en sus circuitos- I-os circuitos
íntegrados bipoldrcs se fabrican mediante el uso del transistol de Lurión bipolar
(NPN v PNP) como elemento pri»cipal del circuito. Los cirr:uitos infüsratlos wtiprt"
larc.s utilizan el transistor unipolar de efecto de campo ( N{OSI;E t dc canal P y N)
como su elemento principai.
La familia lógica de transistor/transistor (TIIL, por las siglas de trarisis-
tor-transístar logic) ha sido la famiiia principal de circuitos integrados digitales
bipolares durante más de 40 años. La serie 74 cstánda)'fr:c la pr-imera serie de
cicuitos inte8,r'adgs 'l'TL, pero ya r1o se utiliza e¡1 diselios nuevos d.rbido et qtte
fue sustituida por varias series TTL de' mejor desempeño, aunque su ar"reglo
SEccróN 3"g/CARAcrERfsrICAs BÁsrc.as DE Los crRcurros TNTECRADoS DrcrrArEs l{1
I Voo
(14) (14)

3.6 k(¡ 1.6ko 115 f)


R1 R2 a^

or
Q¿
Entrada A
(1) Sa¡ida
D? (2)
Sálida o?

Eñtrada A (2i
(1) Q3
GND
1 k(¡ (7)
R3 (b)
Núm6ro
de leminal

GND{7)
(a)

ti¡O{ RA .}-10 (a) Circuiro INVERSOR 1'TL; (b) Circuito I}i¡'/ERSOR CMOS. Los ntimeros de reÍminales se
nuestran entre paréntesi§.

básico cle circuitos forma la base para todos los cilcuitos integrados de las series
'II'L.flste an'eglo de circuitos se muesu'a en la figura 3"30(a) para el IN\GRSOR TTf,
estándar. Observe que el circuito contiene varios transistores bipolares como
cicmenr os principales del circuito.
TTL fue la familia }íder de circuitos integrados en Ias categorias SSI y lVISl
l'¡asti¡ alrededo¡ de la década de 1990. I)esde entonces la tecnolog,íar CMOS ha
desplazado Bradualmente a TTL de esa posición. La lamilia de semiconductor
metal-óxido complementario (CMOS, por las sig,las de complementat y metal-oxid
semiconductar) pertenece a la clase de circuitos intcgrados drgitalcs unipolares,
ya que uriliza transisto¡es IVIOSFET de canal P y N como elementos principales del
ci¡cuito. La figura 3"30ib) es un circuito INVERSOR CMOS estándar. Si compara.
rnos .los circuitos fiL y CMOS de la figura 3-30, es evidente que la versión CMOS
uriliza menos conlponentes. Esta es una de las principales ventajas de CMOS en
comparación con 'IT[,.
Debido a la sim¡:ieza y tamaiio reducido, asÍ como de otros amibutos supe'
riorcs de los circuitos CMOS. krs circuitos integrados modernos a gran cscala se
fabrican utilizando en su mayor parte la tecnoloSía CMOS. I-os cursos de labo'
rarorio que utillzan dispositivos SSI y MSI a menudo utilizan TTL debido a su
resistencia, aunque algunos utilizan CMOS también.

I-'anrilia T'I'L
La familia lógica TTL consta en realidad de varias subfamilias o series. I-a tab.ltr 3-6
lista el nombre de cada se¡ie TTL, junto con la tlesi¿¡,nación de prefiio quc se
utiliza par¿1 identificar los distin¡os circuitos integrados como parte de esa serie.
Iaor ejemplo, los circuitos integrados que forman parte de 1a serie'IITL estándar
tienen un ¡rúmc¡o de identificación que comienza con 74. Ios circuitos integra-
dos 7402, 7438 y 74123 son de esta serie. De igual forma, los CI que forman pzLrte
de la serie TT'L Schottky de baio consr¡mo de energía tienen un número de iden-
tificación que comienza con 74LS. Los CI 74LS02, 74LS38 y 741,S123 sqn eiem"
plos de dispositivos de esta serie.
Las principales diferencias en las diversas series 'f I'L tienen que ver co¡r sus
caracteristicas e1écricas tales cómo 1a disipación <le potencia y la velocitlad de
conmutación. No difieren en cuarto a la distribución de las terminales o las ope-
raciones lógicas realizadas por los circuitos en el chip' Por eiemplo, los Ct 7404,
142 C.uirur.o 3lcIilcurros Lócrcos coMBrNAcIoNAr,¡ts

TABLA 3-6 Varias


series dentro de la Seriss TTL Prefüó Cl dB ejomplo
fanrilia 1ógica TTL. fTL esiándar 74 7a04 (¡NVERSOR hex)
TTL Schottky 74S 74504 (INVERSOR hex)
TTL Schottky de bajo consumo de energla 74LS 74LS04 (INVERSOR hex)
TTL Schottky avanzado 74AS 74AS04 (INVEBSOH hex)
TTL Schottky avanzado d6 bajo consumo 74ALS 74ALS04 (INVEBSOR h€x)
de energia

74S04. 74LS04, 74AS04 y 7 4ALS04 son circuiros de INVERSORFIS, cacta uno de


los cuales contiene sÉis INVERSORES en ün solo chip.

!rrn¡ili¿r CIUOS
Actualmente existen va¡ias series CMOS; algufias de ellas se listan en la tabla 3-i'_
La serie 4000 es 1a más antigua. Esta serie contiene muchas de las mismas fur.-
ciones lógicas que la familia TTL, pero no se diseñó para ser compatiblc con las
ta'minales de los dispositivr:s TTL. Por ejemplo, el chip NOR cuádruple 4001 co¡-
tiene cuatro compuertas NOR de dos entr.adas, a.l igual que el chip 7402 TTl.
pero las entradas y las salidas de las compuertas en el chip CMOS no tic¡ren los
mismos números de terminales que las señales cor.responclierrtes en el chip TTL,
I-as series CMOS 74C, 74HC, 74HCT, 74AC y 74AC'l'son más recienres_ Las
primeras tres son compatibles con las term.inales de los dispositivos TTL co¡r
nu_merac-iones corl'espondientes. Por ejemplo, Ios dispositivos 74CAZ, 7 4blC}Z .¿
74btCT07 tienen la misma distribución de terminaies que ei 7402,74LS02, y aií
cn lo sucesivo. Las series 74HC y 74IICT operan a lrna mayor vclocidad quL ir:i
dispositivos 74C. La serie 74!ICT esrá diseñada para set eléctricome¡¡te cornjtatibt,:
con Ios dispositivos TTL; esto es, uu circuito integrado 74IICT pucde cnnácta.r.,
en forma direc¡a con los dispositivos TTL sin necesiclacl de circuitos que acrúerr
como interfaz. Las series 74AC y 74AC'I son ci¡.cuitos inregrados de desempeño
avanzado, Ninguno es compatible con las terminales de los circuitos TTL. Lo,;
dispositivos 74ACT son elécricamente comparibles con los circuitos TTl".

TABLA 3-7 Va¡ias


series denrro de la Se¡ie CMO§ Pr6füo Cl de eiomplo
famitia lógica CMOS CMOS de compuerta de metal 40 4001 (cuatro compuertas NOR)
Compuerta de mstal, compatibl6 con las 74C 74C02 (cualro compuertas
termina,es de TTL NOB)
Compue.ta de sil¡c¡o de alta veloc¡dad, 74HC 74HC02 (cuatro compuortas
compatiblo con las torm¡rales TfL NOR)
Compuerta de silicio dc alta velocidad, 74HCr 74HCT02 (cuatro
compatible con las terminales y eléctri- compuertas NOR)
cámenle compátible con la fam¡tia TTL
CMOS con desempeño áyanzado, no es 74AC 74AC02 (cuatro compuertas
compatible con las terminaies n¡ es eléc- NOR)
tricamenté compat¡bl€ con la famitia fiL
CMOS con desempeño avanzado, no 74ACT 74ACT02 (cuátro
es cómpátiblé con las term¡nales de compuertás NOR)
TTL, pero es eléctricameote compatible

Alirnentacié¡r y tierra
Para usar circuitos integrados digitales es necesario r.ealizar !as conexiones apro-
piadas a las terminales del CI. Las conexiones más importantes son: alim¿¡n¿a..ión
dt: corrieftae continlta (cc) y tierrc. Estas conexiones son ¡.eque¡idas pafa que lüs
ci¡ct¡itos en el chip operen en forma correcta. En la figuia 3-30 podenios rer
sEccróN 3.9/CÁRACTERÍsrIcAS BAsIcAS DE Los cIRCUITos INTEGRaDos DIcITALES 1{3

que tanto el circuito 'ffl- como CMOS tienen un voltaje de alimentación de cc


conectado a una de sus terminales, y tiera en la otra. La terminal de voltaje de
alimentación se etiqueta como Vcc para el circuito T1L y como yDD para el cir-
cuito CMOS. Muchos de los circuitos integrados CMOS más recientes que está"n
diseñados para ser compatibles con los circuitos integrados TTL también utilizan
Ia designación V¿¿ en dicha termiual.
Si el CI no se conecta al voltaje de alimentación o a tierra, las compuertas
lógicas en e1 chip no responderán en forma apropiada a las entradas lógicas y las
compuertas no producirán los niveles lógicos de salida esperados.

Intervalos dc' r,oltaje de niveles lógicos


Pa¡a los üspositivos TTL, el valor nominal de ycc es +5 V. Pa¡a los circuitos
integrados CMOS, yDD puede variar de +3 a +18 V, aunque el valor más común
es +5 v clrando los circuitos integrados CMOS se utiliean en Ia rnisma placa con
ci¡cuitos integrados TTL.
Para los dispositivos TTL estándar, los intervalos de voltaje cle entrada acep-
tables para los niveles de 0 lógico y de 1 ]ógico se definen como muestra la figu'
ra 3-31(a). Un 0 lógico es cualquier voltaje en el intervalo de 0 a 0.8 V; un 1 1ógico
es cualquier voltaje de 2 a 5 V. Los voltajes que no se e cuentran en ninguno
de estos intervalos se consideran como indeterminados y no deben utilizarse
como enradas para un dispositivo TTL. Los fabricantes de circuitos integrados
no pueden garantizar Ia marera en que responderá un circuit<¡ TTL a los niveles
de enrada que se encuentren en el intervalo indeterminado (entre 0.8 y 2.0 V).
La figura 3-31(b) muesua los intervalos de voltaje de entrada lógicos para los
circuitos integrados CMOS que operan con Yp¿ = * 5 V. Los voltajes entre 0 y 1.5 V
se definen como un 0légico, y los voltajes desde 3.5 hasta 5 V se definen como
un 1 iógico. El intervalo indeterrninado comprende 1os voltajes entre 1.5 y 3.5 V.

lirlcUR-{ J-31 lnteri'¿los TIL CMOS'


de voltajes de entrada de 5.0 v 5.O V ..
los niveles lógicos 1 Lóclco
para 1os circuifos
1 LÓGICO
integrados digitales 3.5 V
(a) TTI. y (b) CMOS,

2.0 v lndoterminado

lndeten¡inado
1.5 V
0.a v
O LÓGICO
O LÓGICO
OV OV
'Vop i5V
(a) (b)

Entr:rdas descone(:tadas ( flotantes)


¿Qué ocurre cua¡ldo la enüada a un cilcuito lntegrado diSital se deja clesconectada?
Pot'lo general, a una entrada desconectada se le conoce como entrada flotante.
La respuesta a esfa pregunta será distinta pa¡a TTL y para CI\{OS.
Una entrada TTL flotante actúa justo igual que un 1 lógico' En oras pala-
bras, el CI responderá como si se le hubiera aplicado un nivel ló¡1ico ALTO. Esta
característica se utiliza a menudo cuando se prueba un ci¡cuito TTL Un téc¡rico
descuidado podrÍa dejar ciertas entradas desconectadas en vez de conectarlas
a un nivel lógico AI.TO- Aunque esto es "lógicamente" correcto no es una prác'
tica recomendada, en especial cuando se t¡ata de diseños de circuitos finales, ya
que la entrada TTL, flotarte es muy susceptible de recoger señales rle rrrido que
podrían afectar en forma adversa la operación del dispositivo.
1t¡4 capfTtrl,o 3/CIRCürros Lóctcos colf RI!'{ACloNAtEs

En algunas cornpuertas TTL, una entrada flotante puede inclicar un ni¡"el d,:
corriente directa de entre 1-4 y 1.8 V, si se comprueba con un voltímetro o url
osciloscopio, Aun cuando estos valores se encuentran en el intervalo indetermi'
nado para'ITL, producirá la misma respuesta que un 1 iégico. Puede ser de grarl
ayuda tefler en cuenta esta cáracterística de una entrada'1"1L {lorante al diag'
nosticar fall¿s en circuitos TTL.
Si una entrada CMO§ se deja flotante, pueden producirse resultados desas'
trosos. El CI podría sobrecalentarse v hasta dañarse. Por esta razón, todas lar;
enradas de un circuilo integrado CMOS deben conectarse a t¡n nivel ALTO rr
IlAJ0, o a la salicla de <.¡tro CL Ufia entrada CMOS flotante no se rnetiirá como urr
voltaje especítico tle cor¡iente directa, sino que fluctuará en torma aleatoria ?r
rnedida que recoja ruido. Por ende, no actúa como 1 ni como 0 k'lgico y su efectt,
sotrre la saiida es impredecible. Aigunas veces la salida oscilará corno resultadc,
del ruido que recoja 1a salida flotante.
Muchos de los circuitos integrados CMOS más complejos tiencu circuito:
integrados en las entradas, los cuales reducen 1a probabilidad de cualquier reac'
ción tlestructiva para una entrada abierta. Con estos circuitos no es necesaric
aterrizar cada una de las terminales que no se utilicen en estos CI grandes a la
hora de experimentar- No obstante, es una buena práctica conectar las entradas
nó utilizadas al nivel ALTO o BAJ0 (lo que sea apropiado) en la implementación
del circuito final.

Iliagrarnas de conexiones dc c irclritas lógicos


Un diagrama de conexiones muestra todas las conexiones eléctricas, números
de terminal, números de Cl, valores de los componentes, nombres de las seña-
les y voltajes de alimentació¡r. La figura 3-32 muesra un diagrama de conexio-
nes común para un circuito lógico simple. Examínelo con cuidaclo y observe los
siguientes puntos importante s:

1. El circuito utiliza compuertas lógicas de dos CI distintos. Los dos INVER-


SORES {orman parte de un chip 74HC04, designado como 21. E1 7 41JCA4
contiene seis INVERSORES; dos de ellos se utiliza¡r en este circuito y cada
unr¡ está etiquerado como parte <tel chip 21.I)e manera similar, las dos com-
puertas NAND son parre de un chip 74HC00 que contiene cuatro compuertas
NAND. Torias 1as cornpuertas en este chip están designadas co¡r la cti-
q$eta 22. AJ numerar catla compuerta como 21, 22, Z'3 etcétera, podernos
llevar el registro de cuál compuelta forma parle de cada chip. Esto es muy
útil e¡ los circuitos más complejos que contienen muchos CI con varias com'
puertas por chip.
2. El nLirnero de terminal de las ent¡adas y salidas de cada compuelta sc in-
dica en el diagrama. Estos'¡rírmeros de terrninales y las etiquertrs de los CI

l'l{;1. ¡t.\ l".ll Dia8rama r 5V rSV


de conexione¡ de un
circuito lógico comrin. ner-o¡ 14 14
CI Tipo
1 2 1 11 74HC04 séls invgrsoros
3 Z2 74HC00 cualro compuertas NAN0
7 IDA FELO.I
2
7

CAHGA 3 4

OESPTAZAMIENfO 10
SAI-IDA DESPLAZAÑ,lIENTO
a
s
sECcréN 3-9/CARAc'rnRisrrcAs RÁsrcAS DE Los orRCUlos TNTEGR-q¡os DrcITALris 145

se utihzan para l'aciiitar ia-referencia a cualquier punro en el circuito. Por


ejemplo,la termínal? deZl se refiere a la terminal de salida del INVERSOR
superior. De manera similar, podemos decir que la terminal 4 de Z1 está co-
nectada a la terminal 9 de 22.
3. Las conexiones de alimentación y de tierra para cada CI (no para cada com'
puerta) se úuestran en el dia$ama, Por ejemplo, ia terminal 14 de 21 está
conectada a +5 V y la terminal 7 de 27 está conectada a tieña. Estas cone-
xiones proveen de energía a fodos los seis INVERSORES que forman parte
de ZI.
4. Para el circuito mosüado en la figura 3"32, ias señales que son entradas están
a la izquierda. Las señales que son salidas están a la derecha. La barra sobre
el nomb¡e de la señal indica que ésta es activa en BAJO. Las burbujas se co-
locan también en los símbolos del diagrama para indicar el estado activo en
BAJO, En este caso, es obvio que cada seña1 es un solo bit.
5. Las señales se definen en forma gráfica en la figura 3-3? como entradas y sa-
lidas, y la relación enÍre ellas (la operación del circuito) se describe en forma
¡gáfica mediante el uso de símbolos lógicos intercorectados.
Por lo general, los fabricantes de equipo electrónico suministran diagra-
rnas esquemáticos detallados que utilizan un formato similar a1 de la ligura 3-32.
Estos diagramas de conexiones son virtualmente ¡ecesarios cuandn se diagnos-
tican fallas en un circuito defectuoso. Hemos optado por identificar los CI indi
viduales como 21, ZZ,7-3, etc,átera. Otras designaciones que se utilizan co¡r fre-
cuencia son IC1, 1C2,IC3, etcétera, o U1, U2, U3, y asi en lo sucesivo.
En el capítulo 2 presenfamos las herramientas para introtlucir gráficos del
software Quartus I1 de Aitera. En la figura 3-33 se muestra un ejemplo de un
diagrtrma 1ógico que se dibujó media¡te el software de Altera. tln circuito como
éste no ilebe implementarse con circuitos integrados lógicos SSI o MSL Ésa es
la razón por la que no hay númelos de terminales ni designaciones de chips en
1os sí¡¡¡bolos lógicos, sólo números de i¡rstancia. El softw¡rre de Altera traducirá
una descripción gráfica de la función Iógica en un archivo binario que se utiliza
para configurar circuitos lógicos dentro de uno de los diversos circuitos integra-
dos digitales de Altera. Más adelante en este capitulo describi¡emos con detalle
estos ci¡c¡.ritos lógicos configurables o programables. Cabe mencionar tamhién
que una convención común para nombrar señales de entrada y de salida es usar
el sufijo N en vez de la barra superior para indicar que la señal c§ activa en
BAJO. Por ejemplo, la entrada CARGAN es una señal que estará en BAJ0 para
potler realizar la función CARGA.

IIAND2
ENTBADA
RELOJN
6 SALIDA
REt OJSALN
1

ENTRADA
7 CABGAN VCC
5
NAN02
EN IBADA
DE$PLAZAMIENfO SALIDA
'i0 DESPLSALN

i.'lctrt{ 1 .}-.ll Diagri¡ma lóeico que utiliza captura de diagramas esqr:emáticos de Quartu$II
,4S CaliTr¡r,o 3/CrRCUIros Lóctcos cotuBrNAcroNALEs

1. ¿Qué tipo de t¡ansis¡or se usa en (a) TTL y (b) CMOS?


2- Nombre las seis categorias comunes de circuitos integrados digitales, tlt:
aruerdo con su complejidad.
3. Verd.adero o /dl§?, un chip 74574 contiene la misma lógica y tlistribución dtr
terminales que el 74LS74.
4. Verdad.ero o fdlso: un chip 7 4HC74 coütiene Ia misma lógica y disrribución de
terminales que el7 4AS7 4.
5. ¿Cuál serie CMOS no es compatible con las lerminales de 1'1L?
6. ¿Cuál es el intervalo de voltaje de entrada aceptable de un 0 lírgi«:o par;r
TTL? ¿Para un 1 lógico?
7. Repita la preBunta 6 para un CMOS que opera a Y¡¡:5 Y.
8. ¿Cómo responde un circuito integrado T'IL a una entracla flotante?
9. ;Cómo responde un circuito i¡tegrado CMOS a una ent¡ada Uotarlte?
10" ¿Cuál serie CMOS puede conectarse en forma directa a un llTL si¡ nei:osidari
de circuitos de interfaz?
11. ¿.Cuál es el propósito de los númelos de terminales en e1 diagrama de cone-
riones de un circuito lógico?
12. ¿Cuáles son las similitudes clave de los archivos de diseño gráfico que se
r.rtilizan para los diagramas de conexiones de circuitos lógicos tradicionales y
de lógica programable?

3-TO DIAGNÓST]CO DE FAL1AS DE §ISIEMAS DIC¡TALES

RESUTTADOS
Al finalizar esta sección, usted será capaz de:
I Mencionar los tres pasos necesarios para recuperarse de una ialla del
sistema.
r Usar u¡.a sonda lógica para deternrinar el nivel lógico prescnte en cutrlr¡uier
punto de un circuito.
Iixisren ties pasos básicos pana corregir un circuiro o sistema di¡iital que
tenga una Ialla:
L. l)atcc:c:itjn de Jallcer, Observe Ia operación del circuirolsistema v ctimpárela con
la operación correcta esperada.
2. Aislamiento de /allas. Realice pluebas y mediciorles para aislar 1a lalta.
.1. Corrección de jallas, Sustituya el compunenfe defectuoso. repare la conexi<in
defectuosa, elimine el corto, o realice la acción pertinente,
Aunque esros pasos pueden parecer bastante obvios y simples, el procetli,
mientr¡ r'eal de diagnóstico de fallas c¡ue se siga dependerá en gran partel dcl Lipo
y l.a complejidad del circuito, y de 1os ripos de herrar¡rientas de diagnóstico de
falias y de 1a docomenración disponible-
Las buenas técnicas de diagnóstÍco de fallas sólo pueden aprenderse en un
entc¡rno de lahoratorio, por medio de la experimentación ¡z el diagnóstico de Iallas
real c¡r circuitos y sistemas dcfectLrosos. Nr¡ existe en absoluto una nrejor forma
dc convc¡^rirse en un técnico cle diagnóstic0 de fallas eficiente que tratar de diag-
nr¡sticar fallas en tr¡clt¡s los circuitos qrre sea posible; además, por rnás lib¡.os de
texto que lea no podrá obtener de ellos ese tipo de experiencia. No obstante,
podemos ayudarle a desarollar las habilidades analíricas que torman la
¡:ar.te
más r,'sencial de una récnica eficiente dc diagnóstico de fallas. I)escribircmos
los tipt-rs tle f¡llas cotnunes er¡ los sistetnas co¡trp!¡estos en su rnÉrvor parte de
circrritos integradr:s digitaies y le indicaremos cómo reconocerlas. I)es¡ruós le
SICC¡ÓN 3-10/DIAG¡{ÓSTfCo DE FALLAS DE SISTEMAS DTGITAIE§ r47

presentaremos ejemplos prácticos n'iviales para ilustrar los procesos analíticos


implicados en el diagnóstico de faltas. Además, habrá problemas al final del
capít.ulo para quc usted tenga la oportunidad de pasar por estos procesos ara.
líticos para obtener sus propias conclusiones acerca de los circuitos digitales
defectuosos.
Para los análisis y ejercicios sobre diagnóstico de fallas qüe realizaremos en
este Iibro, supondremos que el técnico de diagnóstico de fallas tiene a su disposi-
cíón las herramientas básicas para este propósito: sonda lógica, osciloscopio y gene-
rad.or de pulsos lógico. Desde luego que la herramienta de diagnóstico de f¿Ilas
más importante y efectiva es el cerebro del técnico, y ésa eri la herra:nienta que
esperamos desa¡rollar mediante la presentación de los principios y las técnicas
de diagnóstico de fallas, ejemplos y problemas, tanto aquí como en los capírulos
posteriorc.s"
En las si¿¡uientes tres secciones sobre diagnóstico de fallas utilizaremos sóio
nuesro cerebro y una sonda lógica tal como 1a que se muestra en la iigura 3-34.
La sonda lógica tiene una punta de metal afilada con la que se toca el punto
específico que deseamos probar. En la figura 3"34 se muestra probanrlo (tocantio)
la te¡minal 3 de L¡n CI. También puede tocar el trazo de una tarjeta de circuitos
impresos, un alambre sin aislamiento, la terminal de un conector, la terrninal de un
componcnte discreto como un transistor o cualquier otro pr.¡nto conduci:or etr
un circuito. El nivel lógico presente en la punta de la sonda se ir¡dicará mediante
el estado de sus LED indicadores. En la tabla de la figura 3-34 se muestrar I.rs
cuatro posibilidades- Un nivel lógico indeterminado no produce 1uz en los indica-
dores. Esto incluye la condición en la que la punta de la sonda toca un punto en
un circuito que esté abierto o flotante; esto es, que no esté conectado a nitrguna
fuente de volmje. Este tipo de sonda también cuenta con un LED amarillo para
inclicar la presencia de un ren de pulsos, Cualquier transición (de BA.JO a ALT0
o de ALTO a BAJO) provocará que el LED amarillo destelie dura¡rte una fracción
de se6¡undo v después se apague. Si las transiciones ocurren con frecuencia" eI
LED condnuará destellando a una frecuencia aproximada de 3IIz. Medi¿rrrre la
t¡bseryación de Ios LED rojo y verde, junto con el LED amarillo clestellante, podrá
saber si la señal está la mayor parte dcl tiempo en ALTO o en BA.fO.

LED

Soñdá
Rojo V6rdo Amarillo Condicióñ
lóglca APAG ENC APAG BAJO
A GND ENC APAG APAG ALTO
APAG APAG APAG INDEIEBMINADO
i-ED
X X DESfEI LANDO PULSANDO
indlcadores ' hrcluyo condición ab¡€ña o flotanle

Tari€1a
d6 circ
Iüpréso
GND

IrI(it.iRA J-3^l Una sonda lógicase utiliza para mo¡ritorear Ia actividad de los niveles lógicos en la terminal de u¡ C[
o en cualquier punto accesibie en rrn circuita lógicó.

1. Mencione los tres pasos netesarios para recuperarse de una falla del sisrema
2. Mencione los indicadores en una sonda lógica.
148 CAriarLo 3/CIRCUIT'os t.óGtcos cüMtsINA(TIoNALES

3-11 FALLAS INTERNAS EN LOS CIRCUITOS INTEGRADOS


DIGITALES

RESULTADOS
Al finalizar est:a sección, *\ted lier¿i capaz de:
r lde'ntificar los modos de falla comunes de los citcuitos inregrados digitales
I Reconocer los síntomas de cada modo de falla.
r Entenrler la contención de señales.
Las fallas internas más cornunes en los circuitos integrados digitales son:
1. Fallas en los cilcuitos internos.
2. Entradas o salidas én cortocircuito a tierra o a 7¿¿.
3. Entradas o saliclas sin conectar (circuito abierto).
4. Corto entre dos terminales (que no sean tierra ni V¡¡;)-
Ahora describiremos cada uno de estos tipos de fallas.

Fallas r§ l¡¡s ci¡cuitos inter¡tos


Por 1<l general, estas fallas son ocasionadas debido a que uno de los componentes
internos falla por completo u opera fuera de sus especificaciones. Cuando estr>
oculre, las salidas del CI no responden de ma¡era apropiada a las entradas. N¡t
hay forma de predecil lo que harán Ias salidas, ya que esto dependc del corrrpo-
nente interno qr¡e esté fallandcl. Algunr:s ejemplos de este tipo de fallas scrían
un cür1o tipo base'emisor en el transisror Q.¡ o un valor de resistencia demasi¿rdr¡
grande para R¿ en el INVERSOR T'IL de ta figura 3.30{a). Este tipo de falla
interna del Cl ¡ro es tan común como las ot¡'as tres,

Entracla c{}fi r"ortocircuito interno a tier:ra {} a [a fuenl{:


de ir¡ iulÉrnl ili:ión
Este tipo de falla interna ocasionará que la entrada de un CI se t¡rredo atar^cadÍr
en el estado BAJO o ALTO. La figura 3-35(a) muestra la terminal de enrrada 2
de una compuerta NAND e¡r cottocircuito a tierra dentro del CI. Esto har.á que la
terminal 2 siempre esté en el estado llAJO. Si esta terminal de entrada se exci¡a
lfl(;[ !tA ].:].1 (a) E1rrrada Corlo
de un CI en cortocircui¡o '5V intemo
intc¡no a lierrai (b) ent¡acia 1.1 14
de u¡ CI en corto i¡rrerno 1

con la fuente de volraje.


2
"x 1
3X
Estos dos tipos de fallas B B
obligan a que la ser¡al de 7
efltrada en la tcl ¡¡ina1 oü
C,:O
cortocircrrito sc q rrede inlefiro
eó el mism() esLado. (al ib)
(c) §alida del Cl en cot¡o-
cilcuito inter¡o a tier.a:
(cl) la sulida e¡ co¡'to ,5V r5V Colo
inte¡¡o con la Iuenle de inlerno
i4 14
vr:ltaje. Iistas clos fallas 1 l
n(} afectan a laE señales 3X 3X
2
en las enradas del Cl- B B
7
Corlo

(,, (d)
SECCIéN 3.1l/FAI,LAS INTERNAS EN ToS cIRcUITos IN'TECRADoS DIGITALES 149

mediante una señal lógica -B, sin duda aterrizará B a tiera. Por ende, este tipo de
falla afectará la salida del dispositivo que está generando la señal B.
De manera similar, la terminal de entrada de un CI podría ester en corto
interno con *5 V, como en la figura 3-35(b). Esto úantendría a esa terrninal atas-
cada en el estado ALTO. Si esta terminal de en¡rada es excitada por Lrna señal
ló6ica.4, sin duda pondría en corto aA con +5 V.

§alida en cortocircuit.o interno con tierr.& o la f uente


de ;riirnentarién
Este tipo de falla interna provocará que la terminal de salida se quede atascada
en el estado BA,)O o ALTO. La figura 3-35(c) muestra a la terminal 3 de la com"
puelta NAND en cortocircuitr¡ a tierra denro del CI. Esta salida se queda atas-
cada en BA.]O y no responderá a las condiciones que se aplic¡uen a las terminales
de entrada 1 y 2. En otras palabras, las entradas lógicas á y B no tendrán electo
sobre la salida X.
La terminal de salida de un CI también puede quedar en corto con +5 \¡ den-
tro del C-1, como se muestra en la figura 3-35(d). Esto obliga a que la terminal de
salida 3 se qr.Lede atascada en ALTO, sin importar el estado de las señales en las
terminales de enrada. Observe que este tipo de falla no tiene efecto sobre
las seiales lógicas en las entradas del CI.

Consulte el circuito de la figura 3-36. Un técnico utj.liza una sonda ló6ica para
determinar las condici<.¡nes de las diversas terminales dei CI. Los resullados se
registran en la {igura. Examine estos resultados v determine si el circuito está
trabajando en forma apropiada. Én caso contrario, sugiera algunas de las posi-
bles fallas.
l¡l(;t R-1 "i-.16 Ejemplo rsv ¡ SV
3.24. Terminál Condiclón
14 14 71-3 Pulsándo
3 4 1
z1-4 BAJO
3X BAJO
2
B z2-2 ALTO
ALTO
1

Solnciór¡
La terminal de salida 4 del INYERSOR debe estar pulsando, ya que su enrada está
pulsando. No r:bstante, los resultados registrados muestran que la terminal 4
está atascada en BAJ0. Como esta terminal está conectada a Ia termi¡ral 1 de
22, Ia salida de la compuer-ta NAND se mantiene en ALTO- De nuesuo análisis
anterior podeülos listar rres posibles fallas que podrían producir esta operación.
F)n primer lugar, podría existir ulla falla en un componente i¡rterno en el
INVERSOR que no le permita responder en forma apropiada a sr.r entrada. En
segundo lugar, la ¡r¡rminal 4 del INVERSOR podría estar en cortocircu¡to interno
a tierra pára 21, con lo cual se mantendría en BAJO, En tercer lugar, la termirral 1
de ZZ podría estar- en cortocircuito interno a tierra para Z2- Es¡o evitaría que
cambi¿rra 1a terminal de salida del INVERSOII.
Además de cstas posibles fallas, puede haber conos externos a tierra en cual-
quier parte de la ruta conductota entre la telrninal 4 de Z1 y la terrninal 1 de 22.
En la sección 3-13 veremos cómo aislar la verdadera fa]la.

[ntra<!a o salida sin conectar (circuito abiertoi


Algunas veces el alambre conductor tan fino que conecta la terminal de un CI
con los circuitos internoÉ del mismo se rompe' lo cual produce un circuito abierto.
La figura 3-37 del ejemplo 125 muesra esta situación para una enrada (terminal 13)
r50 CApfrlllo 3/ClRcutl os l.ócicos cc,MBINACIóNALBS

y una salida (terminal 6). Si se aplica una señal a la terminal 13, no llep,ará a la
entrada de la compuerta NAND'1 y, por 1() tanto, no tendrá electo sobre su salida.
La entrada abierra de [a compuerta estará en el estado flotante. Corno dijirnos
antes, los dispositivos T'I'L responderán como si esfa entrada flotante {ucra un 1
Iógico v los dispositivos CMOS respontlerán en Iorma errática, y tal vez podrian
dañ¡r se dcbido al sotrrecalentamient o.
La abertura en la salida de 1a compuerta NAND-4 evita que la señal llegue a
la terrninal 6 del CI, por lo que no habtá un voltaje estable plesente en esa tctmi-
nal. Si esta telminal se conecta a la entrada de otro CI, producirá una conrlición
flotante elr estr entrada.

¿Qué indlcaria una soncla lóEiica en la terminal 13 y en ia terminal 6 de la figura


3.37?

l.'l(lt t{\ .1,3: U¡r Cl con


lttla e¡traala lbierl a en
forma interna no respon-
14 13 12 11 10
lt 9 ¡

derá a las setiales que se /


Abierto
apliquen a esa terminal 1 2
de enttada. Una salida
abiertir efl fbr¡¡ra inte¡¡a 741S00
producirá un voltaje
iürpredcciblÉ en esa 3 4
Abierlo
terminal de salÍda.
GND
2 3 4 5 6

§r¡lució¡r
En la terminal 13, la sonda lógica indicará el nivel lógico de la señal externa
q e se conecta a la terminal 13 (la cual no se muestra en este diagralna). En la
terminal 6, la sondu lógica no tendrá ningún LED encendido para un nivel 1ógicr:
i¡determinado, ya que el nivel de salida de la compuerta NAND nunca llegará a
la ¡erminal 6.

Consulte el circuito de la figura 3-38 y ias inclicaciones re5¡istradas de la sonda


lógica. ¿Cuáles son algunas de las posibles fallas que producirÍan esos rcsulla'
dos? Supon8a que los circuitos inteBrados son TTl,.

IrtG r.:R,1 3.ls Ejempio 41 'Ion¡inal Condición


3-26. 3
X
z1-3 ALfO
2 z1-4 Bajo
22-1 Bajo
I 22-2 Pulsando
22"3 Pulsando
Note: No sé mueskañ les con€xionos
a Voo ñi a li€rra de los circultos
hrtogrados

Sr¡h¡ciór¡
Un análisis de los resultados registrados nos indica que el I!üYERSOI{ palece
estal funcionando en forma correcta, pelo la salida de la compuerta NAND es
inconsistente con sus entradas. La salida NAND debería estar en ALTO, ya quÉl
su terrninal de entrada 1 está en BAJO. Asle nivel BAJO deber'ía evitar <¡re )a
compuerta NANI) responcliera a los p*lsr:s en la terminal 2. Es probable qrre
este r-rivel BAJO nu esté llegando a los circuitos internos de la compuerta NANI)
debidr¡ a una abertura interna. Como el CI es T'fI-,, cste circuito abierto produciriit
SEccIéN 3.11/FALLAS ¡N?ERNAs EN Lo§ cIRcUITos INTEGnAr,os DIGITALES 151

el mismo efecto que un nivel ALTO 1ógico en la terminal 1. Si el CI hubiera sido


CMOS, el circuito abierto interno en la terminal l podria haber generado una
salida indete¡minada, Io cual podría provocar un sób¡ecalentamiénto v la des-
nucción dcl chip.
l)e 1o antes expuesto en relación con Ias entradas TTL abierfas, usted pod.rÍa
haber esperado que eI voltaje de Ia terminal 1 de 22 estuviera entre 1.4 y-1.8 V,
y que la sonda IóÉica deberÍa haberlo registrado como indetermina¿o. Bstó
hubiera sido cierto si el circuito abierto hsera externo para el chip NAND. Como
no hay circuito abierro entre la termiúal 4 de Zl y la terminal 1 de 22, el voltaje
en la terminal 4 de Z1 sí llega a 1a rermi¡ral 1 de 22, pero se desconecta den ryo
del chip NAND.

CorÍo entre dcs terminales


Un corto interno ent¡e dos terminales de un CI obligará a que las señales lógi-
cirs en esas terminales siempre sean idénticas. Cada vez que d<ls señales que.se
supone deben ser distintas muestran las mismas var.iaciones de niveles lógicos,
existe una buena posibilidad de que las señales estén en corto.
Considere el circuito cle la figura 3-39, en donde las terminales 5 y 6 de la
compuerta NOR están en corto de manera interna. Este corto hace que las dos
terminales de salida del INVERSOR se conecren entre sí, de manera que Ias
seria.les en la terminal 2 de Z1 y la terminal 4 de 21 deben ser idénticas, aun
cuando las dos señales de entrada del INVERSOR esrán rratando de producir
diferentes salidas. Para ilustrar esto, considere las fo¡mas de onda de entra<la
que se muesEan en el diagrama. Aun cuando estas formas de onda de entrada son
distintas, Ias salidas 21-Z y 214 son iguales.

5 z1-1
4 OV
6 x
ltt
3 l
B I
21-3
Corto 0v
¡ntemo
z1-2 ?

v
z1-4 OV
I
I

t1 t?

IrJ(ltrltj\ .I'11) Cuando se ponener'¡ cotto dos terminales de ent¡ada en forma irterna, §e
obliga las señales que excitan estas te¡¡ní¡ra1es a ser idénricas y, por Io general, se pro-
a
duce una señal coñ tres niveles disLintos.

I)urante el in¡ervalo de t1 a t¿, ambos INVERSORES tienen u¡a enrrada en


ALTO y están Úatando de producir una salida en BAJO, por 1o que estar en corro
no hace ninguna diferencia. Durante ¿:1 intelvalo de ta a t5, ambos INVERSORES
tienen una entrada en BAJO v estián Fatando de producir u¡¡a salida en AI,'I'O,
así que el estar en corto de nuevo no tiene ningún efecto. No obstante, durante
los intervalos de t2 a t3 y de t3 a ra un IN\IERSOR está tratando de producir.una
salida en ALTO, mienrras que el otro está tratando de producir una salida en
BAJO. A esto se le conoce como colisión de señales, ya que las dos señales están
"luchando" una con la otra. Cuando esto ocurra, el nivel de voltaje real que
aparezca en las salidas en corro dependerá de los circuitos internos del CI. [n
los dispositivos TTL, por 1o general será un voltaje en el extremo superior del
inte¡va1o del 0lógíco (es decir, berca de 0.8 V), aunque también podría estar en
el interr.alo indeterminado. En los dispositivos CMOS, por lo general será un vol-
taje en el intervalo incleterrninado.
't52 C.{"irü¡o 3/CIRculTos l-óGlcós coMBINAcIóñArEs

Siempre que vea una forma de onda como la señal de Z1-2' 27"4 en ia figu-
ra 3-39 con tles niveles distintos, será motivo para sospechar que dos señales tle
salida pueden estar en corto.

1, Liste las distintas fallas internas en los circuitos integrados,


2. ¿Cuál falla interna de un CI puede producir señales que muestren fres niveltrs
de voltaje distintos?
3. ¿Qué indicaría una sonda lógica en Z7-2 yZl-4 delatigura 3-39, si A:0 y I =i ?

4. ¿Qué es la colisiórr de señales?

3-12 FALI-AS EXTERNAS

RESUTTADOS
Al findlizar ta sección, usted será cawz de:
¡ Identificar las fallaslmodos de Ialla comunes r¡ue se asocian a los tableros
de circuitos y sistemas,
I Reconocer los sintomas de cada modo de fai1a.
I Usar 1os métodos comunes para diagnosticar estos modos de falla.
I Comprender los efectos de carga en los circuitos digitales
Hemos visto cómo reconocer los efectos de diversas fallas internas para los cir-
cuitos internos digitales. Hay muchas cosas más que pueden salir mal y que so¡r
externas para los CI; en esta sección describiremos Ias más comules.

Línen* de sefi¿1tr irbiertir§


Esta categorÍa incluye cualquier'falla que produzca una ínterrupción o ¿lisconti
nuidad en la ruta conductora, de tal forma que se evite que un nivel de voltaje c,
señal pase de un punto a otro. Algunas de las causas de ias lÍneas de señal abier
tas son:

1. Alambre roto.
2. Conexión soldada defectuosarnente; conexión de alarnbre enroilado floja.
3. Grieta o interrupción en la línea de conexión de un tablero de circuito irn-
preso (algunas de éstas son del grueso de un cabello, y es difícil verlas si¡
una lupa).
4. Terminal doblada o rota en un CI.
5. Zócalo de CI de{ectuoso, de tal forma que el CI no haga buen contacto con el
zócalo.

Con frecuencia, este tipo de fallas en 1os circuitos pueden detectarse mediante
una inspeccién visual cuidadosa y después verificarse desconectando Ia alimcn"
ración del circuito y comprobando si hay continuidad (es decir, una ruta de baja
resisterrcia) con un óhmetro entre 1os d<ls puntos en cuestión.

Considere el circuito CMOS de la figura 3-40 y las indicaciones ele la sonda ló61ica
que se incluyen. ¿Cuál es la falla más probable del circuito?
SEccróN 3-1zlf ALLAS ExTERNAS 153

¡ IcL R¡ 3-40 Ejemplo 1


T€rminal Condiclón
3-27 .
2 l 21-1 Pulsando
B 2
x
ALTO
Pul6aodo
tl 21-4 BAJO
C 6 z1-5 Pulsando
5 z1^6 BAJO
D
Pulsando
Todos lo$ Cl
lridetérmlnado
son cMoa 22-1 lndeterm¡mdo
Z1r 74HC08
22:74HCO?

Solr¡ció¡r
Es probable que el nivel indeter¡ninado en Ia salida de la compuerta NOR
se deba a la enrada indeterminada en la terminal 2. Como hay un nivel BAJO
en 21'6, también debe haber un nivel BA.IO en 22.2. Es evidente que el
BAJO de 21-6 no está llegando a Z?-?, por lo que debe haber un ci¡ct¡ito ¿rbierro
en la ruta de señal enrre estos dos puntos. La t¡bicación de este ci¡.cuito abier-
to puede determinarse empezando desde 21-6 con la sonda lógica y rastr.eando
el nivel BA.fO a lo largo de 1a ruta de la señal haciaZT-2, hasta que cambie a u¡r
nivel indeterminado.

l-ineas de señal elr corto


Este tipo de falla tiene el mismo efecto que un corto interno entre 1as termi¡ra-
les de un CL Provoca que dos señales sean exacta¡nente la misma (colisión de
señales). Una linea de señal puede estar en cq:rtocircuito a tierra o a f/cc en vez
de estar e'n corto con otra línea de señal. En esos casos se obliga a que la señai
permanezca en el estado BAJO o ALTO. Las principales causas de cortos ines¡re"
rados entre dos puntos en un circuito son las siguientes:

i- Alambrado mal instalado. Un ejemplo es cuando se quita demasiado aislante


de los extremos de los cables que están muy cerca uno del otr"o.
2. Puentes de soldaduru. Son salpicaduras de soldadu¡a que ponen en corto dos
o más puntos. Por lo común ocurren entre puntos que están rnuy cercanos,
como las terminales adyacentes en un chip.
3. Desbaste incompleto. El cobre enúe las rutas corldúctoras adyacentes cn una
iarjeta de circuitos impresos no se desbasta de fi¡rma ádecuada.
De nuevo, con frecuencia una cuidadosa inspección visual puede descubri¡'este
ripo de fallas, y Ia comprobación con un óhmetro puede verificar c¡ue los dos pun'
tos en el circuito están en corto.

Fr¡er¡tr tlc alimreutaciÚn dt,:f cctur¡s¿t


Toclc¡s los sistemas digitales tienen una o más fuentes de alimentación de
cor¡iente directa, las cuales suministlan los voltajes Vccy Ytso requeridos por
los chips, Una frrent<,r defectuosa o una sobrecargacla (que suministra más dc su
valor nominal de corriente) proporcionará voltajes de suminisrro mal regulados
a los Cl, y éstos no operarán u operarán en forma i¡rcorrecta.
Una fuente de alimentación puede dejar de legular el vol.taje debido a una
falla en sus ci¡cuitos internos, o porque los cü'cuitos que está alimentando con-
sumen más co¡riente de'la que puede suministrar la fuente. Dsto puede ocu.
rrir si un chip o componente tiene una falla que hacÉ que consuma mucha más
corriente de la normal-
Una buena práctica de diagnóstico de fallas es comprobar los niveles de vol-
taje en cada una de las fuentes de alimentación en el sistema, para v<:r si se
154 C,r?irULo 3/CrncLrrTos !óGrcos coMitrNáctoliALEs

encuentran dentro de sus ir"Itervalos especificados. 'farnbién es una buena id(,a


comprobarlas en un osciloscopío para verificar que no haya una cantidad con¡i"
derable de voltaje de rizo alterno en los ¡iveles de volraje directo, y para verili'
ca¡ que los niveles de voltaje permanezcan regulados durante 1a operación dr:l
sistema-
Uno tle los signos más comunes de falla en la ft¡ente de alimentacií,n €:s qtre
uno o más chips operen en forma lncorlecta, o que no operen en 1o al¡solutr¡.
Algunos CI son más tolerantes a las va¡iaciones de la fuente de alirnentación y
pueden operat en fo¡ma apropiacla, mientras que otros no. Usted siem¡rre debe
comprobar los ¡riveles de voltaje de alimcntacirin y de tierra en cacla CI t¡ue
parezca operar en forrna incorrecta.

Carga de salid¿r
Cuando u¡r CI digital tiene su salida conectada a demasiadas entradas de un C.i,
se excede el valor nominal de su corriente de salida v el voltaje de salida puede
caer dentro del intervalo indererminado. A este efecto se le conoce como ca¡'Bdr'
la señal de salida (en realidad es sobrecargar 1a señal de salida) y, por lo gencra..,
es el resultado de un mal üseño o de una conexión incorrecta.

rcEEEffi Considere el circuito de 1a figura 3-41. Se supr:ne que la salida Y cambiará


ALTO en cualquiera de las siguientes con<liciones:
;r

1. .4:1, B = 0 sin importar ei nivel en C


2. A=0,8=7,C=1
Quizá desee verifica¡ estos resultados por su cuenta

l.ltilRA .l-41 t5V


Ejemplo 3"28.
4
1
X
61 10
3 5 iJ
9
B
? 5V
14
13
11
T€rm¡nai Condición
12
c z1-1 BAJO
1 21-2 BAJO
21-3 ALTO
U'4 BAJO
22"5 ALTO
u-6.10 ALTO
Los Cl son TTL 22-13 ALTO
21: 74L§46 22"12 ALIO
Z2: 74LS0O BAJO
ALTO

Cuando se prueba el cücuito, el técnico observa que la salida Y canrbia a


ALTO cada vez que.4 está en ALTO o que C esrá en ALTO, sin importal el rrivel
er¡ 8. Entonces toma mediciones con la sonda lógica para.la condición en la r¡ue
á= B = 0, C= 1 y obtiene las indicaciones registradas en la figura 3-41.
llxamine los niveles registrados y liste las posibles causas del ma1 funcio¡ra,
miento. Dcsp(rés <lr¡sar¡olle un proceclimiento p¿¡so (r pa:ro pala rlclcr-rr¡i¡t;lr li!
falla exacta.
SEccIóN 3.1zlFAI,tA§ EXTERNAS 155

Solucién
Todas las salidas de la compuerta NAND son correctas para los niveles presen-
tes en sus entradas. Sin embargo, la compuerta XOR debería producir un nivel
BAJO en la termina-l 3 de saiida, ya que sus dos entradas se encuentran en el mismo
nivel BAJO. Parece que Z1-3 se queda en ALTO, aun cua¡rdo sus ent¡adas debe-
rían producir un nivel BAJO. Hay varias causas posibles de esto:

1. Una falla en un componeÍLte interno en 21 que evite que su salida cambie a


BAJO.
2. Un corto externo con I/66 desde cualquier punto a lo largo de los conductores
conectados al nodo X (sombreado en el diagrama de la figura).
3. La terminal 3 de 21 en corto interno con 7g¿.
4, La terminal 5 de 22 en corto interno con Y¿6.
5. La terminal fl de Z2 en corto interno con tr¡66.

Todas estas posibilidades (excepto 1a primera) pondrán en corto di¡ecto el nodo X


(y todas las teminales del CI que estén conectadas a é1) con I/¿¿.
lil
siguiente procedimiento puede usarse para aislar la falla. Este proce-
dimiento no es el único mérodo que puede utilizarse y, como dijimos a¡tes, el
verdadero procedimiento de diagnóstico de fallas que utiliza un técnico es muy
dependiente del equipo de prueba que tenBa disponible.

1. Compruebe los niveles de I/¿¿ y de tie¡ra en las terminales apropiadas de 21.


Aunque es muy poco probable que la ausencia de cualquiera de estas dos se-
ñaies pueda hacer que Z1-3 se quede en ALTO, es conveniente realizar esta
comprobación en cualquier CI que esté produciendo una salida inco¡'recta.
2. Desconecte la alimentación del circuito y utilice un 6hmet¡ o para corn¡rrobar
si hay un corto (resistencia menor de 1 r)) entre el nodo X y cualquier punto
conectado a ycc (ta1 como 27-14 o 22'74). Si no se indica un cortoi podemos
eliminar las últimas cuatro posibilidades en nuestra lista. Esto significa que
es muy probabie que Z1 tenga una faila interna y deba sustituirse.
3. Si el paso 2 muestra que hay un corto del nodo X a V¿¿, realice un examen
visual detallado de la tarjeta del circuito y busque puentes de soldadura,
lengüetas de cobre sin desbastar. alambres sin aislamiento que se toquen
unos con otros, y cualquier otra causa posible de un corto externo con I/¿1'.
Un punto probable para un puente de soldadu¡a sería entre las termi¡rales
adyacentes 13y 74 deZz. [,a terminal 14 se conecta a tr¡¿¿ v ta 13 al nodo X. Si
se encuenra un corto externo, eliminelo y realice una comprobación con un
óhmetro para verificar que el nodo X ya no esté en corto con ycc.
4. Si el paso 3 nr.l revela un corto exferno, las tres posibilidades que quedatr son
cortos intelnos cor ycc y Z7-3, 22-13 o Z2-5. U¡a de éslas pone en corto el
no<[o X con Vsc.

Pala determinar cuál de estas terminales del CI es la culpable, debemos des-


conecrar cada una de ellas del nodo X unq a Ia uez y debemos t,olver a comprobar
si hay un corto cor l/¿6 después de cacla desconexión. Cuando se desconecte la
terminal que esté en corto interno con 76c, el nodo X ya no estará en corto coll
Vcc.
El proceso de desconecar cada una de las terminales sospechosas del nodo X
puede ser fácil o difÍcil, dependiendo de la manera en que esté construido el
circuito. Si los CI están en zócalos, todo 1o que necesitamos hacer es extraer el CI
de su zócalo, dobiar la terminal sospechosa y volver a insertar el CI en su zócalo.
Si los CI están soldados en una tarjeta de circuitos impresos, tendrá que cortar
la línea que está conectada con la terminal y repara¡'1a 1ínea corfada cuando
termi¡e.
r5$ c¡Pifrr[,o 3/CrRCrirros r,óGtcos cot\f BINActüNALES

Aunque es bastante simple, el ejemplo 3-28 le muestra el tipo de razona-


miento que debe emplear un técnico de djagnóstico de fallas para aislar una
falla. Usted tendrá la oportunidad de comenzar a desarrollar sus propias hat,i-
lidades de diagnóstico de fallas al trabajar en muchos problemas cle final rle
capÍtulo que hemós designado con una f para identilicarlos como problernas
de diagnóstico de fallas.

1. ¿Cuáles son los tipos más comunes de fallas externas?


2. Liste algunas de 1as causas de circuit<ls abiertos ell la ruta de la seña],
3. ¿Qué síntomas ocasiona una fuente de alimentación defectuosa?
4. ¡.Cómo podría afectar 1a carga en el nivel de voitaje de salida de un CI?

3.I3 DIACNÓSNCO DE FATIAS EN PROTOTIPOS DE CIRCUITOS

RE§ULTADOS
Al finalizar esta serci6n, usted. será capaz de:
! Desarrollar técnicas sistemáticas de diagnóstico de fallas para aislar de ma-
¡re¡'a eficiente los problemas al crear y probar cliseños de circuitos,
¡ Reconocer las fallas únicas que están presentes con frecuencia en los proto-
tipos de circuitos.
Ei diagnóstico de lallas en los circuitos puede dividirse en dos categorías prin-
cipales:

1. Encontrar fallas en un sistema que aabajaba anteriormente (es decir, repa-


rar)
2. Encontrar fallas en un sistema que se va a probar pr:r primera vee (es decir,
elaborar un prototipo)
Muchas de las habilidades requeridas para diagnosticar fallas en esras dos cate-
gorías son iguales, pero también hav dife¡encias clave. El núme¡o de ¡nodos de.
falla posibles es mucho más alto en la categoría de protoripos, ya que en esre pLrnrc
no hemos demostrado que el diseño debería funcionar. Es inteligente hacer todc
lo posible por validar su diseño antes de hacer el prototipo para que sc ahorre
toda la frustración de construir un circuito a partir de un diseio defectuoso, Por
ejemplo, suponga que se comete un error en el pror:eso de simplificación (ya sea
por el álgebra booleana o los mapas K) que produce una ecuación incorrecta.
Si no se detecta este error sino hasta después de construir el circuito prototipo,
podría implicar algo más r¡ue volver a cablear. Tal vee necesi¡e más ci¡.cuiros
inte¡¡rados o más espacio en e1 tablero de circuitos de pruebas. Podría desper.di
ciarse mucho esfuerzo al construir el prototipo inicial.
Ésta es la razón por la que el tiiseño de un circuito es tan importante anres
de construir un prototipo. Este análisis puede significar que se debe trabajar con
el problema al revés. En otras palabras, tolale el circuiro qr"re diseñó e lnte¡rre
corrstruir y hacer un análisis de la tabla de verdad de su operación. Si estos
resultados coinciden con la tabla de verdad del proceso de disetio, enlonce--
es razonablemente cierto que no hubo un ertor fundamental en el diseño. De
todas for¡nas podrían supervisarse las limitaciones prácticas de los circuitos que
provocan problemas, como los retrasos de propagación o las fallas espurias. Los
simuladores de circuitos que se ejecutan en las computacloras se han vuelto mu¡r
populares por esta razón, La mayoría de los simuladores pueden tener en cuenta
Ias diversas tirr¡iraciones pr'ácticas de ios dispositivos en el diueño y avudar a
señalar los problernas antes de implementar el circuito en el hardware.
SEccrós 3.I3/DIAGNósTlco DE FA¡-LAS EN pRorortpos DE crRcurros 157

Aun cuando el diseño se haya analizado y verificado minuciosamente, existe


una gran probabilidad de que se cometaü erores en la fabricación de los circui
tos prototipo. Pueden cruzarse alambres o conectaxse en el punto incorrecto en
un circuito. Los circuitos integ,rados pueden insertarse en el lugar inco¡rccto.
Los números de terminales incorrectos en un diagrama esquemático pueden ser
especialmente frustrantes. Nadie comete estos errores a propósito, por 1o que es
nruy difícil reconocer todas las suposiciones que renga cn mcnte y no sean váli
das. Un proceso sistemático puede señalar sus suposiciones y erl.ores incorrectos
aislaldo la falla en un área muy pequeña. Con unas cuantas pruebas simples
en esta pequeña área, la falia real se vuelve obvia. Recuerde siempre qtte, cuaüdo
esté convencido de que un circuito debe¡ía funcionar pero de todas formas ¡o
funciona, debe haber ura suposición incorrecra. Algo que usted piense que es
verdad en realidad es falso, o viceversa.
El prinrer principio en esta técnica es eliminar todas 1as ubicaciones posi,
bles de las fallas. Luego hay que eufocarse en las parres que no se hayan eli-
minado. El segundo es en esencia el mér<¡dt¡ cienrífico de hipótesis y prueba.
El diagnóstico de f¿llas de circuiros lógicos combinacionales es una tremenda
forma de eje¡'citar y dominar estas dos habilidades de resolución de problemas
tan imprescindibles.
Para dcmos!¡ar cste proceso, supongamos que se completó un diseño v r¡uc
en el análisis la simulación se verificó que el diseño haga lo esperado. El circuito en
ia figura 3-42 es el resultado del diselio. Este circuito se fabrica y, al probarlo,
se Cescubre que mnchas de las salidas coincidcn con la tabla de verdad original
pero otras no. En este punto no propnrcionaremos un ejemplo real de un error en
este circuito: más bien describi¡emos t¡n ploceso que funcionará para cual<¡uier
error. Recuerde que el objetivo es aislar e1 problema con rapidez y eficiencia-
Lueg,o aplicarernos estas técnicas a ciertos errores co¡nunes para demostrar la
fr¡rma en que se puede aislar un e¡r'or.

1. Identifique la primera comhinación de entradas en la tabla que produzca una


salida incoffecta. Las ent¡adas cleben ponerse en este estado para probar la
falla. Existe una de dos posibilidades en este punto: la salida de la compuerta
OR está en ALTO pero debería estar en llAJO, o la salida está e¡1 BAJíJ pero
deberÍa estar en ALTO.
Z. Si la salida €stá en llA,iO pero de acuerdo con la tabla de verdad dubería
estar en ALTO, la sola naturaleza de una compuerta NOR puede ayudarnos
a aislar el problema. La salicla en ALTC) cle una compuertá NOR puede consi-
derarse su estado único, ya que sólo puede ocurrir cuando todas sus entradas
estén e BAJO. Si una de las entradas de la compuerta está realmente en
ALTO, entonces sabemos que el problema está en esa bifurcación del cir-
cuito y hemos eliminado dos terce¡as parres del mismo. La hipótesis es que
una de las compuertas ANI) suminis¡ra un ALTO cuando debe¡ía ser BAJO.
Uso la sonda lógica pára probar las temina.les 1, 2 v 13 del CI U3C. Si todas esrán
c.n BA.TO, entonces nuestra hipóresis es incorrecta, lo cual debe significar t¡ue
el probleura está en la compuerta NOR. Las pruebas descritas e¡r las seccir:"
¡es anteriores pueden usarse para l:calizar el problema dentro de este CI.
Por otra parte, si una de las terminales de enrada de U3C está en AL,TO,
d¡:bemos avcrigutrr por quó- De cualquier forrna, cl r:spacio <¡rrc conticne Ia
falla se redujo de manera considerable.
3. Vamos a suponer que una de las terminales en la compuerta NOR (por ejem-
plo, la rerminal 13) est¿ba en AI-TO. Analice el diagrama y observe r¡ue la
tenninal 6 de la compuerta AND de UlB debería estar controlando la termi'
nal 13 de la cornpuerta NOR. Un vez de suponer que la salitla (terminal 6)
de UlB esrá en ALTO. use la sonda lógica para probarla. Si esta salida está
en BA-IO pero el otro extremo del cable está en ALTO, entonces qr-Lizá no
haya un alambre entre las dos. Éste es exactamente el tipo de error común
en los prototipos. Al ,astrear el circuito entte los rlos deberá localizaise ell
¡rroblema.
r58 CAPiruLo 3/CrRC r.;tTos LoGrcos colrBr¡iAcloN¡.LES

I l{;t tt,\ l-1¿ un B C


eieúplo para diagnost!
car lallas en un prototipo
de circuito.
J: 3
741S04
\( 741§06
2 4 6
T.' 12
11
I 13 UlD

741S08 74L527
I 1

12
2
10 ulc u3c

74LSoB
741S08
1 6
2 U1A
34 u1B

4. Suponiendo que la telrninal 6 de salida de la compuerta AND lIlB está en


AL'IO (recuerde que debe estar en BAJO con esras entradas), deberíarnos
examinar los niveles lógicos en las entradas. En teoría, al mcnos una dc las
entradas de esta conpuerta AND deberÍa estar e¡r BA.|O, ¿pero cL¡ál? L:
forrra de everiguarlo es examinar 1a combinación de entr.atlas presente, er¡,
contrár la cntrada que está en EAJO y ver el diagrama esquemático par.ir
determinar a qué terminal debería estar conectada. Pruebe esa terminal con
la sontla y vea si esrá en BAJO. Mueva la entrada a ALTO, BAJO, ALTO,
IIAJ0 y observe su sonda lógica. Esto verifica¡á si la entrada está cableadir
correct¡¡¡rrente a la com¡ruerta. Si esto es comecto, entonces pruebe con ltr
sonda las ot¡as enuadas de la compuerta AND mientras cambia las r,ariabler;
de entrada que las controlan, Rastree la cornpuerta AND que 11o res¡:ondt:
correctámente a los circuitos lógicos que la conn.olan. Si todas son cor¡.cctari
v al menos una de las enrradas está en BAJO, la compuerta AND tiene un¿r
falla o se está cargando. Pruel¡e con la sonda la salitla de la con:puerta ANI)
y desconecte cl cable que la cont¡ola. ¿Cambió et nivel lógico? Si es asi, ras
tree el ploblema de carga. D¿ lo contrário, diagnosti<¡ue la falla del chip de
la compuerta AND (revise I/.c y rien.a con la sonda y, si están bien, reemplace
el cI),

Ahora reg.esemos á Ia tabla de verdacr. vamos a exprorar dos posibles causas tre
este efecto para ver si la metodología antes descrita puede identilicarlas.

liscenario de falla número l: la rerminal 5 de U1I] está conecr¿rda a á en vez


de A.

I,a figura 3-43(a) muestra Ios requerimienros de diseño y los resulrados dc


prueba de este circuito.

l.l {; t II'l3-{3 Resultados Resullados Fe§u¡tado§


de prueba de la tig ra 3.42: ABC rcquerldos d6 la pru€ba
Resulladós Besullado§
roqu€ridos d6 la prueba
(a) escenario de falla lr 000
001
0 0 oo0 0 o
(b) escenario de falia 2. 0 o o01 0 0
010 0 0 010 0 C
011 1 0 01r 1 0
100 I 1 100 1 1
101 I 1 10t 1 1
110 1 1 110 I 1
111 o 1 'I 11 o
(a) (b)
SEccróN 3.13/DTAGNósrrco DE FALLAS IIN pRoToTIpos DE cIRCIJITos 159

Pasos de diagnóstico de fallas para aislar el problema:


1. La cuarta línea en la tabla tiene eI erro¡. Establezca los interruptores de en"
rradaená=0,8=1,C=1.
2. Pruebe con la sonda la salida de la compuerta NOR U3C. Está qn BA,fO pero
debe estar en ALTO.
3. Revise las entradas de Ia compuerfa NOR. La rerminal 13 está en ALTO (pero
deberÍa estar en BAJO).
4- La terminal 6 de la compuerta AND U1B está en ALTO.
5. Si analiza los interruptores, la terminal 5 de U1B debería esta¡ en BAJO por-
que á es BAJO. Al probar con la sonda la rerminal 5 de U1B resulra que está en
ALTO. A1 mover el interuptor A al nivel ALTO la terminal 5 cambia a BAJO.
6. Conclusión: la terminal 5 de U1B no es igual que.4; es el inver.so de,4. Al
rastrear el cable descubrimos que se conectó accidentalmente a á (terminal 2
del inversor). Tenga en cuenta que al corregir este problema también se re-
suelve la última línea en la tabla de verdad.
Escenario de falla número 2. Al insertar el CI U1 en el tablero de protoripos,
la terminal 13 se dobló y enrolló bajo el CI, entrando en contacto con la ter-
minal 14. Su aspecto visual es normal pero eléctricamente la ter.minal 13 de
U1 está en corto con I/¿¿.
La ligura 3-43(b) muestra los requerimientos de diseño y los resultados de
prueba de esre escenario.
Pasos de diagnóstico de fallas para aislar el problema.
1. La cuarta línea en la tabla tiene el error. Establezca los interruptores de en-
tradaená=0, B=1,C=1.
2. Pruebe con la sonda la salida de la compuerta NOR U3C. Iistá en BAJO pc¡o
deber{a estar en ALTO-
3. Ninguna de las en*adas de U3C deberÍa estar en ALTO. Al probarlas con la
sonda resulta que la termi al 1 está en ALTO,
4. La terminal 11 cle la compuerta AND U1D está en ALTO.
5- Si analiza los interruptores, la terminal 13 de UlD debería estar eu BAJü de-
bido a que ü es ALTO. Al probar con la sonda la terminal 13 de UID resulta
que está en ALTO. Cambia¡ el interruptor E a BAJO no tiene efecto sobre la
¡erminal 13. Sigue estando en AI-TO, 1o cual está mal.
6. Al probar con la sonda Ia terminal 4 de salida del inversor para la enrada I re'
sulta que sigue el complemento del interruptor B: cambia de AI.TO a BAJO.
Esto es colTecto.
7. Conclusión; e1 cable t1e la terminal 4 del inversor no debe estar conectado a
la terminal 13 de U1D como se muestra en el diagrama. La inspección risual
indica que el cable parece estar conectado correctamente. Aun así, la termi-
nal 13 en el CI U1D parece estal en AL'I'O todo el tiempo. A1 probar con la
sorda los <itros orificios del tahlero de prototipos para la terminal 13 resulta
que la señal es correcta (el complemento de .B). Debe habe¡ una desconexión
enrre el tablero de prototipos y el CI. Al retirar el chip el problema es obvio:
la terminal 13 está doblada y no hace contacto con el tablero de ci¡cuitos.
Generalizaciónr si la salida de una compuerta lógica debería encontrarse en su
estado ú¡úco (sóIo una combinación de entrarla produce este estado) per.o en
realidad se encuentra en el orro estado, entonces una de las ena.adas de la com-
puefta se encuentra en eI estado incorrecto y será fácil de identificar. Persiga
el problema. Esto elimina las otrás entraalas y los circuitos <¡ue las controlan.
Como de¡nostración, suponga que la salida de una compuerta AND está en BAJO
y deberÍa estar en ALIO.
ForTr¡ular hipótesis: una de sus enlradas debe estar en BAJO. rl'úebe esta hipótesis.
Si es falso (todas las entradas están realmente en ALTO), el problerna está en
la misma compuerta o en su carga.
Si es verdadero, entonces e¡rcuentre la entrada que está en BAJO y determine
por qué.
100 Capirrn.o 3/CrRCUIlos LócICos coMBINACtoNAI-ES

Si la salida de una compuerta no debel Ía encontrarse en su estado único. pero s,:


encuenua en ese estado. entonces cualquiera de las entradas de esa compuer¡rl
podría ser incorrecta. Ilol ejem¡rkr, si 1a salida de una compuerta AND clebe -
¡ía estar en BAJO pero en realidad está en ALTO (sólo en AL'1'0 crando toda§
las entradas están cn ALTO), no es obvit¡ cuál entrada deberia estar en tsAJO.
En este cas<1, use su conocimiento del circuito que controla esta§ entradas panl
identifir:ar r¡ué entrada debelia estar en BAJO segút las condiciolres prcsentes 'r
rastréela hasta su origen.
Para demosÚador suponga que la salida de una compuerta AND está err
ALTO v dctieria estar en BAJO.
lolmulal hipétesis: todas sus cntradas deben estar en ALT0. Pruebe est¡r
hiirirtesis-
Si está en falso (una de las entradas realmente esrá en BAJ0), eJ probleme.
está en la misma cr¡mpuerta o en su carga. Enfóquese en los problemas potencia
Ies con este CL
Si es verdadero (todas las entradas estáll en ALT'o), entonces al me¡ros una
de ellas es incorrecta y debería estal en BAJO. llusque la lógica que conrola
cada entrada para cleterminar cuál deberia estal etr BAJO. Enfóquese en los pro'
blemas en esre circuito conlrolador.
Cada vez que identifir¡ue uno de 1os nr¡dos controlados como incol-recto, ra$-
tréelo de vuelta a la salida de la compuerta que Io controla. Si los dos extre-
mos dc un cable no coinciden, encuerltre el error de conexión. Si la salida de
1a compuerta controlado¡a coincide con la enrada de la compuerta controlada,
entonces verifique si 1as entradas de la compuerta controladora soll colrectas.
Suponiendo que sean correctas, pruebe si hay problemas de carga o cortos con
4. o GND, desconecta¡do la carga de la saiida de la compuerta controladora. Si
}a descarga de la salida no producu el uivel lógico aplopiado en la salida de la
compuerta c:ontrolado¡a, entonces hay una faüa en la r:ompueLta corltlol¡¡dora.
La aplicación repetida de esta metodología le permítirá aislal el problema
de manera elicie¡rte y sisremática al mt¡ver'la salicla final de vuclta s<>lan¡ente a
ffavés de las bifurcaciones del circuito que se vean afectadas por la lalla.

1- ¿Cuál es el estado únicó de la salida de una compuerta AND?


2. Si Ia salida de una compuerta AND no se encuenfia en su estado único pero
debería esrarlo. ¿cuái es el problema rnás probable?
3. ¿Cuát es e1 estado únic<.¡ de la salida cle una cornpueta OR?
4. Si la salida de una compuerta OR no se encuentra en su estado único pero
debería estarlo. ¿cuál es el problema más probable?
5. Si el nodo de un circuito tiene el nivel lógico incolrecto, ¿poi: quá debe pro-
bar el otro extremo del cable que se strpone debe coltrolar ese nr.¡do?
6. Si sospecha que una salida es incorrecta detrido a un ploblema de carga (en
el circuito que controla), ¿cémo puede coruprobarlo?

3-14 DISPOSITIVOSLÓG¡COSPROGRAMABLES-

RE§ULTADOS
Al finalizar uta sección, usred será ca¡taz de:
r Explicar 1o que se hace dentro de ur PLD para "programar10".
I Doscribir los métodos utilizados para realizar el proceso de programación
para los PLD.

'Púede omilrr lodas las secciones que tratan sob're los PLD sin perder la conlinurdad
SüCCIÓr§ 3.14lDISPoSIfi VOS LÓGICOS PRoGFAMABLES 161

: Definir ]os tá'rninos comunes asociados con el desarrollo de dlspositivos PLD.


¡ Definir las técnicas de diseño jerárquico.
En las seccir¡nes anteriores vimos un poco acerca de las clases de circuitos
integrados conocidas como dispositivos lógicos programables. En el capÍtulo 2
presentamos el concepto de describir 1a operación de un circuito mediante el
uso de un lenguaje de descripción de hardware. En esta sección exploraremos aún
rrrás estos temas y nos preparaxemos para utilizar las hemamientas implicadas
en el desa¡rollo y la implementación de sistemas digita.les mediante el uso de
dispositivos lógicos prograrnables (PLD, por Ias siglas de prog.rammable logic
deuíccs). Desde luego que es impr:sible comprender todos los detalles comple'
jos de cómo frmciona un PLD antes de abarcar los fundamentos de los circuitos
digitales. A medicia que examinemos nuevos conceptos fundamenlales, expan-
diremos nuestro conocimiento sobre los PJJ) y los métodos de programación.
Presenfaremos este material de tal forma que cualquiera que no esté interesado
en los Pl,f) pueda omitir sin problemas estas secciones. sin perder la continuidad en
la cobertura de los principios básicos.
Vamos a repasar el proceso que tratamos antes, en relación con el discño
cle los circuitos digitales combinacionales. Los dispositivos de entrada se iden-
tifican y se les asigna un nombre algebraico como á, 8, C o CARGA, DESPLAZA-
MIENTO, RELOJ. De igual forma,los clispositivos de salida reciben noübres como
X, Z o SALIDA -RELO,J, SALIDA-DESPLAZAMIENTO. Después se crea una taLrla
de verdad que listá todas 1as posibles combinaciones de entradas e identilir:a
el estado requerido de las salidas bajo cada condición de enrada. La tabla de
verdad es una manera de describir la Iorma en que va a operar el circuito. ütra
manera de describir la operación del circuito es mediante una expresión boo"
leana. A partir de este punto! el diseñador debe encontrar Ia relación algebraica
más simple y selcccionar circuitos integrados digitales que pucdan alambrarso
eD corljunto para irnplernentar el circuito. fal vez usted haya experimentado quc
estos últimos pasos son los más tediosos, los que consumen más tiempo y los
que están m᧠propcnsos a errores.
Los dispositivos lógicos programables permiten automatizar la mayoría de
estos tedissos pasos mediante una comput¿dor:a y softucre de desarrollo para
PLD. El uso de Ia lógica programable mejora la eficiencia del proceso de diseño
y desarrollo. En consecuencia. la mayoría de los sistemas digitales modernos se
implementan de esta Iolma. El trabajo del diseñador de circuitos es idenrificar
entracias y salidas, especificar 1a relación lógica de la manera más conveniente y
seleccionar un dispositivo programable <¡ue sea capaz de implementar el circuito
al costo más bajo. El concepto detrás de los dispositivos lógicos prograrnables es
simple: poner muchas compuertas lógicas en un solo Cl y conttolar la interco'
¡rexión de estas conlpuertas mediante electrónica.

[Iatdwilrc de un PLI]
Iin el capítulo 2 vimos que muchos circuitos digitale$ de la actualidad se irnple"
mentan mediante el uso de dispositivos lógicos pro¡¡amables (PLD). Estos
dispositivos se configuran en forma electrónica y sus circuitos internos r:stá¡t
"alambrados" entre sí medianre electrónica, para formar un cilcuito lógico. Este
alambrado programable puede considerarse como miles de conexiones que están
conectadas (1) o desconectadas (0), Es muy tedioso tratar de conligurar estos
clisposirivos en forma manual, colocando unos y ceros en una rejilla, por lo t¡ue Ia
siguiente pregunta lógica es: "¿Cómo controlamos la interconexión de compuer-
tas en un PLD por medio de electrónica?".
Un método común para conectar una de muchas señales que entran en una
red a una de muchas lÍneas de señal que salen de 1a red es mediante una matriz
de conmutación. Consulte la figura 2-44, en donde se introdujo este concepto.
Una matriz es tan sólo una rejilla de conducfotes (alambres) ordenados en lilas
v columnas. Las señales de entrada se conectan a las columnas de la matriz y las
salidas se conectan a las filas de la nrisma. En cada intersección de una fila y
una colurma hay un interruptor que puede conectar pr:r medios electrónicos esa
r62 CA!f r(rLo :l/CrRCUrros i-ócrcos coMBIN.{cIoNAL¡ls

lila con esa columna. Los interruptores que corectán filas con columnas ptietlett
ser interruptores mocánicos, e-n laces de fusibles, interruptores eleclromagnéti"
«¡s (relevai,rtes) o transistores. Ésta es la esructura ¡ieneral que se utiliza eII
muchas aplicaciones, la cual explorarernos con m᧠detalle cuando estudiemor;
Ios clispositivos de memoria en el capítulo 10.
tni pLp también utilizan u¡a matriz de conmutación, la cual se conoce comú¡¡'
mente como arre6¡1o programable. Al clecidir cuáles intersecciones están concctadali
v cuírles no, podemos "pro¡iramar" la forma en que 1as entradas se conectan a las sali
das del arreglo. En la figura 3"44 se utiliza un arreglo pro¡patnable pala selecciotrilr'
las entradas para cada compuerta ANI). Observe que en esra simple matriz poclemolr
producir cualquier combinación de productos lógicos de las variables A, B en cual
quiera de las salidas de la compuerta AND. Una maeiz o ar-reglo progr¡rm¿rble conr
la q ue se muestra en la Iigura también puede utilizarse pala conectar las s¿rlidas de la
compuerta AND con compuertas 0R.

B
Alambr§s de las columnas

IIT
1

Próducto 1

f
2

3 I

4 Prcduclo 2
l L
Alambres ds las Íllas
5 I

l
+
6 Produclo 3

tt
7

8 Producl§ 4

1 2 3

B B Á

t.tct.jti,l "1-.1.{ Un a¡r'eÉlo programable para ¡eleccionar entradas cotno tér¡n'i¡os de


plod ctos.

Progri:inar:iórl rie un P{,I}


Flxistea dos maneras de "programar" un CI de PLD. Programar significa realizar las
conexiones reales en el arreglo. En otras palabras, significa dcterminar cuáles
de esas conexiones se supone deben estar abiertas (0) y cuáles ce¡radas (1). El
primer rnétodo implica remover el chip de CI del PIll de su tarjeta de circrrito.
Después el chip se coloca cn un dispositivo especial conocido cotno programador.
La mayoría de los programadores modernos se conectan a una computadora per-
sona'l que ejecuta software que cnntiene bibliotecas de inform¿¡ción acerca de los
diversos tipos de riispositivos programeibles disponibles.
Iil software de programación se invoca (se llarna y se ejecutir) en la FC pala
establecer Ia comunicacién con el programador. Este software permile al usuarin
configurar el programador para el tipo de clispositivo que se va a pro€i¡ arlar, corn"
probar si el disposirivo está en blanco, leer el estado de cualc¡uicr ct»rexión progra-
mable en et dispositivo y proveer las instrucciones para que el usua¡io programe
un chip. En última instancia, la pieza se coloca e-n un zócalo est, cial qtre ¿<¡s per
mite insertar el chip v dcspués sujetar los contactos en Ias tet r¡rinales A 6ste sc
le conncc comc¡ zócalo (le celo esfuerzo dc inse¡ción (ZlF, por las siglas de zero
SEccróN 3.l4lDspos¡Tlvos LócIcos PRoGRAMABLES rffi
l.l{l Lllt-{ 3.4S Zócalos ZIF
Para encap§ulados DIP y
PLCC que se encuentran
comúnmente en los
proSramadore§ uni.versales.

insertion force). La figura 3-45 muesrra algunos ztócalos ZIF comunes que se utilizan
para encapsulados Dlp y PLCC. Diversos fabric¿rntes ofrecen los programadora
uniuersales que pueden manejar cualquier tipo de dispositivo programable.
Por fortuna, y a medida que las piezas programab¡es empezaron a proliferar,
los fabricantes vieron ia necesidad de estandarizar las asignaciones de terminales
y los rnétodos de programación. Como resultado, se formó el Consejo Común de
Ingeniería de Dispositivos Electrónicos (JEDEC, por las siglas deJoint Elecffonic
I)eúcc Ettti¡teering Cototcil). Uno de los resultados fue el estándar 3 de JEDEC,
un Iormato 1>ara transferir datos de programación para PI-D, independiente del
fabricante del PLD o del software de programación. También se estandarizaron
las asignaciones de terminales para varios encapsulados de CI, con lo cual los
proglamadores universales se hicieron mcnos complicados. En colsecuencíir,
los dispositivos de programación pueden programar muchos tipos de PLD. El soft-
ware que permite al diseñador especificar una configLrración para un PLD sólo
necesita producir un archivo de salida que se adapte a los está¡rda¡es de JEDEC.
Después, este archivo JEDEC puede cargarse en cualquiel pro¡gamador de PLI)
compatible con JEDEC que sea capaz de programar el tipo deseado de PLD.
nl mélodo más c<¡mí¡n que se usa en la actualidad se conoce como programa-
cién en sistema (ISP, por las sigilas de i*sgstem programnting). Co¡no su non¡bre
implica, el chip no necesita extraerse de su circuito para el almacena¡rriento de
la infolmación tle programación. Ei Grupo Común de Acción de Pruebas 1JTAG,
por las siglas de.loint Test Action Graup) desarrolló una interfaz estándiü' para
probar los CI sin tener que conectar el equipo de prueba a todas las termilales
clel CI.'ta¡nbién permite ia prOgramación interna. Cuatro terminales en e1 CI se
utiliza]l como un portal para almacenar datos y recuperar información acerca de
la condición interna del CI. Muchos CI, incluyendo los PLD y los ¡nicrocontrola-
dores, se fabrican hoy en día para incluir la interfaz JI'AG. Un cable de interfaz
conecta las cuatro terminales JTAG en el CI a un puerto de salida (por lo general
USB) de una co¡nputadora personal. El software que se ejecuta en [a PC esta'
blece el contacto con el CI y carga la información en el formato apropiado. La
figura 3-46(a) muestra un programador típico de USB a JTAG. Los tableros de
des¿rrrollo como el que se muestra en la figura 3-46(b) incluyen por k: gener¿rl los
circuitos de interfaz USB a.|TAG q*e facilitan la programación media¡te el uso
del software de desarrrollo,

Sr¡[trv¿rre de desarrollo
Hasta ahora hemos analizado varios métodos para describir circuitos Ió¡aicos,
incluyendo ia captura cle diagramas esquemáticos, las ecuaciones lógicas, ias
tablas de verdad y el HDI-. También describimos los métodos fundamentales
para almacenar unos y ceros en un CI de Pl,D para conectar los circuitos lógicos
de la manera deseada. El mayor reto en cuar¡to a progrit¡na¡ un PLI) es realiza¡
la conversión desde cualquier forma de descripción hacia el arreglo de unos y
ceros. Por fo¡ tuna, esta tarea se logra con bastante facilidad mediante una com-
putadora que ejecute el software de desar¡ollo. El software al que haremos refe-
rencia y que estaremos utilizando en nuestros ejemplos es propiedatl de Altera,
r64 CAPiTUTo 3/CIRcUIToS LÓCICOS COMBI¡{ACION AI,IiS

(a) (b)

l;ltlL ltA -i-46 Programación JTAG] (a) rrna interfaz de prograrnación USB-.ITAG típica; (b) un tablerodc dcsarrollo
ordinario inclr¡ye 1a irtelfaz de USB a.ITAG.

y permite al diseñador introducil la descripción de un circr¡i1o en crralquiera


de las distintas formas que he¡nos visto: archivos de diseño gráfico ldiagramas
esquemáticos), AHDL y VIIDL. También permire el uso de oLro IIDL conocido
como Verilog. y la opción de describir el circuito de ou fls form¿rsr col¡lo los diagi"a-
mas de transición de estados. Los bloques de circuiros descritos por cualcluiera
de estos ¡nétodos tamb'ién pueden "conectarse" entre sí para implementar un
sisterna digital mucho r¡ás glande, como se nl¡.¡clitra cn la figura ri'47, Cualquier
diagrama lógico qrre se preserite en este libr<¡ podrá r-eclibrrjarser lneclian te el rrsr-'
de las herramientas de introducción de diagramas esquemáticos el el soft¡ra¡e
Altera para cre¿Lr un archivo de diseiio $áfico. En este libro no nos enfocarernos

rlilt.:l{,\.1-.17 Ssnabs
Combüración de lr¡s bloques intermadia§
desar¡ol¡ados media¡rte el Bloqire de VHDL
uso cle distintos métodos de
desctipción. E NTrfY........
Entradas
dolsislema
:
ARCHIIECTUflE,,

Sa¡idas
de¡ sistoma
Diagrama d§ estados

x x

I i
SEccIóN 3.14IDr§PoslTIvoS LÓGlCoS PRoCRAMABLES 165

en la i¡Eoducción mediante el diseño gráfico, ya que es bastante sencillo obte-


ner estas habilidades en el lahoratorio. Enfoca¡emos nuestros ejemplos en los
métodos que nos permiten utilizar el HDL como un medio alternativo para des'
cribir un tircuito. Para oblener más información sobre el software de Altera,
visite e1 sitio Web de Altera.
A este concepto de utilizar bloques de construcción de circuitos se Ie conoce
como diseño jerárquico. Pueden definirse circr¡itos lógicos pequeños v útiles de
la manera que sea más conveniente (gráfico, AHDL, VI{DL, etc.) y después se
pueden combinar con otros circuitos para formar una selección extensa de un
proyecto. Las secciotres pueden combinarse y conectalse con otras secciones
para formar el sistema completo. La figura 3-48 muestra la estructu¡'a je¡árquica
cle un reproductor de DVD mediante el uso de un diagrama de bloques. El cuadrn
exlerior encierra a todo el sistema. Las líneas punteadas identifican cada una de
las subsecciones principales y cada subsección contiene circtritos individuales.
Aunque no se muestra en este diagrama, cada circuito puede estar compuest(,
de bloques de construcción más pequeños de circuitos digitales comunes, El soft-
ware de desarrollo de Altera hace que este tipo de diseño y desarrollo modulal y
jerárquico sea fácil de lograr.
_l

Pantalla
I I
Secclón d€
Conlroles del usuarlo control i
delsisle¡¡a Socción do audio^/¡deo
Sal,Cas dé
I F iltro/ampli{acador
l
I
j Socción : S§ccion do rastreo d€l láser D/A
I
d6l eie de
i
la unidad
Lazo d¿ conlrol Proc€sam¡onlo l
do posición digltai
I I
i
Dotecsiór')
I ds saltos I
Decodliicador M6moria
I de piolss dg salto§ I

I
I

Lazo ds control Conlrol Decodilicación Correcc¡ón


I do la velocldad d€l motor de trenes de de €rrore$ da
pulsos l
d€l dlsco palidad
I
I

lvlotor

-+-, Delector
6* láser

0
ñIotor de
control
del 6i6

trIG[ n¿ 3-]3 friagrama de bloques de un reproductor DvD


166 C,\I,IT(lLO 3ICIRCU1TO§ LÓGlcos coMBINACIONAI,eS

Proceso cle discño ¡' desarrollo


En la figura 3-49 se muestra o¡ra forma en la que podríamos vcr la jerarquíe.
de un sistema como el reproductor de tlv¡l que acabamos de describir. El nivel
superior representa a toclo el sistema cornpletn, Está compuesto de tres subsec'
ciones, cada una de las cua.les está a su vez compuesta de los circuitos más peque
ños que se rnuestran. Observe que este diagrama no mucstra córno fluyen ias
señales en todo el sistema, sino que identilica con claridad los diversos nivele,s
de la estluctura jer'árquica del proyecto.

Slslerna de DVD

§eccion d€l 6je de la unidad Seccíón de rastreo dsl lásér Secc¡ón de aud¡o^/ld6o

D6codlficación Lazo de cor¡trol Control Co¡lrol Dolector Décodilicador


de pislas de la v€locidad de del de de trsn
del disco posición motor saltos de pulsos

Cone¿ción Memorla Proc€§ami€¡to D/A F¡llro/


d€ error de de digilal amplificador
paridad sallos

I lCt l{ \ .l--11} Un diaglarna de jerarquia organizacional

llste tipó de diagrama condujo al nombre de uno de los meitodos más comu"
¡res de diseño: arriba-atrajo (up-down). Con este enfor¡ue de diseño se comielza
con la descripción general d€ todo el sistena, como muestra el cuadro superior
de la {igura 3.49. Después se definen varias subsecciones que conformarán el sis-
tema. Las subsecciones se refinan aún m¡is en circuitos intlividuales coneclados
enL¡e sÍ. Cada uno de estos niveles jerárquicos dene definida§.las entradas, Jas
saliclas ¡r su comportamiento. Cada nivel puede probarse en Íol.ma individual,
antes de conectarlo a k¡s demás,
flespués de definir los bloques de arriha,abajo, eI sistema se consrruye destie
abajo hacia arriba. Cada bloque en el diseño de este sistema tiene un archivó
de discño r¡ue lo descrille. I'ar a diseñar kls bloqLres de los niveles se abre u¡ archi-
vo de diseño y se escribe una descripción de su operación. Después el bhqre dise-
riado se compila mediante el [so de las hcrrarnient¡rs de desarrollt¡. El prricem de
compilación determina si usted cometió errores en su sinraxis. La computadora nr-r
podrá traducir su descripc.ión en La forma apropiada sino hasta que la sintaxis esté
correcfa- Una vez que sc haya compilado sin er.ro¡es de sintaxis^ deherá protrarse
para ver si opera e¡r forma corecta. Los sistemas de desarollo ofrecen programas
simuladores que se ejecutan en la PC v si¡¡rularr la manera en (l[e su cir.cuiro r cs.
¡ronde a las enhadas. Un simulador es un programa de computadora que calcula
Ios es¡aclos 1ógicos de salida correctos, con base en Lrna descripciótr del circuito
ló¡¡ico ¡¡ ias entradas actuales. Se desan.olla un conjunto de enlradas hipotéticas t
sus correspondientes salidas correcras, las cuales demostrar,án que el bloque fun-
ciona de la manera esperada. A menudo a estas enu:adas hipotóticas se les llama
vectolcs de plueba. Los procedinientos detallados de ¡truelta (hu.a¡lte la simula.
r:iri¡r incrcmentan en forma considerable ta probahilidad cle qrie el sistema final
iuncione de manera confiable. La figura 3-5O nuestra el archivo de simulación
para el circuito descritr¡ en la figura 2-13(a) del capítulo ?. Las entradas a, á v c se
intodujeron como vectores de prueba y la simulación produjo la salitla 9.
Crrlrr,do el cliscir¿«h¡¡ está satisfecho dc quc cl diseño es funr:iut1al, éste puede
verificarse mediante la programación de un chip y la pr:r"rebt" Ilara un Pl,D
SECc¡óN 3.14/DISpo§ITlvos LócIcos PRoGRAMASLDS 1§?

0^O Ds loms 20tr¡3 3.0ñr ¡l.oms 5.0ms 6.om6 7.0ms 8.o ¡16 9.0 mE 10ñ.

0
:>. I 0

>-2 0
0

t-lt;!-:l{A 3-i0 Una simulación de sincronización de un circuito descrito en HDL

complejo, el diseñador puede clejar que eI sistema de desarrollo asi6ne rermina"


les y después se distribuye la tarjeta del circuito {inal de manera acorde, o puede
especificar las ter¡ninales para cada se¡lal mediante el uso de las caractgrísticas
del soft*'are. Si el corupilador asigna las terminales, las asignaciones se puec{en
encontrar en el archivo de reporte o en el archivo de distribución de terminales'
el cual proporciona muchos detalles acerca de la implementación del diseño.
Si el diseñador especifica las terminales, es importante conocer las restriccinnes
y limitaciones de la arquitectura del chip. El diagrama de fiujo de la figura 3'51
sintetiza el ploceso de diseño p;rra clesarrolla¡ cada bloque.
Después de probar cada uno de los circuitos en una subsección, pueden com'
bina¡se todos y se puede probar 1a subsección sig,uiendo r:l mismo proceso uli-
lizado para los circuitos pequeños, Después se combinan las subsecciones y se
prueba el sistemt¡. Este métoclo sc presta muy bien para un tÍpico entorno de
proyecto, en don(le un equipo de personas trabajan en conjunro y cada uno es
respons¿ble de sus propios circuitt¡s v §eccione§ que al final se reunirán ¡:ara
conformar el sistcma.

irrC t.lt,l .i.51 Diagrama lNtclo


de flujo del ciclo de
desa¡¡ollo de un PLD. Diseño

Créar árohivo d6 dlssño

Compilar

Ed¡tar archlvo d€ diseño

S
¿Enores?

N
Samular
ld6nlilicar
fallá dé diséño

S
¿Prcblemas?

N
cr€ar archlvo d€ salida

Prrgfemar PLD

Diagnóstico d€ fallas Pruebá en circuito

N s
¿Funciona? LISTO
1§8 CapiT|Lo 3/CiRCri{Tos l,óclcos coMIllNACIoNALFls

1. ¿Qué es lo que se "programa" en un PLD?


2. ¿Qué bits (cnluurna, fila) en Ia figu:'a 3.44 deben conectarse para hacer qle
el Producto 1 =,48?
3. ¿Qué bits (colrrmna, fila) en Ia figura $44 deben conectarse para hacer que
el Proclucto '3 = AE¿
4. Defina diseño jerárquico.
5. La mayoría de los PLD mod.ernos se programan en el circuito usando la intc-
faz estándar _-

3-15 REPRESENTACIÓN DE DATOS EN HDL

RESULTADOS
AI finalizar esta seccíón, usted será capaz de:
r Listar ]os sistemas numéricos que pueden usarse para representar valores
cle datos en AIII)L v VHDL.
I Usar de manera correcta la sintaxis de AHDL y VHDL.
r Usar arreglos de bits en AIIDJ" y VHDL.
I Declarar arre¡llos de bits en AIIDL y VI{DL.
t Seleccionar los tipos de datos correctos en VtIDl,.
n Usar los tipos de datos estándar de IEEE cuando sea necesario.
Los datr:s numé¡icos pueden lepresentarse de var.ias for.¡nas. Hemos estudiadr,
el uso del sistema numérico hexadecimal como una forma conveniente de,
representar patrones de bits. Por natu¡aleza preferimos usa¡.el sistema numó
rico decimal para los datos numéricos, pero las c<¡mputadoras y los sisremas
digitales sólo pueden ope¡ar con info¡rnación binarla, conro vimos en capitulos
anteriores. Cuando csc¡ibi¡ros en HI)L, a menudo necesitamos utilizar divr:r.
sos for.sratos numéricos, y la computador.a debe ser capaz de cornprender cuál
sis¡ema numérico estamos usando. Hasta ahora en este libro, hemos utilizad<.1
un subíndice para indicar el sistema numérico. Por.ejemplo, 1012 es binario,
10116 es hexadecimal y 10116 es decimal. Cada lenguajc de ¡rlograrnación y el
HDL tienen su propia manera única de identifica¡ los diversos sistemas numé,
riuos; pr.rl lo general estr¡ se hace medianle un prefijo para indicar.el sisrema
numérico. En la mayoria de los lenguajes, un número sin prefijo se consider¿l
como decimal. Cuando leemos una de estas designaciones numéricas, debe-
mos considerarla como un símbolo que representa a un patrón binario de bits.
Estos valo¡ es numéricos se conocen como escalares o litcrales. La tabla 3-ni sin,
tetiza los métodos para especificar valores en binario, hexadeciural y decimal
para AHDL y VllDl,.

TABLA 3-8 Designación


de sistcmas numéricos en §istema Patrón Equivaisnte
t{DI,. numérico de bits decimal
.101
Binar¡o 5
Hexadecimal 1000000c] 257
Dec¡mál 1 100r al 101
SEccróN 3.15/REPRESENTAeTóN DE neros eN HDI- 169

Exprese el valor numérico del siguiente patrón de bits en binario, hexadecimal y


decimal mediante el uso de la notación de AHDL v VI-IDL:
11001

Sol¡-rcién
El binario se designa de la misma forma en AHDL y en VHDL: B '¡11001". Si con-
vertimos el binario en hexadecimal, tenüemos 1916.
Iin AI-IDL: H "19"
En VHDI-: X "19"
Si convertirrns el binario en decimal, tendremos 251¡.
Iil decimal se designa de la mis¡¡ra forma en AHDL y \¡IIDL: 25.

Arreglos de bits/vectores de bits


En el capÍtulo 2 declaramos nombres para las entradas y las salidas de un cir.
cuito ltigico muy simple. Estas se definieron como bits, o digitos binarios indi.
viduales. ¿Qué pasaría si quisiérarnos representar una enaada, salida o señal
compucsta por varios bits? En un FIDL debemos definir el tipo de la señal y su
intervalo de valores válidos.
Para comprender lns conceptos utilizados en los [{DL, consideremos primero
algunas convenciones para describir bits de palabras binarias en los sistemas
digitales comunes. Suponga que tellemos ulr nú¡nelo de ocho bits qtre representa
la temperatura actual, y que el nútnero está llegando a nuestro sistema digital a
travós de un puerto de ent¡ada que hemos ide¡tilicado como P1, como se mtres-
tra en la figura 3-52. Podemos rel'erir¡ros a los hits individuales de este puert<.r
como el bit 0 de P1 para el bit menos significativo, y hasta el bit 7 de P1 para el
bit más significativo.

¡rl (; t l{A:1-51 Notación (MSB) Conv6rtidorA/D (L§B)


del arreglo de bits.
úú****
Pusrto ds enlred8 PlUl Pl[61 P1l5j P 1l4l P1[3] P1f2l P1f1l P1[0]
P1

lambién podemos describir este puerto diciendo que su nombre es P1


y sus bits están numerados del 7 al 0. [,r¡s té¡¡lirros alr'eglo de bite y vectot de
bits se utilizan con frecuencia para describir este tipo de estructura de clatos.
Lo que esto significa es que Ia estructura de daros en general (puerto de ocho
birs) riÉrne un no¡nbre (Pl) y que cada elementc, individual (bit) tiene un nú¡neLr)
de índice único (0-7) para describir la posición de ese bit (y tal vez su peso
numérico) on la estructura general. Los !IDt, v los len¡¡uajes de programaci<in
de computadora sacan provecho de esta not¿rción. Por ejemplo, cl tercer bit a
partir de 1a derecha se designa ctxro P1[2] y puede conectarse a otro bit de señal
mediante el uso de un operador de asignación.

Suponga que hay un arreglo de ocho bits llamado P1 como se muestra en la figura
3-52, y que hay otro arreglo de cuatro bits llamado P5.

(a) Escriba la designación para el bit más si¡¡tificativo de P1.


(b) Escriba la designación para el bit menos significativo de P5.
(c) Escriba una exptesión que haga que el bit menos significativo dc P5 controle
el bit más significativo de P1.
170 CAlifu,o 3/CIRCUTTos Ló6rcos coMBINACIoN-c,LEs

So l¡ ¡círin

(a) E1 nombre del puerto es P1 y eI bit más significa¡ivo es el bit 7. La desi¿.


nación apropiada para e1 bit 7 de P1 es P1[7].
(b) Ei nombre del pucrto es P5 y el bit menos signilicativo es eI bit 0. La desi;i-
nación apropiada para el bit 0 de P5 es P5[0].
(c) La señal controladora (origen) se coloca del lado derecho de1 operador ce
asignación y la señal controlada (destino) se coloca a la izqtderda: P1[7] -
P5l0l;.

DECIARACIÓN DE ARBEGLOS DE BITS EN AHDL


En AHDI,, el puerto pJ de la figura 3-52 se define como un puerto de entrada
de ocho bits y para hacer ¡eferencia a el valor en este puerto se puede utilizar
cualquier sistema numérico como hexadecimal, binario o decimal, La sintaxis
para AIIDL utiliza un nomb¡e para el vector de bits, seguido por el intervalo <l:
las designaciones de hs índices, las cuales van cncerradas entro corchetes. Osta
declaración se incluye en la sección SUBI)ESIGN. Por ejemplo, para cleclarar t¡r
puertó de enrada de ocho bits llamado pl, escribiríamos lo siguiente:

pl 17. .0r : INPIJTi ciefire un puerto Ce enir.ad¿¡ de ú DiLs

rcEEÜ Declare una entrada de cuatro birs llamada reclado mcdiante el uso de AlIDl,.

Solt¡c iorl
teclado [3 . . tr] : INPUT ;

Las variables inrermedias también pueden declararse corro Lln arre¿¡lo tle
bits. Al igual que con los bits individuales, se declaran justo después de las decla.
raciones de E/§ en SUIIDESIGN. Como ejemplo, el puerto de tempe¡.arura dc
ocho bits llamaclo pl puede asignarse (conectarse) a un nodo llamado remp, cle la
siguiente manera:
-V1RIABLE teñp il..0l NODE;
BSGIN
remi)íi p1 ['] ;
{,t¡D;

Observe que los datos se aplican al puerto de entrada pl y que está contr.olando
los alamb¡es de 1a señal llamada remp. Podemos considerar el término a la der.echa
del signo de igual como el origen de los datos, y el término a la izquiercla conro
la designación. Los corchetes vacíos [ ] indican que cada uno de los bits cnrres-
pondienres er'¡ los dos alreglos están c¡)nectados. También pueden ,,conectarse",
bits individuales si se especifican los bits dentro de los corchetes. pnr ejernplo,
para conectar sók: el bit menos significativo de p1 r:otr el LSU de temp, la instruc-
ción seria temp[0] = p1[0];.
SECcróN 3.15/REpRESENTACTóN DE DATos EN HDL ti1

DE,CLARACIONES DE VECTORES DE BITS EN VHDL


En VHDL, el puerto pl de la figura 3.52 se define como un puerto de entrada de
ocho bits y sólo se puede hacer referencia al valor de este puerto mediante el uso
de literales hinarias. La sintaxis para VI{DL utiliza un nombre para el vector de
bits, seguido del modo (:IN), el tipo (BIT-VECTOR) y el inten alo de las desig,na-
ciones de los índices, que van encerradas entte paréntesis. Esta declalación se
incluye en la sección ENTITY. Por ejemplo, para declarar un puerto de entrada
de ocho bits llamado p I, escribiríamos lo siguiente:

PORT {p1 : IN BIT VECTOR {7 DOI,INTO 0),

,EJEfr.l!PLO 3.3?
f)eclare una enrrada de cuatro bits llamada recl¿do mediante el uso de VtlDL.

§ah.tcién

PoÉ.T(teclado : IN BIl VECT0R {3 Dol,iNllo 0)i

También pueden declararse señales intermedias ccrmo un arreglo de bits.


Al igual que los bits ildividuales, se declaran justo denro de la definición
ARCHITECTURE. Como ejemplo, la temperatura de r.¡cho bits en el puerto pJ
puede asignarse (conecta¡se) a una señal llamada temp, como se muestra a
continuación:

STGNAL temf) B1T vECToR (7 DOr.lNTo 0);


BEGIN
temp <= lr1i
END,

Observe que los datos se aplican al puerao de entrada p ¡ y que está controlando ¡

Ios a.lambres dc la señal llamada remp. No se especifican elelnentos en el vec'


[or de bits, lo cual significa que todos los bits estiín conecrados. También pue'
den "conectarse" bits individua.les nrecliante el uso de asignaciones de señales y
especificando los números de los bits entre paréntesis. Por ejempio, para conec-
tar sólo el bit menos significativo de pI con el I§B de ¿amp, ia instrucción sería
temp(0) <= p1(0);.

Objetos de datos rje VHDI-


Una parte muy impolrarrte de VllDL que debemos domi¡rar es el uso de los obje-
tos de datos. C¡rmo el nombre implica, a un objeto de datos se.le pueden asignar
valores conocidos como "datos". La naturaleza y propósito de cada objeto de
datos es muy importante en VI{rJ L y se le debe asignar rrn "tipo" específico.
Alg,unos e-iemplos de objetos de datos son las señales, va¡iables y constantcs.
Las señales son como alambres en un circuito de hardwale que pueden tener
un valor de 1 o 0 conectados a ellos. Sin embargo, a diferencia de los alambres
en un circuito, el valor de una señal se "recordará" hasta que se actualice de
manera explícita, El mecanismo de hardware se explicará con mucha mayor cla-
lidad en el siguiente capítulo. Por ahora basta con decir que una señal que se
le ha asignado un valor conservará ese valot'a menos que se le asigne uno dife"
rente. Una señal indeterminada no tendrá 1 o 0 como l'alor predeterminado. El
operador que se [til¡za para asignar un valor a una señal es ".i:".
172 CAI'iTr,Lo 3/CIRCL4ToS Lóclcos coMBINACIoNÁLES

Las variables en VHDL son similares a ]as variables en cualquier lenguaje


dé computadora, Son un lugar con nomb¡e para "almacenar" un valor hasta :l
siguiente p[nto en el tiempo (evento¡ cuando necesite modificarlo. I-as variabl¡rs
siempre se declaral y modifican dentro de un proceso, "PROCESS". El operatlur
que se usa para asignar un valor a una variable es ":=".
l,as constantes sr:n simplemente nombres que se asignan tle manera perm:-
ncnte para representar un valor. Esta práctica puede hacer que e1 código sr'a
mucho más fácil de entender,
A cada objeto de datos se le debe asignar un "tipo" de datos. Los tipos ce
datos incluidos en VHDL son BI1, BI'I VEC'IOR e iNl§GER. Un BIT puede tener
valores de 0 o 1. Un BIT-VECTOR es un grupo de bits, cada uno de los cual(is
puede tener un valor de 0 o 1. Un INTEGER puede tenel cualquier v¿¡lor en¡eto
con signo (es deci¡, -3, -2. -1,0,1,2,3 ...).
VIIDI" es múy específico con res¡recto a las definiciones de caCa típo de dato;.
El tipo "bit--vector" describe a un arreg,lo de bits individrrales. Esto se interpreta
de manera distinta que un núurero binario de ocho bits (ilamad¡r cantidad escir-
lar), el cual tiene el tipo integer. Por desgracia, YHIJI" no nos ¡c.rrnite asignar
un valor enterc, a una señal BIT.-VFICTOR de forma directa, ya r¡ue llo son de,]
rnismo "tipo". l¡:s datos pueden representarse mediante cual(luiera de los tipos
que se muestrarl en la tatrla 3'9, pcro las asig,naciones de daros y demás operacic"
¡¡es deben realizarse entre objeros del mismo tipo. Por ejemplo, el compilador rr:
le permirirá recibil un nrimero de un teclado declarado como entero y coiectarl)
a cuatro LEIJ que estén declarados co¡rro salidas BIT-,VEC'[OR. En la tabla 3")
bajo Posibles valores podrá observar que los objetos individuales de clatos B['f
y STD-LOGIC (por ejemplo: señales, variables, entradas v salidas) se designzur
mediante comillas, mientras que los valores asignados a los tipos BIT,-1,?CT01(
y STD-LOGIC VEC'I OR son cadenas de valo¡es de bits válidos encerradas entt¡:
comillas dobles.

TABLA 3-9 Tipos de datos comunes en VrIDL

Tipo de datos Declareción de ejemplo Posibles valore§ Uso


BIT y :OUT BlTi 0
STD-LOGIC controlador :STD LOGIC 0 't' 'z' 'x controlador < = 'z':
BIT VECTOR bcd_datos :BI-r-VECTOR "0101" "1001"0000" digito <.. bcd_datos
(3 DOWNTO 0);
SID LOG¡C VECTOTi dbus :STD,LOGIC,VECTOB "021x" lF rd - '0' THEN
(3 DOWNÍO 0); dbus '.: " 'a,r,"'
INTEGER ¿TINTEGER RANGE -32 TO 3'l; -32.. *2, -' r,0,1,2.,. 31 ¡Fz.>5THEN...

VHDL también ofrece ciertos tipos de datos estandal izados t¡ue se necesit.rrr
al utilizar funciones ló¡iicas contenidas en las bil¡liotecas. Corno habrá iaraginado,
las bibliotecas son simples colecciones de pequeñas piezas dc código de YHDL,las
cuales puede usal en sus descripciones de ha¡dware sin necesidad de empezar
desde cero. A menudo estas bibiiotecas ofrecen funciones cle uso común cono,
cidas como macrofunciones o {uncir.¡nes maxplus2. al igual que muchos de los
dispositivos TTL estándar que se describen en este liblo. })tr ve¿ de escribir la
nueva descripción de un dispositiyo TTL conocido, podemos tan sólo s¿rcar su
rnacrofuncién de la biblioreca y utiJizarla en nuestro siste¡na- Desde luegn que
necesita que las señales entren y salgan de estas macrofunciones; además l<ls
tipos de las señales en su código deben concordar con los tipos en las funciones
(que alguien más escribió). Esto signi$ica que todos deben utilizar los mismos
tipos de datos estánclar.
Cu¿rndo cMlDI- se estandarizó a través del IEIiIl, se crearon rnuchos tipos
de datos a la vez. f,os dos que utilizaremos en este liblo sc»r STD-LOGIC, que
SECC¡óN 3.16/TABLAS Dtr; VERDAD MEDrAlflE Et, uso DE HDL 113

es equivalente al tipo BIT, y STD-LOGIC*V§CTOR, que es una expansión de


BIT-VECTOR. Como podrá recordar, el tipo BIT sólo puede tener los valores'0'
y'1'. Los tipos lógicos estándar vienen definidos en la biblioteca IEEE y tienen
trn intervalo más amplio de valores posibles que sus contrapartes integradas ur
la biblioteca. Los posibles valores para un tipo STD LOGIC o para cual<¡uier ele-
mento en rrn ST'D_ LOGIC-VECTOR se muestran en la tabla 3-10.

TABLA 3.10 valores ,1, 'I lósico 0usto igual altipo BIT)
S'I'D-LOG]C.
'0' O lógico úusto ¡gual al tipo BIT)

Alta ¡mp6dancia
no importa üusto igual que como s€ util¡zó
en los mapas K)
,U' Sin inic¡al¡zar
,x, Desconocido
Dssconoc¡do déb¡l
,L' '0'débil
.H'
'1'débil

1. ¿Cómo declararÍa un arreglo <1e ent¡ada de seis bits llamado botones-pulsar


en (a) AHDL o en (b) VHDL?
2, ¿Qué instrucción utilizarfa para extraer e1 MSB del arreglo de la pregunra 1
y colocarlo en un puerto de salida de un solo bit llamado z? Use (a) AIIDL o
(b) vlrDl,.
3. En VHDL, ¿cuá1 es ei tipo estándar IEEE que és equivalente al tiPo BI'l'?
4. En VIIDL, ¿cuál es el tipo estándar IEEE que es equivalente al tipo BIT-
I'ECTOR?
5. Mencione los sistemas numéricos que pueden usarse con AIfDL y YIIDL.

3.16 TABI.AS DE VERDAD MEDIANTE EL USO DE HDL

RESULTADOS
Al lin.llizar e\ta secciótr, usted será capaz de:
É Usar las construcciones de co¡trol de clecisiones comunes en la ma¡roría
de los lenguajes de programación para descritrir el comportamiento del
hardware.
r Usar la sintaxis corecta-
¡ Aplica¡ un pr:oceso en 'il[i(Dl-,
Ya hemos aprendido que u¡ra tabla de verdad es otra forma de expresaLr la
operación de tur bloque de circuitos. Relaciona Ia salida del circuito con cada una
de las posibles combinaci<¡nes de sus entrad¿rs. Como vimos en la sección .l-4,
una tabla de verclad es el punto inicial para que un diseñador defina 1a manera
en que debe operar el circuito. Después se deriva una expresión bnoleana de
la tabla de verdad v se simplifica mediante el uso de los mapas K o del álgebra
booleana. Por último, el circirito se jmplemenra a pardr de la ecuaciíln booleana
final. ¿No serÍa grandioso si pudiéramos partir de la tabla de verdad y llegar cn
forma directa al circuito final, sin todos esos pasos intermedios? Si utiliza¡nos
HDL para i¡troduci¡ la tabla de verdad, podremos hacer justo es<.r.
114 CrphULo 3lCIRcurros toGrcos coMBtNAcroNAr-Es

TABLAS DE VERDAD MEDIANTE EL USO DE AHDL


El código de la lig,ura 3-53 utiliza AHDL para impiementar un circuito y utili::a
aa
urla tabla de ve¡dad para describir su operación, La tahla de verdad para es c
diseño se presentó en el ejemplo 3-7. El punto clave de este ejemplo es cl u:;tr
de la palabra clave TABI,E en AHDL. Esta palabra permite al diseñador espeti'
ficar la operación de1 circuito, igual que co¡no se llena u¡a tabla de verdad. E ¡t
la primera línea después de TABLE se listan las variables de ennada (d, b, c) de ia
misma forma como se crearía un encabezado de columna en una tabla de verda,l.
Al incluir las tres variables binarias entre paréntesis, indicamos al compilador
que deseamos utilizar estos tres bits como un Brupo v que nos ¡eferiremos a eilos
como si fueran un nú¡nero binarir: o un patrón de tles bits. Los valores especíIi-
cos para este patrón de bits se listan debajo del grupo y se les denomina li¡eralt,s
binarias. 111 operador cspecial ( => ) se utili¿a en Ias tablas de ve¡ dad para sepii-
rar 1as ent¡adas de la salida (9).

l.l(it.lt,L.l5.l Archivo
de diseño de AHDL para Sil3DiS:G§ Frgura -1-53
1a figura 3-7. (

a,l:,, c : ltJlüI, --a es nlás signi.ficativa


Y ¡OU??U?, --defir¡e 1a salida del b:.oque
)
l, l,l.
BEG:N
TAALE
{á,b,c) --encabezados de coiumna
(0,0.0)
10, o, 1)
{0,j,0)
(o , !, -tt
(1,0, 0)
(i,0,1.)
(i,1,0)
{1, i,1't
9ND ?ABI,Oi
:1.]D;

l,a instrucción TABLE en la figura 3-5.i es para mostrar la ¡elac.ión entre e,


código de HDL, y una tabla de verdad. Una manera más comÍrn de reprüsenrat
los encabezados dc los datos de ent¡ada es ¡nediante el uso de un an eglo de bit:
para tepreserta¡ el valor en c, b, c. Este método requiere qua se decltrrc el arre-
glo de bits en la línea antes de BEGIN, como sc muestra a continuación:

I,'A§IABII bit-s ent [2. .0 j :NOCE,

Justo antes de la palabra clave TABLE, los bits de entrada pueden asignarse al
a¡re8lo inDifsl /:

inbl!s i j i.t, t,, (j) i

Al proceso de agrupar tres bits independientes en un orden como el antelior se


le conoce como concatenación; este proceso se lleva a cabo con frecuencia para
conectar bits individua.les con un arreglo de bits. En este caso, eI enc¿hezado
de la tabla en los conjuntos de bits de entrada puede representarse median¡e
bit$ ,ent[ _1. Observc c1uc, a medida quc listumos 1:rs posiblcs con¡hinaciont¡s d<:
SECCTéN 3-16/TABLAS DE VERDAD MEDiANTE EL uso DE I{DL 175

las entradas, te¡ernos varias opciones. Podemos crear un grupo de unos y ceros
entre paréntesis: como se muestra en 1a figura 3-53, o podemos representar el
mismo patrón de bits utilizando el número equivalente én binario, hexadecimal
o decimal, El diseñador es el que decidirá cuáI formato es el más apropiado,
dependiendo de lo que re¡:resenten las variables de entrada.

TABLAS DE VERDAD MEDIANTE EL USO DE VHDL:


ASICNACIÓN OT SEÑAI SELTCCIONADA
El cédigo de la figura 3-54 utiiiza VHDL para implerrentar.un circuito mediante
una asignaeión de señal seleccionada para describir su operación. Esto le per.
mite al diseñador especificar la operación del circuito, de la misma forma como
se llena una tabla de verdad. En el eiemplo 3-7 se presentó la rabia de verdad
para este diseño. El objetivo principal de este ejemplo es el uso de 1a instruccién
WITII nombre,señal SELECT en VHDI,. Uno de los objetivos secundarios es nros-
trar cómo se colocan los datos en un formato que pueda ser utilizado de manera
co¡veniente con la asignación de la señal seleccionada. Observe que las entradas
están definidas en la declaración IiNTI'IY como tres lrits independientes a, á y c.
Nada en esta declaración hace que uno de estos birs sea más signilicativo rlue
los demás. El orden en ei que se listan no importa. Queremos compalar el valor
actual de estos bits con cada una de las posibles combinaciones de entrada que
podrían presentarse. Si trazáramos una tabla de verdad, decidiríamos cuál bit
t-'olocar a la izquierda (MSB) y cuál a la derecha (LSB). En VIIDL esro se logra
merlianre la concatenación (conectar en orden) de las variables de bit para for.
rnar un vector de bits. El operador de concate¡ración es "&". Se declara una señal
corno BII"-VECTOR para recibir ei conjunto ordenado de bits de entrada y se
utiliza para comparar el valor de entrada con Ias literales de cadena encerradas
entre cor.ni11as. A la salitla (9) se le asigua (<=) ulr valor de bit ('0' o '1') cuando
(WH]1N) áits_en¿ contiene el valor que se lisla entre comillas dohles.
\IHDL es muy estricto en cuanto a la forma en gue nos permite asignar y
c{rmparar objetos como señales, variables, constantes v literaies. La salida g es
un III'[, por lo que se Ie debe asignar un val<¡t de '0' o de '1'. La señal bírs_en¿

qNIITY F'ígürd 3-54 iS


:¡:r: i
a,b,c :IN 3:?i --a es más sj.qniíacat:va
y : OiJT B:T);

END figsrá 3-54;


A¡CH]:ECTü:E verdad OF Figura 3-54 1S
S.CNAI brts_e¡t :3II-VEC:OR(2 DOWNTO 0);
3EGJ N

l bj.t.s_eflt <- a & b I c; --concatena l-o9 blt.s de er¡trada én b:t vector


i WI:H bits*eot SüLEC?
.0, wHaN .0 01.,
i
.0, t,lBtN .0:0 ",
i , i, ,iHlN "o 11.,
j
I
.o, f{HgN { i00".
ri' ltF§ñ "t-01-,
t1, WHEN " 1i 0.,
I
.1' WHEN "-r 1:" i
END verdadi

trt(;t l{A J.5{ A¡chiyo de diseño de VHDL para ia figura 3.7,


176 CAPI'ITi¡,o 3/CIRCUITOS LÓCICoS COMRINACiONALL]§

es un BI'I-VECTOR de tres bits, por lo que debe compararse con un valo¡ littr
ral de tres bits. VHDL no permitirá que bits_ent (un BIT YEC'IOR)
c¿¡dena de
se compare con un número hexaclecimal como X "5". o con un número decitnal
como 3. Estas cantidades escalares serian \,álidas para la asignación o conrpará.
ción con enleros.

Declare t¡es señales en VHDL que sean bits individuales de to¡nbre demctsiatla
caliente, demosiado-jio y mug--bien. Combine (concatene) estos tres hits cn una
séñal cle tres bils llamada esrado_tenrp, en donde 1o caliente estará a la izquierdir
y lo frÍo a la dereclra.

5t¡luciél
1. Declare prirnero las señales en 1a arquitectura (ARCHITECTURE).

SIGNAI ciemási ado_?á1 j.e¡lie, d.r¡x¿lsiado-f rit, nuy_b1 en : ill j'i


SIr]ll¿i es'-adi-ieiip : BIT VEaTol¡ r2 DOtiNTi: ]i,.

2. Escriba instrucciones de asignación con¿urrentes enrre BECIN y END-

e51-ado_t.émp <5 denasi¡ldc*calierrte I rnlry,_l)j en 6 dÉm¿srá{i., frioi

1. ¿Cómo concatenaria los tres bits r! y y u en un arreglo de tres bits llamado


ornq6a? Use AHDL o VIIDL.
2, ¿Cómo se implementan las tablas de verdad en AHDL?
3. ¿Cómo se implementan las tablas de verdad en IIHDI.?

3.17 ESTRUCTURAS DE CONTROL DE DECISIONES EN HDL

RESULTADOS
Al iinalizur esta seccién, ustcd será capaz de:
I Seleccionar 1a mejo¡' estructura de control para describir un circtrito corr
base en sus requcrirnie¡rl os.
I Diferenciar entre operaciones concurrentes y operaciones secuencialcs.
Iln esta sección examinaremos métodos que nos permiten indicar.al sisrema
digital cómo realizar decisiones "iógicas", en forrna muy similar al proceso que uti-
lizamos para tomar decisio¡res en nuestra vida diaria. En e.l capitulo 2 vimr:s r¡ue
l2rs instrucciones de asignacién concurrentes se evalúan de tal forntr que el orden
en el que se escriben no tiene efecto sr¡bre el circuito r¡ue se está describiend<¡.
Cuandr.¡ utilizamos estructulas de conlTol de decisiones, el orden en cl que hacc,
uros las preguntas sÍ es importante. Pata resumir este concepto en L¡s términos
utilizados en Ia documentación del IIDL, a las instrucciones que se pueden escribir
en cualquier secuencia se les llama concunentes, y a las instrucciones que sc eva
lúan en la secuencia en la que se escriben se les llama secuenciales. La secuencia
de las instrucciones secuenciales afecta a la operación del circuito.
f,os ejemplos que hemos visto hastn ahora inrplican el uso de vilrios bits
individuales. Muchos sistemas digitales requieren entradas que represelrtan ul
valor numérico. Consulte de nuevo el ejemplo 3-8, en el cual eJ objetivo del cir-
cuito lógico es monitore¡ar el voltaje cle la batería mediante un convertidor AlD.
El valor digital se representa ¡rlediante un n[rmero dc cuat¡'(] bits (lue proviene
tlel conr,,ertidor A/D y que pasa al circuiro lógico. Estas enradas no son va¡iables
StrccIÓ¡í 3.17IESTRUCTURAs DE CoNTRo,. DE DEcTsIoNES ɧ }f,DL 171

binarias independienres, sino cuatro dÍgitos binarios de un número que repl'e-


senta el voltaje de la batería. Necesitamos dar a esros datos el tipo correcto que
nos permita utilizarlos como un número.

IT?/ELSÉ
Las tablas de verdad son estupendas para listar todas las posihles combinacio-
nes de variables independientes, pero hay mejores formas de manejar los datos
nurnéricos. Como ejemplo, cuando una persona parre hacia la escuela o su tr-a,
bajo en la mañana, debe realizar una decisión lógica para saber si se va a llevar
o no un abrigo. Supongamos que esta persona decide sobre esta cuesrión basán"
dose únicamente en la temperatura actual. ¿Cuántos de nosotros razonaríamos
de la siguicnte manera?

Utilizaré ua abri6io si la temperatura es 0.


Utiliza¡é un abrigo si la tempelatura es 1.
Utilizaré un abrigo si la temperatura es 2....
Utilizaré un abrigo si la temperatura es 13.
Ifo utilizaré un abrigo si la temperatura es 14.
Ifo utilizaré un abrigo si la teürperatura es 15.
N¿r utilizaré un ahÉgo si la tem¡reratura es 16.,..
fVo utilizaré un abrigo si la temperatura es 40.

Este método es similar a aquél en el que se utiliza la tabla de verdad para descri-
bir la decisión. Para cada una de 1as posibles entradás, esta persona decide cuál
debe ser Ia salida. En realidad, lo que haría Para decidirse sería 1o siguiente:

Usaré un abrigo si la temperatura es menor de 14 grados.


En caso contrario, no utilizaré un abrigo.
Un IIDI. nos permite describir los circuitos lógicos mediante este tipo de razo-
namiento. Primero debemos describir las entradas como un núman detttra de u¡t
interualo dado, v después podemos escribir instrucciones que clecidan lo que se
debe hacer en las salidas con base en el ualor del número entrante. AJ igual que
en los IlIlL, en la mayoría de los ienguajes de programación de computadoras
estos tipos de decisiones se llevan a cabo mediante el uso de una estructura de
c¡:ntrol IF/ TI{EN/flLSE. Cadavez que la decisión está entre rea.lizar una acción o
no realizarla se utiliza la instrucción IF/THEN. La palabra clave IF va seguida de
rrna instrucción c¡ue es verdadera o falsa. Si (If) es verdadera, entonces ('flIEN)
se hace 1o que esté especificado. En el caso de que la instrucción sea falsa, no se
realiza ninguna acr:ión. La figura 3-55(a) muestra gráficamente cómo funciotr¿r
esta decisión. La figura de diamante representa la decisión que se está lleva¡do
¿r cabo mediante la evaluación de la ins*ucción contenida rlentro del diamante.
'Ioda decisión tiene dos posibles resultados: verdadero o falso. En este ejemplo,
si la instrucción es falsa no se realiza ninguna acción.

l-i5 Flujo ló8ico de las


Irt(;L'lt,l i I
insrrucciones (a) IF/THEN y (b) Ifi
TIIEN/ELSE. Hacé Hacé
d€maslado VEBDADERO FALSO d€mas{ado VERDADEFO
,rlo kfo
E¡TTONCES En ca§o conlñdo afuo ENTONCES
(THEN) hay (ELSE), hay que [rHEN) hay
que pongfsé qullarse 6l abdgo que pohorse
qn abrigo u¡ abrigo
FALSO

(á) (b)
178 r,rpirt [-o 3/CtRCLlfros LóGIcos cosf BiNAcloNALus

En algttnos casos no sólo basta con decidir entre actuar y n() actuar, sino r¡ue
clebemos-elegir entre dos acciores distintas. Por ejemplo, en nuesua analogÍa
sobre la clccisión de usar o no un abriSo mediante II¡/TI{EN, se asume r¡ue la
persona de inicio no esrá usando srr abrig,o al tomar la decisión (porque apenas
iniciaba el día). Si la persona ya tiene su abrigo puesto cuando llegue a esta
decisión (por der-'ir, al mediodía), no podrá quitálrsclo si está dcm¿siado c¡rlienrt,.
Cua¡do las decisiones demandan dos posibles acciones, se utiliza la esrttt-
tura de conrrol IF/TFIEN,{IiÍ,SE como se muestra en la figura '3-55(b) At¡uí sc eve.-
lí¡a de nuevo la instrucción como verdadera o falsa. La diferencia es que, cuand'l
la instrucción es falsa se realiza una acc.ión dis(inta. Debe realizarse u¡ra de las
dos accior¡es con esta instrucción. Poriemos descril¡i¡la en fot'tna verbal conlc,
"SI (11') la insrrucción es verdadera, ENTONCES (THEN) hav que h¿cer esto. lill
CASO CONTRARIO (ELSE) hay que hacer esto otro'r. En nut:stra análo8í del

l-f(;i lt.1 ]-5{iC:ircuilo C¡rcuilo lógico


lógico similar al ejemplr: ConvenidorA/D
(MSB) A Va¡or digllalS
B Valo.*dlgilal2 z
C Valor_dl9ital'1
{LSB) D Valor digitalo

abrigo esta estructura de control funcionaría, sin importal que la. persona haya
traído puesto su abrigo o no desde un principio.
En el ejemplu 3'8 se mostró un ejemplo simple de un circuito lógico que
riene un valor numérico como enrada, el cua) representa el voltajc de Ia batería
de tm convcrtidor A/l). L,as entradas A. ll, C, D son en realidatl digitos binarios
en un númcro de cuatro bits, en donde,{ es el MSB y D es el LSB. La figura 3-56
mt¡estra el mismo circuito con las entradas etiquetadas en forma de un ¡rtirnero
tle cuatro bits. de nombre ualor*digítal. La relación enffe los bits es la siguie.n¡e:

A --(Ll or- .dieit.¿l [ 3] hit I del valor digital (MSB)


B ualor_digital l'21 bit 2 del valor digital
C ualor.-digital [1] bit 1 del valor digital
l) udlor_digita! LAI bit 0 de] valor d.igital (lSB)

La entlada puede considclarse co¡¡ro un nú¡nero decimal entre 0 y 15, si espe-


r:ificanros el tipo corecto de la variahle de e¡rt¡ada.

IFITHEN/ELSE MEDIANTE EL USO DE AHDL


En AHDL, las entradas pueden especificarse como un número binarir¡ fornrado
¡- de varios bits rnediante la asignación cle un nombre de variable, sc¡luiclo tle rrna
iista de las posiciones de los trits. como sc muestr.a en 1a figura J-57. EI no¡nlrre
es udlor_digital y las posiciones de los bits va¡í¿rn desde 3 hasta 0. Obsene lo
simple que se vuelve el cridigo al uti¡izar este método junto con una instrucción
IF/FILSE- La palabra clave IF va seguida de una instrt¡cción que hace lelcren-
cia al valor completo de ia varíable cle entrada de cuatro bits y 1o corn¡:ara con
el núr¡ero 6. Desde luego que 6 es la fo¡:ma decimal de una cantidad cscal;rr y
ualor-digital[ ] represenra en realidad a un númer.o binario. Como el compila-
dor puede interpretar números en rua.lquier sistema, crea un circuito lí:gico que
compara el valor bina¡io de ua{or..digitul con el número binario correspondiente
al 6 decimal y decide si esra instrucción es verdade¡a o falsa. Si es verdaclera,
l:1N'l'ONCllS ('l tIEN) sc utiliza la siguiente inst¡ uccjótr (z - vCC) pa¡ i¡ asiil¡¡i{r
u¡r valor a ¿. Ohselve <¡ue en AHDI- d<,.bemos usar VCC para ur 1 lógico y CND
SEccróN 3,17i ESTRUCTURiS DE coNTRot, DE DECTSIoNES EN llI)L 179

li¡t:L RA 3-57 Versión


CN AHDI,,

SEGII'I
t I Va-LOl: d:iqitallj ¡ 6 '.L'HEN
z -- Ia sa1Ída es 1
EI,§E Z .. ('lNi-r: -- La sallda e5'J
EI¡D I8 ,.

para url 0lógico cuando asignamos un nivel lógicó a un bit individual. Cuando
u.llor_d\ital es 6 o menos, va después de 1a insrrucción que sig,ue de LILSE (z =
GND). La instrt¡cción END IF; termina la estructura de co¡rtlol.

ITITHEN/ELSE MEDIANTT EL USO DE VHDL


En VIiIDL Ia cucstión importante es Ia declaración del tipo de entradas. Consulte
Ia figura 3.58. La entrada se trata como una variable individual llamada uclar-
dígital. Como su tipo se declara como INTEGER, el compilador sabe que debe
r¡atarla como un número. Al especificar un interyalo de 0 a 15, el compila-
do¡ sabe que es ur nirmero de cuato bits. Observe que RANCE no especifica
el ¡rúmero de índice de un vector de bits, sino los límites del valor numérico del
entero. En VEDL los enleros se tratan de manera distinta a los arreglos de bits
(BIT VECTOR). Un entero puede compararse con otros núrneros mediante el
uso de operadores de desigualc{ad. Un BIT-VtrCTOR nr: puede usarse con opera-
dores de desigualdad.
Quizá el aspecto más difícil de \rI{DL sea entender la est¡uctr¡ra de control
conocida como "PROCBSS" (proceso). Recuerde que VHDI, es un idioma dise-
ñado para desr:ribir el comportamiento de un ci¡ cuito de hardware con !a inten-
cién de que sea evaluado Por u¡1á computadora con el fin de simulación o sínte'
sis. El PROCESS en YHDL es un $egmento de código que tiene caracteríslicas
de un programa de computadorar pero cuyo propósito es describir los eventos

l¡t(;1'R.1 -t-:¿l Versión


EN VHDL, ENTITY Figura 3-58 IS
PoRT( ./a1or-digi¿a1 r;N ÍNTEGER RaNGE 0 ?O :5, -- e¡trada de 4 bitst
z i óUT BIf);

END Eiqura 3-58;

ARCHITECÍORE decision oE Eiqura 3-58 1S

BIIG IN
PRC)CESS f¿a1or_Cfgita I )
BEGlN
rf' ivalord j.gital > 6) THEN

ELSE
z <.. 'a' i
END I I';
END PROCESS;
END décisloni
180 Clpf'Il.Lo 3/CiRculTos LócIcos coMBINAcloNAr,Es

secuencia-les en un cü.cuito digital. Es muy impofiante enrender cónro es que las


acciones descritas en un PROCESS realmente ocurren en el circuito.
Un PROCESS no esrá activo de manera constante. descritie¡rlo lo que ocürr.,j
todo el tiempo. Por el conrrario, un PROCESS es un segrnenfo de cóttigo que der-
cribe la reacción de un ci¡cuito ante un cambio en un; (o ¡nás) c1e st,ui e¡irrada,.
Estas ent¡'adas que inr.ocan los cambios descritos en ej lrllOCESS se idenrifican
en la listá de sensibilidad. Esta lista va después de la palabra clave pl{t}CESS .¡
va entre paréntesis. La interpretación de las instru.ccio¡res de»rro del pROCUSi;
(que provocan cambios dentro del circuito) es secuencial, no cr¡ncurrente. En
otras palabras, el orden de las instrucciones tiene un electo sobre el compor.la-
miento del circuito resultante.
Las variables se decl¿rran y rnodifican dentro de un ..pROCI:lSs,,. Su vatr¡r
se actualiza de in¡nediato. En ohas palalrras, cuando un PROCESS se acriy;r
mediante un cambio en su lista de sensibiljdad y la lógica dentro del PROCESÍ;
conduce a la asignación de un nuevo valor a una variabio, e1 e{ecto cs inmetliaio,
Por Io tanto, esas variabjes se ac¡ualizan cn el o¡den dc ias instruccione$.ie.tr(,
!:l.lllgC_ESS. Por otra parte, las SIGNALS (señales¡ que se;rltela¡r rlenLro tle ur,
PROCESS son arbitradas al final del proceso.

tlw Compare.los segmenros de código de VHDI- ejl v ej2 de abaio. Ambos ejemplos
usan una señal sjg y una va¡iable uor., una entrada a con las saliclas lcd.sig leriuar..
f'odas son del tipo bit l IYpIi :BIT.¡.
i
SfGl¡Ai, sig
¡i: jl: FP.OCISS (a)
VARIABIE \¡AR :B1T:= .0, ; -- los rest¡ltados no depe¡¡don .le
este vaic¡ .i¡¡icial
B';CI}¡
-- vAr toma el valirr i§ la dIlrrácla á
de i xedi á 1(1
sig <= Yo- ' -- 1é as-gnd(:,.5n c.r i-.ir.r.¡ a sig:e-
sl¡lta et üj ál¡mbre .le á
va¡ i= not sig¡ -- var se actu¿j.iza ccn c1 cn¡np]e_
mentc <le ia erttaaca ¿
i edvá¡ <= va.ri -- raesullaCoi iedtá¡ es i.it)1."r¿i1aaa
p)¡ NO? enr radá á
E¡lD PF.ÓC Ds§
ledsiq <= sj' g; -- resultado: ledsig é-s cóntrciada
po r. 1á entradá á
ej2: PÉ.OCXsS (al
VAR.¡AALI va]. : BIT i = I os res'Jl tadcs no qe¡le:liinit .le
este vélor rnl¿t.ial
BEGIN
sig <: u- -- Ia primera asignaci6it (ie Ia seáa]
se e'/aLúa alL finaj cieJ. r:rt-.j::es?
var i= sig; -- var es as.tqDedá pcf s1ú I)e[,] sig
nc egf,á fi na I i:ac¡r i.xclnuÍa
sig <= na¡ va¡i -- esta asigniirión aie señaL e:;!á
conectáda, nc .la p¡iÍiij:.¡ i:¡tea
i. edva.r <= var i -- .tiesuitado: i ledvat: es rijlnlirc,l.lCé
lrcr naaia l
f,Nl,1 PRGCRSS;
!edsi.g <= s 1g; -- result-ado: ierlsif es a:):-.E¡cl ajá
Por NCa ledviir-
sECcréN 3.I7lEsrRUC'ruRAS DE coNTRoL DE DEcIsIoNEs EN HI)L t8t

llcsultado
E.lorden de las asignaciones hace una gran diferencia en el ha¡dware resultante. Dl
primer ejemplo (ej1) resulta en ledsig conectada a la entrada a y ledvar conectáda
a NOT a. El segundo ejemplo (ej2) resulta en un circuito sin sentido. Ledsig es
controlada por NOT ledva¡ pero ledvar no está conectada a la entrada A. lfs con"
trolada por nada. Tanto ledsig como ledvar tienen c<¡mo valor predeterminado un
1 1ógico cn el hardware. En ura sirnulación de sincronización, las dos salidas de ejZ
son indeter¡ninadas. Esto se debe a que las asignaciones de las señales se resuel-
ven aI final del proceso en donde la úItima asignación determina la conexión.

Para utilizar la estructura de conrrol IF/TIIXN/ELSD, VIIDL, requiere que e1


código se coloque dentro de un proceso (PROCESS). Por ejemplo, en la figura 3-58,
cada vez que uclor- d¡siral cambia, hace que se \,uelva a evaluar el código del proceso.
Aun cuando sabemos que ualor digiral es en realidad un número binario de cuatro
bits, el compilador 1o evaluará como un número entre los valores decimales equi-
valentes de 0 y 15. Si (tF) la instrucción entre paréntesis es verdadera, entonces
(II'IIEN) se aplica la siguiente insrrucción (a z se le asigna el valor cle 1ló51ico).
Si esta insrucción no es vercladera, la lógica sigue la cláusula ELSE y asigna a z
u¡¡ valor de 0. i,a inst¡ucción END IF; termina Ia estluctura de controi v IiND
I']ROCESSi termina la evaluación de las instrucciones secuenciales.

ELSI§
A menudo tene¡los t¡ue elegir de enre muchas posibles acciones, dependiendo de
la situación. La instrucción IF decide si se va a t'ealizar o no trn cunjunto dc accio'
nes. La inst¡ucción IF/EI.SE se.lecciona una de dos posibles acciones. Mediante
la combinación de las decisiones con IF y ELSE podemos clear una esructura de
control que se conoce como ELSIF, la cual selecciona uno de muchos resultados
posibles. En la figura 3-59 se muest¡a la estructura de decisión en forma gráfica.
Observe que, a medida que se evalúa cada condiciórr, se realiza una acción si
es verdadera o en caso contrario pasa a evaluar la siguiente condicién. Cada acción
está asociada con una condición y no existe la probabilidad de seleccional'más cle
una acción. Observe también qtre Ias condiciones que se utilizan para decidir la
acción apropiada pueden ser cualquier expresión que se evalúe como verdadera o
como falsa. Este hecho permite al disenador utilizar los operadores de desigualdad
para seleccional una acción con base en un intervalo de valores de entrada' Comú
ejemplo de esta aplicación, consideremos el sistema de medicióIl de temperatula
que utiiiza un convertidor A"/D, como se describe en la figura 3"60. Suponga que
deroa-os indicar cuando la temperatura se encuentla en cierto intervalo, al
cual denominaremos como Demasiado frío, Templado y Demasiado calie¡rte'

trl¡cl-lR,t 3"59 Diagrama {


de fluio para decisiones
F
mú1dpl€s e¡r las que se
utiliza IFIELSIr .

I' Acción t
ELSIF

F Acc¡ón 2
ELSIF

Acción 3
ELSIT

Acc¡ón 5 Acrión 4
182 CA?fTtrLo 3/CrRcurros r,óútcos coruBI¡iACroNALÉ;s

L't( iL:R.1 _i.6(J


Convsrl¡dor C¡rcLJito Demasiado
Cil cuito indicador frlo
A/D lógico
de uo intervaio de
remperalur0. Temp
f€mp¡ado
Valor
--t digilal de
cualto btts
Demasiado
cali€nfé

La relación entle Ios valores digitales para 1a temperatura y las c¿rtegorías es


Valores iligitaks Cütegorílt
0000.1000 Demasiado frío
1001-1010 Templarlo
1011-1111 Demasiatlo caliente
Podemos expresar el procesr: de toma de tlecisiones para esre cücuiro lógico de
la siguiente rnanera:
Si (X,) el valor digital es menor o igual a 8, ento».ccs (THEN) hay que cr-
cende¡ sólo el ildicador "Demasiado frio".
Ert caso co¡rrrario, si (ELSE IF) el valor digital es mayor que 8 y iANI)¡ mcnor
que 11, enlonces (TIIIIN) hav que. encender sólo el indicarlor "'feruplado".
En caso contrario (ELSFI) ira¡r qrre encender sólo e.l i¡rdicatlor "Dernasiado
caliente".

ELSIF MEDIANTE EL UsO DE AHDL


El código de AI{llL de la figura 3"61 tlefine las entradas <¡n Iotna de t¡¡¡ ¡rtimerc
- I:¡inario de cuatro bits. Las salidas son tres bits individuales que conrolan los
tres indicadores de intervaio. En este ejemplo se utiliza una variable intenne-
dia (esrado), la cual nos permite asignar un patrón de bits que representa las
tres condiciones de demasiado*jrio, templado y demasiado _cali¿n ¿e. La sección
secuencial del cód.igo utiliza las insrucciones IIr, ELSIF, EI,SE para identifica¡
el intcn'alo en el cuál se encuentra la temperatura ¡, asigna a esrar.lo el patrón de
bits cor¡ecto. En la última instrucción, los bits de estddo se conec¡an a los bits
del puerto de salida real. Estos bits esrán orde¡ados el un grupo que se rela-
ciona con los pat¡'ones de bits asignados a estado{ l. Esto rambién potliía haberse
esc¡ito mediante tres inst¡ucqiqnes collcurrentes: denusiadr¡ Irio = estactol2l;
ternplado = estado[1]; demasiado caliente = estado[0]i

flT.,EDEii IGll i'Íütrla 3-61


t_

I
'¡ :cr d;o: _ó.:
i,..r¡' ;:Npi,T; --define Las entradas del bioglre I

demas r ñajo_Íri o ¿ t-eñplad$, cemasiado,oaliente : oúTpjJT,. --define ouEputs i


) I
VARIAEI,E l
estadc[2..0] rNóDE,--guarda el- estada de dqrasiado_fr:"o, templado, de$asia.to calie¡te
I

i
BEGlN I

I¡" valDr.digital II < B T¡{EN estadc[] = b"100n. I


ELSTF va. )r-_.lr.rifál ,l > q ¿l\ID valor Jiqir¿,:l < 11 IHt:¡l
esla¡jo i I - bno10"
81,:-E {:s:-(i. I . b"a\ll';
f,¡,'D lFi
rJcnr§--dr .:..¡. renpl¿d.', ten.dsiácJ ci-ien_-=, -- ésrüdo[]; actl¡állEá :os bits de --alida !
¿N D; i
I
l
trt{;i'!{,\ .l-lil liicmplo de Inrervalos de rr¡mpcrárura en AHI)L nedia¡re el uso de llLSItr
SECCIÓN 3.17IESTRIJCTURAS DE coNTRoL DE DEclSloN,s EN HDL r83

ELSIT MTDIANTE EI. USO DE VHDL


El cédigo de YHDL en la figura 3-62 define ias enr¡adas como u¡r entero de cua-
tro bits. Las salidas son tres bits individuales que controlan los tres indicadores ¡T
de intervalo. En este ejemplo se utiliza una señal intermedia (errado), la cual nos
permite asignar un patrón de bits que representa a las tres condiciones denr¿-
siadoJrio, templado y demasiado_caliente. La sección de proceso del código utiliza
las instrucciones Il', ELSIF v ELSE para identifica¡ el inrervalo en el cual se
encuentra la temperatúra y asigna a e.§tádo el patrón de bits co recio, En las últi.
mas tres instrucciones, cada bit de estado se conecta al bit del puerto de salida
correspondiente.

ENTITY F.igurá 3-62 IS


pORf(valor_dj-gita1: IN INI§GSR BANCE 0 ?O 15j -- declara 1á entrada de 4 bits
denas i ádo-_f,rii o, le&pIado, dernasiado-caliente : OUT BIT),
E$D Figura 3-62;
l

ARCHITECTUBE quetancaliente OE figu¡a 3-62 IS


SIGNAL estado . Bf,T_\reCTOR (2 doento O)t
BEGIN i
I I
I PROCESS lv¿:cr_diqita.l)
BEGIN
i
IF (valoir dj.gital <= 8) THEN estade <* '100"' i
I

I
E1,SIF (valo!_digital > I AND valor diqita] < 11) TIIEN I

estado <- "010"i I


i
E!S5 estado <= "OCl";
gND IF;
I
END PROCESS;
I
de¡nasiado flio <= estado(2); -- ásigna los bits de eEtado a la salida I

--r-1 irl. ," csLado(l)t I

demasiádo_caliente <= estado (0) i


END quetáñcal iente,

f¡i(;tlt{.\ :} 6l Eje&plo de Inre¡valos de ternperatul a er VHDL mediante e1 r¡so de ELSIF

CASE
Existe otra estructura de conrol que es útil para elegir acciones con base en las
condiciones ¿rctrrales. Tiene varios nombres dependiendo del lenguaje de progra-
mación, pelo casi siempre se rrtiliza la palabra CASf. Esta insrrucción determir'¡a
el valor de una expresién tr objeto y clespués analiza una lista de posibles valores
(casos) para la expresión u nbjeto que se está evaluando- Cada caso tiene úna
lista de acciones que deben llevarse a cabo. Una instrucción CASII es disrinta
a una inslrucción IFIIILSIF debido a que un caso correlaciona un valor (¡nico de
un objeto con un ccnjunto de acciones. Recue¡de que una instrucción If/ELSIF
correlaciona un conjunto de acciones con una asevetación verdadera, Sólo puede
haber u¡¡a coincidencia para una instruccióu CASE. Una instrucción IF/ELSIF
puede tener más de una aseve¡ación verdadera, pero entonces (THBN) realizará
sólo la acción asociada con la primera aseveración verdadera que evalúe.
Otro punto importante en los ejemplos de I{DL de las figuras J"63 v .}'67
es la necesidad de combinar cie¡to número de variables independientes en un
conjunto de bits, al cual se le conoce como vector de bits- Recuerde que a esta
acción de enlazal varios bits en un ord€n específico se le conoce cómo condoten.¡-
ción y nos permite considerar el patrón de bits como un grupo ordenado.
184 C^ÍÍTITLO 3/CIRCUITC}S LÓGICoS CoMBINACIoNAT.ES

CASE MEDIANTE EL USO DE AHDL


I)i ejemplo de AHDL en la figura 3-63 muestra el uso de una instrucción CASE
para implementar el ¿ircuito de ia figura 3-9 (vea también la tábla 3'3)' Uriliza
bits individuales como sus entradas. En la primera instrucción después de
BEGIN, estos bits se concatenan y se asignan a la variable intermedia llarnada
estaCo. La instrucción CASE evalúa a la variable esrado y busca el patrór: de birs
(que sigue después de la palabra clave WIIEN) que concuerde cr¡n c.l valo¡ de
astado- I)espués realiza la acción descrita despuás del signo =;,. En este ejemplo,
sólo asigna un 0lógico a la salida para cada uno de los tres casos especificados.
l,os dem<ís casos ploducen un 1 lógico en la salida.

SUBIESlGN figura 3-63


{ i

9t e, t : lñFúT t -- deflrle las enlradás de1 b]oque I


§ : C[-PCÍ; -- define las sáLidas
)

VARiABLE I

estadoJ2..0l r NCDE,
BEGlN
estado ll- ip, q, ¡)i -- enLazá 1os bits de eñtxada eñ o¡der¡
!
CASE stat-us Í I iS
r,tHEN b-l-00" => s = GND;
WIIEN tr" 101" *> s - GND,
WHEN b" 110" => § = GND,
WI{EN O?HDRS
END CASE i
END,

l'fl;t lt,L l"6? Represenración de 1a figura 3-9 en AHDL.

{}.5E MEDIA¡¡TE EL USO DÉ V}IDI.


El eiempio dc.: VHDL en la figura 3-64 demuesrra ei t¡so de la inst¡ucción CASE
ÉiD
para implementar el circuito de la figura 3"9 (vea también la tabla 3-3). Uriliza
bits individuales como entradas. En la primera instrucción después de BEGIN.
estos bits se concatenan v se asignarl a Ia variable intermedia llamada ¿,sr¿do
mediante el uso del operador &. En YHDL, las instrucciones CASE deben ocu-
rrir dentro de un PROCESS. La instrucción CASL evalúa la variable esrado v
busca el patrón de bits (que va después de la palahra clar,e lV[-lEN) que concLrerde
con el valor dc est¿do. Luego realiza la acción descrita después del signo =.-'. En
este ejemplo simple, sólo asigna un 0lógico a la salida para cada uno de los tres
casos especificados. Los demris casos producen un 1 lógico en la salicla.

tflt1,f;¡rBr Un detector urru *aqr',inu a"rfr.fluaora .."pro *urrofu. tie 25, 10 y li cen-
", la señal digital corespondiente (0, D..N) sólo cuando está pre-
tavos, y activa
sente la moneda correcta. Fisicamente es imposible que haya varias monedas
presentes al mismo tiempo. Un circuito digital debe utilizar las señales Q,I) y N
comr: entradas y debe producir un número binario que rep¡'eseIrte el valor de la
moneda se8ún se mueslra en la fi8ura 3-65. f,scritra el códig,o en AIIDL y VIIDI-.
SEccróN 3-17lllsrRuc'ruRAs DE coNTRot, DE rJEcISloNEs EN HI)L 185

'Ff{}1":RA.1"64
Representación I

I
ENIÍTY Eigura 3-64 iS
de la figura 3-9 en PORT( p. q, r :IN bit; --deci.a¡:a 3 bits de entrade
VHDL. § iO'JT BIT)
llN, I lguta J- o¿l i ' I
I

I ARCHf?ECTURC cüp1a OF Figura 3-64 I9 I

I SICNAL estado :BIT_\rECTOq. ¡2 do,¿¿n'-o ü), I

BEGIN I
sr,atu§ <- p á q ú r; --enlaza Los bits en orden
PROCESS (estado )
BEGJÑ
CASE estado Is I

!íHEN "'L00" => ' 0,


I
IIHEN "101" => '0,
WHEN " 110" ->
.0,
',ÍHEN OTIiERS -> .L,
I
END CASE;
I END PROCESS,
END copl a,
I I

f-'l(;lltt,t .l-0: lñserlar rncneda


Un circuito detecto! C¡rcu,to lógico
de monedas para una Velnl¡c¡nco __--*-> o Aff€qlo do clnco bl'ts
máqrrina despachadora centavos
qug repres€nta ol valor
D¡ez O csntavos 14..01
de lás monédas
contavos
cinco N
contavos

§oluciéu
Ésta es una aplicación ideal de la instrtrcción CASE para describir la operación
correcta. I-as salidas deben declararse comc¡ nirrneros de cinco bits para podcr
rcpresentar hasta 25 centavos. La figura 3-66 muesta la solución en AIIDL y la
figura 3-67 la solución en VIIDL.

SüBDESÍGN Figur¿ 3-66 -


q, d, n ilNPlf; -- defi.ne vein!icj.nco, dlez y cinco centavo§
centavos[4..0] :OUT?UTi -- detlne e1 válo: binario de lag moneda6
)
BEGIN'
a-qst; rq, C, n) lS
WHEN b*001" => centavos[] = 5i
fii.lENo'OIO" =:, ceñtavosll = 10,
wHtsN b'foo' => qentav,f,s ll = 25;
liHEt¡ others => centavos[] = O;
END CASE'

I.t(;t Rr1 3.rt{l Un derecror de monedas en AHDL


186 C,rpiTur,o 3/CÍRCUrTos LóoICos coMBiNACIONALES

EN?:!Y figurá 3-67 :¡s


PORT ( g, d, n,I§- BIT, -- ve1ntici¡1co¡ diez y cilrco centavos
centavos :oUT INTEGEB RANGE 0 To 25); -- valo¡ blna.rio de ias Roneclas
END Éigurá :-61,'
ARCHIfECLUR¡ detector oE !'igura 3-6? 1§
SIGNAT moredas ; BIT_VECTOR {2 DOÍIN?O 0):-- agrlrpa Los seilsores de monedes
BEG]N
mqneda§ <= (q § d & n); -- asigna sensores ai. grupo
PROCESS {nonedas )

BECJN
CASE (centavos) IS
¡JHEN '001" -> centavo§ <= 5i
vljHEN '010' => centavos <= 1.0;
wlfEN "100" => centavos <= 25;
WHEñ others => ceotavgs <= 0;
END CASB,
END PROCESS;
END deteeto!;

lrl(;L:tt.{ J-{17 Un derecrol'de ü}oucdas en VI-{Dl,

1. ¿Cuál es¡ructura de control decide qué hacer o qué no hacer?


2. ¿Cuál esructura de contro.l decide hacer esto o lo otro?
3. ¿Cuál(es) estructura(s) de cont¡ol decide(n) la acción específica, entle varias,
que se va a realizar?
4. Verdadero o falso: las inst¡ucciones LF/THENIEISE y CASE rleben usarse den.
tro de un proceso en VIIDL.
5. Verd<tdero o ftzlso; las i¡strucciones II'/THEN/ELSE pueden usarse en toda la
sección c<¡ncur¡ente de AIIDL.

frE§UMEf.l

l.Las dos formas generales para las expresiones lóg,icas sr.rn Ia forma de suma
de ploductos y la forma de producto de sumas.
2. Un método para el diseño de un circuito lirgicc¡ combinacional es (1) cr:nsrruir
su tabla de verdad, (2) convertir la ¡abla de verdad en una expresión de suma
de productos, (3) simplificar la expresión mediante álgebra trooleana o nra-
peo K, (4) implementar la expresión final.
3. El mapa K es un raétodo gráfico para lepresentar la tabla de verdad de u¡
circuito y generar una expresión simplificada para la salida del cir.cuito.
4. Un circuito OR exclusivo tiene la expresión .x = .dB + ñ-8. Su salida x estar.á
en ALTO sólo cuando las enffadas,4 y B estén en niveles légicos opuestos.
5. Un circuito NOR exclusivo tiene la expresión ¡ = ÁE + á8. Su salida ¡ es-
tará c¡r ALTO só]o cuand.o las entradas A y .8 estén en el mismo nivel lógico.
6. Cada una de las compuertas básicas (AND, OR, NAND, NOR) pueden rrsarsr:
para habiiitar o deshabilita¡ el paso de una señal de entrada hacia su salida.
7. Las principales familias de circuitos integrados digitaies son T'II. y CMOS.
Los circuitos integrados digitaies están disponibles en una amplia garna de
delsidades (compuertas pol. chip), desde las frnciorles lóBi(:as básicas hasla
las de alta complejidad.
Pnoal¡I,r¡s 187

8. Para el diagnóstico de fallas básico se requiere (como mínimo) una compren-


sión de la operación dei circuito, un conoci.rniento de los tipos de posibles
fallas, un diagrama de conexiones del circuito lógico completo y una sonda
1ógica.
9, Un dispositivo légico programable (PLD) es un CI que contiene un exrenso
número de compuertas lóg,icas cuyas interconexiones pueden ser programa-
das por el usuario para generar la relación lógica deseada entre las entr¿:das
y las salidas.
il0. Para programar un PLD se necesita un sisterna de desarrollo, el cual consiste
de una computadora, sof*vare para desarrollo de disposirivos PLD y un dis"
positivo programador que se encarga de la programación física del chip del
PLD.
11. El sisrema Altera permite técnicas convenienles de diseño jerárquico rne-
diante el uso de cualquier forma de descripción de hardware.
12. El tipo de los objetos de datos debe especificarse de malera que el compi-
lador del I{DL conozca el intervalo de números que van a representarse.
13, l.as tablas de verdad pueden introducirse de manera directa en el archivo
fuente mediante el uso de las caracterÍsticas del LIDL.
14. Pueden utiliza¡se las estructuras de control lógicas como IF, ELSE y CASE
para describir la operación cle un circuito lógico, con lo cual se sirnplifica aún
más el código y ia solución al problema.

'F§R
rU ! n¡ § s m;¡$ nTAruTE§
1

agrupamlento llo ta nte obletos


areglo de bits generaclor de paridad OR exclt¡sivo (XOR)
arriba-abajo habilitada/deshabilitada PROCE§S
asignacíón de señal selecta IF/THEN producto de sumas (Pos)
bibliotecás indetcrminádos programador
tsl1 -YECTOR índice secuenc'iales
CASI] 1¡[TEGIJR semico¡rdr¡ctor
c0lisión ISP metal-(ixido
comprobador de paridad .TTDEC compleme¡¡fario
coni:atel¡aciófl JTAG (cMos)
concurrentes lista de sensibiliclad sonda lógica
condición de "no importa" literales $SI, MSI, LSI, VLSI. L'LSI.
tliseño ierárquico ¡óBica de transistor/ G§I
ELSIi fransisror (TTL) STD_LOGIC
ET,SIF macrofunción S]'D_LOGIC VECTOR
encapsulado dual Én iÍ¡rea lnap? de Karnat¡Bh §uma de productos (SC)P)
(DlP) (mapa K) vector de bits
estrrrcturas de control de maxplus2 vectores de p¡ueba
decisiones ¡IOR exclusivo (XliOR) zócaios ZIF

PRÜBLTñ,TA§
sEccr0r¿ES 3-2 Y 3-3
It 3'1.' Simplifique las siguientes expresiones mediante el uso del álgebra boo-
leana.
(a) r: ABC + AC
(b)9=(0*Rito=Rl

'Encontrará las respuestag a los problernag marcados coo uñ asterisco al fiña¡del libro.
188 CapirLrro 3/CrRCUl'Ios t,óGrcos coMRINACIoNALES

(c) ri,' : AAC + ABC + Á


(d)q=E§?(R+S+7)
(e) r
= ZFe + ÁBC + ABC + AEe + AEc
(I) z = {B {- C)(¡ + C) + A + B + C
(B) ,: (e f-D) + ÁcD + AEe + Á.EcD + Act)
(h) } = áB(¿r) + Áao+ ne'o

!'i 3-?. Simplifique el circuito de la figura 3-68 medianre el uso del álgebra htx:'
leana.
l:lG1.li.1 -i-r;¡t
Probleoas 3-2 y 3-.1 N
f
o

{i 3"i.* Cambie cada una de Ias cornpuertas del problema 3'2 por compuertas NOR
v simplilique cl circuito mediante álgebra booleana.

§tñ§t0¡r 3..4

ir, r.¡ 3-3.* I)iseñe e] circuito lógico c¡ue corresponde a la tabla cle verdad que sc mues"
tra en la tabla 3-11.

Tr\Bf,A 3"11
A B c
0 0 0 1

0 0 1 0
0 1 0 1

0 f 1 1

1 0 0 1

1 0 1 0
1 1 0 0
,l
1 1 1

it. l) ,l-5. Diseiie u¡r circuito lógico cuya salida estó en ALTO s<ilo ci¡ando la mayoría
de las entradas A, B y C estén en BAJO.
;] 3-6. Una planta de manufactura necesita terer un sonido de bocina para indi,
car l¿ hora de salida. La bocina deberá activarse cuando se cumpla cual,
quiera rle las siguientes condiciones:
1. F,s des¡rués de las 5 en punto y todas las máquinas están apagardas.
2. Es vielnes, se completó la producción del día y todas las máe¡uinas
están apagadás.
Diseñe un circuito lógico <¡ue controle la bocina lsugerencía: usc cuarro
variables lógicas <ie entrada pata represental las tli,,'ersas cr¡ndiriones:
PRorlnr,r¡s fm

por ejemplo, la entrada .4 esta¡á en ALTO sólo cuando sean las 5 en punto
o mástarde).
I) 3-71 Un número binario de cuaro bits se representa como 4y'24146, en donde
A3, A2, Ay! A¡representan los bits individuales y es igual al LSB. Diseñe
^46
un circuito lógico que produzca una salida en ALTO cada vez que el nú-
mero binario sea mayor que 0010 y rlenor r¡ue 1000.
fi 3-8. La figura 3.69 muestra un diagranra para un circuito de alarma de aut<.¡mó-
vil que se utiliza para detectar ciertas condiciones indeseables. Los tres

l.'fc t tR-,\ 3-69 rSV


P¡oblema 3-8.
i5V
a
OO,"n, I Puerta

Ceráda
1,
LED
r5V
? Moior CircL{to Alarma
ENC ó
lógico
APAG

r5V
? Luces
ENC a

APAG

interruptores se utilizan para indicar el estado de la puerta del latlo del


conductor, el motor y las luces, en forma respectiva. Diseñe el circuito.ló"
gico con estos treis inferruptores como en[adas, de manera que la alarna
se active cada vez que exista cualqoiera de las siguientes condiciones:
r Las luces eslén encendidas mientras que el motor esté apagado.
§ Lá puerta e§té abierta mientras que el motor eslé encendido.
3-91 L¡rplemelre ei ci¡'cuito de1 problema 3'4, utilizando sólo compuertas
NAND.
3-10. Implemente el circuito del problema 3-5, utilizando sólo compuertas
NAND.

sEccl0N 3-5
B 3-11. Determine la expresión minima para cada t¡no de los mapas K en la figu-
ra 3.70. Ponga especial atención al paso 5 para el mapa en (a)-

Irr(;t R,i 3.r0 CD CD CD CD CD CD CD CO


Problema 3'11.
AB 1 1 1 1 AB l 0 'I 1 AB 1 1

Áe 1 1 0 0 ÁB 1 C L) 1 AB 0 t)

AS o o o 1 AB 0 o o o AB 1 o

AB 0 0 1 l Aá 1 0 1 1 AB 3 x

(b) (c)
(a)'
190 C-rpfTr¿o 3/CIRculros LóGtcos collBINACroN,u,ES

'x'
,t 3-12. Para la tabia de verdad que se muestra a continuación, cree u¡ mapa K de 2 2,
agrupe los tárminos y simplifique. I)espués analice de nuevo la tabla de ver'
tlacl pala ver si la expresión es verdadera pala todas las enradas en la tabla-

A a v
0 0 1

0 1 1

1 0 0
1 I 0

3-13. Ernpezando con la tabla de verdad en la tabla 3-11, trtilice un mapa K para
encontrar la ecuación SOP más simple.
tri .3"14. Simplifique la expresión en (a)* el problema 3-1(e). usando un mapa K. (h) cl
problema 3-1(g), usando un mapa K. (c)* el problema 3-1(h), usando un mapa K.
3-151 Obtenga la expresión de salida para el problenra 3-7, usanclo ut mapa K-
A, t) 3"16. La figura 3-71 muestra on contador BCD que ¡rroduce una salida de cuatro
bits,la cual representa el código BCD para el núrnero cle pulsos r¡ue se han
aplicado a la entrada del contador. Por ejemplo, después de haberse ¡rro'
ducido cuatro pulsos, las salidas del contador son DCBA :0100: = 4lo.
Fll contad¡.¡r se restablece a 0000 er el décir¡rc pulso y empieza a conlLrr
de nuevo. En otras palabras, las salidas DCBA nunca representarán a un
núrnero mayor de 10012 = 9ro.
(a)*Diseñe el circuito lógico que produzca una salida en ALTO cada vez
que el conreo sea 2, 3 o 9. Use el mapeo K y aproveche las condicir.¡nes
"no importa".
(b) Repita el proceso para r:1 cuando DCB.4 = 3. 4, 5, 8.
!- i{iI 't{,1 .:i.71 (MSB)
D
Problema 3-16
J-LTLTL Co¡lador
C
Circuilo x ALfO sólo cuándo
BCD u lóglco DCBA 21o.3r0. o I

tr) 3"171 La figura 3'72 muesra cuatro interruptores que forman parte de los r:ir,
ctritos de control en una máquina copiadora. Los interruptores están en
varios puntos a lo largo de la ruta del papel, a medida que éste pasa a
travós de.la máquina. Cada interruptor esrá, por lo general, abierto. y
a meüda <¡ue el papel pasa a través cle un interruptor, éste se cierra.
lis imposible que los intelruprores SW1 y SW4 estén ce¡raclos al mismo
tiempo. Diseñe el circuito lógico para produci¡.una salida en AI.TO c¡da
vez r¡ue dos o más interruptores estén cerrados al mismo tiempo. Use el
mapeo K y aproveche las condiciones de "no imporra".

trl(;t lt,l .).7.1 Problerna ' 5V


1.17. SWl

i5V
SW2
ALTO
L 5V Circullo cada v€z que do$ o más
S\¡J3 loglco ¡nterruptores e§án
c6rados
5V
'SW1 y SW4 nunca esiarán
SW4 c€Íados al nr¡smo tiempo
PnoBr-ENr,4.s 191

!! 3-181El ejemplo 3-3 demostró la simplificación algebraica, El paso 3 produjo


la ecuación SOP z = ÁEC + ACD + Á.BeD + áEC. Use un mapa K para
demostrar que esta ecuación puede simplificarse aún más que la res,
puesta que se muesra en el ejemplo.
il 3"19. Utilice el álgebra booleana para llegar al mismo resultado que se obruvo
mediante el método del ñapá K del problema 3.18,

§ECCr0fu 3-6

ll 3-20. (a) Determine la forma de onda de salida para el cbcuito de la figura 3-73
(b) Repita el proceso con la en*ada B mantenida en BAJO.
(c) Repita el proceso con la entrada B mantenida en ALTO.

rtutitL'\:I,73
Problema 3-20. 0
¡
Tiempo +]+ x
I
1

B
0

1r 3-21. Determine las condiciones de entrada necesari.as para producir x = 1 en la


figura 3"74.

I:lct:¡tA.l,i1
Problema 3.21
B x

11 3-ZZ. Diseñe un circuito que produzca una salida en ALTO sólo cuando las tres
entradas estén en el mismo nivel.
(a) Use u¡a tabla de verdad y un mapa K para producir la solución SOP.
(b) use compuertas XoR de dos entradas y otras compuertas para enco -
trar una solución (sugerencia; recuerde Ia propiedad transitiva deil
álgebta... si c = á y b = c entonces ¿ = t).
Ii 3-2fl Un chip 7486 contiene cuaro compuertas XC)R. Muesre cómo hacer una cont-
prerta XNOR ut¡lizando sólo un chip 7486 (s(gerer¡ca; vea el ejemplo 3-16).
li 3-241 Ivlodiiique el circuito de la figura 3-23 para cornparar dos números de cua-
tro bits y producir una salida en AI,TO cuando los dos números concuer'
den de manera exacta.
fl 3-?5. La figura 3-75 representa un detectot de magnitud relatiua que toma dos
números binarios de tres bits (rizrlxo y 9¿gx7d y deterr¡ri¡¡e si sr:u iguales;
en caso de no ser asi, que determine cuiíl es más grande. Hay tres salidas,
rlue se definen de la siguiente manera:
1. M= I sólo si los dos números de enrada son iguales.
2. N= 1 sólo si x2*1*¿ es mayi:r q$e gzg1uo-
3. P = 1 sólo si 929.¡9¿ es mayor que xrxlr(o.
Diseñe los circuitos lógicos para este detector. El circuito dene seis entra-
das y tres salidas, por 1o que es demasiado complejo como para manejarlo
mediante eI método de la tabta de ve¡dad. Consulte el eiemplo 3-17 como
una sugerencia sobre cómo podría empezar a resolver este problema.
1S2 C^r'ÍTr,Lo 3/Crtcutros Lóclcos coMtsINACIoNAJ-ES

i¡ltiL l{:}. .t f3 I¡ {x yl
N{¡m€ro t x2
Ilrobierna 3-25.
binario .1
xl -->
x I Deleclor
Ltt ds magn¡tud N {xi-y}
I Ye4
Númoro ralal'va
binario Yr*
v
I
P {x.: yi
t. §B

MÁ§ PñOstEMA§ O! OISENO


t. D 3.26.* La figirra 3-76 representa un circuito multiplicador que toma dos números
binarios de dos bits (r1"r¿ y 9.190) y produce un número binario de salida
zj"j¿l¡0 que es iSual al product<-r aritmético de los dos núlneros de entrada.
Diseñe el circuito lógico para el multiplicador (sugerencid: el circtlito ló'
gico tendrá 6lratro entradas y cuatro salidas).

i:lc {.r114 3..1(; hlSB


Ploblerna 3'26.
xt *-}} Z3
xo z?
LSB Circuilo
multiplicador z1
Yr

LSB

{} 3-27. Un código BCD se está tra¡lsmifiendo a un receptor ie¡noto. Los bits son
AJ, A2, Al y á0, en donde ,43 es el MSB. tntre los circuitos del receptor
incluye un circtJito detector de errores BCD, el cual exanlina el cédigo re.
cibido para ver si os uÍ código de BCD legal (es decir, < 1001). 1)iseñe
este circuito para ¡IodLrcir un uil,el ALTO para cualqüier condición de
err0r.
.l-281 lliseñe un circuito lógico cuya salida esté en ALTO cada vez rluc ,{ 1, B
estén ambas en ALTo, siempre y cuando C y I) estén ambas en BAJO
o ambas en AI-TO. Trate de hacer esto sin utilizaI una tabla de verdad.
Después compruebe su resultado construyendo una t¿rbla rle verdad a par-
tir ale su circuito, para ver si concue¡-da con la declál'ación del problema.
n) J"29. Cuatrrr tanques g¡?ndes en una planta r¡uím.ica que contienen distintos
liquidos se están calentando. Se utilizan sensol€s de nivel de líquido para
detectar cuando el tanque á o el tanque .8 se eleva por encima de un nil.el
predeterminado. Los sensores de temperatura en lns tan<¡ues C ¡r D derectan
cuandú.la temperatura en cualquiera de estos t¿ri(lues cae po| tlebajo
dc un lÍmite prescrito. Suponga quc las salidas./tr y B del sensor de nivel de
líquido están en BAJO cuando el livel es satisfactolio y cfl ALTO cualrdo
el nivei es de¡nasiado alto. Además, ]as sal idas C y D del sensor de rempe.
ratura están en BAJO cuando la temperatura es satisfactoria y en AI,TO
cuando la tempelatura es demasiado baja. Diseñe un circuiro ló¡¡ico que
detccte cada vez qrre el nivel en el tanque A o en el tanque B sea derna-
siado alto. al mismo tiernpo que Ia tempelatura en el tanque C o cn el
tanque O sea demasiaclo Lraia,
,1. l) 3'301 La figura 3-77 muestra 1a interseccién de una autr-rpista principal con
un camino cle acceso secundario. Se colocaron sensores de detección de
vehículos a 1o largo de los carriles C y D (camino principal) v de los c¿rrriles
á.y B ici¡rni¡ro <lc acceso¡. Las s¡¡li<.I¿rs de estos sc¡sorcs est¿in en BAJO (O)
cuando üo hay vehiculos p.esentes, y en AI-TO (1) ctiando ha¡- vehículos
Pno¡¡.si[r¿s 193

} tGLltA l-77 I

Problema 3.30 I N

I'lr o E
lr
+l S

<---"
I

^--+ D
e
l
1

I B

I
I
I
I

presentes. EI semáforo de la interseccién debe controlarse de acuerdo con


la siguiente lógica:
1. El semáforo este-oeste (E-()) se Pondrá en verde cada vez que eÉtén
ocupados crnbos carriles C y D.
2. El semáforo E-O estará en verde cada vez que C o D estén ocupados'
pero cuando "4 y B no estén dr¡bos ocupados
3. El se¡¡ráfo¡o norte-sur ( N.S) se pondrá en verde cada vez que aml'os carri'
les A y B estén ocuPados, pero cuando C y I) no estén amlos ocupados-
4. El semáforo N-S también se pondrá en ve¡de cuando A o B estén ocu-
pados, mientras qua C y D estén ambos vacantes'
5. El semáforo E-O se pondrá en verde cuando no haya vehículos pre'
sentes.
Utiliza¡rdo las salidas del sensor.A,8, C y D como entradas' disene un circuito
lógico para controla¡ el semáforo. Debe haber dos salidas' N-S y !i-O' que
.ütii" a ALTO cuando la luz correspondiente se vaya a poner en ue, de'
Simplifique el circuito io más que se pueda y muestre rodos los pasos'

SECCION 3.7

[.! l-31. Retliseñe el g"enerador y comprobador de paridad de la figura 3'25 para


que (a) opere usando paridad impar (sugerencia: ¿cuál es la relarcirin entre
ún bit de-paridad impar y un bit de petridad par para el mismo conjunto de
bits cle datos?) (b) opere con ocho bits de datos'

§rtül0N 3-8
U 3-32. (a) cordiciones permitirá una compucrta OR quc una señal iír-
¿Ba.io qué
gica pase hacia su salida sin modificarla?
(b) Repita el inciso (a) para una compuerta AND.
(c) Repita el proceso para una compuerta NAND-
(d) Repita el proceso pa¡a una compuerta NOR'
I¡ 3-331 (a) ¿púede utilizarse un INYERSOR como un circuito cler habilit ación/des'
habilitación? ExPlique
(b) ¿Puede usarse una compuerta XOR como un circuito de habilitaciór¡/
cleshabilitación? ExPIique.
't94 CrpÍruLo 3i CTRCUl?os I-ócrcós col,rBINAcToNALES

!) 3-.14. Diseñe un circuito lógico que Permita qtre la señal de entrada á pase hasta
la salida sólo cuando la entrada de control B esté en llAJO, mientras que la
enr¡ada de conrol C esté en A-L'[O; en caso contrario, la salida debe estar en
BA.lO.
i.t 3-351 Diseñe rtn circuito qr:,e deshabilíte el paso de una scñal de erlralla sÓlo
cua¡rdo las ent¡¿¡das de co¡rtrol B, C v l) estén todas en AL'I0; la talida
deberá cstal en A1,T0 para la condición deshabilitada.
3'.16. I)iseñe un circuiro kigico que controle cl paso de la selial ¿, de acuerdo corl
los siguicntes requcl imientos:
1. La salida X será igual a.t cuando las entradas de conrol E --v
C sean igulües.
2. X permaneccrá en ALTO cuando B y C sean distintas
i: 3-37. Diserie u¡r circuito lógico c¡ue tcnga dos seliales cle entrada.lt y Ár, Y una
extrada de control S de manera r¡ue luncione tle acueldo con los reque-
¡'imie¡rtos descritos en la figura 3-78 (a este tipo de circuito se le r:ollr:ce
como »rultiple-tor, el cual verernos en cl capítulo 7).

FI{; t:tt.l .i-71i STr;-


,llll
o
Problema 3-37 z A"
¡,4ulliple¡or o,

t¡ 3-381 Use el mapeo K para diseñar un circuito r¡ue cumpla con los requerirrticn-
tos del eiemplo 3'17. Compare este cilcuito con la solución en la figura
.l-23. Aquí se recalca que el método del mapa K no puede aprovechar la
lógica de las compuertas XOR y XNOR. El disellador debe ser <;apaz de
determinar cuándo pueden utilizarse estas compue¡tas.

§TCCISNE§ 3-S A 3,1:


I¡N 3"39. (a) Un 1écnico que está probando un circuito lógicr: se da r:ucnta de <¡ue
la salid¿ de cierto INVtrRSOR está atascada en BAJO mientras r¡ue su
entrada esté pulsando. Liste todas las posibles razones tlue pueda para
esta operación defectuosa.
(b) Repita el inciso (a) para el caso en el que la salida del INVERSOR se
quede atascacla e¡¡ un nivel lógico indeterminado.
3-40I Las senales que se muestlan en la figura .i'79 se ap.tican a las entradas del
circuíto tie ia fig,ura 3-32. Suponga que hay un circuito abierro inrer¡ro t-.n
21.4.
(a) ¿Qué indicará una sonda lógica euzl-4?
(b) ¿Qué lectura cle voltaje de cor¡ienre directa espcraria efi 21.4?
(Recuerde que Ios circuitos integrados son TTL.)

1!(;f ti,\ .l-;:l CLOCK


I'¡ol¡lema 3-40
l

I,OAD
l I
I
I
I
I
s,.1iFT I

'Recue¡de qu6 F indica uñ ejer6ic¡o de diagnóstico de fslias.


Pnoglr¡¡¡s 1S5

(c) Haga un bosquejo-dg


=g!]S.ee usted que será la apariencia de las se-
ñares eiRDúT y §frÍFÍdff-
{d) En vez del ci¡cüto abierto en 214, suponga que las terminales 9 y 10
de Z2 están en corto interno. Haga un bosquejo de las probables seña"
tes en zZ-to, úñR6ú y §EiFiffi .
3'41. Suponga que los circuitos inte$ados de la figurá 3-32 son CMOS. Describa
cómo se vería afectada la operación del ci.rcuito debido a un ci¡cuito
abierto en el conductor que conecta a ZZ.2 y 22-10.
l.' 3-42. En el ejemplo 3'24 iistamos tres posibles fallas para la situación de la
figura 3-36. ¿Qué procedimiento seguiría usted para determinar cuál de
las fallas es la que se está produciendo en realidad?
I.' 3-431 Consulte el circuito de la figura 3-38. Suponga que los dispositivos son
CMOS. Suponga además que la indicación de la so¡rda lógica en Z2-3 es
"indeterminado", en vez de "pulsando"- Liste las posibles fallas y escriba
un procedimiento a seguir para dete¡minar la verdadera falla.
t, 3-441 Consulte el circuito lógico de la figura 3-41. Recuerde que se supone
que la salida Y debe estar en ALTO para cualquiera de las siguientes
condiciones:
1. á : 1, B :0, sin importar C
?. A=0, B =1, C= 1
Al probar el circuito, el técnico obsena que Y cambia a ALTO sólo para
la primera condición, pero permanece en BAJO para tndas las de¡nás con,
diciones de entrada. Considere la siguiente lista de posibles fallas. Para
cada una de ellas, escriba sí o no para indicar si podría o no ser la verda-
dera falla. Explique su razonamiento para cac'la una de las opciones en las
que cotteste que no.
(a) Un corto interno a tierra en 22-13
(b) Un circuito abie¡to en la con extón a 22-73
(c) Un corto interno con Vs¿ en Z2-71
(d) Un circuito abierto en la conexión de V¡x con 22
(e) Un circuito abie¡to interno en 22.9
(f) Un circúito abierto en la con exión de Z2-ll a Z2-9
(g,) Un puente de soldadura enue las terminales 6 y 7 de22
¡. 3-45. Desa¡rolle un procedimiento para aislar la Ialla que esté produciendo el
funcionamierrto defectuoso descrito en el problema 3-44.
I 3-461Suponga que todas las compuertas en la figura 3-41 son CMOS. Cua¡rrlo el
récnico prueha el circuito descubre que opera en lorma correcta, excepto
para las siguientes condiciones:
1. ¿=1,4=0,C:0
2. Á=0,8=1,C:1
para estas condiciones, la sonda lógica indica niveles indeterminados en
Z2-6, Z2-11 y Z2-8. ¿Cuál cree usted que sea la probable lalla en el cir-
cuito? Exp.lique su razonamiento.
;r: 3-47. La figura 3"80 es un circuito lógico combinacionai que opera una alarma
en un automóvil, cada vez que están ocupados los asientos del conductor
y/o del pasajero y que los cinturones de seguridad no están abrochados
cuando el automóvil arranca. Las señales CONDUC y PAS,1./ activas en
AITO indican ]a presencia del conductor y del pasajero en forma res-
pectiva, y se obtienen mediante iñterruptores operados por presiÓIr en
los asientos. La señal ENC es activa en ALTO cuando el interrupto¡ de
encendido está activado. La señal ifiV?E es activa en BAJO e indica q uc el
cinlurón de seguridad del conductor no está abrochado: ffiF es la scñal
'ts6 CApi:rril,o 3/CrRCUrros Lóctcos col{BINAcToNAL}:s

EÑC 5V

14
CONDUC 12
r1
1
'f3 ATANMA
6
3
crNl0 7
!l
I
10
PA§AJ
Z1 741S04
14 6 Z2 741S00

CINTP
25
7

l:llit lt,l .i'11(l F¡oblemas 3-47.3"48 y 3-49

correspondiente para el cinturón de seguridad del pasajero. La alarrna se


activará (BAJO) cada vez que se encienda el automótil, que cualquiera
de los asientos delantcros esté ocupado y que su cinturón de seguridad no
esté abrochado.
(a) Verifique quc el circuito funcione de la manera descrira.
(b) Describa córno operaría este siste¡ra de alarm¡i si Z1'2 estuviera en
co¡ to interno co¡ tierra.
(c) Describa cómo operaría si hubiera una conexión abíetta de 22-6 a 22.10.
t" 3-481 Suponga que el sistema de la figura 3"80 está funcion¿¡ndo de rnanera que
la alarma s6 active Ian pronto corno el conductor o algún pasajero estén
sentados y el auromóvil esté encendido, sin importar cl estado de los cin-
rurones de seguriclad. ¿Cuáles son las posibles fallas? ¿Qué ¡rrocedimienro
seguiría usted para encontrar la verdade¡a falla?
Í 3-49.* Suponga que ei sistema do al¿rrma de Ia figura 3-80 est¿i opcrando de
ma¡lera que la alarma se encienda en forma continua tan pronto como sc
encienda el automóvil, sin inrportarel r:stado de Ias domás r.:ntradas. l,iste
las posibles fallas v escriba un procedimiento para aislar la falla.

PfiEGUI{fAS PE PRÁCTICA SOEAE OISPO§ITIVOS PLO (59 A 55I


11-50! Verdadero o falso:
(a) EI diseño de arriba hacia aha.io comienza con una descripción general
de todo eI sistema y sus especificaciones.
1b) Un archivo JEDEC puede usarse como archivo de entrada par¿l un
prog,ramador.
(c) Si un a¡chivo de enr¡ada se compila sin er.r.ores, significa que el cir.
cuito PLD funcionará en fo¡ma correcta.
(d) Un cornpilador puede interpretar código ¿r pesar cle los crrores de sin-
taxis.
(e) Irs vecrores de prueba se
r¡ilizan para simular y probar un dispositivo-
¡1. u 3-51. ¿Qué son los ca¡acteres 7o que se utilizan para el archivo <Ie diseño de
AI{DL?
u"E 3-52. ¿Cómo se indican los comentarios en un archivo de discño de yllDi,?
t, 3-53. ¿Qué es un zócalo ZIF?
3-54I l.iste tres modos de enrrada utilizados para inroducir'la descripcién de
u¡r circuito en el sofrware de des¿r¡rollo de Pl,D.
:; 3-55. ¿Qué si¡¡nifican JjJDEC y HDL?
PRonf-EM-A.s 'rs7

§rcct0r,J 3-15
¡¡, Ir 3"56. Declare los siguientes objetos de datos en AIIDI- r: VHDL.
(a)'Un aneglo de ocho bits de salida Ilamados apq.rdtos.
(b) Un bit individual de salida llamado chichata"
(c) Un puerto de enrrada numérico de 16 bits llamado ¿lritud.
(d) Un bit individual intermedio dentro de un archiv¡: de descripción de
hardwa¡e llamado alambre2.
tI. fJ 3-57. Exprese los siguientes números literales en hexadecimal, binario y deci
mal, utilizando la sintaxis de AHDL o VIIDL.
(a)r 152r0
(b) 10010101002
(c) 3C4re
t[, ]] 3.581La siguiente definicién similar de E/S se da para AI{DL y psra VIIDL,.
Escriba cuatro instrucciones de asignaciér: concurrentes que co¡recten las
entradas con las salidas, como se muestra en la figura 3-81.

lr,(it"i¡1,\ 3-u!
Probléma 3"58

brtsen¿[3.,0] : fNPUT;
bitssalL t3. .01 : oUTPuT r

-.*-t
ENTITY hu ]S
poRt (

i ñbi ts rIN BIT_vECTcR {3 downlo 0)¡


^'ri r_\i r< iOUT BrT-VECIOR {3 dornnto 0)
I );
I
NND hW'
I

Bils€nl Bllssal
ENERGIA ENC 3 3 LED VACIO

I\,IOTOR ENC LED-ENEBGIA

LIMITE-VACIO LED.,LLENO

LIMITE LLENO MOTOR

sEcü0r\l 3"1s
II, I) 3-59. Modifique la tabla de verdad de AHDL de Ia figura 3-53 para implementar
la ecuación AB + AC + AB.
II, D 3-601 Modifique eI diseño de AHDL en la fi6¡ura 3'57, de manera que z = 1 sólo
cuando el valor digital sea menor que 10102.
fl, t) 3-61. Modifiq_qe la tabla de verdad de VIIDL de la figura 3-54 para implementar
AB+AC+AB.
r98 CApiTrü) 3/C]lrcul l'os Loctcos corIBINActoNAt.Es

lr. I¡ 3-621Moclilique el cliseiio cle VI{DL de la figura 3'58, de manera que: = 1 sólo
cuando el valor digital sea menor que 10102.
3-63. §{odifique el código de (a1 la figura 3-57 o (b) la figura 3"58 de tal fonna
que la salida ? ¿sré en IIAJO sólo cuando valor_digital se elrcuen e enrre
6 v 11 (inclusivo).
rI, ¡¡ 3-64. Modifique (a) el dlseño de AIIDL rle la figura 3.63 para implementar la
tabla 3.1. (b) el diserio de VHDL de la figura 3.64 pirra implemcntar
la tabla 3-1.
t¡, !; 3-651Escriba la ecuación booleana del archivo de diseño de tlescripcirin de
hardra,are para implemetrtar el ejemplo.l-9.
3.ij6- Dscriba la ecuación boolean¿r del archivo de diseño de descripcirin de
hardware para implementar un generador de paridad de cuatro bits, corro
sc muesrra en ta figura 3"25(a).

PfiɧUf¡{fA OT P8ÁCTICA
¡ri 3-67. Defina cada uno de los siguientes términos
(a) Mapa de Karnaugh
(b) Forma de suma de productos
(c) Generador de paridad
(d) Octero
{e) Circuiro de habilitación
(f) Condición "no importa"
(8) Enl rada [lor.rn I c
(h) Nivel de voltaje indeter.minado
(i) colisión
(j) IILI)
(k) TTL
{]) CMOS

AFLltACi0NE§ BE irt tClt 0C 0 tu1PUTA0 0fiA


3-68. En una microcomputadora, la L¡nidad del microprocesador (lUpU) siernple
se está comunicando con uno de los sigUientes eleme¡rtos: (1) me¡nr:¡¡ia
de acceso aleatorio (RAM), la cual al¡racena los progranras y <iarros r¡tre
pueden modificarse con facilidad; (2) mcmoria de srjlá lectura (ROM), la
cual almacena programas v rlatos que nunca se modífican; y (-i¡ disposi-
tivr¡s externos de entradalsalida (E/S) como teclados, panrallas tje virleo,
impresoras y unidades de disco. Al e-iecutaf ,-r.r, p.ugrumu. la MpU generá
un código de di¡ección que selecciona el tipo de cliipcsirivo (RAM; ROIU
o Fl/S) con el que dest:a comunicarse_ La figura 3-g2 muestra un arreglo

rI(lI R,l J-S: Proble¡¡as


3-68 y 3-69.
RAI\,4

[4FU
[/Si

FClr,,4
RESPUESTAS A LAs PREGUNTAS DE EVALUACIÓN DB RESULTADos 199

común eri donde la MPU produce como salida un código de dirección de


ocho bit§: áis - ls. En realidad la MPU produce como salida un código
de dirección de 16 bits, pero los bits de menor orden,4,7 - -4¡ no se utiliz;
en el proceso de selección de dispositivos. El código de dirección se aplica
a un circuito lógico que Io utiliza para genelar las señales de selección de
dispositivos: RAM, ROM y 8.,:O.
Analice este circuito y determine lo siguiente:
(a)* El intervalo de direcciones de.zl15 hasta á6 que acdva 1a señal FÁM
(b) El interr.alo de direcciones que acriva la señd fO
(c) El intervalo de direcciones que activa la señal R O-)tZ
Exprese las di¡ecciones en binario v en heradecimal. Por ejcmplo, la res-
puesta para (a) es: Á15 a ,4s = 000000002 a 111011112 : 0016 a 8F16.
A I) 3-69. En algunas microcomputadoras la MPU puede d.eshabilitarse por breves
periodos mientras que otro dispositivo controla los disposirivos de RAltzI,
ROM y E/S. Durante estos irltervalos, la (M-ff) acriva una señal de cont¡ol
especial (D.lt¿t4), la cual se utiliza para deshabilitar (desactivar) ia lógica
dc selección de dispositivos. de manera que las señales RAM. FOII y E-O se
encuerlren en su estado inacti\.o. Modifique el circuiro de la figura 3'82,
de tal forma que l{itrvÍ, ¡{ólrt y E-§ se desactiven cada vez que la señal
DlZf esté activa, sin importar el estado del código de dirección.

§ESPUE§TAS A LA§ PBEGUNTAS NE EVATUACION I}§ RESULTADOS

§[cct0N 3-1

1, Sólo (a). 2. Sólo (c)

§ECCION 3.2
1. Un circLrifo rnás pequelio y menos costoso de construir 2. Mantener retlasos de pro-
pd8a!jón ,rniformes para todos 1os circtritos

§ECCÍ0N 3-3
1. La expresión (b) ro se encr¡entra en la forma de suma de prodr¡ctos alebido al siSno
de inversión sobre las variables C y D 1es decir, el tÉr'mino AbD¡. La expresión (c) no se
encuentra en la lorma de suña de productos debido al término (M | ff)P. 2. Vea el
eiemplo 3-1. 3.x=,{+E+E
sEccloit 3-4
L x = ÁÉen + ÁBcÍ 'r ¡LBeD 2. ocho: cuatro inversores para.4, -8, c y D más cuatro
para SOP :i. lraducir a dos tablas de verdad, escribi¡ e1 término de productos pata
cada una, generar SOP,

sEccrúN 3-s
1.x=AB+AC+BC 2.2=A+BCD 3.S=F+0R 4. Una coodición de enrrada
para la cual no haya un¡r co¡rdición de salida requerida específica; es decir, tenemos la
libertad de hacerla 1 o o.

§ECCr0N 3-6
corstante. 3. No; la compuerta XOR disponible pLrede uÍilizarse
2. Un nivel BA.JO
como un INVERSOR si se conecta una de sus entradas a rln nivel ALTO constante (vea el
ejemplo 3.16).

§Egcr0N 3-7
1. siete 2. ocho
200 C,{FÍrüo 3/CrRCUrros r,óGrcos cüMrirNAcloN.A.l,ES

stcülÓN 3,a
1. ¡ = r(8"66 ?. x = tBe 3. OR, NAND 4. NAND, NOR

sEccl0tt 3-9
1. (a) transistores de unión l:ipolares (b) rransistores unipolares de efecro cle campo
(MO§FET). 2. S§1, M§I, LSl^ VLSI. UfSl, c$1
serciconductor metal óxido
3. Verdadero. 4. Verdadero 5. Se¡ies 40, 74AC y 74ACT 6. D€ 0 a 0.8 V; de 2.0
a 5.0 V 7. 0 a 1.5 V;3.5 a 5.0 V. 8. Como si la enrrada estLlviera en ALTO
9, Esimpredeciblei podría sobrecaLentarse y desrruirse 10. 74HCT y 74ACT
11. Describe¡ ]a manera exacta de cómo interconectar ios chips para dist¡ibui¡
el circuito y diagnosticar failas. 12. Se defÍnen las entradas y las salidas,
y se desc¡iben 1as relaciones lógicas.

§Ett,0r{ 3-11
1.Ett¡adas o saiidas abietras; entradás o salidas en co!,to (:on y..i,t enl[adas a salidas en
cortocircLiito a lierra: Lerninales en cur.ro; falias internas del circl.rito 2.'l'erminale§
cr corto 3. Pala'fTL, un rivel BA.IO;para CMOS, indeierminado 4. Dos o más sali"
das conectadas ent¡e si.

sÉcc¡Úru 3"1:
'1,
Lineas de señal abiertas; lineas de señal en cortoi {r¡ente de poder d€fectuosa; carga
en la salida 2, Alambres rotosl coneúones de soldadrrra pobresl grietas o cortes en la
tarjeta de circuito impreso; termiBales del CI clobladas o rota§; ¿ócaios de CI defecfuoso§
3. Los C¡ óperan en forma errática o no operan 4. Nivel lógico indeterminado.

SretlÚN 3-i3
1. ALTO 2. Una de sus enradas e¡stá en BAJO 3- BAJO 4. Una de sus entrada$
eslá e¡ ALTO 5. §i no coilciden, el problema está simpiemente en el cablea<io.
6. rlesconect€ el cable de la salida. Si la salida ahora es correcta, el probiema esrá en la
carga.

§[0CtÓN 3.r4
1. Las conexiones contro¡adas por electricidad se programao como abierlas o ccrra-
das. 2. (4,1)(2,2) o (2.1){4.2) 3. (4, SX1, 6) o (4, 6)(i, S) 4. Veael gtosario
5. JTAG

sE§ciÓN 3-15
1. (a) botoüesl)ulsar[5..01:INPUT; (b) botones_pulsar :IN BIT_VECTOR (S DOWNTO 0)i
2. (a) z - botones-pülsar[5]; (b) ¡ <= borones_pulsar(S); J. STD-LOGÍ{
4. SID_LOGIC-VECTOR 5. Decimal, binario, hexadecimal

§ECCrÓF¡ 3.16
1, (AHDL) omegal ] (x, y, z); (VHDL) omega <= x & y & z; 2. Medianre el uso de ia
palabra clave TABLE, 3. Mediante el L¡so de las asignaciones d.e señal selecta.
§gc§rór¡ 3-1?
i. ]FIT}ITjN 2, IF/T}IEN/ELSE 3. CASE o lFELSfl- 4. Ve¡d¿rde¡r.r
5. Vertiade¡r>

También podría gustarte