CIRCUITOS COMBINACIONAIS
Os circuitos digitais de um modo geral podem ser divididos em duas categorias principais:
Outra categoria de circuitos digitais so os que possuem realimentao, ou seja, o sinal de sada
depende no somente dos valores atuais dos sinais de entrada, mas tambm dos valores de
estados anteriores do circuito. Estes circuitos so denominados circuitos seqenciais. Os
circuitos seqenciais possuem, alm de portas lgicas, algum tipo de dispositivo de memria.
Codificador
Decodificador
Somador
Comparador
Gerador de paridade
Multiplexador
Demultiplexador
Contador
Registrador
Controlador
Multiplicador
PA
Sensor do Partida
Cmbio M
AL
Alarme
Sensor do
LM
Freio
Led do
F
Sistema Cmbio
de
P Controle Led do
Sensor da Freio
LF
Porta
Led da
LP Porta
Sensor do C
Cinto
Led do
LC Cinto
O automvel possui os seguintes sensores, com seus respectivos valores lgicos correspondentes
cada situao:
= 1 , posio neutro
Sensor do Cmbio: M
= 0 , posio diferente de neutro
= 1 , acionado
Sensor do Freio de Estacionamento: F
= 0 , livre
= 1 , fechada
Sensor da Porta: P
= 0 , aberta
= 1 , fechado
Sensor do Cinto de segurana: C
= 0 , aberto
Ao ser acionada a ignio, os seguintes requisitos devem ser obedecidos para que a partida seja
efetivada:
a) Para dar a partida, o cmbio deve estar na posio neutro. Caso no esteja soar o
alarme e acender o LED correspondente ao cmbio no painel
b) Se a porta estiver aberta, a partida ser dada somente se o freio de estacionamento
estiver acionado. Caso no esteja, soar o alarme e acender o LED correspondente.
c) Se o cinto de segurana estiver aberto, ser acionada a partida, porm o alarme
dever soar e o LED correspondente ao cinto dever acender.
M F P C PA AL LM LF LP LC
0 0 0 0 0 1 1 1 1 1
0 0 0 1 0 1 1 1 1 0
0 0 1 0 0 1 1 1 0 1
0 0 1 1 0 1 1 1 0 0
0 1 0 0 0 1 1 0 1 1
0 1 0 1 0 1 1 0 1 0
0 1 1 0 0 1 1 0 0 1
0 1 1 1 0 1 1 0 0 0
1 0 0 0 0 1 0 1 1 1
1 0 0 1 0 1 0 1 1 0
1 0 1 0 1 1 0 1 0 1
1 0 1 1 1 0 0 1 0 0
1 1 0 0 1 1 0 0 1 1
1 1 0 1 1 1 0 0 1 0
1 1 1 0 1 1 0 0 0 1
1 1 1 1 1 0 0 0 0 0
PA = (10,11,12,13,14,15)
AL = (0,1,2,3,4,5,6,7,8,9,10,12,13,14)
Utilizando o mapa de Karnaugh para encontrar a expresso mnima das funes, temos:
M M
1 1 1 1 1
1 1 1 1 1
C C
1 1 1 1
P P
1 1 1 1 1 1
F B
PA = MF + MP AL = M + P + C
LM = M
LF = F
LP = P
LC = C
M F P C
PA
AL
LM
LF
LP
LC
Nveis Lgicos
Nos circuitos digitais, os dois valores possveis para as variveis lgicas so representados por
dois nveis diferentes de tenso. Em uma lgica positiva, o bit 1 representado por um nvel
alto de tenso, enquanto o bit 0 representado por um nvel baixo de tenso.
Na prtica, a condio alta pode ser representada por um valor de tenso situado entre um valor
mnimo e um valor mximo especificado para aquela condio. Da mesma forma, a condio
baixa pode ser representado por uma valor de tenso entre o mnimo e o mximo especificado.
Nveis Lgicos
VHmax
Tenso alta
bit 1
VHmin
Indefinido
VLmax
Tenso
baixa
VLmin
Para os dispositivos da famlia TTL, os valores limites dos nveis lgicos esto mostrados na
figura abaixo:
VIH VOH
Nvel alto -1 Nvel alto -1
2,4V VOHmin
2,0V VIHmin
Indefinido Indefinido
0,8V VILmax
VIL 0,4V VOLmax
Nvel baixo - 0 VOL Nvel baixo - 0
0,0V VILmin 0,0V VOLmin
ENTRADA SADA
Considerando uma tenso de alimentao de 5V, os valores limites dos nveis lgicos para os
dispositivos da famlia CMOS esto mostrados na figura abaixo:
Indefinido Indefinido
1,5V VILmax
VIL
Nvel baixo - 0 0,1V VOLmax
VOL Nvel baixo - 0
0,0V VILmin 0,0V VOLmin
ENTRADA SADA
Sinais Digitais
Os sinais digitais so formados por uma seqncia valores altos e baixos de tenso, os quais so
denominados pulsos.
Pulso Positivo:
Nvel alto
Nvel baixo
t0 t1
Pulso Negativo:
Nvel alto t0 t1
Nvel baixo
Caractersticas do Pulso:
90%
50% Amplitude
10%
tW
Largura do pulso
tr tf
T
Perodo
f=1/T T=1/f
A Relao de trabalho (Duty Cicle) de um sinal digital peridico definida pela relao entre a
largura do pulso tW e o perodo, em percentagem.
Exemplo:
No sinal digital abaixo, determinar:
a) Freqncia
b) Perodo
c) Relao de trabalho
ms
0 1 10 11 20 21 30 31
Perodo: T = 10 ms
Frequncia: f = 1 / T = 1 / 1010-3 = 100 Hz
Relao de trabalho = (tW / T)100 = (10-3 / 1010-3) 100 = 10%
CODIFICADORES
Considere o codificador mostrado na figura abaixo, onde temos quatro, entradas identificadas
como E1, E2, E3 e E4.
E1
A2
E2 CODIFI- A1
E3 CADOR
A0
E4
Na sada do codificador temos o valor binrio equivalente entrada que estiver ativada:
Entrada ativa A2 A1 A0
E1 0 0 1
E2 0 1 0
E3 0 1 1
E4 1 0 0
Projetar o codificador caracterizado acima, considerando que uma e somente uma das entradas
est ativada em determinado instante.
A tabela verdade :
E4 E3 E2 E1 A2 A1 A0
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
E4 E4 E4
E1 E1 E1
E2 E2 E2
E3 E3 E3
A2 = A1 = A0 =
Entrada ativa A2 A1 A0
E1 0 0 1
E2 0 1 0
E3 0 1 1
E4 1 0 0
Outro 0 0 0
E4 E3 E2 E1 A2 A1 A0
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
As funes so:
E1 E1 E1
E2 E2 E2
E3 E3 E3
A2 =
A1 =
A0 =
E4 E3 E2 E1
A2
A1
A0
No codificador com prioridade, podemos ter uma ou mais linhas de entrada ativas
simultaneamente porm, a sada do codificador corresponde ao estado da linha de mais alta
prioridade que est ativada.
Entrada ativa A2 A1 A0
E1 0 0 1
E2 0 1 0
E3 0 1 1
E4 1 0 0
Para o projeto do codificador, vamos considerar que a linha de mais alta prioridade E4 e a de
mais baixa prioridade E1
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
As funes so:
E4 E4 E4
E1 E1 E1
E2 E2 E2
E3 E3 E3
A2 = A1 = A0 =
DECODIFICADORES
Considere a situao abaixo, onde temos um valor em binrio nas linhas A, B e C. Conforme o
valor presente nestas linhas, queremos sinalizar o led correspondente num painel. Desta forma, se
o valor presente nas linhas for A=0, B=0, e C=0 o led de nmero 0 do painel dever acender, se o
valor for A=1, B=0, e C=1 o led de nmero 5 dever acender e assim sucessivamente para os
demais valores.
L0 0
L1 1
L2
A 2
L3
DECODI- 3
Binri B L4
FICADOR 4
L5
C 5
L6
6
L7 7
Tabela verdade:
A B C L0 L1 L2 L3 L4 L5 L6 L7
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
Assim:
L0 = L1 =
L2 = L3 =
L4 = L5 =
L6 = L7 =
A B C
L0
L1
L2
L3
L4
L5
L6
L7
Obs.: interessante observar que cada uma das sadas do decodificador acima,
corresponde um minterm da funo. Portanto, o circuito pode ser considerado um
gerador de minterms.
Considere um codificador(encoder), que a partir de sinais de entrada gera dados no cdigo Gray.
Para utilizar os dados gerados pelo encoder, necessrio uma converso dos mesmos para o
cdigo binrio. Projetar o decodificador para efetuar esta converso, conforme o diagrama
esquemtico mostrado abaixo.
A B3
B B2
Entrada ENCODER DECODI-
C FICADOR B1
D B0
Gray Binrio
Tabela verdade:
A B C D B3 B2 B1 B0
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
(B3) (B2)
A A
D D
C C
B B
B3 = B2 =
(B1) (B0)
A A
D D
C C
B B
B1 =
B0 =
O display de 7 segmentos composto por 7 diodos emissores de luz (LED), identificados como a,
b, c, d, e, f, g, e dispostos conforme a figura abaixo:
f b
e c
Cada um dos leds pode ser acionado a partir de um circuito digital, de duas maneiras diferentes,
conforme mostrado abaixo:
S Vcc
Circuito
R
R
S
Circuito
(a) (b)
Na configurao (a) o led apaga quando o nvel do sinal S for baixo (bit 0) e acende quando o
nvel do sinal S for alto (bit 1).
Na configurao (b) o led acende quando o nvel do sinal S for baixo (bit 0) a apaga quando o
nvel do sinal S for alto (bit 1).
O display de 7 segmentos pode estar na configurao anodo comum ou catodo comum, conforme
mostrado na figura abaixo:
necessrio que exista uma sada no decodificador para acionar cada um dos leds, conforme
mostrado no diagrama esquemtico abaixo:
a
A
b
B c
Binrio d
C
e
D f
g
As sadas esto identificadas com as mesmas letras do led que deve ser acionado.
A B C D a b c d e f g
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
Portanto: a=
b=
c=
d=
e=
f=
g=
(a) (b)
A A
D D
C C
B B
a= b=
( c) (d)
A A
D D
C C
B B
c= d=
( e) (f)
A A
D D
C C
B B
e= f =
(g)
A
B
g=
(a) (b)
A A
D D
C C
B B
a= b=
( c) (d)
A A
D D
C C
B B
c= d=
( e) ( f) (g)
A A A
D D D
C C C
B B B
e= f =
g=
COMPARADOR
O comparador um circuito que realiza a comparao entre duas palavras de n bits, indicando na
sada o relacionamento (do ponto de vista de valores) entre estas duas palavras.
Tomemos como exemplo, o projeto de um circuito comparador, para comparar duas palavras de
um bit A e B, produzindo uma sada S, sendo:
A
COMPA
S
RADOR
B
A B S
0 0 0
0 1 1
1 0 1
1 1 0
A funo ,
S = AB + A B = A B
A
S
B
Projetar um circuito comparador para comparar duas palavras de dois bits A e B, produzindo uma
sada S conforme abaixo:
A B S
0 0 1
0 1 0
1 0 0
1 1 1
A funo ,
S = A B + AB = A B
A
S
B
A1
A0 COMPA S
RADOR
B1
B0
A1 A0 B1 B0 S
0 0 0 0 1
0 0 0 1 0
0 0 1 0 0
0 0 1 1 0
0 1 0 0 0
0 1 0 1 1
0 1 1 0 0
0 1 1 1 0
1 0 0 0 0
1 0 0 1 0
1 0 1 0 1
1 0 1 1 0
1 1 0 0 0
1 1 0 1 0
1 1 1 0 0
1 1 1 1 1
S = A1 A 0 B 1 B 0 + A1 A0 B 1 B0 + A1 A 0 B1 B 0 + A1 A0 B1 B0
Como pode-se observar, a funo no pode ser simplificada. No entanto, possvel representar a
funo de outra maneira:
S 0 = A1 B 1 ( A 0 B 0 + A0 B0 ) + A1 B1 ( A 0 B 0 + A0 B0 )
= A1 B 1 ( A0 B0 ) + A1 B1 ( A0 B0 )
= ( A1 B 1 + A1 B1 )( A0 B0 )
= ( A1 B1 )( A0 B0 )
A1
B1
S
A0
B0
Exerccio:
Projetar um circuito para comparar duas palavras de 4 bits A e B, produzindo
uma sada S sendo:
S = 1, se as duas palavras forem iguais;
S = 0, se as duas palavras forem diferentes.
Por analogia com o desenvolvimento do comparador para duas palavras de 2 bits visto acima, a
funo correspondente a um comparador para duas palavras de 4 bits :
S = ( A3 B3 )( A2 B2 )( A1 B1 )( A0 B0 )
O circuito correspondente :
A3
B3
A2
B2
S
A1
B1
A0
B0
Nos comparadores vistos acima, a sada S indica simplesmente se as duas palavras comparadas
so iguais ou diferentes. Veremos agora, um circuito comparador para comparar duas palavras A e
B, cujas sadas indicam se: A < B, A = B ou A > B.
A>B
A
COMPA
A=B
RADOR
B
A<B
Sadas do comparador:
(A>B) = 1 se A > B;
(A=B) = 1 se A = B;
(A<B) = 1 se A < B;
( A > B) = A B
( A = B) = A B
( A < B) = AB
Circuito do comparador:
A B
A>B
A=B
A<B
Veremos a seguir um circuito para comparar a magnitude de duas palavras A e B, de dois bits cada
uma,
A1
A>B
A
A0
COMPA A=B
RADOR
B1
B A<B
B0
Tabelas verdade:
Funes:
(A=B) = (0,5,10,15)
(A>B) = (4,8,9,12,13,14)
(A<B) = (1,2,3,6,7,11)
Portanto:
( A = B) = ( A1 B1 )( A0 B0 )
( A > B) = A1 B1 + A1 A0 B 0 + A0 B1 B 0
( A < B) = A1 B1 + A1 A 0 B0 + A 0 B1 B0
( A > B) = A1 B1 + A1 A0 B1 B 0 + A1 A0 B1 B 0
= A1 B1 + A0 B 0 ( A1 B1 + A1 B1 )
= A1 B1 + A0 B 0 ( A1 B1 )
( A < B) = A1 B1 + A1 A 0 B1 B0 + A1 A 0 B1 B0
= A1 B1 + A 0 B0 ( A1 B1 + A1 B1 )
= A1 B1 + A 0 B0 ( A1 B1 )
O circuito correspondente :
A1 A0 B1 B0
A>B
A=B
A<B
MULTIPLEXADOR
Um multiplexador digital um circuito que possui mais de uma entrada de dados digitais e
seleciona um deles, em um determinado instante, para transferir para a sada. A seleo de qual
entrada dever ser transferida para a sada feita atravs de entradas de seleo, tambm
chamadas de entradas de endereo. O multiplexador atua como uma chave de mltiplas posies
controlada digitalmente, de modo que o valor digital aplicado s entradas de seleo define qual
entrada de dados ser comutada para a sada.
E1
MUX S (Sada)
E0
A
Entrada de seleo
O nmero de linhas de entrada que podem ser selecionadas 2n, onde n o nmero de entradas de
seleo disponveis. No multiplexador mostrado acima, como temos somente duas entradas,
necessria somente uma entrada de seleo (A).
Neste multiplexador, temos a entrada de seleo A e duas entradas de dados, E1 e E0 que sero
multiplexadas para a sada S, de acordo com o valor de A.
A E1 E0 S
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 1
E1
S
E0
Veremos a seguir um multiplexador com duas entradas de seleo (A e B), com capacidade
portanto, de selecionar uma dentre quatro linhas de entrada. O diagrama esquemtico do
multiplexador est mostrado na figura abaixo:
E3
E2
MUX S
E1
E0
A B
A especificao de qual entrada deve ser transferida para a sada em funo das entradas de
seleo, est mostrada na tabela:
A B S
0 0 E0
0 1 E1
1 0 E2
1 1 E3
A B
E3
E2
S
E1
E0
No multiplexador de duas entradas cujo diagrama esquemtico est mostrado abaixo, a entrada H
habilita o funcionamento do circuito.
H
E1 MUX S
E0
O circuito correspondente :
H A
E1
S
E0
E0 E1
13
D1 12
14 QD
D0
10 157
C1 9
11 QC
C0
6
B1 7
5 QB
B0
3
A1 4
2 QA
A0
1
SEL
15
H EN
7
EN
12
13
7 151
6
14
5
15 5
4 Y
1
3 6
2 W
2
3
1
4
0
9
C
10
B
11
A
7
EN
E7 12
13
7 151
E6 6
14
E5 5
15 5
E4 4 Y
1
E3 3 6
E2 2 W
2
3
E1 1
4
E0 0
D 9
10
C
C B
11
B A
A S
7
EN
E15 12
13
7 151
E14 6
E13 14
5
E12 15 5
1
4 Y
E11 3 6
E10
2 W
2
3
E9 1
4
E8 0
9
C
10
B
11
A
Da mesma forma, possvel ligar quatro multiplexadores 74xx151 em cascata, para se obter um
multiplexador de 32 entradas, e assim sucessivamente.
DEMULTIPLEXADOR
S1
E DEMUX
S0
A
Entrada de seleo
No demultiplexador mostrado acima, o sinal presente na linha de entrada (E) ser transferido para
a linha de sada S1 ou S0, em funo do valor da entrada de seleo (A), conforme mostrado na
figura abaixo.
A S0 S1
0 E 0
1 0 E
A E S0 S1
0 0 0 0
0 1 1 0
1 0 0 0
1 1 0 1
S0 = AE
S1 = AE
E S0
S1
A B S0 S1 S2 S3
0 0 E 0 0 0
0 1 0 E 0 0
1 0 0 0 E 0
1 1 0 0 0 E
As funes so:
S0 = A BE
S1 = ABE
S1 = A BE
S0 = ABE
Circuito:
A B
S0
E
S1
S2
S3
SOMADOR BINRIO
Um meio somador (half adder) um circuito que executa a soma binria de dois bits. O circuito
possui duas sadas, uma correspondente soma destes dois bits e outra correspondente ao vai
um (Carry).
A S (Soma)
MEIO
SOMADOR
B C (Vai um)
A B S C
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
As funes so:
S = AB + A B = A B
C = AB
A
S
B
Na soma de dois nmeros binrios com n bits, so somados os bits coluna a coluna, com os dgitos
menos significativos somados primeiro. A soma de cada par de bits gera um bit de soma (S) e um
bit de vai um (C) como foi visto acima.
Para a soma do primeiro par de bits (menos significativo), pode ser utilizado um meio somador,
visto que s existem dois bits a serem somados. Na soma seguinte, necessrio somar trs bits: os
dois bits dos nmeros a serem somados mais o bit de vai um da soma anterior. A mesma situao
ocorre com as colunas subseqentes.
Para estas somas, o meio somador no adequado. necessrio neste caso, um circuito com
capacidade para somar trs bits. Este circuito chamado somador completo (full adder).
A
S
B SOMADOR
COMPLETO
Co
Ci
A B Ci S Co
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
As funes so:
S = ABC i + A B C i + A BC i + ABC i
= ( AB + A B)C i + ( A B + AB)C i
= ( A B)C i + ( A B)C i
= A B Ci
C 0 = AB + AC i + BC i
B
S
Ci
Co
A3 B3 A2 B2 A1 B1 A0 B0
Cin
A
Ci
Ci
Ci
Ci
Co
Co
Co
S
Cout
S3 S2 S1 S0
No somador binrio paralelo, existe um nmero de somadores completos igual ao nmero de bits a
serem somados.
No somador binrio paralelo visto acima, embora a soma seja feita em paralelo, com cada par de
bits sendo somados por um somador completo, o resultado final da soma somente estar completo
depois que o vai um se propagar por toda a cadeia de somadores. Se imaginarmos um somador
para um grande nmero de bits, 32 bits por exemplo, este tempo de propagao do vai um pode
ser significativo.
Uma forma de evitar esta propagao antecipar o bit de vai um para todos os somadores, de
modo que o bit de vai um esteja disponvel a todos os somadores simultaneamente.
Cin
A
B
Somador Ci
Co
Cout
A condio para que um bit de vai um vindo de um somador anterior seja propagado atravs do
somador atual :
Cp = A+ B
Portanto, vai existir um vai um na sada de um somador qualquer, se este vai um for gerado no
somador ou se for propagado atravs do mesmo.
Assim, C out = C g + C p C in
A3 B3 A2 B2 A1 B1 A0 B0
Cin3 Cin2 Cin1 Cin0
A
Ci
Ci
Ci
Ci
Co
Co
Co
S
S3 S2 S1 S0
C g 3 = A3 B3 C g 2 = A2 B 2 C g1 = A1 B1 C g 0 = A0 B0
C p 3 = A3 + B3 C p 2 = A2 + B2 C p1 = A1 + B1 C p 0 = A0 + B0
No somador 0:
C out 0 = C g 0 + C p 0 C in 0 = A0 B0 + ( A0 + B0 )C in 0
= A0 B0 + A0 C in 0 + B0 C in 0
Somador 1:
C in1 = C out 0
C out 1 = C g1 + C p1C in1
= C g1 + C p1 (C g 0 + C p 0 C in 0 )
= C g1 + C p1C g 0 + C p1C p 0 C in 0
Somador 3:
C in 2 = C out1
C out 2 = C g 2 + C p 2 C in 2
= C g 2 + C p 2 (C g1 + C p1C g 0 + C p1C p 0 C in 0 )
= C g 2 + C p 2 C g1 + C p 2 C p1C g 0 + C p 2 C p1C p 0 C in 0
Somador 4:
C in3 = C out 2
C out 3 = C g 3 + C p 3 C in3
= C g 3 + C p 3 (C g 2 + C p 2 C g1 + C p 2 C p1C g 0 + C p 2 C p1C p 0 C in 0 )
= C g 3 + C p 3 C g 2 + C p 3 C p 2 C g1 + C p 3C p 2 C p1C g 0 + C p 3C p 2 C p1C p 0 C in 0
Cg3
Cp3
Som_1
B
B3
S3
A3
A
Ci
Cg2
Cp2
Som_1
B2
S2
A2
A
Ci
Cp1
Cg1
Som_1
B
B1
S1
S
A1
A
Ci
Cg0
Cp0
Som_1
B
B0
S0
A0
A
Ci
Ci0
SUBTRATOR
Uma operao de subtrao de dois nmeros pode ser realizada atravs de uma soma, trocando-se
o sinal do subtraendo.
A B = A + ( B ) = A + B + 1
Desta forma, possvel utilizar um somador para efetuar uma subtrao (A-B), complementando a
entrada B e somando 1.
A B
Ci = 1
A
Ci
Somador
Co
Co S
Para se obter um subtrator para nmeros binrios de n bits, basta ligar em cascata n subtratores.
Na figura abaixo mostrado um circuito subtrator de para nmeros binrios de 4 bits.
Ci = 1
A
Ci
Ci
A
Ci
Ci
Co
Co
Co
S
S
Co
Implementando uma lgica adicional, possvel construir um circuito que execute as operaes de
soma e de subtrao.
Circuito Somador/Subtrator
A3 B3 A2 B2 A1 B1 A0 B0
OP
OP = 0, Soma
OP = 1, Subtrao
A B Ci A B Ci A B Ci A B Ci
Co S Co S Co S Co S
Cout
S3 S2 S1 S0
-2n-1 N 2n-1 - 1
Qualquer operao aritmtica cujo resultado esteja fora destes limites, produz uma condio de
estouro (overflow). Caso isto ocorra, o resultado da operao um nmero binrio que no
representa o resultado correto da operao.
importante em muitos casos, que uma condio de overflow possa ser detectada, evitando assim
o uso inadvertido de resultados invlidos.
a) Soma de dois nmeros positivos, cujo resultado seja maior que 2n-1 - 1
b) Soma de dois nmeros negativos, cujo resultado seja menor que -2n-1
Consideremos um somador binrio paralelo com n estgios, conforme mostrado na figura abaixo:
An-1 Bn-1 A0 B0
Cin-1 Cin0
A
Ci
Ci
Somador . . . . . . . . . . . . . . Somador
Co
Co
S
S
Cout0
Coutn-1 Sn-1 S0
Na tabela verdade abaixo, esto representadas todas as possibilidades que podem ocorrer no
ltimo estgio (n-1) do somador.
Atravs da tabela possvel observar que uma condio de overflow ocorre somente em duas
situaes:
OV = A n 1 B n 1 S n 1 + An 1 Bn 1 S n 1
OV = C in1 C outn 1