Sistemas Digitales - Ejercicios Resueltos

  • Uploaded by: Brandon Payano De La Cruz
  • 0
  • 0
  • January 2021
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Sistemas Digitales - Ejercicios Resueltos as PDF for free.

More details

  • Words: 23,372
  • Pages: 104
Loading documents preview...
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]

Índice general 1 Sistemas numéricos

1

2 Códigos

10

3 Álgebra Booleana

16

4 Funciones Booleanas

22

5 Minimización de funciones mediante mapas de Karnaugh

28

6 Los métodos de Quine-McCluskey y Petrick

36

7 Diseño de circuitos combinacionales

39

8 Bloques estandarizados

56

9 Circuitos secuenciales

77

10 Registros y contadores

79

11 Análisis de circuitos secuenciales sincrónicos

85

12 Diseño de circuitos 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.A16

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

b) 123.1710

c) 356.8910

d) 1063.510

Solución a) 2F5.416 y 1011110101.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. 63 a) 2983 64

b) 93.73

31 c) 1900 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 log 9/ log 16 = 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 log10 (10) = 1 y que log10 (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 0123456789 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 XY Z6 = ZY 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 201110013 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 X3 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 145X = 10100102 . Solución La base X tiene el valor 7. 1.23 Calcule la incógnita X3 en la igualdad: 110110112 + X3 = 133124 . Solución La incógnita X3 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 0001BCD1523 .

Dígito BCD1523 0 1 2 3 4 5 6 7 8 9

0000 1000 0010 0001 1001 0100 1100 0110 0101 1101

2.2 Construya una tabla para el có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 0101BCD4321 .

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 1010BCD7321 .

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 13510 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 1001110102 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 232 − 1, es decir, 4, 294, 967, 296 enteros. b) El rango de representación para el código BCD2421 es de 0 a 108 −1, o 99, 999, 999, es decir, 100, 000, 000 enteros. 2.10 Diseñe un código BCD autocomplementado para representar dígitos en base 14, que además cumpla con la propiedad que la 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 982610 en base 14. Solución Existen dos códigos BCD que cumplen con la condición: BCD7321, y BCD6421. Como 982610 = 381C14 , se tiene que en BCD7321 esto es 0100 1001 0001 1110, y en BCD6421 esto es 0011 1010 0001 1110. 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 0 1 2 3 4 5 6 7 8 9

8 4 −2

1

0 0 0 0 0 0 1 1 1 1

0 1 0 1 0 1 0 1 0 1

0 0 1 1 1 1 0 0 0 0

0 0 1 1 0 0 1 1 0 0

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: 11112 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: 10112 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: 100110102

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 p4 , p2 y p1 . 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 , c2 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 ′ 3.9 Simplifique la expresión P¯ + PQR + QR¯ 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 F1 (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

xyzw

w′ z′

w′ xy

wx′ z

wxyz

xyz

wx′ y ′ z

wyz

F1

F2

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

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

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

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

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

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

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

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

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

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

3.15 Simplifique cada una de las siguientes expresiones utilizando principalmente el teorema del consenso o su dual. a) BC ′ D ′ + ABC ′ + AC ′ D + AB′ D + A′ BD ′ b) W ′ Y ′ + W Y Z + 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 Y Z + 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. a) (A + B)(C + B)(D¯ + B)(AC D¯ + E) 22

4

Capítulo 4: Funciones Booleanas

23

b) (A′ + B + C ′ )(A′ + C ′ + D)(B′ + D ′ ) Solución a) AC D¯ + BE 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 ¯ Y +W ¯ X + XY ¯ + Y Z¯ F = W X¯ + W Y¯ + W 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 F(x, y, z, t) =

P

m(1, 2, 4, 7, 8, 11, 13, 14) P 4.9 Dada la función F(A, B, C, D) = m(0, 1, 2, 6, 7, 14, 15). a) Halle la expresión en términos producto de F. b) Halle la expresión en términos suma de F. Solución a) 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 W XY Z = 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=

X

m(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)

Y=

X

m(0, 7, 11, 13, 14, 15)

Z=

X

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

