Sistemas Digitales Ejercicios resueltos y planteados
Mario Medina C.
Depto. Ing. El´ Electrica e´ ctrica Facultad de Ingenier´ Ingenier´ıa ıa Universidad de Concepci´ Concepcion o´ n 2011
ii
Prefacio
´ de ejercicios Esta es una coleccion ejercicios de sistemas sistemas digitales digitales que espero sea de utilidad a aquellos alumnos empe nados n˜ ados en desarrollar las habilidades y competencias competencias asociadas a esta materia. materia. Muchos de ellos aparecen cen en los los text textos os enum enumer erad ados os en la bibli bibliog ogra raf f ´ıa ı a de este este docu docume ment nto; o; otro otross han sido creados por el autor para ser usados en tareas y ex amenes. a´ menes. Es mi opin opiniio´ n que que la ´ la ´unic u nicaa form formaa de apre aprend nder er es haci hacien endo do.. Se espe espera ra que los ejercicios planteados sean desarrollados por Uds., los alumnos. ´ se indica la soluci on Por ello, en la mayor´ mayor ´ıa ıa de ´ de ´estos, estos, solo o´ n final. Estoy siempre dispuesto a responder consultas sobre estos ejerci´ıa me cios, ya sea via correo electr onico o´ nico o en persona. Asimismo, rogar´ rogar ıa hicieran llegar cualquier correccion o´ n o comentario a los ejercicios de este libro. Asi que, buena suerte, y provecho! Mario Medina C.
[email protected]
´ Indice general 1 Sist Sistem emas as num nume´ ricos
1
2 Co´ digos
10
´ lgebra Booleana 3 A
16
4 Funciones Booleanas
20
5 Mini Minimi miza zaci ci´on ´ de func funcio ion nes medi median ante te mapa mapass de Karn Karna augh ugh
24
6 Mini Minimi miza zaci ci´on ´ de funci funcion ones es medi median ante te los los metodos e´ todos de Quine-McClus Quine-McCluskey key y Petrick 29 ˜ o de circuitos combinacionales 7 Disen
31
8 Bloques estandarizados
36
9 Circuitos secuenciales
42
10 Registros y contadores
44
11 Analisis ´ de circuitos secuenciales sincr o´ nicos
47
˜ de circuitos secuenciales sincr o´ nicos 12 Diseno
51
Bibliograf´ Bibliografı´a
54
iii
Cap´ Cap´ıtulo ıtulo
´ Sistemas numericos ´ entre bases Conversi on 1.1 Realice Realice las siguientes conversione conversiones: s: a) 3957310 a base 2
370148 a base 2 f ) 37014
b) 9928010 a base 8
g) 79288 7928810 a base 16
c) 43,37510 a base 2
h) 202710 a base 8
d) 326218 a base 10
i) 110110101 1101101012 a base 8
e) AE4316 a base 8
1220201 13 a base 10 j) 122020
Solucion ´
100110101001010 010101 12 a) 1001101010
11111000001100 11002 f ) 1111100000
b) 3017208
135B816 g) 135B8
c) 101011,0112
h) 37538
d) 1371310
i) 6658
e) 1271038
j) 139610
´ 1.2 Convierta Convierta los siguientes siguientes n´ numeros a octal y a hexadecimal 111010110001 01,0112 a) 1110101100
10110011101 1,1012 b) 1011001110
1
1
2
´ Cap´ Cap´ıtulo ıtulo 1: Sistemas Sistemas num´ numericos
Solucion ´
a) 7261,38 y EB1,616
b) 2635,58 y 59D, A16
´ 1.3 Convierta Convierta los siguientes siguientes n´ numeros a hexadecimal y luego a binario. a) 757,2510
b) 123,1710
c) 356,8910
d) 1063,510
´ Solucion
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 Convierta los siguientes siguientes n´ numeros decimales a octal y luego a binario. a) 2983 63 64
b) 93,73
c) 1900 31 32
d) 109,30
´ Solucion
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´ que´ corresponde corresponde el numero 242,2510 en base 2? ´ Solucion
11110010,012 ´ 1.6 A qu´ que´ corresponde corresponde el numero 4526,238 en decimal? Solucion ´
4526,238 = 2390,2910 ´ 1.7 Convie Convierta rta el numero 3BA,2514 a base 6. Para mayor facilidad, realice las operaciones aritm´ aritmeticas e´ ticas en base 10. Solucion ´
´ El n umero 3BA,2514 es igual a 3252 ,16 .
3
Cap´ıtulo 1: Sistemas num´ericos
1.8 Convierta el n´umero 25749 a base 3. Soluci´on
21221113 1.9 Deduzca un esquema para convertir directamente n umeros ´ en base 3 ´ a base 9. Utilice ahora el m´etodo deducido para convertir el n umero 1110212,202113 a base 9. Soluci´on
1425,6739 1.10 Convierta el n´umero 7813,4059 a base 16. Considere que log9 / log16 = 0,792. Soluci´on
´ El n umero 7813,4059 en base 16 es 1683 ,73816 1.11 Hay evidencia hist´orica que, en algunas culturas, se ha utilizado la base ´ 20 para representar n umeros. Entonces, a) escriba los d´ıgitos para un sistema base 20 usando una extensi´on del mismo esquema de representaci´o n de d´ıgitos empleado para hexadecimal b) convierta 201010 a la base 20 c) convierta BCH.G20 al sistema decimal Soluci´on
a) A continuacio´ n, se muestra la equivalencia entre los valores en base 10 y la extensi´on 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
b) 201010 = 50A20 c) BCH.G20 = 4657,810
1.12 Calcule el valor de la base x si se sabe de 123x = 1111001102 . Soluci´on
La soluci´on x = 21 se puede derivar mediante inspecci´on, o mediante ´ de una ecuaci´on de segundo grado. la solucion
H
I
J
Cap´ıtulo 1: Sistemas num´ericos
4
1.13 Encuentre el valor de la base r en la expresio´ n BEEr = 269910 . Soluci´on
La solucio´ n r = 15 puede ser derivada mediante inspeccio´ n, o mediante ´ de una ecuaci´on de segundo grado. la solucion
Aritm´etica en bases distintas a 10 1.14 Realice la siguiente multiplicaci´on 120113 × 10213 sin pasar a otras bases. Soluci´on
El resultado de la multiplicaci´on en base 3 es 201110013 1.15 Un colega del Depto. El´ectrico acaba de estar de cumplea n˜ os. Le pregunt´e cu´antos a˜nos cumpl´ıa y me dijo “XY a n˜ os”, donde X e Y representan 2 d´ıgitos diferentes. Al comentarle que me parec´ıan pocos, me dijo “En realidad son YX, pero le cambi e´ la base”. Sabiendo que X = 3, indique qu´e edades podr´ıa tener en realidad. Soluci´on
El colega podr´ıa tener: a) 43 a˜nos, que en base 13 es 34 b) 53 a˜nos, que en base 16 es 35 c) 63 a˜nos, que en base 19 es 36
1.16 En “Alicia en el Pa´ıs de las Maravillas”, Lewis Carroll pone el siguiente acertijo num´erico en boca de Alicia: ¡Dios m´ıo, qu´e rompecabezas! Voy a ver si se´ 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´e nunca a veinte! Estas operaciones aritm´eticas tienen sentido si se consideran en bases distintas a 10. Entonces, es verdad lo que dice Alicia? Llega en algun ´ momento a 20? Soluci´on
No, Alicia nunca llega a 20.
5
Cap´ıtulo 1: Sistemas num´ericos
1.17 Realice las siguientes sumas: a) 100112 +11012
c) 100112 + 11011012
b) 110100112 + 111011012
d) 1001112 + 1011012
Soluci´on
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´on
a) 100012
c) 10010012
e) 01101102
g) 100110002
b) 111111112
d) 1011112
f ) 1101012
h) 1000112
1.19 Determine la inc´ognita X3 en la ecuacio´ n 10100102 + X3 = 21024 . Soluci´on
La inc´ognita es X3 = 21013 1.20 Sea X = 533 8 , y Y = 2348 . Calcule X + Y, X − Y, X × Y y X / Y usando la base octal. Calcule la divisio´ n con a lo m´as 2 cifras decimales. Soluci´on
X + Y = 7678 X − Y = 2778 X × Y = 1515648 X / Y = 2 ,168
6
Cap´ıtulo 1: Sistemas num´ericos
1.21 Sume, reste y multiplique los siguientes n´umeros binarios a) 11112 y 10102 b) 1101102 y 111012 c) 1001002 y 101102 Soluci´on
a) Suma: 110012 . Resta: 1012 . Multiplicacio´ n: 100101102 b) Suma: 10100112 . Resta: 110012 . Multiplicacio´ n: 110000111102
´ 11000110002 c) Suma: 1110102 . Resta: 11102 . Multiplicacion: 1.22 El siguiente c´alculo ha sido realizado por una especie particular de alien´ıgena que tiene r dedos en sus manos. (35r + 24r ) × 21r = 1501r Cu´antos dedos tiene el alien´ıgena en cada mano? Soluci´on
El alien´ıgena tiene 4 dedos en cada mano. Por ello, realiza operaciones en base 8.
´ m odulo-signo ´ Representacion y complemento a 2 1.23 Indique qu´e 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´on
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)
7
Cap´ıtulo 1: Sistemas num´ericos
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´umeros binarios. a) 1001012
e) 111112
b) 100111012
f ) 10000112
c) 1101100102
g) 1110012
d) 111012
h) 111111112
Soluci´on
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 umeros negativos, qu´e rango de enteros puede almacenarse en el computador? Y si se utiliza el complemento a 1? (Exprese sus respuestas en decimal). Soluci´on
Si se utiliza el complemento a 2, el rango de representaci´on de enteros es de − 128 a 127. Si se utiliza el complemento a 1, el rango de repre´ es − 127 a 127. sentacion 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
8
Cap´ıtulo 1: Sistemas num´ericos
Soluci´on
a) 1102
c) −1000102
b) −110102
d) −1102
1.27 Realice las siguientes restas sumando el complemento. Indique cu´ando se produce un rebalse. Suponga que los n umeros ´ negativos est´an representados en complemento a 2. a)
11010 −10100
b)
01011 −11000
c)
10001 −01010
d)
10101 −11010
Soluci´on
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´umeros en binario utilizando el sistema de com´ plemento a 2 para representar los numeros negativos y notaci´on m´odulosigno. 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 ) 3 1 + (−8)
Soluci´on
a) El resultado correcto es 32, el cual no se puede representar en una palabra de 6 bits. Hay un rebalse aritm´etico. b) El resultado correcto es −46, el cual no se puede representar en una palabra de 6 bits. Hay un rebalse lo´ gico. c) El resultado correcto es −7. No hay rebalses.
Cap´ıtulo 1: Sistemas num´ericos
9
´ d) El resultado correcto es 1. Hay rebalse aritm´etico y rebalse logico. e) El resultado correcto es −32. Hay rebalse aritm e´ tico y rebalse lo´ gico. f ) El resultado correcto es 23. Hay rebalase aritm´etico y rebalse lo´ gico.
Cap´ıtulo
´ Codigos ´ Codigos ponderados 2.1 Construya un c´odigo ponderado BCD1523 para d´ıgitos decimales. Si no ´ es posible hacerlo, explique porqu´e no. Si es posible, escriba el numero 67310 en su c´odigo. Soluci´on
La siguiente tabla muestra una posible soluci´on. Siguiendo esta codifi´ el numero ´ cacion, 67310 se escribe 1100 0110 0001BCD1523 .
D´ıgito BCD1523 0 1 2 3 4 5 6 7 8 9
0000 1000 0010 0001 1001 0100 1100 0110 0101 1101
2.2 Construya una tabla para el c´odigo ponderado BCD4321 y escriba el ´ numero 915410 en ese c´odigo. 10
2
11
´ Cap´ıtulo 2: Codigos
Soluci´on
La siguiente tabla muestra una posible soluci´on. Siguiendo esta codifi´ el numero ´ cacion, 915410 se escribe 1110 0001 1001 0101 BCD4321 .
D´ıgito BCD4321 0 1 2 3 4 5 6 7 8 9
0000 0001 0010 0100 0101 1001 1010 1011 1101 1110
2.3 Es posible construir el c´odigo ponderado BCD5311? Si es as´ı, indique la tabla correspondiente. Si no es posible, indique porqu´e. Soluci´on
Si, es posible, y la siguiente tabla muestra una posible solucio´ n.
D´ıgito BCD5311 0 1 2 3 4 5 6 7 8 9
0000 0001 0011 0100 0101 1000 1010 1011 1100 1110
12
´ Cap´ıtulo 2: Codigos
2.4 Es posible construir el c´odigo ponderado BCD6411? Si es as´ı, indique la tabla correspondiente. Si no es posible, indique porqu´e. Soluci´on
No es posible, ya que el co´ digo ponderado BCD6411 no puede representar los d´ıgitos 3 o´ 9. 2.5 Construya un c´odigo ponderado BCD7321 para base 12. Represente el numero ´ B4A912 en dicho c´odigo. Soluci´on
La siguiente tabla muestra una posible soluci´on. Siguiendo esta codificacion, ´ el numero ´ B4A912 se escribe 1101 0101 1100 1010 BCD7321 .
D´ıgito BCD7321 0 1 2 3 4 5 6 7 8 9 A B
0000 0001 0010 0100 0101 0110 0111 1000 1001 1010 1100 1101
2.6 Genere un c´odigo BCD5321 autoreflejado para base 12, y represente el ´ numero 13510 en su nuevo c´odigo. Soluci´on
´ La siguiente tabla muestra una posible solucio´ n. El numero 13510 equivale a B312 , el que, siguiendo esta codificaci´on, se escribe como 1111 0011BCD5321 .
13
´ Cap´ıtulo 2: Codigos
D´ıgito BCD5321 0 1 2 3 4 5 6 7 8 9 A B
0000 0001 0010 0011 0101 0110 1001 1010 1100 1101 1110 1111
2.7 Un registro de 16 bits contiene la secuencia 0100100101010111. Despliegue el resultado de interpretar esta secuencia como ´ BCD8421 a) Numeros ´ binario puro b) Un numero ´ c) Numeros en c´odigo Exceso-3 ´ BCD2421 d) Numeros Soluci´on
a) BCD8421: 4957BCD8421 b) binario puro: 1877510 c) Exceso-3: 1624Exc −3 d) BCD2421: 4357BCD2421
´ ´ Gray. 2.8 Codifique el numero binario 1001110102 usando codificacion Soluci´on
´ El numero binario 1001110102 se escribe como 110100111 Gray en c´odigo Gray. 2.9 Un computador representa informaci´on utilizando grupos de 32 bits. Indique el rango de los enteros sin signo que se pueden representar utilizando
´ Cap´ıtulo 2: Codigos
14
a) c´odigo binario b) c´odigo BCD2421
Cu´al rango es mayor? Soluci´on
a) El rango de representaci´on para el co´ digo binario es de 0 a 2 32 − 1, es decir, 4, 294, 967, 296 enteros. b) El rango de representaci´on para el c´odigo BCD2421 es de 0 a 108 − 1, o 99, 999, 999, es decir, 100, 000, 000 enteros.
2.10 Dise˜ne un codigo ´ BCD autocomplementado para representar d´ıgitos en base 14, que adem´as cumpla con la propiedad que la representaciones de los d´ıgitos menores a 7 comiencen todos con 0, y que los otros d´ıgitos comiencen con 1. Luego, utilice su c´odigo para representar el ´ equivalente al numero 982610 en base 14. Soluci´on
Existen dos c´odigos BCD que cumplen con la condici´on: 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.
´ Codigos detectores y correctores de errores 2.11 En un computador se ha recibido la secuencia de bits 1011111, que ´ representa un numero codificado en Hamming(7, 4). Indique si ocu´ rrio´ un error en la transmisio´ n y, si es as´ı, cu´al fue el numero transmitido. Soluci´on
Error en el bit 2. Dato transmitido: 1111 2 2.12 En un computador se ha recibido la secuencia de bits 0110010, que ´ representa un numero codificado en Hamming(7, 4). Indique si ocu´ rrio´ un error en la transmisio´ n y, si es as´ı, cu´al fue el numero transmitido. Soluci´on
Error en el bit 7. Dato transmitido: 1011 2
´ Cap´ıtulo 2: Codigos
15
2.13 En un computador se ha recibido la secuencia de bits 011100001010 ´ Hamming. Indique si ocurrio´ un error codificado usando codificacion ´ en la transmisi´on y, si es as´ı, cu´al fue el numero transmitido. Soluci´on
Error en el bit 7. Dato transmitido: 100110102
Cap´ıtulo
´ Algebra Booleana 3.1 Demuestre que la operaci´on XOR, A ⊕ B, tambi´en cumple con la propiedad 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 a´ lgebra Booleana, indicando en cada paso que´ postulado se est´a aplicando. a) a b + ab + a b = a + b b) a + a(a b + b c) = a + b + c c) (a b + c)(a + b)(b + ac ) = a bc d) ab + b c + a c = ab + a c e) wxy + w x(yz + yz ) + x (zw + zy ) + z (x w + y x ) = xy + x z f ) abc + bc d + a bd = abc + a bd
3.4 Dado que xy + x y = z , muestre que xz + x z = y . 3.5 Simplifique algebraicamente la expresi´on a+a b +a b c+a b c d +a b c d e, indicando la propiedad aplicada en cada paso. 3.6 La operaci´on ≡ est a´ definida para los dos variables a y b como a ≡ b = ab + a b . Suponiendo que c = (a ≡ b ), indique cu´al de las siguientes identidades es v´alida. 16
3
´ Cap´ıtulo 3: Algebra Booleana
17
a) a = b ≡ c b) a ≡ bc = 1
3.7 Verifique que, si ab + [b + b (a + bc )] = [ a + a (ac + ab )](a + b ), entonces a = b . 3.8 Es v´alida la siguiente ley distributiva? A ⊕ BC = (A ⊕ B)(A ⊕ C). Demuestre su respuesta. 3.9 Simplifique la expresi´on P¯ + P Q R + Q ¯ R Soluci´on
La expresion ´ simplificada equivalente es P¯ + Q 3.10 Simplifique la expresi´on (A ≡ B )(CD ⊕ B ) + ABCD para obtener una suma de tres t´erminos. Soluci´on
´ simplificada equivalente es AB C + AB D + BCD La expresion 3.11 Simplifique las siguientes expresiones, utilizando en cada caso s´olo uno de los teoremas. Indique el teorema utilizado. a) X Y Z + X Y Z b) (AB + CD)(B E+CD) c) ACF+ACF d) a A(c + db B) + a e) (AB+C+D)(A B + D )
3.12 Demuestre algebraicamente las siguientes expresiones, indicando para cada paso la propiedad utilizada. a) (X + Y )(X ≡ Z) + (X+ Y)(X ⊕ Z) = (X ⊕ Y ) + Z b) (W + X + Y )(W+X +Y)(W+Y + Z) = X Y + W X + X Y Z + W YZ c) ABC+A C D + A BD + ACD = (A +C)(A+D )(B+C+D)
3.13 Utilice los teoremas del a´ lgebra Booleana para demostrar la siguiente igualdad: (abd + a b + b d + c )(c + ab + bd ) = b (a + c)(a + c ) + d (b + c)
´ Cap´ıtulo 3: Algebra Booleana
18
3.14 Usando una tabla de verdad, muestre que F1 (x,y,z,w) = w z + w xy + wx z + wxyz es equivalente a F2 (x,y,z,w) = w z + xy z + wx y z + wyz . Soluci´on
xyzw w z w xy wx z wxyz xyz wx y z wyz F1 F2
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0
0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1
1 0 0 1 1 0 0 1 1 0 0 0 1 0 1 1
1 0 0 1 1 0 0 1 1 0 0 0 1 0 1 1
3.15 Simplifique cada una de las siguientes expresiones utilizando principalmente el teorema del consenso o su dual. a) BC D + ABC + AC D + A B D + A BD b) W Y +WYZ+XYZ+WX Y c) (B+ C+ D)(A+ B+ C)(A +C+D)(B + C + D ) d) W XY+WXZ+WY Z + W Z e) A BC + BC D + A C D + B C D + A BD f ) (A + B + C)(B + C +D)(A+B+D)(A + B + D )
3.16 Simplifique algebraicamente la expresi´on F(A, B, C, D) = BC D +BC D+ A C D +BCD + A B CD . Soluci´on
´ simplificada es F(A, B, C, D) = BC + BD + A D La expresion
´ Cap´ıtulo 3: Algebra Booleana
19
3.17 Aplicando las leyes de De Morgan, obtenga una expresi´on simplificada para las siguientes funciones: ¯ ) a) G = (xy + xz ) ( x¯ + yz b) F = (x + y )(xy¯ + z ) Soluci´on
a) G = x¯ + y¯ + z b) F = y¯ + z
Cap´ıtulo
Funciones Booleanas 4.1 Escriba una ecuaci´on que represente el siguiente enunciado: El indicador de rebalse R se enciende s´ı y s o´ lo si la descarga D es negativa, el controlador esta´ encendido y el indicador de nivel est´a activado, o si la descarga es positiva, el controlador est´a apagado y el indicador de nivel est´a desactivado. Soluci´on ¯ ND ¯ ¯ R = DCN +C
4.2 Represente cada una de las siguientes proposiciones como una expresio´ n booleana a) La caja fuerte de la empresa so´ lo debe abrirse cuando el jefe est´a en la oficina o cuando el contador est´a en la oficina, y so´ lo dentro del horario comercial y so´ lo cuando el guardia de seguridad est´a presente. b) Debo ponerme botas si est´a lloviendo e ir´e a almorzar al casino o si mi mam´a me lo dice. c) Debe re´ırse de los chistes del profesor si e´ 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´as. d) La puerta del ascensor debe estar abierta si el ascensor est´a parado, se encuentra al nivel del piso y el temporizador del ascensor aun ´ no ha terminado, o si el ascensor est´a detenido, se encuentra al nivel del piso y alguien presion´o el boto´ n de Abrir.
20
4
Cap´ıtulo 4: Funciones Booleanas
21
4.3 Desarrolle y simplifique para obtener una suma de productos. ¯ +E) D+B)(ACD a) (A+B)(C+B)( ¯ b) (A + B + C )(A + C + D)(B + D ) Soluci´on
¯ +BE a) ACD b) A B + A D + B C + C D
4.4 Descomponga cada una de las siguientes expresiones en factores para obtener un producto de sumas. a) A B + C D b) W X + W Y X+ZYX c) A BC+EF+DEF d) X Y Z + W Z + X Q Z e) ACD + C D + A C f ) A + B C + DE Soluci´on
a) ( A + C )(B+C )(A+D )(B+D ) b) (W+Z)(W+Y)X c) (A +E)(B+E)(C+E)(A + D + F ) ( B + D + F ) ( C + D + F ) d) Z(W+X)(Q + W + Y ) e) (C + D )(A + D ) f ) (A+B+D)(A+C+D)(A+B+E)(A+C+E)
4.5 Reduzca la siguiente funci´on a una suma m´ınima de productos, donde ´ NEXOR. ⊕ es la operaci´on XOR, y ≡ es la operacion F = WXY + (W Y ≡ X)+ (Y ⊕ WZ) Soluci´on ¯ + WY¯ + WY ¯ + WX ¯ + X¯ Y + YZ¯ F = WX
Cap´ıtulo 4: Funciones Booleanas
22
4.6 Para cada una de las siguientes expresiones, obtenga un producto de sumas. a) H I + JK b) ABC+A B C + C D c) AB +ACD+ADE d) AB C + B CD + EF e) WX Y + W X + W Y f ) AB +(CD + E) Soluci´on
Los productos de sumas pedidos son: a) (H + J)(H + K)(I + J)(I + K) b) C(A+B + D)(A + B + D ) c) A(B + D)(B + C + E ) d) (B +E)(C+E)(A+D + E)(B + F )(C+F )(A+D + F ) e) Y ( X + W ) f ) ( A + C + E)(A + D + E)(B +C+E)(B + D + E)
4.7 Reduzca las siguientes funciones a su forma m´ınima de suma de productos: a) F(A, B, C, D) = ABC[AC + BC(AC)] + (A + C )(AC+B C ) b) F(A, B, C, D) = A B C + ( A + B + C ) + A B C D Soluci´on
Las sumas de productos equivalentes son a) F(A, B, C, D) = B C + A C + B C b) F(A, B, C, D) = A C + A B D
4.8 Use ´algebra booleana para convertir la ecuaci o´ n F(x,y,z,t ) = x ⊕ y ⊕ z ⊕ t ´ a la forma can onica de suma de productos. Soluci´on
F(x,y,z,t) =
m(1, 2, 4, 7, 8, 11, 13, 14)
23
Cap´ıtulo 4: Funciones Booleanas
4.9 Dada la funci´on F(A, B, C, D) =
m(0, 1, 2, 6, 7, 14, 15).
a) Halle la expresi´on en t´erminos producto de F. b) Halle la expresi´on en t´erminos suma de F. Soluci´on
a) A B C D + A B C D+ A B CD + A BCD + A BCD+ABCD +ABCD b) (A+B+C + D )(A+B +C+D)(A+B +C+D )(A +B+C+D)(A + B+ C+ D )(A +B+C +D)(A +B+C +D )(A +B +C+D)(A +B +C+D )
4.10 Un circuito combinacional tiene cuatro entradas A, B, C, D y cuatro sali´ das, W, X, Y, Z. La salida representa un numero en c´odigo Exceso-3 cuyo valor es igual al numero ´ de unos presentes en la entrada. Por ejemplo, si ABCD = 1101, entonces la salida debe ser WXYZ = 0110. a) Halle las expansiones en t´e rminos producto para X, Y y Z. Encuentre luego expresiones reducidas en forma de suma de productos para X, Y y Z. b) Halle las expansiones en t´erminos suma para X, Y y Z. Encuentre luego expresiones reducidas en forma de producto de sumas para X, Y y Z.
4.11 Sea la funci´on f ( w,x,y,z ) = m(0, 8, 13, 14, 15). Un compa˜nero suyo insiste que esta funci´on puede escribirse como una combinaci´on de una funcion ´ g () de 2 variables y una funcio´ n h() de 3 variables, de la forma h (g (y, z ),w,x ). Indique si esto es as´ı, y en caso positivo, escriba las ecuaciones para g () y h (). Soluci´on
Hay dos posibles soluciones: ¯ y h (g,w,x ) = xg ¯ + wx g ¯ a) g (y, z ) = y¯z ¯ + wxg b) g (y, z ) = y + z y h (g,w,x ) = x¯g
Cap´ıtulo
´ de funciones Minimizacion 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) f 1(a,b,c ) = m0 + m2 + m5 + m6 b) f 2(d,e,f ) =
m(0, 1, 2, 4)
c) f 3(r,s,t ) = r t¯ + ¯r s¯ + ¯r s d) f 4(x,y,z ) = M 0 M5
5.2 Represente la funci´o n F(A, B, C, D) = A B +CD +ABC+A B CD +ABCD en un mapa de Karnaugh. Halle la suma m´ınima de productos para F y ¯ F. ¯ B¯ C) ¯ + CD, ¯ + A( 5.3 Dada la funci´on F(A, B, C, D) = AB¯ D a) Expr´esela como una sumatoria de minit´erminos. b) Encuentre una expresi´on m´ınima como producto de sumas utilizando un mapa de Karnaugh.
5.4 Dadas las funciones P(A, B, C, D) = m(0, 2, 4, 7, 8, 10) y Q(A, B, C, D) = ABD + B C D, use mapas de Karnaugh para encontrar la funcio´ n R = P ⊕ Q en forma de producto de sumas. 5.5 Un circuito combinacional recibe como argumento un n´umero en c´odigo binario BCD2421, y genera una salida z que toma valor 1 si las en´ tradas x 3 x2 x1 x0 contienen un numero v´alido. 24
5
´ de funciones mediante mapas de Karnaugh Cap´ıtulo 5: Minimizacion
25
a) Represente la salida z en un mapa de Karnaugh. b) Identifique los implicantes primarios esenciales y no esenciales.
´ m´ınima de suma de productos para la salida c) Escriba una ecuacion z . Soluci´on
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: x 3 x2 y x 3 x2 . Implicantes primarios no esenciales: x3 x1 x0 , x2 x1 x0 , x2 x1 x0 , x3 x1 x0 c) Una ecuacio´ n m´ınima de suma de productos es z = x 3 x2 + x3 x2 + x3 x1 x0 + x3 x1 x0
5.6 Use mapas de Karnaugh para simplificar la siguiente funci´on, donde d () indica los minit´erminos superfluos.
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 funcio´ 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. Encuentre una expresi´on m´ı nima de suma de productos para esta funci´on.
ab 00 01 11 10
cd e 0 00 001 011 010 110 111 101 100 1 0 0 1 1 0 0 1 1 0 0 X 1 1 0 1 0 X 1 0 0 1 X X X 0 0 0 0 0 0 1
´ de funciones mediante mapas de Karnaugh Cap´ıtulo 5: Minimizacion
26
5.9 El co´ digo reflejado exceso 3 es un c´odigo adyacente sim´etrico. Se desea disen˜ ar un circuito digital que reciba como entrada un d´ıgito X = x3 x2 x1 x0 en c´odigo reflejado exceso 3, y que entregue como salida otro d´ıgito Y = y3 y2 y1 y0 , tal que Y sea el equivalente en co´ 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´on Los mapas de Karnaugh pedidos se muestran a continuaci o´ n
x3 x2 x1 x0 00 01 11 00 X 0 0 01 X 0 0 11 X 0 0 10 0 0 1 y3
x 3 x2 10 x1 x0 00 01 11 X 00 X 1 1 X 01 X 0 1 X 11 X 0 1 1 10 0 0 0 y2
10 X X X 0
x3 x2 x1 x0 00 01 11 00 X 0 0 01 X 1 1 11 X 1 1 10 0 0 0 y1
x 3 x2 10 x1 x0 00 01 11 X 00 X 0 1 X 01 X 1 0 X 11 X 0 1 0 10 0 1 0 y0
10 X X X 1
Entonces, las ecuaciones para las variables de salida son: y3 = x3 x1 x0 y2 = ( x1 + x0 )(x3 + x0 ) y1 = x0 y0 = ( x3 + x1 + x0 )(x3 + x1 + x0 )(x3 + x1 + x0 )(x3 + x2 + x1 + x0 )(x3 + x2 )
5.10 Un codificador de posici´on de un eje proporciona una se˜nal de 4 bits que indica la posicio´ n del eje en incrementos de 30 grados, utilizando el c´odigo de la tabla adjunta. Disen˜ e un circuito lo´ gico que indique en qu´e cuadrante se encuentra el eje, usando dos bits llamados N / S¯ y O / ¯E para indicar Norte/Sur y Oeste/Este, respectivamente.
´ de funciones mediante mapas de Karnaugh Cap´ıtulo 5: Minimizacion
Cuadrante
´ Posicion
x3 x2 x1 x0
Noreste Noreste Noreste
0 − 300 30 − 600 60 − 900
0011 0010 0110
Noroeste Noroeste Noroeste
90 − 1200 120 − 1500 150 − 1800
0111 0101 0100
Suroeste Suroeste Suroeste
180 − 2100 210 − 2400 240 − 2700
1100 1101 1111
Sureste Sureste Sureste
270 − 3000 300 − 3300 330 − 3600
1110 1010 1011
27
5.11 Utilice el m´etodo de minimizaci´on de Karnaugh para obtener una expresio´ n simplificada para la funci´on f (A, B, C, D) = m(0, 1, 2, 3, 4, 6, 12)+ d (5, 10, 11, 13) en la forma de:
a) suma de productos b) producto de sumas Soluci´on
¯ B¯ + A ¯D ¯ ¯ + BC a) suma de productos: F(A, B, C, D) = A ¯ ¯ + C)( ¯ B¯ + D) ¯ A b) producto de sumas: F(A, B, C, D) = (A+B)( 5.12 Un circuito posee dos entradas, X e Y, donde cada una de ellas corres´ ponde a un numero binario de 2 bits, de la forma X = x 1x0 , 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´olo si | X − Y| ≤ 1. a) Represente la salida Z en un mapa de Karnaugh. b) Identifique los implicantes primarios esenciales y no esenciales.
´ m´ınima de suma de productos para la salida c) Escriba una ecuacion ´ Z que utilice el m´ınimo numero de variables complementadas. Soluci´on
´ de funciones mediante mapas de Karnaugh Cap´ıtulo 5: Minimizacion
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: x 1 y1 y x 1 y1 . Implicantes primarios no esenciales: x1 x0 y0 , x1 x0 y0 , x0 y1 y0 , x0 y1 y0
´ m´ınima de suma de productos pedida es z = x 1 y1 + c) La ecuacion x1 y1 + x1 x0 y0 + x0 y1 y0 5.13 La siguiente figura presenta un mapa de Karnaugh de 5 variables. Encuentre una expresio´ n m´ınima de producto de sumas para la funcio´ n F representada en este mapa.
ab 00 01 11 10
cd e 0 00 001 011 010 110 111 101 100 1 1 1 0 0 0 X 1 0 0 1 0 0 1 1 0 0 1 1 1 1 1 0 1 X 0 0 X 0 0 0 1
Soluci´on Una posible soluci´on es
F = ( a+b +e)(a +c +d +e )(a+b +c+d )(b+d +e)(a +b+e )(b +c +e )(b +c +d +e)
Cap´ıtulo
6
´ de funciones Minimizacion ´ mediante los metodos de Quine-McCluskey y Petrick 6.1 Halle una expresi´on en forma de suma de productos m´ınima de F utilizando el m´etodo de Quine-McCluskey. 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´on y todas las soluciones m´ınimas utilizando el m´etodo de Petrick. F(x,y,z,t) =
m(7, 12, 14, 15)+
d (1, 3, 5, 8, 10, 11, 13)
6.3 Utilice el m´etodo de Quine-McCluskey para determinar todos los implicantes primos e implicantes primos esenciales para la siguiente funci´on: f (A , B, C, D) =
m(9, 12, 13, 15)+
d (1, 4, 5, 7, 8, 11, 14)
Luego, utilice el m´etodo de Petrick para encontrar todas las soluciones m´ınimas. 6.4 Minimice la siguiente funci´on en la forma de suma de productos utilizando el m´etodo de Quine-McCluskey, identificando los implicantes primarios e implicantes primarios esenciales. 29
´ de funciones mediante los m etodos ´ Cap´ıtulo 6: Minimizacion de Quine-McCluskey y Petrick
F(a,b,c,d ) =
m(0, 2, 6, 8, 9, 10, 12)+
30
d (5, 7, 14)
6.5 Utilice el m´etodo de Quine-McCluskey para minimizar la siguiente ´ como suma de productos. Luego, utilice el me´ todo de Petrick funcion ´ m´ınima. para escoger una solucion f (A, B, C, D) = Π M(0, 1, 4, 5, 6, 8, 10, 13, 15) · d (2, 7, 9)
6.6 Dada la funcio´ n F(X, Y, Z, T) = m(1, 7, 10, 11, 13)+ d (5, 8, 15), utilice el m´etodo de minimizacio´ n de Quine-McCluskey para identificar los implicantes primos esenciales y no-esenciales, y el m´etodo de Petrick para encontrar todas las soluciones m´ınimas en la forma de suma de productos. Soluci´on
Los implicantes primos esenciales son YT, X Z T. Los implicantes primarios no-esenciales son XY T,XY Z y XZT. Mediante el m´e todo de Petrick, se puede determinar que la soluci´on m´ınima es YT+X Z T+XY Z.
Cap´ıtulo
˜ de circuitos Diseno combinacionales Circuitos con compuertas l ogicas ´ esta´ ndar ´ puede implementarse ya sea en su forma directa o en su 7.1 Toda funcion forma inversa, con una compuerta NOT a n˜ adida a la se n˜ al de salida. ´ Suponga que el costo de un circuito es proporcional s o´ lo al numero 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´ (directa o inversa) se simplifica braicamente cu´al forma de la funci on al circuito de menor costo para la funci o´ n f ( x,y,z ) = x y z + x y z + xy z + xy z + xy z , indicando el costo. 7.2 Disene ˜ un circuito comparador de 2 bits utilizando solo ´ compuertas NAND. Las entradas al circuito son X = x 1 x0 y Y = y 1 y0 , y las salidas son Z = z 1 z 0, donde 0 if X = Y Z = 1 if X > Y 2 if X < Y
7.3 Disene ˜ 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 y¯. 7.4 Considere la siguiente funci´on l o´ gica F(A, B, C, D) =
m(0, 4, 5, 10, 11, 13, 14, 15)
31
7
Cap´ıtulo 7: Dise˜ no de circuitos combinacionales
32
a) Halle dos circuitos m´ınimos diferentes que implementen F. Identifique en cada circuito dos potenciales peligros.
´ pelib) Dise˜ne un circuito AND-OR para que F no presente ningun gro potencial. 7.5 Dada la siguiente funci´on l o´ gica F(A, B, C, D) =
m(2, 4, 5, 7, 10, 11, 13, 14, 15)
´ compuertas NAND de 2 entraa) Dise˜ne un circuito utilizando solo das. b) Dise˜ne un circuito utilizando s´olo compuertas NOR de 2 entradas.
˜ implementar´ıa? Si tuviese que escoger, qu´e diseno 7.6 Implemente la funci´o n Z = AE+BDE+BCEF utilizando s´olo compuertas lo´ gicas NOR de dos entradas, minimizando el numero ´ de compuertas a utilizar. Suponta que dispone de las entradas en sus versiones con y sin complemento. 7.7 Dada la siguiente funci´on l o´ gica: F(A, B, C, D) =
m(0, 4, 5, 10, 11, 13, 14, 15)
a) Halle dos circuitos m´ınimos diferentes para la funci´on F. Identifique en cada circuito dos peligros potenciales.
´ pelib) Dise˜ne un circuito AND-OR para que F no presente ningun gro potencial. c) Dise˜n e un circuito OR-AND para que F no presente ning´un peligro potencial.
´ Circuitos con multiples salidas ˜ un circuito de compuertas logicas ´ 7.8 Disene NOR m´ınimo de dos niveles para implementar las funciones f 1 (a,b,c,d ) = m(1, 2, 4, 5, 6, 8, 10, 12, 14) y f 2 (a,b,c,d ) = m(2, 4, 6, 8, 10, 11, 12, 14, 15). Utilice tantas compuertas ´ comunes como sea posible. Compare el numero de compuertas y de literales con un dise˜no que considere las funciones de forma independiente.
33
Cap´ıtulo 7: Dise˜ no de circuitos combinacionales
7.9 Halle un circuito m´ınimo de compuertas lo´ gicas NOR-NOR con dos niveles para implementar las siguientes funciones. Considere si realizar ´ un circuito con multiples salidas es m´as conveniente que la realizacio´ n de 3 circuitos independientes.
m(10, 11, 12, 15)+ d (4, 8, 14) f 2 (a,b,c,d ) = m(0, 4, 8, 9) + d (1, 10, 12) f 1 (a,b,c,d ) =
f 3 (a,b,c,d ) =
m(4, 11, 13, 14, 15)+
d (5, 9, 12)
7.10 Halle un circuito m´ı nimo de compuertas l´o gicas NAND-NAND con dos niveles para implementar las siguientes funciones. Considere si realizar ´ un circuito con multiples salidas es m´as conveniente ante la realizacio´ n de 3 circuitos independientes.
m(0, 1, 7, 8, 9) z 2 (a,b,c,d ) = m(0, 2, 6, 7, 8, 9, 10, 13, 15) z 1 (a,b,c,d ) =
z 3 (a,b,c,d ) =
m(0, 2, 6, 7, 8, 10)
7.11 Realice las siguientes 3 funciones como circuitos independientes de 2 ˜ pero esta vez mininiveles AND-OR. Luego, realice un nuevo diseno, ´ mizando el numero de compuertas a utilizar. Compare sus circuitos, indicando cu´al Ud. implementar´ıa.
m(0, 1, 2, 3, 4, 5, 8, 9, 11, 12) G(x,y,z,u) = m(1, 2, 6, 7, 8, 9, 10, 12, 14) F(x,y,z,u) =
H(x,y,z,u) =
m(3, 4, 5, 6, 7, 8, 10, 11, 12, 14)
Cap´ıtulo 7: Dise˜ no de circuitos combinacionales
34
7.12 Sean las siguientes funciones Booleanas de 4 variables:
f 1 (a,b,c,d ) = m(0, 2, 6, 10, 11, 14, 15) f 2 (a,b,c,d ) = m(0, 3, 6, 7, 8, 9, 12, 13, 14, 15) f 3 (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 numero y tipo de compuertas, y el numero de literales de su disen˜ o. b) Realice ahora un circuito combinacional usando s´olo compuertas NAND que implemente una soluci´on de 2 niveles que minimice el numero ´ total de compuertas. Compare el numero ´ de compuertas y de literales de este dise˜no con el dise˜no anterior. c) Suponga ahora que s´olo tiene disponibles las entradas sin complementar y que en pa˜nol s´olo 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´as, cada chip cuesta $250. Encuentre, entonces, la implementaci´on m a´ s barata posible para estas funciones. Soluci´on
a) Una posible soluci´on 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: f 1 (a,b,c,d ) = cd + ac + a b d f 2 (a,b,c,d ) = ac + bc + a cd + b c d f 3 (a,b,c,d ) = bc + cd + ac + a c d b) Una posible soluci´on 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˜ no de circuitos combinacionales
35
OR de 4 entradas. Al convertir este circuito a un circuito de 2 niveles NAND-NAND, se utilizan 3 compuertas NAND de 4 entradas, 2 compuertas NAND de 3 entradas, y 5 compuertas NAND de 2 entradas. f 1 (a,b,c,d ) = cd + ac + a b c d f 2 (a,b,c,d ) = ac + bc + a cd + a b c d f 3 (a,b,c,d ) = bc + a cd + ac + a b c d c) La posible soluci´on detallada a continuaci´o n y que usa compuertas AND y OR puede transformarse f a´ cilmente a un circuito que utilice s´olo 6 compuertas NAND de 3 entradas, 8 compuertas NAND de 2 entradas, y 4 compuertas NOT. Por ello, puede implementarse utilizando 5 chips a un costo total de $1250. f 1 (a,b,c,d ) = cd + ac + a b d f 2 (a,b,c,d ) = bc + a cd + c (a + b )(a + d ) f 3 (a,b,c,d ) = ac + a cd + c (b + a d )
7.13 Sean las siguientes funciones de 6 variables: G=AC E + A C F + A D E + A D F+BCDE F H =A BCD+ACE+ACF+BCE+BCF a) Dise˜ne un circuito combinacional de dos niveles para estas 2 fun´ ciones, sin considerar t´erminos compartidos. Indique el numero y tipo de todas las compuertas utilizadas. Suponga que Ud. no dispone del complemento de las variables de entrada.
´ b) Dise˜ne ahora un circuito combinacional minimizando el numero total de compuertas usadas. Ud. so´ lo tiene disponibles compuertas NAND de 2 y 3 entradas. Suponga que Ud. no dispone del complemento de las variables de entrada. Soluci´on
a) En este caso, se utilizan 2 compuertas OR de 5 entradas, 5 compuertas 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 compuertas NAND.
Cap´ıtulo
Bloques estandarizados Multiplexores y demultiplexores 8.1 Implemente un multiplexor de 8 entradas utilizando un decodificador de 3 entradas y compuertas NAND.
8.2 Implemente la funci´on f ( a,b,c,d ) = m(1, 3, 4, 9, 14, 15) usando s´olo un multiplexor de 4 entradas y compuertas NOR.
8.3 Implemente la funci´on f ( a,b,c,d ) = m(1, 3, 4, 6, 7, 9, 10, 11, 14) utili´ un multiplexor de 4 entradas y compuertas NAND. Utilice zando solo ˜ las senales a y b para controlar el multiplexor. 8.4 Demuestre c´o mo conectar dos multiplexores 2-a-1 para formar un multiplexor 3-a-1, sin utilizar ninguna otra compuerta adicional. La selecci´on 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 I 2 8.5 Demuestre c´omo conectar dos multiplexores 4-a-1 y un multiplexor 2a-1 para formar un multiplexor 8-a-1 con tres entradas de control. 8.6 Demuestre co´ 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
8
Cap´ıtulo 8: Bloques estandarizados
37
8.7 Un circuito desplazador/rotador de 4 bits es un m´odulo combinacional que tiene como entrada una palabra de 4 bits X = x3 x2 x1 x0 , una palabra Z = z 3 z 2 z 1z 0 de 4 bits como salida, y 3 entradas de control, s , d y r , que ´ como se indica a continuaci´on: actuan Si s = 0, la salida refleja la entrada. Si s = 1, entonces la entrada es desplazada en 1 bit en la direccio´ 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. ´ como desplazador o como rotaEl bit r indica si el circuito act ua dor. Es decir, si sdr = 100, la salida corresponde a la entrada desplazada a la derecha, y el nuevo bit z 3 es 0. En cambio, si sd r = 101, el nuevo bit z 3 corresponde al bit x0 . Asimismo, si sd r = 110, la salida corresponde a la entrada desplazada a la izquierda, y el nuevo bit z 0 es 0. En cambio, si sdr = 111, el nuevo bit z 0 corresponde al bit x 3 . Disene ˜ este circuito usando s´olo multiplexores de 4 entradas. Utilice tantos como encuentre necesario.
Codificadores y decodificadores ˜ un codificador de prioridad 4-a-2 utilizando mapas de Karnaugh. 8.8 Disene Minimice el numero ´ de compuertas logicas ´ y literales utilizados. Este codificador tiene 4 entradas, y 1 y2 y3 y4 , y dos salidas, z 1 z 2 , que indican la entrada de mayor prioridad que est a´ activa. La entrada yi +1 tiene prioridad sobre la entrada y i . Suponga que siempre hay al menos una entrada activa. 8.9 Disene ˜ un circuito que genere los bits de paridad p1 p2 p4 del c´odigo Hamming para una palabra de 4 bits b 0b1 b2 b3 utilizando un decodificador de 4 entradas y compuertas OR. 8.10 Genere un circuito que convierta una palabra de 4 bits en c´odigo BCD 8421 a co´ digo Gray de 4 bits utilizando codificadores y decodificadores de 4 bits. 8.11 Dise˜ne un conversor de c´odigo Reflejado Exceso 3 a c odigo ´ BCD 8421 utilizando s´olo un codificador 16-a-4 y un decodificador 4-a-16. Dibuje el circuito resultante.
Cap´ıtulo 8: Bloques estandarizados
38
´ 8.12 Dise˜ne un circuito que reciba un n umero X = x 2 x1 x0 de entrada, y genere una salida Y = y2 y1 y0 tal que Y = (3X)mod 8. a) Realice un dise˜no utilizando un decodificador de 3 entradas y un codificador de 8 entradas. b) Realice un dise˜no 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 x 2 x1 x0 y que tenga 6 salidas Z0 a Z5. La entrada s o´ lo toma valores en el rango 000 a 101, y s o´ lo la salida Zi est´a activa cuando la secuencia de entrada sea igual a i , para 0 ≤ i ≤ 5. Realice este disen˜ o utilizando s´olo un decodificador 2-a-4, un decodificador 1-a-2, y un ´ numero m´ınimo de compuertas AND de 2 entradas. Suponga adem a´ s que Ud. no dispone del complemento de los bits de entrada. Soluci´on
´ b´asica conecta x 1 x0 a las entradas del decodificador 2-a-4, La solucion la entrada x 2 a la entrada del decodificador 1-a-2, y utiliza 6 compuertas AND de 2 entradas para generar las seis salidas Z0 a Z5 .
Circuitos aritm´eticos 8.15 Dise˜ne 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´a X − Y y si A = 0, la salida ser´a 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 buff ers de tres estados de 4 bits con entradas y salidas de bus, y un inversor.
8.16 Se desea dise˜nar un circuito que sume dos d´ıgitos decimales X e Y codificados usando co´ digo BCD8421 m´as 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 senales de entrada y 5 se n˜ ales de salida. A modo de ejemplo, si X = 4, Y = 5, y carry in = 0, entonces las salidas deben ser Z = 9 y carryout = 0. Pero, si X = 4, Y = 5, y carryin = 1, entonces las salidas de su circuito deben ser Z = 0 y carry out = 1. Asimismo, si X = 7, Y = 6, y carry in = 0, entonces las salidas de su circuito deben ser Z = 3 y carryout = 1. ˜ este circuito utilizando 2 sumadores binarios de 4 bits y (quiz´as) Disene algun ´ circuito combinacional adicional. Sugerencia: notese ´ que el resultado 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˜ne un circuito complementador de 4 bits. Este circuito posee 4 bits de entrada A = a 3a2 a1 a0 , 4 bits de salida B = b3 b2 b1b0 y una ˜ de control C. Si C = 0, la salida B debe ser igual a la entrada senal 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 disen˜ 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˜nal adicional T que controla la operacio´ n del circuito. Las salidas del circuito son Z = z 3 z 2 z 1 z 0 y un bit adicional W. Este circuito debe calcular la operacio´ 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˜ne un circuito sumador para d´ıgitos decimales en co´ digo Gray utilizando una memoria ROM. El sumador debera´ sumar dos d´ıgitos en co´ digo Gray y proporcionar tanto el resultado de la suma en c´odigo 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
f 1 (a,b,c,d ) = m(1, 2, 4, 5, 6, 8, 10, 12, 14) f 2 (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 conexiones internas de las mismas. 8.20 Utilice la siguiente PLA para implementar las ecuaciones:
X =A B D + A C + C D Y =A C + A D + C D + AC Z = C D + A C + A B D
8.21 Se desea dise˜n ar un circuito combinacional que reciba como entrada un ´ numero decimal en c´odigo BCD8421, y tenga como salida el cuociente Q y el resto R de la divisio´ n de este numero ´ por 3, cada uno representado en 2 bits, a saber, Q1 Q0 y R1 R0 . a) Dise˜ne este circuito m´ınimo de dos niveles utilizando compuertas NAND
Cap´ıtulo 8: Bloques estandarizados
b) Dise˜ne este circuito utilizando una PLA c) Dise˜ne este circuito utilizando una memoria ROM
41
Cap´ıtulo
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
9
Cap´ıtulo 9: Circuitos secuenciales
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´on caracter´ıstica c) su diagrama de estados
Figura 9.4: Ver ejercicio 9.2
43
Cap´ıtulo
10
Registros y contadores 10.1 Dise˜ne un circuito sincr´onico que cuente siguiendo la secuencia de´ cimal 3, 7, 2, 6, 3, 7, 2, 6 utilizando flip-flops D. Asegurese que este contador se autoinicialice, es decir, que todos los estados no utilizados transiten inicialmente al estado inicial del contador. 10.2 Dise˜ne un circuito contador de 3 bits con la siguiente secuencia de salida: 001, 011, 010, 100, 111, 101, 110, 001, usando a) flip-flops D b) flip-flops T
En ambos casos, indique qu´e 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 M N = 01, el siguiente estado es el estado actual Si MN = 10, el siguiente estado es el complemento del estado actual Si MN = 11, el siguiente estado es 1 a) Dise˜ne este flip-flop utilizando compuertas NAND b) Complete la siguiente tabla c) Utilizando esta tabla y mapas de Karnaugh, determine y minimice 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´as las transiciones de los estados no especificados.
44
45
Cap´ıtulo 10: Registros y contadores
Q( t ) Q(t + t ) MN 0 0 1 1
0 1 0 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 actual Si LM = 11, el siguiente estado es 0 a) Dise˜ne este flip-flop utilizando latches RS b) Complete la siguiente tabla, utilizando superfluos donde sea posible: Q Q+ L M
0 0 1 1
0 1 0 1
c) Utilizando esta tabla y mapas de Karnaugh, dise˜ne un contador compuesto por 3 flip-flops LM que cuente la siguiente secuencia: 000, 100, 101, 111, 011, 001, 000, . . .. Dibuje el diagrama de estados, indicando las transiciones para todos los posibles estados iniciales.
10.5 Dise˜ne un circuito contador de 3 bits con la siguiente secuencia de salida: 000, 001, 011, 101, 111, 010, 000 usando flip-flops J-K. Muestre el circuito combinacional e indique qu´e pasa si el valor inicial del contador es 100. 10.6 Dise˜ne 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´e pasa si el valor inicial del contador es 001.
Cap´ıtulo 10: Registros y contadores
46
10.7 Dise˜ne un circuito desplazador de 4 entradas utilizando flip-flops D y multiplexores que realice las siguientes funciones: a) Realice un desplazamiento l´ogico de 1 bit a la derecha b) Realice un desplazamiento l´ogico de 1 bit a la izquierda c) Realice un desplazamiento aritm´etico de 1 bit a la derecha d) Realice un desplazamiento aritm´etico 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´on
´ Determine cu´antas variables de control necesita, y rotulelas de la manera m´as apropiada para realizar las funciones indicadas.
Cap´ıtulo
´ Analisis de circuitos ´ secuenciales sincronicos 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´onico de la figura 11.3. Muestre el diagrama de estados del circuito. Dibuje un diagrama de tiempo suponiendo el estado inicial ABC = 000 y una secuencia de entrada X = 01010. Suponga que los cambios de entrada tienen lugar a medio camino entre los cantos de bajada del reloj.
47
11
´ ´ Cap´ıtulo 11: Analisis de circuitos secuenciales sincr onicos
Figura 11.2: Ver ejercicio 1
Figura 11.3: Ver ejercicio 11.2
48
´ ´ Cap´ıtulo 11: Analisis de circuitos secuenciales sincr onicos
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 e´ ste. Muestre un diagrama de estados del circuito. Es ´esta una m´aquina de Mealy o de Moore?
Figura 11.4: Ver ejercicio 11.3 11.4 Para el siguiente circuito secuencial sincr´onico, analice el circuito y realice el diagrama de estados.
´ ´ Cap´ıtulo 11: Analisis de circuitos secuenciales sincr onicos
50
Cap´ıtulo
˜ de circuitos Diseno ´ secuenciales sincronicos 12.1 Un circuito secuencial sincr´onico 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 n˜ e este circuito como una m´aquina de Mealy. 12.2 Dise˜ne un circuito secuencial de Moore que tenga una entrada X y una ´ salida Z. La salida debe ser 1 si el numero total de 1s recibido es impar ´ y el numero de 0s recibido es par y distinto de 0. 12.3 Una m´aquina de estados finitos tiene una entrada y una salida. La salida 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. Realice el diagrama de estados de esta m a´ quina, e implem´entela utilizando flip-flops T. 12.4 Un circuito secuencial sincr´onico tiene dos entradas, X = x1 x2 y dos ´ salidas, Z = z 1 z 2 , ambas representando un numero binario de 2 bits. Si el valor actual de X es mayor que el valor anterior, entonces z 1 = 1. Si el valor actual de X es menor que el valor anterior, entonces z 2 = 1. En caso contrario, z 1 z 2 = 0. a) Realice este circuito como un m´aquina de Mealy usando flip-flops JK.
51
12
˜ de circuitos secuenciales sincr onicos ´ Cap´ıtulo 12: Diseno
52
b) Realice este circuito como un m´aquina de Moore usando flip-flops JK.
12.5 Dise˜ne una m´aquina de Mealy con entrada X y salida Z. La salida Z debe ser 1 por un ciclo de reloj cuando quiera que las secuencias . . . 0111 o´ . . . 1000 est´en presentes en la entrada. Estos patrones pueden traslaparse. Por ejemplo, la entrada . . . 0000111000 .. . debe generar la salida . . . 0000001001 . . .. a) Realice esta m´aquina usando flip-flops D. b) Realice esta m´aquina usando flip-flops T. c) Realice esta m´aquina usando flip-flops JK.
Que´ conclusiones saca Ud. de estas implementaciones? 12.6 Dise˜ne un circuito secuencial de Mealy que analice una secuencia de entrada X y que genere una salida Z = 1 para toda secuencia de entrada que acabe en 1010, suponiendo que la secuencia 001 haya aparecido 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´odigo 000 al estado inicial. El circuito no se reinicializa al estado de partida cuando se genera una salida Z = 1. Disen˜ e el circuito ´ utilizando flip-flops tipo D, y a lo m´as 10 compuertas logicas NAND. Suponga que dispone de las entradas normales y negadas. 12.7 Dise˜ne un circuito secuencial para conversion ´ de c´odigo exceso-3 a co´ digo BCD. La entrada X representa un d´ı gito decimal en c´odigo exceso3, y la salida Z representa el c o´ digo BCD correspondiente, ambos presentados en forma serial, donde el bit menos significativo es generado 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 z 0 z 1z 2 z 3 = 0100 Dise˜ne su circuito utilizando tres flip-flops D, compuertas l ogicas ´ NAND y NOR. Asigne el co´ digo 000 al estado inicial. Su soluci´on no debiera utilizar mas de 8 compuertas lo´ gicas. 12.8 Dise˜ne un sistema secuencial sincr´onico con una entrada, X, y una salida, 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.
˜ de circuitos secuenciales sincr onicos ´ Cap´ıtulo 12: Diseno
53
a) Dise˜ne un circuito que implemente ese sistema utilizando flipflops tipo T b) Indique en su diagrama de estados todas las transiciones realizadas por todos los posibles estados. c) Suponga que ahora decide implementar este sistema utilizando una ROM y flip-flops tipo D. Cu´al ser´a ahora el contenido de la ROM?
Reducci´on de estados equivalentes 12.9 Dise˜ne un circuito secuencial sincr´o nico que reciba una entrada binaria X y que tenga una salida binaria Z. Este circuito debe tener salida Z = 1 ´ ´ si los 4 ultimos bits recibidos son un d´ıgito v´alido en codigo Reflejado Exceso-3. No considere posibles traslapos. Indique su asignacio´ n de variables secundarias. Demuestre que su diagrama de estados utiliza el m´ınimo numero ´ posible de estados. Indique en su diagrama de estados todas las transiciones de todos los estados. Realice el dise˜no utilizando flip-flops tipo SR. Dibuje el circuito combinacional resultante. Soluci´on
Una posible soluci´on utiliza 3 flip-flops SR para realizar el diagrama de 7 estados final. Las ecuaciones finales son: SA = B CX+BCX RA = C SB = A CX RB = C
SC = B CX+BCX RC = B CX+BCX Y = AB C + A BC X
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´asicos Universales. AIMS International Edition, New York, NY, 2005. [3]
Milos Ercegovac and Tom´a s Lang. Digital Systems and Hardware/Firmware Algorithms. John Wiley & Sons, New York, NY, 1985.
[4] Thomas L. Floyd. Fundamentos de sistemas digitales. Pearson Educacio´ n S. A., Madrid, 9th. edition, 2006. [5]
no digital. Prentice-Hall Iberia, MaDaniel D. Gajski. Principios de dise˜ drid, 1997.
[6] John P. Hayes. Introducci´on al dise˜ no l´ogico digital. Addison-Wesley Iberoamericana, Buenos Aires, Argentina, 1996. [7]
Antonio Lloris Ruiz, Alberto Prieto Espinoza, and Luis Parrilla Roure. Sistemas digitales. Mc-Graw Hill Interamericana de Espa˜na, Madrid, 2003.
[8]
˜ l´ogico y de M. Morris Mano and Charles R. Kime. Fundamentos de diseno computadoras. Pearson Educacio´ n S. A., Madrid, 3rd. edition, 2005.
[9] Alan B. Marcovitz. Introduction to Logic and Computer Design. McGrawHill, Boston, MA, 2008. [10] Charles H. Roth, Jr. Fundamentos de dise˜ no l´ogico. Thomson Learning, Ciudad de M´exico, M´exico, 5th. edition, 2005. 54