Você está na página 1de 18

V 2.

00 Nov-2006

lgebra de Boole
1854 - George Boole
formular proposies como V ou F combinar proposies avaliar a sua veracidade ou falsidade

1938 - (Bell Labs) Claude Shannon


adaptou a lgebra de Boole anlise de circuitos condio de um contacto como V ou F
representado como uma varivel Booleana (0 ou 1)
FEUP/DEEC Laboratrio de Sistemas Digitais 61

lgebra de Boole - axiomas


Definies fundamentais
seja X uma varivel booleana A1 X=0 se X 1 A1 X=1 se X 0 (X ou 1 ou 0)
A2 A2

se X=0 ento X=1 se X=1 ento X=0 (X o oposto de X)


62

FEUP/DEEC Laboratrio de Sistemas Digitais

Laboratrio de Sistemas Digitais 2006/2007 - MIEEC - FEUP/DEEC

V 2.00 Nov-2006

lgebra de Boole - axiomas


A3

0.0=0 A4 1 . 1 = 1 A5 0 . 1 = 1 . 0 = 0 (operador E: 2 interruptores em srie) 0+0=0

A3 A4

1+1=1 A5 0 + 1 = 1 + 0 = 1 (operador OU: 2 interruptores em paralelo)


63

FEUP/DEEC Laboratrio de Sistemas Digitais

lgebra de Boole - axiomas


Os 10 axiomas definem a lgebra de Boole Convenes:
operador E representa-se por . (ponto)
pode chamar-se ao E produto lgico

operador OU representa-se por + (mais)


pode chamar-se ao OU soma lgica

o E tem precedncia em relao ao OU podem usar-se parntesis em expresses


FEUP/DEEC Laboratrio de Sistemas Digitais 64

Laboratrio de Sistemas Digitais 2006/2007 - MIEEC - FEUP/DEEC

V 2.00 Nov-2006

lgebra de Boole - teoremas


Uma varivel
T1 T2 T3 T4 T5

X+0=X X+1=1 X+X=X (X) = X X + X = 1

T1 T2 T3

X.1=X X.0=0 X.X=X X . X = 0

T5

FEUP/DEEC Laboratrio de Sistemas Digitais

65

lgebra de Boole - teoremas


Duas e trs variveis
T6 X+Y=Y+X T7 (X+Y)+Z=X+(Y+Z) T8 X.Y+X.Z=X.(Y+Z) T9 X+X.Y=X T10 X.Y+X.Y = X T6 X.Y=Y.X T7 (X.Y).Z = X.(Y.Z) T8 (X+Y).(X+Z) = X+Y.Z T9 X.(X+Y)=X T10 (X+Y).(X+Y) = X

T11 X.Y+X.Z+Y.Z = X.Y+X.Z T11 (X+Y).(X+Z).(Y+Z) = (X+Y).(X+Z)


FEUP/DEEC Laboratrio de Sistemas Digitais 66

Laboratrio de Sistemas Digitais 2006/2007 - MIEEC - FEUP/DEEC

V 2.00 Nov-2006

Leis de DeMorgan
(X . Y) = X + Y Generalizando:

(T14)

(X +Y) = X . Y

[F(X1, X2, X3, ... Xn, +, . ) ] = F(X1, X2, X3,..., Xn, . , +) Exemplo: [A.B+(A+B).(A+C)]= (A+B).( (A.B)+(A.C) )
FEUP/DEEC Laboratrio de Sistemas Digitais 67

Teorema de expanso de Shannon


F(X1, X2, X3, ... ,Xn)= X1 . F(1, X2, X3,...Xn) + X1 . F(0, X2, X3,...Xn)

F(X1, X2, X3, ... ,Xn)= [ X1 + F(0, X2, X3,...Xn) ] . [ X1 + F(1, X2, X3,...Xn) ]

FEUP/DEEC Laboratrio de Sistemas Digitais

68

Laboratrio de Sistemas Digitais 2006/2007 - MIEEC - FEUP/DEEC

V 2.00 Nov-2006

