Lógica – FCE

CIRCUITOS LÓGICOS

1. ALGEBRA DE BOOLE 1.1 Introducción Tanto la teoría de conjuntos como la lógica de enunciados tienen propiedades similares. Tales propiedades se utilizan para definir una estructura matemática denominada álgebra de Boole, en honor al matemático George Boole (1813-1864). 1.2 Definición de álgebra de Boole Sea B un conjunto en el cual se definen dos operaciones binarias, + y *, y una operación unitaria denotada ; sean 0 y 1 dos elementos diferentes de B. Entonces la sextupla: 〈B, +, *, , 0, 1〉 se denomina álgebra de Boole si se cumplen los siguientes axiomas para cualesquiera elementos a, b, c del conjunto B: [B1] [B2] [B3] [B4] Conmutatividad: (1a) a + b = b + a Distributividad: (2a) a + (b * c) = (a + b) * (a + c) Identidad: (3a) a + 0 = a Complemento: (4a) a + a = 1 (1b) (2b) (3b) (4b) a*b=b*a a * (b + c) = (a * b) + (a * c) a*1=a

a* a =0

1.3 Terminología y convenciones • Las operaciones + y * se denominan suma y producto, respectivamente. • La operación a se denomina complemento de a. • El elemento 0 se denomina elemento cero (neutro respecto de la suma).

1

• El elemento 1 se denomina elemento unidad (neutro respecto del producto). • Por convención, omitimos el símbolo *, usándose en su lugar la yuxtaposición; de este modo, (2a) y (2b) se escriben: (2a) a + bc = (a + b) (a + c) (2b) a (b + c) = ab + ac ; por • Por convención, establecemos que + es más fuerte que * y * es más fuerte que ejemplo:

a + b * c significa a + (b * c) y no a* b significa a * ( b ) y no
1.4 Dualidad

(a + b) * c ( a * b)

En un álgebra de Boole B, el dual de cualquier enunciado es el enunciado obtenido de intercambiar las operaciones + y *, e intercambiar los elementos neutros 0 y 1 en el enunciado original. Por ejemplo: el dual de (1 + a) * (b + 0) = b es (0 * a) + (b * 1) = b

Con esta definición de dualidad puede observarse que, en la definición de álgebra de Boole, los axiomas del grupo (1) son duales de los axiomas del grupo (2) y viceversa. En otras palabras, el dual de cualquier axioma de B también es un axioma. En consecuencia, se cumple el siguiente teorema: Teorema 1.1 (Principio de dualidad): En un álgebra de Boole, el dual de cualquier teorema es también un teorema. Esto significa que, si cualquier teorema es una consecuencia de los axiomas de un álgebra de Boole, entonces el dual también es una consecuencia de estos axiomas ya que se puede probar usando el dual en cada paso de la demostración original. 1.5 Teoremas básicos Utilizando los axiomas de la definición de un álgebra de Boole, pueden demostrarse los siguientes teoremas: Teorema 1.2: Sean a, b, c elementos cualesquiera de un álgebra de Boole B, se cumple: (i) (ii) (iii) Idempotencia: (5a) a + a = a Acotamiento: (6a) a + 1 = 1 Absorción: (7a) a + (a * b) = a (5b) (6b) (7b)

a*a=a a*0=0 a * ( a + b) = a

2

