Você está na página 1de 58

IC-UNICAMP

MC 602
Circuitos Lgicos e Organizao de Computadores

IC/Unicamp

Prof Mario Crtes

Captulo 2
Introduo Circuitos Combinacionais
MC602 Mario Crtes IC / Unicamp 1
IC-UNICAMP
Tpicos
Variveis e funes
Tabela verdade
Portas lgicas
Anlise de circuitos digitais
lgebra Booleana
Diagrama de Venn
Sntese
Mintermos e SOP
Maxtermos e POS

MC602 Mario Crtes IC / Unicamp 2


IC-UNICAMP
Variveis e funes
Sinais digitais e representao por chaves
Lgica feita com chaves

MC602 Mario Crtes IC / Unicamp 3


IC-UNICAMP
Uma chave binria

x = 0 x = 1

(a) Dois estados de uma chave

(b) Smbolo de uma chave

MC602 Mario Crtes IC / Unicamp 4


Lmpada controlada por chave binria
IC-UNICAMP

S
Bateria x L Lmpada

(a) Conexo direta com a bateria

S
Fonte de
x L
alimentao

(b) Terra como interconexo

Se L(x) o estado da lmpada ligado para L=1 e desligado para L=0, ento
L(x) = x liga se x = 1

L(x) uma funo lgica de uma varivel

MC602 Mario Crtes IC / Unicamp 5


IC-UNICAMP
Duas funes lgicas bsicas
S S L(x) = x1 . x2
L=1 se x1 = x2 =1
x x L Lmpada L=0 caso contrrio
1 2

(a) AND lgico (E lgico): conexo em srie Smbolo para AND .


Smbolo para OR +
S

x L(x) = x1 + x2
1
L=0 se x1 = x2 =0
L Lmpada L=1 caso contrrio
S

x
2
(b) OR lgico (OU lgico): conexo em paralelo

MC602 Mario Crtes IC / Unicamp 6


IC-UNICAMP
Conexo srie-paralelo

x1 S

S x3 L

x2

L(x) = (x1 + x2) . x3


L=1 se x3 =1
E ou x1 ou x2 =1

MC602 Mario Crtes IC / Unicamp 7


IC-UNICAMP
Inverso

x S L

L(x) = x

MC602 Mario Crtes IC / Unicamp 8


IC-UNICAMP
Tabela verdade (1)

entradas sada entradas sada


x1 x2 x1 . x2 x1 x2 x1 + x2
0 0 0 0 0 0
0 1 0 0 1 1
1 0 0 1 0 1
1 1 1 1 1 1

AND e OR (2 entradas)

MC602 Mario Crtes IC / Unicamp 9


IC-UNICAMP
Tabela verdade (2)

entradas sada entradas sada


x1 x2 x3 x1 . x2 . x3 x1 x2 x3 x1 + x2 + x3
0 0 0 0 0 0 0 0
0 0 1 0 0 0 1 1
0 1 0 1
0 1 0 0
0 1 1 1
0 1 1 0 1 0 0 1
1 0 0 0 1 0 1 1
1 0 1 0 1 1 0 1
1 1 0 0 1 1 1 1
1 1 1 1

AND e OR (3 entradas)

MC602 Mario Crtes IC / Unicamp 10


Portas lgicas AND, OR, NOT
IC-UNICAMP
smbolos
x1
x2
Portas AND x1
x1 .x2 ..xn
x2 x 1 . x2

xn

x1
x2
x1
Portas OR
x1 + x2 x1 + x2 + + xn
x2

xn

Inversor (not) x x

MC602 Mario Crtes IC / Unicamp 11


IC-UNICAMP
Uma funo lgica com AND e OR

x
1
x
2
f = (x + x ) . x
x 1 2 3
3

MC602 Mario Crtes IC / Unicamp 12


NAND e NOR: complemento
IC-UNICAMP
de AND e OR

NAND (2 entradas) NOR (2 entradas)


entradas sada entradas sada
x1 x2 x1 . x2 x1 x2 x1 + x2
0 0 1 0 0 1
Tabela verdade
0 1 1 0 1 0
1 0 1 1 0 0
1 1 0 1 1 0

