Você está na página 1de 232

lgebra booleana e portas lgicas

Introduo
Circuitos eletrnicos
Analgicos
Operam com diversos nveis de tenso (voltagem) dentro de um intervalo Um sinal analgico pode assumir qualquer valor entre o mnimo e o mximo

Digitais
Operam com apenas dois nveis de tenso (voltagem) dentro de um intervalo Um sinal digital pode assumir apenas o valor mnimo ou o valor mximo

Introduo
Circuitos eletrnicos
Sinal analgico x sinal digital
Analgico Digital

Intervalo

Uma lmpada controlada por este sinal, pode assumir diversos nveis de luminosidade entre apagada e o brilho mximo

Uma lmpada controlada por este sinal, pode assumir apenas dois nveis de luminosidade: apagada ou brilho mximo

Introduo
Os dois nveis de tenso utilizados pelos circuitos eletrnicos digitais so chamados de baixo (low) e alto (high)
O nvel baixo corresponde a 0 Volt O nvel alto corresponde tipicamente a:
1,5 Volts ou 3,3 Volts ou 5 Volts Dependendo da tenso de alimentao exigida pelo circuito

1,5V; 3,3V; 5V

0V
4

lgebra booleana
Proposta pelo matemtico ingls George Boole, em 1854 Usada para projetar e analisar circuitos digitais Diferente da algebra convencional, onde as variaveis podem assumir valores no intervalo (-, + ), as variaveis boolenas podem assumir apenas dois valores: 0 e 1 (nveis lgicos) Considerando um circuito digital
0 correspode ao nvel baixo (0V) 1 corresponde ao nvel alto (5V; 3,3V ou 1,5V)

Na lgebra booleana, os valores 0 e 1 tambm so conhecidos como verdadeiro (true) e falso (false)
5

lgebra booleana
Veremos os inicialmente os circuitos lgicos mais elementares: portas lgicas A partir da interconexo entre portas lgicas, sistemas digitais complexos so criados (e.g. processador) As portas lgicas implementam fisicamante as operaes bsicas da lgebra boolena (operaes lgicas)
AND (e lgico) OR (ou lgico) NOT (complemento ou negao)

Tabelas verdade
Apresentam o funcionamento do circuito lgico em forma de tabela

lgebra booleana
Operaes bsicas
OR (ou lgico)
Tambm denominada adio lgica Smbolos: + ,
A + B, A v B v C Linguagens de programao (e.g. C, Java): |, || A operao OR resulta 1 se ao menos uma das variveis de entrada vale 1. Resulta 0 se todas variveis de entrada valem 0.

Definio

Porta lgica
2n linhas n = nmero de variveis ne entrada

Tabela verdade
A 0 0 1 1 B 0 1 0 1 S 0 1 1 1
7

S=A+B

lgebra booleana
Operaes bsicas
OR (ou lgico)
Forma de onda (wave form)
Descreve o comportamento dinmico do circuito

Se alguma das entradas igual a 1, a sada 1

lgebra booleana
Operaes bsicas
OR (ou lgico)
Porta lgica pode ter vrias entradas Definio
A operao OR resulta 1 se ao menos uma das variveis de entrada vale 1. Resulta 0 se todas variveis de entrada valem 0.

Tabela verdade
B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1

Porta lgica
A B C S

S 0 1 1 1 1 1 1 1
9

S=A+B+C
A B C

Se alguma das entradas igual a 1, a sada 1


S S

0 0 0 0 1 1 1

S = (A + B) + C

lgebra booleana
Operaes bsicas
OR (ou lgico)
Forma de onda (wave form)
Descreve o comportamento dinmico do circuito

A B C

Se alguma das entradas igual a 1, a sada 1

Glitch/spike devido mudana simultnea das entradas

lgebra booleana
Operaes bsicas
AND (e lgico)
Tambm denominada multiplicao lgica Smbolos: . , ^
A . B, A ^ B ^ C Linguagens de programao (e.g. C, Java): &, && A operao AND resulta 1 se todas variveis de entrada valem 1. Resulta 0 se ao menos uma das variveis de entrada vale 0.

Definio

Porta lgica

Tabela verdade
A 0 0 1 1 B 0 1 0 1 S 0 0 0 1

S=A.B

lgebra booleana
Operaes bsicas
AND (e lgico)
Forma de onda (wave form)
Descreve o comportamento dinmico do circuito

Se alguma das entradas igual a 0, a sada 0

lgebra booleana
Operaes bsicas
AND (e lgico)
Porta lgica pode ter vrias entradas Definio
A operao AND resulta 1 se todas variveis de entrada valem 1. Resulta 0 se ao menos uma das variveis de entrada vale 0.

Porta lgica
A B C S

Tabela verdade
B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1

S 0 0 0 0 0 0 0 1
13

S=A.B.C
A B C S

Se alguma entrada igual a 0, a sada 0

0 0 0 0 1 1 1 1

S = (A . B) . C

lgebra booleana
Operaes bsicas
NOT (complemento ou negao)
Inverte o valor lgico da varivel de entrada Smbolos: , , , ~, !
, A, A, ~A, !A (operao unria) Linguagens de programao (e.g. C, Java): ~, ! A operao NOT resulta 1 se a varivel de entrada vale 0. Resulta 0 se a varivel de entrada vale 1.

Definio

Porta lgica (inversor)

Tabela verdade
A 0 1 1 0

S=
14

lgebra booleana
Operaes bsicas
NOT (complemento ou negao)
Forma de onda (wave form)
Descreve o comportamento dinmico do circuito

lgebra booleana
Resumo das operaes bsicas
OR
0 0 1 1 0 0 0 1 1 1 + + + + + . . . . . 0 1 0 1 0 = = = = + 0 1 1 1 0 + 0 + 1 + 0 = 1 (Se alguma entrada 1, a sada 1)

AND
0 1 0 1 1 =0 =0 =0 =1 . 1 . 0 . 1 . 1 . 1 = 0 (Se alguma entrada 0, a sada 0)

NOT
!0 = 1 !1 = 0

lgebra booleana
Circuitos lgicos
Representao grfica de equaes booleanas utilizando portas lgicas Os circuitos so criados a partir da interconexo das portas lgicas Qualquer circuito lgico pode ser implementado utilizando as portas lgicas OR, AND e NOT, e descrito a partir de equaes booleanas

lgebra booleana
Exemplos

lgebra booleana
Exemplos
Conexo

No h conexo Smbolo da operao AND (.) suprimido

lgebra booleana
Circuito integrado (CI)
Conjunto de portas lgicas fabricadas em um chip A partir do circuito lgico pode-se implementar fisicamente equaes booleanas usando C.Is (circuito digital)

lgebra booleana
Circuito integrado (CI)
Placa do Apple I (Leiloada por US$ 374.500)

lgebra booleana
Avaliao de equaes booleanas
Dada a equao que descreve uma funo Booleana F, deseja-se saber qual o comportamento de F Podemos montar a tabela-verdade para F
Identificar as variveis de entrada Para cada varivel de entrada, destinar uma coluna Criar colunas direita, conforme a ordem de precedncia das operaes contidas na equao
Parnteses (do mais interno para o mais externo) ou NOT de varivel (e.g. !B) AND (e.g. A + B . C) OR

lgebra booleana
Avaliao de equaes booleanas
F = X . (Y + !Z)
Variveis de entrada: X, Y e Z A tabela-verdade para uma equao com n variveis de entrada contm 2n linhas. 8 linhas nesse caso (23).

X 0 1 2 3 4 5 6 7 0 0 0 0 1 1 1 1

Y 0 0 1 1 0 0 1 1

Z 0 1 0 1 0 1 0 1

Nestas linhas deve-se enumerar todas as combinaes das variveis de entrada (tipicamente, em ordem crescente usando representao binria)

8 linhas (23)

lgebra booleana
Avaliao de equaes booleanas
F = X . (Y + !Z)
Avaliao de !Z

X 0 0 0 0 1 1 1 1

Y 0 0 1 1 0 0 1 1

Z 0 1 0 1 0 1 0 1

lgebra booleana
Avaliao de equaes booleanas
F = X . (Y + !Z)
Avaliao de !Z

X 0 0 0 0 1 1 1 1

Y 0 0 1 1 0 0 1 1

Z 0 1 0 1 0 1 0 1

!Z

lgebra booleana
Avaliao de equaes booleanas
F = X . (Y + !Z)
Avaliao de !Z

X 0 0 0 0 1 1 1 1

Y 0 0 1 1 0 0 1 1

Z 0 1 0 1 0 1 0 1

!Z 1 0 1 0 1 0 1 0

lgebra booleana
Avaliao de equaes booleanas
F = X . (Y + !Z)
Avaliao de (Y + !Z)

X 0 0 0 0 1 1 1 1

Y 0 0 1 1 0 0 1 1

Z 0 1 0 1 0 1 0 1

!Z 1 0 1 0 1 0 1 0

Y + !Z

lgebra booleana
Avaliao de equaes booleanas
F = X . (Y + !Z)
Avaliao de (Y + !Z)

X 0 0 0 0 1 1 1 1

Y 0 0 1 1 0 0 1 1

Z 0 1 0 1 0 1 0 1

!Z 1 0 1 0 1 0 1 0

Y + !Z 1 0 1 1 1 0 1 1

lgebra booleana
Avaliao de equaes booleanas
F = X . (Y + !Z)
Avaliao de X . (Y + !Z)

X 0 0 0 0 1 1 1 1

Y 0 0 1 1 0 0 1 1

Z 0 1 0 1 0 1 0 1

!Z 1 0 1 0 1 0 1 0

Y + !Z 1 0 1 1 1 0 1 1

lgebra booleana
Avaliao de equaes booleanas
F = X . (Y + !Z)
Avaliao de X . (Y + !Z)

X 0 0 0 0 1 1 1 1

Y 0 0 1 1 0 0 1 1

Z 0 1 0 1 0 1 0 1