P 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: ¯ + wxg¯ a) g(y, z) = y¯z¯ y h(g, w, x) = xg b) g(y, z) = y + z y h(g, w, x) = x¯g¯ + wxg 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. Alternativamente, implementar el producto de sumas equivalente (x1 + x3 + x4 )(x¯1 + x¯3 + x4 ) tiene un costo de 80 pesos. Mejor aún, la expresión equivalente (x1 + x3 )(x¯1 + x¯3 ) + x4 tiene un costo de 70 pesos. Asimismo, la expresión ((x1 + x3 )′ + (x¯1 + x¯3 )′ )′ + x4 ) tiene un costo de sólo 65 pesos, al eliminar completamente las operaciones producto. Finalmente, la expresión (x1 + x¯3 )′ + (x¯1 + 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 W XY Z = 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 Solución a) ABCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

bits en 0 W XY Z 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 X(A, B, C, D) = m(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14) X Y (A, B, C, D) = m(3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15) X 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 ′ )

27

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 P 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 ¯ ¯ + bc¯ + abc a) f 1 (a, b, c) = ac 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, 5.3 Dada la función F(A, B, C, D) = AB¯ D¯ + A( 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) =

P

M (2, 3, 4, 5, 6, 7, 8, 10, 15) ¯ b) F(A, B, C, D) = (A + B + C)(A¯ + B¯ + D)(A¯ + C + D) P 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 ¯ A¯ + B¯ + D)(A + B¯ + C + D) ¯ 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 00 01

11

10

00

1

1

1

0

01

1

0

1

0

11

1

0

1

1

10

1

0

1

0

x1 x0

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 = x3 x2 + x3′ x2′ + x3′ x1′ x0′ + x3 x1 x0 5.6 P Use mapas de Karnaugh para simplificar la siguiente función, donde d() indica los minitérminos superfluos. X F(A, B, C, D, E) = m(0, 7, 11, 13, 14, 15, 16, 23, 28, 29, 30, 31) X + 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. cde ab

000 001

011

010

110

111

101

100

00

1

0

0

1

1

0

0

1

01

1

0

0

X

1

1

0

1

11

0

X

1

0

0

1

X

X

10

X

0

0

0

0

0

0

1

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 x1 x0

00 01

x3 x2

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

x1 x0

y3

y2

x3 x2

x3 x2

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

31

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é cuadrante se encuentra el eje, usando dos bits llamados N / S¯ y O/ E¯ para 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 X X 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 a) suma de productos: F(A, B, C, D) = A¯ B¯ + A¯ D¯ + BC¯ ¯ B¯ + D) ¯ b) producto de sumas: F(A, B, C, D) = (A¯ + B)(A¯ + C)(

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 = x1 x0 , e Y = y1 y0 . La salida Z del circuito es 1 si el valor absoluto de la diferencia entre X e Y es menor o igual a 1. Es decir, Z = 1 si y sólo si |X − Y | ≤ 1. a) Represente la salida Z en un mapa de Karnaugh. b) Identifique los implicantes primarios esenciales y no esenciales. c) Escriba una ecuación mínima de suma de productos para la salida Z que utilice el mínimo número de variables complementadas. Solución 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: x1′ y1′ y x1 y1 , y los implicantes primarios no esenciales son: x1 x0′ y0 , x1′ 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. cde ab

000 001

011

010

110

111

101

100

00

1

1

1

0

0

0

X

1

01

0

0

1

0

0

1

1

0

11

0

1

1

1

1

1

0

1

10

X

0

0

X

0

0

0

1

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) =

P

P 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: X 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 X X 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

0

10

X

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 P 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)+ P 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 P Halle todos los implicantes primos de la función F(x, y, z, t) dada por P 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 P P 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 Quine-McCluskey y Petrick

37

P P 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. P P 6.6 Dada la función F(X, Y , Z, T) = m(1, 7, 10, 11, 13) + d(5, 8, 15), utilice el método de minimización de Quine-McCluskey para identificar los implicantes primos esenciales y no-esenciales, y el método de Petrick para encontrar todas las soluciones mínimas en la forma de suma de productos. Solución Los implicantes primos esenciales son Y T y X ′ Z ′ T. Los implicantes primarios no esenciales son XY ′ T ′ , XY ′ Z y XZT. Mediante el método de Petrick, se puede determinar que la solución mínima es Y T + X ′ Z ′ T + XY ′ Z. P P 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: yz + 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 BCD8421. 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 Quine-McCluskey y Petrick