(iv) Asociatividad: (8a) (a + b) + c = a + (b + c) (8b) (a * b) * c = a * (b * c) Teorema 1. b. Por ejemplo. b . • Una expresión booleana E en estas variables es o una variable o una expresión construida con estas variables y usando las operaciones booleanas +. a.6 Forma de suma de productos p ∧ (q ∨ r) ↔ (p ∧ q) ∨ (p ∧ r) p∨p↔p p ∨ (p ∧ q) ↔ p ¬(p ∧ q) ↔ ¬p ∨ ¬q Considérese un conjunto de variables a. … . abc son 3 . se cumple: (i) (ii) (iii) Unicidad del complemento: Si a + x = 1 y a * x = 0. el complemento por la negación. a. • Un producto fundamental es un literal o un producto de dos o más literales en el cual no hay dos literales con la misma variable. c. * o . bc . la suma y el producto por la disyunción y la conjunción respectivamente. la igualdad por el bicondicional. todos los axiomas y teoremas del álgebra de Boole se transforman en axiomas o teoremas de la lógica de enunciados. Por ejemplo: (2b) a * (b + c) = (a * b) + (a * c) (5a) a + a = a (7a) a + (a * b) = a (10b) a * b = a + b 1. si se reemplazan las variables a. ac . d. … por variables proposicionales. entonces x = a Involución: a =a (9a) 0 =1 (9b) 1 =0 Teorema 1.4: Leyes de De Morgan (10a) a + b = a * b (10b) a * b = a + b Es importante insistir que el álgebra de Boole es la estructura algebraica de la lógica de enunciados. c.3: Sea a un elemento cualquiera de un álgebra de Boole B. Por ejemplo. b. y 1 y 0 por V y F respectivamente. las siguientes son expresiones booleanas: (a + bc ) + (abc + ab) (( abc + b) + ac) • Un literal es una variable o una variable complementada. b son literales. b. a . En efecto. Por ejemplo. abc .

NAND. • Una expresión booleana E está en forma de suma de productos si E es un producto fundamental o una suma de dos o más productos fundamentales. NOT. 0 o 1. • Compuertas lógicas derivadas: NOR.1 Introducción Un circuito lógico es un dispositivo que tienen una o más entradas y exactamente una salida. mientras que el segundo contiene b dos veces. abac y abcb no son productos fundamentales: el primero contiene a y a . estos datos son procesados por el circuito para dar un valor en su salida. V 1 0 0 1 1 1 0 0 t Los circuitos lógicos se construyen a partir de ciertos circuitos elementales denominados compuertas lógicas. Por ejemplo. CIRCUITOS LÓGICOS 2.productos fundamentales. un voltaje nulo y no nulo en un conductor. 2. Los valores 0 y 1 pueden representar ciertas situaciones físicas como. 2. la siguiente expresión está en suma de productos: ac + abc + abc Pero la siguiente expresión no está en forma de suma de productos: ac + aba + abc ya que el segundo término no es un producto fundamental. por ejemplo. entre las cuales diferenciaremos: • Compuertas lógicas básicas: OR. En cambio. AND. 0 o 1.2 Compuerta OR En una compuerta OR con entradas A y B. En cada instante cada entrada tiene un valor. la salida Y resulta: Y = A+ B donde la suma se define por la siguiente tabla: 4 .

la salida Y resulta: Y = A∗ B donde el producto se define por la siguiente tabla: A 0 0 1 1 B 0 1 0 1 Y=A*B 0 0 0 1 La compuerta AND se representa del siguiente modo: A Y B 5 .A 0 0 1 1 B 0 1 0 1 Y=A+B 0 1 1 1 La compuerta OR se representa del siguiente modo: A Y B La compuerta OR también puede tener más de dos entradas: A B C D Y donde la salida Y=A+B+C+D puede obtenerse asociando los sumandos: Y = A + B + C + D = ( A + B ) + (C + D ) = (( A + B ) + C ) + D 2.3 Compuerta AND En una compuerta AND con entradas A y B.

La compuerta AND también puede tener más de dos entradas: A B C D Y donde la salida Y=A*B*C*D puede obtenerse asociando los factores: Y = A ∗ B ∗ C ∗ D = ( A ∗ B ) ∗ (C ∗ D ) = (( A ∗ B ) ∗ C ) ∗ D 2. NOR NAND 6 .4 Compuerta NOT En una compuerta NOT con entrada A. Una compuerta NOR equivale a una compuerta OR seguida de una compuerta NOT. Una compuerta NAND equivale a una compuerta AND seguida de una compuerta NOT. la salida Y resulta: Y=A donde el complemento se define por la siguiente tabla: A 1 0 Y 0 1 La compuerta NOT se representa del siguiente modo: A Y 2.5 Compuertas NOR y NAND Las compuertas NOR y NAND no son básicas.

