Está en la página 1de 26

Lgica FCE

CIRCUITOS LGICOS

1. ALGEBRA DE BOOLE 1.1 Introduccin Tanto la teora de conjuntos como la lgica de enunciados tienen propiedades similares. Tales propiedades se utilizan para definir una estructura matemtica denominada lgebra de Boole, en honor al matemtico George Boole (1813-1864). 1.2 Definicin de lgebra de Boole Sea B un conjunto en el cual se definen dos operaciones binarias, + y *, y una operacin 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 Terminologa y convenciones Las operaciones + y * se denominan suma y producto, respectivamente. La operacin a se denomina complemento de a. El elemento 0 se denomina elemento cero (neutro respecto de la suma).

El elemento 1 se denomina elemento unidad (neutro respecto del producto). Por convencin, omitimos el smbolo *, usndose en su lugar la yuxtaposicin; de este modo, (2a) y (2b) se escriben: (2a) a + bc = (a + b) (a + c) (2b) a (b + c) = ab + ac ; por Por convencin, establecemos que + es ms fuerte que * y * es ms 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 definicin de dualidad puede observarse que, en la definicin 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 tambin 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 tambin un teorema. Esto significa que, si cualquier teorema es una consecuencia de los axiomas de un lgebra de Boole, entonces el dual tambin es una consecuencia de estos axiomas ya que se puede probar usando el dual en cada paso de la demostracin original. 1.5 Teoremas bsicos Utilizando los axiomas de la definicin 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 Absorcin: (7a) a + (a * b) = a (5b) (6b) (7b)

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

(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) (ii) (iii) Unicidad del complemento: Si a + x = 1 y a * x = 0, entonces x = a Involucin:
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 lgica de enunciados. En efecto, si se reemplazan las variables a, b, c, por variables proposicionales, la suma y el producto por la disyuncin y la conjuncin respectivamente, el complemento por la negacin, 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 lgica 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.6 Forma de suma de productos

p (q r) (p q) (p r) ppp p (p q) p (p q) p q

Considrese un conjunto de variables a, b, c, d, . Una expresin booleana E en estas variables es o una variable o una expresin 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 ms literales en el cual no hay dos literales con la misma variable. Por ejemplo, ac , abc , a, b , bc , abc son

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 expresin booleana E est en forma de suma de productos si E es un producto fundamental o una suma de dos o ms productos fundamentales. Por ejemplo, la siguiente expresin est en suma de productos:

ac + abc + abc
Pero la siguiente expresin no est en forma de suma de productos: ac + aba + abc ya que el segundo trmino no es un producto fundamental.
2. CIRCUITOS LGICOS 2.1 Introduccin

Un circuito lgico es un dispositivo que tienen una o ms 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 fsicas como, por ejemplo, un voltaje nulo y no nulo en un conductor. V

1 0 0

1 0 0 t

Los circuitos lgicos se construyen a partir de ciertos circuitos elementales denominados compuertas lgicas, entre las cuales diferenciaremos: Compuertas lgicas bsicas: OR, AND, NOT. Compuertas lgicas 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:

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 tambin puede tener ms de dos entradas:


A B 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 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

La compuerta AND tambin puede tener ms de dos entradas:


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

Y 0 1

La compuerta NOT se representa del siguiente modo:

2.5 Compuertas NOR y NAND

Las compuertas NOR y NAND no son bsicas. 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

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

2.6 Circuitos lgicos

Los circuitos lgicos se forman combinando compuertas lgicas. La salida de un circuito lgico se obtiene combinando las tablas correspondientes a sus compuertas componentes. Por ejemplo: Y = ( A + B) C A B C Y