Circuito equivalente

Smbolo

MC602 Mario Crtes IC / Unicamp 13


IC-UNICAMP
Anlise e Sntese de Sistemas Digitais
Processo de anlise
Dado um circuito digital
Descobrir a funo lgica que ele implementa

Processo de sntese
Dado um comportamento lgico esperado
Sintetizar um circuito que se comporte desta maneira

MC602 Mario Crtes IC / Unicamp 14


IC-UNICAMP
Uma rede lgica
0 01 1 1 10 0
x
1 A
11 0 1
f
0 00 1 B
0 10 1
x
2

(a) A rede implementa f = x +x .x


1 1 2

x x f (x , x ) A B
1 2 1 2

0 0 1
0 1 1
1 0 0 completar
1 1 1

(b) Tabela verdade de f

MC602 Mario Crtes IC / Unicamp 15


IC-UNICAMP
Timing diagram
f = x +x .x
1 1 2
0 011 1100
x1 x2 f (x1, x2) x
1 A
0 0 1 11 01
0 1 1 f
1 0 0 0001 B
1 1 1 0 101
x
2

1
x
1 0

x 1
2 0

1
A
0
1
B
0
1
f
0 t

Timing diagram = diagrama de tempo = waveform = forma de onda


MC602 Mario Crtes IC / Unicamp 16
IC-UNICAMP
Circuitos equivalentes
0 01 1 11 00
x
1
11 0 1
0 10 1 g
x
2

Outra rede que implementa g = x +x


1 2

1
x
1 0

x 1
2 0

1 g = x +x
g 1 2
0

1 f = x +x .x
f 1 1 2
0

Ento g = x +x
1 2 equivalente a f = x +x .x
1 1 2

MC602 Mario Crtes IC / Unicamp 17


IC-UNICAMP
Implementao tima
Se g = f x1 + x2 = x1 + x1 .x2
Mas g melhor mais barato menos
hardware
Existem muitas implementaes para a
mesma funo
Como encontrar a melhor?
Mtodo formal no captulo 4
Manipulaes algbricas podem tambm
gerar soluo minimizada em seguida

MC602 Mario Crtes IC / Unicamp 18


IC-UNICAMP
lgebra Booleana
George Boole (1849): descrio algbrica do
processo de raciocnio lgico
Verdadeiro / Falso 1/0 ligado/desligado
Shannon (1930): uso da lgebra booleana
para descrever o comportamento de circuitos
feitos com chaves (1 impl. de circ digitais)
Vamos ver
Propriedades
Axiomas
Teoremas

MC602 Mario Crtes IC / Unicamp 19


IC-UNICAMP
lgebra Booleana: primitivas
Valores:
0e1
Operadores:
AND
OR
NOT

MC602 Mario Crtes IC / Unicamp 20


IC-UNICAMP
lgebra Booleana: axiomas
Como em matemtica, axiomas so
hipteses bsicas (no demonstradas)

1a 0.0=0
1b 1+1=1
2a 1.1=1
2b 0+0=0
3a 0.1=1.0=0
3b 1+0=0+1=1
4a se x = 0 ento x = 1
4b se x = 1 ento x = 0

MC602 Mario Crtes IC / Unicamp 21


lgebra Booleana: teoremas de 1 varivel
IC-UNICAMP

Podem ser demonstrados por induo


perfeita, substituindo-se valores possveis de
x, ou seja 0 ou 1, e usando os axiomas
5a x.0=0
5b x+1=1
6a x.1=x exemplo de prova T8b, para x=0
6b x+0=x A4a A3b
0 + 0 = 0+1 = 1
7a x.x=x
7b x+x=x repetir para x = 1

8a x . x = 0 alunos demonstrar todos


