You are on page 1of 26

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] Conmutatividad:
(1a) a + b = b + a (1b) a*b=b*a
[B2] Distributividad:
(2a) a + (b * c) = (a + b) * (a + c) (2b) a * (b + c) = (a * b) + (a * c)
[B3] Identidad:
(3a) a + 0 = a (3b) a*1=a
[B4] Complemento:
(4a) a + a = 1 (4b) 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 convención, establecemos que + es más fuerte que * y * es más fuerte que ; por
ejemplo:
a + b * c significa a + (b * c) y no (a + b) * c
a* b significa a * ( b ) y no ( a * b)

1.4 Dualidad
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) Idempotencia:
(5a) a + a = a (5b) a*a=a
(ii) Acotamiento:
(6a) a + 1 = 1 (6b) a*0=0
(iii) Absorción:
(7a) a + (a * b) = a (7b) a * ( a + b) = a

2
(iv) Asociatividad:
(8a) (a + b) + c = a + (b + c) (8b) (a * b) * c = a * (b * c)

Teorema 1.3: Sea a un elemento cualquiera de un álgebra de Boole B, se cumple:


(i) Unicidad del complemento:
Si a + x = 1 y a * x = 0, entonces x = a
(ii) Involución:
a =a
(iii) (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. En efecto, si se reemplazan las variables a, b, c, … por variables
proposicionales, la suma y el producto por la disyunción y la conjunción respectivamente,
el complemento por la negación, la igualdad por el bicondicional, y 1 y 0 por V y F
respectivamente, 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) p ∧ (q ∨ r) ↔ (p ∧ q) ∨ (p ∧ r)
(5a) a + a = a p∨p↔p
(7a) a + (a * b) = a p ∨ (p ∧ q) ↔ p
(10b) a * b = a + b ¬(p ∧ q) ↔ ¬p ∨ ¬q

1.6 Forma de suma de productos


Considérese un conjunto de variables a, b, c, d, … .

• 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 +, * o . Por
ejemplo, las siguientes son expresiones booleanas:

(a + bc ) + (abc + ab) (( abc + b) + ac)

• Un literal es una variable o una variable complementada. Por ejemplo, a, a , b, b son


literales.

• 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. Por ejemplo, ac , abc , a, b , bc , abc son

3
productos fundamentales. En cambio, abac y abcb no son productos fundamentales: el
primero contiene a y a , mientras que el segundo contiene b dos veces.

• 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. Por ejemplo, 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.

2. CIRCUITOS LÓGICOS

2.1 Introducción
Un circuito lógico es un dispositivo que tienen una o más entradas y exactamente una
salida. En cada instante cada entrada tiene un valor, 0 o 1; estos datos son procesados por
el circuito para dar un valor en su salida, 0 o 1.
Los valores 0 y 1 pueden representar ciertas situaciones físicas como, por ejemplo, un
voltaje nulo y no nulo en un conductor.

V
1 1 1 1

0 0 0 0
t

Los circuitos lógicos se construyen a partir de ciertos circuitos elementales


denominados compuertas lógicas, entre las cuales diferenciaremos:
• Compuertas lógicas básicas: OR, AND, NOT.
• Compuertas lógicas derivadas: NOR, NAND.

2.2 Compuerta OR
En una compuerta OR con entradas A y B, la salida Y resulta:
Y = A+ B
donde la suma se define por la siguiente tabla:

4
A B Y=A+B
0 0 0
0 1 1
1 0 1
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
Y
C
D

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 salida Y resulta:
Y = A∗ B
donde el producto se define por la siguiente tabla:

A B Y=A*B
0 0 0
0 1 0
1 0 0
1 1 1
La compuerta AND se representa del siguiente modo:

A
Y
B

5
La compuerta AND también puede tener más de dos entradas:

A
B Y
C
D

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.4 Compuerta NOT


En una compuerta NOT con entrada A, la salida Y resulta:
Y=A
donde el complemento se define por la siguiente tabla:

A Y
1 0
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. 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.

NOR

NAND

6
Por lo tanto, cuando las entradas son A y B, las salidas de estas compuertas resultan:
• NOR: Y = A+ B
• NAND: Y = A∗ B

2.6 Circuitos lógicos


Los circuitos lógicos se forman combinando compuertas lógicas. La salida de un
circuito lógico se obtiene combinando las tablas correspondientes a sus compuertas
componentes.
Por ejemplo:
Y = ( A + B) ∗ C

B
Y
C

Es fácil notar que las tablas correspondientes a las compuertas OR, AND y NOT son
respectivamente idénticas a las tablas de verdad de la disyunción, la conjunción y la
negación en la lógica de enunciados, donde sólo se ha cambiado V y F por 0 y 1. Por lo
tanto, los circuitos lógicos, de los cuales tales compuertas son elementos, forman un
álgebra de Boole al igual que los enunciados de la lógica de enunciados.
Adoptaremos, entonces, aquí las mismas convenciones adoptadas en el caso del
álgebra de Boole:
• Omitimos el símbolo *, usándose en su lugar la yuxtaposición de variables.
• Establecemos que + es más fuerte que * y * es más fuerte que .