• Establecemos que + es más fuerte que * y * es más fuerte que . las salidas de estas compuertas resultan: • NOR: • NAND: Y = A+ B Y = A∗ B 2. de los cuales tales compuertas son elementos. entonces. la salida de un circuito lógico también puede expresarse en el lenguaje de la lógica de enunciados.6 Circuitos lógicos Los circuitos lógicos se forman combinando compuertas lógicas. Por ejemplo. aquí las mismas convenciones adoptadas en el caso del álgebra de Boole: • Omitimos el símbolo *. La salida de un circuito lógico se obtiene combinando las tablas correspondientes a sus compuertas componentes. la salida del circuito anterior resulta: ( A + B) ∗ C (¬p ∨ q) ∧ ¬r 7 . Por lo tanto. forman un álgebra de Boole al igual que los enunciados de la lógica de enunciados. AND y NOT son respectivamente idénticas a las tablas de verdad de la disyunción. cuando las entradas son A y B. Adoptaremos. donde sólo se ha cambiado V y F por 0 y 1. los circuitos lógicos. Por ejemplo: Y = ( A + B) ∗ C A B C Y Es fácil notar que las tablas correspondientes a las compuertas OR. Puesto que tanto el álgebra de Boole es la estructura algebraica tanto de los circuitos como de la lógica de enunciados. usándose en su lugar la yuxtaposición de variables.Por lo tanto. la conjunción y la negación en la lógica de enunciados.

Sea ahora F una expresión booleana de suma de productos equivalente a E. si E es la siguiente expresión: abc + abd + abcd + abcd entonces EL=14 y ES=4. expresada en el lenguaje de la lógica de enunciados. EL denota el número de literales en E (contados con sus repeticiones) y ES denota el número de sumandos en E. Decimos que E es más simple que F si se cumple que: EL ≤ FL y ES ≤ FS y por lo menos una de las relaciones es una desigualdad estricta. Aquí nos concentraremos en la forma minimal de las expresiones booleanas que están en forma de suma de productos. 8 .1 Expresiones booleanas minimales ¬((¬(p ∨ q ∨ r) ∨ (s ∧ t)) ∧ s ∧ t ∧ ¬t) Considérese una expresión E en un álgebra de Boole B. sea en algún sentido mínima. lograríamos minimizar la cantidad de compuertas lógicas utilizadas para implementar la operación buscada. SIMPLIFICACIÓN DE CIRCUITOS 3. resulta: (( A + B + C ) + DE ) DE E 3. siendo equivalente a la expresión original. es posible que pretendamos obtener una expresión F que.Ejemplo: Y = (( A + B + C ) + DE ) DE E A B C D E Y La salida de este circuito. Como E puede representar un circuito lógico. Si E es una expresión booleana en forma de suma de productos. de esta forma. Por ejemplo. con la consiguiente economía de recursos.