8b x + x = 1
9 (x)= x
MC602 Mario Crtes IC / Unicamp 22
IC-UNICAMP
Princpio da dualidade
Observar axiomas/teoremas (a) e (b)
Dualidade 01 +.
Toda igualdade tem sua igualdade dual
H (no min.) 2 alternativas para implementar
uma funo adotar a mais barata
1a 0.0=0 1b 1+1=1
2a 1.1=1 2b 0+0=0
3a 0.1=1.0=0 3b 1+0=0+1=1
4a se x = 0 ento x = 1 4b se x = 1 ento x = 0
5a x.0=0 5b x+1=1
6a x.1=x 6b x+0=x
7a x.x=x 7b x+x=x
8a x . x = 0 8b x + x = 1
MC602 Mario Crtes IC / Unicamp 23
IC-UNICAMP
Propriedades
10a x.y=y.x 10b x+y=y+x comutativa
11a x.(y.z) = (x.y).z 11b x+(y+z) = (x+y)+z associativa
12a x.(y+z) = x.y + x.z 12b x+y.z = (x+y).(x+z) distributiva
13a x + x.y = x 13b x.(x+y) = x absoro
14a x.y + x.y = x 14b (x+y).(x+y) = x combinao
15a (x.y) = x + y 15b (x+y) = x . y Teor. DeMorgan
16a x + x.y = x + y 16b x.(x+y) = x . y
17a x.y+y.z+x.z = x.y+x.z 17b (x+y).(y+z).(x+z)= consenso
(x+y).(x+z)

Postulados bsicos para derivar todos os teoremas e


propriedades
operaes + e . definidas
teoremas 5 e 8
propriedades 10 e 12
MC602 Mario Crtes IC / Unicamp 24
IC-UNICAMP
Prova de igualdades
Induo perfeita:
substituir todas possibilidades de variveis
como tabela verdade LHS e RHS
Manipulao algbrica
manipular LHS at que ele se iguale ao RHS; ou
manipular LHS e RHS at que cheguem mesma
expresso
Diagrama de Venn

MC602 Mario Crtes IC / Unicamp 25


IC-UNICAMP
Prova do teorema de DeMorgan
Por induo perfeita
(x.y) = x + y

MC602 Mario Crtes IC / Unicamp 26


Exemplos: provar igualdades por
IC-UNICAMP
manipulao algbrica
Exemplo 2.1:
(x1+x3) . (x1 + x3) = x1.x3 + x1.x3

Exemplo 2.2:
x1 .x3 + x2 . x3 + x1 . x3 + x2 . x3 = x1 x2 + x1 x2 + x1 x2

MC602 Mario Crtes IC / Unicamp 27


IC-UNICAMP
Diagrama de Venn
Originou-se da teoria dos conjuntos e de
lgica
Exemplo: inteiros de 1 a 10
A: pares B: mltiplo de 3 C: mpares

1
2 4
3
5
8 6
9
10
7

A B C

A.B = A B A+B = A B
MC602 Mario Crtes IC / Unicamp 28
IC-UNICAMP
Diagrama de Venn e lgebra de Boole

x x

(a) Constante 1 (b) Constante 0 (c) Varivel x

x x x y x y

(d) x (e) x . y (f) x + y

x y
x y
z

(g) x .y (h) x .y + z
MC602 Mario Crtes IC / Unicamp 29
IC-UNICAMP
Propriedade distributiva (T12a)
x y x y

z z

(a) x (d) x .y

x y x y

z z

(b) y + z (e) x .z

x y x y

z z

(c) x .(y + z) (f) x .y + x .z


MC602 Mario Crtes IC / Unicamp 30
Verificao: xy + xz + yz = xy + xz
IC-UNICAMP

x y
x y x y
z
z z
x .y
x .y x .z

x y
x y
z
z
x .z
y .z
x y
x y
z
z
x .y + x .z + y .z
x .y + x .z
MC602 Mario Crtes IC / Unicamp 31
Precedncia das operaes
IC-UNICAMP

Com AND, OR e NOT possvel construir


infinitas expresses
Parnteses podem indicar precedncia, mas
a conveno seguinte usada:
NOT depois AND depois OR
A expresso
x1 . x2 + x1 . x2
calculada na seguinte ordem
( x1 . x2 ) + ( ( x1 ) . ( x2 ) )

MC602 Mario Crtes IC / Unicamp 32


Sntese usando portas AND, OR, NOT
IC-UNICAMP

produtos