Princpio da dualidade
Um igualdade verdadeira mantm-se quando
se trocam entre si zeros e uns, e + e .

Exemplo:
os teoremas Txx so duais dos teoremas Txx e os teoremas Txx so duais dos teoremas Txx
Se verdade que Z.Y+(X+Y)=(Z+X).Y ento tambm verdade (Z+Y).(X.Y)=(Z.X)+Y

FEUP/DEEC Laboratrio de Sistemas Digitais

69

Simplificao de expresses
(A.B+(A+B))+A.C A.B+A.B+A.C = A.(B+B)+A.C = A.1+A.C = A+A.C = A = (Leis de DeMorgan) (teorema T8) (teorema T5) (teorema T1) (teorema T9)

FEUP/DEEC Laboratrio de Sistemas Digitais

70

Laboratrio de Sistemas Digitais 2006/2007 - MIEEC - FEUP/DEEC

V 2.00 Nov-2006

Representao de funes
Uma funo booleana de N variveis
domnio: todas as 2N combinaes das variveis contra domnio: [1:0]

Como representar?
Expresso algbrica: F(X,Y,Z)=Z.Y+X.Z+Y.Z Tabela de verdade: todos os valores de F() Circuito lgico
FEUP/DEEC Laboratrio de Sistemas Digitais 71

Tabela de verdade
X 0 0 0 0 1 1 1 1 Y 0 0 1 1 0 0 1 1 Z F(X,Y,Z) 0 1 1 1 0 0 1 0 Valores da funo 0 1 1 1 0 0 1 1

2N linhas ordem natural

FEUP/DEEC Laboratrio de Sistemas Digitais

72

Laboratrio de Sistemas Digitais 2006/2007 - MIEEC - FEUP/DEEC

V 2.00 Nov-2006

Tabela de verdade
X 0 0 0 0 1 1 1 1 Y 0 0 1 1 0 0 1 1 Z F(X,Y,Z) 0 1 1 1 0 0 1 0 0 1 1 1 0 0 1 1 Nestes casos, o valor de F(X,Y,Z) s depende de X e Y Pode-se compactar a escrita da tabela de verdade: X 0 0 1 1 1 Y 0 1 0 1 1 Z F(X,Y,Z) x 1 x 0 x 1 0 0 1 1 x significa 0 ou 1
FEUP/DEEC Laboratrio de Sistemas Digitais 73

Circuito lgico
Uma rede de portas lgicas interligadas entre si As porta lgicas representam as operaes elementares da lgebra booleana:
E
A B A.B
A 0 0 1 1 A 0 0 1 1 B A.B 0 0 1 0 0 0 1 1 B A+B 0 0 1 1 0 1 1 1 A A 0 1 1 0

X.Z

OU
A B A+B

F(X,Y,Z)
Z.Y

NO
A A

Z Y

Z .Y

portas lgicas elementares

circuito lgico

FEUP/DEEC Laboratrio de Sistemas Digitais

74

Laboratrio de Sistemas Digitais 2006/2007 - MIEEC - FEUP/DEEC

V 2.00 Nov-2006

Circuito lgico
As portas lgicas E e OU podem ter um nmero qualquer de entradas
(na realidade, limitado por razes ligadas realizao fsica dos circuitos electrnicos)
A B C D A B C

A.B.C.D

A+B+C

Podem ser desenhadas portas lgicas com entradas negadas:


A B A.B A B A+B

Ou com a sada negada:


(neste caso chamam-se NO-E ou NAND e NO-OU ou NOR)
A B A.B A B A+B

FEUP/DEEC Laboratrio de Sistemas Digitais

75

Representao standard
Algumas definies (e como so as duais?)
Literal: X Y READY Termo de produto: X Y X.Y X.X.Y Soma de produtos: X+Y.Z+Y (ou SOP) Termo normal: X Y X.Y Termo mnimo: X.Y.Z X.Y.Z (3 variveis)

FEUP/DEEC Laboratrio de Sistemas Digitais

76

Laboratrio de Sistemas Digitais 2006/2007 - MIEEC - FEUP/DEEC

