Você está na página 1de 17

15

3. LGEBRA DE BOOLE E SIMPLIFICAO DE CIRCUITOS




lgebra de Boole Tipo de algebra que, baseando-se na teoria de conjuntos, se
aplica a sistemas matematicos que so consideram dois elementos possiveis: 0 e 1.
Quando aplicada aos sistemas digitais permite Iazer a analise e simpliIicao de
expresses e circuitos logicos.


Seja, por exemplo, o seguinte circuito:
So utilizadas 6 portas logicas!

O mesmo circuito simpliIicado, usando a Algebra de Boole :

Agora so so utilizadas 2 portas logicas!



3.1 TEOREMAS FUNDAMENTAIS DA ALGEBRA DE BOOLE

X, Y, Z Variaveis logicas (entradas ou saidas de um circuito logico) que so
podem tomar dois valores: 0 ou 1



16
Teoremas de uma varivel

Relativos a Iuno AND Relativos a Iuno OR

X

0 0 X 0 X
X 1 X X 1 1
X X X X X X
X X 0 X X 1

Relativos a Iuno NOT

X X


Teoremas com mais de uma varivel

Leis da comutatividade

X Y Y X
X Y Y X

Leis da associatividade

(X Y) Z X (Y Z)
(X Y) . Z X (Y Z)

Leis da distributividade

X (Y Z) X Y X Z
X (Y Z) (X Y) (X Z) - esta no se aplica na algebra comum

Leis da absoro

X (X Y) X
X (X Y) X

Dem.: X (X Y) (X 1) X Y) X (1 Y) X 1 X
X ( X Y) (X X) (X Y) X (X Y) X

X ( X Y) X Y
X ( X Y) X Y

Dem.: X ( X Y) (X X) (X Y) 1 (X Y) X Y
X ( X Y) X X X Y 0 X Y X Y

17

(X Y) (X Y) X base dos metodos graIicos de simpliIicao
(X Y) (X Y) X (mapas de Karnaugh)


Dem.: (X Y) (X Y) X (Y Y) X
(X Y) (X Y) X (Y Y) X 0 X


Leis de DeMorgan

Permite transIormar operaes AND em operaes OR e vice-versa.

X Y X Y
X Y + X Y

Exemplos.

1)
( ) ( )
( )
Z A B.C A. B.C A. B C A. B C

2)
( )( )
( ) ( )
( ) ( )
W A B.C D E.F A B.C D E.F
A.B.C D.E.F A. B C D. E F
A.B A.C D.E D.F


Todos os teoremas enunciados se aplicam quando X e Y so expresses que
contm mais do que uma variavel.


3.2 APLICAO DOS TEOREMAS DA LGEBRA DE BOOLE NA
SIMPLIFICAO DE CIRCUITOS LGICOS

3.2.1 Forma de soma de produtos e produto de somas

Soma de produtos expresses que consistem em dois ou mais termos AND
(produtos) conectados as entradas de uma porta OR (somas). Cada termo AND
consiste em uma ou mais variaveis que aparecem individualmente na sua Iorma
complementada ou no.

Exemplos. 1) ABC ABC
2) AB CD ABC D
3) AB CD EF

18
Produto de somas expresses que consistem em dois ou mais termos OR
(somas) conectados as entradas de uma porta AND (produtos). Cada termo OR
consiste em uma ou mais variaveis que aparecem individualmente na sua Iorma
complementada ou no.

Exemplos. 1) (A B C)(A C)
2) (A B)(C D)F
3) (A C)(B D)(B C)

3.2.2 Simplificao algbrica

Na simpliIicao de uma expresso booleana, nem sempre e obvio qual o teorema
a aplicar de modo a obter o resultado mais simples. Alem disso, no existe uma
maneira Iacil de constatar se a expresso obtida esta na sua Iorma mais simples ou
se poderia ser ainda mais simpliIicada. Assim, a simpliIicao algebrica torna-se
Irequentemente um processo de tentativa e erro. No entanto, com a experincia,
obtm-se bons resultados.

Ha dois passos essenciais na simpliIicao algebrica:
1. A expresso original e colocada sob a Iorma de soma de produtos pela
aplicao repetitiva dos teoremas de DeMorgan e pela multiplicao de
termos.
2. Um vez que a expresso original esteja nesta Iorma, os termos AND
(produtos) so veriIicados quanto a Iactores comuns, realizando-se a
Iactorizao sempre que possivel. Com sorte, a Iactorizao resulta na
eliminao de um ou mais termos.

