Está en la página 1de 58

Sistemas Digitales

Ejercicios resueltos y planteados

Mario Medina C.

Depto. Ing. Eléctrica


Facultad de Ingenierı́a
Universidad de Concepción

2011
ii

Prefacio

Esta es una colección de ejercicios de sistemas digitales que espero


sea de utilidad a aquellos alumnos empeñados en desarrollar las habili-
dades y competencias asociadas a esta materia. Muchos de ellos apare-
cen en los textos enumerados en la bibliografı́a de este documento; otros
han sido creados por el autor para ser usados en tareas y exámenes.
Es mi opinión que la única forma de aprender es haciendo. Se espera
que los ejercicios planteados sean desarrollados por Uds., los alumnos.
Por ello, en la mayorı́a de éstos, sólo se indica la solución final.
Estoy siempre dispuesto a responder consultas sobre estos ejerci-
cios, ya sea via correo electrónico o en persona. Asimismo, rogarı́a me
hicieran llegar cualquier corrección o comentario a los ejercicios de este
libro.
Asi que, buena suerte, y provecho!
Mario Medina C.
mariomedina@udec.cl
Índice general

1 Sistemas numéricos 1

2 Códigos 10

3 Álgebra Booleana 16

4 Funciones Booleanas 20

5 Minimización de funciones mediante mapas de Karnaugh 24

6 Minimización de funciones mediante los métodos de Quine-McCluskey


y Petrick 29

7 Diseño de circuitos combinacionales 31

8 Bloques estandarizados 36

9 Circuitos secuenciales 42

10 Registros y contadores 44

11 Análisis de circuitos secuenciales sincrónicos 47

12 Diseño de circuitos secuenciales sincrónicos 51

Bibliografı́a 54

iii
Capı́tulo 1
Sistemas numéricos

Conversión entre bases


1.1 Realice las siguientes conversiones:

a) 3957310 a base 2 f ) 370148 a base 2


b) 9928010 a base 8 g) 7928810 a base 16
c) 43,37510 a base 2 h) 202710 a base 8
d) 326218 a base 10 i) 1101101012 a base 8
e) AE4316 a base 8 j) 12202013 a base 10

Solución

a) 10011010100101012 f ) 111110000011002
b) 3017208 g) 135B816
c) 101011,0112 h) 37538
d) 1371310 i) 6658
e) 1271038 j) 139610

1.2 Convierta los siguientes números a octal y a hexadecimal

a) 111010110001,0112 b) 10110011101,1012

1
Capı́tulo 1: Sistemas numéricos 2

Solución

a) 7261,38 y EB1,616 b) 2635,58 y 59D, A16

1.3 Convierta los siguientes números a hexadecimal y luego a binario.

a) 757,2510 b) 123,1710 c) 356,8910 d) 1063,510

Solución

a) 2F5,416 y 1011110101,012
b) 7B,2B16 y 111011,00101012
c) 164.E316 y 101101100,11100012
d) 427,816 y 10000100111,12

1.4 Convierta los siguientes números decimales a octal y luego a binario.


63
a) 2983 64 b) 93,73 c) 1900 31
32 d) 109,30

Solución

a) 5647,018 y 101110100111,0000012
b) 135,5658 y 1011101,10111012
c) 3554,768 y 11101101100,111112
d) 155,2318 y 1101101,01001102

1.5 A qué corresponde el número 242,2510 en base 2?


Solución
11110010,012

1.6 A qué corresponde el número 4526,238 en decimal?


Solución
4526,238 = 2390,2910

1.7 Convierta el número 3BA,2514 a base 6. Para mayor facilidad, realice


las operaciones aritméticas en base 10.
Solución
El número 3BA,2514 es igual a 3252,16 .
Capı́tulo 1: Sistemas numéricos 3

1.8 Convierta el número 25749 a base 3.


Solución
21221113
1.9 Deduzca un esquema para convertir directamente números en base 3
a base 9. Utilice ahora el método deducido para convertir el número
1110212,202113 a base 9.
Solución
1425,6739
1.10 Convierta el número 7813,4059 a base 16. Considere que log 9/ log 16 =
0,792.
Solución
El número 7813,4059 en base 16 es 1683,73816
1.11 Hay evidencia histórica que, en algunas culturas, se ha utilizado la base
20 para representar números. Entonces,
a) escriba los dı́gitos para un sistema base 20 usando una extensión
del mismo esquema de representación de dı́gitos empleado para
hexadecimal
b) convierta 201010 a la base 20
c) convierta BCH.G20 al sistema decimal
Solución

a) A continuación, se muestra la equivalencia entre los valores en


base 10 y la extensión pedida para base 20.

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J

b) 201010 = 50A20
c) BCH.G20 = 4657,810

1.12 Calcule el valor de la base x si se sabe de 123x = 1111001102 .


Solución
La solución x = 21 se puede derivar mediante inspección, o mediante
la solución de una ecuación de segundo grado.
Capı́tulo 1: Sistemas numéricos 4

1.13 Encuentre el valor de la base r en la expresión BEEr = 269910 .


Solución
La solución r = 15 puede ser derivada mediante inspección, o mediante
la solución de una ecuación de segundo grado.

Aritmética en bases distintas a 10

1.14 Realice la siguiente multiplicación 120113 × 10213 sin pasar a otras ba-
ses.
Solución
El resultado de la multiplicación en base 3 es 201110013

1.15 Un colega del Depto. Eléctrico acaba de estar de cumpleaños. Le pre-


gunté cuántos años cumplı́a y me dijo “XY años”, donde X e Y repre-
sentan 2 dı́gitos diferentes. Al comentarle que me parecı́an pocos, me
dijo “En realidad son YX, pero le cambié la base”. Sabiendo que X = 3,
indique qué edades podrı́a tener en realidad.
Solución
El colega podrı́a tener:

a) 43 años, que en base 13 es 34


b) 53 años, que en base 16 es 35
c) 63 años, que en base 19 es 36

1.16 En “Alicia en el Paı́s de las Maravillas”, Lewis Carroll pone el siguiente


acertijo numérico en boca de Alicia:

¡Dios mı́o, qué rompecabezas! Voy a ver si sé todas las cosas
que antes sabı́a. Veamos: cuatro por cinco doce, y cuatro por
seis trece, y cuatro por siete...
¡Dios mı́o! ¡Ası́ no llegaré nunca a veinte!

Estas operaciones aritméticas tienen sentido si se consideran en bases


distintas a 10. Entonces, es verdad lo que dice Alicia? Llega en algún
momento a 20?
Solución
No, Alicia nunca llega a 20.
Capı́tulo 1: Sistemas numéricos 5

1.17 Realice las siguientes sumas:

a) 100112 + 11012 c) 100112 + 11011012


b) 110100112 + 111011012 d) 1001112 + 1011012

Solución

a) 1000002 c) 100000002
b) 1110000002 d) 10101002

1.18 Realice las siguientes operaciones:

a) 100112 AND 101012 e) 10110112 XOR 11011012


b) 110100112 OR 111011012 f ) 1001112 NEXOR 1011012
c) 10110112 AND 11011012 g) 110010112 XOR 010100112
d) 1001112 OR 1011012 h) 1110102 NEXOR 1001102

Solución

a) 100012 c) 10010012 e) 01101102 g) 100110002


b) 111111112 d) 1011112 f ) 1101012 h) 1000112

1.19 Determine la incógnita X3 en la ecuación 10100102 + X3 = 21024 .


Solución
La incógnita es X3 = 21013

1.20 Sea X = 5338 , y Y = 2348 . Calcule X + Y, X − Y, X × Y y X/Y usando la


base octal. Calcule la división con a lo más 2 cifras decimales.
Solución

X + Y = 7678
X − Y = 2778
X × Y = 1515648
X/Y = 2,168
Capı́tulo 1: Sistemas numéricos 6

1.21 Sume, reste y multiplique los siguientes números binarios

a) 11112 y 10102
b) 1101102 y 111012
c) 1001002 y 101102

Solución

a) Suma: 110012 . Resta: 1012 . Multiplicación: 100101102


b) Suma: 10100112 . Resta: 110012 . Multiplicación: 110000111102
c) Suma: 1110102 . Resta: 11102 . Multiplicación: 11000110002

1.22 El siguiente cálculo ha sido realizado por una especie particular de


alienı́gena que tiene r dedos en sus manos.

(35r + 24r ) × 21r = 1501r

Cuántos dedos tiene el alienı́gena en cada mano?


Solución
El alienı́gena tiene 4 dedos en cada mano. Por ello, realiza operaciones
en base 8.

Representación módulo-signo y complemento a 2


1.23 Indique qué representan las siguientes secuencias de bits como enteros
positivos en base 10, enteros con signo en base 10 y como caracteres
ASCII.

a) 11001012 e) 11111002
b) 00111012 f ) 10000012
c) 01100102 g) 11101012
d) 11011012 h) 11111112

Solución

a) Entero sin signo: 101. Entero con signo: −27. Caracter ASCII: ’e’
b) Entero sin signo: 29. Entero con signo: −99. Caracter ASCII: Groop
Separator (GS)
Capı́tulo 1: Sistemas numéricos 7

