capítulo 2 introdução –circuitos combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x +...

56
1 IC-UNICAMP MC602 – Mario Côrtes – IC / Unicamp Capítulo 2 Introdução – Circuitos Combinacionais MC 602 Circuitos Lógicos e Organização de Computadores IC/Unicamp Prof Mario Côrtes

Upload: others

Post on 29-Mar-2021

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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

Page 2: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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

Page 3: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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

Page 4: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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

Page 5: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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

Page 6: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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 +

Page 7: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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

Page 8: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

8

IC-UNICAMP

MC602 – Mario Côrtes – IC / Unicamp

Sx L

R

Inversão

L(x) = x̅

Page 9: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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)

Page 10: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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

Page 11: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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)

Page 12: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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

Page 13: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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

Page 14: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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

Page 15: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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

Page 16: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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.+ =

Page 17: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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

Page 18: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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

Page 19: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

19

IC-UNICAMP

MC602 – Mario Côrtes – IC / Unicamp

Álgebra Booleana: primitivas

• Valores: – 0 e 1

• Operadores:

– AND

– OR

– NOT

Page 20: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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

Page 21: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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

Page 22: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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

Page 23: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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)

Page 24: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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

Page 25: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

25

IC-UNICAMP

MC602 – Mario Côrtes – IC / Unicamp

Prova do teorema de DeMorgan

• Por indução perfeita

• (x.y) = x ̅ + y̅

Page 26: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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

Page 27: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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

Page 28: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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

Page 29: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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)

Page 30: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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

Page 31: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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 ) )

Page 32: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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

Page 33: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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

Page 34: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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)

Page 35: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

35

IC-UNICAMP

MC602 – Mario Côrtes – IC / Unicamp

Exemplo: função de 3 variáveis

Page 36: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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

Page 37: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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

Page 38: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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

Page 39: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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

Page 40: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

40

IC-UNICAMP

MC602 – Mario Côrtes – IC / Unicamp

Exemplo: mintermos e maxtermos

Page 41: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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)

Page 42: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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

Page 43: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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

Page 44: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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

Page 45: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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

Page 46: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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

Page 47: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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

Page 48: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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

Page 49: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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

Page 50: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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)

Page 51: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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

Page 52: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

52

IC-UNICAMP

MC602 – Mario Côrtes – IC / Unicamp

f

x 1 x 2 x 3

3-way light controller: SOP

Page 53: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

53

IC-UNICAMP

MC602 – Mario Côrtes – IC / Unicamp

f

x 1

x 2

x 3

3-way light controller: POS

Page 54: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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

Page 55: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

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

Page 56: Capítulo 2 Introdução –Circuitos Combinacionaiscortes/mc602/slides/obsoleto/cap2.pdf · 6b x + 0 = x 7a x . x = x 7b x + x = x 8a x . x ̅= 0 8b x + x ̅= 1 9 (x ̅)= x exemplo

56

IC-UNICAMP

MC602 – Mario Côrtes – IC / Unicamp

Algumas implementações de XOR