Exemplos.
1)
( ) ( )
( )
( )
( )
Z A.B.C A.B. A.C A.B.C A.B. A C
A.B.C A.B. A C A.B.C A.B.A A.B.C
A.B.C A.B A.B.C A.C. B B A.B
A.C A.B A. C B

2)

( )
( )
( )
( )
Z A.C. A.B.D A.B.C.D A.B.C A.C. A B D A.B.C.D A.B.C
A.A.C A.C.B A.C.D A.B.C.D A.B.C A A .C.B A.C.D A.B.C.D
C.B A.C.D A.B.C.D C.B A.D. C B.C

=
( ) C.B A.D. C B


19
3.3 PRO1ECTO DE UM CIRCUITO LGICO



Procedimento geral:

1 Sintetizar bem o enunciado

2 IdentiIicar as variaveis

3 Fazer a tabela de verdade

4 Deduzir a expresso logica da saida

- Escrever o termo AND para cada caso onde a saida e 1
- Escrever a expresso para a soma de produtos para a saida

5 SimpliIicar a expresso

6 Implementar o circuito


Exemplo prtico:

Pretende-se projectar um circuito para o limpa para-brisas de um automovel.
O motor do limpa para-brisa deve Iuncionar nas seguintes condies:
1- Chave de ignio e comutador do limpa para-brisas ligados
2- Chave de ignio ligada, comutador desligado e escovas do limpa
para-brisas Iora da posio de repouso.
Noutros casos o limpa para-brisas deve estar Iora de Iuncionamento.

1 Sintetizar o enunciado \

2 Identificao das variveis

Variaveis dependentes ou de saida:

Motor do limpa para-brisas (LPB): M
LPB parado: M 0
LPB em movimento: M 1
Variaveis independentes ou de entrada:

Chave na ignio: C
chave OFF: C 0
chave ON: C 1

Comutador do LPB: S Posio das escovas do LPB: P
comutador OFF: S 0 posio normal (repouso): P 0
comutador ON: S 1 outra posio: P 1

20

3 Tabela de verdade

Entradas Saida
C S P M
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1

4 Expresso lgica da saida

M 1 para: - C 1 e S 0 e P 1 C.S.P
ou - C 1 e S 1 e P 0 C.S.P
ou - C 1 e S 1 e P 1 C.S.P

A expresso logica e ento: M C.S.P C.S.P C.S.P

A implementao directa do circuito seria

5 Simplificao da expresso

M C.S.P C.S.P C.S.P C.(S.P + S.P + S.P) C.|P.( S + S) S.P|
C.(P S.P) C.(P S)


21
Implementao do circuito


3.4 IMPLEMENTAO DE UM CIRCUITO S COM PORTAS NAND
OU S COM PORTAS NOR

Qualquer circuito pode ser implementado so com portas NAND ou so com portas
NOR.

Processo:
- Aplica-se sucessivamente as leis de DeMorgan a expresso logica do
circuito, de modo que a expresso Iinal contenha so expresses de
NANDs ou NORs.
- Uma variavel e negada se estiver presente em todas as entradas de uma
porta NAND ou NOR (curto-circuito das entradas da porta).

Exemplo: Caso do motor do LPB

M C.(P S) C P S C P.S C.P.S

Implementao so com portas NOR Implementao so com portas NAND


C S
M
P P
S
C M

Exemplo.

Implementar a funo X B.C A.C A.B so com portas NOR de 2 entradas

( ) ( ) ( )
( ) ( ) ( ) ( ) ( ) ( )
X B.C A.C A.B B.C.A.C.A.B B C . A C . A B
B C A C . A B B C A C A B + + +



22

C


B
X

A




3.5 REPRESENTAO DE FUNES


Termos mnimos ou mintermos

- So produtos que envolvem todas as variaveis de uma Iuno F e em que
cada variavel so aparece uma vez (directamente ou pelo seu
complemento).
- Notam-se por m
i
onde i e o inteiro correspondente a representao
binaria, obtida igualando cada variavel a 1 e o seu complemento a 0.

Exemplos.

1) Dada uma Iuno F(A, B, C), por exemplo
2
A.B.C m
0 1 0
2
2
10


2) Dada uma Iuno S(A, B, C, D), por exemplo
9
AB.C.D m
1 0 0 1
2
9
10


Soma cannica de produtos

- E uma soma de mintermos na qual no ha dois mintermos iguais.
- Representa-se por
p
S m =

(lista de mintermos da Iuno).

Exemplo.