!Z 1 0 1 0 1 0 1 0

Y + !Z 1 0 1 1 1 0 1 1

lgebra booleana
Avaliao de equaes booleanas
F = X . (Y + !Z)
Avaliao de X . (Y + !Z)

X 0 0 0 0 1 1 1 1

Y 0 0 1 1 0 0 1 1

Z 0 1 0 1 0 1 0 1

!Z 1 0 1 0 1 0 1 0

Y + !Z 1 0 1 1 1 0 1 1

F 0 0 0 0 1 0 1 1

lgebra booleana
Avaliao de equaes booleanas
Pode-se determinar algebricamente o valor da funo para uma determinada entrada Exemplo: X=1, Y=0, Z=0
F F F F F = = = = = X 1 1 1 1 . . . . (Y + !Z) (0 + !0) substitui variveis de entrada pelos valores lgicos (0 + 1) (1)

lgebra booleana
Avaliao de equaes booleanas
X = !A + B
Variveis de entrada: A e B Tabela verdade com 4 linhas (22)

A 0 0 1 1

B 0 1 0 1

lgebra booleana
Avaliao de equaes booleanas
X = !A + B
Variveis de entrada: A e B Tabela verdade com 4 linhas (22) Avaliao de !A

A 0 0 1 1

B 0 1 0 1

!A

lgebra booleana
Avaliao de equaes booleanas
X = !A + B
Variveis de entrada: A e B Tabela verdade com 4 linhas (22) Avaliao de !A

A 0 0 1 1

B 0 1 0 1

!A 1 1 0 0

lgebra booleana
Avaliao de equaes booleanas
X = !A + B
Variveis de entrada: A e B Tabela verdade com 4 linhas (22) Avaliao de !A + B

A 0 0 1 1

B 0 1 0 1

!A 1 1 0 0

lgebra booleana
Avaliao de equaes booleanas
X = !A + B
Variveis de entrada: A e B Tabela verdade com 4 linhas (22) Avaliao de !A + B

A 0 0 1 1

B 0 1 0 1

!A 1 1 0 0

X 1 1 0 1

lgebra booleana
Avaliao de equaes booleanas
X = !(A + B)
Variveis de entrada: A e B Tabela verdade com 4 linhas (22)

A 0 0 1 1

B 0 1 0 1

lgebra booleana
Avaliao de equaes booleanas
X = !(A + B)
Variveis de entrada: A e B Tabela verdade com 4 linhas (22) Avaliao de (A + B)

A 0 0 1 1

B 0 1 0 1

A+B

lgebra booleana
Avaliao de equaes booleanas
X = !(A + B)
Variveis de entrada: A e B Tabela verdade com 4 linhas (22) Avaliao de (A + B)

A 0 0 1 1

B 0 1 0 1

A+B 0 1 1 1

lgebra booleana
Avaliao de equaes booleanas
X = !(A + B)
Variveis de entrada: A e B Tabela verdade com 4 linhas (22) Avaliao de !(A + B)

A 0 0 1 1

B 0 1 0 1

A+B 0 1 1 1

lgebra booleana
Avaliao de equaes booleanas
X = !(A + B)
Variveis de entrada: A e B Tabela verdade com 4 linhas (22) Avaliao de !(A + B)

A 0 0 1 1

B 0 1 0 1

A+B 0 1 1 1

X 1 0 0 0

lgebra booleana
Avaliao de equaes booleanas
X = (!A.B.C) . !(A + D)
Variveis de entrada: A, B, C e D Tabela verdade com 16 linhas (24)
A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

lgebra booleana
Avaliao de equaes booleanas
X = (!A.B.C) . !(A + D)
A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 !A 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0

Avaliao de !A

lgebra booleana
Avaliao de equaes booleanas
X = (!A.B.C) . !(A + D)
A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 !A 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 A+D 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1

Avaliao de (A + D)

lgebra booleana
Avaliao de equaes booleanas
X = (!A.B.C) . !(A + D)
A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 !A 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 A+D 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 !(A + D) 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0

Avaliao de !(A + D)

lgebra booleana
Avaliao de equaes booleanas
X = (!A.B.C) . !(A + D)
A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 !A 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 A+D 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 !(A + D) 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 !A.B.C 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0

Avaliao de (!A.B.C)

lgebra booleana
Avaliao de equaes booleanas
X = (!A.B.C) . !(A + D)
A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 !A 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 A+D 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 !(A + D) 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 !A.B.C 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0

Avaliao de X

lgebra booleana
Circuitos lgicos
O desenho de um circuito lgico (esquemtico) deve obedecer ordem de precedncia das operaes mostradas na equao que se deseja implementar Exemplo: F = X . (Y + !Z)

!Z Y + !Z X . (Y + !Z)

lgebra booleana
Circuitos lgicos
F = A.C + B.!C + !A.B.C

lgebra booleana
Circuitos lgicos
F = A.C + B.!C + !A.B.C

lgebra booleana
Circuitos lgicos
F = A.C + B.!C + !A.B.C

A.C B.!C !A.B.C

lgebra booleana
Circuitos lgicos
F = A.C + B.!C + !A.B.C

A.C B.!C !A.B.C A.C + B.!C + !A.B.C

lgebra booleana
Circuitos lgicos
S = !A.C + (B.C + A.!B)

lgebra booleana
Circuitos lgicos
S = !A.C + (B.C + A.!B)

!A.C B.C A.!B

lgebra booleana
Circuitos lgicos
S = !A.C + (B.C + A.!B)

!A.C B.C A.!B

B.C + A.!B

lgebra booleana
Circuitos lgicos
S = !A.C + (B.C + A.!B)

!A.C B.C A.!B

!A.C + (B.C + A.!B) B.C + A.!B

lgebra booleana
Circuitos lgicos
S = !(C.!B).(A.B + !C + A)

Verso 1 (or de 2 entradas)

C.!B A.B !C + A

!(C.!B) !(C.!B).(A.B + !C + A)

A.B + !C + A

lgebra booleana
Circuitos lgicos
S = !(C.!B).(A.B + !C + A)

Verso 2 (or de 3 entradas)

C.!B

!(C.!B) !(C.!B).(A.B + !C + A)

A.B

A.B + !C + A

lgebra booleana
Circuitos lgicos
O valor da funo para um dado conjunto de valores das variveis de entrada pode ser determinado atravs do circuito lgico, sem usar a equao booleana
=1 =0 =1

0 1 0 1 1 0

0 0 0

lgebra booleana
Circuitos lgicos
O valor da funo para um dado conjunto de valores das variveis de entrada pode ser determinado atravs do circuito lgico, sem usar a equao booleana
1= =1 =0

0 0 1 1

1 1

1 0 1 1

lgebra booleana
Circuitos lgicos
A equao booleana pode ser obtida diretamente a partir do circuito lgico

lgebra booleana
Circuitos lgicos
A equao booleana pode ser obtida diretamente a partir do circuito lgico

lgebra booleana
Construir a tabela verdade e desenhar o circuito
X = !(!A + !B).B.C
Variveis de entrada: A, B e C Tabela verdade com 8 linhas (23)

A 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1 1

C 0 1 0 1 0 1 0 1

lgebra booleana
Construir a tabela verdade e desenhar o circuito
X = !(!A + !B).B.C
Variveis de entrada: A, B e C Tabela verdade com 8 linhas (23)

A 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1 1

C 0 1 0 1 0 1 0 1

!A 1 1 1 1 0 0 0 0

!B 1 1 0 0 1 1 0 0

Avaliao de !A e de !B

lgebra booleana
Construir a tabela verdade e desenhar o circuito
X = !(!A + !B).B.C
Variveis de entrada: A, B e C Tabela verdade com 8 linhas (23)

A 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1 1

C 0 1 0 1 0 1 0 1

!A 1 1 1 1 0 0 0 0

!B 1 1 0 0 1 1 0 0

!A + !B 1 1 1 1 1 1 0 0

Avaliao de (!A + !B)

lgebra booleana
Construir a tabela verdade e desenhar o circuito
X = !(!A + !B).B.C
Variveis de entrada: A, B e C Tabela verdade com 8 linhas (23)

A 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1 1

C 0 1 0 1 0 1 0 1

!A 1 1 1 1 0 0 0 0

!B 1 1 0 0 1 1 0 0

!A + !B 1 1 1 1 1 1 0 0

!(!A + !B) 0 0 0 0 0 0 1 1

Avaliao de !(!A + !B)

lgebra booleana
Construir a tabela verdade e desenhar o circuito
X = !(!A + !B).B.C
Variveis de entrada: A, B e C Tabela verdade com 8 linhas (23)

A 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1 1

C 0 1 0 1 0 1 0 1

!A 1 1 1 1 0 0 0 0

!B 1 1 0 0 1 1 0 0

!A + !B 1 1 1 1 1 1 0 0

!(!A + !B) 0 0 0 0 0 0 1 1

X 0 0 0 0 0 0 0 1

Avaliao de X

lgebra booleana
Construir a tabela verdade e desenhar o circuito
X = !(!A + !B).B.C
Variveis de entrada: A, B e C Tabela verdade com 8 linhas (23)

!A !B

!A + !B

!(!A + !B) B C !(!A + !B).B.C

lgebra booleana
Logisim

lgebra booleana
Construir a tabela verdade e desenhar o circuito
X = (!A.!B.!C) + (A.!B.!C) + (!A.!B.D)
Variveis de entrada: A, B, C e D Tabela verdade com 16 linhas (24)
A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

lgebra booleana
Construir a tabela verdade e desenhar o circuito
X = (!A.!B.!C) + (A.!B.!C) + (!A.!B.D)
A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 !A 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 !B 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 !C 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0

Avaliao de !A, !B e !C

lgebra booleana
Construir a tabela verdade e desenhar o circuito
X = (!A.!B.!C) + (A.!B.!C) + (!A.!B.D)
A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 !A 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 !B 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 !C 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 !A.!B.!C 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Avaliao de !A.!B.!C