x1.x2
x1.x2
x1.x2 f=1
x1.x2

soma de produtos cannica (um produto


por linha da tabela verdade, com todos os
literais)
f = x1.x2 + x1.x2 +x1.x2
MC602 Mario Crtes IC / Unicamp 33
IC-UNICAMP
Implementao cannica e mnima
x1
x2
f = x1.x2 + x1.x2 +x1.x2

demonstrar
algebricamente

implementao cannica de soma de produtos

x1
f f = x1 + x2
x2

implementao mnima

MC602 Mario Crtes IC / Unicamp 34


Mintermos e Soma de Produtos (SOP)
IC-UNICAMP

Para uma funo de n variveis


Mintermo: produto (ANDs) de n variveis,
complementadas ou no
existe um mintermo para cada linha da tabela
verdade
Forma cannica de SOP
f = soma (ORs) de todos os mintermos para os
quais a funo igual a um

f(x1,x2) = x1.x2 + x1.x2 +x1.x2


m0 = (m0,m1 ,m3)
m1
m2 = (0, 1, 3)
m3
MC602 Mario Crtes IC / Unicamp 35
IC-UNICAMP
Exemplo: funo de 3 variveis

MC602 Mario Crtes IC / Unicamp 36


IC-UNICAMP
Outro exemplo com 3 variveis

f(x1,x2,x3) = (m1,m4 ,m5,m6)

f(x1,x2,x3) = x1.x2.x3+x1.x2.x3+x1.x2.x3+x1.x2.x3

f(x1,x2,x3) = (x1+x1).x2.x3+x1.(x2+x2).x3

f(x1,x2,x3) = 1.x2.x3+x1.1.x3

f(x1,x2,x3) = x2.x3+x1.x3

x2

custo da implementao=
f n. de portas + n. entradas
x3
custo = 5+8 = 13
x1
Uma implementao SOP mnima
MC602 Mario Crtes IC / Unicamp 37
IC-UNICAMP
Produto de Soma, Maxtermos
Pelo princpio da dualidade: se possvel
implementar como soma de mintermos (f=1)
deve haver outra implementao com
mintermos (f=0)
Consideremos as linhas da tabela onde f=0
f = mi (m das linhas onde f=0)
f = mi
por de Morgan: f = mi
Os complementos de mi so os Maxtermos Mi
f = Mi

MC602 Mario Crtes IC / Unicamp 38


Produto de Soma, Maxtermos: exemplo
IC-UNICAMP

f(x1,x2) = (m2) = x1.x2

Por de Morgan

f(x1,x2) = x1.x2 = x1+x2

f(x1,x2) = m2 = M2

custo da implementao=
x1 n. de portas + n. entradas
f
x2
custo = 2+3 = 5
implementao mnima

MC602 Mario Crtes IC / Unicamp 39


IC-UNICAMP
Refazer com POS e maxtermos
f(x1,x2,x3) = (m0,m2 ,m3,m7)

f = x1.x2.x3+x1.x2.x3+x1.x2.x3+x1.x2.x3

f = x1.x2.x3+x1.x2.x3+x1.x2.x3+x1.x2.x3

f= m0+m2 +m3+m7

f = m0.m2 .m3.m7

f = M0.M2 .M3.M7
x1 f=(x1+x2+x3). (x1+x2+x3). (x1+x2+x3).(x1+x2+x3)
x3
f

provar que f=(x1+x3). (x2+x3)


x2
custo = 5+8 = 13
Uma implementao POS mnima
MC602 Mario Crtes IC / Unicamp 40
IC-UNICAMP
Exemplo: mintermos e maxtermos

MC602 Mario Crtes IC / Unicamp 41


IC-UNICAMP
Exemplos
Ex 2.3: gerar SOP e simplificar
f(x1,x2,x3) = m(2, 3, 4, 6,7)

Ex 2.4: gerar POS e simplificar


f(x1,x2,x3) = M(0, 1, 5)

Ex 2.5: gerar SOP e simplificar


f(x1,x2,x3,x4) = m(3, 7, 9, 12, 13, 14, 15)

MC602 Mario Crtes IC / Unicamp 42