1 2 6
S(A, B, C) A.B.C A.B.C A.B.C m m m m(1, 2, 6)


0 0 1 0 1 0 1 1 0

Teorema

Qualquer Iuno F pode ser representada por uma soma canonica de produtos que
incluem todos os mintermos correspondentes aos 1s da Iuno.
Exemplo do motor do limpa para-brisas.

F(C, S, P) M
5 6 7
C.S.P C.S.P C.S.P m m m m(5, 6, 7) =





23
Termos mximos ou maxtermos

- So somas que envolvem todas as variaveis de uma Iuno F e em que
cada variavel so aparece uma vez (directamente ou pelo seu
complemento).
- Notam-se por M
i
onde i e o inteiro correspondente a representao
binaria, obtida igualando cada variavel a 0 e o seu complemento a 1.
(A 0, A 1).

Produto cannico de somas

- E um produto de maxtermos no qual no ha dois maxtermos iguais.
- Representa-se por
s
P M = (lista de maxtermos da Iuno).

Teorema

Qualquer Iuno F pode ser representada por uma produto canonico de somas que
incluem todos os maxtermos correspondentes aos 0s da Iuno.

Exemplo do motor do limpa para-brisas.

F(C, S, P) M ( )
( ) ( ) ( ) ( )
C S P . C S P . C S P . C S P . C S P +
0 0 0 0 0 1 0 1 0 0 1 1 1 0 0

M(0, 1, 2, 3, 4)



Portanto M m(5, 6, 7)

M(0, 1, 2, 3, 4)


Teorema de Shannon

Mintermos e maxtermos permitem uma decomposio das expresses em sub-
-expresses dependentes de subconjuntos de variaveis

Uma Iuno F (X
n-1
, ..., X
0
) pode ser decomposta como

F (X
n-1
, ..., X
0
) X
i
.

F(X
n-1
, ., X
i1
, 1, X
i-1
, ., X
0
)

i
X

.

F(X
n-1
, ., X
i1
, 0, X
i-1
, ., X
0
)

ou da maneira dual

F (X
n-1
, ..., X
0
) |X
i


F(X
n-1
, ., X
i1
, 0, X
i-1
, ., X
0
)| .
. |
i
X

F(X
n-1
, ., X
i1
, 1, X
i-1
, ., X
0
)|


24
Se aplicarmos o teorema duas vezes, primeiro em relao a X
0
e depois em relao a
X
1
obtem-se:
F (X
n-1
, ..., X
0
) X
1
.X
0
.

F(X
n-1
, ., X
2
, 1, 1))
0
1
X X

.

F(X
n-1
, ., X
2
, 1, 0)

1
0
X X .

F(X
n-1
, ., X
2
, 0, 1))
1 0
X X

.

F(X
n-1
, ., X
2
, 0, 0)

Expandindo em relao a (X
k-1
, ..., X
0
) obtem-se:
F(X)
k
2 - 1
i k-1 0 n-1 k
i 0
m (X , ..., X ).F(X , ..., X , i)


i representa a atribuio de valores i (1 ou 0) as variaveis X
k-1
, ..., X
0

ou, por um procedimento dual