38

Solución La función P paridad paraPel 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 ′ . P P 6.9 Dada la función F(A, B, C, D) = m(0, 2, 4, 6, 8, 10, 12) + d(1, 3, 5, 7), utilice el método de Quine-McCluskey para determinar 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, cuyo costo es 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 = x1 x0 y Y = y1 y0 , y las salidas son Z = z1 z0 , donde   0 if X = Y    1 if X > Y Z =    2 if X < Y Solución La figura 7.1 muestra una posible solución construida usando sólo compuertas NAND.

x1

y’1

x0 y’1 y’0

x1 x0 y’0

x’1 x’0 y0

z0

x’0 y1 y0

y1

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 ¯ entradas x¯ ni y. 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 X 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. A

D C’ F’

B’

E’

Z

Figura 7.3: Implementación usando compuertas NOR

7.6 Dada la siguiente función lógica X F(A, B, C, D) = m(2, 4, 5, 7, 10, 11, 13, 14, 15) a) Diseñe un circuito 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

P 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 ′ N OR X ′ Y ) b) NAND-AND: La función F puede ser implementada como F(X, Y , Z) = Z ′ (X N AN D Y ′ )(X ′ N AN D Y ) c) OR-NAND: La función F puede ser implementada como F(X, Y , Z) = (X + Y + Z) N AN D (X ′ + Y ′ + Z) d) NOR-OR: La función F puede ser implementada como F(X, Y , Z) = (X N OR Y N OR Z) + (X ′ N OR Y ′ N OR 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. X X f 1 (a, b, c, d) = m(10, 11, 12, 15) + d(4, 8, 14) X X f 2 (a, b, c, d) = m(0, 4, 8, 9) + d(1, 10, 12) X X 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

ab

cd

00

01 11

10

cd

00

01 11

10

cd

00

01 11

10

00

0

X

1

X

00

1

1

X

1

00

0

1

X

0

01

0

0

0

0

01

X

0

0

1

01

0

X

1

X

11

0

0

1

1

11

0

0

0

0

11

0

0

1

1

10

0

0

X

1

10

0

0

0

X

10

0

0

1

0

f1

f2

f3

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’

f1

c

b

f2

d

c

b’

a

d’

d’

c’

f3

a b

Figura 7.7: Ver ejercicio 7.9

7.10 Diseñe un circuito de compuertas lógicas NOR P mínimo de dos niveles para implementar las funciones f (a, b, c, d) = m(1, 2, 4, 5, 6, 8, 10, 12, 14) 1 P 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

f1

f2

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. X Z1 (a, b, c, d) = m(0, 1, 7, 8, 9) X Z2 (a, b, c, d) = m(0, 2, 6, 7, 8, 9, 10, 13, 15) X Z3 (a, b, c, d) = m(0, 2, 6, 7, 8, 10)

Capítulo 7: Diseño de circuitos combinacionales

47

c’ a’ c’ d’

d’ a’

f1

d’

a b c d

a b c d

f1

a c’ d’

a a’ c d’

d’ c

f2

d’

f2

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 Z1 , Z2 y Z3 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

d’

a’ b c d

a’ b c

b’

a b d

d’

z3

z2

a b’ c’

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. X F(x, y, z, u) = m(0, 1, 2, 3, 4, 5, 8, 9, 11, 12) X G(x, y, z, u) = m(1, 2, 6, 7, 8, 9, 10, 12, 14) X H (x, y, z, u) = m(3, 4, 5, 6, 7, 8, 10, 11, 12, 14) 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

x

x’

F

y’ z’

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 x’

F

y’ z’

u’ z

u’ x

G

u’ x’ y z’ x’ y z

H

Figura 7.12: Solución utilizando compuertas AND-OR compartidas

7.13 Sean las siguientes funciones Booleanas de 4 variables: X f 1 (a, b, c, d) = m(0, 2, 6, 10, 11, 14, 15) X f 2 (a, b, c, d) = m(0, 3, 6, 7, 8, 9, 12, 13, 14, 15) X 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

f1

f2

f3

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’

a c a’ b’ d’

f1

c

b c

f2

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

f3

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

f1

a’ b’ c’ d’

a

c’

b

c

f2

a’ c d

b

c’

f3

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

f1

c

a

b

f2

d

f3

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

ACF

BCE

BCF

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) X f 2 (a, b, c, d) = m(1, 3, 6, 11, 12, 14, 15) X f 3 (a, b, c, d) = 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. CBA 0 1 2 1

