Sistemas digitales Ejercicios resueltos y planteados
Mario Medina C.
Depto. Ing. Eléctrica Facultad de Ingeniería Universidad de Concepción 2014
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 habilidades y competencias asociadas a esta materia. Muchos de ellos aparecen 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. Agradezco la colaboración de Jorge Salgado, quien aportara ejercicios de su propia cosecha a este listado. Estoy siempre dispuesto a responder consultas sobre estos ejercicios, 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.
[email protected] [email protected] l
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 habilidades y competencias asociadas a esta materia. Muchos de ellos aparecen 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. Agradezco la colaboración de Jorge Salgado, quien aportara ejercicios de su propia cosecha a este listado. Estoy siempre dispuesto a responder consultas sobre estos ejercicios, 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.
[email protected] [email protected] l
Índice general 1 Sistemas Sistemas numérico numéricoss
1
2 Códi Código goss
10
3 Álgebra Álgebra Booleana Booleana
16
4 Funcione Funcioness Booleana Booleanass
22
5 Minimización de funciones funciones mediante mapas de Karnaugh
28
6 Los métodos de Quine-McCluskey y Petrick Petrick
36
7 Diseño de circuitos combinacionales combinacionales
39
8 Bloques Bloques estandari estandarizado zadoss
56
9 Circuitos Circuitos secuencial secuenciales es
77
10 Registros y contadores
79
11 Análisis de circuitos secuenciales sincrónicos
85
12 Diseño de circuitos secuenciales secuenciales sincrónicos
95
Bibliografía
100
iii
Capítulo
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
1
Capítulo 1: Sistemas numéricos
2
Solución a) 7261.38 y EB1.616
b) 2635.58 y 59D.A 16
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.01002 b) 7B.2B16 y 1111011.00101012 c) 164.E316 y 101100100.11100012 d) 427.816 y 10000100111.12 1.4 Convierta los siguientes números decimales a octal y luego a binario. a) 2983 63 64
b) 93.73
c) 1900 31 32
d) 109.30
Solución a) 5647.778 y 101110100111.1111112 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 . 1.8 Convierta el número 25749 a base 3.
Solución 21221113
Capítulo 1: Sistemas numéricos
3
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 log9 / log16 = 0.792.
Solución El número 7813.4059 en base 16 es 1683.73816 1.11 Convierta el número decimal no entero 97.31510 a: a) binario b) octal c) hexadecimal Recuerde que log 10 (10) = 1 y que log 10 (2) = 0.301.
Solución a) La representación binaria del número es: 1100001.01010000102 b) La representación octal del número es: 141.24108 c) La representación hexadecimal del número es: 61.50816 1.12 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 01234567 89 A B C D E F G H I J b) 201010 = 50A20 c) BCH.G20 = 4657.810
Capítulo 1: Sistemas numéricos
4
1.13 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. 1.14 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. 1.15 Sea XY Z6 un número en base 6 formado por los dígitos X,, Y y Z, y ZY X9 un numero en base 9 formado por los mismos dígitos en orden inverso. Entonces, determine el valor de los dígitos X, Y y Z tal que se cumpla la igualdad X Y Z6 = Z Y X9 . No considere la solución trivial X = Y = Z = 0.
Solución La única combinación que cumple con la igualdad es X = Y = 5, Z = 2.
Aritmética en bases distintas a 10 1.16 Realice la siguiente multiplicación 120113 × 10213 sin pasar a otras bases.
Solución El resultado de la multiplicación en base 3 es 20111001 3 1.17 Un colega del Depto. Eléctrico acaba de estar de cumpleaños. Le pregunté cuántos años cumplía y me dijo “XY añ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é 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.18 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!
Capítulo 1: Sistemas numéricos
5
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. 1.19 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.20 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.21 Determine la incógnita X 3 en la ecuación 10100102 + X3 = 21024 .
Solución La incógnita es X3 = 21013 1.22 Calcule el valor de la base X tal que se cumpla 145 X = 10100102 .
Solución La base X tiene el valor 7. 1.23 Calcule la incógnita X3 en la igualdad: 11011011 2 + X3 = 133124 .
Solución La incógnita X 3 tiene el valor 11253 .
Capítulo 1: Sistemas numéricos
6
1.24 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 1.25 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.26 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.27 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
Capítulo 1: Sistemas numéricos
7
Solución a) Entero positivo: 101. Entero con signo: −27. Caracter ASCII: ’e’ b) Entero positivo: 29. Entero con signo: 29. Caracter ASCII: Group Separator (GS) c) Entero positivo: 50. Entero con signo: 50. Caracter ASCII: ’2’ d) Entero positivo: 109. Entero con signo: −19. Caracter ASCII: ’m’ e) Entero positivo: 124. Entero con signo: −4. Caracter ASCII: ’|’ f ) Entero positivo: 65. Entero con signo: −63. Caracter ASCII: ’A’ g) Entero positivo: 117. Entero con signo: −11. Caracter ASCII: ’u’ h) Entero positivo: 127. Entero con signo: −1. Caracter ASCII: DEL 1.28 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) 110112
e) 000012
b) 011000112
f ) 01111012
c) 0010011102
g) 0001112
d) 000112
h) 000000012
1.29 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 representación es − 127 a 127.
Capítulo 1: Sistemas numéricos
8
1.30 Realice las siguientes restas usando complemento a 2. Luego, verifique sus resultados. a) 100112 − 11012
c) 10010112 − 11011012
b) 110100112 − 111011012
d) 1001112 − 1011012
Solución a) 1102
c) −1000102
b) −110102
d) −1102
1.31 Realice las siguientes restas sumando el complemento. Indique cuándo se produce un rebalse. Suponga que los números negativos están representados en complemento a 2. a)
11010 −10100
b)
01011 −11000
c)
10001 −01010
d)
10101 −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.32 Sume los siguientes números en binario utilizando el complemento 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.
Capítulo 1: Sistemas numéricos
9
c) El resultado correcto es −7. No hay rebalses. 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ógico. f ) El resultado correcto es 23. Hay rebalse aritmético y rebalse lógico. 1.33 Sean los siguientes dos números con signo en base 10, 375 y 489. a) Convierta ambos números a base 2, y realice la resta en base 2 de 375 − 489. b) Ahora convierta ambos números a octal, y realice la misma resta anterior, pero en base 8. c) Utilice ahora complemento a 2 para representar los números con signo +375 y −489. d) Realice ahora la suma de los números anteriores en binario usando complemento a 2.
Solución a) 37510 − 48910 = 1011101112 − 1111010012 = −0011100102 b) 37510 − 48910 = 5678 − 7518 = −1628 c) [01011101112 ] = 01011101112 , [1111010012 ] = 10000101112 d) 1011101112 −1111010012 = 01011101112 +10000101112 = 11110001102 que es −11100102 = −11410
Capítulo
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 codificación, el número 67310 se escribe 1100 0110 0001 BCD1523 .
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ódigo ponderado BCD4321 y escriba el número 915410 en ese código.
Solución La siguiente tabla muestra una posible solución. Siguiendo esta codificación, el número 915410 se escribe 1110 0001 1001 0101 BCD4321 .
10
2
Capítulo 2: Códigos
11
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ó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 1 2 3 4 5 6 7 8 9
0000 0001 0011 0100 0101 1000 1010 1011 1100 1110
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 representar 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 codificación, el número B4A912 se escribe 1101 0101 1100 1010 BCD7321 .
Capítulo 2: Códigos
12
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ódigo BCD5321 autocomplementado para base 12, y represente el número 135 10 en su nuevo código.
Solución La siguiente tabla muestra una posible solución. El número 13510 en base 12 equivale a B312 , el que, siguiendo esta codificación, se escribe como 1111 0011BCD5321 .
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 a) Números BCD8421 b) Un número binario puro c) Números en código Exceso-3
Capítulo 2: Códigos
13
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 100111010 2 se escribe como 110100111Gray en código 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 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 2 32 − 1, es decir, 4, 294, 967, 296 enteros. b) El rango derepresentació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 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ódigo para representar el equivalente al número 9826 10 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. 2.11 Ud. desafía a un compañero a construir un código BCD de 4 bits tal que una de las ponderaciones de las columnas sea negativa. Después de pensarlo un poco, su compañero le propone el código BCD 8 4 −2 1. a) Escriba la representación de los dígitos del 0 al 9 en este código.
Capítulo 2: Códigos
14
b) Es Ud. capaz de crear otro código BCD tal que una de las ponderaciones sea negativa?
Solución a) La representación de los dígitos del 0 al 9 en el código BCD 8 4 −2 1 se muestra en la siguiente tabla. Dígito 8 4 −2 1 0 1 2 3 4 5 6 7 8 9
0 0 0 0 0 0 1 1 1 1
0 0 1 1 1 1 0 0 0 0
0 0 1 1 0 0 1 1 0 0
0 1 0 1 0 1 0 1 0 1
b) Un ejemplo de otro código BCD tal que una de las ponderaciones es negativa es el código BCD 7 4 −2 1
Códigos detectores y correctores de errores 2.12 En un computador se ha recibido la secuencia de bits 1011111, que representa un número codificado en Hamming(7, 4). 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 2. Dato transmitido: 1111 2 2.13 En un computador se ha recibido la secuencia de bits 0110010, que representa un número codificado en Hamming(7, 4). 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: 1011 2 2.14 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: 10011010 2
Capítulo 2: Códigos
15
2.15 En un cierto sistema digital, los número decimales 000 a 999 se representan en el código Reflejado Exceso-3. Se incluye también un bit de paridad impar como el bit menos significativo de cada número decimal. Analice los grupos de bit siguientes e identifique el número recibido. Identifique además los errores detectados, si los hubiese. a) 1010110011010 b) 0110111001000 c) 0111001111110 d) 0010010111011
Solución a) No tiene errores. Número recibido: 956 b) Error en la paridad c) Error en el segundo dígito d) No tiene errores. Número recibido: 036 2.16 Se le pide enviar el dato binario BCD 0011 mediante el sistema de codificación Hamming. a) Calcular los bits de validación p 4 , p 2 y p 1 . b) Proporcione la palabra binaria que será enviada desde el transmisor. c) El receptor recibe el mensaje 1010011. Calcule los bits de comprobación c4 , c 2 y c1 . d) Determine si hubo un error de transmisión. En caso positivo, corrija el dato recibido.
Solución a) p1 p2 p4 = 100. b) La palabra transmitida es 1000011. c) c4 c2 c1 = 011 d) Hubo un error de transmisión en el bit 3, por lo que el mensaje recibido se corrije a 1000011, y el dato recibido es 0011.
Capítulo
Álgebra Booleana 3.1 Demuestre que la operación XOR, A ⊕ B, también cumple con la propiedad asociativa.
Solución Desarrollando ambos lados de la igualdad, A ⊕ (B ⊕ C) = (A ⊕ B) ⊕ C A ⊕ (BC ′ + B′ C) = (A′ B + AB′ ) ⊕ C A′ (BC ′ + B′ C) + A(BC + B′ C ′ ) = (A′ B + AB′ )C ′ + (AB + A′ B′ )C A′ BC ′ + A′ B′ C + ABC + AB′ C ′ = A′ BC ′ + AB′ C ′ + ABC + A′ B′ C 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.
Solución a) Sea a = 0, b = 0, c = 1. Entonces, es claro que ab = ac = 0, a pesar que b c. b) Si a = 0, entonces a + b = a + c implica b = c. Si a = 1, ab = ac implica b = c. Como esos son los únicos valores posibles de a, se demuestra que si se cumplen ambas condiciones, entonces b = c. 3.3 Demuestre las siguientes equivalencias utilizando los postulados del álgebra Booleana, indicando en cada paso qué postulado se está 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′ 16
3
Capítulo 3: Álgebra Booleana
17
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.
Solución Desarrollando el lado derecho de la igualdad, xz ′ + x′ z = x(xy ′ + x′ y)′ + x′ (xy ′ + x′ y) = x(xy + x′ y ′ ) + x′ y = xy + x′ y xz ′ + x′ z = y 3.5 Simplifique la expresión a+a′ b+a′ b′ c+a′ b′ c′ d+a′ b′ c′ d ′ e algebraicamente, indicando la propiedad aplicada en cada paso.
Solución La expresión simplificada es a + b + c + d + e. 3.6 La operación ≡ está definida para los dos variables a y b como a ≡ b = ab +a′ b′ . Suponiendo que c = (a ≡ b), indique cuál de las siguientes identidades es válida. a) a = b ≡ c b) a ≡ bc = 1
Solución Cabe hacer notar que la operación a ≡ b = ab + a′ b′ es el complemento de la operación a ⊕ b = a′ b + ab ′ . a) La identidad es válida a = b ≡ c = bc + b′ c′ = b(a ≡ b) + b′ (a ⊕ b) = b(ab + a′ b′ ) + b′ (ab ′ + a′ b) = ab + ab ′ =a b) En este caso, se tiene que la identidad no es válida. a ≡ bc = · · · a ≡ b(ab + a′ b′ ) = · · · a ≡ ab = · · · a(ab) + a′ (a′ + b′ ) = · · · ab + a′ + a′ b′ = · · · b + a′ 1
Capítulo 3: Álgebra Booleana
18
3.7 Verifique que, si ab ′ + [b + b′ (a + bc)]′ = [a + a′ (ac + ab)](a + b′ ), entonces a = b′ .
Solución ab ′ + [b + b′ (a + bc)]′ = [a + a′ (ac + ab)](a + b′ ) ab ′ + [b + a + bc]′ = [a + (ac + ab)](a + b′ ) ab ′ + [a + b]′ = a(a + b′ ) ab ′ + a′ b′ = a b′ = a 3.8 Es válida la siguiente ley distributiva? A ⊕ BC = (A ⊕ B)(A ⊕ C). Demuestre su respuesta.
Solución No, no es válida porque el lado izquierdo de la ecuación es equivalente a A′ BC + AB′ + AC ′ , y el lado derecho es equivalente a A ′ BC + A′ B′ C ′ R 3.9 Simplifique la expresión P¯ + PQR + Q ¯
Solución La expresión simplificada equivalente es P¯ + Q 3.10 Simplifique la expresión (A ≡ B ′ )(CD ⊕ B′ ) + ABCD para obtener una suma de tres términos.
Solución La expresión simplificada equivalente es AB′ C ′ + AB′ D ′ + BCD 3.11 Simplifique las siguientes expresiones, utilizando en cada caso sólo 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(c + db) + a e) (AB + C + D)(A′ B + D)
Solución a) X ′ Y ′ Z + X ′ Y ′ Z = 1. Postulado 1. b) (AB′ + CD)(B′ E + CD ) = CD + AB′ E. Teorema 3. c) ACF + ACF = AF . Teorema 5. d) a(c + db) + a = a + c + bd. Teorema 4. e) (AB + C + D)(A′ B + D) = A′ B + D. Teorema 1.
Capítulo 3: Álgebra Booleana
19
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 + XY Z + W ′ Y Z c) ABC + A′ C ′ D ′ + A′ BD ′ + ACD = (A′ + C)(A + D ′ )(B + C + D) 3.13 Utilice los teoremas del álgebra Booleana para demostrar la siguiente igualdad: (abd + a′ b + b′ d + c′ )(c + ab + bd) = b(a + c)(a′ + c′ ) + d(b + c) 3.14 Usando una tabla de verdad, muestre que F 1 (x,y,z,w) = w ′ z′ + w′ xy + wx′ z + wxyz es equivalente a F2 (x,y,z,w) = w′ z′ + xyz + wx ′ y ′ z + wyz.
Solución xy zw w′ z′ w′ xy 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
wx′ z
wxyz xyz wx ′ y ′ z wyz F1
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
F2 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 + AB′ D + A′ BD ′ b) W ′ Y ′ + W YZ + XY Z + W X ′ Y c) (B + C + D)(A + B + C)(A′ + C + D)(B′ + C ′ + D ′ ) d) W XY + W XZ + W Y ′ Z + W ′ Z ′ e) A′ BC ′ + BC ′ D ′ + A′ CD + B′ CD + A′ BD f ) (A + B + C)(B + C ′ + D)(A + B + D)(A′ + B′ + D ′ )
Capítulo 3: Álgebra Booleana
20
Solución a) BC ′ D ′ + ABC ′ + AC ′ D + AB′ D + A′ BD ′ = A′ BD ′ + ABC ′ + AB′ D b) W ′ Y ′ + W YZ + XY Z + W X ′ Y = W ′ Y ′ + XY Z + W X ′ Y c) (B + C + D)(A + B + C)(A′ + C + D)(B′ + C ′ + D ′ ) = (A + B + C)(A′ + C + D)(B′ + C ′ + D ′ ) d) W XY + W XZ + W Y ′ Z + W ′ Z ′ = W XY + W Y ′ Z + W ′ Z ′ e) A′ BC ′ + BC ′ D ′ + A′ CD + B′ CD + A′ BD = BC ′ D ′ + B′ CD + A′ BD f ) (A + B + C)(B + C ′ + D)(A + B + D)(A′ + B′ + D ′ ) = (B + C ′ + D)(A + B + D)(A′ + B′ + D ′ ) 3.16 Simplifique algebraicamente la expresión F(A,B,C,D) = BC ′ D ′ +BC ′ D + A′ C ′ D ′ + BCD ′ + A′ B′ CD ′ .
Solución La expresión simplificada es F(A,B,C,D) = BC ′ + BD ′ + A′ D ′ 3.17 Aplicando las leyes de De Morgan, obtenga una expresión simplificada para las siguientes funciones: a) G = (xy + xz) ( x¯ + ¯yz) b) F = (x + y)(xy¯ + z)
Solución a) G = x¯ + ¯y + z b) F = y¯ + z 3.18 Demuestre algebraicamente las siguientes igualdades. a) x ⊕ y ⊕ z′ = x ⊕ y ⊕ z b) x′ y ′ z′ + x′ yt + xyz + xy ′ t ′ = y ′ z′ t ′ + x′ z′ t + yzt + xzt ′
Solución a) Desarrollando ambos lados de la igualdad, se tiene x ⊕ y ⊕ z′ = x ⊕ y ⊕ z (x′ y + xy ′ ) ⊕ z′ = (xy + x′ y) ⊕ z x′ yz + xy ′ z + xyz′ + x′ y ′ z′ = xyz′ + x′ y ′ z′ + xy ′ z + x′ yz
Capítulo 3: Álgebra Booleana
21
b) Desarrollando el lado izquierdo de la igualdad, se tiene que éste puede convertirse en la expresión del lado derecho de la igualdad. x′ y ′ z′ + x′ yt + xyz + xy ′ t ′ x′ y ′ z′ (t + t ′ ) + x′ y(z + z′ )t + xyz(t + t ′ ) + xy ′ (z + z′ )t ′ x′ y ′ z′ t + x′ y ′ z′ t ′ + x′ yzt + x′ yz ′ t + xyzt + xyzt ′ +xy ′ zt ′ + xy ′ z′ t ′ (x + x′ )y ′ z′ t ′ + x′ (y + y ′ )z′ t + (x + x′ )yzt + x(y + y ′ )zt ′ y ′ z′ t ′ + x′ zt + yzt + xzt ′
= ··· = ··· = ··· = ··· = ···
3.19 Muestre, usando álgebra Booleana, si acaso la operación A NAND B = (AB)′ es o no asociativa.
Solución Para ver si la operación A NAND B = (AB)′ es o no asociativa, debemos verificar si (A NAND B) NAND C = A NAND (B NAND C). Desarrollando ambas expresiones, se tiene: (A NAND B) NAND C ((AB)′ C)′ AB + C ′
A NAND (B NAND C) (A(BC)′ )′ A′ + BC
Por lo tanto, la operación NAND no es asociativa. 3.20 Simplifique, usando los lemas y teoremas del álgebra binaria, las siguientes expresiones: a) abc ′ d + ab ′ c + bc ′ d + ab ′ c′ + acd + a′ bcd b) (((a + b + a′ c′ )c + d)′ + ab)′ c) xzy + xz ′ w + yz ′ w + x′ y ′ z′ + xy ′ z′ w′ + yz ′ x
Solución a) ab ′ + bd b) a′ d + b′ d + ab ′ c + a′ bc c) xy + z′ w + y ′ z′
Capítulo
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 descarga D es negativa, el controlador está encendido y el indicador de nivel está activado, o si la descarga es positiva, el controlador está apagado y el indicador de nivel está desactivado.
Solución ¯ R = DCN + C¯ N¯ D 4.2 Represente cada una de las siguientes proposiciones como una expresió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á presente. 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á parado, 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. 4.3 Desarrolle y simplifique para obtener una suma de productos. ¯ + B)(AC D ¯ + E) a) (A + B)(C + B)(D 22
4
Capítulo 4: Funciones Booleanas
23
b) (A′ + B + C ′ )(A′ + C ′ + D)(B′ + D ′ )
Solución ¯ + BE a) AC D 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) AB + C ′ D ′ b) W X + W Y ′ X + ZY X c) A′ BC + EF + DEF ′ d) XY Z + W Z + XQ ′ Z e) ACD ′ + C ′ D ′ + A′ C f ) A + BC + DE
Solución 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ón a una suma mínima de productos, donde ⊕ es la operación XOR, y ≡ es la operación NEXOR. F = W XY ′ + (W ′ Y ′ ≡ X) + (Y ⊕ W Z)
Solución ¯ W ¯ ¯ Y + W ¯ X + XY ¯ + Y ¯ F = W X + Y + W Z 4.6 Para cada una de las siguientes expresiones, obtenga un producto de sumas. a) H ′ I ′ + JK b) ABC + A′ B′ C + CD ′ c) AB′ + ACD + ADE ′ d) AB′ C + B′ CD ′ + EF ′ e) W X ′ Y + W ′ X ′ + W ′ Y ′ f ) AB′ + (CD ′ + E)
Capítulo 4: Funciones Booleanas
24
Solución 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ón Las sumas de productos equivalentes son a) F(A,B,C,D) = B′ C + A′ C + BC ′ b) F(A,B,C,D) = A′ C + AB′ 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
m(1, 2, 4, 7, 8, 11, 13, 14) 4.9 Dada la función F(A,B,C,D) = m(0, 1, 2, 6, 7, 14, 15). F(x,y,z,t) =
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) 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 Sea la función f (a,b,c,d,e,f ,g, h) = ab′ cd ′ e+acd +acf ′ gh′ +abcd ′ e+acd ′ e+ e′ h′ . Utilizando sólo los lemas y teoremas del álgebra Booleana, convierta esta función a: a) su forma mínima de suma de productos b) su forma mínima de producto de sumas
Capítulo 4: Funciones Booleanas
25
Solución a) suma de productos: f (a,b,c,d,e,f ,g, h) = ace + acd + e′ h′ b) producto de sumas: f (a,b,c,d,e,f ,g, h) = (a + e ′ )(a + h′ )(c + e ′ )(c + h′ )(d + e + h′ ) 4.11 Un circuito combinacional tiene cuatro entradas A,B,C,D y cuatro salidas, 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. Encuentre 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 .
Solución a)
X = m(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15) Y = m(0, 7, 11, 13, 14, 15) Z =
m(0, 3, 5, 6, 9, 10, 12, 15)
X = A + B + C + D Y = A′ B′ C ′ D ′ + ABD + ABC + ACD + BCD Z = A′ B′ C ′ D ′ + A′ B′ CD + A′ BC ′ D + A′ BCD ′ + ABC ′ D ′ + ABCD + AB′ C ′ D + AB′ CD ′ b) X = ΠM (0) Y = ΠM (1, 2, 3, 4, 5, 6, 8, 9, 10, 12) Z = ΠM (1, 2, 4, 7, 8, 11, 13, 14) X = (A + B + C + D) Y = (A′ + C + D)(B + C + D ′ )(B + C ′ + D)(A + B + D)(A + B′ + C) (A + B + D ′ ) Z = (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)
Capítulo 4: Funciones Booleanas
26
4.12 Sea la función f (w,x,y,z) = m(0, 8, 13, 14, 15). Un compañero suyo insiste 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 forma 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: ¯ ¯ + wx g ¯ a) g (y, z) = y¯z y h(g,w,x) = xg ¯ + wxg b) g (y, z) = y + z y h(g,w,x) = x¯g 4.13 Sea la expresión de 4 variables x1 ⊕ x3 + x1 x3 x4 + x¯1 x¯3 x4 + x1 x¯2 x3 x4 . Sean además los siguientes costos: realizar la suma exclusiva de 2 expresiones Booleanas cuesta 90 pesos realizar el producto de 2 expresiones Booleanas cuesta 30 pesos realizar la suma de 2 expresiones Booleanas cuesta 10 pesos obtener el complemento de una expresión Booleana cuesta 5 pesos Determine algebraicamente una expresión equivalente que minimice el costo de su realización.
Solución Una realización mínima en forma de suma de productos es: x¯1 x3 +x1 x ¯3 + x4 . Implementar esta expresión tiene un costo de 90 pesos. Alternativax1 + mente, implementar el producto de sumas equivalente (x1 + x3 + x4 )( ¯ x¯3 + x4 ) tiene un costo de 80 pesos. Mejor aún, la expresión equivalente x1 + x¯3 ) + x4 tiene un costo de 70 pesos. Asimismo, la expresión (x1 + x3 )( ¯ x1 + x¯3 )′ )′ + x 4 ) tiene un costo de sólo 65 pesos, al elimi((x1 + x3 )′ + ( ¯ nar completamente las operaciones producto. Finalmente, la expresión (x1 + x¯3 )′ + ( ¯ x1 + x3 )′ + x4 ) tiene un costo de sólo 60 pesos. 4.14 Un circuito combinacional tiene cuatro entradas A,B,C,D y cuatro salidas, W , X , Y , Z. La salida representa un número en código Reflejado Exceso-3 cuyo valor es igual al número de bits iguales a 0 presentes en la entrada. Por ejemplo, si ABCD = 1001, entonces la salida debe ser WXYZ = 0111. a) Muestre las 4 entradas y las 4 salidas en una tabla de verdad. b) Escriba expresiones canónicas abreviadas como sumas de minitérminos para las salidas X, Y y Z. c) Halle expresiones mínimas como producto de sumas para X , Y y Z.
Capítulo 4: Funciones Booleanas
27
Solución a) ABCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
bits en 0 WXYZ 4 3 3 2 3 2 2 1 3 2 2 1 2 1 1 0
0100 0101 0101 0111 0101 0111 0111 0110 0101 0111 0111 0110 0111 0110 0110 0010
b) W (A,B,C,D) = 0
X(A,B,C,D) = m(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14) Y (A,B,C,D) = m(3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15) Z(A,B,C,D) =
m(1, 2, 3, 4, 5, 6, 8, 9, 10, 12)
c) W (A,B,C,D) = 0 X(A,B,C,D) = (A′ + B′ + C ′ + D ′ ) Y (A,B,C,D) = (B + C + D)(A + C + D)(A + B + C)(A + B + D) Z(A,B,C,D) = (A + B + C + D)(A′ + B′ + D ′ )(A′ + B′ + C ′ ) (A′ + C ′ + D ′ )(B′ + C ′ + D ′ )
Capítulo
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) 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¯ + ¯rs d) f 4 (x,y,z) = M 0 M 5
Solución ¯ a) f 1 (a,b,c) = ¯ac + bc¯ + abc b) f 2 (d,e,f ) = d ′ e′ + e′ f ′ + d ′ f ′ c) f 3 (r,s,t) = ¯r + ¯t d) f 4 (x,y,z) = y + xz ′ + x′ z 5.2 Represente la funció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.
Solución a) F(A,B,C,D) = A′ B′ + CD ′ + ABC b) F(A,B,C,D) = A′ BD + AB′ D + BD + AD ¯ B¯ C) ¯ + CD , ¯ + A( 5.3 Dada la función F(A,B,C,D) = AB¯ D a) Exprésela como una sumatoria de minitérminos. b) Encuentre una expresión mínima como producto de sumas utilizando un mapa de Karnaugh. 28
5
Capítulo 5: Minimización de funciones mediante mapas de Karnaugh
29
Solución a) F(A,B,C,D) =
M (2, 3, 4, 5, 6, 7, 8, 10, 15)
¯ + B¯ + D)(A ¯ + C + D) ¯ b) F(A,B,C,D) = (A + B + C)(A
5.4 Para las siguientes funciones Booleanas 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 función R = P ⊕ Q en forma de producto de sumas.
Solución ¯ + B¯ + D)(A + B¯ + C + D) ¯ A ¯ R(A,B,C,D) = (B + C¯ + D)( 5.5 Un circuito combinacional recibe como argumento un número en código binario BCD2421, y genera una salida z que toma valor 1 si las entradas x3 x2 x1 x0 contienen un número válido. 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 SoP 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 x3′ x2′ . Implicantes primarios no esenciales: x3′ x1′ x0′ , x2 x1′ x0′ , x2′ x1 x0 , x3 x1 x0 c) Una ecuación mínima para la salida es z = x 3 x2 + x3′ x2′ + x3′ x1′ x0′ + x3 x1 x0 5.6 Use mapas de Karnaugh para simplificar la siguiente función, donde d() indica los minitérminos 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)
Capítulo 5: Minimización de funciones mediante mapas de Karnaugh
30
Solución F(A,B,C,D,E) = ABC + CDE + B′ C ′ D ′ + A′ BE + BCD 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)
Solución f (a,b,c,d) = (b′ + d ′ )(a′ + b′ + c′ ) 5.8 La siguiente figura presenta un mapa de Karnaugh de 5 variables. Encuentre una expresión mínima de suma de productos para esta función. cd e 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
1
0
Solución f (a,b,c,d,e) = a′ e′ + abe + cd ′ e′ + abcd 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.
Capítulo 5: Minimización de funciones mediante mapas de Karnaugh
x3 x2
31
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 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ó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é S y O/ ¯ E para cuadrante se encuentra el eje, usando dos bits llamados N / ¯ indicar Norte/Sur y Oeste/Este, respectivamente.
Capítulo 5: Minimización de funciones mediante mapas de Karnaugh
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
32
Solución N / ¯ S = x3′ O/ ¯ E = x1′ + x2 x0 5.11 Utilice el método de minimización de Karnaugh para obtener una expresión simplificada para la función 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ón ¯ ¯ + BC a) suma de productos: F(A,B,C,D) = A¯ B¯ + A¯ D ¯ + B)(A ¯ + C)( ¯ B¯ + D) ¯ b) producto de sumas: F(A,B,C,D) = ( A
Capítulo 5: Minimización de funciones mediante mapas de Karnaugh
33
5.12 Un circuito posee dos entradas, X e Y , donde cada una de ellas corresponde a un número binario de 2 bits, de la forma X = x 1 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 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) Los implicantes primarios esenciales son: x 1′ y1′ y x 1 y1 , y los implicantes primarios no esenciales son: x1 x0′ y0 , x 1′ x0 y0′ , x0′ y1′ y0 , x0 y1 y0′ c) La ecuación mínima de suma de productos pedida es z = x1′ y1′ + x1 y1 + x1 x0′ y0 + x0 y1 y0′ 5.13 La siguiente figura presenta un mapa de Karnaugh de 5 variables. Encuentre una expresión mínima de producto de sumas para la función F representada en este mapa. cd e 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
Capítulo 5: Minimización de funciones mediante mapas de Karnaugh
34
Solución Una posible solución 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) 5.14 Dada la función Booleana F(A,B,C,D) =
m(0, 1, 3, 5, 6, 8, 14)+ d(2, 4, 13),
a) Represente esta función en un mapa de Karnaugh b) Obtenga una expresión mínima como suma de productos c) Indique qué valores asignó a los minitérminos redundantes
Solución a) Su representación en un mapa de Karnaugh es: AB CD 00 01 11 10 00
1
X
0
1
01
1
1
X
0
11
1
0
0
0
10
X
1
1
0
b) Su expresión mínima como suma de productos es F(A,B,C,D) = A′ B′ + A′ C ′ + BCD ′ + B′ C ′ D ′ . c) Las agrupaciones realizadas asignaron un valor 1 a los minitérminos 2 y 4, y un valor 0 al minitérmino 13. 5.15 Encuentre una expresión mínima en forma de suma de productos para la función f usando el mapa de Karnaugh. Indique los implicantes primarios esenciales, si los hay: f (a,b,c,d,e) =
m(1, 3, 5, 8, 9, 15, 16, 20, 21, 23, 27, 28, 31)
Solución Los implicantes primarios esenciales son: a′ b′ c ′ e, abde, acd ′ e′ , ab ′ d ′ e′ , bcde, a ′ bc ′ d ′ . La suma de productos mínima puede escribirse de tres formas, que requieren el mismo número de términos productos y de literales. f (a,b,c,d,e) = a′ b′ c′ e + abde + acd ′ e′ + ab ′ d ′ e′ + bcde + a′ bc ′ d ′ + ab ′ ce + a′ b′ d ′ e = a′ b′ c′ e + abde + acd ′ e′ + ab ′ d ′ e′ + bcde + a′ bc ′ d ′ + ab ′ ce + b′ cd ′ e = a′ b′ c′ e + abde + acd ′ e′ + ab ′ d ′ e′ + bcde + a′ bc ′ d ′ + acde + b′ cd ′ e
Capítulo 5: Minimización de funciones mediante mapas de Karnaugh
35
5.16 Sea la función F(A,B,C,D,E) =
m(0, 1, 2, 3, 4, 5, 12, 13, 16, 21, 23, 25, 29)+
d(7, 17, 18, 19, 20, 28)
Utilice mapas de Karnaugh para minimizar esta función como a) suma de productos, y b) productos de sumas
Solución El mapa de Karnaugh para esta función es BC
BC
DE 00 01 11 10 DE 00 01 11 10 00
1
1
1
0
00
1
X
X
0
01
1
1
1
0
01
X
1
1
1
11
1
X 0
0
11
X
1
0
0
10
1
0
0
10
X
0
0
0
0 A′
A
a) La forma mínima de suma de productos es B′ C ′ + CD ′ + AD ′ E + B′ E b) La forma mínima como producto de sumas es ( A + B ′ + C)(B′ + D ′ )(C ′ + D ′ + E)(B′ + C + E)
Capítulo
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 para la función 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) utilizando el método de Quine-McCluskey.
Solución Una expresión mínima en forma de suma de productos es F(a,b,c,d,e) = a′ e′ + a′ bc ′ + b′ c′ e′ + bcd ′ e + bcde′ + ab ′ c ′ d + a′ b′ cd. 6.2 Halle todos los implicantes primos de la función F(x,y,z,t) dada por m(7, 12, 14, 15)+ d(1, 3, 5, 8, 10, 11, 13) utilizando el método de QuineMcCluskey, y además encuentre todas las soluciones mínimas utilizando el método de Petrick.
Solución Los implicantes primos son x ′ t, xt ′ , zt , yt, xz e xy . En este caso, no hay implicantes primos esenciales. El método de Petrick entrega 6 soluciones, de las cuales y(x + t) es mínima en términos de las compuertas básicas a utilizar. 6.3 Utilice el método de Quine-McCluskey para determinar los implicantes primos e implicantes primos esenciales para la función 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.
Solución Los implicantes primos son C ′ D, BC ′ , AC ′ , BD , AD , AB. En este caso, no hay implicantes primos esenciales. El método de Petrick entrega 7 soluciones, de las cuales A(C ′ + D), A(B + C ′ ) y A(B + D) son mínimas en términos de las compuertas básicas a utilizar. 36
6
Capítulo 6: Los métodos de Q uine-McCluskey y Petrick
37
6.4 Minimice la función F(a,b,c,d) = m(0, 2, 6, 8, 9, 10, 12)+ d(5, 7, 14) utilizando el método de Quine-McCluskey, identificando los implicantes primarios e implicantes primarios esenciales.
Solución Los implicantes primos son b′ d ′ , cd ′ , ad ′ , a′ bc, ab′ c′ y a′ bd. Los implicantes primos esenciales son ab ′ c′ , b′ d ′ y ad ′ . La forma mínima es, entonces, F(a,b,c,d) = ab′ c′ + b′ d ′ + ad ′ + cd ′ . 6.5 Minimice la función f (A,B,C,D) = ΠM (0, 1, 4, 5, 6, 8, 10, 13, 15) · d(2, 7, 9) como suma de productos usando el método de Quine-McCluskey. Luego, utilice el método de Petrick para escoger una solución mínima.
Solución Los implicantes primos son ABD ′ , AB′ D, B′ CD , A′ CD y A′ B′ C. El implicante primo ABD ′ es esencial. El método de Petrick encuentra 3 posibles soluciones, de las cuales la solución mínima es f (A,B,C,D) = ABD ′ + B′ CD.
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 Y T y X ′ Z ′ T . Los implicantes primarios no esenciales son X Y ′ T ′ , X Y ′ Z y X ZT . Mediante el método de Petrick, se puede determinar que la solución mínima es Y T + X ′ Z ′ T + XY ′ Z.
6.7 Sea la función F(x,y,z,t) = m(0, 5, 7, 8, 9, 14, 15)+ d(1, 6, 11). Identifique los implicantes primos esenciales y no esenciales usando el método de Quine-McCluskey y encuentre todas las expresiónes de suma de productos mínimas utilizando este método.
Solución Los implicantes primos esenciales son yz y y ′ z′ . Los implicantes primarios no esenciales son x ′ z′ t, x ′ yt , xy ′ t y xzt . Existen dos formas mínimas de suma de productos: y z + y ′ z′ + x′ z′ t y yz + y ′ z′ + x′ yt . Ambas formas son la suma de 3 productos, y usan 7 literales. 6.8 Se desea construir un circuito que calcule un bit de paridad par para el código BCD 8421. Este circuito tiene, entonces, 4 entradas y 1 salida. Diseñe este circuito como una red AND-OR de dos niveles mínima utilizando el método de Quine-McCluskey. No olvide considerar los términos redundantes. Indique todos los implicantes primarios esenciales y no-esenciales, e escriba la función mínima.
Capítulo 6: Los métodos de Q uine-McCluskey y Petrick
38
Solución La función paridad para el código BCD8421 corresponde a los minitérminos m(1, 2, 4, 7, 8) + d(10, 11, 12, 13, 14, 15). La aplicación del método de Quine-McCluskey muestra que existen 7 implicantes primarios: A′ B′ C ′ D, BCD, AD ′ , B ′ CD ′ , BC ′ D ′ , AC, AB de los cuales los 5 primeros son implicantes primarios esenciales. Una función mínima AND-OR de dos niveles es A ′ B′ C ′ D + BCD + AD ′ + B′ CD ′ + BC ′ D ′ .
6.9 Dada la función F(A,B,C,D) = m(0, 2, 4, 6, 8, 10, 12)+ lice el método de Quine-McCluskey para determinar
d(1, 3, 5, 7), uti-
a) los implicantes primos, b) los implicantes primos esenciales, c) y la función mínima resultante.
Solución Aplicando el método de Quine-McCluskey al problema, se obtiene que a) los implicantes primos son A ′ , B′ D ′ , C ′ D ′ , b) los implicantes primos esenciales son A ′ , B′ D ′ , C ′ D ′ , y que c) la función mínima resultante es A ′ + B′ D ′ + C ′ D ′ .
Capítulo
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 algebraicamente 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) = x ′ y ′ z′ + x′ y ′ z + xy ′ z + xy ′ z′ + xyz, indicando el costo.
Solución Toda función puede implementarse en forma de suma de productos ó producto de sumas. El costo de estas dos formas puede ser equivalente, o bien, una de las formas dará un circuito de costo mínimo. Además, ambas formas puede implementarse directa ó inversamente. Para toda función, dada una forma de costo mínimo, siempre es posible construir una forma inversa que también tenga costo mínimo cambiando todas las compuertas AND por OR, y OR por AND, y negando la salida. En general, esto se cumple sólo si las compuertas NOT son de costo cero. Para la función f (x,y,z) = x′ y ′ z′ +x′ y ′ z + xy ′ z + xy ′ z′ + xyz dada, una funcion directa de costo mínimo es f (x,y,z) = y ′ +xz, cuyocostoes un OR de dos entradas y un AND de dos entradas. La función inversa equivalente es f (x,y,z) = y(x′ + z′ ), cuyo costo también es un OR de dos entradas y un AND de dos entradas.
39
7
Capítulo 7: Diseño de circuitos combinacionales
40
7.2 Diseñe un circuito comparador de 2 bits utilizando sólo compuertas NAND. Las entradas al circuito son X = x 1 x0 y Y = y 1 y0 , y las salidas son Z = z1 z0 , donde
0 Z = 1 2
if X = Y if X > Y if X < Y
Solución La figura 7.1 muestra una posible solución construida usando sólo compuertas NAND.
x
y’
1
1
x y’ y’ x x y’ 0 1 0
1 0 0
x’ x’ y
1 0 0
z0
x’ y y
0 1 0
y
1
x’
1
z1
Figura 7.1: Comparador de 2 bits construido con compuertas NAND
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 ¯ y. ¯ entradas x ni
Solución La figura 7.2 muestra una posible solución.
x F(x,y) y Figura 7.2: Compuerta XOR construida con compuertas NAND de 2 entradas
Capítulo 7: Diseño de circuitos combinacionales
41
7.4 Considere la siguiente función lógica F(A,B,C,D) =
m(0, 4, 5, 10, 11, 13, 14, 15)
a) Halle dos circuitos mínimos diferentes que implementen F. Identifique en cada circuito dos potenciales peligros. b) Diseñe un circuito AND-OR para que F no presente ningún peligro potencial.
Solución El mapa de Karnaugh de la función pedida es AB CD 00 01 11 10 00
1
1
0
0
01
0
1
1
0
11
0
0
1
1
10
0
0
1
1
a) Los dos circuitos mínimos se obtienen implementando las siguientes funciones. La primera puede ser implementada usando una compuerta OR de 3 entradas, 2 compuertas AND de 3 entradas, y una compuerta AND de 2 entradas. La segunda puede ser implementada usando una compuerta AND de 3 entradas, 2 compuertas OR de 3 entradas, y una compuerta OR de 2 entradas. Entonces, si suponemos que el costo de una compuerta es proporcional al número de entradas, ambas funciones tienen un costo similar. F(A,B,C,D) = AC + BC ′ D + A′ C ′ D ′ F(A,B,C,D) = (A + C ′ )(A′ + C + D)(B + C + D ′ ) b) La función F original puede ser implementada por el circuito ANDOR AC + BC ′ D + A′ C ′ D ′ + A′ BC ′ + ABD, el cual contiene 2 términos redundantes y así no presenta peligros potenciales. 7.5 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. Suponga que dispone de las entradas en sus versiones con y sin complemento.
Capítulo 7: Diseño de circuitos combinacionales
42
Solución La función anterior puede reescribirse como la red OR-AND Z = E(A + B(D + CF )), la que a su vez puede implementarse utilizando sólo 5 compuertas NOR de dos entradas, como se muestra en la figura 7.3. D
A
C’ F’
B’
E’
Z
Figura 7.3: Implementación usando compuertas NOR
7.6 Dada la siguiente función lógica F(A,B,C,D) =
m(2, 4, 5, 7, 10, 11, 13, 14, 15)
a) Diseñe un circuito usando sólo compuertas NAND de 2 entradas. b) Diseñe un circuito utilizando sólo compuertas NOR de 2 entradas. Si tuviese que escoger, qué diseño implementaría?
Solución El mapa de Karnaugh de la función es AB CD 00 01 11 10 00
0
1
0
0
01
0
1
1
0
11
0
1
1
1
10
1
0
1
1
a) La función dada puede escribirse como la red AND-OR F(A,B,C,D) = B(D+A′ C ′ )+C(A+B′ D ′ ), que puede implementarse usando 7 NAND de 2 entradas, como se muestra en la figura 7.4. b) La función dada puede escribirse como la red OR-AND F(A,B,C,D) = (A + (B + D ′ )(BC + D))(C + B(A′ + D), que a su vez puede implementarse utilizando 10 compuertas NOR de 2 entradas. Sin embargo, es más barato implementar el complemento de la función dada con compuertas NOR, y luego complementarla salida, como se muestra en la figura 7.5. Esto requiere sólo 8 compuertas NOR de 2 entradas.
Capítulo 7: Diseño de circuitos combinacionales
43
A’ B’ D’
C
A’
B
F C’ D’
Figura 7.4: Ejercicio 7.6a: implementación con NANDs
A’ B’ D’
C
A’
B
F
C’ D’
Figura 7.5: Ejercicio 7.6b: implementación con NORs
7.7 Se desea implementar la función F(X,Y,Z,T ) = m(0, 2, 3, 6, 12, 13, 15). Para ello, Ud. dispone de compuertas NOR y NAND de 2 y 3 entradas. Las compuertas de 2 entradas vienen en circuitos integrados conteniendo 4 compuertas por chip, a un costo de $250 por chip. En cambio, las compuertas de 3 entradas vienen en circuitos integrados conteniendo 3 compuertas por chip, a un costo de $400 por chip. Diseñe y dibuje una implementación de costo mínimo para esta función. Suponga que tiene disponibles las entradas con y sin complemento.
Solución La función solicitada puede implementarse usando 3 compuertas NOR de 3 entradas y 3 compuertas NOR de 2 entradas como se muestra en la figura 7.6. Esta implementación requiere 1 chip NOR de 3 entradas y un chip NOR de 2 entradas, a un costo de $650. 7.8 Dada la función F (X,Y,Z) = X ′ Y ′ Z ′ + XY Z ′ , implemente esta función como un circuito de dos niveles de tipo: a) AND-NOR b) NAND-AND c) OR-NAND d) NOR-OR ¯ Sugerencia: utilice F cuando sea necesario.
Capítulo 7: Diseño de circuitos combinacionales
44
X Y’ Z’
X’
F
T Y’ X Z T’
Figura 7.6: Ejercicio 7.7: implementación con NORs
Solución a) AND-NOR: La función F puede ser implementada como F(X,Y,Z) = (Z N OR XY ′ NOR X ′ Y ) b) NAND-AND: La función F puede ser implementada como F(X,Y,Z) = Z ′ (X NAND Y ′ )(X ′ NAND Y ) c) OR-NAND: La función F puede ser implementada como F(X,Y,Z) = (X + Y + Z) NAND (X ′ + Y ′ + Z) d) NOR-OR: La función F puede ser implementada como F(X,Y,Z) = (X NOR Y N OR Z) + (X ′ NOR Y ′ NOR Z)
Circuitos con múltiples salidas 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.
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)
Solución Los mapas de Karnaugh de las funciones f 1 , f 2 y f 3 se muestran a continuación.
Capítulo 7: Diseño de circuitos combinacionales
ab
45
ab
cd 00 01 11 10
ab
cd 00 01 11 10
00
0
X
1
X 00
1
01
0
0
0
0
01
11
0
0
1
1
10
0
0
X 1
1
cd 00 01 11 10
X 1
00
0
1
X
0
X 0
0
1
01
0
X
1
X
11
0
0
0
0
11
0
0
1
1
10
0
0
0
X
10
0
0
1
0
f 1
f 2
f 3
Estas funciones pueden realizarse en forma independiente como las redes OR-AND f 1 (a,b,c,d) = a(c + d ′ ) f 2 (a,b,c,d) = c′ (b′ + d ′ ) f 3 (a,b,c,d) = (b + d)(a + c′ )(a + b) La implementación de estas funciones como una red NOR-NOR se muestra en la figura 7.7 y requiere de 7 compuertas NOR de 2 entradas y 1 compuerta NOR de 3 entradas, y 12 literales. En este caso, no es posible diseñar un circuito con múltiples salidas que reduzca el número y/o complejidad de las compuertas NOR mediante la reutilización de términos compartidos. a’
f 1
c
b
f 2
d
c
b’
a
d’
d’
c’
f 3
a b
Figura 7.7: Ver ejercicio 7.9
7.10 Diseñe un circuito de compuertas lógicas 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 número de compuertas y de literales con un diseño que considere las funciones de forma independiente.
Capítulo 7: Diseño de circuitos combinacionales
46
Solución Los mapas de Karnaugh de las funciones f 1 y f 2 se muestran a continuación. ab
ab
cd 00 01 11 10
cd 00 01 11 10
00
0
1
1
1
00
0
1
1
1
01
1
1
0
0
01
0
0
0
0
11
0
0
0
0
11
0
0
1
1
10
1
1
1
1
10
1
1
1
1
f 1
f 2
Las expresiones mínimas como producto de sumas para estas funciones son: f 1 = (c′ + d ′ )(a′ + d ′ )(a + b + c + d) f 2 = (a + d ′ )(c + d ′ )(a + b + c) Esta implementación requiere como mínimo 1 compuerta NOR de 4 entradas, 3 compuertas NOR de 3 entradas y 4 compuertas NOR de 2 entradas, y utiliza 15 literales. Alternativamente, las funciones pueden escribirse como las redes ORAND siguientes, donde los tres primeros términos de cada función son compartidos. Esta implementación requiere como mínimo 3 compuertas NOR de 4 entradas, y 4 compuertas NOR de 3 entradas, y utiliza 16 literales. f 1 = (a + b + c + d)(a + c′ + d ′ )(a′ + c + d ′ )(a′ + c′ + d ′ ) f 2 = (a + b + c + d)(a + c′ + d ′ )(a′ + c + d ′ )(a + c + d ′ ) Ambas implementaciones se muestran en la figura 7.8. 7.11 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 que la realización de 3 circuitos independientes.
m(0, 1, 7, 8, 9) Z2 (a,b,c,d) = m(0, 2, 6, 7, 8, 9, 10, 13, 15) Z1 (a,b,c,d) =
Z3 (a,b,c,d) =
m(0, 2, 6, 7, 8, 10)
Capítulo 7: Diseño de circuitos combinacionales
47
c’ a’ c’ d’
d’ a’
f 1
d’
a b c d
a b c d
f 1
a c’ d’
a a’ c d’
d’ c
f 2
d’
f 2
a c d’
a b c
Figura 7.8: Implementaciones alternativas para el ejercicio 7.10
Solución Los mapas de Karnaugh de las funciones Z 1 , Z 2 y Z 3 son: ab
ab
ab
cd 00 01 11 10
cd 00 01 11 10
cd 00 01 11 10
00
1
0
0
1
00
1
0
0
1
00
1
0
0
1
01
1
0
0
1
01
0
0
1
1
01
0
0
0
0
11
0
1
0
0
11
0
1
1
0
11
0
1
0
0
10
0
0
0
0
10
1
1
0
1
10
1
1
0
1
Z1
Z2
Z3
Estas funciones pueden realizarse en forma independiente en forma de suma de productos como sigue: Z1 (a,b,c,d) = b′ c′ + a′ bcd Z2 (a,b,c,d) = b′ d ′ + a′ bc + abd + ab ′ c′ Z3 (a,b,c,d) = b′ d ′ + a′ bc La implementación independiente de estas funciones como una red NANDNAND requiere de 2 compuertas NAND de 4 entradas, 4 compuertas
Capítulo 7: Diseño de circuitos combinacionales
48
NAND de 3 entradas, 5 compuertas NAND de 2 entradas, y 22 literales, y se muestra en la figura 7.9. b’ c’
b’
z1
a’ b c d
a’ b c a b d
b’ d’
d’
z3
a’ b c
z2
a b’ c’
Figura 7.9: Ver ejercicio 7.11
En caso de realizar un circuito de múltiples salidas, se puede observar que la función Z3 está contenida en la función Z2 , por lo que se reduce el circuito en 2 compuertas, a un circuito NAND-NAND con 2 compuertas NAND de 4 entradas, 3 compuertas NAND de 3 entradas, 3 compuertas NAND de 2 entradas, y 17 literales, lo que se muestra en la figura 7.10. b’ c’ a’ b c d
b’
z1
z3
d’ a’ b c a b d a b’ c’
Figura 7.10: Ver ejercicio 7.11
z2
Capítulo 7: Diseño de circuitos combinacionales
49
7.12 Realice las siguientes 3 funciones como circuitos independientes de 2 niveles AND-OR. Luego, realice un nuevo diseño, pero esta vez minimizando el número de compuertas a utilizar. Compare sus circuitos.
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)
Solución Los mapas de Karnaugh de las funciones F, G y H se muestran a continuación. xy
xy
xy
zu 00 01 11 10
zu 00 01 11 10
zu 00 01 11 10
00
1
1
1
1
00
0
0
1
1
00
0
1
1
1
01
1
1
0
1
01
1
0
0
1
01
0
1
0
0
11
1
0
0
1
11
0
1
0
0
11
1
1
0
1
10
1
0
0
0
10
1
1
1
1
10
0
1
1
1
F
G
H
Estas funciones pueden realizarse en forma independiente como sigue: F(x,y,z,u) = x′ z′ + x′ y ′ + z′ u ′ + y ′ u G(x,y,z,u) = zu ′ + x′ yz + y ′ z′ u + xu ′ H (x,y,z,u) = x′ y + xu ′ + y ′ zu Esta implementación, que se muestra en la figura 7.11, requiere 2 compuertas OR de 4 entradas, 1 compuerta OR de 3 entradas, 8 compuertas AND de 2 entradas, 3 compuertas AND de 3 entradas, y 25 literales. Alternativamente, las funciones F , G y H pueden implementarse utilizando las siguientes ecuaciones: F(x,y,z,u) = y ′ zu + y ′ z′ u + x′ y ′ + z′ u ′ + x′ yz ′ G(x,y,z,u) = xu ′ + y ′ z′ u + zu ′ + x′ yz H (x,y,z,u) = xu ′ + y ′ zu + x′ yz ′ + x′ yz Esta implementación, que se muestra en la figura 7.12, requiere 2 compuertas OR de 4 entradas, 1 compuerta OR de 5 entradas, 4 compuertas AND de 2 entradas, 4 compuertas AND de 3 entradas, y 20 literales.
Capítulo 7: Diseño de circuitos combinacionales x’
z
x’
z’
u’
y
x’
F
y’ z’
x
x
G
u’
y’
H
u’ y’ z u
x’ y z
u’
50
y’ z’ u
u
Figura 7.11: Solución utilizando compuertas AND-OR
y’ z u
y’ z’ u
F
x’
y’ z’
u’ z
u’ x
u’ x’ y z’ x’ y z
G
H
Figura 7.12: Solución utilizando compuertas AND-OR compartidas
7.13 Sean las siguientes funciones Booleanas de 4 variables:
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 1 (a,b,c,d) =
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 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.
Capítulo 7: Diseño de circuitos combinacionales
51
c) Suponga ahora que sólo tiene disponibles las entradas sin complementar 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 implementación más barata posible para estas funciones.
Solución Los mapas de Karnaugh de las funciones f 1 , f 2 y f 3 se muestran a continuación. ab
ab
ab
cd 00 01 11 10
cd 00 01 11 10
cd 00 01 11 10
00
1
0
0
0
00
1
0
1
1
00
1
1
1
0
01
0
0
0
0
01
0
0
1
1
01
0
1
1
0
11
0
0
1
1
11
1
1
1
0
11
1
1
1
1
10
1
1
1
1
10
0
1
1
0
10
0
0
1
1
f 1
f 2
f 3
a) La figura 7.13 muestra una posible solución que utiliza 26 literales y 7 compuertas AND de 2 entradas, 4 compuertas AN D de 3 entradas, 2 compuertas OR de 4 entradas y 1 compuerta OR de 3 entradas. c
a
b
d’
c’
c’
b
c
a c a’ b’ d’
f 1
c
f 2
d
a’ c d
a
b’ c’ d’
a’ c’ d’
c
Figura 7.13: Solución al ejercicio 7.13 usando compuertas AND y OR
f 3
Capítulo 7: Diseño de circuitos combinacionales
52
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) La figura 7.14 muestra una posible solución que utiliza 17 literales y 3 compuertas NAND de 4 entradas, 2 compuertas NAND de 3 entradas, y 5 compuertas NAND de 2 entradas. c
d’
a
c
f 1
a’ b’ c’ d’
a
c’
b
c
f2
a’ c d
b
c’
f 3
Figura 7.14: Solución al ejercicio 7.13 usando compuertas NAND
c) La figura 7.15 muestra una posible solución que usa sólo 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. 7.14 Sean las siguientes funciones de 6 variables: G =AC ′ E + AC ′ F + AD ′ E + AD ′ F + BCDE ′ F ′ H =A′ BCD + ACE + ACF + BCE + BCF a) Diseñe un circuito combinacional de dos niveles para estas 2 funciones, sin considerar términos compartidos. Indique el número y tipo de todas las compuertas utilizadas. Suponga que Ud. no dispone 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 compuertas NAND de 2 y 3 entradas. Suponga que Ud. no dispone del complemento de las variables de entrada.
Solución a) La figura 7.16 muestra una posible solución que usa 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.
Capítulo 7: Diseño de circuitos combinacionales
53
f 1
c
a
b
f 2
d
f 3
Figura 7.15: Solución al ejercicio 7.13 usando compuertas NAND de 2 entradas
A C’E
A C’F
A D’E
G
A D’F
B C D E’F’
A C E
A C F
B C E
B C F A’B C D
H
Figura 7.16: Solución al ejercicio 7.14 usando compuertas AND y OR
Capítulo 7: Diseño de circuitos combinacionales
54
b) Si se definen X = E + F y Y = CD , las ecuaciones anteriores pueden escribirse como G =AXY ′ + BX ′ Y H =A′ BY + ACX + BCX Entonces, estas funciones pueden implementarse usando sólo 8 compuertas NAND de 2 entradas y 6 compuertas NAND de 3 entradas, es decir, 14 compuertas NAND, como se muestra en la figura 7.17. E A X
F
G B
A B C Y A C D
H
B C
Figura 7.17: Solución al ejercicio 7.14 usando compuertas NAND de 2 y 3 entradas
7.15 Sean las siguientes funciones: f 1 (a,b,c,d) = ΠM (0, 2, 4, 5, 8, 10, 12, 13, 14) f 2 (a,b,c,d) = f 3 (a,b,c,d) =
m(1, 3, 6, 11, 12, 14, 15) m(3, 4, 7, 9, 11, 12)
a) Obtenga una implementación mínima de estas funciones utilizando compuertas NAND que considere posibles términos comunes para así minimizar el número total de compuertas. b) Ahora suponga que Ud. sólo dispone de circuitos integrados TTL 74LS10, donde cada uno de estos circuitos cuesta $250 y contiene 3 compuertas NAND de 3 entradas cada una. Realice ahora un diseño que minimice el costo total de la implementación.
Capítulo 7: Diseño de circuitos combinacionales
55
Solución a) Una posible solución es una red NAND-NAND que implemente las funciones f 1 (a,b,c,d) = a′ b′ d + ab ′ d + acd + a′ cd + a′ bcd ′ f 2 (a,b,c,d) = a′ b′ d + acd + abd ′ + a′ bcd ′ f 3 (a,b,c,d) = ab ′ d + a′ cd + bc ′ d ′ que requiere 7 NAND de 3 entradas, 2 NAND de 4 entradas, y 1 NAND de 5 entradas. b) Una posible solución es una red NAND-NAND de tres niveles que implemente las funciones f 1 (a,b,c,d) = cd + b′ d + a′ bc f 2 (a,b,c,d) = a′ b′ d + acd + bd ′ (a + c) f 3 (a,b,c,d) = ab ′ d + a′ cd + bc ′ d ′ que requiere 13 NAND de 3 entradas, lo que a su vez requiere 5 integrados 74LS10, a un costo total de $1250.
Capítulo
Bloques estandarizados Multiplexores y demultiplexores 8.1 Implemente un multiplexor de 8 entradas utilizando un decodificador de 3 entradas y compuertas NAND.
Solución La figura 8.1 muestra una posible solución. CB A 0 1 2 1
E
DECOD 3−a−8
0 1 2 3 4 5 6 7
I 7 I 6 I 5 Z
I 4 I 3 I 2 I 1 I 0
Figura 8.1: Multiplexor 8-a-1 construido con un decodificador de 3 entradas y compuertas NAND.
56
8
Capítulo 8: Bloques estandarizados
57
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.
Solución La figura 8.2 muestra una posible solución.
c d c d’
d
c
0 1 Z 2 3 A B
f(a, b, c, d)
a b
Figura 8.2: Solución al ejercicio 8.2 usando compuertas NOR
8.3 Implemente la función f (a,b,c,d) = m(1, 3, 4, 6, 7, 9, 10, 11, 14) utilizando sólo un multiplexor de 4 entradas y compuertas NAND. Utilice las señales a y b para controlar el multiplexor.
Solución La figura 8.3 muestra una posible solución.
c’ d’ c d’
d d’
0 1 z 2 3a b
f(a, b, c, d)
a b
Figura 8.3: Solución al ejercicio 8.3 usando compuertas NAND
8.4 Demuestre cómo conectar dos multiplexores 2-a-1 para formar un multiplexor 3-a-1, sin utilizar ninguna otra compuerta adicional. La selección de entradas es como sigue: Si AB = 00, se selecciona la entrada I 0 Si AB = 01, se selecciona la entrada I 1 Si AB = 1 −, se selecciona la entrada I 2
Solución La figura 8.4 muestra una posible solución.
Capítulo 8: Bloques estandarizados
I 0 I 1
58
0 z 1s
0 I 2
z 1 s
Z
B A
Figura 8.4: Diseño de multiplexor 3-a-1 usando multiplexores 2-a-1
8.5 Demuestre cómo conectar dos multiplexores 4-a-1 y un multiplexor 2a-1 para formar un multiplexor 8-a-1 con tres entradas de control.
Solución La figura 8.5 muestra una posible solución.
B C
A
I 0 I 1 I 2 I 3
I 4 I 5 I6 I 7
0 1 2 3 a b z
0 1 2 3 a b z
0 1 a z
Z Figura 8.5: Diseño de multiplexor 8-a-1 usando multiplexores 4-a-1
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.
Solución La figura 8.6 muestra una posible solución. 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.
Capítulo 8: Bloques estandarizados
C
A B
59
I0 I1
I2 I3
I4 I5
I6 I 7
0 1 a z
0 1 a z
0 1 a z
0 1 a z
0 1 2 3 a b z
Z
Figura 8.6: Diseño de multiplexor 8-a-1 usando multiplexores 2-a-1
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 rotador. Es decir, si sd r = 100, la salida corresponde a la entrada desplazada 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 salida corresponde a la entrada desplazada a la izquierda, y el nuevo bit z0 es 0. En cambio, si sd r = 111, el nuevo bit z 0 corresponde al bit x3 . Diseñe este circuito usando sólo multiplexores de 4 entradas. Utilice tantos como encuentre necesario.
Solución La figura 8.7 muestra una posible solución. 8.8 En este ejercicio, suponga que Ud. sólo dispone de circuitos multiplexores 2-a-1, donde cada uno posee dos entradas, A y B, una salida D y una señal de control C tal que si C = 0, D = A y si C = 1, D = B. Se desea implementar un circuito multiplexor 8-a-1, que posea 8 entradas, x 7 . . . x0 , y una salida z, además de tres señales de control Y = y2 y1 y0 , tal que si Y = 110, entonces z = x 6 . Muestre el diagrama esquemático del diseño pedido usando el mínimo número de multiplexores posibles. Cuál es el número mínimo de multiplexores 2-a-1 necesarios para implementar un multiplexor n-a-1 de n entradas y 1 salida? Cuál es el número mínimo de señales de control?
Solución a) La figura 8.8 muestra una posible solución construida usando 7 multiplexores 2-a-1.
Capítulo 8: Bloques estandarizados
60
0 x0
1 r
0 x3
0 1 2 3 a b z
x
z x
x
x
0 1 2 3 a b z
0 1 2 3 a b z
0 1 2 3 a b z
0 1 2 3 a b z
z
z
z
z
3
s d
0 1 2 3 a b z
1 r 2 1
3
1
2
0
1
0
Figura 8.7: Circuito desplazador/rotador
x0
0
x1
1 s
z 0 z 1 s
x2
0
x3
1 s
z 0 z
z
1 s
x4
0
x5
1 s
z 0 z 1 s
x6
0
x7
1 s
z
y0
y1
y2
Figura 8.8: Multiplexor 8-a-1 construido con multiplexores 2-a-1
Capítulo 8: Bloques estandarizados
61
b) Se necesitan como mínimo n − 1 multiplexores. Esto es fácil de visualizar pensando en esta red de multiplexores como un torneo: cada multiplexor elimina una variable, y al final debe haber sólo 1 ganador, por lo que debe haber n − 1 variables eliminadas. El número mínimo de señales de control es ⌈log2 n⌉.
Codificadores y decodificadores 8.9 Diseñe un codificador de prioridad 4-a-2 que tenga 4 entradas, y3 y2 y1 y0 , y dos salidas, z 2 z1 , 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.
Solución La solución consiste en las salidas z2 = y3 + y2 , y z1 = y3 + y1 8.10 Diseñe un circuito que genere los bits de paridad p1 p2 p4 del código Hamming para una palabra de 4 bits b 0 b1 b2 b3 utilizando un decodificador de 4 entradas y compuertas OR.
Solución La figura 8.9 muestra una posible solución.
b0 b1 b2 b3
0 1 2 3
E
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
p1
p2
p4
1
Figura 8.9: Circuito generador de paridad utilizando un decodificador
Capítulo 8: Bloques estandarizados
62
8.11 Genere un circuito que convierta una palabra de 4 bits en código BCD8421 a código Gray utilizando codificadores y decodificadores de 4 bits.
Solución La figura 8.10 muestra una posible solución. x3 x2 x1 x0 3 2 1 0 1
E 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 1
E 3 2 1 0
g3 g2 g1 g0
Figura 8.10: Circuito conversor de BCD8421 a código Gray
8.12 Diseñe un conversor de código Reflejado Exceso 3 a código BCD8421 utilizando sólo un codificador 16-a-4 y un decodificador 4-a-16.
Solución La figura 8.11 muestra una posible solución. r 3 r 2 r 1 r 0 3 2 1 0 1
E 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 1
E 3 2 1 0
x3 x2 x1 x0
Figura 8.11: Circuito conversor de código Reflejado Exceso-3 a BCD8421
Capítulo 8: Bloques estandarizados
63
8.13 Diseñe un circuito que reciba un número X = x2 x1 x0 de entrada, y genere 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.
Solución a) La figura 8.12 muestra una posible solución. x x x
0 1 2
0 1 2 1
E 0 1 2 3 4 5 6 7
0 1 2 3 4 5 6 7 E
1
0 1 2
y y y
0 1 2
Figura 8.12: Solución al problema 8.13 usando un codificador.
b) La figura 8.13 muestra una posible solución.
x x x
x x 0
x x x
y y y
2 1 0 2 1 0
c
out
1 0
2 1 0
z z z
2 1 0
c
in
y y y
2 1 0
Figura 8.13: Solución al problema 8.13 usando un sumador de 3 bits.
8.14 Diseñe un sumador completo de 1 bit usando un decodificador 3-a-8 y a) dos compuertas OR b) dos compuertas NOR
Capítulo 8: Bloques estandarizados
64
Solución a) Las salidas z i y c out pueden implementarse con 2 compuertas OR de 4 entradas como zi = m(1, 2, 4, 7) y cout = m(3, 5, 6, 7).
b) Las salidas zi y cout pueden implementarse con 2 compuertas NOR de 4 entradas como zi = m(0, 3, 5, 6) y cout = m(0, 1, 2, 4). 8.15 Se desea implementar un decodificador 3-a-6, que reciba como entrada 3 variables x 2 x1 x0 y que tenga 6 salidas Z 0 a Z 5 . La entrada sólo toma valores en el rango 000 a 101, y sólo la salida Z i 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 x 2 a la entrada del decodificador 1-a-2, y utiliza 6 compuertas AND de 2 entradas para generar las seis salidas Z 0 a Z 5 . 8.16 Se desea construir un decodificador 4-a-10 con entradas activas altas y salidas activas bajas. Este circuito recibe como entrada un dígito decimal codificado en BCD8421 en las entradas X3 X2 X1 X0 , y posee 10 salidas Z0 a Z 9 , tal que Z i = 0 si X 3 X2 X1 X0 = i , o 1 en otro caso. Suponga que el circuito sólo recibe dígitos decimales BCD 8421 válidos. Indique en un diagrama cómo Ud. construiría este decodificador 4-a10 utilizando sólo un decodificador 3-a-8 74138 que se muestra en la figura 8.14 y el mínimo número posible de compuertas NAND de 2 entradas. Su circuito debe tomar en cuenta que este decodificador tiene 2 entradas de habilitación G1 y G2, y que el decodificador está habilitado si G1 = 1 y G2 = 0. S2 S1 S0
G1 G2
Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0
74138
Figura 8.14: Decodificador 3-a-8 74138
Solución Si suponemos que el circuito sólo recibe dígitos BC D8421 válidos, entonces solamente es necesario generar las salidas correspondientes a Z 8
Capítulo 8: Bloques estandarizados
65
y Z 9 . El circuito de la figura 8.15 muestra una posible solución, que utiliza sólo 2 compuertas NAND de 2 entradas. Z 9 Z 8 X 2 X 1 X 0
X 3
S2 S1 S0
1
G1 G2
Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0
Z 7 Z 6 Z 5 Z 4 Z 3 Z 2 Z 1 Z 0
74138
Figura 8.15: Decodificador 4-a-10 construido con decodificador 74138
Circuitos aritméticos 8.17 Diseñe un circuito que reste X de Y o Y de X, dependiendo del valor de la entrada 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 buff ers de tres estados de 4 bits con entradas y salidas de bus, y un inversor.
Solución La figura 8.16 muestra las dos soluciones. 8.18 Se desea diseñar un circuito que sume dos dígitos decimales X e Y codificados 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 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 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 carry out = 1.
Capítulo 8: Bloques estandarizados estandarizados Y
X
4
0 s
A
X
4
Y
4
1
0 s
z 4
Y
4
1 z
66 X
X
Y
4
4
4
4
A
4
A
4
B
4
A
A − B
B
A − B
4
4
Z
Z
Figura 8.16: Circuitos restadores de 4 bits
Diseñe este circuito utilizando 2 sumadores binarios de 4 bits y (quizás) algún circuito combinacional adicional. Sugerencia: adicional. Sugerencia: nótese nótese que el resultado de la suma decimal si X + Y + Y > 9 puede obtenerse sumando 6 al resultado de la suma binaria.
Solución La figura 8.17 figura 8.17 muestra muestra una posible solución.
X 3 X 2 X 1 X 0
Y 3 Y 2 Y 1 Y 0
x x x x
y y y y
3 2 1 0
c
out
0
3 2 1 0
c
z z z z
in
3 2 1 0
Carry
in
0
x x x x
3 2 1 0
c
out
y y y y
3 2 1 0
z z z z
3 2 1 0
c
in
0
Carryout Z 3 Z 2 Z 1 Z 0 Figura 8.17: Sumador BCD construido con sumadores binarios
8.19 Sean X Sean X = = x3 x2 x1 x0 e Y e Y = = y3 y2 y1 y0 , respectivamente. Entonces, a) Diseñe un circuito complemen complementador tador de 4 bits. Este circuito posee a 3 a2 a1 a0 , 4 bits de salida B b3 b2 b1 b0 y una 4 bits de entrada A entrada A = = a salida B = = b
Capítulo 8: Bloques estandarizados estandarizados
67
señal de control C . Si C = 0, B debe ser igual a la entrada A. Si C = 1, la salida B salida B debe debe ser el complemento a 1 de A, es decir, [ A]1 . b) Use ahora su circuito complementador de 4 bits y 4 sumadores comple completos tos para para diseña diseñarr un circuit circuito o sumado sumador/r r/rest estado adorr de 4 bits, bits, que reciba como entradas las variables X variables X e Y e Y ,, de 4 bits cada una, y una señal adicional adicional T T que que controla la operación del circuito. Las salidas del circuito son Z son Z = = z3 z2 z1 z0 y un bit adicional W adicional W .. Este circuito debe calcular la operación X + Y Y cuando T cuando T es es 0, y X − Y Y en caso contrario. Recuerde que − P = [P [ P ]2 = [P [ P ]1 + 1
Solución a) La figur figuraa 8.18 muestra 8.18 muestra una posible solución, construida con buff ers ers de 3 estados.
a3
a2
a1
a0
b3
b2
b1
b0
C
Figura 8.18: Circuito complementador de 4 bits
b) La figura 8.19 muestra 8.19 muestra un circuito sumador/restador construido utilizando el circuito complementador de 4 bits anterior y 4 sumadores completos.
Y 3
Y 2
Y 1
Y 0
T
X
X
X
X
xi yi cout cin zi FA
xi yi cout cin zi FA
xi yi cout cin zi FA
xi yi cout cin zi FA
Z
Z
Z
3
2
W Z
3
1
2
0
1
0
Figura 8.19: Circuito sumador/restador de 4 bits
Capítulo 8: Bloques estandarizados estandarizados
68
8.20 Se desea diseñar un circuito comparado comparadorr de 2 bits. Las entradas al cir a1 a0 y B = B = b b1 b0 , y las salidas son los tres bits cuito son los números A números A = = a Z≥ Z= Z≤ , donde Z donde Z ≥ = 1 si A si A ≥ B, Z = = 1 si A si A = = B, y Z y Z ≤ = 1 si A si A ≤ B. a) Suponga Suponga que Ud. dispone sólo de compuertas compuertas NOR de 3 entradas, entradas, a1 a0 y B = B = b b1 b0 están disponibles pero que las entradas A entradas A = = a disponibles en sus versio versiones nes direct directas as y comple complemen mentad tadas. as. Cada Cada compue compuerta rta NOR cuesta cuesta $100. Diseñe este circuito comparador utilizando un número mínimo de compuertas lógicas, y muestre el esquemático de su diseño. b) Supo Supong ngaa ahor ahoraa que que le rega regala lan n un circu circuit ito o deco decodi dific ficad ador or 4-a4-a-16 16 y un montón de puertas NOT. Realice nuevamente el diseño solicitado usando sólo estas compuertas y NORs de 3 entradas, mostrando el circuito esquemático de su diseño. Es su nueva solución más barata que la anterior?
Solución a) La figura 8.20 muestra una posible solución que utiliza sólo 11 compuertas NOR de 3 entradas a un costo de $1100, donde Z 2 = Z≥ , Z 1 = Z = Z = y Z 0 = Z ≤ . Esta solución hace uso de la relación Z relación Z = = Z≤ Z ≥ . a1 b’1 0 b’0 a1 a0 a0 b’1 b’0 a’1 b1 0 b1 a’0 b0
Z 2
0
Z 1
Z 0
a’0 a’1 b0
Figura 8.20: Comparador diseñado usando compuertas NOR de 3 entradas
b) La figura figura 8.21 8.21 muestra muestra una posible solución que utiliza sólo 8 compuertas NOR de 3 entradas a un costo de $800, donde Z2 = Z≥ , Z1 = Z= y Z y Z 0 = Z≤ .
Capítulo 8: Bloques estandarizados
b0 b1 a0 a1
0 1 2 3
E
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
69
0
Z 1
0
Z 0
0
Z 2
1
Figura 8.21: Comparador diseñado usando decodificador 4-a-16 y NORs
8.21 Diseñe un circuito combinacional que calcule un bit de paridad impar p para una palabra de 4 bits, b 3 b2 b1 b0 . Para este fin, suponga que Ud. sólo dispone de bloques comparadores de 2 bits y compuertas N OR de 2 entradas. Suponga además que Ud. no dispone del complemento de las entradas.
Solución La figura 8.22 muestra una posible solución. b3 b2 b1 b0
x1 > x0 = y1 < y0 x1 > x0 = y1 < y0
p
Figura 8.22: Cálculo de paridad impar usando comparadores de 2 bits
8.22 Se necesita implementar un sumador completo para una experiencia de laboratorio. Sin embargo, Ud. verifica que los únicos circuitos disponibles en el pañol son multiplexores (MUX). Por ello, se le pide:
Capítulo 8: Bloques estandarizados estandarizados
70
a) Diseñar y dibujar el circuito sumador completo completo usando sólo multimultiplexores 8:1 b) Diseñar y dibujar el circuito sumador completo completo usando sólo multimultiplexores 4:1
Solución a) La figura 8.23 figura 8.23 muestra muestra una posible solución que utiliza sólo multiplexores 8:1 0 1 1 0 1 0 0 1
0 1 2 3 4 5 6 7
C out
2 1 0
0 0 0 1 0 1 1 1
Ai Bi C in
0 1 2 3 4 5 6 7
Sum
2 1 0
Ai Bi C in
Figura 8.23: Sumador completo implementado con multiplexores 8:1
b) La figura 8.24 figura 8.24 muestra muestra una posible solución que utiliza sólo multiplexores 4:1 0 Ai A’ i 1
0 1 2 3
1 0
Bi C in
Ai C out A’ i A’ i Ai
0 1 2 3
Sum 1 0
Bi C in
Figura 8.24: Sumador completo implementado con multiplexores 4:1
Memoria ROM, circuitos PAL y PLA 8.23 Diseñe un circuito sumador para dígitos decimales en código Gray utilizando una memoria ROM. El sumador deberá sumar dos dígitos en código Gray y proporcionar proporcionar tanto el resultado resultado de la suma en código código Gray como el rebalse. Por ejemplo, 0110 Gray + 1100 1100Gray = 1 0010Gray , que corresponde al número 12 en Gray. Dibuje un diagrama de bloques indicando las entradas y salidas necesarias de la ROM, así como las líneas corr corres espo pond ndie ient ntes es a las las sumas sumas 4 + 7, 7 + 0, 9 + 3 y 7 + 7.
Capítulo 8: Bloques estandarizados estandarizados
71
Solución La figura 8.25 figura 8.25 muestra muestra el diagrama de bloques del sumador Gray. Asimism mismo, o, la sigui siguien ente te tabl tablaa mues muestr traa el cont conteni enido do de la memo memori riaa RO ROM M para para las entradas. Dire Direcc cció ión n
Sali Salida da
0110 0110 0100 0100 0100 0100 0000 0000 1101 1101 0010 0010 0100 0100 0100 0100
1 0001 0001 0 0100 0100 1 0011 0011 1 0110 0110
MSB
X gray
Y gray
Memoria
n o i c c e r i D LSB
ROM 256x5
Salida
MSB
LSB
Z gray Figura 8.25: Sumador Gray implementado con memoria ROM
8.24 Implement Implementee las funciones
f 1 (a,b,c,d) a,b,c,d ) = f 2 (a,b,c,d) a,b,c,d ) =
m(1, (1, 2, 4, 5, 6, 8, 10, 10, 12, 12, 14)
m(2, (2, 4, 6, 8, 10, 10, 11, 11, 12, 12, 14, 14, 15)
usando PLAs. Proporcione las tablas de las PLAs y el diagrama de conexiones internas de las mismas.
Solución La figura 8.26 figura 8.26 implementa implementa una posible solución al problema.
Capítulo 8: Bloques estandarizados estandarizados
a
b
c
72
d
cd’ ad’ bd’ a’c’d ac
f 1 f 2 Figura 8.26: Circuito PLA que implementa una solución al ejercicio 24 ejercicio 24
8.25 Utilice una PLA para implementar las ecuaciones:
X =A = A′ BD + A′ C ′ + C ′ D ′ Y =A = A′ C ′ + A′ D + C ′ D ′ + AC Z =CD = CD + A′ C ′ + A′ B′ D
Solución La figura 8.27 figura 8.27 muestra muestra una posible solución al problema. 8.26 Se desea diseñar un circuito combinacion combinacional al que reciba como entrada un núme número ro decim decimal al en códi código go BC BCD8 D842 421, 1, y teng tengaa como como salid salidaa el cuocie cuocient ntee Q y el resto R resto R de de la división de este número por 3, cada uno representado en 2 bits, a saber, Q saber, Q 1 Q0 y R y R 1 R0 . a) Diseñe este circuito mínimo mínimo de dos niveles utilizando utilizando compuertas compuertas NAND b) Diseñe este este circuito utilizand utilizando o una PLA c) Diseñe este circuito utilizando una memoria memoria ROM
Solución Sean las entradas X = X 3 X2 X1 X0 y las salidas Q = Q 1 Q0 y R = R 1 R0 . Entonces, las soluciones solicitadas son:
Capítulo 8: Bloques estandarizados A
B
C
73
D
A’C’ C’D’ A’BD A’B’D AC CD
X Y Z
Figura 8.27: Circuito PLA que implementa una solución al ejercicio 25
a) Circuito mínimo de dos niveles utilizando compuertas NAND Q1 Q0 R1 R0 X 2 X 1 X 3
= = = =
X 3 + X2 X1 X2′ X1 X0 + X2 X1′ + X3 X0 X2′ X1 X0′ + X3 X0′ + X2 X1′ X0 X3′ X2′ X1′ X0 + X2 X1′ X0′ + X2 X1 X0
Q1
X 2 X’1
X’2 X 1 X’0 X 2 X’1 X 0 X 3 X’0
X’2 X 1 X 0 Q0
X 3 X 0 R1
X 2 X 1 X 0 X 2 X’1 X’0
R0
X’3 X’2 X’1 X 0
Figura 8.28: Circuito usando NANDs. Ver ejercicio 8.26
Capítulo 8: Bloques estandarizados
74
b) Circuito utilizando una PLA X 3 X 2 X 1 X 0
1 2 3 4 5 6 7 8 9
Q1 Q0 R 1 R 0
Figura 8.29: Circuito usando un PLA. Ver ejercicio 8.26
c) Circuito utilizando una memoria ROM Dirección X3 X2 X1 X0
Salida Q1 Q0 R 1 R0
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
00 00 00 01 00 10 01 00 01 01 01 10 10 00 10 01 10 10 11 00 00 00 00 00 00 00 00 00 00 00 00 00
Capítulo 8: Bloques estandarizados
75
El problema define sólo las salidas para las entradas 0000 a 1001. La salida para las otras 6 entradas no está definida, y pueden asumir entonces un valor arbitrario. En este caso, se escogió salida 0000. 8.27 Sean las siguientes tres funciones booleanas, provenientes de un circuito dado: F1 (A,B,C,D) = F2 (A,B,C,D) = F3 (A,B,C,D) =
m(2, 3, 5, 6, 7, 8, 10) m(0, 1, 2, 3, 5, 7, 8, 10) m(0, 1, 5, 6, 7, 8, 10)
a) Encuentre una implementación de costo mínimo como suma de productos para estas funciones, y dibuje el circuito combinacional correspondiente. b) Muestre ahora una implementación que utilice el circuito PLA de la figura 8.30. Complete el diagrama indicando entradas, salidas y conexiones a realizar.
Figura 8.30: Circuito PLA. Ver ejercicio 8.27
Solución La figura 8.31 muestra el circuito PLA que implementa las funciones pedidas como las sumas de productos F1 F2 F3
= AB′ D ′ + A′ BD + A′ B′ C + A′ BC = AB′ D ′ + A′ BD + A′ B′ C + A′ B′ C ′ = AB′ D ′ + A′ BD + A′ B′ C ′ + A′ BC
Capítulo 8: Bloques estandarizados
A
B
C
76
D
AB’D’ A’BD A’B’C A’B’C’ A’BC
F
1
F
2
F 3
Figura 8.31: Implementación de funciones en circuito PLA. Ver ejercicio 8 .27
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 flipflop, retentores, maestro-esclavo, etc. A Q
B
Q’
Reloj
Figura 9.1: Ver ejercicio 9.1
A
Q
Q’ Reloj
Figura 9.2: Ver ejercicio 9.1
77
9
Capítulo 9: Circuitos secuenciales
78
Q A Q’
B
Figura 9.3: Ver ejercicio 9.1
Solución a) El circuito de la figura es un flip-flop maestro-esclavo de tipo R-S que muestrea sus entradas en el canto de bajada del reloj. b) El circuito de la figura es un flip-flop maestro-esclavo de tipo T que muestrea sus entradas en el canto de bajada del reloj. c) El circuito de la figura es un retentor J-K. 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 A Q
Q’ B
Figura 9.4: Ver ejercicio 9.2
Capítulo
Registros y contadores 10.1 Diseñe un circuito sincrónico que cuente siguiendo la secuencia decimal 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 salida: 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 M N = 00, el siguiente estado es 0 Si M N = 01, el siguiente estado es el estado actual Si M N = 10, el siguiente estado es el complemento del estado actual Si M N = 11, el siguiente estado es 1 a) Diseñe este flip-flop utilizando compuertas NAND b) Complete la tabla 10.1 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ás las transiciones de los estados no especificados. 10.4 Un flip-flop tipo LM funciona de la siguiente manera: Si LM = 00, el siguiente estado es 1 79
10
Capítulo 10: Registros y contadores
80
Q(t) Q(t + △t) MN 0 0 1 1
0 1 0 1 Tabla 10.1: Tabla del flip-flop MN. Ver ejercicio 10 .3
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ñe este flip-flop utilizando latches RS b) Complete la siguiente tabla, utilizando superfluos donde sea posible: Q
Q+
0 0 1 1
0 1 0 1
L
M
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 estados, indicando las transiciones para todos los posibles estados iniciales. 10.5 Diseñe 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é pasa si el valor inicial del contador 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. 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
Capítulo 10: Registros y contadores
81
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 manera más apropiada para realizar las funciones indicadas. 10.8 Se dispone de un circuito generador de ondas cuadradas cuya frecuencia está fijada en 6 KHz. En otro circuito digital, se desea utilizar un reloj de 1 KHz. Diseñe, entonces, un circuito divisor de frecuencia que genere una señal cuadrada simétrica de frecuencia 1 KHz utilizando flip-flops JK. Muestre todos los pasos de su diseño incluyendo su diagrama de estados completo y su circuito final.
Solución Para diseñar un circuito divisor de frecuencia, basta sólo contar el número necesario de pulsos de reloj, y generar las salidas 0 y 1 correspondientes. En este caso, es necesario generar un salida 0 por 3 ciclos de reloj, y luego una salida 1 por otros 3 ciclos. Esto puede realizarse con un contador de 6 estados. Existen muchas soluciones posibles. Por ejemplo, el contador de Johnson mostrado en clases cumple con esta condición: el último bit del contador tiene un período simétrico de 6 pulsos de reloj. Las figuras 10.1 y 10.2 muestran el diagrama de estados y el circuito correspondiente. 000
100
110
111
011
001
Figura 10.1: Diagrama de estados, divisor por 6. Ver ejercicio 10 .8
Z
Reloj
J
Q
J
Q
J
Q
K
Q’
K
Q’
K
Q’
Figura 10.2: Divisor de frecuencia por 6. Ver ejercicio 10 .8
Capítulo 10: Registros y contadores
82
10.9 Diseñe un contador sincrónico utilizando flip-flops de tipo J-K que realice la cuenta 0 → 1 → 3 → 5 → 7 → 0. Ud. debe mostrar: a) el diagrama de estados del contador. b) la tabla de estados. c) las ecuaciones mínimas de excitación para cada flip-flop. d) el circuito final a implementar para este contador. e) las transiciones de los estados no definidos.
Solución a) El diagrama de estados se muestra en la figura 10.3.
111
001
011
101
111
Figura 10.3: Diagrama de estados del ejercicio 10.9
b) La tabla de estados se muestra a continuación. A 0 0 0 0 1 1 1 1
B 0 0 1 1 0 0 1 1
C A+ 0 0 1 0 0 − 1 1 0 − 1 1 0 − 1 0
B+ 0 1 − 0 − 1 − 0
C + J A 1 0 1 0 − − 1 1 − − 1 − − − 0 −
K A − − − − − 0 − 1
J B 0 1 − − − 1 − −
K B − − − 1 − − − 1
c) Las ecuaciones de excitación son: J A = B, K A = B J B = C, K B = 1 J C = 1, K C = AB
d) La figura 10.4 muestra una posible implementación. e) Las transiciones de los estados no definidos son: 1) Si ABC = 010, entonces A + B+ C + = 100. 2) Si ABC = 100, entonces A + B+ C + = 101.
J C 1 − − − − − − −
K C − 0 − 0 − 0 − 1
Capítulo 10: Registros y contadores
1
83
J
A
K
A’
J
B
K
B’
J
C
K
C’
A
B
C
Reloj Figura 10.4: Solución del ejercicio 10.9
3) Si ABC = 110, entonces A + B+ C + = 001. 10.10 Diseñe un circuito contador ascendente/descendente controlado por una señal Y utilizando flip-flops tipo T . Si Y = 1, el contador pasa por los estados 00 → 10 → 11 → 01 → 00 . Si Y = 0, el sentido de la cuenta se invierte: 00 → 01 → 11 → 10 → 00. Dibuje el diagrama de estados del contador. Muestre la tabla de estados. Escriba los mapas de excitación y determine las ecuaciones de excitación. Finalmente, dibuje el circuito usando flip-flops T .
Solución La figura 10.5 muestra el diagrama de estados de este contador. 1 1
1
00
10 0
1
11 0
01 0
0
Figura 10.5: Diagrama de estados del contador, ejercicio 10. 10
Aquí se muestran la tabla de estados del contador y las tablas de excitación de los flip-flops T .
Capítulo 10: Registros y contadores
AB 00 01 11 10
X = 0 A+ B+ 01 11 10 00
X = 1 A+ B + 10 00 01 11
AB 00 01 11 10
X = 0 T A T B 01 10 01 10
84
X = 1 T A T B 10 01 10 01
De estas tablas, se puede ver que las ecuaciones de excitación son T A = A ⊕ B ⊕ X y T B = A ⊕ B ⊕ X. La figura 10.6 muestra una posible implementación.
X
T
Q
A Q’
T
Q
B Q’
Figura 10.6: Circuito del contador, ejercicio 10.10
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.
Z J
I
Q
D
Q
CLK
K
Q
CLK
Q
Reloj Figura 11.1: Ver ejercicio 11.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 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. 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?
85
Capítulo 11: Análisis de circuitos secuenciales sincrónicos
86
Z R J
Q
J
CLK
"1"
K
Q CLK
Q
K
Q
Reloj Figura 11.2: Ver ejercicio 11.1
J
Q
Z
CLK
X K
Q
F/FA D
Q
CLK
Q
F /FB J
Q CLK
0 Clock
K
Q
F /F C
Figura 11.3: Ver ejercicio 11.2
Capítulo 11: Análisis de circuitos secuenciales sincrónicos
87
YX C C' B B' A A' D
Q
CLK
Q
Z
/FC F D
Q
CLK
Q
/FB F D
Q
CLK
Q
/FA F Reloj
Figura 11.4: Ver ejercicio 11.3
11.4 Para el circuito secuencial sincrónico de la figura 11.5, analice el circuito y realice el diagrama de estados. X
J
Q
J
CLK
K
D
Q
Q
CLK
Q
CLK
Q
A
Q
K
B
C
Clock Figura 11.5: Ver ejercicio 11.4
11.5 Analice el circuito secuencial de la figura 11.6. Dibuje el diagrama de estados correspondiente y describa en sus palabras qué hace este circuito.
Capítulo 11: Análisis de circuitos secuenciales sincrónicos
88
A B C
X
T
Q
Q’ D
Q
Q’ D
Q
Reloj
Q’
Figura 11.6: Ver ejercicio 11.5
Solución El circuito secuencial mostrado tiene las siguientes ecuaciones de excitación. T A DB DC
= X ⊕ C + B′ X + BC ′ = B′ C ′ X ′ + B′ CX + BC ′ X + BCX ′ = C ′
El diagrama de estados se muestra en la figura 11.7. El circuito es un contador ascendente/descendente módulo 8. Si X = 0, Q+ = (Q+3)mod 8. Si X = 1, Q + = (Q + 5)mod 8. 11.6 Analice el circuito secuencial sincrónico mostrado en la figura 11.8. Recuerde que CLR es una entrada asincrónica de inicialización a 0. a) Complete el diagrama de tiempo de la figura 11.9, suponiendo que el retardo de una compuerta lógica es 1 unidad de tiempo, y que todos los flip-flops tienen un retardo de 2 unidades de tiempo, tanto
Capítulo 11: Análisis de circuitos secuenciales sincrónicos
1
000
011 1
89
1
0
101
0
1
0 0
110
010 0
0
1
0
001 1
0
1
111
100
1
Figura 11.7: Ver ejercicio 11.5
T
Q
A CLR
D
Q
R
B Q’
CLR
Q
C Q’
S
CLR
Q’
Clock
Figura 11.8: Ejercicio 6: Circuito a analizar.
para sus entradas de excitación como para la entrada de inicialización asincrónica C LR. Los valores iniciales de A, B, C y C LR se muestran entre paréntesis. b) En base a los resultados del punto anterior, dibuje el diagrama de estados de este circuito, e identifique su función.
Solución a) La figura 11.10 muestra el diagrama de tiempo solicitado. b) En base al diagrama de estados mostrado, este circuito es un contador binario de 3 bits que cuenta de 0 a 4. Desde el estado 4, el circuito realiza una transición inestable al estado 5, que activa la entrada de inicialización asincrónica CLR que retorna el circuito al estado inicial 000.
Capítulo 11: Análisis de circuitos secuenciales sincrónicos
90
Clock A (0) B (1) C (1) CLR (1)
Figura 11.9: Diagrama de tiempo. Ver ejercicio 11.6.
Clock A (0) B (1) C (1) CLR (1)
Figura 11.10: Solución al ejercicio 11.6.
000
001
010
011
100
Figura 11.11: Diagrama de estados, ejercicio 11.6.
11.7 Para el circuito secuencial de la figura 11.12, a) categorice este circuito como una máquina de Mealy o de Moore. b) encuentre las ecuaciones de excitación c) genere la tabla de excitación d) genere la tabla de estados, y dibuje el diagrama de estados. Explique qué hace este circuito.
Solución a) Dado que la salida depende sólo de los estados, ésta es una máquina de Moore.
Capítulo 11: Análisis de circuitos secuenciales sincrónicos
T
A
Z A’
T
B
B’
X
J
C
K
C’
Reloj
Figura 11.12: Ver ejercicio 11.7
b) Las ecuaciones de excitación son: T A = A + B T B = A′ + B J C = A ⊕ B, K C = X(A ⊕ B) Z = ABC c) La siguiente tabla resume las tablas de excitación y de estado. A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
X 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
TA T B 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1
J C 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0
K C 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0
Z 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
A+ 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0
B+ 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
C+ 0 0 1 1 1 1 1 0 1 1 1 0 0 0 1 1
91
Capítulo 11: Análisis de circuitos secuenciales sincrónicos d) El diagrama de estados se muestra en la figura 11.13. −/0
111
−/1
001
−/0
011
−/0
000
100
0/0
0/0
010
1/0
1/0
101
−/0
110
−/0
Figura 11.13: Diagrama de estados del ejercicio 11.7
11.8 Para el circuito de la figura 11.14 a) b) c) d)
categorice el circuito como una máquina de Mealy o de Moore determine las ecuaciones de excitación genere las tablas de excitación genere la tabla de estados y el diagrama de estados del circuito
T
A
Z A’
T
B
B’
X
J
C
K
C’
Reloj
Figura 11.14: Circuito a analizar, ejercicio 11.8
Solución
92
Capítulo 11: Análisis de circuitos secuenciales sincrónicos
93
a) Ya que la salida Z depende directamente de la entrada X , ésta es una máquina de Mealy. b) Las ecuaciones de excitación y de salida son: T A = A′ B′ DB = A′ + B J C = A ⊕ B Z = ABCX
K C = X(A ⊕ B)
c) La siguiente tabla resume las tablas de excitación y de estado. A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
X TA DB 0 1 1 1 1 1 0 1 1 1 1 1 0 0 1 1 0 1 0 0 1 1 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 1 0 1 0 0 1 1 0 1
J C 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0
K C 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0
Z 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
A+ 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1
B+ 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1
C+ 0 0 1 1 1 1 1 0 1 1 1 0 0 0 1 1
d) La tabla de estados se muestra a continuación. Se ha supuesto que el estado S i corresponde a la i -ésima combinación de las variables de estado A, B y C. X = 0
ABC S0 S1 S2 S3 S4 S5 S6 S7
A + B+ C + S6 S7 S3 S3 S5 S5 S6 S7
X = 1
Z 0 0 0 0 0 0 0 0
A+ B+ C + S6 S7 S3 S2 S5 S4 S6 S7
Z 0 0 0 0 0 0 0 1
El diagrama de estados correspondiente se muestra en la figura 11.15.
Capítulo 11: Análisis de circuitos secuenciales sincrónicos
S
S
X/0
X/0
S
S
0
6
X/0
1
7
0/0 1/1
S
2
X/0 1/0
S
4
X/0 1/0
S
S
0/0
0/0
3
5
Figura 11.15: Diagrama de estados, ejercicio 11.8
94
Capítulo
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 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áquina, e impleméntela utilizando flipflops 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 z 1 = 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. 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 debe ser 1 por un ciclo de reloj cuando quiera que las secuencias . . . 0111
95
12
Capítulo 12: Diseño de circuitos secuenciales sincrónicos
96
ó . . . 1000 estén presentes en la entrada. Estos patrones pueden traslaparse. 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 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ó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 presentados en forma serial, donde el bit menos significativo es generado primero. Es decir, si para los instantes t 0 a t 3 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 t 0 a t 3 debe ser z 0 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 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. a) Diseñe un circuito que implemente ese sistema utilizando flip-flops 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ál será ahora el contenido de la ROM? 12.9 Diseñe un circuito secuencial sincrónico que reciba desde la entrada X una serie de 1s y 0s, y que tenga una salida Z igual a 1 cuando los tres
Capítulo 12: Diseño de circuitos secuenciales sincrónicos
97
últimos bits de entrada corresponden a la secuencia 010. Es decir, ante la entrada X = 0110100010101010, su circuito debe presentar salida Z = 0000010001010101. Su implementación debe ser una máquina de Moore y utilizar flip-flops J-K.
Solución La figura 12.1 muestra una posible solución. Z
J
Q
J
B X
K
Q
A Q’
K
Q’
Clock
Figura 12.1: Implementación del circuito, ejercicio 12.9
12.10 Un circuito secuencial sincrónico tiene una entrada X y una salida Z . Esta salida es 1 si se reconoce la secuencia de entrada 10101 ó si los dos últimos bits recibidos son iguales a 11. Por ejemplo, si la secuencia de entrada es X = . . . 0101101011011, la secuencia de salida debe ser . . . 0000100011001. Implemente este circuito como una máquina de Moore. Dibuje el diagrama de estados, realice una asignación de variables secundarios, y finalmente implemente su diseño usando flip-flops J-K y compuertas NAND.
Solución La figura 12.2 muestra un posible diagrama de estados. 0 1 0
S0 0
1
S1
S2
0
0
S3
1
0 1
0
0
S4 0
S5 0
0
1 1
0
1
S6 1 1
Figura 12.2: Diagrama de estados, ejercicio 12.10
La tabla de estados de este circuito se muestra a continuación.
Capítulo 12: Diseño de circuitos secuenciales sincrónicos
S0 S1 S2 S3 S4 S5 S6
X = 0 S0 S2 S0 S4 S0 S4 S2
X = 1 S1 S6 S3 S6 S5 S6 S6
98
Z 0 0 0 0 0 1 1
Utilizando la asignación de estados estándar, la tabla de transiciones es X = 0 ABC A+ B+ C + 000 000 001 010 010 000 011 100 100 000 101 100 110 010 111 XXX
X = 1 A+ B + C + Z 001 0 110 0 011 0 110 0 101 0 110 1 110 1 XXX X
Entonces, las ecuaciones de excitación y de salida son: J A = CX + BC K A = C ′ X ′ Z = AB + AC
J B = CX + A′ C K B = A′ X ′
J C = A′ X + B′ X K C = 1
La figura 12.3 muestra una posible implementación usando sólo compuertas NAND.
Reducción de estados equivalentes 12.11 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.
Capítulo 12: Diseño de circuitos secuenciales sincrónicos
99
X
1
Reloj
K Q ’
J
C Q
K Q ’
J
B Q
K Q ’
J
A Q
Z
Figura 12.3: Implementación usando NANDs, ejercicio 12.10
Indique en su diagrama de estados todas las transiciones de todos los estados. Realice el diseño utilizando flip-flops tipo S R. 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 = 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, NY, 1988. ISBN 9780471612292. [2] Lewis Carroll. Las aventuras de Alicia en el país de las maravillas. Clásicos Universales. AIMS International Edition, New York, NY, 2005. ISBN 9788489163430. [3]
Luis Miguel Cuesta García, Antonio José Gil Padilla, and Fernando Remiro Domínguez. Electrónica digital. McGraw-Hill Interamericana, Madrid, España, 1st. edition, 1992. ISBN 9788476158432.
[4]
Milos Ercegovac and Tomás Lang. Digital Systems and Hardware/Firmware Algorithms. John Wiley & Sons, New York, NY, 1985. ISBN 9780471883937.
[5] Thomas L. Floyd. Fundamentos de sistemas digitales. Pearson Educación S. A., Madrid, España, 9th. edition, 2006. ISBN 9788483220856. [6] Daniel D. Gajski. Principios de diseño digital. Prentice-Hall Iberia, Madrid, España, 1997. ISBN 9788483220047. [7]
Carl Hamacher, Zvonko Vranesic, and Safwat Zaky. Organización de Computadores. McGraw-Hill Interamericana, Madrid, España, 5ta. edition, 2003. ISBN 9788448139513.
[8] John P. Hayes. Introducción al diseño lógico digital. Addison-Wesley Iberoamericana, Buenos Aires, Argentina, 1996. ISBN 9780201625905. [9]
Antonio Lloris Ruiz, Alberto Prieto Espinoza, and Luis Parrilla Roure. Sistemas digitales. Mc-Graw Hill Interamericana de España, Madrid, España, 2003. ISBN 9788448121464.
[10] Enrique Mandado Pérez and Yago Mandado Rodríguez. Sistemas electrónicos digitales. Marcombo, Barcelona, España, 9th. edition, 2008. ISBN 9789701513040. 100