lgebra booleana
Construir a tabela verdade e desenhar o circuito
X = (!A.!B.!C) + (A.!B.!C) + (!A.!B.D)
A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 !A 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 !B 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 !C 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 !A.!B.!C 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 A.!B.!C 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0

Avaliao de A.!B.!C

lgebra booleana
Construir a tabela verdade e desenhar o circuito
X = (!A.!B.!C) + (A.!B.!C) + (!A.!B.D)
A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 !A 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 !B 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 !C 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 !A.!B.!C 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 A.!B.!C 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 !A.!B.D 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0

Avaliao de ! A.!B.D

lgebra booleana
Construir a tabela verdade e desenhar o circuito
X = (!A.!B.!C) + (A.!B.!C) + (!A.!B.D)
A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 !A 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 !B 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 !C 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 !A.!B.!C 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 A.!B.!C 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 !A.!B.D 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 X 1 1 0 1 0 0 0 0 1 1 0 0 0 0 0 0

Avaliao de X

lgebra booleana
Construir a tabela verdade e desenhar o circuito
X = (!A.!B.!C) + (A.!B.!C) + (!A.!B.D)
!A !A.!B.!C !B !C A A.!B.!C (!A.!B.!C) + (A.!B.!C) + (!A.!B.D)

!B !A !A.!B.D

lgebra booleana
Logisim

lgebra booleana
Forma de onda: X = !(!A + !B).B.C

A B C

lgebra booleana
Forma de onda: X = !(!A +
Sada e sinais intermedirios avaliados a !B).B.C cada transio das entradas

A B C !A !B !A + !B !(!A + !B) X

lgebra booleana
Forma de onda: X = !(!A + !B).B.C

A B C !A !B !A + !B !(!A + !B) X

lgebra booleana
Forma de onda: X = !(!A + !B).B.C

A B C !A !B !A + !B !(!A + !B) X

lgebra booleana
Forma de onda: X = !(!A + !B).B.C

A B C !A !B !A + !B !(!A + !B) X

lgebra booleana
Forma de onda: X = !(!A + !B).B.C

A B C !A !B !A + !B !(!A + !B) X

lgebra booleana
Forma de onda: X = !(!A + !B).B.C

A B C !A !B !A + !B !(!A + !B) X

lgebra booleana
Forma de onda: X = !(!A + !B).B.C

A B C !A !B !A + !B !(!A + !B) X

lgebra booleana
Forma de onda: X = !(!A + !B).B.C

A B C !A !B !A + !B !(!A + !B) X

lgebra booleana
Forma de onda: X = !(!A + !B).B.C

A B C !A !B !A + !B !(!A + !B) X

lgebra booleana
Forma de onda: X = !(!A + !B).B.C

A B C !A !B !A + !B !(!A + !B) X

lgebra booleana
Forma de onda: X = !(!A + !B).B.C

A B C !A !B !A + !B !(!A + !B) X

lgebra booleana
Teoremas e propriedades
Auxiliam na simplificao de equaes e circuitos lgicos Reduzir o nmero de termos Reduzir o nmero de variveis Reduzir o nmero de portas lgicas

lgebra booleana
Teoremas e propriedades
Propriedades da adio lgica (OR)
X X X X + + + + 0=X 1=1 X=X !X = 1

Exemplo: F = A.(B + B) F = A.B

lgebra booleana
Teoremas e propriedades
Propriedades da multiplicao lgica (AND)
X X X X . . . . 0=0 1=X X=X !X = 0

Exemplo: F = A + (B.! B)

F = A + 0 F = A

lgebra booleana
Teoremas e propriedades
X (nas propriedades) pode representar uma varivel ou uma expresso em uma equao booleana Exemplo 1: X representando a varivel B
F = A + (B.!B) F = A + 0 F = A

Exemplo 2: X representando expresso C.D


F = A.B + (C.D . !(C.D)) F = A.B + 0 F = A.B

lgebra booleana
Teoremas e propriedades
Complementao (bvia)
!!X = X
X !X !!X = X

Comutatividade (ordem no altera o resultado)


X + Y = Y + X (a ordem das parcelas no altera a soma) X . Y = Y . X (a ordem dos fatores no altera o produto)

lgebra booleana
Teoremas e propriedades
Associatividade (agrupamento no altera o resultado)
X + (Y + Z) = (X + Y) + Z = X + Y + Z X.(Y.Z) = (X.Y).Z = X.Y.Z

lgebra booleana
Teoremas e propriedades
Distributividade (expanso/fatorao)
X.(Y + Z) = X.Y + X.Z X + Y.Z = (X + Y) . (X + Z) (Cuidado! No trivial)

lgebra booleana
Teoremas e propriedades
Distributividade (expanso/fatorao)
X.(Y + Z) = X.Y + X.Z X + Y.Z = (X + Y) . (X + Z) (Cuidado! No trivial) Exemplo 1
F = A.B.C + A.B.D F = A.B.(C + D) (distributividade)

Exemplo 2
F = A.B.C + !A.B.!C F = B.A.C + B.!A.!C F = B.(A.C + !A.!C) (comutatividade) (distributividade)

lgebra booleana
Teoremas e propriedades
Distributividade
X.(Y + Z) = X.Y + X.Z X + Y.Z = (X + Y).(X + Z) (Cuidado! No trivial) Prova distributividade no trivial
F F F F F F F F F F F F F = = = = = = = = = = = = = (X + Y) . (X + Z) (X + Y).X + (X + Y).Z X.(X + Y) + Z.(X + Y) X.X + X.Y + Z.X + Z.Y X + X.Y + Z.X + Z.Y X.1 + X.Y + Z.X + Z.Y X.(1 + Y) + Z.X + Z.Y X.(1) + Z.X + Z.Y X + Z.X + Z.Y X.1 + Z.X + Z.Y X.(1 + Z) + Z.Y X.(1) + Z.Y X + Z.Y (distributividade) (comutatividade) (distributividade) (propriedade do AND: X.X = X) (propriedade do AND: X.1 = X) (distributividade) (propriedade do OR: X + 1 = 1) (propriedade do AND: X.1 = X) (propriedade do AND: X.1 = X) (distributividade) (propriedade do OR: X + 1 = 1) (propriedade do AND: X.1 = X)

lgebra booleana
Teoremas e propriedades
Absoro
X + X.Y = X (Cuidado! No trivial)

Exemplo: A = 1
1 =1

S = A + A.B Exemplo: A = 0
0 0 0 =0

S depende s de A S=A

lgebra booleana
Teoremas e propriedades
Absoro
X + X.Y = X (Cuidado! No trivial) Prova
F F F F F = = = = = X + X.Y X.1 + X.Y X.(1 + Y) X.(1) X (propriedade do AND: X.1 = X) (distributividade) (propriedade do OR: X + 1 = 1) (propriedade do AND: X.1 = X)

lgebra booleana
Teoremas e propriedades
Exemplos
F F F F = = = = A.B.C + A.B.!C A.B.(C + !C) A.B.(1) A.B (distributividade) (propriedade do OR: X + !X = X) (propriedade do AND: X.1=X)

lgebra booleana
Teoremas e propriedades
Exemplos
F F F F F F = H.!C + !H.P.!C =!C.H + !C.!H.P = !C.(H + !H.P) = !C.( (H + !H) . (H + P) ) = !C.( (1) . (H + P) ) = !C.(H + P) (comutatividade) (distributividade) (distributividade) (propriedade do OR: X + !X = 1) (propriedade do AND: X.1 = X)

lgebra booleana
Teoremas e propriedades
Exemplos
F F F F F F F F F F F F F F = = = = = = = = = = = = = = (!A + B).(A + B) A.(!A + B) + B.(!A + B) A.!A + A.B + B.!A + B 0 + A.B + B.!A + B A.B + B.!A + B B + A.B + !A.B B.1 + A.B + !A.B B.(1 + A) + !A.B B.(1) + !A.B B + !A.B B.1 + !A.B B.(1 + !A) B.(1) B (verso 1) (distributividade) (distributividade) (propriedade do AND: X.!X = 0) (propriedade do OR: X + 0 = X) (comutatividade) (propriedade do AND: X.1 = X) (distributividade) (propriedade do OR: X + 1 = 1) (propriedade do AND: X.1 = 1) (propriedade do AND: X.1 = 1) (distributividade) (propriedade do OR: X + 1 = 1) (propriedade do AND: X.1 = 1)

lgebra booleana
Teoremas e propriedades
Exemplos
F F F F F F F F F F = = = = = = = = = = (!A + B).(A + B) A.(!A + B) + B.(!A + B) A.!A + A.B + B.!A + B 0 + A.B + B.!A + B A.B + B.!A + B B + A.B + !A.B B.1 + A.B + !A.B B.(1 + A + !A) B.(1) B (verso 2) (distributividade) (distributividade) (propriedade do AND: X.!X = 0) (propriedade do OR: X + 0 = X) (comutatividade) (propriedade do AND: X.1 = X) (distributividade) (propriedade do OR: X + 1 = 1) (propriedade do AND: X.1 = 1)

lgebra booleana
Teoremas e propriedades
Exemplos
F F F F F F F F = = = = = = = = (!A + B).(A + B) A.(!A + B) + B.(!A + B) A.!A + A.B + B.!A + B 0 + A.B + B.!A + B A.B + B.!A + B B + A.B + !A.B B + !A.B B (verso 3) (distributividade) (distributividade) (propriedade do AND: X.!X = 0) (propriedade do OR: X + 0 = X) (comutatividade) (absoro: X + XY = X) (absoro: X + XY = X)

lgebra booleana
Teoremas e propriedades
OR X+ X+ X+ X+ 0=X 1=1 X=X !X = 1 AND X.0=0 X.1=X X.X=X X . !X = 0 (Complementao) (Comutatividade) (Comutatividade) (Associatividade) (Associatividade) (Distributividade) (Distributividade) (Absoro)

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