V 2.00 Nov-2006

Representao standard
Termo mnimo um termo normal de produto
que s 1 para uma nica linha da tabela X 0 0 0 0 1 1 1 1 Y 0 0 1 1 0 0 1 1 Z F(X,Y,Z) minterms 0 1 X.Y.Z 1 1 X.Y.Z 0 0 X.Y.Z 1 0 X.Y.Z 0 1 X.Y.Z 1 1 X.Y.Z 0 0 X.Y.Z 1 1 X.Y.Z
77

Nmero da linha

0 1 2 3 4 5 6 7

FEUP/DEEC Laboratrio de Sistemas Digitais

Representao standard
Soma cannica
soma lgica dos minterms para os quais F() 1 Exemplo: para a funo anterior:
F(X,Y,Z) = X.Y.Z + X.Y.Z + X.Y.Z + X.Y.Z + X.Y.Z

Identificando cada minterm pelo nmero da linha lista de minterms: F(X,Y,Z) = X,Y,Z (0,1,4,5,7)
IMPORTANTE: os nmeros dependem da ordem das variveis!

FEUP/DEEC Laboratrio de Sistemas Digitais

78

Laboratrio de Sistemas Digitais 2006/2007 - MIEEC - FEUP/DEEC

V 2.00 Nov-2006

E agora ... dualidade!


Termo mximo um termo normal de soma
que s 0 para uma nica linha da tabela
0 1 2 3 4 5 6 7 X 0 0 0 0 1 1 1 1 Y 0 0 1 1 0 0 1 1 Z F(X,Y,Z) maxterms 0 1 X+Y+Z 1 1 X+Y+Z 0 0 X+Y+Z 1 0 X+Y+Z 0 1 X+Y+Z 1 1 X+Y+Z 0 0 X+Y+Z 1 1 X+Y+Z
79

Nmero da linha

FEUP/DEEC Laboratrio de Sistemas Digitais

Dualidade continua...
Produto cannico
produto lgico dos maxterms para os quais F() 0

Exemplo: para a funo anterior:


F(X,Y,Z) = (X+Y+Z) . (X+Y+Z) . (X+Y+Z)

Identificando cada maxterm pelo nmero da linha lista de maxterms: F(X,Y,Z) = X,Y,Z (2,3,6)
IMPORTANTE: os nmeros dependem da ordem das variveis!

FEUP/DEEC Laboratrio de Sistemas Digitais

80

Laboratrio de Sistemas Digitais 2006/2007 - MIEEC - FEUP/DEEC

10

V 2.00 Nov-2006

Formas padro para representar funes booleanas


tabela de verdade
enumerao exaustiva para todas as combinaes das variveis

lista de minterms
nmeros das linhas em que a funo vale 1

lista de maxterms
nmeros das linhas em que a funo vale 0

soma cannica
soma lgica dos termos mnimos

produto cannico
produto lgico dos termos mximos

circuito lgico
interligao de portas lgicas
FEUP/DEEC Laboratrio de Sistemas Digitais 81

Projecto de sistemas digitais


Anlise
dado um circuito lgico, descobrir a sua funo descrever a relao entre entradas e sadas

Sntese
transformar uma especificao num circuito objectivo: fazer o mais barato possvel problema de minimizao:
encontrar uma expresso booleana que gaste o menor nmero possvel de portas lgicas

FEUP/DEEC Laboratrio de Sistemas Digitais

82

Laboratrio de Sistemas Digitais 2006/2007 - MIEEC - FEUP/DEEC

11

V 2.00 Nov-2006

Sntese de circuitos digitais


(combinacionais)

Expresses booleanas no simplificadas


soma cannica e produto cannico realizadas como circuitos lgicos de 2 nveis: = (X+Y+Z) . (X+Y+Z) . (X+Y+Z) F(X,Y,Z)
Y Z X

nvel de portas AND


F(X,Y,Z)

nvel de portas OR
FEUP/DEEC Laboratrio de Sistemas Digitais 83

Minimizao de circuitos lgicos de 2 nveis