E

DECOD 3−a−8

0 1 2 3 4 5 6 7

I7 I6 I5 Z

I4 I3 I2 I1 I0

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

P 8.2 Implemente la función f (a, b, c, d) = m(1, 3, 4, 9, 14, 15) usando sólo un multiplexor de 4 entradas y compuertas NOR. Solución La figura 8.2 muestra una posible solución.

c d c d’

d

c

0 1 Z 2 3A B

f(a, b, c, d)

a b Figura 8.2: Solución al ejercicio 8.2 usando compuertas NOR

P 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 b 3a

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 I0 Si AB = 01, se selecciona la entrada I1 Si AB = 1−, se selecciona la entrada I2 Solución La figura 8.4 muestra una posible solución.

Capítulo 8: Bloques estandarizados

I0

0

I1

1s

z

58

0 z I2

Z

1 s

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

I0 I1 I2 I3

I4 I5 I6 I7

0 1 2 3 a b z

0 1 2 3 a b z

0 1 az

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 I7

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 sdr = 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 sdr = 111, el nuevo bit z0 corresponde al bit x3 . Diseñe este circuito usando sólo multiplexores de 4 entradas. Utilice tantos como encuentre necesario. 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, x7 . . . x0 , y una salida z, además de tres señales de control Y = y2 y1 y0 , tal que si Y = 110, entonces z = x6 . 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

s d

0 x3

0 1 2 3 a b z

0 1 2 3 a b z

1 r

x3

zx21

x1

x0

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

z3

z2

z1

z0

Figura 8.7: Circuito desplazador/rotador

x0

0

x1

1s

z 0 z 1s

x2

0

x3

1s

z 0 z

z

1s

x4

0

x5

1s

z 0 z 1s

x6

0

x7

1s

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, z2 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 b0 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. r3r2r1r0 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.

x0 x1 x2 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

y0 y1 y2 Figura 8.12: Solución al problema 8.13 usando un codificador.

b) La figura 8.13 muestra una posible solución.

x2 x1 x0

x1 x0 0

x x x

y y y 2 1 0 c in z z z

2 1 0

c

out

2 1 0

y2 y1 y0 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 zi y cout pueden P implementarse con P 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 P P 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 x2 x1 x0 y que tenga 6 salidas Z0 a Z5 . La entrada sólo toma valores en el rango 000 a 101, y sólo la salida Zi está activa cuando la secuencia de entrada sea igual a i, para 0 ≤ i ≤ 5. Realice este diseño utilizando sólo un decodificador 2-a-4, un decodificador 1-a-2, y un número mínimo de compuertas AND de 2 entradas. Suponga además que Ud. no dispone del complemento de los bits de entrada. Solución La solución básica conecta x1 x0 a las entradas del decodificador 2-a-4, la entrada x2 a la entrada del decodificador 1-a-2, y utiliza 6 compuertas AND de 2 entradas para generar las seis salidas Z0 a Z5 . 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 Z9 , tal que Zi = 0 si X3 X2 X1 X0 = i, o 1 en otro caso. Suponga que el circuito sólo recibe dígitos decimales BCD8421 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 BCD8421 válidos, entonces solamente es necesario generar las salidas correspondientes a Z8

Capítulo 8: Bloques estandarizados

65

y Z9 . El circuito de la figura 8.15 muestra una posible solución, que utiliza sólo 2 compuertas NAND de 2 entradas. Z9 Z8 X2 X1 X0

X3

S2 S1 S0

1

G1 G2

Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0

Z7 Z6 Z5 Z4 Z3 Z2 Z1 Z0

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 buffers 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 carryin = 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 carryout = 1. Asimismo, si X = 7, Y = 6, y carryin = 0, entonces las salidas de su circuito deben ser Z = 3 y carryout = 1.

Capítulo 8: Bloques estandarizados Y

X

4

0 s

A

X

4

1

0 s

z 4

Y

Y

4

z

X

4

4

1

66

4

Y 4

A

4

4

A

X

4

4

A

B

