Escolar Documentos
Profissional Documentos
Cultura Documentos
Os circuitos lgicos dos sistemas digitais podem ser de dois tipos: circuitos
combinacionais ou circuitos seqenciais.
Um circuito combinacional constitudo por um conjunto de portas lgicas as quais
determinam os valores das sadas diretamente a partir dos valores atuais das entradas. Pode-se
dizer que um circuito combinacional realiza uma operao de processamento de informao a
qual pode ser especificada por meio de um conjunto de equaes Booleanas. No caso, cada
combinao de valores de entrada pode ser vista como uma informao diferente e cada
conjunto de valores de sada representa o resultado da operao. A figura 3.1 mostra o
diagrama de blocos genrico de um circuito combinacional.
n entradas
circuito
combinacional
m sadas
(m equaes B ooleanas)
3-2
sadas
en tra das
ci rcui to
combin acio nal
elementos de
mem ria
va rive is do
e stadoatua
va ri ve is de
relgio
p r ximo es tado
(clock )
3-3
A
T1
T5
T2
C
F1
T3
T4
T6
F2
D
00
01
11
10
3-4
3-5
3.3.1 Decodificadores
Um decodificador um circuito combinacional usado para ativar ou habilitar um (e
somente um) dentre m componentes. assumido que cada componente possui um ndice
entre 0 e m-1, representado por um endereo em binrio.
Um decodificador n : m (l-se n por m ) possui n entradas e m sadas, com m 2n.
No caso de um decodificador 3:8, sero 8 sadas, onde cada sada pode ser encarada
como um endereo diferente. Para ativar uma dentre 8 sadas so necessrias 3 variveis de
entrada (da 3:8). Cada combinao das variveis de entrada seleciona um e somente uma
dentre as 8 sadas, de modo que cada sada somente ser selecionada por uma das 8
combinaes. Desta forma, natural que se associe a cada sada um ndice decimal que
represente a combinao de entradas responsvel pela sua ativao. Assumindo-se ativao
em lgica direta, isto , que uma sada est ativada se ela vale 1, ento a tabela verdade para
um decodificador 3:8 ser:
endereo
Entradas
(sinais de controle)
sadas
A2
A1
A0
D0
D1
D2
D3
D4
D5
D6
D7
Note que cada sada s vale 1 para uma determinada combinao das variveis de
entrada. Alm disso, cada combinao de entrada s ativa uma dentre todas as 8 sadas.
O circuito de um decodificador 3:8 ter, portanto, 8 sadas, sendo cada sada um dentre
os 8 mintermos possveis para uma funo Booleana de 3 variveis. A figura 3.3a mostra o
3-6
smbolo para o decodificador 3:8, enquanto a figura 3.3b mostra um circuito possvel para o
mesmo decodificador, utilizando portas E de 3 entradas e inversores.
A2
A1
A0
D0
D1
D2
D0
D1
D2
A0
A1
D3
DE C 3x8
D3
D4
A2
D5
D6
D7
D4
(a)
D5
D6
D7
(b)
Figura 3.3- Smbolo (a) e diagrama (b) de um decodificador 3:8.
Um decodificador pode possuir uma entrada de habilitao (enable, em ingls). Esta
entrada tem a funo de habilitar ou desabilitar seu funcionamento. Assim, se esta entrada
valer 0, nenhuma sada estar ativada, independente dos valores das demais entradas. Por
outro lado, se a entrada de habilitao valer 1, o decodificador estar ativando uma das sadas.
3-7
Neste exemplo, foi considerado que a habilitao do decodificador se d com lgica direta,
isto , quando a entrada de habilitao valer 1. A lgica de habilitao poderia ser negada, ou
seja, habilita se a entrada de habilitao valer 0 e no habilita, caso contrrio.
A tabela verdade de um decodificador 2:4 com ativao e habilitao em lgica direta
a seguinte:
endereo
sadas
desabilitadas
entradas
(sinais de controle)
sadas
A1
A0
D0
D1
D2
D3
Como pode-se verificar, nas primeiras 4 linhas o sinal de habilitao (E) vale zero, o
que desativa as sadas, independentemente dos valores das demais entradas (A1 e A0). Desta
forma, podemos re-escrever esta tabela de maneira mais compacta, indicando numa nica
linha que, quando E=0, os valores das entradas A1 e A0 no interessam (=dont cares de
entrada):
endereo
sadas
desabilitadas
entradas
(sinais de controle)
sadas
A1
A0
D0
D1
D2
D3
A figura 3.4a mostra o smbolo para esse decodificador e a figura 3.4b mostra uma
possvel implementao (circuito lgico).
3-8
A0
D0
A1
D1
D0
A0
D1
DE C 2x4
A1
D2
D2
D3
D3
E
E
(a)
(b)
Figura 3.4: smbolo (a) e diagrama (b) de um decodificador 2x4 com entrada de habilitao.
3.3.2 Seletores
Um seletor (tambm conhecido como multiplexador) um circuito combinacional
usado para selecionar uma dentre um conjunto de m fontes de informao disponveis. Um
seletor que possui n entradas para realizar a seleo capaz de selecionar uma dentre 2n
entradas. Logo, m deve ser menor ou igual a 2n.
Dado o conjunto de entradas A0, A1, A2 e A3, e as variveis de seleo S0 e S1, a tabela
verdade para um seletor 4-1 ser:
endereo
variveis de
seleo
sada
S1
S0
A0
A1
A2
A3
Pela tabela verdade acima percebe-se que a sada Y pode ser implementada por um
circuito em soma de produtos, onde em cada produto estaro presentes as variveis S0 e S1 e
uma dentre as variveis de entrada A0, A1, A2 e A3:
Y = S0 S1 A0 + S0 S1 A1 + S0 S1 A 2 + S0 S1 A 3
3-9
A figura 3.5a mostra o smbolo para tal seletor e a figura 3.5b mostra um possvel
circuito em soma de produtos.
A0
A1
A0
A1
Y
Y
MUX 4 -1
A2
A2
A3
A3
A1 A
A1
(a)
A0
(b)
3-10
Repare que no ltimo caso acima, o resultado da adio o valor 2, que em binrio
necessita de dois dgitos para ser representado (10). Ora, um circuito aritmtico para realizar a
adio de dois bits deve operar corretamente para qualquer combinao de valores de entrada.
Isso significa que o circuito para a adio de dois bits deve possuir duas entradas e duas
sadas, conforme ilustrado na figura 3.6.
A
meio so mador
(HAD)
Cout
Figura 3.6 - Esquema das entradas e sadas de um meio somador (half adder ou HAD).
Denomina-se meia-soma a operao de adio de dois bits. O circuito mostrado na
figura 3.6 denominado meio somador (half adder, em ingls). As duas entradas, A e B,
representam os dois bits a serem adicionados. A sada S representa o dgito menos
significativo do resultado, enquanto que a sada Cout representa o dgito mais significativo do
resultado, o qual tambm conhecido por transporte de sada (carry out, em ingls), uma
vez que ele assume valor 1 somente quando o resultado da soma de A e B no pode ser
representado num nico dgito.
A fim de se projetar o circuito do meio somador, devemos montar uma tabela verdade
para as sadas S e Cout utilizando-se os valores que resultam da adio de dois dgitos
binrios, como segue:
A
Cout
Note que a sada S nada mais do que o XOR entre A e B ( S = A.B + A. B = A B).
J a sada Cout o E entre A e B ( Cout = A B). Ento, um circuito para o meio somador usa
apenas uma porta XOR de duas entradas e uma porta E de duas entradas, conforme mostrado
na figura 3.7.
A
S
B
Cout
3-11
resultado
transporte
Figura 3.8 - Exemplo de adio de dois nmeros binrios com mais de um dgito.
O exemplo mostrado na figura 3.8 ilustra bem o fato de, para cada posio exceto a
menos significativa, o resultado obtido mediante a adio de trs bits: um pertencente ao
nmero A, um pertencente ao nmero B e um terceiro que o transporte proveniente do
resultado da adio entre os bits da posio anterior.
O circuito capaz de realizar a soma de trs bits (A, B e Cin), gerando o resultado em
dois bits (S e Cout) denominado somador completo (full adder, em ingls). Apesar da
entrada Cin normalmente receber o transporte proveniente da soma imediantamente anterior
(carry in, em ingls), a rigor as trs entradas so absolutamente equivalentes sob o ponto de
vista funcional. A tabela verdade para a soma completa mostrada a seguir, juntamente com o
mapa de Karnaugh e as equaes mnimas resultantes para S e Cout. A figura 3.9 mostra um
circuito para o somador completo.
Cin
Cout
3-12
S
BCin
00
01
11
10
Conforme pode-se ver pelo mapa de Karnaugh acima, a expresso mnima em soma de
produtos para S contm todos os mintermos da funo:
S = A B Cin + A B Cin + A B Cin + A B Cin
O circuito que implementa a sada S do somador completo pode ser derivado a partir
da equao em soma de produtos acima. No entanto, pode-se ainda manipular tal equao
conforme segue:
S = A (B Cin + B Cin ) + A (B Cin + B Cin) = A (B Cin ) + A (B Cin ) = A B Cin
Logo, o circuito para a sada S do somador completo pode tambm ser representado
com duas portas XOR, conforme mostra a figura 3.9.
Cout
BCin
00
01
11
10
3-13
A
S
B
Cin
Cout
Cout
FAD
Cin
Figura 3.10 - Representao de bloco para o somador completo (full adder ou FAD).
B3
C4
B2
A3
FAD3
C3
S3
B1
A2
FAD2
C2
FAD1
S2
B0
A1
S1
C1
3-14
A0
FAD0
C0
S0
3.4.3 O somador/subtrator
A subtrao de dois nmeros inteiros em binrio pode ser feita utilizando-se a seguinte
frmula:
A B = A + B +1
onde todas as operaes so aritmticas, exceto B , que representa a complementao de B,
bit a bit.
A figura 3.12 mostra um circuito somador/subtrator de 4 bits. Esse circuito originado
do somador paralelo de 4 bits, porm com a adio de portas xor nas entradas associadas a B,
de modo a permitir a negao individual de cada bit de B. A tabela que segue mostra o
funcionamento deste circuito, em funo dos sinais de controle sel1 e sel2. Note que sel1
coincide com C0.
3-15
B3
B2
B1
A2
B0
A1
A0
sel2
C4
C3
FAD3
S3
FAD2
S2
C2
FAD1
C1
S1
FAD0
sel1
S0
sel2
sel1
operao
descrio
S= A+B +0
adiciona A e B ( S = A + B )
S = A + B +1
adiciona A e B incrementado
( S = A + B + 1)
S= A+ B +0
subtrai B decrementado de A
( S = A B -1)
S = A + B +1
subtrai B de A ( S = A - B)
3.4.4 O multiplicador
A multiplicao de nmeros binrios realizada da mesma maneira como a de
nmeros decimais. O multiplicando multiplicado por cada bit do multiplicador, comeando
do bit menos significativo. Cada uma destas multiplicaes formam um produto parcial. Os
sucessivos produtos parciais so deslocados uma posio para a esquerda. O produto final
obtido a partir da soma dos produtos parciais.
3-16
Para entender como um multiplicador binrio pode ser implementado com um circuito
combinacional, considere a multiplicao de dois nmeros de dois bits mostrada na figura
abaixo:
B1
A1
B0
A0
A0 B 1
A1 B 0
M1
A0 B0
M0
C3
multiplicando
multiplicador
transportes
C2
+
A1 B 1
M2
M3
A0
resultado
B1
A1
B1
B0
B0
C2
C3
Co
M3
HAD
M2
Co
HAD
M1
M0
3-17
bits no multiplicando, sero necessrios jk portas E e (j-1) somadores de k bits para gerar um
produto de j+k bits.
Exerccios
Exerccio 3.1 - Projetar um decodificador 3:8 com ativao em lgica negada (isto , para
cada sada Di, se Di=0, Di est ativada, se Di=1, a Di est desativada).
Exerccio 3.2 - Projetar um decodificador 2:4 com entrada de habilitao. Tanto a habilitao
como a ativao das sadas deve se dar em lgica negada.
Exerccio 3.3 - Reprojete o decodificador do exerccio anterior utilizando somente portas
NAND de 2 entradas.
Exerccio 3.4 - Projete um decodificador 3:8 utilizando um inversor e 2 decodificadores 2:4
com entrada de habilitao.
Exerccio 3.5 - Projetar um seletor 8-1 a partir de seletor 4-1.
Exerccio 3.6 - Projetar um seletor 4-1, onde cada entrada composta por um conjunto de 2
bits. Usar o smbolo para representar cada seletor 4-1, ao invs de desenhar o
circuito detalhado.
Exerccio 3.7 - Desenhe o circuito lgico de um multiplicador de quatro bits.
Bibliografia Suplementar
[1] GAJSKI, Daniel D. Principles of Digital Design, New Jersey: Prentice Hall, 1997 (ISBN
0-13-301144-5)
[2] MANO, M. Morris; Computer Engineering: Hardware Design. New Jersey: Prentice
Hall, 1988 (ISBN 0-13-162926-3)