UTFPR EL66J 2011/2paginapessoal.utfpr.edu.br/gustavobborba/material/files/SLIDES_co… · Há 4...
Transcript of UTFPR EL66J 2011/2paginapessoal.utfpr.edu.br/gustavobborba/material/files/SLIDES_co… · Há 4...
Módulos-padrão
combinacionais
UTFPR
EL66J
2011/2
2
Módulos-padrão combinacionais
Nesta aula:
Decodificador (decoder), codificador (encoder)
Demultiplexador (demux, demultiplexer),
multiplexador (mux, multiplexer)
Somador (adder)
Refresh
Sistemas numéricos e códigos binários.
Análise e projeto de circuitos combinacionais.
3
Decodificador (decoder)
Converte entradas codificadas em saídas
codificadas, sendo que os códigos de
entrada e saída são diferentes.
Decoder binário:
n entradas, 2n saídas.
Utilizado quando se quer ativar exatamente 1
de 2n saídas, a partir de uma entrada de n
bits.
4
Decoder binário
Entrada: um binário de n bits
Saída: 1-de-m (m=2n)
Exemplo:
Decoder 2-para-4
Tabela…
Nivel de gates (circuito)...
5
Decoder 2-para-4
Inputs Outputs
I1 I0 Y0 Y1 Y2 Y3
0
0
0
0
0
0
0
0 1
1 0
1 1
I0I1
Y0
Y1
Y2
Y3
1
11
0
1
0
1
1
0
0
0 0 0
Inputs Outputs
I1 I0 Y0 Y1 Y2 Y3
0
0
0
1
1
0
0
0 1
1 0
1 1
I0I1
Y0
Y1
Y2
Y3
1
00
1
0
1
1
1
0
0
0 0 0
0 1 0 0
Inputs Outputs
I1 I0 Y0 Y1 Y2 Y3
0
1
0
0
0
1
0
0 1
1 0
1 1
I0I1
Y0
Y1
Y2
Y3
1
01
0
1
0
0
0
1
1
0 0 0
0 1 0 0
0 0 1 0
Inputs Outputs
I1 I0 Y0 Y1 Y2 Y3
0
1
0
1
0
0
1
0 1
1 0
1 1
I0I1
Y0
Y1
Y2
Y3
1
00
1
0
1
0
0
1
1
0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
6
Decoder binário
Exemplo:
Decoder 2-para-4
com Enable (entrada de habilitação)
Tabela…
Nivel de gates (circuito)...
7
Decoder 2-para4 com enable
I0I1
EN
EN
Y0
Y1
Y2
Y3
0
Inputs Outputs
I1 I0 Y0 Y1 Y2 Y3
0 0
0 1
1 0
1 1
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
X X 0 0 0 0
1
1
1
1
0
0
0
0
0
0
0
0
0
8
Decoder binário
Exemplo:
Decoder 3-para-8 comercial
74x138
9
Cuidado com o símbolo!
Qual é o “erro” ?
10
Cuidado com o símbolo!
Qual é o “erro” ?
INVERSÃO DUPLA:
POUCO RECOMENDÁVEL
OK OK
11
Decoder binário
Exemplo:
Decoder 2-para-4 comercial
74x139
2-para-4 duplo
12
Não é necessário que todas as palavras
de código da entrada estejam
contempladas na saída.
Exemplo
Decoder BCD
4 entradas – 16 palavras de código
10 saídas – 6 saídas não são decodificadas...
13
Decoder BCD para 7 segmentos
Também chamado de „conversor de código‟
Entradas: BCD
Saídas: 7 segmentos (uma linha para cada segmento)
Tabela…
Entradas
Saídas
14
Codificador (encoder)
O código de saída tem menos bits
que o código de entrada.
Função oposta àquela do decoder.
Encoder binário:
2n entradas, n saídas.
Utilizado quando se quer codificar
(identificar) a entrada ativa (apenas 1
entrada ativa).
Encoder binário
Entrada: 2n linhas (código 1-de-m)
Saída: n linhas
Exemplo:
Encoder 8-para-3 Tabela
n = 3
Inputs Outputs
I7 Y0Y1Y2I5 I4 I3 I2 I1 I0
0 0 0 0 0 10 00 0 0 0 1 00 00 0 0 0 0 00 10 0 0 0 0 01 00 0 0 1 0 00 00 0 1 0 0 00 00 1 0 0 0 00 01 0 0 0 0 00 0
0 000 101 001 100 010 111 011 11
Nivel de gates (circuito)...
16
Encoder binário 8-para-3 Em geral, um encoder de 2n-para-n pode ser construído a partir de n gates OR de 2n-1 entradas.
A entrada In é conectada ao gate jn se o bit jn na representação binária de In for 1.
Y0 = I1 + I3 + I5 + I7 Y1 = I2 + I3 + I6 + I7 Y2 = I4 + I5 + I6 + I7
Y0
I7
j0 j0j1
j1
j2
j2
Representações
binárias de I
I5 I4 I3 I2 I1 I0
0 00
0 10
1 00
1 10
0 01
0 11
1 01
1 11
I0
I1
I2
I3
I4
I5
I6
I7
Y1
Y2
17
Prioridade: se mais de uma entrada estiver ativa, a saída obedece a entrada de maior prioridade. Exemplo:
Encoder 8-para-3 com prioridade:
74x148
18
Demultiplexador (demux)
“Chaveia” uma única entrada para
várias saídas. Também chamado de
distribuidor de dados.
Exemplo: demux 1-para-4
(demux de 4 saídas)
Analogia com chaves…
Tabela...
Nivel de gates (circuito)...
19
Exemplo: demux 1-para-4 (demux de 4 saídas)
DATA
seleção
A0
A0
A1
A1
DATA é o dado = = 0 ou 1D
S0S0
S1
S1
S2
S2
S3
S3
D Inputs Outputs
A1 A0 S0 S1 S2 S3
0 0
0 1
1 0
1 1
D
D
D
0 0 0
0
0
0
0
0
0
0
D1
1D
DATA
seleção
A0
A0
A1
A1
DATA
S0S0
S1
S1
S2
S2
S3
S3D
Inputs Outputs
A1 A0 S0 S1 S2 S3
0 0
0 1
1 0
1 1
D
D
D
0 0 0
0 D 0 0
0
0
D
0
0
1
1
0
1
1
D
DATA
seleção
A0
A0
A1
A1
DATA
S0S0
S1
S1
S2
S2
S3
S3
D
Inputs Outputs
A1 A0 S0 S1 S2 S3
0 0
0 1
1 0
1 1
D
D
D
0 0 0
0 D 0 0
0 0 D 0
0
D
0
1
1
0
0
0
1
1
DDATA
seleção
A0
A0
A1
A1
DATA
S0S0
S1
S1
S2
S2
S3
S3
D
Inputs Outputs
A1 A0 S0 S1 S2 S3
0 0
0 1
1 0
1 1
D
D
D
0 0 0
0 D 0 0
0 0 D 0
0 0 0 DD
0
0
1
1
1
1
0
1
1
D
20
Exemplos 74x139 2-to-4 line decoder/demux
74x138 3-to-8 line decoder/demux
74x154 4-to-16 line decoder/demux
74x139
74x138
74x154
L = nível lógico baixo
H = nível lógico alto
D = entrada de dados
D
D L
H
D
L
D
21
Multiplexador (mux)
“Chaveia” várias entradas para uma
única saída. Também chamado de
seletor de dados.
Exemplo: mux 4-para-1
(mux de 4 entradas)
Analogia com chaves…
Tabela...
Nivel de gates (circuito)...
Exemplo: mux 4-para-1 (mux de 4 entradas)
A0A1
I0I0
I1
I1
I2
I2S
I3
I3
a
a1
1
seleção
A0A1
S
a
a
a
a
0
0
0
0
Inputs Out
A1 A0 S
0 0
0 1
1 0
1 1
a (é )I0
b
bc
c
d
d
0
0
0
A0A1
I0I0
I1
I1
I2
I2S
I3
I3
b
0
1
1
seleção
A0A1
S
aa
b
0
0
1
1
Inputs Out
A1 A0 S
0 0
0 1
1 0
1 1
a (é )I0
bb
bc
c
d
d
b
0
0
b (é )I1
A0A1
I0I0
I1
I1
I2
I2S
I3
I3
c
0
1
1seleção
A0A1
S
aa
c
1
1
0
0
Inputs Out
A1 A0 S
0 0
0 1
1 0
1 1
a (é )I0
b
bcc
c
d
d
0
c
0
b (é )I1
c (é )I2
A0A1
I0I0
I1
I1
I2
I2S
I3
I3
d
0
1
1
seleção
A0A1
S
aa
d
1
1
1
1
Inputs Out
A1 A0 S
0 0
0 1
1 0
1 1
a (é )I0
b
bc
c
d
d
d
0
0
d
b (é )I1
c (é )I2
d (é )I3
23
Exemplos 74x157 quad 2-input multiplexer
74x153 dual 4-input multiplexer
74x151 8-input multiplexer
Sn = entradas de seleção (determina qual entrada é selecionada)
74x157 74x153 74x151
24
Um circuito com mux de 2 entradas quádruplo
Há 4 chaves de 2 posições cada, todas controladas
pela mesma entrada de seleção.
É possível selecionar 1 de 2 fontes de 4 bits cada.
Os b bits de uma fonte em particular são distribuídos através de
b chaves de n posições cada, para acomodar as n fontes.
25
mux/demux
John F. Wakerly, Digital Design – Principles and Practices, 3rd ed., Prentice-Hall, fig. 5-66
26
Somador (adder)
A
B
Co
S
Ci
O carry out da soma atual é o carry in da próxima
Célula somador completo
(full-adder)
Uma célula full-adder é capaz de
resolver uma “coluna” de uma soma.
Então, para fazer um somador capaz
de somar 2 números de n bits,
precisamos de n células full-adder.
27
A B Ci Co S
0 0 0 0 0 0
1 0 0 1 0 1
2 0 1 0 0 1
3 0 1 1 1 0
4 1 0 0 0 1
5 1 0 1 1 0
6 1 1 0 1 0
7 1 1 1 1 1
Projetar uma célula full-adder
Inputs
Outputs
28
Exemplo
A partir de células full-adder, obter um ripple-carry
adder de 4 bits.
a0
a0
s0
s0
b0
b0
a1
a1
s1
s1
b1
b1
a2
a2
s2
s2
b2
b2
a3
a3
s3
s3
b3
b3
+A B C i
Co
S
A B C i
Co
S
A B C i
C o
S
A B C i
Co
S
s4
s4
29
Números binários com sinal Representação em complemento de 2
Para obter o complemento de 2 de um binário: 1o. inverter cada bit
2o. somar 1
O bit MSB é o bit de sinal MSB = 0 (+)
MSB = 1 (-)
Com um binário de n bits, pode-se representar de -2n-1 até 2n-1-1
John F. Wakerly, Digital Design – Principles and Practices, 3rd ed., Prentice-Hall, fig. 2-3
30
Utilizando um circuito somador e binários em complemento de 2, é possível realizar também a operação de subtração. Exemplo
John F. Wakerly, Digital Design – Principles and Practices, 3rd ed., Prentice-Hall, pp. 35