Mapa de Karnaugh: outra forma de representar funes booleanas: Y YZ X 0 X 1 00 01 11 10 Valores da funo Ordem natural trocada!

1 1

1 1
Z

0 1

0
Propriedade

0
XYZ=111

entre duas posies geometricamente adjacentes (linhas ou colunas) apenas uma varivel troca de valor lgico

XYZ=101
84

FEUP/DEEC Laboratrio de Sistemas Digitais

Laboratrio de Sistemas Digitais 2006/2007 - MIEEC - FEUP/DEEC

12

V 2.00 Nov-2006

Minimizao de expresses SOP


Y YZ X 0 X 1 00 01 11 10
Cada 1 no mapa de Karnaugh corresponde a um termo mnimo na soma cannica Se o 1 pertence s linhas ou colunas de uma varivel, essa varivel aparece no negada Se o 1 no pertence s linhas ou colunas de uma varivel, essa varivel aparece negada Pode-se estender essa correspondncia para grupos rectangulares de 2N uns adjacentes

1 1

1 1
Z

0 1

0 0

F(X,Y,Z) = X.Y.Z + X.Y.Z + X.Y.Z + X.Y.Z + X.Y.Z


Combinando estes termos obtm-se: X.Y.(Z+Z) = X.Y
FEUP/DEEC Laboratrio de Sistemas Digitais 85

Minimizao de expresses SOP


Y YZ X 0 X 1 00 01 11 10 YZ X 0 X 1 00 01 11 Y 10

1 1

1 1

0 1

0 0

1 1

1 1
Z

0 1

0 0

Z F(X,Y,Z) = X.Y + X.Y+X.Y.Z

Combinando estes termos obtm-se: Y.(X+X) = Y Corresponde ao grupo de 4 uns: no pertence completamente s colunas da varivel Y
FEUP/DEEC Laboratrio de Sistemas Digitais 86

Laboratrio de Sistemas Digitais 2006/2007 - MIEEC - FEUP/DEEC

13

V 2.00 Nov-2006

Minimizao de expresses SOP


Y YZ X Y
( implicante primo)

00

01

11

10

0 X 1

1 1

1 1

0 1

0 0
X.Y.Z
(no implicante primo!)

Z O termo Y implica a funo F(X,Y,Z): quando Y 1, tambm F() 1 Implicante primo (prime implicant): um termo normal de produto que implica F, tal que se uma varivel for removida desse termo deixa de implicar F; corresponde a um grupo de uns que sejam o maior possvel (ou termos o menor possvel). O termo X.Y.Z no implicante primo: se Y for retirada, continua a implicar F
FEUP/DEEC Laboratrio de Sistemas Digitais 87

Minimizao de expresses SOP


Y YZ X Y
( implicante primo)

00

01

11

10

0 X 1

1 1

1 1
Z

0 1

0 0
X.Z
(j implicante primo!)

F(X,Y,Z) = Y + X.Z O que significa este 1 pertencer a dois termos (ou grupos) que implicam F( )? Teorema dos implicantes primos: a expresso mnima soma-de-produtos uma soma de implicantes primos
FEUP/DEEC Laboratrio de Sistemas Digitais 88

Laboratrio de Sistemas Digitais 2006/2007 - MIEEC - FEUP/DEEC

14

V 2.00 Nov-2006

Minimizao de expresses POS


(teorema da dualidade!) Y YZ X 0 X 1 00 01 11 10
Cada 0 no mapa de Karnaugh corresponde a um termo mximo na soma cannica Se o 0 pertence s linhas ou colunas de uma varivel, essa varivel aparece negada Se o 0 no pertence s linhas ou colunas de uma varivel, essa varivel aparece no negada Pode-se estender essa correspondncia para grupos rectangulares de 2N zeros adjacentes

1 1

1 1
Z

0 1

0 0

F(X,Y,Z) = (X+Y) . (Y+Z)

FEUP/DEEC Laboratrio de Sistemas Digitais

89

Minimizao de expresses POS