F(X)
k
2 - 1
i k-1 0 n-1 k
i 0
M (X , ..., X ) F(X , ..., X , i)
=
(




Exemplo.

Dada uma Iuno F(X
3
, X
2
, X
1
, X
0
), cuja tabela de verdade se apresenta a
seguir, determinar as expresses que decompem as variaveis em dois grupos.

Entradas Saida
X
3
X
2
X
1
X
0

F
0 0 0 0 0
0 0 0 1 0
0 0 1 0 1
0 0 1 1 1
0 1 0 0 1
0 1 0 1 0
0 1 1 0 1
0 1 1 1 0
1 0 0 0 1
1 0 0 1 0
1 0 1 0 1
1 0 1 1 0
1 1 0 0 0
1 1 0 1 1
1 1 1 0 1
1 1 1 1 0


3
3 2 1 0 i 1 0 3 2
i 0
F(X , X , X , X ) m (X , X ).F(X , X , i)




25
X
1

X
0

X
1


3 2 3 2 3 2
3 2 3 2
3 2
3 2 3 2
F(X , X , 0, 0) X .X X .X
F(X , X , 0, 1) X .X
F(X , X , 1, 0) 1
F(X , X , 1, 1) X .X


e
( )
3 2 1 0 1 0 3 2 3 2 1 0 3 2 1 0 1 0 3 2
F(X , X , X , X ) X .X X .X X .X X .X X .X X .X X .X X .X


3.6 MAPAS DE KARNAUGH

- Metodo graIico para representar uma tabela de verdade.
- Destaca as relaes entre as diversas variaveis.
- Permite simultaneamente simpliIicar a expresso logica.


3.6.1 Construo dos mapas de Karnaugh

- Constroi-se uma tabela com 2
n
quadrados ou celulas, correspondendo cada um a
uma combinao dos valores das variaveis (uma linha da tabela de verdade).
- Entre duas celulas adjacentes so pode variar 1 bit no valor das variaveis condio
de adjacncia.

Funo de 2 variveis, X
1
e X
0


O numero de combinaes possiveis das entradas e 2
2
4 4 celulas
Celulas numeradas de 0 a 3:

0 1

0
0

1

1
2

3






0 1


2

3


Exemplo.
X
0
X
1



0

1

0

0
1
1
0

1

2
1
3
0
X
0

linha onde X
1

toma o valor 1
coluna onde X
0

toma o valor 1
ou
1 0 0
0 1 1
0 1 0 2
F(X , X ) X .X X .X
ou F(X , X ) m m m(0, 2)


26
Funo de 3 variveis, X
2
, X
1
e X
0


O numero de combinaes possiveis das entradas e 2
3
8 8 celulas
Variaveis agrupadas 1 2 e celulas numeradas de 0 a 7:


X
1
X
0

X
2


0 0

0 1

1 1

1 0

0

0 1 3 2

1

4 5

7 6







X
0







0 1

3 2

X
2


4 5

7 6



X
1

A ordem em que aparecem os valores das variaveis no e a normal em vez da
sequncia 00 01 10 11 temos 00 01 11 10. Isto deve-se a condio de adjacncia
das celulas. Assim a celula 2 tem a posio trocada com a celula 3 e a 7 com a 6.

Exemplos.

1) F(X
2
, X
1
, X
0
) m(0, 2, 6) M(1, 3, 4, 5, 7)





X
0







0
1
1
0
3
0
2
1

X
2


4
0
5
0

7
0
6
1



X
1


2 1 0 2 0 0
2 1 0 1 2 1
F(X , X , X ) X X X X X X X X X

2) Caso do LPB:



P






0
0
1
0
3
0
2
0

C

4
0
5
1

7
1
6
1



S

ou
F m(5, 6, 7) C.S.P C.S.P C.S.P




27
Funo de 4 variveis, X
3
, X
2
, X
1
e X
0



O numero de combinaes possiveis das entradas e 2
4
16 16 celulas
Variaveis agrupadas duas a duas e celulas numeradas de 0 a 15:


X
1
X
0

X
3
X
2


0 0

0 1

1 1

1 0

0 0

0 1 3 2

0 1

4 5 7 6

1 1

12 13 15 14

1 0

8 9 11 10





X
0







0 1 3 2



4 5 7 6
12 13 15 14


X
2






X
3


8 9 11 10





X
1


Exemplo.

3 2 1 0
F(X , X , X , X ) m(0, 5, 7, 8, 9, 14, 15) M(1, 2, 3, 4, 6, 10, 11, 12, 13)






X
0







0
1
1
0
3
0
2
0




4
0
5
1
7
1
6
0
12
0
13
0
15
1
14
1


X
2






X
3


8
1
9
1
11
0
10
0






X
1







Casos em que a Iuno no esta deIinida para algumas combinaes das entradas - os
valores logicos das celulas correspondentes do mapa de Karnaugh so indeterminados
(celulas 'dc - 'don`t care em ingls).


Ou
3 2 1 0
3 2 1 0
3 1
2 0
3
2 1 0
0
3 2 1
F(X , X , X , X ) X X X X
X X X X
X X X X
X X X X

2 1 0
3
2 1
3 0
3 2 1 0
X X X X
X X X X
X X X X


28
0 0
1
1
2
2
3 3
X 0 ou X 1
X 0
X X
X 1
X 0 ou X 1


Exemplo de representao.

1) F(X
2
, X
1
, X
0
) m(0, 4,5) e d.c.(2,3)






X
0







0
1
1
0
3
X
2
X

X
2


4
1
5
1

7
0
6
0



X
1






X
0





ou

0
1
1
0
3

2


X
2


4
1
5
1

7
0
6
0



X
1

3.6.2 Obteno de expresses simplificadas

- Combinam-se as celulas adjacentes que tm 1`s em grupos.
O n de celulas de cada grupo e sempre igual a 2
k
(1, 2, 4, 8, ...).

- A expresso obtida e uma soma de produtos, correspondentes aos grupos, em
que cada um tem n - k Iactores (n n de variaveis da Iuno).

Exemplos de agrupamentos.

1)