lgebra booleana
Teoremas e propriedades
OR X+ X+ X+ X+ 0=X 1=1 X=X !X = 1 AND X.0=0 X.1=X X.X=X X . !X = 0 (Complementao) (Comutatividade) (Comutatividade) (Associatividade) (Associatividade) (Distributividade) (Distributividade) (Absoro)

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

lgebra booleana
Teoremas e propriedades
Exerccio
F F F F = = = = !A.!B + !A.B !A.(!B + B) !A.(1) !A (Distributividade) (Propriedade do OR: X + !X = 1) (Propriedade do AND: X.1 = X)

lgebra booleana
Teoremas e propriedades
Exerccio
F F F F F F F F F = = = = = = = = = !A.B.C + !A.B.!C + A.C !A.B.(C + !C) + A.C !A.B.(1) + A.C !A.B + A.C !A.B.C + !A.B.!C + A.C !A.(B.C + B.!C) + A.C !A.(B.(C + !C)) + A.C !A.(B.(1)) + A.C !A.B + A.C (verso 1) (distributividade) (propriedade do OR: X + !X = 1) (propriedade do AND: X.1 = X) (verso 2) (distributividade) (distributividade) (propriedade do OR: X + !X = 1) (propriedade do AND: X.1 = X)

lgebra booleana
Teoremas e propriedades
Exerccio
F F F F F F F F = = = = = = = = !A.B.!C + !A.B.C + A.B.!C + !A.B.!C !A.B.(!C + C) + A.B.!C + !A.B.!C !A.B.(1) + A.B.!C + !A.B.!C !A.B + A.B.!C + !A.B.!C !A.B + B.!C.(A + !A) !A.B + B.!C.(1) !A.B + B.!C B.(!A + !C) (verso 1) (distributividade) (X + !X = 1) (X.1 = X) (distributividade) (X + !X = 1) (X.1 = X) (distributividade)

lgebra booleana
Teoremas e propriedades
Exerccio
F F F F F F F F F F = = = = = = = = = = !A.B.!C + !A.B.C + A.B.!C + !A.B.!C (verso 2) !A.B.!C + !A.B.!C + !A.B.C + A.B.!C (comutatividade) !A.B.!C + !A.B.C + A.B.!C (OR: X + X = X) B.!C.(!A + A) + !A.B.C (distributividade) B.!C.(1) + !A.B.C (OR: X + !X = 1) B.!C + !A.B.C (AND: X.1 = X) B.(!C + !A.C) (distributividade) B.((!C + !A).(!C + C)) (dist: X+Y.Z = (X+Y).(X+Z)) B.((!C + !A).(1)) (OR: X + !X = 1) B.(!C + !A) (X.1 = X)

lgebra booleana
Teoremas e propriedades
Exerccio
F F F F F F = = = = = = !A.B.!C + A.B.!C + B.!C.D B.!C.(!A + A) + B.!C.D B.!C.(1) + B.!C.D B.!C.(1 + D) B.!C.(1) B.!C (verso 1) (distributividade) (propriedade do OR: X + !X = 1) (distributividade) (propriedade do OR: X + 1 = 1) (propriedade do AND: X.1 = X)

lgebra booleana
Teoremas e propriedades
Exerccio
F F F F F = = = = = !A.B.!C + A.B.!C + B.!C.D (verso 2) B.!C.(!A + A + D) (distributividade) B.!C.(1 + D) (propriedade do OR: X + !X = 1) B.!C.(1) (propriedade do OR: X + 1 = 1) B.!C (propriedade do AND: X.1 = X)

lgebra booleana
Teoremas e propriedades
Exerccio
F F F F F = = = = = !A.B.!C + A.B.!C + B.!C.D B.!C.(!A + A) + B.!C.D B.!C.(1) + B.!C.D B.!C + B.!C.D B.!C (verso 3) (distributividade) (propriedade do OR: X + !X = 1) (propriedade do AND: X.1 = X) (absoro: X + X.Y = X)

lgebra booleana
Teoremas e propriedades
Exerccio
F F F F F F F = = = = = = = G.!K.!H + !H.D.G + G.!H.K G.!H.!K + G.!H.D + G.!H.K G.!H.(!K + D + K) G.!H.(!K + K + D) G.!H.(1 + D) G.!H.(1) G.!H (comutatividade) (distributividade) (comutatividade) (OR: X + !X = 1) (OR: X + 1 = 1) (AND: X.1 = X)

lgebra booleana
Teoremas e propriedades
Teoremas de De Morgan
!(X + Y) = !X . !Y !(X . Y) = !X + !Y

Exemplo
F F F F = = = = !( (!A + C).(B + !D) ) !(!A + C) + !(B + !D) !!A.!C + !B.!!D A.!C + !B.D (De Morgan) (De Morgan) (Complementao)

Pode ser estendido para mais de duas variveis


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

lgebra booleana
Teoremas e propriedades
Exemplo
F F F F F F F F = = = = = = = = !(A + B).(!A + !B) (!A.!B).(!A + !B) (!A.!B).!A + (!A.!B).!B !A.(!A.!B) + !B.(!A.!B) !A.!A.!B + !B.!A.!B !A.!A.!B + !B.!B.!A !A.!B + !A.!B !A.!B (Verso 1) (De Morgan) (Distributividade) (Comutatividade) (Associatividade) (Comutatividade) (AND: X.X = X) (OR: X + X = X)

lgebra booleana
Teoremas e propriedades
OR X+ X+ X+ X+ 0=X 1=1 X=X !X = 1 AND X.0=0 X.1=X X.X=X X . !X = 0 (Complementao) (Comutatividade) (Comutatividade) (Associatividade) (Associatividade) (Distributividade) (Distributividade) (Absoro) (De Morgan) (De Morgan)

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

lgebra booleana
Teoremas e propriedades
Exerccio
F F F F F F = = = = = = !( !(A + B).!(!C+ B) ) !!(A + B) + !!(!C + B) (A + B) + (!C + B) A + B + !C + B A + B + B + !C A + B + !C (De Morgan) (Complementao) (Comutatividade) (Comutatividade) (OR: X + X = X)

lgebra booleana
Teoremas e propriedades
Exerccio
F F F F F F F F F F F = = = = = = = = = = = A.B.!(!A + B.C) A.B.(!!A.!(B.C)) A.B.(A.!(B.C)) A.B.(A.(!B + !C)) A.B.(A.!B + A.!C) A.B.A.!B + A.B.A.!C A.A.B.!B + A.A.B.!C A.B.!B + A.B.!C A.0 + A.B.!C 0 + A.B.!C A.B.!C (De Morgan) (Complementao) (De Morgan) (Distributividade) (Distributividade) (Associatividade) (AND: X . X = X) (AND: X . !X = 0) (AND: X . 0 = 0) (OR: X + 0 = X)

lgebra booleana
Teoremas e propriedades
Exerccio
F F F F F F F F F F = = = = = = = = = = !(C.!B).(A + !C.!A).B (!C + !!B).(A + !C.!A).B (De Morgan) (!C + B).(A + !C.!A).B (Complementao/AND: X.X = X) (!C + B).((A + !C).(A + !A)).B (Distributividade) (!C + B).((A + !C).(1)).B (OR: X + !X = 1) (!C + B).(A + !C).B (AND: X . 1 = X) B.(!C + B).(A + !C ) (Comutatividade) (B.!C + B.B).(A + !C) (Distributividade) (B.!C + B).(A + !C) (AND: X.X = X) B.(A + !C) (Absoro: X + X.Y = X)

lgebra booleana
Teoremas e propriedades
Exerccio
F F F F F F F F F F F = = = = = = = = = = = !(A.B) + !(!A + B).C.!A + A !A + !B + !(!A + B).C.!A + A !A + !B + (!!A.!B).C.!A + A !A + !B + A.!B.C.!A + A !A + !B + A.!A.!B.C + A !A + !B + 0.!B.C + A !A + !B + 0 + A !A + !B + A !A + A + !B 1 + !B 1 (De Morgan) (De Morgan) (Complementao) (Comutatividade) (AND: X.!X = 0) (AND: X.0 = 0) (OR: X + 0 = X) (Comutatividade) (OR: X + !X = 1) (OR: X + 1 = 1)

Independente da combinao das entradas, F sempre igual a 1

lgebra booleana
Programao
if ( idade > 18 || (idade > 18 && peso < 100) ) printf(...);

Equivalentes

if ( idade > 18 ) printf(...);

lgebra booleana
Programao
True or False

if ( idade > 18 || (idade > 18 && peso < 100) ) printf(...);

Variveis booleanas
I = idade > 18 P = peso < 100 E E E E E E = = = = = = I + (I.P) I.1 + I.P I.(1 + P) I.(1) I I ( idade > 18 || (idade > 18 && peso < 100) ) (AND: X.1 = X) (Distributividade) (OR: X + 1 = 1) (AND: X.1 = X) (idade > 18)

Equao

lgebra booleana
Programao
if ( digito == 0 || (digito != 0 && tempo > 100) ) printf(fim);

Equivalentes

if (digito == 0 || tempo > 100) ) printf(fim);

lgebra booleana
Programao
True or False

if ( digito == 0 || (digito != 0 && tempo > 100) ) printf(fim);

Variveis booleanas
D0 = digito == 0 !D0 = digito != 0 T = tempo > 100 E E E E E = = = = = D0 + (!D0.T) ( digito == 0 || (digito != 0 && tempo > 100) ) (D0 + !D0).(D0 + T) (distributividade: X + Y.Z = (X+Y).(X+Z) ) (1).(D0 + T) (OR: X + !X = 1) D0 + T (AND: X.1 = X) D0 + T (digito == 0 || tempo > 100)

Equao

lgebra booleana
Como provar a equivalncia entre 2 circuitos ?

Equivalentes ?

Tabela verdade
Tabelas verdade iguais circuitos equivalentes