Puesto que tanto el álgebra de Boole es la estructura algebraica tanto de los circuitos
como de la lógica de enunciados, la salida de un circuito lógico también puede expresarse
en el lenguaje de la lógica de enunciados. Por ejemplo, la salida del circuito anterior
resulta:
( A + B) ∗ C (¬p ∨ q) ∧ ¬r

7
Ejemplo: Y = (( A + B + C ) + DE ) DE E

A
B
C

La salida de este circuito, expresada en el lenguaje de la lógica de enunciados, resulta:

(( A + B + C ) + DE ) DE E ¬((¬(p ∨ q ∨ r) ∨ (s ∧ t)) ∧ s ∧ t ∧ ¬t)

3. SIMPLIFICACIÓN DE CIRCUITOS

3.1 Expresiones booleanas minimales


Considérese una expresión E en un álgebra de Boole B. Como E puede representar un
circuito lógico, es posible que pretendamos obtener una expresión F que, siendo
equivalente a la expresión original, sea en algún sentido mínima; de esta forma,
lograríamos minimizar la cantidad de compuertas lógicas utilizadas para implementar la
operación buscada, con la consiguiente economía de recursos. Aquí nos concentraremos en
la forma minimal de las expresiones booleanas que están en forma de suma de productos.
Si E es una expresión booleana en forma de suma de productos, EL denota el número
de literales en E (contados con sus repeticiones) y ES denota el número de sumandos en E.
Por ejemplo, si E es la siguiente expresión:
abc + abd + abcd + abcd
entonces EL=14 y ES=4.
Sea ahora F una expresión booleana de suma de productos equivalente a 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.

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

3.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. Aquí sólo trataremos los casos de dos, tres y cuatro variables.
Dado un conjunto de variables {A1, A2, …, AN}, pueden con ellas formarse los
productos fundamentales Pi que contienen todas las variables, o bien en su forma
complementada o bien en su forma no complementada. De tales productos fundamentales,
se dice que P1 y P2 son adyacentes si difieren exactamente en un literal, el cual tiene que
ser una variable complementada en uno de los productos y no complementada en el otro.
Por ejemplo, si el conjunto de variables es {A, B, C, D}:
• Entre los productos fundamentales ABC , ABC , ACD no puede predicarse la relación
de adyacencia, porque tales productos no contienen todas las variables.
• Los pares de productos ABCD y ABC D , o ABCD y ABC D , o ABCD y ABCD no
son adyacentes porque difieren en más de un literal.
• Los pares de productos ABCD y ABCD , o ABCD y ABCD , o ABCD y ABCD son
adyacentes, porque difieren exactamente en un literal, que es una variable
complementada en uno de los productos y no complementada en el otro.
En un mapa de Karnaugh, cada uno de los productos fundamentales Pi que contienen
todas las variables es representado gráficamente por un cuadrado, y la relación de
adyacencia entre tales productos es representada por la adyacencia geométrica.

3.3 Mapas de Karnaugh de dos variables


Sean las variables A y B. 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,
respetando la relación de adyacencia:
A A

9
En esta gráfica, todos los productos fundamentales se representan mediante grupos de 2n (20
o 21) cuadrados adyacentes:
A A

B X P = AB (20=1 cuadrado)

A A

B P = AB (20=1 cuadrado)

B X

A A

B X P = AB (20=1 cuadrado)

A A

B P = AB (20=1 cuadrado)

B X

A A

B X P = A (21=2 cuadrados)

B X

10
A A

B X P = A (21=2 cuadrados)

B X

A A

B X X P = B (21=2 cuadrados)

A A

B P = B (21=2 cuadrados)

B X X

3.4 Mapas de Karnaugh de tres variables


Sean las variables A, B y C. 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 AB AB AB

11
Nótese que, en este caso, los cuadrados de los extremos izquierdo y derecho también se
consideran adyacentes entre sí, como si la gráfica fuera un cilindro unido por ambos
extremos.

AB AB

AB AB

En esta gráfica, todos los productos fundamentales se representan mediante grupos de 2n (20
o 21 o 22) cuadrados adyacentes.

AB AB AB AB

C X P = ABC (20=1 cuadrado)

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

AB AB AB AB

X P = ABC (20=1 cuadrado)


C

12
AB AB AB AB

C X P = ABC (20=1 cuadrado)

AB AB AB AB

C P = ABC (20=1 cuadrado)

X
C

AB AB AB AB

C P = ABC (20=1 cuadrado)

X
C

AB AB AB AB

C P = ABC (20=1 cuadrado)

X
C

AB AB AB AB

C P = ABC (20=1 cuadrado)

X
C

13
AB AB AB AB

C X P = AB (21=2 cuadrados)

X
C