B. • Los pares de productos ABCD y ABC D . C. • Los pares de productos ABCD y ABCD . D}: • Entre los productos fundamentales ABC . o ABCD y ABCD .3 Mapas de Karnaugh de dos variables Sean las variables A y B. 3. A2. tres y cuatro variables. o ABCD y ABCD no son adyacentes porque difieren en más de un literal. En un mapa de Karnaugh. respetando la relación de adyacencia: A B B A 9 . y la relación de adyacencia entre tales productos es representada por la adyacencia geométrica. De tales productos fundamentales. …. pueden con ellas formarse los productos fundamentales Pi que contienen todas las variables.2 Mapas de Karnaugh El método de los mapas de Karnaugh es un método gráfico para encontrar las formas minimales de sumas de productos para expresiones booleanas que involucran un máximo de seis variables. el cual tiene que ser una variable complementada en uno de los productos y no complementada en el otro. ABC . o ABCD y ABC D .Definición: Una expresión booleana E está en forma minimal de suma de productos si está en forma de suma de productos y no hay ninguna otra expresión equivalente en forma de suma de productos que sea más simple que E. si el conjunto de variables es {A. que es una variable complementada en uno de los productos y no complementada en el otro. 3. Dado un conjunto de variables {A1. Aquí sólo trataremos los casos de dos. AN}. o bien en su forma complementada o bien en su forma no complementada. Por ejemplo. o ABCD y ABCD son adyacentes. se dice que P1 y P2 son adyacentes si difieren exactamente en un literal. Con ellas pueden formarse cuatro productos fundamentales Pi que contienen todas las variables: AB AB AB AB Cada uno de estos productos será representado por un cuadrado en la siguiente gráfica. porque difieren exactamente en un literal. ACD no puede predicarse la relación de adyacencia. porque tales productos no contienen todas las variables. cada uno de los productos fundamentales Pi que contienen todas las variables es representado gráficamente por un cuadrado.

todos los productos fundamentales se representan mediante grupos de 2n (20 o 21) cuadrados adyacentes: A A B B X P = AB (20=1 cuadrado) A A B B X P = AB (20=1 cuadrado) A A X B B P = AB (20=1 cuadrado) A A B B X P = AB (20=1 cuadrado) A A B B X P = A (21=2 cuadrados) X 10 .En esta gráfica.

B y C.4 Mapas de Karnaugh de tres variables Sean las variables A.A A X B B P = A (21=2 cuadrados) X A A X B B X P = B (21=2 cuadrados) A A B B X X P = B (21=2 cuadrados) 3. Con ellas pueden formarse ocho productos fundamentales Pi que contienen todas las variables: ABC ABC ABC ABC ABC ABC ABC ABC Cada uno de estos productos será representado por un cuadrado en la siguiente gráfica. respetando la relación de adyacencia: AB C AB AB AB C 11 .

todos los productos fundamentales se representan mediante grupos de 2n (20 o 21 o 22) cuadrados adyacentes. los cuadrados de los extremos izquierdo y derecho también se consideran adyacentes entre sí. AB AB AB AB En esta gráfica. en este caso. AB C X AB AB AB P = ABC (20=1 cuadrado) C AB C AB X AB AB P = ABC (20=1 cuadrado) C AB C AB AB X AB P = ABC (20=1 cuadrado) C 12 .Nótese que. como si la gráfica fuera un cilindro unido por ambos extremos.

AB C AB AB AB X P = ABC (20=1 cuadrado) C AB C AB AB AB P = ABC (20=1 cuadrado) X C AB C AB AB AB P = ABC (20=1 cuadrado) X C AB C AB AB AB P = ABC (20=1 cuadrado) X C AB C AB AB AB P = ABC (20=1 cuadrado) X C 13 .

AB C X X AB AB AB P = AB (21=2 cuadrados) C AB C AB X AB AB P = AB (21=2 cuadrados) C X AB C AB AB X AB P = AB (21=2 cuadrados) C X AB C AB AB AB X P = AB (21=2 cuadrados) C X AB C X AB X AB AB P = AC (21=2 cuadrados) C 14 .

AB C AB AB AB P = AC (21=2 cuadrados) X X C AB C AB X AB X AB P = BC (21=2 cuadrados) C AB C AB AB AB P = BC (21=2 cuadrados) X X C AB C AB AB X AB X P = AC (21=2 cuadrados) C AB C AB AB AB P = AC (21=2 cuadrados) X X C 15 .

AB C X AB AB AB X P = BC (21=2 cuadrados) C AB C AB AB AB P = BC (21=2 cuadrados) X X C AB C X AB X AB AB P = A (22=4 cuadrados) C X X AB C AB X AB X AB P = B (22=4 cuadrados) C X X AB C AB AB X AB X P = A (22=4 cuadrados) C X X 16 .

Con ellas pueden formarse dieciséis productos fundamentales Pi que contienen todas las variables: ABCD ABCD ABC D ABCD ABC D ABCD ABC D ABCD ABC D ABCD ABC D ABCD ABC D ABCD ABC D ABC D Cada uno de estos productos será representado por un cuadrado en la siguiente gráfica. B.5 Mapas de Karnaugh de cuatro variables Sean las variables A. C y D.AB C X AB AB AB X P = B (22=4 cuadrados) C X X AB C X AB X AB X AB X P = C (22=4 cuadrados) C AB C AB AB AB P = C (22=4 cuadrados) X X X X C 3. respetando la relación de adyacencia: 17 .

en este caso los cuadrados de los extremos izquierdo y derecho también se consideran adyacentes entre sí.AB CD AB AB AB CD CD CD Análogamente al caso de tres variables. y los cuadrados de los extremos superior e inferior también se consideran adyacentes entre sí. En esta gráfica. Dada la cantidad de productos fundamentales. AB CD AB AB AB CD CD CD X P = ABC D (20=1 cuadrado) 18 . sólo presentaremos algunos casos. todos los productos fundamentales se representan mediante grupos de 2n (20 o 21 o 22 o 23) cuadrados adyacentes.

AB CD AB AB AB CD CD CD X P = ABCD (20=1 cuadrado) AB CD AB AB AB CD CD CD X P = ABD (21=2 cuadrados) X AB CD X AB AB AB X CD CD CD P = BCD (21=2 cuadrados) 19 .

AB CD AB X AB AB CD CD X P = ABD (21=2 cuadrados) CD AB CD AB AB AB CD CD CD X X P = BC D (21=2 cuadrados) AB CD AB AB AB CD CD CD X X P = AD (22=4 cuadrados) X X 20 .

AB CD AB X AB X AB CD CD CD X X P = BD (22=4 cuadrados) AB CD AB AB AB CD CD CD X X P = BD (22=4 cuadrados) X X AB CD X AB AB AB X CD CD CD X X P = BD (22=4 cuadrados) 21 .

AB CD AB X AB X AB CD CD CD X X X X P = B (23=8 cuadrados) X X AB CD X AB X X AB X X AB X CD CD CD X X P = C (23=8 cuadrados) AB CD AB AB X X X AB X CD CD CD X X P = A (23=8 cuadrados) X X 22 .

Veamos cómo funciona este método mediante ejemplos. 1. de acuerdo con el número de variables de E. A fin de encontrar la expresión booleana F equivalente a E en forma minimal de suma de productos. Cada óvalo debe encerrar la mayor cantidad posible de cruces. • Se escribe la expresión F como suma de los productos fundamentales representados por los óvalos resultantes. encuentre su forma minimal de suma de productos F y dibuje el circuito correspondiente.AB CD AB AB AB CD CD CD X X X X X X X X P = D (23=8 cuadrados) 3. Ejemplos Nº1: Sea la siguiente expresión E. • En dicha gráfica se representan todos los productos fundamentales de E mediante cruces. • Se encierran todas las cruces mediante óvalos que contengan 2n cruces adyacentes.a) E = AB + AB + B A A B B X X X F = A+ B 23 . se siguen los siguientes pasos: • Se construye la gráfica de Karnaugh.6 Minimización de circuitos mediante mapas de Karnaugh Considérese una expresión booleana E en forma de suma de productos.

c) E = ABC + ABC + AB + ABC + AC AB C X AB X X AB AB F1 = AC + AB + AC C X X F1 = AC + BC + AC En este caso.b) E = ABC + ABC + AB + AB AB C X X AB X AB AB X X F = AC + B C A C B F 1. puede elegirse cualquiera de los dos óvalos punteados. obteniéndose F1 si se elige el óvalo vertical y F2 si se elige el óvalo horizontal. 24 . Dibujamos el circuito correspondiente a F1.A F B 1.

encuentre su forma minimal de suma de productos F.a) E = ABCD + ABD + ABC D + ABCD + ABCD + ABCD AB CD AB AB X AB X CD X X X X F = AD + ACD + ABD CD CD X 25 . 2.A C B F1 Ejemplos Nº2: Sea la siguiente expresión E.

2.b) E = ABC + ABD + AD + BD + ABD AB CD AB X AB AB CD CD X X X X F = D + ABC X X X X CD 2.c) E = ABCD + ABD + BC D + ABD + AC D + ABC AB CD X X AB AB AB X CD CD CD X X F = ABD + C D + BD X X X X 26 .