Simplificao de equaes
1. 2. Simplificando a equao de um dos circuitos chega-se equao do outro circuitos equivalentes Simplificando as equaes dos circuitos, chega-se mesma equao circuitos equivalentes

lgebra booleana
Como provar a equivalncia entre 2 circuitos ?
Tabela verdade
Circuito 1
A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 F 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0

lgebra booleana
Como provar a equivalncia entre 2 circuitos ?
Tabela verdade
Circuito 2

B 0 0 1 1

C 0 1 0 1

F 0 0 1 0

Para comparar com um circuito com mais entradas, a avaliao do circuito com menos entradas deve partir das colunas de entradas do circuito com mais entradas

lgebra booleana
Como provar a equivalncia entre 2 circuitos ?
Tabela verdade
Circuito 2
A 0 0 0 0 0 0 0 0 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 F

Preencher a coluna de sada baseado somente nas entradas do circuito. As demais entradas so ignoradas.

1 1 1 1 1

lgebra booleana
Como provar a equivalncia entre 2 circuitos ?
Tabela verdade
Circuito 2
A 0 0 0 0 0 0 0 0 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 F 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0

Preencher a coluna de sada baseado somente nas entradas do circuito. As demais entradas so ignoradas.

1 1 1 1 1

lgebra booleana
Como provar a equivalncia entre 2 circuitos ?
Tabela verdade
Comparao
A 0 0 0 0 0 0 0 0 1 1

Circuito 1
B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 F 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

Circuito 2
B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 F 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0

Os circuitos so equivalentes.

1 1 1 1 1 1

lgebra booleana
Como provar a equivalncia entre 2 circuitos ?
Simplificao de equaes
Circuito 1
F = !A.B.!C + A.B.!C + B.!C.D F = B.!C

Circuito 2 Se a simplificao da equao do circuito 1 resultar na equao do circuito 2, ento ambos so equivalentes

Simplificao
F = !A.B.!C + A.B.!C + B.!C.D F = B.!C.(!A + A + D) F = B.!C.(1 + D) F = B.!C.(1) F = B.!C Os circuitos so equivalentes (distributividade) (propriedade do OR: X + !X = 1) (propriedade do OR: X + 1 = 1) (propriedade do AND: X.1 = X)

lgebra booleana
Como provar a equivalncia entre 2 circuitos ?
Logisim

lgebra booleana
Como provar a no-equivalncia entre 2 circuitos ?

Equivalentes ?

Tabela verdade
Tabelas verdade diferentes circuitos no-equivalentes

lgebra booleana
Como provar a no-equivalncia entre 2 circuitos ?
Tabela verdade
Circuito 1
A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 F 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0

lgebra booleana
Como provar a no-equivalncia entre 2 circuitos ?
Tabela verdade
Circuito 2

B 0 0 1 1

C 0 1 0 1

F 1 1 1 0

Para comparar com um circuito com mais entradas, a avaliao do circuito com menos entradas deve partir das colunas de entradas do circuito com mais entradas

lgebra booleana
Como provar a no-equivalncia entre 2 circuitos ?
Tabela verdade
Circuito 2
A 0 0 0 0 0 0 0 0 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 F

Preencher a coluna de sada baseado somente nas entradas do circuito. As demais entradas so ignoradas.

1 1 1 1 1

lgebra booleana
Como provar a no-equivalncia entre 2 circuitos ?
Tabela verdade
Circuito 2
A 0 0 0 0 0 0 0 0 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 F 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0

Preencher a coluna de sada baseado somente nas entradas do circuito. As demais entradas so ignoradas.

1 1 1 1 1

lgebra booleana
Como provar a no-equivalncia entre 2 circuitos ?
Tabela verdade
Comparao
A 0 0 0 0 0 0 0 0 1 1

Circuito 1
B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 F 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

Circuito 2
B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 F 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0

Os circuitos no so equivalentes.

1 1 1 1 1 1

lgebra booleana
Como provar a no-equivalncia entre 2 circuitos ?
Logisim

lgebra booleana
Derivao de expresses booleanas
At agora
Obteno de tabelas verdade a partir de expresses booleanas Obteno de circuitos lgicos a partir de expresses booleanas e vice-versa

A partir da tabela verdade possvel obter a expresso que representa a funo booleana atravs de dois mtodos
Soma de produtos (mais usado)
Exemplo: F = A.B + !A.C + !C Exemplo: F = (X + Y).(!X + Y + Z).(!Y + Z)

Produto de somas

Qualquer funo booleana pode ser descrita por meio de soma de produtos ou produto de somas

lgebra booleana
Derivao de expresses booleanas
Soma de produtos
Para cada linha da tabela verdade onde a sada 1, cria-se um termo produto Em cada termo produto as variveis de entrada iguais a 0 aparecem negadas e aquelas iguais a 1 aparecem no negadas Em seguida todos os temos so somados (OR) Exemplo
A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 F 0 0 1 1 0 1 1 0

!A.B.!C !A.B.C

F = !A.B.!C + !A.B.C + A.!B.C + A.B.!C


A.!B.C A.B.!C

lgebra booleana
Derivao de expresses booleanas
Produto de somas
Para cada linha da tabela verdade onde a sada 0, cria-se um termo soma Em cada termo soma as variveis de entrada iguais a 1 aparecem negadas e aquelas iguais a 0 aparecem no negadas Em seguida todos os temos so multiplicados (AND) Exemplo
A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 F 0 0 1 1 0 1 1 0

A+B+C A+B+!C

F = (A+B+C).(A+B+!C).(!A+B+C).(!A+!B+!C)
!A+B+C

!A+!B+!C

lgebra booleana
Derivao de expresses booleanas
Derivar as expresses por soma de produtos e produto de somas
A 0 0 1 1 B 0 1 0 1 F 0 1 1 0 A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 F 1 1 1 1 0 0 1 1
A 0 0 0 0 0 0 0 0 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 F 1 0 0 1 0 0 1 0 0 1 0 0 0 1 0 1

Soma de produtos
-Sada = 1 -Variveis = 0 aparecem negadas na expresso

Produto de somas
-Sada = 0 -Variveis = 1 aparecem negadas na expresso

1 1 1 1 1

lgebra booleana
Derivao de expresses booleanas
Derivar as expresses por soma de produtos e produto de somas
A 0 0 1 1 B 0 1 0 1 F 0 1 1 0 A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 F 1 1 1 1 0 0 1 1
A 0 0 0 0 0 0 0 0 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 F 1 0 0 1 0 0 1 0 0 1 0 0 0 1 0 1

Soma de produtos
-Sada = 1 -Variveis = 0 aparecem negadas na expresso

Produto de somas
-Sada = 0 -Variveis = 1 aparecem negadas na expresso

1 1 1 1 1

lgebra booleana
Derivao de expresses booleanas
Derivar as expresses por soma de produtos e produto de somas

F = !A.B + A.!B
A 0 0 1 1 B 0 1 0 1 F 0 1 1 0

F = (A + B).(!A + !B)
A+B !A . B A . !B !A + !B

Equaes equivalentes F = (A + B).(!A + !B) F = (A + B).!A + (A + B).!B F = !A.(A + B) + !B.(A + B) F = !A.A + !A.B + !B.A + !B.B F = 0 + !A.B + !B.A + 0 F = !A.B + !B.A F = !A.B + A.!B

(Distributividade) (Comutatividade) (Distributividade) (AND: X . !X = 0) (OR: X + 0 = X) (Comutatividade)

lgebra booleana
Derivao de expresses booleanas
Derivar as expresses por soma de produtos e produto de somas

A 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1 1

C 0 1 0 1 0 1 0 1

F 1 1 1 1 0 0 1 1

!A . !B . !C !A . !B . C !A . B . !C !A . B . C !A + B + C !A + B + !C A . B . !C A.B.C

F = !A.!B.!C + !A.!B.C + !A.B.!C + !A.B.C + A.B.!C + A.B.C F = (!A + B + C).(!A + B + !C) Equaes equivalentes

lgebra booleana
Derivao de expresses booleanas

A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

Derivar as expresses por soma de produtos e produto de somas


D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 F 1 0 0 1 0 0 1 0 0 1 0 0 0 1 0 1

!A . !B . !C . !D A + B + C + !D A + B + !C + D !A . !B . C . D A + !B + C + D A + !B + C + !D !A . B . C . !D A + !B + !C + !D !A + B + C + D A . !B . !C . D !A + B + !C + D !A + B + !C + !D !A + !B + C + D A . B . !C . D !A + !B + !C + D A.B.C.D

F = !A.!B.!C.!D + !A.!B.C.D + !A.B.C.!D + A.!B.!C.D + A.B.!C.D + A.B.C.D F = (A + B + C + !D).(A + B + !C + D). (A + !B + C + D).(A + !B + C + !D). (A + !B + !C + !D).(!A + B + C + D). (!A + B + !C + D).(!A + B + !C + !D). (!A + !B + C + D).(!A + !B + !C + D) Equaes equivalentes

lgebra booleana
Derivao de expresses booleanas
Projeto de circuitos baseado em tabela-verdade
A tabela verdade usada para descrever o comportamento do circuito Especificao

Tabela verdade

Equao booleana

Circuito lgico

lgebra booleana
Derivao de expresses booleanas
Gerador de paridade
Paridade um mtodo utilizado para detectar erro na transmisso de um conjunto de bits Se o nmero de bits em 1 a ser transmitido impar, o bit de paridade deve ser 1, afim de tornar par o nmero total de bits em 1 O receptor verifica o nmero total de bits em 1 (dados + bit de paridade). Se o nmero de bits em 1 for mpar, um erro de transmisso detectado
Ex. PC Circuito A Ex. Impressora Circuito B

a =1 b =1 c =1 P =1

Transmisso paralela de 3 bits (a,b e c) mais o bit de paridade (P)