c) Entero sin signo: 50. Entero con signo: −78. Caracter ASCII: ’2’
d) Entero sin signo: 109. Entero con signo: −19. Caracter ASCII: ’m’
e) Entero sin signo: 124. Entero con signo: −4. Caracter ASCII: ’—’
f ) Entero sin signo: 65. Entero con signo: −63. Caracter ASCII: ’A’
g) Entero sin signo: 117. Entero con signo: −11. Caracter ASCII: ’u’
h) Entero sin signo: 127. Entero con signo: −1. Caracter ASCII: DEL

1.24 Calcule el complemento a 2 de los siguientes números binarios.

a) 1001012 e) 111112
b) 100111012 f ) 10000112
c) 1101100102 g) 1110012
d) 111012 h) 111111112

Solución

a) 1101112 e) 000012
b) 011000112 f ) 01111012
c) 0010011102 g) 0001112
d) 000112 h) 000000012

1.25 Un computador tiene una longitud de palabra de 8 bits (incluyendo el


signo). Si se utiliza el complemento a 2 para representar los números
negativos, qué rango de enteros puede almacenarse en el computador?
Y si se utiliza el complemento a 1? (Exprese sus respuestas en decimal).
Solución
Si se utiliza el complemento a 2, el rango de representación de enteros
es de −128 a 127. Si se utiliza el complemento a 1, el rango de repre-
sentación es −127 a 127.

1.26 Realice las siguientes restas usando complemento a 2. Luego, verifique


sus resultados.

a) 100112 − 11012 c) 10010112 − 11011012


b) 110100112 − 111011012 d) 1001112 − 1011012
Capı́tulo 1: Sistemas numéricos 8

Solución

a) 1102 c) −1000102
b) −110102 d) −1102

1.27 Realice las siguientes restas sumando el complemento. Indique cuándo


se produce un rebalse. Suponga que los números negativos están repre-
sentados en complemento a 2.

11010 01011 10001 10101


a) b) c) d)
−10100 −11000 −01010 −11010

Solución

a) Resultado es 1102 . Hay rebalse, ası́ que el resultado es correcto


b) Resultado es 100112 . No hay rebalse, ası́ que el resultado correcto
es −11012
c) Resultado es 1112 . Hay rebalse, ası́ que el resultado es correcto
d) Resultado es 110112 . No hay rebalse, ası́ qeu el resultado correcto
es −1012

1.28 Sumar los siguientes números en binario utilizando el sistema de com-


plemento a 2 para representar los números negativos y notación módulo-
signo. Utilice una longitud de palabra de 6 bits, incluyendo el signo, e
indique si se produce un rebalse.

a) 21 + 11 d) (−12) + 13
b) (−14) + (−32) e) (−11) + (−21)
c) (−25) + 18 f ) 31 + (−8)

Solución

a) El resultado correcto es 32, el cual no se puede representar en una


palabra de 6 bits. Hay un rebalse aritmético.
b) El resultado correcto es −46, el cual no se puede representar en
una palabra de 6 bits. Hay un rebalse lógico.
c) El resultado correcto es −7. No hay rebalses.
Capı́tulo 1: Sistemas numéricos 9

d) El resultado correcto es 1. Hay rebalse aritmético y rebalse lógico.


e) El resultado correcto es −32. Hay rebalse aritmético y rebalse lógi-
co.
f ) El resultado correcto es 23. Hay rebalase aritmético y rebalse lógi-
co.
Capı́tulo 2
Códigos

Códigos ponderados
2.1 Construya un código ponderado BCD1523 para dı́gitos decimales. Si no
es posible hacerlo, explique porqué no. Si es posible, escriba el número
67310 en su código.
Solución
La siguiente tabla muestra una posible solución. Siguiendo esta codifi-
cación, el número 67310 se escribe 1100 0110 0001BCD1523 .

Dı́gito BCD1523
0 0000
1 1000
2 0010
3 0001
4 1001
5 0100
6 1100
7 0110
8 0101
9 1101

2.2 Construya una tabla para el código ponderado BCD4321 y escriba el


número 915410 en ese código.

10
Capı́tulo 2: Códigos 11

Solución
La siguiente tabla muestra una posible solución. Siguiendo esta codifi-
cación, el número 915410 se escribe 1110 0001 1001 0101BCD4321 .

Dı́gito BCD4321
0 0000
1 0001
2 0010
3 0100
4 0101
5 1001
6 1010
7 1011
8 1101
9 1110

2.3 Es posible construir el código ponderado BCD5311? Si es ası́, indique


la tabla correspondiente. Si no es posible, indique porqué.
Solución
Si, es posible, y la siguiente tabla muestra una posible solución.

Dı́gito BCD5311
0 0000
1 0001
2 0011
3 0100
4 0101
5 1000
6 1010
7 1011
8 1100
9 1110
Capı́tulo 2: Códigos 12

2.4 Es posible construir el código ponderado BCD6411? Si es ası́, indique


la tabla correspondiente. Si no es posible, indique porqué.
Solución
No es posible, ya que el código ponderado BCD6411 no puede repre-
sentar los dı́gitos 3 ó 9.

2.5 Construya un código ponderado BCD7321 para base 12. Represente el


número B4A912 en dicho código.
Solución
La siguiente tabla muestra una posible solución. Siguiendo esta codifi-
cación, el número B4A912 se escribe 1101 0101 1100 1010BCD7321 .

Dı́gito BCD7321
0 0000
1 0001
2 0010
3 0100
4 0101
5 0110
6 0111
7 1000
8 1001
9 1010
A 1100
B 1101

2.6 Genere un código BCD5321 autoreflejado para base 12, y represente el


número 13510 en su nuevo código.
Solución
La siguiente tabla muestra una posible solución. El número 13510 equi-
vale a B312 , el que, siguiendo esta codificación, se escribe como 1111 0011BCD5321 .
Capı́tulo 2: Códigos 13

Dı́gito BCD5321
0 0000
1 0001
2 0010
3 0011
4 0101
5 0110
6 1001
7 1010
8 1100
9 1101
A 1110
B 1111

2.7 Un registro de 16 bits contiene la secuencia 0100100101010111. Des-


pliegue el resultado de interpretar esta secuencia como

a) Números BCD8421
b) Un número binario puro
c) Números en código Exceso-3
d) Números BCD2421

Solución

a) BCD8421: 4957BCD8421
b) binario puro: 1877510
c) Exceso-3: 1624Exc−3
d) BCD2421: 4357BCD2421

2.8 Codifique el número binario 1001110102 usando codificación Gray.


Solución
El número binario 1001110102 se escribe como 110100111Gray en códi-
go Gray.

2.9 Un computador representa información utilizando grupos de 32 bits.


Indique el rango de los enteros sin signo que se pueden representar
utilizando
Capı́tulo 2: Códigos 14

a) código binario
b) código BCD2421

Cuál rango es mayor?


Solución

a) El rango de representación para el código binario es de 0 a 232 − 1,


es decir, 4, 294, 967, 296 enteros.
b) El rango de representación para el código BCD2421 es de 0 a 108 −
1, o 99, 999, 999, es decir, 100, 000, 000 enteros.

2.10 Diseñe un código BCD autocomplementado para representar dı́gitos


en base 14, que además cumpla con la propiedad que la representacio-
nes de los dı́gitos menores a 7 comiencen todos con 0, y que los otros
dı́gitos comiencen con 1. Luego, utilice su código para representar el
equivalente al número 982610 en base 14.
Solución
Existen dos códigos BCD que cumplen con la condición: BCD7321, y
BCD6421. Como 982610 = 381C14 , se tiene que en BCD7321 esto es
0100 1001 0001 1110, y en BCD6421 esto es 0011 1010 0001 1110.

Códigos detectores y correctores de errores

2.11 En un computador se ha recibido la secuencia de bits 1011111, que


representa un número codificado en Hamming(7, 4). Indique si ocu-
rrió un error en la transmisión y, si es ası́, cuál fue el número transmi-
tido.
Solución
Error en el bit 2. Dato transmitido: 11112

2.12 En un computador se ha recibido la secuencia de bits 0110010, que


representa un número codificado en Hamming(7, 4). Indique si ocu-
rrió un error en la transmisión y, si es ası́, cuál fue el número transmi-
tido.
Solución
Error en el bit 7. Dato transmitido: 10112
Capı́tulo 2: Códigos 15

2.13 En un computador se ha recibido la secuencia de bits 011100001010


codificado usando codificación Hamming. Indique si ocurrió un error
en la transmisión y, si es ası́, cuál fue el número transmitido.
Solución
Error en el bit 7. Dato transmitido: 100110102
Capı́tulo 3
Álgebra Booleana

3.1 Demuestre que la operación XOR, A ⊕ B, también cumple con la pro-