B A−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: nótese que el resultado de la suma decimal si X + Y > 9 puede obtenerse sumando 6 al resultado de la suma binaria. Solución La figura 8.17 muestra una posible solución.

X3 X2 X1 X0

Y3 Y2 Y1 Y0

x x x x

y y y y 3 2 1 0 c in z z z z

3 2 1 0

c

out

0

3 2 1 0

Carryin

0

x x x x

y y y y 3 2 1 0 c in z z z z

3 2 1 0

c

out

0

3 2 1 0

Carryout Z3 Z2 Z1 Z0 Figura 8.17: Sumador BCD construido con sumadores binarios

8.19 Sean X = x3 x2 x1 x0 e Y = y3 y2 y1 y0 , respectivamente. Entonces, a) Diseñe un circuito complementador de 4 bits. Este circuito posee 4 bits de entrada A = a3 a2 a1 a0 , 4 bits de salida B = b3 b2 b1 b0 y una

Capítulo 8: Bloques estandarizados

67

señal de control C. Si C = 0, B debe ser igual a la entrada A. Si C = 1, la salida B debe ser el complemento a 1 de A, es decir, [A]1 . b) Use ahora su circuito complementador de 4 bits y 4 sumadores completos para diseñar un circuito sumador/restador de 4 bits, que reciba como entradas las variables X e Y , de 4 bits cada una, y una señal adicional T que controla la operación del circuito. Las salidas del circuito son Z = z3 z2 z1 z0 y un bit adicional W . Este circuito debe calcular la operación X + Y cuando T es 0, y X − Y en caso contrario. Recuerde que −P = [P]2 = [P]1 + 1 Solución a) La figura 8.18 muestra una posible solución, construida con buffers 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 un circuito sumador/restador construido utilizando el circuito complementador de 4 bits anterior y 4 sumadores completos.

Y3

Y2

Y1

Y0

T

W

X3

X2

X1

X0

xi yi cout cin zi FA

xi yi cout cin zi FA

xi yi cout cin zi FA

xi yi cout cin zi FA

Z3

Z2

Z1

Z0

Figura 8.19: Circuito sumador/restador de 4 bits

Capítulo 8: Bloques estandarizados

68

8.20 Se desea diseñar un circuito comparador de 2 bits. Las entradas al circuito son los números A = a1 a0 y B = b1 b0 , y las salidas son los tres bits Z≥ Z= Z≤ , donde Z≥ = 1 si A ≥ B, Z= = 1 si A = B, y Z≤ = 1 si A ≤ B. a) Suponga que Ud. dispone sólo de compuertas NOR de 3 entradas, pero que las entradas A = a1 a0 y B = b1 b0 están disponibles en sus versiones directas y complementadas. Cada compuerta NOR 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) Suponga ahora que le regalan un circuito decodificador 4-a-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 Z2 = Z≥ , Z1 = Z= y Z0 = Z≤ . Esta solución hace uso de la 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 a’0 a’1 b0

Z2

0

Z1

Z0

Figura 8.20: Comparador diseñado usando compuertas NOR de 3 entradas

b) La figura 8.21 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 Z0 = 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

Z1

0

Z0

0

Z2

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, b3 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

70

a) Diseñar y dibujar el circuito sumador completo usando sólo multiplexores 8:1 b) Diseñar y dibujar el circuito sumador completo usando sólo multiplexores 4:1 Solución a) La figura 8.23 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 2 1 0

Cout

0 0 0 1 0 1 1 1

0 1 2 3 4 5 6 7 2 1 0

Sum

Ai Bi Cin

Ai Bi Cin

Figura 8.23: Sumador completo implementado con multiplexores 8:1

b) La figura 8.24 muestra una posible solución que utiliza sólo multiplexores 4:1

0 Ai A’i 1

0 1 2 3 1 0 Bi Cin

Cout

Ai A’i A’i Ai

0 1 2 3 1 0

Sum

Bi Cin

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 tanto el resultado de la suma en código Gray como el rebalse. Por ejemplo, 0110Gray + 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 correspondientes a las sumas 4 + 7, 7 + 0, 9 + 3 y 7 + 7.

Capítulo 8: Bloques estandarizados

71

Solución La figura 8.25 muestra el diagrama de bloques del sumador Gray. Asimismo, la siguiente tabla muestra el contenido de la memoria ROM para las entradas. Dirección