Es fcil notar que las tablas correspondientes a las compuertas OR, AND y NOT son respectivamente idnticas a las tablas de verdad de la disyuncin, la conjuncin y la negacin en la lgica de enunciados, donde slo se ha cambiado V y F por 0 y 1. Por lo tanto, los circuitos lgicos, de los cuales tales compuertas son elementos, forman un lgebra de Boole al igual que los enunciados de la lgica de enunciados.
Adoptaremos, entonces, aqu las mismas convenciones adoptadas en el caso del lgebra de Boole: Omitimos el smbolo *, usndose en su lugar la yuxtaposicin de variables. Establecemos que + es ms fuerte que * y * es ms fuerte que . Puesto que tanto el lgebra de Boole es la estructura algebraica tanto de los circuitos como de la lgica de enunciados, la salida de un circuito lgico tambin puede expresarse en el lenguaje de la lgica de enunciados. Por ejemplo, la salida del circuito anterior resulta:
( A + B) C

(p q) r

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

A B C

D E

La salida de este circuito, expresada en el lenguaje de la lgica de enunciados, resulta: (( A + B + C ) + DE ) DE E


3. SIMPLIFICACIN DE CIRCUITOS 3.1 Expresiones booleanas minimales

(((p q r) (s t)) s t t)

Considrese una expresin E en un lgebra de Boole B. Como E puede representar un circuito lgico, es posible que pretendamos obtener una expresin F que, siendo equivalente a la expresin original, sea en algn sentido mnima; de esta forma, lograramos minimizar la cantidad de compuertas lgicas utilizadas para implementar la operacin buscada, con la consiguiente economa de recursos. Aqu nos concentraremos en la forma minimal de las expresiones booleanas que estn en forma de suma de productos. Si E es una expresin booleana en forma de suma de productos, EL denota el nmero de literales en E (contados con sus repeticiones) y ES denota el nmero de sumandos en E. Por ejemplo, si E es la siguiente expresin: abc + abd + abcd + abcd entonces EL=14 y ES=4. Sea ahora F una expresin booleana de suma de productos equivalente a E. Decimos que E es ms simple que F si se cumple que: EL FL y ES FS y por lo menos una de las relaciones es una desigualdad estricta.

Definicin: Una expresin booleana E est en forma minimal de suma de productos si est en forma de suma de productos y no hay ninguna otra expresin equivalente en forma de suma de productos que sea ms simple que E. 3.2 Mapas de Karnaugh

El mtodo de los mapas de Karnaugh es un mtodo grfico para encontrar las formas minimales de sumas de productos para expresiones booleanas que involucran un mximo de seis variables. Aqu slo 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 relacin 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 ms 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 grficamente por un cuadrado, y la relacin de adyacencia entre tales productos es representada por la adyacencia geomtrica.
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 grfica, respetando la relacin de adyacencia:

A
B
B

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

B
B

P = AB (20=1 cuadrado)

B
B
X

P = AB (20=1 cuadrado)

A
X

B
B

P = AB (20=1 cuadrado)

B
B
X

P = AB (20=1 cuadrado)

B B

P = A (21=2 cuadrados)

10

A
X

B
B

P = A (21=2 cuadrados)

A
X

B
B

P = B (21=2 cuadrados)

B
B
X X

P = B (21=2 cuadrados)

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 grfica, respetando la relacin de adyacencia:
AB C AB AB AB

11

Ntese que, en este caso, los cuadrados de los extremos izquierdo y derecho tambin se consideran adyacentes entre s, como si la grfica fuera un cilindro unido por ambos extremos.
AB AB

AB

AB

En esta grfica, todos los productos fundamentales se representan mediante grupos de 2n (20 o 21 o 22) cuadrados adyacentes.
AB C
X

AB

AB

AB

P = ABC (20=1 cuadrado)

AB C

AB
X

AB

AB

P = ABC (20=1 cuadrado)

AB C

AB

AB
X

AB

P = ABC (20=1 cuadrado)

12

AB C

AB

AB

AB
X

P = ABC (20=1 cuadrado)

AB C

AB

AB

AB

P = ABC (20=1 cuadrado)


X

AB C

AB

AB

AB

P = ABC (20=1 cuadrado)


X

AB C

AB

AB

AB

P = ABC (20=1 cuadrado)


X

AB C