piedad asociativa.
3.2 Demuestre que, para a, b, c ∈ {0, 1},
a) ab = ac no implica b = c.
b) Si ab = ac y a + b = a + c, entonces b = c.
3.3 Demuestre las siguientes equivalencias utilizando los postulados del
álgebra Booleana, indicando en cada paso qué postulado se está apli-
cando.
a) a0 b0 + ab + a0 b = a0 + b
b) a0 + a(a0 b + b0 c)0 = a0 + b + c0
c) (a0 b0 + c)(a + b)(b0 + ac)0 = a0 bc
d) ab0 + b0 c0 + a0 c0 = ab0 + a0 c0
e) wxy + w0 x(yz + yz 0 ) + x0 (zw + zy 0 ) + z(x0 w0 + y 0 x0 ) = xy + x0 z
f ) abc0 + bc0 d + a0 bd = abc0 + a0 bd
3.4 Dado que xy 0 + x0 y = z, muestre que xz 0 + x0 z = y.
3.5 Simplifique algebraicamente la expresión a+a0 b+a0 b0 c+a0 b0 c0 d+a0 b0 c0 d 0 e,
indicando la propiedad aplicada en cada paso.
3.6 La operación ≡ está definida para los dos variables a y b como a ≡ b =
ab + a0 b0 . Suponiendo que c = (a ≡ b), indique cuál de las siguientes
identidades es válida.

16
´
Capı́tulo 3: Algebra Booleana 17

a) a = b ≡ c
b) a ≡ bc = 1

3.7 Verifique que, si ab0 + [b + b0 (a + bc)]0 = [a + a0 (ac + ab)](a + b0 ), entonces


a = b0 .

3.8 Es válida la siguiente ley distributiva? A⊕ BC = (A⊕ B)(A⊕ C). Demues-


tre su respuesta.

3.9 Simplifique la expresión P̄ + PQR + Q R̄


Solución
La expresión simplificada equivalente es P̄ + Q

3.10 Simplifique la expresión (A ≡ B0 )(CD ⊕ B0 ) + ABCD para obtener una


suma de tres términos.
Solución
La expresión simplificada equivalente es AB0 C0 + AB0 D0 + BCD

3.11 Simplifique las siguientes expresiones, utilizando en cada caso sólo uno
de los teoremas. Indique el teorema utilizado.

a) X0 Y0 Z + X0 Y0 Z
b) (AB0 + CD)(B0 E + CD)
c) ACF + ACF
d) aA(c + dbB) + a
e) (AB + C + D)(A0 B + D)

3.12 Demuestre algebraicamente las siguientes expresiones, indicando para


cada paso la propiedad utilizada.

a) (X0 + Y0 )(X ≡ Z) + (X + Y)(X ⊕ Z) = (X ⊕ Y) + Z0


b) (W0 + X + Y0 )(W + X0 + Y)(W + Y0 + Z) = X0 Y0 + WX + XYZ + W0 YZ
c) ABC + A0 C0 D0 + A0 BD0 + ACD = (A0 + C)(A + D0 )(B + C + D)

3.13 Utilice los teoremas del álgebra Booleana para demostrar la siguiente
igualdad:

(abd + a0 b + b0 d + c0 )(c + ab + bd) = b(a + c)(a0 + c0 ) + d(b + c)


´
Capı́tulo 3: Algebra Booleana 18

3.14 Usando una tabla de verdad, muestre que F1 (x, y, z, w) = w0 z 0 + w0 xy +


wx0 z + wxyz es equivalente a F2 (x, y, z, w) = w0 z 0 + xyz + wx0 y 0 z + wyz.
Solución

xyzw w0 z 0 w0 xy wx0 z wxyz xyz wx0 y 0 z wyz F1 F2


0000 1 0 0 0 0 0 0 1 1
0001 0 0 0 0 0 0 0 0 0
0010 0 0 0 0 0 0 0 0 0
0011 0 0 1 0 0 1 0 1 1
0100 1 0 0 0 0 0 0 1 1
0101 0 0 0 0 0 0 0 0 0
0110 0 0 0 0 0 0 0 0 0
0111 0 0 1 0 0 0 1 1 1
1000 1 0 0 0 0 0 0 1 1
1001 0 0 0 0 0 0 0 0 0
1010 0 0 0 0 0 0 0 0 0
1011 0 0 0 0 0 0 0 0 0
1100 1 1 0 0 0 0 0 1 1
1101 0 0 0 0 0 0 0 0 0
1110 0 1 0 0 1 0 0 1 1
1111 0 0 0 1 1 0 1 1 1

3.15 Simplifique cada una de las siguientes expresiones utilizando princi-


palmente el teorema del consenso o su dual.

a) BC0 D0 + ABC0 + AC0 D + AB0 D + A0 BD0


b) W0 Y0 + WYZ + XYZ + WX0 Y
c) (B + C + D)(A + B + C)(A0 + C + D)(B0 + C0 + D0 )
d) W0 XY + WXZ + WY0 Z + W0 Z0
e) A0 BC0 + BC0 D0 + A0 CD + B0 CD + A0 BD
f ) (A + B + C)(B + C0 + D)(A + B + D)(A0 + B0 + D0 )

3.16 Simplifique algebraicamente la expresión F(A, B, C, D) = BC0 D0 +BC0 D+


A0 C0 D0 + BCD0 + A0 B0 CD0 .
Solución
La expresión simplificada es F(A, B, C, D) = BC0 + BD0 + A0 D0
´
Capı́tulo 3: Algebra Booleana 19

3.17 Aplicando las leyes de De Morgan, obtenga una expresión simplificada


para las siguientes funciones:

a) G = (xy + xz) (x̄ + ȳz)

b) F = (x + y)(xȳ + z)

Solución

a) G = x̄ + ȳ + z
b) F = ȳ + z
Capı́tulo 4
Funciones Booleanas

4.1 Escriba una ecuación que represente el siguiente enunciado:


El indicador de rebalse R se enciende sı́ y sólo si la descar-
ga D es negativa, el controlador está encendido y el indicador
de nivel está activado, o si la descarga es positiva, el contro-
lador está apagado y el indicador de nivel está desactivado.
Solución
R = D̄CN + C̄N̄D
4.2 Represente cada una de las siguientes proposiciones como una expre-
sión booleana
a) La caja fuerte de la empresa sólo debe abrirse cuando el jefe está en
la oficina o cuando el contador está en la oficina, y sólo dentro del
horario comercial y sólo cuando el guardia de seguridad está pre-
sente.
b) Debo ponerme botas si está lloviendo e iré a almorzar al casino o
si mi mamá me lo dice.
c) Debe reı́rse de los chistes del profesor si éstos son divertidos, de
buen gusto y no son ofensivos para otros, o si el profesor cuenta el
chiste en clases (independientemente de si es divertido y de buen
gusto) y no es ofensivo para los demás.
d) La puerta del ascensor debe estar abierta si el ascensor está para-
do, se encuentra al nivel del piso y el temporizador del ascensor
aún no ha terminado, o si el ascensor está detenido, se encuentra
al nivel del piso y alguien presionó el botón de Abrir.

20
Capı́tulo 4: Funciones Booleanas 21

4.3 Desarrolle y simplifique para obtener una suma de productos.

a) (A + B)(C + B)(D̄ + B)(ACD̄ + E)


b) (A0 + B + C0 )(A0 + C0 + D)(B0 + D0 )

Solución

a) ACD̄ + BE
b) A0 B0 + A0 D0 + B0 C0 + C0 D0

4.4 Descomponga cada una de las siguientes expresiones en factores para


obtener un producto de sumas.

a) AB + C0 D0
b) WX + WY0 X + ZYX
c) A0 BC + EF + DEF0
d) XYZ + W0 Z + XQ0 Z
e) ACD0 + C0 D0 + A0 C
f ) A + BC + DE

Solución

a) (A + C0 )(B + C0 )(A + D0 )(B + D0 )


b) (W + Z)(W + Y)X
c) (A0 + E)(B + E)(C + E)(A0 + D + F)(B + D + F)(C + D + F)
d) Z(W + X)(Q0 + W + Y)
e) (C + D0 )(A0 + D0 )
f ) (A + B + D)(A + C + D)(A + B + E)(A + C + E)

4.5 Reduzca la siguiente función a una suma mı́nima de productos, donde


⊕ es la operación XOR, y ≡ es la operación NEXOR.
F = WXY0 + (W0 Y0 ≡ X) + (Y ⊕ WZ)
Solución
F = WX̄ + WȲ + W̄Y + W̄X + X̄Y + YZ̄
Capı́tulo 4: Funciones Booleanas 22

4.6 Para cada una de las siguientes expresiones, obtenga un producto de


sumas.

a) H0 I0 + JK
b) ABC + A0 B0 C + CD0
c) AB0 + ACD + ADE0
d) AB0 C + B0 CD0 + EF0
e) WX0 Y + W0 X0 + W0 Y0
f ) AB0 + (CD0 + E)

Solución
Los productos de sumas pedidos son:

a) (H0 + J)(H0 + K)(I0 + J)(I0 + K)


