ÁLGEBRA DE BOOLE B.1 - DIAGRAMA DE VENN No século XIX Georges Boole desenvolveu uma teoria matemática com base nas leis da lógica - a Álgebra de Boole - cuja aplicação nos circuitos digitais e computadores é de primordial importância. A lógica matemática tem por base a teoria dos conjuntos, podendo utilizar-se meios gráficos como forma de representar propriedades. 1
Diagrama de Venn A A Fig 26 Admitindo que o conjunto Universo é o dos números inteiros, pode definir-se: A - conjunto dos números pares B - conjunto dos múltiplos de 3 Aplicando sobre estes conjuntos as operações lógicas básicas, obtém-se: 2
A.B - Conjunto dos números pares e múltiplos de 3 Conjunção, intersecção ou produto lógico A B Fig 27 3
A+B - Conjunto dos números pares ou múltiplos de 3 União, disjunção ou soma lógica A B Fig 28 4
A _ - Conjunto dos números ímpares Complemento ou negação A B Fig 29 5
B.2 - AXIOMAS DA ÁLGEBRA DE BOOLE Sendo B, definem-se as propriedades seguintes para a estrutura {B, +,.}. B.2.1 - Soma e produto são operações fechadas a, b B : a + b B a, b B : a. b B 6
B.2.2 Comutatividade a, b B : a + b = b + a a, b B : a. b = b. a B.2.3 - Existência de elemento neutro u B, a B : a + u = a v B, a B : a. v = a 7
B.2.4 - Distributividade das duas operações uma em relação à outra a, b, c B : a + (b. c) = (a + b). (a + c) a, b, c B : a. (b + c) = (a. b) + (a. c) B.2.5 Complementação a B, a B : a+a = v a B, a B : a. a = u 8
B.3 - TEOREMAS DA ÁLGEBRA DE BOOLE B.3.1 - Unicidade dos elementos neutros O elemento u é único. Demonstração Sejam u1 e u2 dois elementos neutros da soma. u1 + u2 = u1 (B.2.3) u1 + u2 = u2 (B.2.3) u1 + u2 = u2 + u1 (B.2.2) u1 = u2 9
O elemento v é único. Demonstração Sejam v1 e v2 dois elementos neutros do produto. v1. v2 = v1 (B.2.3) v1. v2 = v2 (B.2.3) v1. v2 = v2. v1 (B.2.2) v1 = v2 10
B.3.2 - Idempotência a B : a + a = a Demonstração a + a = (a + a). 1 (B.2.3) a + a = (a + a). (a + a) (B.2.5) = a + (a. a) (B.2.4) = a + 0 (B.2.5) = a (B.2.3) 11
a B : a. a = a Demonstração a. a = (a. a) + 0 (B.2.3) a. a = (a. a) + (a. a) (B.2.5) = a. (a + a) (B.2.4) = a. 1 (B.2.5) = a (B.2.3) 12
B.3.3 - Elementos absorventes a B : a + 1 = 1 Demonstração a + 1 = (a + 1). 1 (B.2.3) = (a + 1). (a + a) (B.2.5) = a + (1. a) (B.2.4) = a + a (B.2.3) = 1 (B.2.5) 13
a B : a. 0 = 0 Demonstração a. 0 = (a. 0) + 0 (B.2.3) = (a. 0) + (a. a) (B.2.5) = a. (0 + a) (B.2.4) = a. a (B.2.3) = 0 (B.2.5) 14
B.3.4 - Absorção a, b B : a + (a. b) = a Demonstração a + (a. b) = (a. 1) + (a. b) (B.2.3) = a. (1 + b) (B.2.4) = a. 1 (B.3.3) = a (B.2.3) 15
a, b B : a. (a + b) = a Demonstração a. (a + b) = (a + 0). (a + b) (B.2.3) = a + (0. b) (B.2.4) = a + 0 (B.3.3) = a (B.2.3) 16
B.3.5 - Princípio da dualidade Toda a afirmação ou identidade algébrica dedutível dos axiomas e definições de uma Álgebra de Boole permanece válida se as operações (+) e (.), e os elementos neutros u e v forem trocados. Este princípio resulta da simetria das definições e axiomas em relação às duas operações e aos dois elementos neutros. 17
B.3.6 - Unicidade do elemento a Demonstração Supor que a 1 e a 2 são ambos complementos de a. a 1. 1 = a 1 (B.2.3) a 1. (a + a 2 ) = a 1 (B.2.5) a 1. a + a 1. a 2 = a 1 (B.2.4) 0 + a 1. a 2 = a 1 (B.2.5) a 1. a 2 = a 1 (B.2.3) a 2. a 1 = a 1 (B.2.2) a 2. a 1 + 0 = a 1 (B.2.3) a 2. a 1 + a 2. a = a 1 (B.2.5) a 2. (a 1 + a) = a 1 (B.2.4) a 2. 1 = a 1 (B.2.5) a 2 = a 1 (B.2.3) 18
B.3.7 - Involução Pela definição de complemento conclui-se que a = a B.3.8 - Leis de De Morgan a 1 + a2 = a 1. a 2 a 1. a2 = a 1 + a 2 19
Prova-se o teorema recorrendo às igualdades (a 1 + a 2 ) + (a 1. a 2 ) = 1 (a 1 + a 2 ). (a 1. a 2 ) = 0 que por B.3.6 e B.2.5 permitem concluir que a 1. a 2 é o complemento único de a 1 + a 2. Para a demonstração recorre-se aos lemas: L1a : a 1 + (a 1 + a 2 ) = 1 L1b : a 1. (a 1. a 2 ) = 0 20
Demonstração de L1a a 1 + (a 1 + a 2 ) = 1. [a 1 + (a 1 + a 2 )] (B.2.3) = (a 1 + a 1 ).[a 1 + (a 1 + a 2 )] (B.2.5) = a 1 + [a 1. (a 1 + a 2 )] (B.2.4) = a 1 + a 1 (B.3.4) = 1 (B.2.5) A demonstração de L1b é dual de L1a. 21
Demonstração de B.3.9 (a 1 +a 2 )+(a 1.a 2 )=[(a 1 +a 2 )+a 1 ].[(a 1 +a 2 )+a 2 ] (B.2.4) = 1. 1 (L1a) = 1 (B.2.3) (a 1 +a 2 ).(a 1.a 2 )=a 1.(a 1.a 2 )+a 2.(a 1.a 2 ) (B.2.4) = 0. 0 (L1a) = 0 (B.2.3) Por B.2.5 e B.3.6 conclui-se que a 1 + a2 = a 1. a 2 22
A demonstração de a 1. a2 = a 1 + a 2 é dual da anterior. As leis de De Morgan generalizam-se para n elementos. a 1 +... + an = a 1..... a n a 1..... an = a 1 +... + a n 23
B.3.9 Associatividade a, b, c B : (a + b) + c = a + (b + c) a, b, c B : (a. b). c = a. (b. c) 24
B.4 - ÁLGEBRA DE BOOLE A DOIS VALORES A Álgebra de Boole a dois valores baseia-se na utilização de 2 estados - 0 e 1, ou verdadeiro e falso - tal como o funcionamento dos circuitos digitais binários. Convenciona-se representar o conjunto vazio por 0 e o universo por 1. 25
B.4.1 - Tabelas das operações Soma lógica Produto lógico Complementação 0 + 0 = 0 0. 0 = 0 0 + 1 = 1 0. 1 = 0 0 = 1 1 + 0 = 1 1. 0 = 0 1 = 0 1 + 1 = 1 1. 1 = 1 26
B.4.2 - Leis da Álgebra de Boole a 2 valores Soma lógica Produto lógico El. neutro 0 + a = a 1. a = a El. absorvente 1 + a = 1 0. a = 0 Idempotência a + a = a a. a = a Complementaridade a + a = 1 a. a = 0 Comutatividade a + b = b + a a. b = b. a Associatividade a + (b + c) = (a + b) + c a. (b. c) = (a. b). c Distributividade a + b.c = (a + b).(a + c) a.(b + c) = a.b + a.c Absorção a + a.b = a a.(a + b) = a Absorção a + a.b = a + b a.(a + b) = a.b Leis de De Morgan a 1 + a 2 = a 1. a 2 a 1. a 2 = a 1 + a 2 Leis de De Morgan a 1 +... + a n = a 1..... an a 1..... a n = a 1 +... + an 27
B.4.3 - Simplificação algébrica de funções lógicas A um circuito lógico corresponde uma determinada expressão lógica ou booleana. Simplificar uma expressão corresponde a chegar-se a um circuito menos complexo e com menos portas. 28
Exemplo de simplificação d = c.b.a + c.b.a + b.a + c.b.a Utilizando as propriedades comutativa (B.2.2) e distributiva (B.2.4) obtém-se d = c.a.(b + b) + b.a.(1 + c) Pela propriedade de complementação (B.2.5) e elemento absorvente (B.3.3) vem d = c.a.1 + b.a.1 29
Assim d = c.a + b.a O método algébrico não garante a obtenção da expressão mais simples. Para tal utiliza-se um método gráfico de simplificação. 30
B.4.4 - Aplicação da Álgebra de Boole aos circuitos digitais Exemplo de aplicação da propriedade do elemento neutro do porta AND produto lógico de 3 entradas para numa transformar uma porta AND de 2 entradas. 1 A B S Fig 30 A equação do circuito é S = 1. A. B 31
A saída S só é 1 quando A e B são simultaneamente 1. Logo pode-se considerar que o circuito acima é equivalente a um circuito AND de 2 entradas. 1 A A S B B S Fig 31 Prova-se deste modo que o 1 lógico é o elemento neutro do AND ou produto lógico. 32
Se ligarmos uma das entradas do circuito AND ao 0 lógico, a equação S = A.B.C fica S = A.B.0 Pela definição do AND basta haver uma entrada a zero para que a saída seja 0. Assim vem S = A.B.0 = 0. Esta propriedade indica que 0 é o elemento absorvente do circuito AND ou produto lógico. 33
Uma outra aplicação da propriedade do elemento neutro permite a transformação de um circuito NAND numa porta NOT. 1 A S S = A. 1 Fig 32 Sendo A.1 = A a equação do circuito reduz-se a S = A Logo, o circuito anterior é equivalente a uma negação, desde que a outra entrada esteja ligada ao 1 lógico. 34
Outra forma de realizar uma negação pode ser com base num circuito NAND ou NOR. Fig 33 35
Uma outra propriedade, a involução, pode ser verificada com 2 circuitos NOT. A A A S Fig 34 Quando A=0 então A=1 e A=0, pois é a negação de A. Quando A=1 então A=0 e A=1, pois é a negação de A. Fica assim provado que duas negações seguidas formam uma afirmação, ou seja A = A 36
Também as leis de De Morgan podem ser aplicadas aos circuitos digitais. A 1ª lei de De Morgan diz que um AND com saída negada é equivalente a um OR com entradas negadas. O 2º circuito é dual do 1º mas são ambos NAND. Fig 35 37
Tabela de verdade dos símbolos NAND A B A.B A + B 0 0 0. 0 = 0 = 1 0 + 0 = 1 + 1 = 1 0 1 0. 1 = 0 = 1 0 + 1 = 1 + 0 = 1 1 0 1. 0 = 0 = 1 1 + 0 = 0 + 1 = 1 1 1 1. 1 = 1 = 0 1 + 1 = 0 + 0 = 0 As duas colunas da direita são iguais pelo que fica provada a igualdade A. B = A + B 38
A 2ª lei de De Morgan afirma que um OR com a saída negada é equivalente a um AND com as entradas negadas. O 2º circuito é dual do 1º mas são ambos NOR. Fig 36 39
Tabela de verdade dos símbolos NOR A B A + B A B 0 0 0 + 0 = 0 = 1 0. 0 = 1. 1 = 1 0 1 0 + 1 = 1 = 0 0. 1 = 1. 0 = 0 1 0 1 + 0 = 1 = 0 1. 0 = 0. 1 = 0 1 1 1 + 1 = 1 = 0 1. 1 = 0. 0 = 0 As duas colunas da direita são iguais pelo que fica provada a igualdade A + B = A. B 40
Exemplo de realização de um AND a partir apenas de portas NOR. Fig 37 Os circuitos NOR 1 e 2 são utilizados para fazer as negações dos sinais de entrada. Tem-se assim à entrada do NOR 3: A e B. 41
Considerando o NOR 3 composto por um OR seguido de um NOT, à saída do OR tem-se a soma A + B. À saída do circuito total tem-se então A + B. A 2ª lei de De Morgan diz que A + B = A. B. Do ponto de vista prático pode utilizar-se a seguinte regra: o 2º membro obtém-se do 1º dividindo em duas a barra por cima do sinal (+) e trocando-o por ( ). Aplicando esta regra à expressão A + B obtém-se A. B que por sua vez é A B. 42
Do mesmo modo pode realizar-se um circuito OR a partir apenas de portas NAND. A A B A. B = A + B B Fig 38 Aplicando a 1ª lei de De Morgan divide-se a barra e substitui-se o ( ) pelo (+). A. B = A + B = A + B 43
Exemplo de circuito típico em sistemas digitais A B A.B S = A.B + C.D C D C.D Fig 39 O circuito da figura acima tem a equação S = A.B + C.D 44
Para realizar este circuito é necessário utilizar 2 circuitos integrados: um com portas OR e outro com portas AND. Através de um artifício pode alterar-se esta situação, uniformizando o tipo de portas a usar. Sabendo que 2 negações seguidas são uma afirmação vem Fig 40 Apesar do circuito ser diferente, a função lógica realizada é a mesma. 45
Substituindo agora a porta da direita (NAND) por outra equivalente tem-se Fig 41 Aplicando a 1ª lei de De Morgan à saída deste circuito seguida da involução fica A.B. C.D = A.B + C.D = A.B + C.D 46
Os circuitos NAND e NOR são os mais largamente utilizados pois permitem construir quaisquer circuitos básicos, nomeadamente AND, OR e NOT. Para além disso têm uma estrutura electrónica mais simples o que é vantajoso em termos de espaço e energia consumida. 47
B.4.5 - Portas "XOR" e Equivalência Um circuito que existe também na forma integrada é o somador de 1 bit, "ou exclusivo" ou XOR (exclusive or). A B S S = A B Fig 42 Este circuito tem saída 1 quando uma das entradas é 1, mas tem saída 0 se ambas as entradas forem simultaneamente 0 ou 1. 48
Tabela de verdade do circuito XOR A B S 0 0 0 0 1 1 1 0 1 1 1 0 Como a saída é 1 quando A=0 e B=1 ou A=1 e B=0, então o circuito XOR pode ser realizado pela expressão seguinte: S = A.B + A.B 49
A B S = A.B + A.B 0 0 0.0 + 0.0 = 0 + 0 = 0 0 1 0.1 + 0.1 = 1 + 0 = 1 1 0 1.0 + 1.0 = 0 + 1 = 1 1 1 1.1 + 1.1 = 0 + 0 = 0 Para a realização deste circuito são necessários dois AND, um OR e dois NOT. 50
Fig 43 Pode, no entanto, realizar-se a mesma função XOR só com circuitos NAND. Fig 44 51
Confirmação: A.A.B. B.A.B = A.A.B + B.A.B (B.3.8) = A.A.B+B.A.B (B.3.7) = A.(A + B) + B.(A + B) (B.3.8) = A.A + A.B + B.A + B.B (B.2.4) = 0 + A.B + B.A + 0 (B.2.5) = A.B + B.A (B.2.3) 52
Outro circuito simples existente na forma de circuito integrado é o circuito equivalência. É um circuito com 2 entradas que tem saída 1 quando A=B, ou seja, quando A=1 e B=1 ou A=0 e B=0. O circuito equivalência tem uma tabela de verdade que é a negação da tabela do cirucito NOR, logo pode obter-se negando a saída do NOR. Fig 45 53
Tabela de verdade do circuito equivalência A B S 0 0 1 0 1 0 1 0 0 1 1 1 54
B.4.6 - Funções booleanas de 2 variáveis Tabela de funções x1 x2 0 1 0 1 0 0 1 1 Designação y0 0 0 0 0 zero y1 0 0 0 1 produto lógico, ou AND (y = x1.x2) y2 0 0 1 0 inibição, ou NIX (y = x1 NIX x2) y3 0 0 1 1 x2 (y = x2) y4 0 1 0 0 inibição, ou NIX (y = x2 NIX x1) y5 0 1 0 1 x1 (y = x1) y6 0 1 1 0 soma módulo 2, ou exclusivo, ou XOR (y = x1 x2) y7 0 1 1 1 soma lógica, ou OR (y = x1 OR x2) y8 1 0 0 0 NOR (y = x1 NOR x2, ou y = x1 + x2) y9 1 0 0 1 equivalência (y = x1 x2) 55
y10 1 0 1 0 complementação de x1, (y = x1) y11 1 0 1 1 implicação material (x1 x2) y12 1 1 0 0 complementação de x2, (y = x2) y13 1 1 0 1 implicação material (x2 x1) y14 1 1 1 0 NAND (y = x1 NAND x2, ou y = x1. x2) y15 1 1 1 1 unidade ou identidade 56
Estas funções podem ser escritas com base nas 3 operações básicas AND, OR e NOT. y0 = 0 y8 = x1 + x2 y1 = x1.x2 y9 = x1.x2 + x1.x2 y2 = x1.x2 y10 = x1 y3 = x2 y11 = x1 + x2 y4 = x2.x1 y12 = x2 y5 = x1 y13 = x1 + x2 y6 = x1.x2 + x1.x2 y14 = x1. x2 y7 = x1 + x2 y15 = 1 57