Salida

0110 0100 0100 0000 1101 0010 0100 0100

1 0001 0 0100 1 0011 1 0110

Xgray

Ygray

Direccion

MSB

LSB

Memoria ROM 256x5

Salida

MSB

LSB

Zgray Figura 8.25: Sumador Gray implementado con memoria ROM

8.24 Implemente las funciones

f 1 (a, b, c, d) =

X

m(1, 2, 4, 5, 6, 8, 10, 12, 14)

f 2 (a, b, c, d) =

X

m(2, 4, 6, 8, 10, 11, 12, 14, 15)

usando PLAs. Proporcione las tablas de las PLAs y el diagrama de conexiones internas de las mismas. Solución La figura 8.26 implementa una posible solución al problema.

Capítulo 8: Bloques estandarizados

a

b

c

72

d

cd’ ad’ bd’ a’c’d ac

f1 f2 Figura 8.26: Circuito PLA que implementa una solución al ejercicio 24

8.25 Utilice una PLA para implementar las ecuaciones:

X =A′ BD + A′ C ′ + C ′ D ′ Y =A′ C ′ + A′ D + C ′ D ′ + AC Z =CD + A′ C ′ + A′ B′ D Solución La figura 8.27 muestra una posible solución al problema. 8.26 Se desea diseñar un circuito combinacional que reciba como entrada un número decimal en código BCD8421, y tenga como salida el cuociente Q y el resto R de la división de este número por 3, cada uno representado en 2 bits, a saber, Q1 Q0 y R1 R0 . a) Diseñe este circuito mínimo de dos niveles utilizando compuertas NAND b) Diseñe este circuito utilizando una PLA c) Diseñe este circuito utilizando una memoria ROM Solución Sean las entradas X = X3 X2 X1 X0 y las salidas Q = Q1 Q0 y R = R1 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 X2 X1 X3

= = = =

X3 + 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

X2 X’1

X’2 X1 X’0 X2 X’1 X0 X3 X’0

X’2 X1 X0 Q0

X3 X0 R1

X2 X1 X0 X2 X’1 X’0

R0

X’3 X’2 X’1 X0

Figura 8.28: Circuito usando NANDs. Ver ejercicio 8.26

Capítulo 8: Bloques estandarizados

74

b) Circuito utilizando una PLA

X3

X2

X1

X0

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 R1 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: P F1 (A, B, C, D) = P m(2, 3, 5, 6, 7, 8, 10) F2 (A, B, C, D) = P m(0, 1, 2, 3, 5, 7, 8, 10) F3 (A, B, C, D) = 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

Q(t)

Q(t + △t)

0 0 1 1

0 1 0 1

80

MN

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 J

Reloj

Q

K Q’

J

Q

K Q’

J

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 0 1 0 1 0 1 0 1

A+ 0 0 − 1 − 1 − 0

B+ 0 1 − 0 − 1 − 0

C+ 1 1 − 1 − 1 − 0

JA 0 0 − 1 − − − −

KA − − − − − 0 − 1

JB 0 1 − − − 1 − −

KB − − − 1 − − − 1

c) Las ecuaciones de excitación son: JA = B, KA = B JB = C, KB = 1 JC = 1, KC = 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.

JC 1 − − − − − − −

KC − 0 − 0 − 0 − 1

Capítulo 10: Registros y contadores

J

83

A

A

K A’ J

1

B

B

K B’ J

C

C

K 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 0

01 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

84

X =0 X =1 TA TB TA TB 01 10 10 01 01 10 10 01

De estas tablas, se puede ver que las ecuaciones de excitación son TA = A ⊕ B ⊕ X y TB = 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

Q

CLK

Q

CLK K

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/FC

Figura 11.3: Ver ejercicio 11.2

Capítulo 11: Análisis de circuitos secuenciales sincrónicos

87

YXCC' B B' A A' D

Q

Z

CLK

Q

F/FC

D

Q

CLK

Q

F/FB

D

Q

CLK

Q

F/FA 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. TA 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

000

1

1

1

0

011

89

101

0

1

0 0

110

010 0

0

1

0

001 1

0

1

111 1

100

Figura 11.7: Ver ejercicio 11.5

T

Q

A CLR