b) C(A + B0 + D)(A0 + B + D)
c) A(B0 + D)(B0 + C + E0 )
d) (B0 + E)(C + E)(A + D0 + E)(B0 + F0 )(C + F0 )(A + D0 + F0 )
e) Y0 (X + W0 )
f ) (A + C + E)(A + D0 + E)(B0 + C + E)(B0 + D0 + E)

4.7 Reduzca las siguientes funciones a su forma mı́nima de suma de pro-


ductos:

a) F(A, B, C, D) = ABC[AC + BC(AC)] + (A + C0 )(AC + B0 C0 )


b) F(A, B, C, D) = A0 B0 C + (A + B0 + C0 ) + A0 B0 C0 D

Solución
Las sumas de productos equivalentes son

a) F(A, B, C, D) = B0 C + A0 C + BC0
b) F(A, B, C, D) = A0 C + AB0 D

4.8 Use álgebra booleana para convertir la ecuación F(x, y, z, t) = x ⊕ y ⊕ z ⊕ t


a la forma canónica de suma de productos.
Solución
P
F(x, y, z, t) = m(1, 2, 4, 7, 8, 11, 13, 14)
Capı́tulo 4: Funciones Booleanas 23

P
4.9 Dada la función F(A, B, C, D) = m(0, 1, 2, 6, 7, 14, 15).

a) Halle la expresión en términos producto de F.


b) Halle la expresión en términos suma de F.

Solución

a) A0 B0 C0 D0 + A0 B0 C0 D+ A0 B0 CD0 + A0 BCD0 + A0 BCD+ ABCD0 + ABCD


b) (A+ B+ C0 + D0 )(A+ B0 + C+ D)(A+ B0 + C+ D0 )(A0 + B+ C+ D)(A0 + B+
C+D0 )(A0 +B+C0 +D)(A0 +B+C0 +D0 )(A0 +B0 +C+D)(A0 +B0 +C+D0 )

4.10 Un circuito combinacional tiene cuatro entradas A, B, C, D y cuatro sali-


das, W, X, Y, Z. La salida representa un número en código Exceso-3 cuyo
valor es igual al número de unos presentes en la entrada. Por ejemplo,
si ABCD = 1101, entonces la salida debe ser WXYZ = 0110.

a) Halle las expansiones en términos producto para X, Y y Z. Encuen-


tre luego expresiones reducidas en forma de suma de productos
para X, Y y Z.
b) Halle las expansiones en términos suma para X, Y y Z. Encuentre
luego expresiones reducidas en forma de producto de sumas para
X, Y y Z.
P
4.11 Sea la función f (w, x, y, z) = m(0, 8, 13, 14, 15). Un compañero suyo in-
siste que esta función puede escribirse como una combinación de una
función g() de 2 variables y una función h() de 3 variables, de la for-
ma h(g(y, z), w, x). Indique si esto es ası́, y en caso positivo, escriba las
ecuaciones para g() y h().
Solución
Hay dos posibles soluciones:

a) g(y, z) = ȳ z̄ y h(g, w, x) = x̄g + wxḡ


b) g(y, z) = y + z y h(g, w, x) = x̄ḡ + wxg
Capı́tulo 5
Minimización de funciones
mediante mapas de Karnaugh

5.1 Escriba la suma mı́nima de productos para cada una de las siguientes
funciones utilizando un mapa de Karnaugh.

a) f1 (a, b, c) = m0 + m2 + m5 + m6
P
b) f2 (d, e, f ) = m(0, 1, 2, 4)
c) f3 (r, s, t) = r t̄ + r̄ s̄ + r̄s
d) f4 (x, y, z) = M0 M5

5.2 Represente la función F(A, B, C, D) = A0 B0 +CD0 +ABC+A0 B0 CD0 +ABCD0


en un mapa de Karnaugh. Halle la suma mı́nima de productos para F y
F̄.

5.3 Dada la función F(A, B, C, D) = AB̄D̄ + Ā(B̄C̄)0 + CD,

a) Exprésela como una sumatoria de minitérminos.


b) Encuentre una expresión mı́nima como producto de sumas utili-
zando un mapa de Karnaugh.
P
5.4 Dadas las funciones P(A, B, C, D) = m(0, 2, 4, 7, 8, 10) y Q(A, B, C, D) =
ABD + B0 C0 D, use mapas de Karnaugh para encontrar la función R =
P ⊕ Q en forma de producto de sumas.

5.5 Un circuito combinacional recibe como argumento un número en códi-


go binario BCD2421, y genera una salida z que toma valor 1 si las en-
tradas x3 x2 x1 x0 contienen un número válido.

24
Capı́tulo 5: Minimización de funciones mediante mapas de Karnaugh 25

a) Represente la salida z en un mapa de Karnaugh.


b) Identifique los implicantes primarios esenciales y no esenciales.
c) Escriba una ecuación mı́nima de suma de productos para la salida
z.

Solución

a) El mapa de Karnaugh de la salida z es

x3 x2
x1 x0 00 01 11 10
00 1 1 1 0
01 1 0 1 0
11 1 0 1 1
10 1 0 1 0
b) Implicantes primarios esenciales: x3 x2 y x30 x20 .
Implicantes primarios no esenciales: x30 x10 x00 , x2 x10 x00 , x20 x1 x0 , x3 x1 x0
c) Una ecuación mı́nima de suma de productos es z = x3 x2 + x30 x20 +
x30 x10 x00 + x3 x1 x0

5.6 Use mapas de Karnaugh para simplificar la siguiente función, donde


P
d() indica los minitérminos superfluos.
X X
F(A, B, C, D, E) = m(0, 7, 11, 13, 14, 15, 16, 23, 28, 29, 30, 31)+ d(1, 2, 8, 9, 17, 19, 25)

5.7 Encuentre una suma mı́nima de productos para la siguiente función.

f (a, b, c, d) = ΠM(5, 7, 13, 14, 15) × ΠD(1, 2, 3, 9)

5.8 La siguiente figura presenta un mapa de Karnaugh de 5 variables. En-


cuentre una expresión mı́nima de suma de productos para esta función.

cde
ab 000 001 011 010 110 111 101 100
00 1 0 0 1 1 0 0 1
01 1 0 0 X 1 1 0 1
11 0 X 1 0 0 1 X X
10 X 0 0 0 0 0 0 1
Capı́tulo 5: Minimización de funciones mediante mapas de Karnaugh 26

5.9 El código reflejado exceso 3 es un código adyacente simétrico. Se desea


diseñar un circuito digital que reciba como entrada un dı́gito X = x3 x2 x1 x0
en código reflejado exceso 3, y que entregue como salida otro dı́gito
Y = y3 y2 y1 y0 , tal que Y sea el equivalente en código BCD8421 de X.
Escriba los mapas de Karnaugh para las 4 variables y3 y2 y1 y0 , y muestre
las ecuaciones mı́nimas como productos de sumas para cada una.
Solución Los mapas de Karnaugh pedidos se muestran a continuación

x3 x2 x3 x2
x1 x0 00 01 11 10 x1 x0 00 01 11 10
00 X 0 0 X 00 X 1 1 X
01 X 0 0 X 01 X 0 1 X
11 X 0 0 X 11 X 0 1 X
10 0 0 1 1 10 0 0 0 0
y3 y2

x3 x2 x3 x2
x1 x0 00 01 11 10 x1 x0 00 01 11 10
00 X 0 0 X 00 X 0 1 X
01 X 1 1 X 01 X 1 0 X
11 X 1 1 X 11 X 0 1 X
10 0 0 0 0 10 0 1 0 1
y1 y0

Entonces, las ecuaciones para las variables de salida son:

y3 = x3 x1 x00
y2 = (x10 + x0 )(x3 + x0 )
y1 = x 0
y0 = (x3 + x1 + x0 )(x30 + x1 + x00 )(x3 + x10 + x00 )(x30 + x20 + x10 + x0 )(x3 + x2 )

5.10 Un codificador de posición de un eje proporciona una señal de 4 bits


que indica la posición del eje en incrementos de 30 grados, utilizando
el código de la tabla adjunta. Diseñe un circuito lógico que indique en
qué cuadrante se encuentra el eje, usando dos bits llamados N/ S̄ y O/ Ē
para indicar Norte/Sur y Oeste/Este, respectivamente.
Capı́tulo 5: Minimización de funciones mediante mapas de Karnaugh 27

Cuadrante Posición x3 x2 x1 x0
Noreste 0 − 300 0011
Noreste 30 − 600 0010
Noreste 60 − 900 0110
Noroeste 90 − 1200 0111
Noroeste 120 − 1500 0101
Noroeste 150 − 1800 0100
Suroeste 180 − 2100 1100
Suroeste 210 − 2400 1101
Suroeste 240 − 2700 1111
Sureste 270 − 3000 1110
Sureste 300 − 3300 1010
Sureste 330 − 3600 1011

5.11 Utilice el método de minimización de Karnaugh para obtener una ex-


P
presión simplificada para la función f (A, B, C, D) = m(0, 1, 2, 3, 4, 6, 12)+
P
d(5, 10, 11, 13) en la forma de:

a) suma de productos
b) producto de sumas

Solución

