View
7
Download
0
Category
Preview:
Citation preview
1
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
Capítulo 2
Introdução – Circuitos Combinacionais
MC 602Circuitos Lógicos e Organização de Computadores
IC/Unicamp
Prof Mario Côrtes
2
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
Tópicos
• Variáveis e funções
• Tabela verdade
• Portas lógicas
• Análise de circuitos digitais
• Álgebra Booleana
• Diagrama de Venn
• Síntese
• Mintermos e SOP
• Maxtermos e POS
3
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
Variáveis e funções
• Sinais digitais e representação por chaves
• Lógica feita com chaves
4
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
x 1 = x 0 =
(a) Dois estados de uma chave
S
x
(b) Símbolo de uma chave
Uma chave binária
5
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
(a) Conexão direta com a bateria
S
x L Bateria Lâmpada
(b) Terra como interconexão
x Fonte de
alimentação
S
L
Lâmpada controlada por chave binária
Se L(x) é o estado da lâmpada � ligado para L=1 e desligado para L=0, entãoL(x) = x liga se x = 1
L(x) é uma função lógica de uma variável
6
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
Duas funções lógicas básicas
(a) AND lógico (E lógico): conexão em série
S
x1
L
S
x2
S
x1
LS
x2
(b) OR lógico (OU lógico): conexão em paralelo
Lâmpada
Lâmpada
L(x) = x1 . x2L=1 se x1 = x2 =1L=0 caso contrário
L(x) = x1 + x2L=0 se x1 = x2 =0L=1 caso contrário
Símbolo para AND .Símbolo para OR +
7
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
S
x 1
L S
x 2
S
x 3
Conexão série-paralelo
L(x) = (x1 + x2) . x3L=1 se x3 =1
E ou x1 ou x2 =1
8
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
Sx L
R
Inversão
L(x) = x̅
9
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
Tabela verdade (1)
entradas saída
x1 x2 x1 . x2
0 0 00 1 01 0 01 1 1
entradas saída
x1 x2 x1 + x2
0 0 00 1 11 0 11 1 1
AND e OR (2 entradas)
10
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
Tabela verdade (2)
AND e OR (3 entradas)
entradas saída
x1 x2 x3 x1 . x2 . x3
0 0 0 00 0 1 00 1 0 00 1 1 01 0 0 01 0 1 01 1 0 01 1 1 1
entradas saída
x1 x2 x3 x1 + x2 + x3
0 0 0 00 0 1 10 1 0 10 1 1 11 0 0 11 0 1 11 1 0 11 1 1 1
11
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
x 1 x 2
x 1 x 2 +
Portas AND
x x
x 1 x 2
x n
x 1 x 2 … x n
+ + +
x 1 x 2
x n
x 1 x 2 … x n . . .
Portas lógicas AND, OR, NOTsímbolos
x 1 x 2
x1 . x2
Portas OR
Inversor (not)
12
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
x 1 x
2 x
3 f x
1 x
2 + ( ) x
3 . =
Uma função lógica com AND e OR
13
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
Análise e Síntese de Sistemas Digitais
• Processo de análise– Dado um circuito digital �
• Descobrir a função lógica que ele implementa
• Processo de síntese– Dado um comportamento lógico esperado �
• Sintetizar um circuito que se comporte desta maneira
14
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
(a) A rede implementa f x 1
x 1x
2.+ =
x 1
x 2
f x 1x
2, ( )
0
1
0
1
0
0
1
1
1
1
0
1
(b) Tabela verdade de f
x 1
x 2
1 1 0 0 → → →
f
0 0 0 1 → → →
1 1 0 1 → → →
0 0 1 1 → → →
0 1 0 1 → → →
A
B
Uma rede lógica
A B
completar
15
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
f x 1
x 1x
2.+ =
x 1x
2f x
1x
2, ( )
0 1 0 1
0 0 1 1
1 1 0 1
x 1
x 2
1 1 0 0 → → →
f
0 0 0 1 → → →
1 1 0 1 → → →
0 0 1 1 → → →
0 1 0 1 → → →
A
B
Timing diagram
1
0
1
0
1
0
1
0
x 1
x 2
A
B
1
0 f
t
Timing diagram = diagrama de tempo = waveform = forma de onda
16
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
1 1 0 0 → → →0 0 1 1 → → →
1 1 0 1 → → →0 1 0 1 → → → g
x 1
x 2
Outra rede que implementa g x 1
x 2
+ =
1
0
1
0
1
0
x 1
x 2
g
Circuitos equivalentes
g x 1
x 2
+ =
1
0 f
f x 1
x 1x
2.+ =
Então é equivalente ag x 1
x 2
+ = f x 1
x 1x
2.+ =
17
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
Implementação ótima
• Se g = f � x̅1 + x2 = x̅1 + x1 .x2• Mas g é melhor � mais barato � menos
hardware
• Existem muitas implementações para a mesma função
• Como encontrar a melhor?
• Método formal no capítulo 4
• Manipulações algébricas podem também gerar solução minimizada � em seguida
18
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
Álgebra Booleana
• Geoge Boole (1849): descrição algébrica do processo de raciocínio lógico– 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
19
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
Álgebra Booleana: primitivas
• Valores: – 0 e 1
• Operadores:
– AND
– OR
– NOT
20
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
Álgebra Booleana: axiomas
• Como em matemática, axiomas são hipóteses básicas (não 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 então x̅ = 1
4b se x = 1 então x̅ = 0
21
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
Álgebra Booleana: teoremas de 1 variável
• Podem ser demonstrados por indução perfeita, substituindo-se valores possíveis de x, ou seja 0 ou 1, e usando os axiomas5a 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
9 (x̅)= x
exemplo de prova T8b, para x=0
0 + 0 ̅ = 0 + 1 = 1
repetir para x = 1
alunos � demonstrar todos
A4a A3b
22
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
Princípio da dualidade
• Observar axiomas/teoremas (a) e (b)
• Dualidade 0 ⇔ 1 + ⇔ .
• Toda igualdade tem sua igualdade dual
• Há (no min.) 2 alternativas para implementar uma função� 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 então x̅ = 1 4b se x = 1 então 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
23
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
Propriedades
• Postulados básicos para derivar todos os teoremas e propriedades
– operações + e . definidas
– teoremas 5 e 8
– propriedades 10 e 12
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 absorção
14a x.y + x.y̅ = x 14b (x+y).(x+y̅) = x combinação
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)
24
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
Prova de igualdades
• Indução perfeita:– substituir todas possibilidades de variáveis �
como tabela verdade LHS e RHS
• Manipulação algébrica– manipular LHS até que ele se iguale ao RHS; ou
– manipular LHS e RHS até que cheguem à mesma expressão
• Diagrama de Venn
25
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
Prova do teorema de DeMorgan
• Por indução perfeita
• (x.y) = x ̅ + y̅
26
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
Exemplos: provar igualdades por manipulação algébrica
• Exemplo 2.1:(x1+x3) . (x̅1 + x̅3) = x1.x̅3 + x̅1.x3
• Exemplo 2.2:x1 .x̅3 + x̅2 . x̅3 + x1 . x3 + x̅2 . x3 = x̅1 x̅2 + x1 x2 + x1 x̅2
27
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
Diagrama de Venn
• Originou-se da teoria dos conjuntos e de lógica
• Exemplo: inteiros de 1 a 10– A: pares B: múltiplo de 3 C: ímpares
2 4
68
10
3
9
1
5
7
A B C
A.B = A ∩∩∩∩ B A+B = A ∪∪∪∪ B
28
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
Diagrama de Venn e álgebra de Boole
(b) Constante 0
×
(a) Constante 1
x x
(d) x
x y
(e) x . y
x y
(f) x y +
x
(g) x y .
y
x y
z
(h) x y z + .
x
(c) Variável x
x
29
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
Propriedade distributiva (T12a)
x y
z
x y
z
x y
z
x y
z
x y
z
x y
z
x x y .
x y . x + z . x y z + ( ) .
(a) (d)
(c) (f)
x z . y z + (b) (e)
30
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
Verificação: xy + x̅z + yz = xy + x̅z
x y
z
x y .
x y
z
x z .
y x
z
y z .
x y
z
x y .
x y
z
x z .
x y . x + z .
y
z
x
x y . x + z y z . + .
y
z
x
31
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
Precedência das operações
• Com AND, OR e NOT é possível construir infinitas expressões
• Parênteses podem indicar precedência, mas a convenção seguinte é usada:
• NOT depois AND depois OR
• A expressão x1 . x2 + x̅1 . x̅2
• é calculada na seguinte ordem ( x1 . x2 ) + ( ( x̅1 ) . ( x̅2 ) )
32
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
Síntese usando portas AND, OR, NOT
• soma de produtos “canônica” (um produto por linha da tabela verdade, com todos os literais)
f = x ̅1.x̅2 + x ̅1.x2 +x1.x2
“produtos”
x̅1.x̅2
x̅1.x2
x1.x̅2
x1.x2
f=1
33
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
f
implementação mínima
x 2
x 1
f
implementação canônica de soma de produtos
x 1
x 2
Implementação canônica e mínima
f = x̅1.x̅2 + x̅1.x2 +x1.x2
f = x̅1 + x2
demonstrar algebricamente
34
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
Mintermos e Soma de Produtos (SOP)
• Para uma função de n variáveis
• Mintermo: produto (ANDs) de n variáveis, complementadas ou não– existe um mintermo para cada linha da tabela
verdade
• Forma canônica de SOP– f = soma (ORs) de todos os mintermos para os
quais a função é igual a um
m0m1m2
m3
f(x1,x2) = x̅1.x̅2 + x̅1.x2 +x1.x2
= Σ(m0,m1 ,m3)
= Σ(0, 1, 3)
35
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
Exemplo: função de 3 variáveis
36
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
f
x1
x2
x3
Outro exemplo com 3 variáveis
f(x1,x2,x3) = Σ(m1,m4 ,m5,m6)
f(x1,x2,x3) = x̅1.x̅2.x3+x1.x̅2.x̅3+x1.x̅2.x3+x1.x2.x̅3
f(x1,x2,x3) = (x̅1+x1).x̅2.x3+x1.(x̅2+x2).x̅3
f(x1,x2,x3) = 1.x̅2.x3+x1.1.x̅3
f(x1,x2,x3) = x̅2.x3+x1.x̅3
Uma implementação SOP mínima
custo da implementação=n. de portas + n. entradas
custo = 5+8 = 13
37
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
Produto de Soma, Maxtermos
• Pelo princípio da dualidade: se é possível implementar como soma de mintermos (f=1) deve haver outra implementação 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 são os Maxtermos Mi
– f = ΠMi
38
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
f(x1,x2) = x1.x̅2 = x̅1+x2
Produto de Soma, Maxtermos: exemplo
f(x1,x2) = Σ(m2) = x1.x̅2
Por de Morgan
f(x1,x2) = m2 = M2
custo da implementação=n. de portas + n. entradas
custo = 2+3 = 5f
implementação mínima
x 2
x 1
39
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
f
x2
x1x3
Refazer com POS e maxtermos
Uma implementação POS mínima
f(x1,x2,x3) = Σ(m0,m2 ,m3,m7)
f = x̅1.x̅2.x̅3+x̅1.x2.x̅3+x̅1.x2.x3+x1.x2.x3
f = x̅1.x̅2.x̅3+x̅1.x2.x̅3+x̅1.x2.x3+x1.x2.x3
f= m0+m2 +m3+m7
f = m0.m2 .m3.m7
f = M0.M2 .M3.M7
f=(x1+x2+x3). (x1+x̅2+x3). (x1+x̅2+x̅3).(x̅1+x̅2+x̅3)
provar que f=(x1+x3). (x̅2+x̅3)
custo = 5+8 = 13
40
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
Exemplo: mintermos e maxtermos
41
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
Exemplos
• Ex 2.3: gerar SOP e simplificarf(x1,x2,x3) = ΣΣΣΣ m(2, 3, 4, 6,7)
• Ex 2.4: gerar POS e simplificarf(x1,x2,x3) = ΠΠΠΠ M(0, 1, 5)
• Ex 2.5: gerar SOP e simplificarf(x1,x2,x3,x4) = ΣΣΣΣ m(3, 7, 9, 12, 13, 14, 15)
42
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
Exemplo de Síntese Só comNANDs
x 1
x 2
x 3
x 4
x 5
x 1
x 2
x 3
x 4
x 5
x 1
x 2
x 3
x 4
x 5
43
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
Exemplo de Síntese Só comNORs
x 1 x 2
x 3 x 4
x 5
x 1 x 2
x 3 x 4
x 5
x 1 x 2
x 3 x 4
x 5
44
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
Exemplo
x 2
1
x 3
x 4
x 5 x 6
x 7
f
Circuit with AND and OR gates
x 2
x 1
x 3
x 4
x 5 x 6
x 7
f
Convertendo para NANDs
45
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
Exemplo (cont.)
x 2
x 1
x 3
x 4
x 5
x 6 x 7
f
46
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
Exemplo (cont.)
x 2
x 1
x 3
x 4
x 5 x 6
x 7
f
Convertendo para NORs
x 2
1
x 3
x 4
x 5 x 6
x 7
f
Circuit with AND and OR gates
47
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
Exemplo (cont.)
x 2
x 1
x 3
x 4
x 5 x 6 x
7
f
48
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
Exercício:
• Qual é a expressão booleana para o circuitoabaixo?
AB
YCD
AB
YCD Y = AB + CD
49
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
Técnica Bubble PushingAB
C
D
Y
bubble on
input and outputA
B
C
D
Y
A
B
C Y
D
no output
bubble
A
B
C
D
Y
no bubble on
input and output
Y = A B C + D
50
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
Exemplos
• Ex 2.6: implementar somente com NORs (ver exemplo 2.4)f(x1,x2,x3) = ΣΣΣΣ m(2,3,4, 6,7)
• Ex 2.7: implementar somente com NANDs(ver exemplo 2.3)f(x1,x2,x3) = ΣΣΣΣ m(2,3,4, 6,7)
51
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
Exemplos: 3-way light controller
• Três interruptores de luminária: qualquer um que seja acionado causa mudança de estado da lâmpada (on ↔ off)
• f(x1,x2,x3) = ΣΣΣΣ m(1,2,4,7)
• f(x1,x2,x3) = Π M(0, 3, 5, 6)
• circuitos minimizadosno próximo slide
52
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
f
x 1 x 2 x 3
3-way light controller: SOP
53
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
f
x 1
x 2
x 3
3-way light controller: POS
54
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
f
s
x 1
x 2
0
1
(c) Graphical symbol
(b) Circuit
0 0 0 0
0 0 1 0
0 1 0 1
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 1
(a) Truth table
s x1x2 f (s, x1, x2)
(d) More compact truth-table representation
0
1
f (s, x1, x2)s
x1
x2
f
x 1
x 2
s
Exemplos: multiplexador
55
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
Função lógica: XOR – ou exclusivo
• XOR = 0 se entradas iguais e =1 caso contrário
• 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 1’s em (a1,a2,..,an)
a b XOR (a, b) XNOR (a, b)0 0 0 10 1 1 01 0 1 01 1 0 1
a b
a⊕b
a b
a⊕b
56
IC-UNICAMP
MC602 – Mario Côrtes – IC / Unicamp
Algumas implementações de XOR
Recommended