D

Q

R

Q’

S CLR Q’

B Q’

CLR

Q

C

Clock

Figura 11.8: Ejercicio 6: Circuito a analizar.

para sus entradas de excitación como para la entrada de inicialización asincrónica CLR. Los valores iniciales de A, B, C y CLR 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’

J

C

K C’

X Reloj

Figura 11.12: Ver ejercicio 11.7

b) Las ecuaciones de excitación son: TA = A + B TB = A′ + B JC = A ⊕ B, KC = 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 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1

TB 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1

JC 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0

KC 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) categorice el circuito como una máquina de Mealy o de Moore b) determine las ecuaciones de excitación c) genere las tablas de excitación d) genere la tabla de estados y el diagrama de estados del circuito

T A

Z A’

T B B’

J

C

K C’

X 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: TA = A′ B′ DB = A′ + B JC = A ⊕ B Z = ABCX

KC = 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 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

TA 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0

DB 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1

JC 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0

KC 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 Si corresponde a la i-ésima combinación de las variables de estado A, B y C.

ABC S0 S1 S2 S3 S4 S5 S6 S7

X =0 A+ B+ C + S6 S7 S3 S3 S5 S5 S6 S7

Z 0 0 0 0 0 0 0 0

X =1 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

S2

S4

S0

S1

X/0

X/0

S6

S7

S3

S5

X/0

0/0 1/1

0/0

0/0

X/0 1/0

X/0 1/0

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 z1 = 1. Si el valor actual de X es menor que el valor anterior, entonces z2 = 1. En caso contrario, z1 z2 = 0. a) Realice este circuito como un máquina de Mealy usando flip-flops JK. 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 t0 a t3 se reciben los bits x0 x1 x2 x3 = 1110, correspondientes al dígito decimal 4 codificado en exceso-3, la salida del circuito en los instantes t0 a t3 debe ser z0 z1 z2 z3 = 0100 Diseñe su circuito utilizando tres flip-flops D, compuertas lógicas NAND y NOR. Asigne el código 000 al estado inicial. Su solución no debiera utilizar mas de 8 compuertas lógicas. 12.8 Diseñe un sistema secuencial sincrónico con una entrada, X, y una 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 X

Q

J

Q

B

A

K 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

S3

1

0

0

0 1

0

S5

S4 0

0

0 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.

1 1

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

ABC 000 001 010 011 100 101 110 111

X =0 A+ B+ C + 000 010 000 100 000 100 010 XXX

X =1 A+ B+ C + 001 110 011 110 101 110 110 XXX

Z 0 0 0 0 0 1 1 X

Entonces, las ecuaciones de excitación y de salida son: JA = CX + BC KA = C ′ X ′

JB = CX + A′ C KB = A ′ X ′

JC = A ′ X + B ′ X KC = 1

Z = AB + AC 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 Q

A

J

K Q’

Q

B

J

Q

K Q’

J

K Q’

C

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 SR. Dibuje el circuito combinacional resultante. Solución Una posible solución utiliza 3 flip-flops SR para realizar el diagrama de 7 estados final. Las ecuaciones finales son: SA = 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

Bibliografía

101

[11] M. Morris Mano and Charles R. Kime. Fundamentos de diseño lógico y de computadoras. Pearson Educación S. A., Madrid, España, 3rd. edition, 2005. ISBN 9788420543994. [12] Alan B. Marcovitz. Introduction to Logic and Computer Design. McGrawHill, Boston, MA, 2008. ISBN 9780073529493. [13] Hans H. Rautenberg. Diseño de circuitos digitales. Universidad de Concepción, Concepción, Chile, 3rd. edition, 2005. ISBN 9789568029661. [14] Charles H. Roth, Jr. Fundamentos de diseño lógico. Thomson Learning, Ciudad de México, México, 5th. edition, 2005. ISBN 9788497322867. [15] Ronald J. Tocci. Sistemas digitales: Principios y aplicaciones. Prentice-Hall Hispanoamericana, Ciudad de México, México, 6th. edition, 1996. ISBN 9789688807378. [16] Roger L. Tokheim. Principios digitales. McGraw-Hill Interamericana, Madrid, España, 3rd. edition, 1992. ISBN 9780070650503.

Related Documents


More Documents from "Angel Garcia"