a) suma de productos: F(A, B, C, D) = ĀB̄ + ĀD̄ + BC̄


b) producto de sumas: F(A, B, C, D) = (Ā + B)(Ā + C̄)(B̄ + D̄)

5.12 Un circuito posee dos entradas, X e Y, donde cada una de ellas corres-
ponde a un número binario de 2 bits, de la forma X = x1 x0 , e Y = y1 y0 .
La salida Z del circuito es 1 si el valor absoluto de la diferencia entre X
e Y es menor o igual a 1. Es decir, Z = 1 si y sólo si |X − Y| ≤ 1.

a) Represente la salida Z en un mapa de Karnaugh.


b) Identifique los implicantes primarios esenciales y no esenciales.
c) Escriba una ecuación mı́nima de suma de productos para la salida
Z que utilice el mı́nimo número de variables complementadas.

Solución
Capı́tulo 5: Minimización de funciones mediante mapas de Karnaugh 28

a) El mapa de Karnaugh de la salida Z es

x1 x0
y1 y0 00 01 11 10
00 1 1 0 0
01 1 1 0 1
11 0 0 1 1
10 0 1 1 1
b) Implicantes primarios esenciales: x10 y10 y x1 y1 .
Implicantes primarios no esenciales: x1 x00 y0 , x10 x0 y00 , x00 y10 y0 , x0 y1 y00
c) La ecuación mı́nima de suma de productos pedida es z = x10 y10 +
x1 y1 + x1 x00 y0 + x0 y1 y00

5.13 La siguiente figura presenta un mapa de Karnaugh de 5 variables. En-


cuentre una expresión mı́nima de producto de sumas para la función F
representada en este mapa.

cde
ab 000 001 011 010 110 111 101 100
00 1 1 1 0 0 0 X 1
01 0 0 1 0 0 1 1 0
11 0 1 1 1 1 1 0 1
10 X 0 0 X 0 0 0 1

Solución Una posible solución es

F = (a+b0 +e)(a0 +c0 +d+e0 )(a+b0 +c+d)(b+d 0 +e)(a0 +b+e0 )(b+c0 +e0 )(b0 +c+d+e)
Capı́tulo 6
Minimización de funciones
mediante los métodos de
Quine-McCluskey y Petrick

6.1 Halle una expresión en forma de suma de productos mı́nima de F uti-


lizando el método de Quine-McCluskey.
X X
F(a, b, c, d, e) = m(0, 2, 6, 7, 8, 10, 11, 12, 13, 14, 16, 18, 19, 29, 30)+ d(4, 9, 21)

6.2 Halle todos los implicantes primos de la siguiente función y todas las
soluciones mı́nimas utilizando el método de Petrick.
X X
F(x, y, z, t) = m(7, 12, 14, 15) + d(1, 3, 5, 8, 10, 11, 13)

6.3 Utilice el método de Quine-McCluskey para determinar todos los im-


plicantes primos e implicantes primos esenciales para la siguiente fun-
ción:
X X
f (A, B, C, D) = m(9, 12, 13, 15) + d(1, 4, 5, 7, 8, 11, 14)

Luego, utilice el método de Petrick para encontrar todas las soluciones


mı́nimas.

6.4 Minimice la siguiente función en la forma de suma de productos uti-


lizando el método de Quine-McCluskey, identificando los implicantes
primarios e implicantes primarios esenciales.

29
Capı́tulo 6: Minimización de funciones mediante los métodos de
Quine-McCluskey y Petrick 30

X X
F(a, b, c, d) = m(0, 2, 6, 8, 9, 10, 12) + d(5, 7, 14)

6.5 Utilice el método de Quine-McCluskey para minimizar la siguiente


función como suma de productos. Luego, utilice el método de Petrick
para escoger una solución mı́nima.

f (A, B, C, D) = ΠM(0, 1, 4, 5, 6, 8, 10, 13, 15) · d(2, 7, 9)


P P
6.6 Dada la función F(X, Y, Z, T) = m(1, 7, 10, 11, 13) + d(5, 8, 15), utilice
el método de minimización de Quine-McCluskey para identificar los
implicantes primos esenciales y no-esenciales, y el método de Petrick
para encontrar todas las soluciones mı́nimas en la forma de suma de
productos.
Solución
Los implicantes primos esenciales son YT, X0 Z0 T. Los implicantes pri-
marios no-esenciales son XY0 T, XY0 Z y XZT. Mediante el método de Pe-
trick, se puede determinar que la solución mı́nima es YT+X0 Z0 T+XY0 Z.
Capı́tulo 7
Diseño de circuitos
combinacionales

Circuitos con compuertas lógicas estándar


7.1 Toda función puede implementarse ya sea en su forma directa o en su
forma inversa, con una compuerta NOT añadida a la señal de salida.
Suponga que el costo de un circuito es proporcional sólo al número y
tipo de las compuertas AND y OR que lo implementan, es decir, que
las compuertas NOT son de costo cero. En ese caso, determine alge-
braicamente cuál forma de la función (directa o inversa) se simplifica
al circuito de menor costo para la función f (x, y, z) = x0 y 0 z 0 + x0 y 0 z +
xy 0 z + xy 0 z 0 + xyz, indicando el costo.
7.2 Diseñe un circuito comparador de 2 bits utilizando sólo compuertas
NAND. Las entradas al circuito son X = x1 x0 y Y = y1 y0 , y las salidas
son Z = z1 z0 , donde 


 0 if X = Y
Z= 1 if X > Y


 2 if X < Y

7.3 Diseñe una compuerta XOR de dos entradas F(x, y) = x ⊕ y en base a


4 compuertas NAND de dos entradas. Suponga que no dispone de las
entradas x̄ ni ȳ.
7.4 Considere la siguiente función lógica
X
F(A, B, C, D) = m(0, 4, 5, 10, 11, 13, 14, 15)

31
Capı́tulo 7: Diseño de circuitos combinacionales 32

a) Halle dos circuitos mı́nimos diferentes que implementen F. Iden-


tifique en cada circuito dos potenciales peligros.
b) Diseñe un circuito AND-OR para que F no presente ningún peli-
gro potencial.

7.5 Dada la siguiente función lógica


X
F(A, B, C, D) = m(2, 4, 5, 7, 10, 11, 13, 14, 15)

a) Diseñe un circuito utilizando sólo compuertas NAND de 2 entra-


das.
b) Diseñe un circuito utilizando sólo compuertas NOR de 2 entradas.

Si tuviese que escoger, qué diseño implementarı́a?

7.6 Implemente la función Z = AE+BDE+BCEF utilizando sólo compuertas


lógicas NOR de dos entradas, minimizando el número de compuertas a
utilizar. Suponta que dispone de las entradas en sus versiones con y sin
complemento.

7.7 Dada la siguiente función lógica:


X
F(A, B, C, D) = m(0, 4, 5, 10, 11, 13, 14, 15)

a) Halle dos circuitos mı́nimos diferentes para la función F. Identifi-


que en cada circuito dos peligros potenciales.
b) Diseñe un circuito AND-OR para que F no presente ningún peli-
gro potencial.
c) Diseñe un circuito OR-AND para que F no presente ningún peligro
potencial.

Circuitos con múltiples salidas

7.8 Diseñe un circuito de compuertas lógicas NOR mı́nimo de dos niveles


P
para implementar las funciones f1 (a, b, c, d) = m(1, 2, 4, 5, 6, 8, 10, 12, 14)
P
y f2 (a, b, c, d) = m(2, 4, 6, 8, 10, 11, 12, 14, 15). Utilice tantas compuertas
comunes como sea posible. Compare el número de compuertas y de
literales con un diseño que considere las funciones de forma indepen-
diente.
Capı́tulo 7: Diseño de circuitos combinacionales 33

7.9 Halle un circuito mı́nimo de compuertas lógicas NOR-NOR con dos


niveles para implementar las siguientes funciones. Considere si realizar
un circuito con múltiples salidas es más conveniente que la realización
de 3 circuitos independientes.
X X
f1 (a, b, c, d) = m(10, 11, 12, 15) + d(4, 8, 14)
X X
f2 (a, b, c, d) = m(0, 4, 8, 9) + d(1, 10, 12)
X X
f3 (a, b, c, d) = m(4, 11, 13, 14, 15) + d(5, 9, 12)

7.10 Halle un circuito mı́nimo de compuertas lógicas NAND-NAND con dos


niveles para implementar las siguientes funciones. Considere si realizar
un circuito con múltiples salidas es más conveniente ante la realización
de 3 circuitos independientes.
X
z1 (a, b, c, d) = m(0, 1, 7, 8, 9)
X
z2 (a, b, c, d) = m(0, 2, 6, 7, 8, 9, 10, 13, 15)
X
z3 (a, b, c, d) = m(0, 2, 6, 7, 8, 10)

7.11 Realice las siguientes 3 funciones como circuitos independientes de 2