lgebra booleana
Derivao de expresses booleanas
Gerador de paridade
Paridade um mtodo utilizado para detectar erro na transmisso de um conjunto de bits Se o nmero de bits em 1 a ser transmitido impar, o bit de paridade deve ser 1, afim de tornar par o nmero total de bits em 1 O receptor verifica o nmero total de bits em 1 (dados + bit de paridade). Se o nmero de bits em 1 for mpar, um erro de transmisso detectado
Ex. PC Circuito A Ex. Impressora Circuito B

a =0 b =1 c =1 P =0

Transmisso paralela de 3 bits (a,b e c) mais o bit de paridade (P)

lgebra booleana
Derivao de expresses booleanas
Gerador de paridade
Paridade um mtodo utilizado para detectar erro na transmisso de um conjunto de bits Se o nmero de bits em 1 a ser transmitido impar, o bit de paridade deve ser 1, afim de tornar par o nmero total de bits em 1 O receptor verifica o nmero total de bits em 1 (dados + bit de paridade). Se o nmero de bits em 1 for mpar, um erro de transmisso detectado
Ex. PC Ex. Impressora Circuito B

Gera os dados a serem transmitidos

Gera o bit de paridade

a b c P

Transmisso paralela de 3 bits (a,b e c) mais o bit de paridade (P)

lgebra booleana
Derivao de expresses booleanas
Gerador de paridade
Tabela verdade

a 0 0 0 0 1 1 1 1

b 0 0 1 1 0 0 1 1

c 0 1 0 1 0 1 0 1

Ex. PC

a b c P

Ex. Impressora Circuito B

lgebra booleana
Derivao de expresses booleanas
Gerador de paridade
Tabela verdade

a 0 0 0 0 1 1 1 1

b 0 0 1 1 0 0 1 1

c 0 1 0 1 0 1 0 1

P 0 1 1 0 1 0 0 1

Ex. PC

a b c P

Ex. Impressora Circuito B

lgebra booleana
Derivao de expresses booleanas
Gerador de paridade
Equao booleana

a 0 0 0 0 1 1 1 1

b 0 0 1 1 0 0 1 1

c 0 1 0 1 0 1 0 1

P 0 1 1 0 1 0 0 1

a+b+c !a.!b.c !a.b.!c a + !b + !c a.!b.!c !a + b + !c !a + !b + c a.b.c

Ex. PC

a b c P

Ex. Impressora Circuito B

P = !a.!b.c + !a.b.!c + a.!b.!c + a.b.c P = (a+b+c).(a+!b+!c).(!a+b+!c).(!a+!b+c)

lgebra booleana
Derivao de expresses booleanas
Gerador de paridade
Circuito lgico

P = !a.!b.c + !a.b.!c + a.!b.!c + a.b.c


Negao (equivale a um inversor)

!a.!b.c !a.b.!c a.!b.!c a.b.c

!a.!b.c + !a.b.!c + a.!b.!c + a.b.c

lgebra booleana
Derivao de expresses booleanas
Gerador de paridade
Circuito lgico

P = (a+b+c).(a+!b+!c).(!a+b+!c).(!a+!b+c)

a+b+c a+!b+!c (a+b+c).(a+!b+!c).(!a+b+!c).(!a+!b+c) !a+b+!c !a+!b+c

lgebra booleana
Derivao de expresses booleanas
Logisim

lgebra booleana
Derivao de expresses booleanas
Igualdade de 2 nmeros de 2 bits
A: A1 A0 B: B1 B0 Igual 1 quando A = B, seno 0

A B

Iguais
2

lgebra booleana
Derivao de expresses booleanas
Igualdade de 2 nmeros de 2 bits
A1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 A0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 B1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 B0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Iguais

lgebra booleana
Derivao de expresses booleanas
Igualdade de 2 nmeros de 2 bits
A1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 A0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 B1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 B0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Iguais 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1

!A1.!A0.!B1.!B0

F = !A1.!A0.!B1.!B0 + !A1.A0.!B1.B0 + A1.!A0.B1.!B0 + A1.A0.B1.B0


!A1.A0.!B1.B0

A1.!A0.B1.!B0

A1.A0.B1.B0

lgebra booleana
Derivao de expresses booleanas
Igualdade de 2 nmeros de 2 bits

F = !A1.!A0.!B1.!B0 + !A1.A0.!B1.B0 + A1.!A0.B1.!B0 + A1.A0.B1.B0

lgebra booleana
Derivao de expresses booleanas
Deteco de maioria de votos O sistema tem 4 entradas de votos (v1, v2, v3, v4) Cada uma ativada por um votante
voto = 0: voto contra voto = 1: voto a favor

Maioria 1 quando a maioria das entradas de votos est ativa


v1 v2 v3 v4 Maioria

lgebra booleana
Derivao de expresses booleanas
Deteco de maioria de votos
v1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 v2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 v3 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 v4 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Maioria

lgebra booleana
Derivao de expresses booleanas
Deteco de maioria de votos
v1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 v2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 v3 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 v4 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Maioria 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 1

Maioria = !v1.v2.v3.v4 + v1.!v2.v3.v4 + v1.v2.! v3.v4 + v1.v2.v3.!v4 + v1.v2.v3.v4

!v1.v2.v3.v4

v1.!v2.v3.v4 v1.v2.!v3.v4 v1.v2.v3.!v4 v1.v2.v3.v4

lgebra booleana
Derivao de expresses booleanas
Deteco de maioria de votos
Maioria = !v1.v2.v3.v4 + v1.!v2.v3.v4 + v1.v2.! v3.v4 + v1.v2.v3.!v4 + v1.v2.v3.v4

lgebra booleana
Derivao de expresses booleanas
Projeto de circuitos baseado em tabela-verdade
A tabela verdade usada para descrever o comportamento do circuito Especificao Tabela verdade Equao booleana Simplificao

Circuito lgico

lgebra booleana
Derivao de expresses booleanas
Detector de nmero signed de 4 bits 5
A: A3 A2 A1 A0 A um nmero binrio em complemento de 2 MaiorIgual 1 quando A 5

MaiorIgual

lgebra booleana
Derivao de expresses booleanas
Detector de nmero signed de 4 bits 5
A3 0 1 2 3 4 5 6 7 -8 -7 -6 -5 -4 -3 -2 -1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 A2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 A1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 A0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 MaiorIgual

lgebra booleana
Derivao de expresses booleanas
Detector de nmero signed de 4 bits 5
A3 0 1 2 3 4 5 6 7 -8 -7 -6 -5 -4 -3 -2 -1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 A2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 A1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 A0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 MaiorIgual 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0

MaiorIgual = !A3.A2.!A1.A0 + ! A3.A2.A1.!A0 + !A3.A2.A1.A0


!A3.A2.!A1.A0 !A3.A2.A1.!A0 !A3.A2.A1.A0

lgebra booleana
Derivao de expresses booleanas
Detector de nmero signed de 4 bits 5

MaiorIgual = !A3.A2.!A1.A0 + ! A3.A2.A1.!A0 + !A3.A2.A1.A0

lgebra booleana
Derivao de expresses booleanas
Detector de nmero signed de 4 bits 5
MaiorIgual = !A3.A2.!A1.A0 + !A3.A2.A1.!A0 + !A3.A2.A1.A0 MaiorIgual = !A3.A2.(!A1.A0 + A1.!A0 + A1.A0) MaiorIgual = !A3.A2.(!A1.A0 + A1.(!A0 + A0)) MaiorIgual = !A3.A2.(!A1.A0 + A1.(1)) MaiorIgual = !A3.A2.(!A1.A0 + A1) MaiorIgual = !A3.A2.((A0 + A1).(!A1 + A1)) MaiorIgual = !A3.A2.((A0 + A1).(1)) MaiorIgual = !A3.A2.(A0 + A1) (Distributividade) (Distributividade) (OR: X + !X = 1) (AND: X . 1 = X) (Distributividade) (OR: X + !X = 1) (AND: X . 1 = X)

lgebra booleana
Derivao de expresses booleanas
Detector de nmero signed de 4 bits 5
MaiorIgual = !A3.A2.(A0 + A1)

lgebra booleana
Derivao de expresses booleanas
Detector de nmero de 0s par em um nmero de 4 bits
A: A3 A2 A1 A0 Par0 1 quando A tiver um nmero par de zeros Neste caso, a equao extraida j est na forma mnima
4

#0s par

Par0

lgebra booleana
Derivao de expresses booleanas
Detector de nmero de 0s par em um nmero de 4 bits
A3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 A2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 A1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 A0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Par0

lgebra booleana
Derivao de expresses booleanas
Detector de nmero de 0s par em um nmero de 4 bits
A3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 A2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 A1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 A0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Par0 1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1

!A3.!A2.!A1.!A0

!A3.!A2.A1.A0 !A3.A2.!A1.A0 !A3.A2.A1.!A0

Par0 = !A3.!A2.!A1.!A0 + !A3.! A2.A1.A0 + !A3.A2.!A1.A0 + ! A3.A2.A1.!A0 + A3.!A2.!A1.A0 + A3.! A2.A1.!A0 + A3.A2.!A1.!A0 + A3.A2.A1.A0

A3.!A2.!A1.A0 A3.!A2.A1.!A0 A3.A2.!A1.!A0

A3.A2.A1.A0

lgebra booleana
Derivao de expresses booleanas
Detector de nmero de 0s par em um nmero de 4 bits

Par0 = !A3.!A2.!A1.!A0 + !A3.! A2.A1.A0 + !A3.A2.!A1.A0 + ! A3.A2.A1.!A0 + A3.!A2.!A1.A0 + A3.! A2.A1.!A0 + A3.A2.!A1.!A0 + A3.A2.A1.A0

lgebra booleana
Derivao de expresses booleanas
Detector de nmero par de 4 bits
A: A3 A2 A1 A0 Par 1 quando A par

Nmero par

Par

lgebra booleana
Derivao de expresses booleanas
Detector de nmero par de 4 bits
A3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 A2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 A1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 A0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Par