X
0







0
0
1
0
3
0
2
1




4
1
5
1
7
0
6
1
12
1
13
1
15
0
14
0


X
2






X
3


8
0
9
0
11
0
10
1






X
1





(elimina-se X
0
e X
3
: 4 - 2 Iactores)



2 0 3 0 1
3 2 1 0 3 1 1 2
F(X , X , X , X ) X X X X X X X X X
0
1
2
2 2
3
3 0
1
X 0
X 1
(elimina-se X )
X 0 ou X 1
X 0

X .X .X
=


1
2 0
3 1
2
3
0
X 0
X 1
X X X X
X 0
X 1



29

2)



X
0







0
1
1

3

2
1




4

5

7

6

12

13

15

14



X
2






X
3


8
1
9

11

10
1






X
1



3)



X
0







0

1
1
3
1
2





4
1
5

7

6
1
12
1
13

15

14
1


X
2






X
3


8

9
1
11
1
10







X
1




2
0
X X

4)



X
0







0

1
1
3
1
2





4

5
1
7
1
6

12

13
1
15
1
14



X
2






X
3


8

9
1
11
1
10







X
1




Os cantos so adjacentes

neste caso, 1 grupo de 4

produto de 4 2 2 Iactores:

2 0 X X


Lados opostos so adjacentes

neste caso, 2 grupos de 4


0
2
X X


Grupo de 8 eliminam-se 3 variaveis:

X
0



30
5) Utilizao dos 'don`t care:





X
0







0
1
1
0
3
0
2
0




4
1
5
0
7
1
6
X
12
0
13
0
15
1
14
X


X
2






X
3


8
0
9
X
11
0
10
0






X
1



Nota: a adjacncia das celulas situadas nos lados e cantos do mapa de Karnaugh resulta do Iacto de
este provir da planiIicao de uma Iigura geometrica denominada toro, cuja Iorma e semelhante a
uma cmara de ar de um pneu.


Exemplos de aplicao.

1) Caso do motor do LPB



P






0
0
1
0
3
0
2
0

C

4
0
5
1

7
1
6
1



S

2)
2 1 0
F(X , X , X ) m(0, 1, 3, 5, 7)





X
0







0
1
1
1
3
1
2
0

X
2


4
0
5
1

7
1
6
0



X
1




Consideram-se os 'don`t care
(X`s) adjacentes aos 1`s como 1`s
para Iormar grupos maiores

X
2
X
1

F M C.S P.C C.(P S)

2 1
2 1 0 0
F(X , X , X ) X X X

31
3)
3 2 1 0
F(X , X , X , X ) m(0, 2, 5, 6, 7, 8, 10, 15)







X
0







0
1
1
0
3
0
2
1




4
0
5
1
7
1
6
1
12
0
13
0
15
1
14
0


X
2






X
3


8
1
9
0
11
0
10
1






X
1



4)
3 2 1 0
F(X , X , X , X ) m(2, 5, 8, 12, 14) e d.c.(0, 9, 11, 13, 15)







X
0







0
X
1
0
3
0
2
1




4
0
5
1
7
0
6
0
12
1
13
X
15
X
14
1


X
2






X
3


8
1
9
X
11
X
10
0






X
1



1 1 3 2 0
3 2 1 0 3 2 0
F(X , X , X , X ) X X X X X X X X

3.6.3 Funes com mais de 4 variveis

- 5 variaveis X
4
, X
3
, X
2
, X
1
, X
0
: 2
5
32 combinaes possiveis
Constroem-se 2 mapas parciais, cada um com 4 variaveis (X
3
, X
2
, X
1
, X
0
) um
para X
4
e outro para
4 X .
Os grupos nas mesmas posies, num e noutro mapa, consideram-se adjacentes.

- 6 variaveis X
5
, X
4
, X
3
, X
2
, X
1
, X
0
: 2
6
64 combinaes possiveis.
Constroem-se 4 mapas parciais, cada um com 4 variaveis (X
3
, X
2
, X
1
, X
0
)
dois para X
5
e dois para 5 X . Os mapas de X
5
so um para X
4
e outro para 4 X .
O mesmo para os mapas de 5 X
2 0 3
3 2 1 0 2 0
3
2 1 2 1 0
F(X , X , X , X ) X X X X X
X X X X X X