AB AB AB AB

C X P = AB (21=2 cuadrados)

X
C

AB AB AB AB
X
C P = AB (21=2 cuadrados)

X
C

AB AB AB AB

X
C P = AB (21=2 cuadrados)

X
C

AB AB AB AB

C X X P = AC (21=2 cuadrados)

14
AB AB AB AB

C P = AC (21=2 cuadrados)

X X
C

AB AB AB AB

C X X P = BC (21=2 cuadrados)

AB AB AB AB

C P = BC (21=2 cuadrados)

X X
C

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

AB AB AB AB

C P = AC (21=2 cuadrados)

X X
C

15
AB AB AB AB

C X X P = BC (21=2 cuadrados)

AB AB AB AB

C P = BC (21=2 cuadrados)

X X
C

AB AB AB AB
X X
C P = A (22=4 cuadrados)

X X
C

AB AB AB AB

C X X P = B (22=4 cuadrados)

C X X

AB AB AB AB

C X X P = A (22=4 cuadrados)

C X X

16
AB AB AB AB
X X
C P = B (22=4 cuadrados)

X X
C

AB AB AB AB

C X X X X P = C (22=4 cuadrados)

AB AB AB AB

C P = C (22=4 cuadrados)

X X X X
C

3.5 Mapas de Karnaugh de cuatro variables


Sean las variables A, B, C y D. Con ellas pueden formarse dieciséis productos
fundamentales Pi que contienen todas las variables:
ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD
ABC D ABC D ABC D ABC D ABC D ABC D ABC D ABC D
Cada uno de estos productos será representado por un cuadrado en la siguiente gráfica,
respetando la relación de adyacencia:

17
AB AB AB AB

CD

CD

CD

CD

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

AB AB AB AB

CD

CD X P = ABC D (20=1 cuadrado)

CD

CD

18
AB AB AB AB

CD

CD P = ABCD (20=1 cuadrado)

CD

X
CD

AB AB AB AB

CD

X
CD P = ABD (21=2 cuadrados)

X
CD

CD

AB AB AB AB
X X
CD

CD P = BCD (21=2 cuadrados)

CD

CD

19
AB AB AB AB

CD X

CD P = ABD (21=2 cuadrados)

CD
X
CD

AB AB AB AB

CD

CD P = BC D (21=2 cuadrados)

X X
CD

CD

AB AB AB AB

CD

X X
CD P = AD (22=4 cuadrados)

X X
CD

CD

20
AB AB AB AB
X X
CD

CD P = BD (22=4 cuadrados)

CD

X X
CD

AB AB AB AB

CD

X X
CD P = BD (22=4 cuadrados)

X X
CD

CD

AB AB AB AB

CD X X

CD P = BD (22=4 cuadrados)

CD

X X
CD

21
AB AB AB AB
X X
CD

CD X X P = B (23=8 cuadrados)

X X
CD

X X
CD

AB AB AB AB

CD X X X X

CD X X X X P = C (23=8 cuadrados)

CD

CD

AB AB AB AB

CD X X

CD X X P = A (23=8 cuadrados)

X X
CD

X X
CD

22
AB AB AB AB

CD

CD X X X X P = D (23=8 cuadrados)

X X X X
CD

CD

3.6 Minimización de circuitos mediante mapas de Karnaugh


Considérese una expresión booleana E en forma de suma de productos. A fin de
encontrar la expresión booleana F equivalente a E en forma minimal de suma de productos,
se siguen los siguientes pasos:
• Se construye la gráfica de Karnaugh, de acuerdo con el número de variables de 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.
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.
Veamos cómo funciona este método mediante ejemplos.

Ejemplos Nº1: Sea la siguiente expresión E, encuentre su forma minimal de suma de


productos F y dibuje el circuito correspondiente.

1.a) E = AB + AB + B
A A

B X F = A+ B

X X
B

23
A
F
B

1.b) E = ABC + ABC + AB + AB

AB AB AB AB

C X X X F = AC + B

X X
C

A
C
F
B

1.c) E = ABC + ABC + AB + ABC + AC

AB AB AB AB
F1 = AC + AB + AC
C X X

F1 = AC + BC + AC
X X X
C

En este caso, 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. Dibujamos el circuito
correspondiente a F1.

24
A
C

F1
B

Ejemplos Nº2: Sea la siguiente expresión E, encuentre su forma minimal de suma de


productos F.

2.a) E = ABCD + ABD + ABC D + ABCD + ABCD + ABCD

AB AB AB AB
X X
CD

CD X X F = AD + ACD + ABD

X X
CD

X
CD

25
2.b) E = ABC + ABD + AD + BD + ABD

AB AB AB AB
X
CD

X X X X
CD F = D + ABC

X X X X
CD

CD

2.c) E = ABCD + ABD + BC D + ABD + AC D + ABC

AB AB AB AB

CD X X

X
CD F = ABD + C D + BD

X X X X
CD
X X
CD

26

You might also like