niveles AND-OR. Luego, realice un nuevo diseño, pero esta vez mini-
mizando el número de compuertas a utilizar. Compare sus circuitos,
indicando cuál Ud. implementarı́a.
X
F(x, y, z, u) = m(0, 1, 2, 3, 4, 5, 8, 9, 11, 12)
X
G(x, y, z, u) = m(1, 2, 6, 7, 8, 9, 10, 12, 14)
X
H(x, y, z, u) = m(3, 4, 5, 6, 7, 8, 10, 11, 12, 14)
Capı́tulo 7: Diseño de circuitos combinacionales 34

7.12 Sean las siguientes funciones Booleanas de 4 variables:


X
f1 (a, b, c, d) = m(0, 2, 6, 10, 11, 14, 15)
X
f2 (a, b, c, d) = m(0, 3, 6, 7, 8, 9, 12, 13, 14, 15)
X
f3 (a, b, c, d) = m(0, 3, 4, 5, 7, 10, 11, 12, 13, 14, 15)

a) Encuentre expresiones mı́nimas de la forma suma-de-productos


para cada una de estas funciones, en forma individual. Realice un
circuito combinacional usando compuertas AND y OR, e indique
el número y tipo de compuertas, y el número de literales de su
diseño.
b) Realice ahora un circuito combinacional usando sólo compuertas
NAND que implemente una solución de 2 niveles que minimice el
número total de compuertas. Compare el número de compuertas
y de literales de este diseño con el diseño anterior.
c) Suponga ahora que sólo tiene disponibles las entradas sin comple-
mentar y que en pañol sólo tienen disponibles circuitos integrados
de los siguientes tipos:
7404, que contiene 6 inversores
7400, que contiene 4 NAND de 2 entradas cada uno
7410, que contiene 3 NAND de 3 entradas cada uno
Además, cada chip cuesta $250. Encuentre, entonces, la imple-
mentación más barata posible para estas funciones.

Solución

a) Una posible solución utiliza 14 compuertas y 26 literales. Estas


compuertas son 7 compuertas AND de 2 entradas, 4 compuertas
AND de 3 entradas, 2 compuertas OR de 4 entradas y 1 compuerta
OR de 3 entradas. Las funciones implementadas son:
f1 (a, b, c, d) = cd 0 + ac + a0 b0 d 0
f2 (a, b, c, d) = ac0 + bc + a0 cd + b0 c0 d 0
f3 (a, b, c, d) = bc0 + cd + ac + a0 c0 d 0
b) Una posible solución utilizando compuertas AND y OR utiliza
10 compuertas y 17 literales. Estas compuertas son 5 compuertas
AND de 2 entradas, 1 compuerta AND de 3 entradas, 1 compuerta
AND de 4 entradas, 1 compuerta OR de 3 entradas y 2 compuertas
Capı́tulo 7: Diseño de circuitos combinacionales 35

OR de 4 entradas. Al convertir este circuito a un circuito de 2 nive-


les NAND-NAND, se utilizan 3 compuertas NAND de 4 entradas,
2 compuertas NAND de 3 entradas, y 5 compuertas NAND de 2
entradas.
f1 (a, b, c, d) = cd 0 + ac + a0 b0 c0 d 0
f2 (a, b, c, d) = ac0 + bc + a0 cd + a0 b0 c0 d 0
f3 (a, b, c, d) = bc0 + a0 cd + ac + a0 b0 c0 d 0
c) La posible solución detallada a continuación y que usa compuertas
AND y OR puede transformarse fácilmente a un circuito que uti-
lice sólo 6 compuertas NAND de 3 entradas, 8 compuertas NAND
de 2 entradas, y 4 compuertas NOT. Por ello, puede implementar-
se utilizando 5 chips a un costo total de $1250.
f1 (a, b, c, d) = cd 0 + ac + a0 b0 d 0
f2 (a, b, c, d) = bc + a0 cd + c0 (a + b0 )(a + d 0 )
f3 (a, b, c, d) = ac + a0 cd + c0 (b + a0 d 0 )

7.13 Sean las siguientes funciones de 6 variables:


G =AC0 E + AC0 F + AD0 E + AD0 F + BCDE0 F0
H =A0 BCD + ACE + ACF + BCE + BCF

a) Diseñe un circuito combinacional de dos niveles para estas 2 fun-


ciones, sin considerar términos compartidos. Indique el número y
tipo de todas las compuertas utilizadas. Suponga que Ud. no dis-
pone del complemento de las variables de entrada.
b) Diseñe ahora un circuito combinacional minimizando el número
total de compuertas usadas. Ud. sólo tiene disponibles compuer-
tas NAND de 2 y 3 entradas. Suponga que Ud. no dispone del
complemento de las variables de entrada.

Solución

a) En este caso, se utilizan 2 compuertas OR de 5 entradas, 5 com-


puertas NOT, 8 compuertas AND de 3 entradas, 1 compuerta AND
de 4 entradas y 1 compuerta AND de 5 entradas. El circuito tiene,
entonces, 17 compuertas.
b) En este caso, se utilizan como mı́nimo 8 compuertas NAND de 2
entradas y 6 compuertas NAND de 3 entradas, es decir, 14 com-
puertas NAND.
Capı́tulo 8
Bloques estandarizados

Multiplexores y demultiplexores
8.1 Implemente un multiplexor de 8 entradas utilizando un decodificador
de 3 entradas y compuertas NAND.
P
8.2 Implemente la función f (a, b, c, d) = m(1, 3, 4, 9, 14, 15) usando sólo un
multiplexor de 4 entradas y compuertas NOR.
P
8.3 Implemente la función f (a, b, c, d) = m(1, 3, 4, 6, 7, 9, 10, 11, 14) utili-
zando sólo un multiplexor de 4 entradas y compuertas NAND. Utilice
las señales a y b para controlar el multiplexor.

8.4 Demuestre cómo conectar dos multiplexores 2-a-1 para formar un mul-
tiplexor 3-a-1, sin utilizar ninguna otra compuerta adicional. La selec-
ción de entradas es como sigue:

Si AB = 00, se selecciona la entrada I0


Si AB = 01, se selecciona la entrada I1
Si AB = 1−, se selecciona la entrada I2

8.5 Demuestre cómo conectar dos multiplexores 4-a-1 y un multiplexor 2-


a-1 para formar un multiplexor 8-a-1 con tres entradas de control.

8.6 Demuestre cómo pueden conectarse cuatro multiplexores 2-a-1 y un


multiplexor 4-a-1 para formar un multiplexor 8-a-1 con tres entradas
de control.

36
Capı́tulo 8: Bloques estandarizados 37

8.7 Un circuito desplazador/rotador de 4 bits es un módulo combinacional


que tiene como entrada una palabra de 4 bits X = x3 x2 x1 x0 , una palabra
Z = z3 z2 z1 z0 de 4 bits como salida, y 3 entradas de control, s, d y r, que
actúan como se indica a continuación:

Si s = 0, la salida refleja la entrada. Si s = 1, entonces la entrada es


desplazada en 1 bit en la dirección indicada por d.
Si d = 0 y s = 1, entonces el circuito desplaza la entrada 1 bit a la
derecha. Si d = 1 y s = 1, la entrada es desplazada a la izquierda.
El bit r indica si el circuito actúa como desplazador o como rota-
dor. Es decir, si sdr = 100, la salida corresponde a la entrada des-
plazada a la derecha, y el nuevo bit z3 es 0. En cambio, si sdr = 101,
el nuevo bit z3 corresponde al bit x0 . Asimismo, si sdr = 110, la sa-
lida corresponde a la entrada desplazada a la izquierda, y el nuevo
bit z0 es0. En cambio, si sdr = 111, el nuevo bit z0 corresponde al
bit x3 .

Diseñe este circuito usando sólo multiplexores de 4 entradas. Utilice


tantos como encuentre necesario.

Codificadores y decodificadores

8.8 Diseñe un codificador de prioridad 4-a-2 utilizando mapas de Karnaugh.


Minimice el número de compuertas lógicas y literales utilizados. Este
codificador tiene 4 entradas, y1 y2 y3 y4 , y dos salidas, z1 z2 , que indican
la entrada de mayor prioridad que está activa. La entrada yi+1 tiene
prioridad sobre la entrada yi . Suponga que siempre hay al menos una
entrada activa.

8.9 Diseñe un circuito que genere los bits de paridad p1 p2 p4 del código
Hamming para una palabra de 4 bits b0 b1 b2 b3 utilizando un decodifi-
cador de 4 entradas y compuertas OR.

8.10 Genere un circuito que convierta una palabra de 4 bits en código BCD
8421 a código Gray de 4 bits utilizando codificadores y decodificadores
de 4 bits.

8.11 Diseñe un conversor de código Reflejado Exceso 3 a código BCD 8421


utilizando sólo un codificador 16-a-4 y un decodificador 4-a-16. Dibuje
el circuito resultante.
Capı́tulo 8: Bloques estandarizados 38

8.12 Diseñe un circuito que reciba un número X = x2 x1 x0 de entrada, y ge-


nere una salida Y = y2 y1 y0 tal que Y = (3X)mod 8.

a) Realice un diseño utilizando un decodificador de 3 entradas y un