lgebra booleana
Derivao de expresses booleanas
Detector de nmero par de 4 bits
A3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 A2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 A1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 A0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Par 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0

!A3.!A2.!A1.!A0 !A3.!A2.A1.!A0 !A3.A2.!A1.!A0 !A3.A2.A1.!A0 A3.!A2.!A1.!A0 A3.!A2.A1.!A0 A3.A2.!A1.!A0 A3.A2.A1.!A0

Par = !A3.!A2.!A1.!A0 + !A3.!A2.A1.!A0 + ! A3.A2.!A1.!A0 + !A3.A2.A1.!A0 + A3.!A2.! A1.!A0 + A3.!A2.A1.!A0 + A3.A2.!A1.!A0 + A3.A2.A1.!A0

lgebra booleana
Derivao de expresses booleanas
Detector de nmero par de 4 bits
Par = !A3.!A2.!A1.!A0 + !A3.!A2.A1.!A0 + ! A3.A2.!A1.!A0 + !A3.A2.A1.!A0 + A3.!A2.! A1.!A0 + A3.!A2.A1.!A0 + A3.A2.!A1.!A0 + A3.A2.A1.!A0

lgebra booleana
Derivao de expresses booleanas
Detector de nmero par de 4 bits
A3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 A2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 A1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 A0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Par 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0

Par = !A0

!A0

lgebra booleana
Formas cannicas
Formas padro de equaes booleanas
Soma de mintermos Produto de maxtermos Termo produto onde aparecem todas as variveis da funo exatamente uma vez (negadas ou no) Exemplos considerando a funo F(a,b,c)
Mintermos: !a.b.c, a.!b.c, a.b.c No mintermos: a.c, b, !a.b.c.!c

Mintermo

Maxtermo
Termo soma onde aparecem todas as variveis da funo exatamente uma vez (negadas ou no) Exemplos considerando a funo F(a,b,c)
Maxtermos: (!a + b + !c), (!b + a + c), (!a + !b + !c) No maxtermos: (c + b), (!a + b + c + a)

lgebra booleana
Formas cannicas
Gerador de paridade
Soma de mintermos: P = !a.!b.c + !a.b.!c + a.!b.!c + a.b.c Produto de maxtemos: P = (a+b+c).(a+!b+!c).(!a+b+!c).(!a+!b+c)

Qualquer equao pode ser passada para a forma cannica atravs de manipulao algbrica utilizando teoremas e propriedades da lgebra booleana
F F F F F = = = = = A.(B + C) A.B + A.C A.B.1+ A.C.1 A.B.(C + !C) + A.C.(B + !B) A.B.C + A.B.!C + A.C.B + A.C.!B (Distributividade) (AND: X.1 = X) (OR: X + !X = 1) (Distributividade)

lgebra booleana
Formas cannicas
Representao compacta
Cada termo (produto ou soma) representado por um nmero decimal obtido a partir das variveis da funo Termos produto: variveis negadas valem 0 e variveis normais valem 1
!A.B.!C 0102 = 2 X.Y 112 = 3

Termos soma: variveis negadas valem 1 e variveis normais valem 0


!A + B + !C 1012 = 5 X + Y 002 = 0

lgebra booleana
Formas cannicas
Soma de mintermos
P = !a.!b.c + !a.b.!c + a.!b.!c + a.b.c P = 0012 + 0102 + 1002 + 1112 F(a,b,c) = (1,2,4,7) O smbolo de somatrio significa que os mintermos so somados (OR)

Produto de maxtermos
P = (a+b+c).(a+!b+!c).(!a+b+!c).(!a+!b+c) P = 0002 . 0112 . 0102 . 0012 F(a,b,c) = (0,3,2,1) O smbolo de produtrio significa que os maxtermos so multiplicados (AND)

lgebra booleana
Formas cannicas
Soma de mintermos
Par0 = !A3.!A2.!A1.!A0 + !A3.!A2.A1.A0 + !A3.A2.!A1.A0 + ! A3.A2.A1.!A0 + A3.!A2.!A1.A0 + A3.!A2.A1.!A0 + A3.A2.!A1.!A0 + A3.A2.A1.A0 Par0 = 00002 + 00112 + 01012 + 01102 + 10012 + 10102 + 11002 + 11112 F(A3,A2,A1,A0) = (0,3,5,6,9,10,12,15)

lgebra booleana
Formas cannicas
Soma de mintermos
F(a,b,c,d) = (15,3,1,7) F(a,b,c,d) = 11112 + 00112 + 00012 + 01112 F(a,b,c,d) = a.b.c.d + !a.!b.c.d + !a.!b.!c.d + !a.b.c.d

Produto de maxtermos
F(a,b,c,d,e) = (21,14,13) F(a,b,c,d,e) = 101012 + 011102 + 011012 F(a,b,c,d) = (!a+b+!c.+d+!e).(a+!b+!c+!d+e).(a+!b+!c+d+!e)

lgebra booleana
Portas lgicas alm das bsicas OR, AND e inversor
NOR (Not OR) NAND (Not AND) XOR (Exclusive OR) XNOR (Exclusive NOR)

lgebra booleana
Porta lgica NOR (NOT OR)
Combinao da porta lgica OR e um inversor
Indica inverso

S = !(A + B)

Tabela verdade OR
A 0 0 1 1 B 0 1 0 1 S 0 1 1 1

Tabela verdade NOR


A 0 0 1 1 B 0 1 0 1 S 1 0 0 0

Se alguma entrada igual a 1, a sada 0

lgebra booleana
Porta lgica NOR (NOT OR)
Forma de onda

Se alguma entrada igual a 1, a sada 0

lgebra booleana
Porta lgica NOR (NOT OR)
Qualquer circuito lgico pode ser implementado utilizando as portas lgicas OR, AND e inversor A partir de portas NOR pode-se obter portas OR, AND e inversor Universal

lgebra booleana
Porta lgica NAND (NOT AND)
Combinao da porta lgica AND e um inversor
Indica inverso

S = !(A.B)

Tabela verdade AND


A 0 0 1 1 B 0 1 0 1 S 0 0 0 1

Tabela verdade NAND


A 0 0 1 1 B 0 1 0 1 S 1 1 1 0

Se alguma entrada igual a 0, a sada 1

lgebra booleana
Porta lgica NAND (NOT AND)
Forma de onda

Se alguma entrada igual a 0, a sada 1

lgebra booleana
Porta lgica NAND (NOT AND)

Qualquer circuito lgico pode ser implementado utilizando as portas lgicas OR, AND e inversor A partir de portas NAND pode-se obter portas OR, AND e inversor Universal

lgebra booleana
Desenhar o circuito lgico usando apenas NOR e NAND
F = !(A.B.!(C + D))

lgebra booleana
Portas lgicas alm das bsicas OR, AND e inversor
NOR (Not OR) NAND (Not AND) XOR (Exclusive OR) XNOR (Exclusive NOR)

lgebra booleana
Porta lgica XOR (Exclusive OR)
ou lgico exclusivo
Smbolos:
A B, A B C Linguagens de programao (e.g. C, Java): ^ A operao XOR sobre duas variveis resulta 1 se elas tem valores diferentes. Caso contrrio (iguais) resulta 0.

Definio

Porta lgica

Tabela verdade
A 0 0 1 1 B 0 1 0 1 S 0 1 1 0
2

S=A

lgebra booleana
Porta lgica XOR (Exclusive OR)
ou lgico exclusivo
Smbolos:
A B, A B C Linguagens de programao (e.g. C, Java): ^ A operao XOR resulta 1 se o nmero de entradas em 1 mpar. Caso contrrio resulta 0.
A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 S 0 1 1 0 1 0 0 1
3

Definio

Porta lgica

XOR com mais de 2 entradas tem bug no logisim

S=A

lgebra booleana
Porta lgica XOR (Exclusive OR)
A B !A.B + A.!B

=A

lgebra booleana
Porta lgica XOR (Exclusive OR)
A
!A

B !A.B + A.!B
B A !B

if ( (digito != 0 && tempo > 100) || (digito == 0 && tempo <= 100) ) printf(fim);

Equivalentes

if ( digito == 0 ^ tempo > 100 ) printf(fim); printf() s executado se a expresso de um lado do XOR (^) verdadeira e a do outro lado falsa

lgebra booleana
Porta lgica XOR (Exclusive OR)
Forma de onda

Se as duas entradas so diferentes, a sada 1 S

lgebra booleana
Porta lgica XOR (Exclusive OR)
Gerador de paridade

a 0 0 0 0 1 1 1 1

b 0 0 1 1 0 0 1 1

c 0 1 0 1 0 1 0 1

P 0 1 1 0 1 0 0 1

Ex. PC

a b c P

Ex. Impressora Circuito B

P=a

lgebra booleana
Porta lgica XOR (Exclusive OR)
Verificador de paridade

Ex. PC

Detecta erro na transmisso


Ex. Impressora Circuito B

a 0 0

b 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

c 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

P 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

Erro

a b c P

0 0 0 0 0 0 1 1 1 1 1 1 1 1

lgebra booleana
Porta lgica XOR (Exclusive OR)
Verificador de paridade

Ex. PC

Detecta erro na transmisso


Ex. Impressora Circuito B

a 0 0

b 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

c 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

P 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

Erro 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0

a b c P

0 0 0 0 0 0 1

Erro = a

1 1 1 1 1 1 1

lgebra booleana
Porta lgica XOR (Exclusive OR)
Detector de nmero de 1s impar em um nmero de 8 bits
A: A7 A6 A5 A4 A3 A2 A1 A0 Impar1 1 quando A tiver um nmero impar de 1s, seno 0 Tabela verdade: 28 = 256 linhas

#1s impar

Impar1

lgebra booleana
Porta lgica XNOR (Exclusive NOR)
Combinao da porta lgica XOR e um inversor Funo coincidncia
Se as entradas so iguais, a sada 1 S = !(A Tabela verdade XOR
A 0 0 1 1 B 0 1 0 1 S 0 1 1 0

B) Tabela verdade XNOR