IC-UNICAMP
Funes e smbolos equivalentes

f a .b a b

f a b a .b

f a .b a b

f a b a .b

MC602 Mario Crtes IC / Unicamp 43


Exemplo de Sntese S com
IC-UNICAMP NANDs
x1 x1
x2 x2
x3 x3
x4 x4
x5 x5

x1
x2
x3
x4
x5

MC602 Mario Crtes IC / Unicamp 44


Exemplo de Sntese S com
IC-UNICAMP NORs
x x
1 1
x x
2 2
x x
3 3
x x
4 4
x x
5 5

x
1
x
2
x
3
x
4
x
5

MC602 Mario Crtes IC / Unicamp 45


IC-UNICAMP
Exemplo
x1

x2
x3
x4 f

x5
x6
x7
Circuit with AND and OR gates

x1

x2
x3
x4 f

x5
x6
x7

Convertendo para NANDs


MC602 Mario Crtes IC / Unicamp 46
IC-UNICAMP
Exemplo (cont.)

x1

x2
x3
x4 f

x5

x6
x7

MC602 Mario Crtes IC / Unicamp 47


IC-UNICAMP
Exemplo (cont.)
1
x2
x3
x4 f

x5
x6
x7
Circuit with AND and OR gates

x
1
x
2
x
3
x f
4
x
5
x
6
x
7

Convertendo para NORs


MC602 Mario Crtes IC / Unicamp 48
IC-UNICAMP
Exemplo (cont.)

x
1
x
2

x
3

x
4

x
5
x
6 x
7

MC602 Mario Crtes IC / Unicamp 49


IC-UNICAMP
Exerccio:
Qual a expresso booleana para o circuito
abaixo?
A
B
Y
C
D

A
B
Y
C
D Y = AB + CD

MC602 Mario Crtes IC / Unicamp 50


IC-UNICAMP
Tcnica Bubble Pushing
no output
A A
bubble
B B

C Y C Y

D D

bubble on
no bubble on
A input and output input and output
A
B B

C Y
C Y

D
D

Y= A B C + D

MC602 Mario Crtes IC / Unicamp 51


IC-UNICAMP
Exemplos

MC602 Mario Crtes IC / Unicamp 52


IC-UNICAMP
Funo lgica: XOR ou exclusivo
a b XOR (a, b) XNOR (a, b) a ab
0 0 0 1 b
0 1 1 0
1 0 1 0 a ab
1 1 0 1 b

XOR = 0 se entradas iguais e =1 caso contrrio


XNOR = complemento de XOR = det. de igualdade
Demonstrar que
XOR(a,b) = a b = a. b + a . b
a b = b a e a (b c) = (a b) c = a b c
a b = a b
XOR(a1,a2,..,an) = 1 n mpar de 1s em (a1,a2,..,an)
MC602 Mario Crtes IC / Unicamp 53
IC-UNICAMP
Algumas implementaes de XOR

MC602 Mario Crtes IC / Unicamp 54


IC-UNICAMP
Exemplos: 3-way light controller
Trs interruptores de luminria: qualquer um
que seja acionado causa mudana de estado
da lmpada (on off)
f(x1,x2,x3) = m(1,2,4,7)

f(x1,x2,x3) = M(0, 3, 5, 6)

circuitos minimizados
no prximo slide

MC602 Mario Crtes IC / Unicamp 55


IC-UNICAMP
3-way light controller: SOP

x
1
x
2
x
3

MC602 Mario Crtes IC / Unicamp 56


IC-UNICAMP
3-way light controller: POS

x
3
x
2
x
1

MC602 Mario Crtes IC / Unicamp 57


IC-UNICAMP
Exemplos: multiplexador
s x1 x2 f (s, x1, x2)
000 0 x1
001 0
010 1 f
011 1 s
100 0 x2

101 1 (b) Circuit


110 0
111 1

(a)Truth table s f (s, x1, x2)


0 x1
s
1 x2

x1 0
f (d) More compact truth-table representation
x2 1

(c) Graphical symbol


MC602 Mario Crtes IC / Unicamp 58

Você também pode gostar