codificador de 8 entradas.
b) Realice un diseño utilizando un sumador de 3 bits.

8.13 Implemente un sumador completo de 1 bit utilizando un decodificador


3-a-8 y

a) dos compuertas OR
b) dos compuertas NOR

8.14 Se desea implementar un decodificador 3-a-6, que reciba como entrada


3 variables x2 x1 x0 y que tenga 6 salidas Z0 a Z5 . La entrada sólo toma
valores en el rango 000 a 101, y sólo la salida Zi está activa cuando la
secuencia de entrada sea igual a i, para 0 ≤ i ≤ 5. Realice este diseño
utilizando sólo un decodificador 2-a-4, un decodificador 1-a-2, y un
número mı́nimo de compuertas AND de 2 entradas. Suponga además
que Ud. no dispone del complemento de los bits de entrada.
Solución
La solución básica conecta x1 x0 a las entradas del decodificador 2-a-4,
la entrada x2 a la entrada del decodificador 1-a-2, y utiliza 6 compuer-
tas AND de 2 entradas para generar las seis salidas Z0 a Z5 .

Circuitos aritméticos

8.15 Diseñe un circuito que reste X de Y o Y de X, dependiendo del valor de


la entrada de control A. Si A = 1, la salida será X − Y y si A = 0, la salida
será Y − X.

a) Utilice un circuito restador de 4 bits y 2 multiplexores 2-a-1 de 4


bits con entradas y salidas de bus
b) Utilice un circuito restador de 4 bits y 4 buffers de tres estados de
4 bits con entradas y salidas de bus, y un inversor.

8.16 Se desea diseñar un circuito que sume dos dı́gitos decimales X e Y co-
dificados usando código BCD8421 más un bit de acarreo de entrada
(carryin ), y genere como salida un dı́gito decimal Z y un bit de acarreo
Capı́tulo 8: Bloques estandarizados 39

de salida (carryout ). Este sistema tiene, entonces, 9 señales de entrada y


5 señales de salida.
A modo de ejemplo, si X = 4, Y = 5, y carryin = 0, entonces las salidas
deben ser Z = 9 y carryout = 0. Pero, si X = 4, Y = 5, y carryin = 1, enton-
ces las salidas de su circuito deben ser Z = 0 y carryout = 1. Asimismo,
si X = 7, Y = 6, y carryin = 0, entonces las salidas de su circuito deben
ser Z = 3 y carryout = 1.
Diseñe este circuito utilizando 2 sumadores binarios de 4 bits y (quizás)
algún circuito combinacional adicional. Sugerencia: nótese que el resul-
tado de la suma decimal si X + Y > 9 puede obtenerse sumando 6 al
resultado de la suma binaria.

8.17 Sean X = x3 x2 x1 x0 e Y = y3 y2 y1 y0 , respectivamente. Entonces,

a) Diseñe un circuito complementador de 4 bits. Este circuito posee


4 bits de entrada A = a3 a2 a1 a0 , 4 bits de salida B = b3 b2 b1 b0 y una
señal de control C. Si C = 0, la salida B debe ser igual a la entrada
A. Si C = 1, la salida B debe ser el complemento a 1 de A, es decir,
[A]1 .
b) Utilice ahora su circuito complementador de 4 bits y 4 sumadores
completos para diseñar un circuito sumador/restador de 4 bits,
que reciba como entradas las variables X e Y, de 4 bits cada una,
y una señal adicional T que controla la operación del circuito. Las
salidas del circuito son Z = z3 z2 z1 z0 y un bit adicional W. Este
circuito debe calcular la operación X + Y cuando T es 0, y X − Y en
caso contrario.

Recuerde que −P = [P]2 = [P]1 + 1

Memoria ROM, circuitos PAL y PLA

8.18 Diseñe un circuito sumador para dı́gitos decimales en código Gray uti-
lizando una memoria ROM. El sumador deberá sumar dos dı́gitos en
código Gray y proporcionar tanto el resultado de la suma en código
Gray como el rebalse. Por ejemplo, 1011 + 1010 = 1 0010. Dibuje un
diagrama de bloques indicando las entradas y salidas necesarias de la
ROM, ası́ como las lı́neas correspondientes a las sumas 4 + 7, 7 + 0, 9 + 3
y 7 + 7.
Capı́tulo 8: Bloques estandarizados 40

8.19 Implemente las funciones

X
f1 (a, b, c, d) = m(1, 2, 4, 5, 6, 8, 10, 12, 14)
X
f2 (a, b, c, d) = m(2, 4, 6, 8, 10, 11, 12, 14, 15)

usando PLAs. Proporcione las tablas de las PLAs y el diagrama de co-


nexiones internas de las mismas.

8.20 Utilice la siguiente PLA para implementar las ecuaciones:

X =A0 BD + A0 C0 + C0 D0
Y =A0 C0 + A0 D + C0 D0 + AC
Z =CD + A0 C0 + A0 B0 D

8.21 Se desea diseñar un circuito combinacional que reciba como entrada un


número decimal en código BCD8421, y tenga como salida el cuociente
Q y el resto R de la división de este número por 3, cada uno represen-
tado en 2 bits, a saber, Q1 Q0 y R1 R0 .

a) Diseñe este circuito mı́nimo de dos niveles utilizando compuertas


NAND
Capı́tulo 8: Bloques estandarizados 41

b) Diseñe este circuito utilizando una PLA


c) Diseñe este circuito utilizando una memoria ROM
Capı́tulo 9
Circuitos secuenciales

9.1 Analice el comportamiento de los circuitos secuenciales mostrados en


las figuras 9.1, 9.2 y 9.3. Identifique sus tipos y caracterı́celos como
flip-flop, retentores, maestro-esclavo, etc.

Figura 9.1: Ver ejercicio 9.1

Figura 9.2: Ver ejercicio 9.1

42
Capı́tulo 9: Circuitos secuenciales 43

Figura 9.3: Ver ejercicio 9.1

9.2 Analice el flip-flop A-B de la figura 9.4, mostrando

a) su tabla de transiciones
b) su ecuación caracterı́stica
c) su diagrama de estados

Figura 9.4: Ver ejercicio 9.2


Capı́tulo 10
Registros y contadores

10.1 Diseñe un circuito sincrónico que cuente siguiendo la secuencia de-


cimal 3, 7, 2, 6, 3, 7, 2, 6 utilizando flip-flops D. Asegúrese que este
contador se autoinicialice, es decir, que todos los estados no utilizados
transiten inicialmente al estado inicial del contador.
10.2 Diseñe un circuito contador de 3 bits con la siguiente secuencia de sa-
lida: 001, 011, 010, 100, 111, 101, 110, 001, usando
a) flip-flops D
b) flip-flops T
En ambos casos, indique qué pasa si el valor inicial del contador es 000.
10.3 Un flip-flop M-N funciona de la siguiente manera:
Si MN = 00, el siguiente estado es 0
Si MN = 01, el siguiente estado es el estado actual
Si MN = 10, el siguiente estado es el complemento del estado ac-
tual
Si MN = 11, el siguiente estado es 1

a) Diseñe este flip-flop utilizando compuertas NAND


b) Complete la siguiente tabla
c) Utilizando esta tabla y mapas de Karnaugh, determine y minimi-
ce las ecuaciones de entrada para un contador de 3 bits construido
con flip-flops MN que cuente la secuencia 000, 001, 011, 111, 101, 100,
indicando además las transiciones de los estados no especificados.

44
Capı́tulo 10: Registros y contadores 45

Q(t) Q(t + 4t) MN


0 0
0 1
1 0
1 1

10.4 Un flip-flop tipo LM funciona de la siguiente manera:

Si LM = 00, el siguiente estado es 1


Si LM = 01, el siguiente estado es igual al estado actual
Si LM = 10, el siguiente estado es el complemento del estado ac-
tual
Si LM = 11, el siguiente estado es 0

a) Diseñe este flip-flop utilizando latches RS


b) Complete la siguiente tabla, utilizando superfluos donde sea po-
sible:
Q Q+ L M
0 0
0 1
1 0
1 1

c) Utilizando esta tabla y mapas de Karnaugh, diseñe un contador


compuesto por 3 flip-flops LM que cuente la siguiente secuencia:
000, 100, 101, 111, 011, 001, 000, . . .. Dibuje el diagrama de es-
tados, indicando las transiciones para todos los posibles estados
iniciales.

10.5 Diseñe un circuito contador de 3 bits con la siguiente secuencia de sa-


lida: 000, 001, 011, 101, 111, 010, 000 usando flip-flops J-K. Muestre el
circuito combinacional e indique qué pasa si el valor inicial del conta-
dor es 100.
10.6 Diseñe un contador de 3 bits con la siguiente secuencia de salida: 000,
100, 111, 110, 010, 011, 000 usando flip-flops S-R. Muestre el circuito
combinacional e indique qué pasa si el valor inicial del contador es 001.
Capı́tulo 10: Registros y contadores 46

10.7 Diseñe un circuito desplazador de 4 entradas utilizando flip-flops D y


multiplexores que realice las siguientes funciones:

