2007 - [email protected] ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar...
Transcript of 2007 - [email protected] ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar...
![Page 1: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/1.jpg)
MC542
Organização de ComputadoresTeoria e Prática
MC5423.1
2007 - 2011
Prof. Paulo Cesar [email protected]
www.ic.unicamp.br/~ducatte
![Page 2: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/2.jpg)
MC542
Circuitos Lógicos
Projeto de Circuitos Combinacionais
MC5423.2
Projeto de Circuitos Combinacionais
“DDCA” - (Capítulo 2)“FDL” - (Capítulos 2 e 4)
![Page 3: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/3.jpg)
Título do Capítulo AbordadoSumário
• Introdução• Equações Booleanas• Álgebra Booleana• Síntese Lógica
– Usando SOP– Usando POS
• Lógica Combinacional Multi-Níveis
MC5423.3
• Lógica Combinacional Multi-Níveis • X’s e Z’s• Mapas de Karnaugh• Blocos básicos Combinacionais• Timing
![Page 4: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/4.jpg)
Introdução
Um circuito lógico é composto de:
• Entradas (inputs)
• Saídas (outputs)
• Especificação Funcional
MC5423.4
• Especificação Funcional
• Especificação da temporização (timing)
inputs outputsfunctional spec
timing spec
![Page 5: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/5.jpg)
Circuito
• Nodes– Inputs: A, B, C– Outputs: Y, Z– Interno: n1
• Elementos do Circuito– E1, E2, E3
MC5423.5
A E1
E2
E3B
C
n1
Y
Z
![Page 6: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/6.jpg)
Tipos de Circuitos Lógicos
• Combinacional– Sem efeito memória– As saídas são determinadas pelos valores correntes das entradas
• Seqüencial
MC5423.6
• Seqüencial– Tem efeito memória– As saídas são determinadas pelos valores correntes e anteriores das entradas
inputs outputsfunctional spec
timing spec
![Page 7: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/7.jpg)
Composição de Circuitos Combinacionais
• Todos os elementos do circuito são combinacionais• Cada node do circuito ou é uma entrada do circuito ou está conectado a uma saída de um elemento do circuito
• O circuito não contem ciclos: todo caminho no circuito visita cada node no máximo uma vez
• Exemplo:
MC5423.7
• Exemplo:
![Page 8: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/8.jpg)
Equação Booleana
• Especificação funcional das saídas em termos das entradas usando-se operadores booleanos
• Exemplo: S = F(A, B, Cin)Cout = F(A, B, Cin)
MC5423.8
AS
S = A ⊕ B ⊕ Cin
Cout
= AB + ACin + BC
in
B
Cin
CLC
out
![Page 9: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/9.jpg)
Forma Soma-de-Produtos (SOP)• Tada equação booleana pode ser descrita na forma SOP • Cada linha da tabela verdade é associada a um mintermo • Um mintermo é um produto (AND) de literais• Cada mintermo é TRUE (1) para uma dada linha (e somente para essa linha)
• A função é formada pelo OR dos mintermos para os quais a saída é TRUE (1)
• Assim, a função é a soma (OR) de produtos (termos AND)
MC5423.9
A B Y
0 0
0 1
1 0
1 1
0
1
0
1
minterm
A B
A B
A B
A B
• Assim, a função é a soma (OR) de produtos (termos AND)
Y = F(A, B, C) = AB + AB
![Page 10: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/10.jpg)
Terminologia– Literal - Uma variável complementada ou não em um termo produto (ou termo soma)
– Implicante – Um termo produto que implementa um ou mais 1´s da função. Exemplo: um míntermo é um implicante; um produto gerado pela simplificação de uma váriável de dois míntermos é um implicante.
– Implicante Principal – Um implicante que não pode ser simplificado em outro implicante com menos literais.
MC5423.10
– Implicante Essencial – Implicante Principal que é imprescindível na realização da função (existe pelo menos um “1” que só é coberto por ele).
– Cobertura – Uma coleção de implicantes que implementam a função (implementam todos os 1´s da função).
- Custo – número de portas + número de entradas de todas as portas (assumiremos que as entrads primárias estão disponíveis tanto na forma verdadeira quanto complementada).
![Page 11: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/11.jpg)
Forma Produto-de-Somas (POS)• Tada equação booleana pode ser descrita na forma POS• Cada linha da tabela verdade é associada a um maxtermo• Um maxtermo é uma soma (OR) de literais• cada maxtermo é FALSE (0) para uma dada linha (e somente para essa linha)
• A função é formada pelo AND dos maxtermos para os quais a saída é False (0)
• Assim, a função é um produto (AND) de soma (termos OR)
MC5423.11
Y = F(A, B, C) = (A + B)(A + B)
• Assim, a função é um produto (AND) de soma (termos OR)
A + B
A B Y
0 0
0 1
1 0
1 1
0
1
0
1
maxterm
A + B
A + B
A + B
![Page 12: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/12.jpg)
Síntese Usando Portas And, OR e Not
MC5423.12
A. Implemente cada 1 da tabela verdade com um AND e NotsB. Faça um OR dos circuitos criados em A.C. Opcional: simplifique a função
Soma de Produtos
![Page 13: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/13.jpg)
f
x 1
x 2
Síntese Usando Portas And, OR e Not
MC5423.13
f
Minimal-cost realization
x 2
x 1
Canonical sum-of-products
![Page 14: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/14.jpg)
Síntese Usando Portas And, OR e Not
MC5423.14
A. Implemente cada 0 da tabela verdade com um OR e NotsB. Faça um AND dos circuitos criados em A.C. Opcional: simplifique a função
Produto de Somas
![Page 15: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/15.jpg)
Soma-de-Produtos e Produtos-de-Soma(SoP e PoS)
• Mintermos e Maxtermos– Mintermo: Implementa um “1” da tabela verdade– Maxtermo: Implementa um “0” da tabela verdade
• Forma canônica:
MC5423.15
• Forma canônica:– de Mintermos: a expressão que representa a função possui todos os mintermos (não simplificados)
– de Maxtermos: a expressão que representa a função possui todos os maxtermos (não simplificad)
![Page 16: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/16.jpg)
Numeração de Mintermos e Maxtermos
MC5423.16
![Page 17: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/17.jpg)
Exemplo
Assuma que temos um salão com três portas e próximo
a cada uma delas temos uma chave para acender/apagar
a luz. Projete o circuito de controle que acende/apaga a
luz do salão.
Solução:
MC5423.17
Solução:• x1; x2 e x3 váriaveis que indicam o estado das chaves 1, 2 e 3 (1 ->
fechada; 0 -> aberta)
• Monte a tabela verdade que representa a função desejada, ié: ao acionarmos uma chave (mudar seu estado) se a luz está apagada ela acende e vice-versa
• Sintetize o circuito de controle
![Page 18: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/18.jpg)
Exemplo: Tabela Verdade
MC5423.18
![Page 19: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/19.jpg)
f
Exemplo
MC5423.19
Implementação SOP do controlador three-way
x 1
x 2
x 3
![Page 20: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/20.jpg)
f
x 1
x 2
x 3
Exemplo
MC5423.20
Implementação POS do controlador three-way
![Page 21: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/21.jpg)
Álgebra Booleana
• Conjunto de Axiomas e Teoremas: usados para simplificar equações Booleanas
• Similar à algebra regular, porém mais simples em muitos casos já que as variáveis só podem ter dois valores (1 ou 0)
MC5423.21
valores (1 ou 0)
• Axiomas e Teoremas obedecem aos principios da dualidade:– Trocando-se ANDs por ORs (e vice-versa) e 0’s por 1’s (e vice-versa)
![Page 22: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/22.jpg)
Axiomas e Teoremas
MC5423.22
![Page 23: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/23.jpg)
Teoremas
MC5423.23
![Page 24: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/24.jpg)
Axiomas e Teoremas
• As Demonstrações podem ser feitas usando-se:
– Indução Perfeita
– Gráfica (Diagrama de Venn)
MC5423.24
– Manipulação Algébrica
Precedência dos Operadores
1. Not2. AND3. OR
![Page 25: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/25.jpg)
Prova do Teorema de De Morgan
Indução Perfeita
x.y = x + y
MC5423.25
![Page 26: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/26.jpg)
Diagrama de Venn
Prova do Teorema da Distribuição
x.(y+z) = x.y + x.z
MC5423.26
![Page 27: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/27.jpg)
Manipulação Algébrica
• Y = AB + AB
= (A + A)B T8
= (1)B T5’
= B T1
MC5423.27
= B T1
![Page 28: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/28.jpg)
Manipulação Algébrica
• Y = B(AB + ABC)
= B(AB(1 + C)) T8
= B(AB(1)) T2’
= B(AB) T1
MC5423.28
= B(AB) T1
= A(BB) T7
= AB T3
![Page 29: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/29.jpg)
Teorema De Morgan
• Y = AB = A + B
A
BY
A
BY
MC5423.29
• Y = A + B = A B
A
BY
A
BY
![Page 30: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/30.jpg)
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
MC5423.30
x 1 x 2
x 3 x 4
x 5
![Page 31: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/31.jpg)
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
MC5423.31
x 1
x 2
x 3
x 4
x 5
![Page 32: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/32.jpg)
Exemplo
x 2
1
x 3
x 4
x 5 x 6
x 7
f
Circuit with AND and OR gates
MC5423.32
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 33: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/33.jpg)
Exemplo (cont.)
x 2
x 1
x 3
x f
MC5423.33
x 4
x 5
x 6 x 7
f
![Page 34: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/34.jpg)
Exemplo (cont.)
x 2
1
x 3
x 4
x 5 x 6
x 7
f
Circuit with AND and OR gates
MC5423.34
x 2
x 1
x 3
x 4
x 5
x 6
x 7
f
Convertendo para NORs
![Page 35: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/35.jpg)
Exemplo (cont.)
x 2
x 1
x 3
MC5423.35
3
x 4
x 5
x 6 x
7
f
![Page 36: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/36.jpg)
Exercício:
• Qual é a expressão booleana para o circuito abaixo?
A
B
Y
C
MC5423.36
C
D
A
B
Y
C
D Y = AB + CD
![Page 37: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/37.jpg)
Técnica Bubble Pushing
A
B
C
D
Y
A
B
C Y
D
no output
bubble
MC5423.37
bubble on
input and outputA
B
C
D
Y
A
B
C
D
Y
no bubble on
input and output
Y = A B C + D
![Page 38: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/38.jpg)
Síntese Lógica
• Lógica em dois níveis: ANDs seguidos de OR
• Exemplo: Y = ABC + ABC + ABC
BA C
MC5423.38
Y
minterm: ABC
minterm: ABC
minterm: ABC
A B C
![Page 39: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/39.jpg)
Circuitos Multi-Saídas
0000
A1
A0
0 0
0 1
1 0
1 1
0000
0000
0000
Y3
Y2
Y1
Y0
0000
0000
0000
0000
0000
0000
1111
1111
0000
1111
0000
0000
A3
A2
0 0
0 0
0 0
0 0
0 0 0000 1111 0000 00000 1
0 1
1 0
0 1
0 1
0000
0000
1111
1111
0000
0000
0000
0000
A2
A3
Y2
Y3
MC5423.39
1 0
1 1
0 0
0 1
0 1
1 0
0 11 0
1 0
1 1
0 0
0 1
1 0
1 0
1 1
1 1
1 01 1
1 11 1
0000
0000
1111
1111
1111
0000
0000
0000
0000
0000
0000
0000
1111 0000 0000 0000
1111
1111
1111
1111
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
1111 0000 0000 0000
1111 0000 0000 0000
A0
A1
PRIORITY
CiIRCUIT
Y0
Y1
![Page 40: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/40.jpg)
Circuitos Multi-Saídas
A1
A0
0 0
0 1
1 0
1 1
0000
0000
0000
0000
Y3
Y2
Y1
Y0
0000
0000
0000
0000
0000
0000
1111
1111
0000
1111
0000
0000
A3
A2
0 0
0 0
0 0
0 0
0 0 0000 1111 0000 00000 1
0 1
1 0
0 1
0 1
0000
0000
1111
1111
0000
0000
0000
0000
A3A
2A
1A
0Y
3
Y2
MC5423.40
1 0
1 1
0 0
0 1
0 1
1 0
0 11 0
1 0
1 1
0 0
0 1
1 0
1 0
1 1
1 1
1 01 1
1 11 1
0000
0000
1111
1111
1111
0000
0000
0000
0000
0000
0000
0000
1111 0000 0000 0000
1111
1111
1111
1111
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
1111 0000 0000 0000
1111 0000 0000 0000
Y1
Y0
![Page 41: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/41.jpg)
Don’t Cares
A1
A0
0 0
0 1
1 0
1 1
0000
0000
0000
0000
Y3
Y2
Y1
Y0
0000
0000
0000
0000
0000
0000
1111
1111
0000
1111
0000
0000
A3
A2
0 0
0 0
0 0
0 0
0 0 0000 1111 0000 00000 1
0 1
1 0
0 1
0 1
0000
0000
1111
1111
0000
0000
0000
0000
A1
A0
0 0
0 1
0000
0000
Y3
Y2
Y1
Y0
0000
0000
0000
0000
0000
1111
A3
A2
0 0
0 0
MC5423.41
1 0
1 1
0 0
0 1
0 1
1 0
0 11 0
1 0
1 1
0 0
0 1
1 0
1 0
1 1
1 1
1 01 1
1 11 1
0000
0000
1111
1111
1111
0000
0000
0000
0000
0000
0000
0000
1111 0000 0000 0000
1111
1111
1111
1111
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
1111 0000 0000 0000
1111 0000 0000 0000
0 1
1 X
X X
0000
0000
0000
0000
0000
1111
0000
1111
0000
1111
0000
0000
0 0
0 0
0 1
X X 1111 0000 0000 00001 X
![Page 42: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/42.jpg)
Contenção: X
A = 1
• Contenção (conflito): o circuito tenta colocar a saída em 1 e 0
MC5423.42
A = 1
Y = X
B = 0
![Page 43: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/43.jpg)
Alta Impedância: Z
• A saída fica isolada das entradas
Tristate Buffer
E
MC5423.43
E A Y
0 0 Z
0 1 Z
1 0 0
1 1 1
A Y
![Page 44: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/44.jpg)
Simplificação de Funções Lógicas
f = Σ m(0, 2, 4, 5, 6)
Função Mínima?
MC5423.44
f = x1 x2
Como determinar f mínima?
![Page 45: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/45.jpg)
Karnaugh Maps (K-Maps)• Funções Booleanas podem ser minimizadas combinando-se termos
• K-maps minimiza as expressões graficamente
• PA + PA = P
MC5423.45
C00 01
0
1
Y
11 10AB
1
1
0
0
0
0
0
0
C 00 01
0
1
Y
11 10AB
ABC
ABC
ABC
ABC
ABC
ABC
ABC
ABC
B C0 0
0 1
1 0
1 1
A0
0
0
0
0 0
0 1
1 0
1 1
1
1
1
1
1
1
0
0
0
0
0
0
Y
![Page 46: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/46.jpg)
Simplificação de Funções Lógicas
• mo e m2 ?
m0 = x1 x2 x3 m2 = x1 x2 x3
MC5423.46
x1 x3
![Page 47: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/47.jpg)
Simplificação de Funções Lógicas
f = x1 x2 x3 + x1 x2 x3 + x1 x2 x3 + x1 x2 x3 + x1 x2 x3
MC5423.47
O Mapa de Karnaugh agrupa os míntermos“simplificáveis” de forma gráfica facilitandoo processo de duplicação de termos.
(x = x + x)
![Page 48: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/48.jpg)
Mapa de Karnaugh2 variáveis
x 1
x 2
0 0
0 1
1 0
m 0
m 1
m 2
x 2
0
1
0 1
m 0
m 2
m m
x 1
MC5423.48
Truth table
1 0
1 1 m 3
m 2
Karnaugh map
1 m 3
m 1
![Page 49: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/49.jpg)
Exemplo de uso do Mapa K
f = ∑(m0,m1,m3)x
2
0
1
0 1
m 0
m 2
m 3
m 1
x 1
MC5423.49
x 1
x 2
1 0
1 1
f x 2
x 1
+ =
0
1
0 1
1 m 3
m 1
![Page 50: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/50.jpg)
Mapa de Karnaugh3 variáveis
x 2
x 3
0 0
0 1
1 0
1 1
m 0
m 1
m
m 2
0
0
0
0
x 1
x 1 x 2 x 3 00 01 11 10
0 m m m m
MC5423.50
1 1 m 3 0
0 0
0 1
1 0
1 1
1
1
1
1
m 4
m 5
m 7
m 6
Truth table
0
1
Karnaugh map
m 0
m 1 m 3
m 2 m 6
m 7
m 4
m 5
![Page 51: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/51.jpg)
Exemplos de Uso do Mapa Kpara 3 variáveis
f x1x3 x2x3+=
x1x
2x
3
0 0
1 0
1 1
0 1
00 01 11 10
0
1
MC5423.51
x1
x2
x3
1 1
0 0
1 1
0 1f x
3x1
x2+=
00 01 11 10
0
1
![Page 52: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/52.jpg)
Mapa de Karnaugh4 variáveis
x 1 x 2
x 3 x 4 00 01 11 10
00
01
x 1
m 0
m 1 m 5
m 4 m 12
m 13
m 8
m 9
MC5423.52
01
11
10
x 2
x 4
x 3
m 1 m 5 m 13 m 9
m 3
m 2 m 6
m 7 m 15
m 14
m 11
m 10
![Page 53: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/53.jpg)
Exemplos de Uso do Mapa Kpara 4 variáveis
x 1
x 2
x 3
x 4
0
00 01 11 10
0 0 0
0 0 1 1
00
01
x 1
x 2
x 3
x 4
0
00 01 11 10
0 0 0
0 0 1 1
00
01
MC5423.53
0 0 1 1
1 0 0 1
1 0 0 1
01
11
10
f 1
x 2 x 3
x 1
x 3 x 4
+ =
0 0 1 1
1 1 1 1
1 1 1 1
01
11
10
f 2
x 3
x 1
x 4
+ =
![Page 54: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/54.jpg)
Exemplos de Uso do Mapa Kpara 4 variáveis
x 1
x 2
x 3
x 4
1
00 01 11 10
0 0 1
0 0 0 0
00
01
x 1
x 2
x 3
x 4
1
00 01 11 10
1 1 0
1 1 1 0
00
01
MC5423.54
1 1 1 0
1 1 0 1
11
10
f 3
x 2 x 4 x 1 x 3
x 2
x 3
x 4
+ + =
0 0 1 1
0 0 1 1
11
10
f 4
x 1 x 3 x 1
x 3
+ + =
x 1
x 2
x 2
x 3
or
![Page 55: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/55.jpg)
Mapa de Karnaugh5 variáveis
x 1 x
2 x
3 x
4 00 01 11 10
1 1
1 1
00
01
11
x 1 x
2 x
3 x
4 00 01 11 10
1
1 1
1 1
00
01
11
MC5423.55
1 1
1 1
11
10
1 1
1 1
11
10
f 1 x 1 x 3 x 1 x 3 x 4 x 1 x 2 x 3 x 5 + + =
x 5 1 = x 5 0 =
![Page 56: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/56.jpg)
Minimização• Terminologia:
– Literal - Uma variável complementada ou não em um termo produto
– Implicante – Um termo produto que implementa um ou mais 1´s da função. Exemplo: um míntermo é um implicante; um produto gerado pela simplificação de uma váriável de dois míntermos é um implicante.
– Implicante Principal – Um implicante que não pode ser simplificado em outro implicante com menos literais.
MC5423.56
outro implicante com menos literais.
– Implicante Essencial – Implicante Principal que é imprecindivel na realização da função (existe pelo menos um “1” que só é coberto por ele).
– Cobertura – Uma coleção de implicantes que implementam a função (implementam todos os 1´s da função).
- Custo – número de portas + número de entradas de todas as portas (assumiremos que as entrads primárias estão disponíveis tanto na forma verdadeira quanto complementada).
![Page 57: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/57.jpg)
Uso do Mapa K
1. Represente todos mintermos da função no mapa K
2. Determine todos os implicantes principais
3. Determine o conjunto dos Implicantes Essenciais
MC5423.57
4. Se o conjunto dos implicantes essenciais cobre todos os valores 1´s da função, então tem-se a função de custo mínimo. Caso contrário, determine o conjunto de custo mínimo, usando os implicantes principais, que cobre os 1´s não cobertos pelo conjunto de implicantes essenciais.
![Page 58: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/58.jpg)
Exemplos
x 1 x 2 x 3
1 1
1 1
0 0
1 0
00 01 11 10
0
1
MC5423.58
1 1
x 1
1 0 1
x 2 x 3
![Page 59: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/59.jpg)
Exemplos
x 1 x 2 x 3 x 4 00 01 11 10
1 1
00
01
x 1 x 2 x 4
x 2 x 3 x 4
MC5423.59
1 1
1 1
11
10
x 1 x 3
1 1
1
x 3 x 4
x 2 x 3
![Page 60: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/60.jpg)
Exemplos
x 1
x 2
x 3
x 4 00 01 11 10
1
1 1 1 1 00
01x x x
x 3
x 4
x 1
x 2
x 3
MC5423.60
1
1
01
11
10
x 1
x 2
x 4
1
1
x 1
x 2
x 4
x 1
x 2
x 3
x 1
x 3
x 4
![Page 61: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/61.jpg)
Exemplos
x1
x 2
x 3
x 4 00 01 11 10
1
1
1
1 00
01
x 1 x 3 x 4
x 2 x 3 x 4
x x x
MC5423.61
1
1 11
10 1
1
x 2 x 3 x 4
x 1 x 3 x 4
x 1 x 2 x 4 x 1 x 2 x 4
x 1 x 2 x 3 x 1 x 2 x 3
![Page 62: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/62.jpg)
Minimização de Produto-de-Somas
x 1 x 2 x 3
1
00 01 11 10
0
1
1 0 0
1 1 1 0
x 1 x 3 + ( ( ( ( ) ) ) )
MC5423.62
1 1 1 1 0
x 1 x 2 + ( ( ( ( ) ) ) )
![Page 63: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/63.jpg)
Exemplo
x 1 x 2
x 3 x 4
0
00 01 11 10
0 0 0
0 1 1 0
1 1 0 1
00
01
11
x 2 x 3 + ( ( ( ( ) ) ) )
x 3 x 4 + ( ( ( ( ) ) ) )
MC5423.63
1 1 0 1
1 1 1 1
11
10
x 1 x 2 x 3 x 4 + + + ( ( ( ( ) ) ) )
![Page 64: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/64.jpg)
Funções Incompletamente Especificadas
• Sabe-se, pela natureza do problema, que determinadas combinações dos possíveis valores para as entradas não ocorrem durante a operação do sistema que se deseja projetar.
f = ΣΣΣΣ m(2, 4, 5, 6, 10) + D(12, 13, 14, 15)
x 1
x 2
x 3
x 4 00 01 11 10
MC5423.64
3 4
0
00 01 11 10
1 d 0
0 1 d 0
0 0 d 0
1 1 d 1
00
01
11
10
x 2 x 3
x 3 x 4
![Page 65: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/65.jpg)
Funções Incompletamente Especificadas
x1
x 2
x 3
x 4
0
00 01 11 10
1 d 0 00
x 2
x 3
+ ( ( ( ( ) ) ) )
Implementada como Produto-de-Somas
MC5423.65
0 1 d 0
0 1 d 0
0 0 d 0
1 1 d 1
00
01
11
10
x 3
x 4
+ ( ( ( ( ) ) ) )
![Page 66: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/66.jpg)
Exercício• Um decodificador de sete-segmentos tem 4 bits de entrada, D3:0, e produz sete saídas que controlam diodos emisores de luz que mostram valores de 0 a 9. As setes saídas, normalmente, são denominadas de segmento a ag, ou Sa-Sg como mostrado na figura abaixo.a) Escreva a tabela verdade para as saídase use K-map para minimizar as equações
MC5423.66
booleanas que as implemente.b) refaça a) usando don’t cares
![Page 67: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/67.jpg)
Blocos Básicos
• Multiplexadores (MUX)
• Decodificadores
MC5423.67
![Page 68: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/68.jpg)
Multiplexadores (MUX)• Seleciona uma de N entrada como saída.• log2N-bit de entrada de controle• Exemplo:
2:1 Mux f
x 1
x 2
s
s x1 x2 f (s, x1, x2)s
MC5423.68
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
1 x2 f (s, x1, x2)
f x 1
x 2
0
1
0
1
f (s, x1, x2)s
x1
x2
transmission gates
f
s
x1
x2
![Page 69: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/69.jpg)
Multiplexador: 4 para 1 (4:1)
f
s 1
w 0
w 1
00
01
s 0
w 2
w 3
10
11
w 0
w 1
0
0
1
1
1
0
1
f s 1
0
s 0
w 2
w s 1
w 0
s 0
MC5423.69
1 1 w 3
f
s 1
w 1
w 2
w 3
![Page 70: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/70.jpg)
Mux 4:1 a partir de Mux 2:1
0
w 0
w 1
0
1
s 1
s
MC5423.70
1 1
w 2
w 3
0
1
f 0
1
![Page 71: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/71.jpg)
Mux 16:1 s 1
w 0
s 0
w 3
w 4
w 7
s 3
s 2
MC5423.71
w 8
w 11
w 12
w 15
f
![Page 72: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/72.jpg)
Exemplo de Uso de Mux2x2 crossbar switch
x 1
x 2
y 1
y 2
s
MC5423.72
x 1 0
1
x 2 0
1
s
y 1
y 2
![Page 73: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/73.jpg)
Lógica Usando Mux
• Usand o mux como uma lookup table
A B Y A B
MC5423.73
0 0 0
0 1 0
1 0 0
1 1 1
Y = AB
00
Y01
10
11
![Page 74: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/74.jpg)
Implementando Funções com Mux
• Reduzindo o tamanho do Mux
A B Y A YA
MC5423.74
A B Y
0 0 0
0 1 0
1 0 0
1 1 1
Y = AB
A Y
0 0 0
1B
Y
1 B
![Page 75: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/75.jpg)
Síntese de Funções Lógicas Usando MUX
0
1
0
0
1
1
1
0
1
f w 1
0
w 2
1
0
f
w 1
0
1
w 2
1
0
MC5423.75
0
1
0
0
1
1
1
0
1
f w 1
0
w 2
1
0
0
1
f w 1
w 2
w 2
f
w 2
w 1
![Page 76: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/76.jpg)
Exemplo
w3
w3
00
0
1
1
1
0
1
fw1
0
w2
1
0 0
0 1
1 0
1 1
0
0
0
1
0 0
0 1
0
1
w1
w2
w3
f
0
0
0
0
1
1
MC5423.76
0 1
1 0
1 1
1
1
1
1
1
1
f
w1
0
w2
1
w3
![Page 77: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/77.jpg)
Exemplo
0 0
0 1
1 0
1 1
0
1
1
0
0 0 1
w1
w2
w3
f
0
0
0
0
1
w2
w3
⊕⊕⊕⊕
f
w3
w1
w2
MC5423.77
0 1
1 0
1 1
0
0
1
1
1
1
w2
w3
⊕⊕⊕⊕
f
![Page 78: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/78.jpg)
Exemplo
w 1
w 2
w 3
0 0
0 1
1 0
1 1
0
1
1
0
w 1
w 2
w 3
f
0
0
0
0
w 3
w 3
MC5423.78
f
w 3 1 1 0
0 0
0 1
1 0
1 1
1
0
0
1
0
1
1
1
1
w 3
w 3
![Page 79: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/79.jpg)
ExemploMaioria de uns
0 0
0 1
1 0
1 1
0
0
0
1
w 1
w 2
w 3
f
0
0
0
0
0
1
f w 1
w 2 w
3
w 2
w 3
+
MC5423.79
0 0
0 1
1 0
1 1
0
1
1
1
1
1
1
1
f
w 3
w 1 w
2
![Page 80: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/80.jpg)
Decodificadores• N inputs, 2N outputs• One-hot outputs: somente uma saída HIGH por vez
0 y
0 w
MC5423.80
0
w n 1 –
n
inputs
EnEnable
2 n
outputs
0
y 2 n 1 –
![Page 81: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/81.jpg)
Decodicifador 2:4
0
0
1
1
1
0
1
y 0
w 1
0
w 0
x x
1
1
0
1
1
En
0
0
0
1
0
y 1
1
0
0
0
0
y 2
0
1
0
0
0
y 3
0
0
1
0
0
w 1
w 0
y 0
y 1
MC5423.81
x x 0 0 0 0 0
w 0
En
y 0 w 1 y 1
y 2 y 3
y 2
y 3
En
![Page 82: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/82.jpg)
Decodicifador 3:8 Usando 2:4
w 2
w 0
y 0
y 1
y 2
y 3
w 0
En
y 0
w 1
y 1
y 2
y 3
w 1
MC5423.82
w 0
En
y 0
w 1
y 1
y 2
y 3
y 4
y 5
y 6
y 7
En
![Page 83: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/83.jpg)
Decodicifador 4:16 Usando 2:4
w 2
w 0 y 0 y 1 y 2 y 3
w 0
En
y 0 w 1 y 1
y 2 y 3
w 0
En
y 0 w 1 y 1
y 2 y
y 4 y 5 y 6 y
w 1
w y
MC5423.83
w 0
En
y 0 w 1 y 1
y 2 y 3
y 8 y 9 y 10y 11
w 2 En y 3 y 7
w 0
En
y 0 w 1 y 1
y 2 y 3
y 12y 13y 14y 15
w 0
En
y 0 w 1 y 1
y 2 y 3
w 3
En
![Page 84: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/84.jpg)
Lógica Usando Decodificadores
• OR de mintermos
2:4Decoder
11 AB
Mintermos
MC5423.84
A
B
00011011
Y = A ⊕ B
Y
AB
AB
AB
AB
![Page 85: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/85.jpg)
Timing
• Delay: atraso entre a mudança na entrada e na saída• Um dos maiores desafios em projeto de circuitos: tornar o circuito mais rápido
A Y
MC5423.85
A
Y
Time
delay
![Page 86: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/86.jpg)
Delay: Propagação e Contaminação
• Propagation delay: tpd = max delay da entrada à saída
• Contamination delay: tcd = min delay da entrada à saída
A Y
MC5423.86
A
Y
Time
tpd
tcd
![Page 87: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/87.jpg)
Delay: Propagação e Contaminação
• Os atrasos são causados por
– Capacitância e – Resistências no circuito
• Rasões porque t and t podem ser diferentes:
MC5423.87
• Rasões porque tpd and tcd podem ser diferentes:
– Diferentes tempos de subida (rising) e de decida (falling)– Múltiplas entradas e saídas, algumas podem ser mais rápidas do que as outras
– Circuito mais lento quando quente e mais rápido quando frio
![Page 88: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/88.jpg)
Caminhos: Críticos e Curtos
A
B
C
DY
Critical Path
n1
n2
MC5423.88
Critical (Long) Path: tpd = 2tpd_AND + tpd_OR
Short Path: tcd = tcd_AND
Short Path
![Page 89: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/89.jpg)
Glitches
• Um glitch ocorre quando uma mudança em uma entrada causa múltiplas mudanças na saída
• Glitches não causam problemas se seguirmos as convenções de projetos síncronos
MC5423.89
• É importante reconhecer um glitch quando se vê um em uma simulação ou em um osciloscópio
![Page 90: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/90.jpg)
Exemplo de Glitch
A
B
C
Y
YAB
MC5423.90
00 01
1
Y
11 10AB
1
1
0
1
0
1
0
0
C
0
Y = AB + BC
![Page 91: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/91.jpg)
Exemplo de Glitch (cont.)
A = 0B = 1 0
C = 1
Y = 1 0 1
Short Path
Critical Path
1 0
0 1n1
n2
MC5423.91
B
Y
Time
glitch
n2
n1
![Page 92: 2007 - ducatte@ic.unicamp.br ducatte · Teoria e Prática MC542 3.1 2007 -2011 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br ... • A função é formada pelo OR dos mintermos](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f6a3bc3c6866ef837e8b2/html5/thumbnails/92.jpg)
Exemplo de Glitch (cont.)
00 01
1
Y
11 10AB
1
1
0
1
0
1
0
0
C
0
Y = AB + BC + ACAC
MC5423.92
Y = AB + BC + AC
B = 1 0Y = 1
A = 0
C = 1