AB

AB

AB

P = ABC (20=1 cuadrado)


X

13

AB C
X X

AB

AB

AB

P = AB (21=2 cuadrados)

AB C

AB
X

AB

AB

P = AB (21=2 cuadrados)

AB C

AB

AB
X

AB

P = AB (21=2 cuadrados)

AB C

AB

AB

AB
X

P = AB (21=2 cuadrados)

AB C
X

AB
X

AB

AB

P = AC (21=2 cuadrados)

14

AB C

AB

AB

AB

P = AC (21=2 cuadrados)
X X

AB C

AB
X

AB
X

AB

P = BC (21=2 cuadrados)

AB C

AB

AB

AB

P = BC (21=2 cuadrados)
X X

AB C

AB

AB
X

AB
X

P = AC (21=2 cuadrados)

AB C

AB

AB

AB

P = AC (21=2 cuadrados)
X X

15

AB C
X

AB

AB

AB
X

P = BC (21=2 cuadrados)

AB C

AB

AB

AB

P = BC (21=2 cuadrados)
X X

AB
C
X

AB
X

AB

AB

P = A (22=4 cuadrados)

AB C

AB
X

AB
X

AB

P = B (22=4 cuadrados)

AB C

AB

AB
X

AB
X

P = A (22=4 cuadrados)

16

AB C
X

AB

AB

AB
X

P = B (22=4 cuadrados)

AB C
X

AB
X

AB
X

AB
X

P = C (22=4 cuadrados)

AB C

AB

AB

AB

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

3.5 Mapas de Karnaugh de cuatro variables

Sean las variables A, B, C y D. Con ellas pueden formarse diecisis 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 grfica, respetando la relacin de adyacencia:

17

AB CD

AB

AB

AB

CD CD CD

Anlogamente al caso de tres variables, en este caso los cuadrados de los extremos izquierdo y derecho tambin se consideran adyacentes entre s, y los cuadrados de los extremos superior e inferior tambin se consideran adyacentes entre s. En esta grfica, 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, slo presentaremos algunos casos.

AB CD

AB

AB

AB

CD
CD CD

P = ABC D (20=1 cuadrado)

18

AB CD

AB

AB

AB

CD CD CD
X

P = ABCD (20=1 cuadrado)

AB CD

AB

AB

AB

CD CD CD

P = ABD (21=2 cuadrados)

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

P = AD (22=4 cuadrados)

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

P = BD (22=4 cuadrados)

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)

AB CD
X

AB
X X

AB
X X

AB
X

CD CD CD

P = C (23=8 cuadrados)

AB CD

AB

AB
X X X

AB
X

CD CD CD

X X

P = A (23=8 cuadrados)

22

AB CD

AB

AB

AB

CD CD CD

X X

X X

X X

X X

P = D (23=8 cuadrados)

3.6 Minimizacin de circuitos mediante mapas de Karnaugh

Considrese una expresin booleana E en forma de suma de productos. A fin de encontrar la expresin booleana F equivalente a E en forma minimal de suma de productos, se siguen los siguientes pasos: Se construye la grfica de Karnaugh, de acuerdo con el nmero de variables de E. En dicha grfica 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 expresin F como suma de los productos fundamentales representados por los valos resultantes. Veamos cmo funciona este mtodo mediante ejemplos.
Ejemplos N1: Sea la siguiente expresin E, encuentre su forma minimal de suma de productos F y dibuje el circuito correspondiente.

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

B
B

X X X

F = A+ B

23

A F B

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


AB
C
X X

AB
X

AB

AB
X X

F = AC + B

A C B F

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


AB C
X

AB
X X

AB

AB

F1 = AC + AB + AC

F1 = AC + BC + AC

En este caso, puede elegirse cualquiera de los dos valos punteados, obtenindose 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

Ejemplos N2: Sea la siguiente expresin E, encuentre su forma minimal de suma de productos F.

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

25

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


AB CD AB
X

AB

AB

CD CD

F = D + ABC

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

26