a) Realice un desplazamiento lógico de 1 bit a la derecha


b) Realice un desplazamiento lógico de 1 bit a la izquierda
c) Realice un desplazamiento aritmético de 1 bit a la derecha
d) Realice un desplazamiento aritmético de 1 bit a la izquierda
e) Realice un desplazamiento circular de 1 bit a la derecha
f ) Realice un desplazamiento circular de 1 bit a la izquierda
g) Cargue un nuevo valor en el desplazador
h) No realice ninguna acción

Determine cuántas variables de control necesita, y rotúlelas de la ma-


nera más apropiada para realizar las funciones indicadas.
Capı́tulo 11
Análisis de circuitos
secuenciales sincrónicos

11.1 Analice los circuitos secuenciales mostrados en las figuras 11.1 y 11.2,
dibujando sus diagramas de estados.

Figura 11.1: Ver ejercicio 1

11.2 Analice el circuito secuencial sincrónico de la figura 11.3. Muestre el


diagrama de estados del circuito. Dibuje un diagrama de tiempo su-
poniendo el estado inicial ABC = 000 y una secuencia de entrada X =
01010. Suponga que los cambios de entrada tienen lugar a medio ca-
mino entre los cantos de bajada del reloj.

47
Capı́tulo 11: Análisis de circuitos secuenciales sincrónicos 48

Figura 11.2: Ver ejercicio 1

Figura 11.3: Ver ejercicio 11.2


Capı́tulo 11: Análisis de circuitos secuenciales sincrónicos 49

11.3 Analice el circuito secuencial de la figura 11.4, donde X y Y son las


entradas al circuito, y Z es la salida de éste. Muestre un diagrama de
estados del circuito. Es ésta una máquina de Mealy o de Moore?

Figura 11.4: Ver ejercicio 11.3

11.4 Para el siguiente circuito secuencial sincrónico, analice el circuito y


realice el diagrama de estados.
Capı́tulo 11: Análisis de circuitos secuenciales sincrónicos 50
Capı́tulo 12
Diseño de circuitos
secuenciales sincrónicos

12.1 Un circuito secuencial sincrónico tiene una entrada, X, y dos salidas, Y


y Z. La salida Y es 1 cada vez que se recibe la entrada 101, siempre y
cuando la secuencia de entrada 011 nunca ha ocurrido. La salida Z es
1 por un ciclo cada vez que ocurre la entrada 011. Diseñe este circuito
como una máquina de Mealy.

12.2 Diseñe un circuito secuencial de Moore que tenga una entrada X y una
salida Z. La salida debe ser 1 si el número total de 1s recibido es impar
y el número de 0s recibido es par y distinto de 0.

12.3 Una máquina de estados finitos tiene una entrada y una salida. La sa-
lida conmuta a 1 y se mantiene en 1 cuando han habido al menos dos
1s y dos 0s en la entrada, sin importar el orden de su ocurrencia. Reali-
ce el diagrama de estados de esta máquina, e impleméntela utilizando
flip-flops T.

12.4 Un circuito secuencial sincrónico tiene dos entradas, X = x1 x2 y dos


salidas, Z = z1 z2 , ambas representando un número binario de 2 bits. Si
el valor actual de X es mayor que el valor anterior, entonces z1 = 1. Si
el valor actual de X es menor que el valor anterior, entonces z2 = 1. En
caso contrario, z1 z2 = 0.

a) Realice este circuito como un máquina de Mealy usando flip-flops


JK.

51
Capı́tulo 12: Diseño de circuitos secuenciales sincrónicos 52

b) Realice este circuito como un máquina de Moore usando flip-flops


JK.

12.5 Diseñe una máquina de Mealy con entrada X y salida Z. La salida Z de-
be ser 1 por un ciclo de reloj cuando quiera que las secuencias . . . 0111
ó . . . 1000 estén presentes en la entrada. Estos patrones pueden trasla-
parse. Por ejemplo, la entrada . . . 0000111000 . . . debe generar la salida
. . . 0000001001 . . ..

a) Realice esta máquina usando flip-flops D.


b) Realice esta máquina usando flip-flops T.
c) Realice esta máquina usando flip-flops JK.

Qué conclusiones saca Ud. de estas implementaciones?

12.6 Diseñe un circuito secuencial de Mealy que analice una secuencia de


entrada X y que genere una salida Z = 1 para toda secuencia de en-
trada que acabe en 1010, suponiendo que la secuencia 001 haya apa-
recido al menos una vez. Por ejemplo, si la secuencia de entrada es
X = 10100101010, la secuencia de salida debe ser Z = 00000000101.
Asigne el código 000 al estado inicial. El circuito no se reinicializa al
estado de partida cuando se genera una salida Z = 1. Diseñe el circuito
utilizando flip-flops tipo D, y a lo más 10 compuertas lógicas NAND.
Suponga que dispone de las entradas normales y negadas.

12.7 Diseñe un circuito secuencial para conversión de código exceso-3 a


código BCD. La entrada X representa un dı́gito decimal en código exceso-
3, y la salida Z representa el código BCD correspondiente, ambos pre-
sentados en forma serial, donde el bit menos significativo es genera-
do primero. Es decir, si para los instantes t0 a t3 se reciben los bits
x0 x1 x2 x3 = 1110, correspondientes al dı́gito decimal 4 codificado en
exceso-3, la salida del circuito en los instantes t0 a t3 debe ser z0 z1 z2 z3 =
0100 Diseñe su circuito utilizando tres flip-flops D, compuertas lógicas
NAND y NOR. Asigne el código 000 al estado inicial. Su solución no
debiera utilizar mas de 8 compuertas lógicas.

12.8 Diseñe un sistema secuencial sincrónico con una entrada, X, y una sali-
da, Z, inicialmente de valor 0. La salida Z es 1 cuando en la entrada se
detecten 3 ceros seguidos. La salida Z debe entonces permanecer en 1
hasta que se detecten 3 unos seguidos, momento en el que debe tomar
el valor 0, y ası́ sucesivamente.
Capı́tulo 12: Diseño de circuitos secuenciales sincrónicos 53

a) Diseñe un circuito que implemente ese sistema utilizando flip-


flops tipo T
b) Indique en su diagrama de estados todas las transiciones realiza-
das por todos los posibles estados.
c) Suponga que ahora decide implementar este sistema utilizando
una ROM y flip-flops tipo D. Cuál será ahora el contenido de la
ROM?

Reducción de estados equivalentes

12.9 Diseñe un circuito secuencial sincrónico que reciba una entrada binaria
X y que tenga una salida binaria Z. Este circuito debe tener salida Z = 1
si los 4 últimos bits recibidos son un dı́gito válido en código Reflejado
Exceso-3.

No considere posibles traslapos.


Indique su asignación de variables secundarias.
Demuestre que su diagrama de estados utiliza el mı́nimo número
posible de estados.
Indique en su diagrama de estados todas las transiciones de todos
los estados.
Realice el diseño utilizando flip-flops tipo SR.
Dibuje el circuito combinacional resultante.

Solución
Una posible solución utiliza 3 flip-flops SR para realizar el diagrama de
7 estados final. Las ecuaciones finales son:

SA = B0 CX + BCX0 SC = B0 CX + BCX0
RA = C0
RC = B0 CX + BCX0
SB = A0 CX0
RB = C0 Y = AB0 C0 + A0 BC0 X0
Bibliografı́a

[1] Peter Burger. Digital Design: A Practical Course. John Wiley & Sons, New
York, 1988.
[2] Lewis Carroll. Las aventuras de Alicia en el paı́s de las maravillas. Clásicos
Universales. AIMS International Edition, New York, NY, 2005.
[3] Milos Ercegovac and Tomás Lang. Digital Systems and Hardwa-
re/Firmware Algorithms. John Wiley & Sons, New York, NY, 1985.
[4] Thomas L. Floyd. Fundamentos de sistemas digitales. Pearson Educación
S. A., Madrid, 9th. edition, 2006.
[5] Daniel D. Gajski. Principios de diseño digital. Prentice-Hall Iberia, Ma-
drid, 1997.
[6] John P. Hayes. Introducción al diseño lógico digital. Addison-Wesley Ibe-
roamericana, Buenos Aires, Argentina, 1996.
[7] Antonio Lloris Ruiz, Alberto Prieto Espinoza, and Luis Parrilla Roure.
Sistemas digitales. Mc-Graw Hill Interamericana de España, Madrid,
2003.
[8] M. Morris Mano and Charles R. Kime. Fundamentos de diseño lógico y de
computadoras. Pearson Educación S. A., Madrid, 3rd. edition, 2005.
[9] Alan B. Marcovitz. Introduction to Logic and Computer Design. McGraw-
Hill, Boston, MA, 2008.
[10] Charles H. Roth, Jr. Fundamentos de diseño lógico. Thomson Learning,
Ciudad de México, México, 5th. edition, 2005.

54
Bibliografı́a 55

[11] Ronald J. Tocci. Sistemas digitales: Principios y aplicaciones. Prentice-Hall


Hispanoamericana, México, 6th. edition, 1996.