Y YZ X 0 X 1 00 01 11 10

0 0

0 0
Z

1 0

1 1

Pode-se obter a expresso mnima SOP de F(X,Y,Z), negando-a aplicando o teorema generalizado de DeMorgan:

F(X,Y,Z) = X.Y + Y.Z


Aplicando o teorema generalizado de DeMorgan:

F(X,Y,Z) = [ F(X,Y,Z) ] = (X+Y) . (Y+Z)


FEUP/DEEC Laboratrio de Sistemas Digitais 90

Laboratrio de Sistemas Digitais 2006/2007 - MIEEC - FEUP/DEEC

15

V 2.00 Nov-2006

Termos indiferentes
F(X,Y,Z) = X,Y,Z (0,1,4,5) + d(7) YZ X 0 X 1 Y 00 01 11 10

(dont care)

Lista de termos dont care

F(X,Y,Z) = Y Expresso mnima POS

1 1

1 1
Z

0 d

0 0

F(X,Y,Z) = Y Expresso mnima SOP


FEUP/DEEC Laboratrio de Sistemas Digitais

quando XYZ=111 o valor da funo no interessa indiferente ser 1 ou 0

91

Mapa de Karnaugh de 4 variveis


Y YZ WX 00 01 11 W 10 00 01 11 10

1 1 1 1

1 1 0 1
Z

0 1 0 0

0 0
X

0 1

os lados tambm so adjacentes entre si!

F(W,X,Y,Z) = Y.Z + W.Y + W.X.Z + W.X.Y+W.X.Z


FEUP/DEEC Laboratrio de Sistemas Digitais 92

Laboratrio de Sistemas Digitais 2006/2007 - MIEEC - FEUP/DEEC

16

V 2.00 Nov-2006

Mapa de Karnaugh de 2 variveis


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

1 1

0 1

Expresso mnima SOP

F(X,Y) = X + Y

FEUP/DEEC Laboratrio de Sistemas Digitais

93

Mapa de Karnaugh de 5 variveis


F(V,W,X,Y,Z) = V,W,X,Y,Z (0,1,4,5,8,9,10,12,16,17,19,20,21,23,27,31)
W.Y Y YZ 00 WX 00 1 01 11 W 10 01 11 10 YZ 00 WX 00 1 01 X W 10 11 01 Y 11 10

1 1 0 1
Z

0 0 0 0

0 0 0 1

1 1 0 0
Z

1 1 1 1

0 0 0 0
X

1 1 1

1 0 0

V = 0 (termos 0 a 15)
FEUP/DEEC Laboratrio de Sistemas Digitais

V = 1 (termos 16 a 31)
94

Laboratrio de Sistemas Digitais 2006/2007 - MIEEC - FEUP/DEEC

17

V 2.00 Nov-2006

Funes mnimas de igual custo


Y YZ WX 00 01 11 W 10 00 01 11 10

1 0 1 0

1 1 1 0

0 0 0 0

0 0
X

0 0

Z F(W,X,Y,Z) = W.X,Y + W.X.Y + W.Y.Z ou F(W,X,Y,Z) = W.X,Y + W.X.Y + X.Z.Y


FEUP/DEEC Laboratrio de Sistemas Digitais 95

Minimizao de vrias funes


F(X,Y,Z) = X,Y,Z (0,3,4) Y YZ X 0 X 1 00 01 11 10 YZ X 0 X 1 00 01 11 G(X,Y,Z) = X,Y,Z (0,1,3,4,5) Y 10

1 1

0 0

1 0

0 0

1 1

1 1

1 0

0 0

Z F(X,Y,Z) = Y.Z + X.Y.Z

Z G(X,Y,Z) = Y + X.Z

A funo G(X,Y,Z) fica mais barata com o termo X.Y.Z (grupo de 1 um) Regra: tentar maximizar o nmero de grupos comuns entre as funes
FEUP/DEEC Laboratrio de Sistemas Digitais 96

Laboratrio de Sistemas Digitais 2006/2007 - MIEEC - FEUP/DEEC

18

Você também pode gostar