Beruflich Dokumente
Kultur Dokumente
Álgebra de Boole
O postulado básico da álgebra de Boole é a existência de uma variável boolena tal
que:
x≠0 ⇔ x=1
x≠1 ⇔ x=0
OR AND NOT
(Atenção! Ler "+” como “ou” e “.” como “AND”, ressaltando a diferença com a
aritmética binária)
Um circuito de composto de gates é chamado de circuito lógico. O circuito
mostrado abaixo realiza a expressão lógica A . B + C + D . E
A
AB
B AB+C
AB+C + DE
C
D
DE
E
1
Prof. Eric Fagotto texto não revisado, pode conter erros
fev./1998 - V. 1.0
A B S
0 0 0
0 1 1
1 0 1
1 1 0
Uma expressão booleana para esta função seria (ela não é única!) S = AB + AB .
Peça aos alunos para montar o circuito.
Utiliza-se o seguinte operador para denotar a operação de X-OR: ⊕. Logo,
para a tabela anterior S =A⊕B
A
S
Propriedades Básicas
Sendo x uma variável booleana, então:
• x+1=1 • x.1=x
• x .0=0 • x+x=x
• x+0=x • x.x=x
2
Prof. Eric Fagotto texto não revisado, pode conter erros
fev./1998 - V. 1.0
x + y = y+ x
Comutativa
x . y= y. x
Associativa
( x + y) + z = x + ( y + z )
( x . y) . z = x . ( y . x )
x + x =1
Complemento
x. x=0
x . ( y + z) = x . y + x . z
Distributiva
x + ( y . z ) = ( x + y) . ( x + z )
Notemos que estas propriedades apresentam-se aos pares e que em cada par, uma
equação pode ser obtida da outra mediante a troca de 1 por 0 e 0 por 1 além de
permutarmos os AND’s pelos OR’s . Isto é conhecido como princípio da dualidade da
álgebra de Boole (obs: todas estas expressões podem ser provadas por indução finita,
bastando provar uma equação e a sua dual estará provada).
Expressões Booleanas
Define-se expressão booleana como a combinação de um número finito de
variáveis booleanas (0,1) através das operações booleanas (+), (.) e ( ). Qualquer
constante ou variável booleana é uma expressão booleana, e se T1 e T2 são expressões
booleanas, o mesmo acontecerá para T1, T 2 , T1+T2, T1.T2 .
As propriedades a seguir formam o conjunto fundamental de ferramentas básicas
para a simplificação de expressões booleanas.
x+xy=x
x ( x+y ) = x
propriedades de absorção
x+xy = x + y
( )
x x+y = xy
xy+xz+yz=xy+xz
propriedades de consenso
( x+y ) ( x+z ) ( y+z ) = ( x+y ) ( x+z )
3
Prof. Eric Fagotto texto não revisado, pode conter erros
fev./1998 - V. 1.0
É muito importante notar que na álgebra de Boole não são definidas operações
inversas e portanto, não são permitidos cancelamentos. Por exemplo, se A+B=A+C, não
significa que B=C. De fato, se A=B=1 e C=0 1+1=1+0, embora B seja diferente C.
Analogamente, AB=AC não implica em B=C.
Teorema de De Morgan
As regras que regem a operação de complementação para duas variáveis se
resumem nos três teoremas seguintes:
x=x
x+y= x y
xy = x + y
4
Prof. Eric Fagotto texto não revisado, pode conter erros
fev./1998 - V. 1.0
Monte as T.V. para estas duas situações, observando o isomorfismo com a A.B.
Podemos associar a cada circuito uma função de transmissão, que assumirá valor
1
que houver continuidade entre os terminais. Exemplificar com F=xy’+(x’+y)z,
simplificando (F=xy’+z).
Duas proposições podem ser combinadas para formar uma nova proposição.
Ex: p - temp > 30° C e u - umid > 50%. As proposições p and q sendo verdadeiras
implicam que a temperatura está acima de 30° C e a umidade acima de 50%.
Ex:
Um sistema condicionador de ar deve ser ligado se ocorrer uma ou mais das seguintes
condições:
• a massa do material armazenado for menor ou igual a 100 ton., a umidade
relativa do ar for maior do que 60%, e a temperatura estiver acima de 15 graus.
• a massa do material armazenado for maior ou igual a 100 ton. e a temperatura
estiver acima de quinze graus.
Considere as variáveis:
P - peso maior ou igual a 100 ton.
U - umidade relativa do ar maior ou igual a 60%
T - temperatura acima de 15 graus.
L - ar condicionado ligado
5
Prof. Eric Fagotto texto não revisado, pode conter erros
fev./1998 - V. 1.0
Funções Booleanas
Seja F(x1, x2, ..., xn) uma expressão booleana, e visto que cada uma das n
n
variáveis pode assumir independentemente o valor 0 ou 1 existirão 2 combinações de
variáveis a serem considerados na determinação de F.
Ex: Considere F(x,y,z)= xz + xz + x y . Para a combinação x=0, y=0 e z=1 temos:
. + 0.1 + 0. 0 =1.1+0.0+1.1=1
F(x,y,z)= 01
x y z T
0 0 0 1
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 0
Formas Canônicas
Podemos derivar da tabela verdade para uma função F(x,y,z) expressões booleanas que
representem esta função.
Mintermos
Dada uma tabela verdade qualquer podemos escrever uma função booleana
correspondente através da soma de todos os mintermos para os quais a função assume
valor 1. Um mintermo é qualquer produto que contenha as n variáveis de uma função
como fatores. Contudo, na soma dos mintermos que representarão a função booleana, uma
variável aparecerá complementada num mintermo caso ela assuma valor 0 nesta
combinação. Retomando a tabela anterior, constatamos que para x=y=0 e z=1 F(x,y,z)=1,
e portanto o mintermo x y z aparecerá na expressão da função. Na verdade, F(x,y,z) pode
ser escrita como:
F(x,y,z)= x y z + x y z + x y z + x y z + x y z .
Esta expressão obtida para F(x,y,z) é chamada de soma canônica de produtos.
6
Prof. Eric Fagotto texto não revisado, pode conter erros
fev./1998 - V. 1.0
F(x,y,z)=S(0,1,3,4,6),
onde S( ) significa a soma de todos os mintermos cujos códigos decimais estão entre os
parênteses.
Maxtermos
Uma função booleana também pode ser expressa através do produto de todos os
maxtermos para os quais a função assume valor 0. Um maxtermo é qualquer soma que
contenha as n variáveis de uma função como parcelas. Contudo, no produto dos
maxtermos que representarão a função booleana, uma variável aparecerá complementada
num maxtermo caso ela assuma valor 1 nesta combinação. Como exemplo tomemos
F(x,y,z), para x=z=0 e y=1; o maxtermo correspondente será ( x + y + z ) . Desta forma,
poderemos escrever F(x,y,z) como
F(x,y,z)=P(2,5,7),
onde P( ) significa o produto de todos os maxtermos cujos códigos decimais estão entre
os parênteses. Esta expressão obtida para F(x,y,z) é conhecida como produto canônico de
somas.
7
Prof. Eric Fagotto texto não revisado, pode conter erros
fev./1998 - V. 1.0
F(x,y,z)=S(4,5,8,12,13)+D(3,14,15)
Mapas de Karnaugh
Um Mapa de Karnaugh (MK) é uma forma modificada da tabela verdade, onde as
combinações de entrada estão arranjadas de modo a facilitar a simplificação de uma
expressão booleana.
A seguir temos os MK para as situações de 2 a 6 variáveis
A AB AB
B 0 1 C 00 01 11 10 CD 00 01 11 10
0 0 2 0 0 2 6 4 00 0 4 12 8
1 1 3 1 1 3 7 5 01 1 5 13 9
11 3 7 15 11
2 variáveis 3 variáveis 10 2 6 14 10
4 variáveis
A=0 A=1
BC BC
DE 00 01 11 10 00 01 11 10 DE
00 0 4 12 8 16 20 28 24 00
01 1 5 13 9 17 21 29 25 01
11 3 7 15 11 19 23 31 27 11
10 2 6 14 10 18 22 30 26 10
5 variáveis
B=0 B=1
CD CD
EF 00 01 11 10 00 01 11 10 EF
00 0 4 12 8 16 20 28 24 00
A=0 01 1 5 13 9 17 21 29 25 01
11 3 7 15 11 19 23 31 27 11
10 2 6 14 10 18 22 30 26 10
00 32 36 44 40 48 52 60 56 00
01 33 37 45 41 49 53 61 57 01
A=1 11 35 39 47 43 51 55 63 59 11
10 34 38 46 42 50 54 62 58 10
EF 00 01 11 10 00 01 11 10 EF
CD CD
6 variáveis
8
Prof. Eric Fagotto texto não revisado, pode conter erros
fev./1998 - V. 1.0
n
Cada mapa de n variáveis consiste de 2 células, representando todas as possíveis
combinações de entrada. Para tornar os mapas mais compactos, optamos representar estas
combinações através de códigos decimais.
O valor da função associado a uma combinação particular de entradas é anotado na
célula correspondente. Como exemplo vamos montar o MK para a função
F(w,x,y,z)=S(4,5,8,12,13)+D(3,14,15)
wx
yz 00 01 11 10
00 1 1 1
01 1 1
11 X X
10 X
células adjacências
13 5 9 12 15
1101 0101 1001 1100 1111
0 1 2 4 8
0000 0001 0010 0100 1000
2 0 3 6 10
0010 0000 0011 0110 1010
Cilíndro
Inspecionando-se, por exemplo, o MK para quatro variáveis, constatamos que a
célula “4” não está colocada ao lado da célula “0” (pelo menos aparentemente). A
explicação para este fato decorre dos MK serem versões topológicas planas de
superfícies.
9
Prof. Eric Fagotto texto não revisado, pode conter erros
fev./1998 - V. 1.0
Toróide Toróide
“topo” “base”
Para um número maior do que 4 variáveis, o volume necessitará mais do que três
dimensões para ser representado.
Como já devemos ter notado, existirá um número n de vizinhos adjacentes a cada
célula de um MK escrito para n variáveis.
Retornando ao assunto de minimização de funções booleanas, podemos verificar
prontamente que células adjacentes serão simplificadas de acordo com a regra do
complemento das operações binárias (x+x’=11). Deste modo, a soma dos mintermos
relativa à união de duas células adjacentes (para as quais a função assume valor “1”) é
obtida ignorando-se as variáveis que assumem valor “1” numa célula e “0” na outra.
Assim, a quadra 4-5-12-13 corresponde a xy’.
F=xy’+wy’z’
Para se obter uma expressão mínima para a função deve-se cobrir todas as células
de valor “1” com subcubos tão grandes quanto possível, pois isto diminuirá o número de
de literais. Portanto, um subcubo totalmente contido num subcubo maior não deverá ser
escolhido.
Os DCS podem e devem ser utilizados para facilitar a obtenção de expressões,
sendo a eles atribuídos valor “0” ou “1” conforme a conveniência.
1
De agora em diante também estaremos adotando como convenções de notação :
A’= A ; (+) ≡ XOR; (*) ≡ NXOR
10
Prof. Eric Fagotto texto não revisado, pode conter erros
fev./1998 - V. 1.0
Acasos (Hazards)
Os circuitos digitais reais não respondem instantaneamente aos sinais nas
entradas, o que acarreta atraso na mudança dos estados e evetualmente acasos (hazards).
Convencionou-se definir os tempos:
• TPLH - time for propagation of the LOW to HIGH
• TPHL - time for propagation of the HIGH to LOW
11
Prof. Eric Fagotto texto não revisado, pode conter erros
fev./1998 - V. 1.0
entre os subcubos, é adicionado mais um gate (yx) ao circuito (que descreve a transição
x: 0 → 1, com y=z=1) o que elimina o hazard estático.
Pergunta: O que acontecerá se duas entradas mudarem de forma simultânea e elas
estiverem conectadas a gates com tempos diferentes de propagação?
yz
12