A 0 0 1 1 B 0 1 0 1 S 1 0 0 1

lgebra booleana
Porta lgica XNOR (Exclusive NOR)
!(A B) XNOR = XNOR = XNOR = XNOR = XNOR = XNOR = XNOR = XNOR = XNOR = XNOR = !(!A.B + A.!B) !(!A.B + A.!B) !(!A.B).!(A.!B) (!!A + !B).(!A + !!B) (A + !B).(!A + B) (A + !B).!A + (A + !B).B !A.(A + !B) + B.(A + !B) !A.A + !A.!B + B.A + B.!B 0 + !A.!B + B.A + 0 !A.!B + B.A !A.!B + A.B

(DeMorgan) (DeMorgan) (Complementao) (Distributividade) (Comutatividade) (Distributividade) (AND: X.!X = 0) (OR: X + 0 = X) (Comutatividade)

lgebra booleana
Porta lgica XNOR (Exclusive NOR)
!(A B) !(!A.B + A.!B) !A.!B + A.B

lgebra booleana
Porta lgica XNOR (Exclusive NOR)
Igualdade de 2 nmeros de 2 bits
A: A1 A0 B: B1 B0 Igual 1 quando A = B, seno 0

A B

Iguais
2

lgebra booleana
Porta lgica XNOR (Exclusive NOR)
Igualdade de 2 nmeros de 2 bits
A1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 A0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 B1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 B0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Iguais 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1

lgebra booleana
Porta lgica XNOR (Exclusive NOR)
Igualdade de 2 nmeros de 8 bits Tabela verdade de 216 = 65536 linhas 1 XNOR de duas entradas por bit

lgebra booleana
Circuitos com mais de uma sada
Tratar separadamente cada sada
Um circuito para cada sada compartilhando as mesmas entradas F = a.b + !c G = a.b + b.c

Exemplo: circuito com duas sadas: F e G

Otimizao

a.b

a.b

lgebra booleana
Circuitos com mais de uma sada
Deteco de maioria de votos a favor e empate O sistema tem 4 entradas de votos (v1, v2, v3, v4) Cada uma ativada por um votante
voto = 0: voto contra voto = 1: voto a favor

M 1 quando a maioria das entradas de votos est ativa e 1 quando o nmero de votos contra e a favor igual
v1 v2 v3 v4

M e

lgebra booleana
Circuitos com mais de uma sada
Deteco de maioria de votos a favor e empate
v1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 v2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 v3 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 v4 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 M 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 1

lgebra booleana
Circuitos com mais de uma sada
Deteco de maioria de votos a favor e empate
v1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 v2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 v3 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 v4 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 M 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 1 e

lgebra booleana
Circuitos com mais de uma sada
Deteco de maioria de votos a favor e empate
v1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 v2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 v3 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 v4 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 M 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 1 e 0 0 0 1 0 1 1 0 0 1 1 0 1 0 0 0

M = !v1.v2.v3.v4 + v1.!v2.v3.v4 + v1.v2.!v3.v4 + v1.v2.v3.!v4 + v1.v2.v3.v4


!v1.!v2.v3.v4 !v1.v2.!v3.v4 !v1.v2.v3.!v4 !v1.v2.v3.v4 v1.!v2.!v3.v4 v1.!v2.v3.!v4 v1.!v2.v3.v4 v1.v2.!v3.!v4 v1.v2.!v3.v4 v1.v2.v3.!v4 !v1.v2.v3.v4

e = !v1.!v2.v3.v4 + !v1.v2.!v3.v4 + ! v1.v2.v3.!v4 + v1.!v2.!v3.v4 + v1.! v2.v3.!v4 + v1.v2.!v3.!v4

lgebra booleana
Circuitos com mais de uma sada
Deteco de maioria de votos a favor e empate
v1 0 1 1 1 1 v2 1 0 1 1 1 v3 1 1 0 1 1 v4 1 1 1 0 1 M 1 1 1 1 1

!v1.v2.v3.v4 v1.!v2.v3.v4 v1.v2.!v3.v4 v1.v2.v3.!v4 !v1.v2.v3.v4

M = !v1.v2.v3.v4 + v1.!v2.v3.v4 + v1.v2.!v3.v4 + v1.v2.v3.!v4 + v1.v2.v3.v4 M = v2.v3.v4 + v1.v3.v4 + v1.v2.v4 + v1.v2.v3

v1 0 0 0 1 1 1

v2 0 1 1 0 0 1

v3 1 0 1 0 1 0

v4 1 1 0 1 0 0

e 1 1 1 1 1 1

!v1.!v2.v3.v4 !v1.v2.!v3.v4 !v1.v2.v3.!v4 v1.!v2.!v3.v4 v1.!v2.v3.!v4 v1.v2.!v3.!v4

e = !v1.!v2.v3.v4 + !v1.v2.!v3.v4 + ! v1.v2.v3.!v4 + v1.!v2.!v3.v4 + v1.! v2.v3.!v4 + v1.v2.!v3.!v4

lgebra booleana
Circuitos com mais de uma sada
Deteco de maioria de votos a favor e empate
M = v2.v3.v4 + v1.v3.v4 + v1.v2.v4 + v1.v2.v3

e = !v1.!v2.v3.v4 + !v1.v2.!v3.v4 + ! v1.v2.v3.!v4 + v1.!v2.!v3.v4 + v1.! v2.v3.!v4 + v1.v2.!v3.!v4

lgebra booleana
Circuitos com mais de uma sada
Logisim

lgebra booleana
Circuitos com mais de uma sada
Contador de 1s
Circuito cuja sada apresenta em binrio o nmero de entradas em 1 X nmero de bits iguais a 1

a b c

Contador de 1s

X
2

lgebra booleana
Circuitos com mais de uma sada
Contador de 1s
Circuito cuja sada apresenta em binrio o nmero de entradas em 1

a 0 0 0 0 1 1 1 1

b 0 0 1 1 0 0 1 1

c 0 1 0 1 0 1 0 1

X1

X0

lgebra booleana
Circuitos com mais de uma sada
Contador de 1s
Circuito cuja sada apresenta em binrio o nmero de entradas em 1

X1 = !a.b.c + a.!b.c + a.b.!c + a.b.c b.a + b.c + a.c


a 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 c 0 1 0 1 0 1 0 1 X1 0 0 0 1 0 1 1 1 X0 0 1 1 0 1 0 0 1

X0 = !a.!b.c + !a.b.!c + a.!b.!c + a.b.c


!a.!b.c !a.b.!c !a.b.c a.!b.!c a.!b.c a.b.!c a.b.c a.b.c

lgebra booleana
Circuitos com mais de uma sada
Contador de 1s
Circuito cuja sada apresenta em binrio o nmero de entradas em 1

X1 = !a.b.c + a.!b.c + a.b.!c + a.b.c b.a + b.c + a.c X0 = !a.!b.c + !a.b.!c + a.!b.!c + a.b.c

lgebra booleana
Circuitos com mais de uma sada
Codificador de prioridades
A sada S indica a entrada de maior prioridade ativa A prioridade das entradas relativa aos seus nmeros
R3 > R2 > R1

Quando nenhuma entrada estiver ativa S 0

R1 R2 R3 Codificador de prioridade S
2

lgebra booleana
Circuitos com mais de uma sada
Codificador de prioridades
A sada S indica a entrada de maior prioridade ativa A prioridade das entradas relativa aos seus nmeros
R3 > R2 > R1

Quando nenhuma entrada estiver ativa S 0

R3 0 0 0 0 1 1 1 1

R2 0 0 1 1 0 0 1 1

R1 0 1 0 1 0 1 0 1

S1

S0

lgebra booleana
Circuitos com mais de uma sada
Codificador de prioridades
A sada S indica a entrada de maior prioridade ativa A prioridade das entradas relativa aos seus nmeros
R3 > R2 > R1

Quando nenhuma entrada estiver ativa S 0

R3 0 0 0 0 1 1 1 1

R2 0 0 1 1 0 0 1 1

R1 0 1 0 1 0 1 0 1

S1 0 0 1 1 1 1 1 1

S0 0 1 0 0 1 1 1 1

S1 = !R3.R2.!R1 + !R3.R2.R1 + R3.!R2.!R1 + R3.! R2.R1 + R3.R2.!R1 + R3.R2.R1


!R3.R2.!R1 !R3.R2.R1 R3.!R2.!R1 R3.!R2.R1 R3.R2.!R1 R3.R2.R1

lgebra booleana
Circuitos com mais de uma sada
Codificador de prioridades
A sada S indica a entrada de maior prioridade ativa A prioridade das entradas relativa aos seus nmeros
R3 > R2 > R1

Quando nenhuma entrada estiver ativa S 0

R3 0 0 0 0 1 1 1 1

R2 0 0 1 1 0 0 1 1

R1 0 1 0 1 0 1 0 1

S1 0 0 1 1 1 1 1 1

S0 0 1 0 0 1 1 1 1

S0 = !R3.!R2.R1 + R3.!R2.!R1 + R3.!R2.R1 + R3.R2.!R1 + R3.R2.R1


!R3.!R2.R1

R3.!R2.!R1 R3.!R2.R1 R3.R2.!R1 R3.R2.R1

lgebra booleana
Circuitos com mais de uma sada
Codificador de prioridades
Circuito no simplificado

S1 = !R3.R2.!R1 + !R3.R2.R1 + R3.!R2.!R1 + R3.! R2.R1 + R3.R2.!R1 + R3.R2.R1 S0 = !R3.!R2.R1 + R3.!R2.!R1 + R3.!R2.R1 + R3.R2.!R1 + R3.R2.R1

lgebra booleana
Circuitos com mais de uma sada
Codificador de prioridades
Circuito simplificado

S1 = R3 + R2

S0 = !R2.R1 + R3

Você também pode gostar