ap circuitos

26
1 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, 1se denomina álgebra de Boole si se cumplen los siguientes axiomas para cualesquiera elementos a, b, c del conjunto B: [B 1 ] Conmutatividad: (1a) a + b = b + a (1b) a * b = b * a [B 2 ] Distributividad: (2a) a + (b * c) = (a + b) * (a + c) (2b) a * (b + c) = (a * b) + (a * c) [B 3 ] Identidad: (3a) a + 0 = a (3b) a * 1 = a [B 4 ] 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).

Upload: joelfernandoalatancayllo

Post on 14-Apr-2017

162 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Ap circuitos

1

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

Page 2: Ap circuitos

2

• 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

Page 3: Ap circuitos

3

(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

Page 4: Ap circuitos

4

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.

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:

V

t

1

0 0

111

00

Page 5: Ap circuitos

5

La compuerta OR se representa del siguiente modo:

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

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:

La compuerta AND se representa del siguiente modo:

A B Y=A+B 0 0 0 0 1 1 1 0 1 1 1 1

A B Y=A*B 0 0 0 0 1 0 1 0 0 1 1 1

A

B

Y

A

D

Y B

C

A

B Y

Page 6: Ap circuitos

6

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

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:

La compuerta NOT se representa del siguiente modo:

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.

A Y 1 0 0 1

Y A B C D

A Y

NOR

NAND

Page 7: Ap circuitos

7

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= + ∗

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

A

B

CY

Page 8: Ap circuitos

8

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

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

(( ) )A B C DE DEE+ + + ¬ ((¬ (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.

AB C

D

E

Y

Page 9: Ap circuitos

9

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 ABCD , o ABCD y ABCD , 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 B

B

Page 10: Ap circuitos

10

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

A A B P = AB (20=1 cuadrado)

B

A A B P = AB (20=1 cuadrado)

B

A A B P = AB (20=1 cuadrado)

B

A A B P = AB (20=1 cuadrado)

B

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

B

X

X

X

X

X

X

Page 11: Ap circuitos

11

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

B

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

B

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

B

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 C

C

X

X

X X

X X

Page 12: Ap circuitos

12

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 P = ABC (20=1 cuadrado)

C

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

C

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

C

X

X

X

Page 13: Ap circuitos

13

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

C

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

C

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

C

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

C

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

C

X

X

X

X

X

Page 14: Ap circuitos

14

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

C

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

C

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

C

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

C

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

C

X

X

X

X

X

X

X

X

X X

Page 15: Ap circuitos

15

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

C

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

C

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

C

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

C

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

C

X X

X X

X X

X X

X X

Page 16: Ap circuitos

16

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

C

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

C

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

C

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

C

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

C

X X

X X

X

X

X

X

X

X

X

X

X

X

X

X

Page 17: Ap circuitos

17

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

C

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

C

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

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

ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD

Cada uno de estos productos será representado por un cuadrado en la siguiente gráfica, respetando la relación de adyacencia:

X

X

X

X

X X X X

X X X X

Page 18: Ap circuitos

18

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 P = ABCD (20=1 cuadrado)

CD

CD

X

Page 19: Ap circuitos

19

AB AB AB AB CD

CD P = ABCD (20=1 cuadrado)

CD

CD

AB AB AB AB CD

CD P = ABD (21=2 cuadrados)

CD

CD

AB AB AB AB CD

CD P = BCD (21=2 cuadrados)

CD

CD

X

X

X

X X

Page 20: Ap circuitos

20

AB AB AB AB CD

CD P = ABD (21=2 cuadrados)

CD

CD

AB AB AB AB CD

CD P = BCD (21=2 cuadrados)

CD

CD

AB AB AB AB CD

CD P = AD (22=4 cuadrados)

CD

CD

X

X

X X

X X

X X

Page 21: Ap circuitos

21

AB AB AB AB CD

CD P = BD (22=4 cuadrados)

CD

CD

AB AB AB AB CD

CD P = BD (22=4 cuadrados)

CD

CD

AB AB AB AB CD

CD P = BD (22=4 cuadrados)

CD

CD

X X

X X

X

X

X

X

X X

X X

Page 22: Ap circuitos

22

AB AB AB AB CD

CD P = B (23=8 cuadrados)

CD

CD

AB AB AB AB CD

CD P = C (23=8 cuadrados)

CD

CD

AB AB AB AB CD

CD P = A (23=8 cuadrados)

CD

CD

X X

X X

X X

X X

X X

X X X X

X X

X X

X X

X X

X X

Page 23: Ap circuitos

23

AB AB AB AB CD

CD P = D (23=8 cuadrados)

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 F A B= +

B

X X

X X

X X

X X

X

X X

Page 24: Ap circuitos

24

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

AB AB AB AB C F AC B= +

C

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

AB AB AB AB 1F AC AB AC= + + C 1F AC BC AC= + +

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.

A

B

F

X X

X

X

X

A

C

B

F

X X

X X X

Page 25: Ap circuitos

25

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

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

AB AB AB AB CD

CD F AD ACD ABD= + +

CD

CD

X

X

X

X

X

X

X

A

C

B F1

Page 26: Ap circuitos

26

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

AB AB AB AB CD

CD F D ABC= +

CD

CD

2.c) E = ABCD ABD BCD ABD ACD ABC+ + + + +

AB AB AB AB CD

CD F ABD CD BD= + +

CD

CD

X

X X

X

X

X

X

X

X

X

X X

X

X

X

X

X

X