Você está na página 1de 26

Circuitos Digitais

Ivan Saraiva Silva


Circuitos Combinacionais
Aritméticos I
Revisão da Adição Binária
Adição de Números Sem Sinal
Exemplo
representação
simplificada
01101100 transportes
01101101 (109) A
+ 01100110 (102) + B
11010011 (211) resultado S
Revisão da Adição Binária
Adição de Números Sem Sinal
Outro Exemplo

1100 transportes (“carry”)


overflow 1100 (12)
+ 0110 (6)

0010 (18) resultado

• Note que o maior binário que se pode representar com 4


bits é 15
Revisão da Adição Binária
01101100
01101101
+ 01100110

11010011 (211)
a0
+ adição de 2 bits
b0
c1 s0 resultado em 2 bits
Revisão da Adição Binária
Porém, a partir do 2o bit …
01101100
01101101
+ 01100110 c1
a1 adição de 3 bits
11010011 (211) +
b1
c2 s1 resultado em 2 bits
Revisão da Adição Binária
Generalizando, para bits a partir do 2o bit
01101100
01101101
+ 01100110 ci
ai adição de 3 bits
11010011 (211) +
bi
Ci+1 si resultado em 2 bits
Esquema da Soma Paralela
Considerando dois números (A e B) com 4 bits cada
a3 b3 a2 b2 a1 b1 a0 b0

c4 c3 c2 c1

s3 s2 s1 s0

Note que:
• há um elemento para cada coluna da soma
• o sinal de overflow será o carry mais significativo
Projetando um Somador Paralelo
Projetando um circuito para a primeira coluna

entradas saídas
a0 b0

a0 b0 c1 s0
a0
0 0 0 0 + b0
c1
0 1 0 1
1 0 0 1 c1 s0
1 1 1 0
s0
Projetando um Somador Paralelo
Projetando um circuito para a primeira coluna:
O Meio Somador (MS) s0 = a0·b0 + a0·b0
c1 = a0·b0
entradas saídas
a0
a0 b0 c1 s0
s0
0 0 0 0
0 1 0 1
b0
1 0 0 1
1 1 1 0
c1

Obs: circuito independente de tecnologia


A Função OU Exclusivo
EXclusive OR - XOR
• A função XOR resulta 1 se um número ímpar de
entradas valer 1
• Para duas entradas, temos a seguinte tabela-verdade

X Y XÅ Y XÅY = X·Y + X·Y


X
0 0 0
X
0 1 1
Y
1 0 1
símbolo Y
1 1 0
A Função Equivalência (ou Concidência)
EXclusive NOR - XNOR
• A função XNOR corresponde à função XOR negada

X Y XY XY = X·Y + X·Y = XÅY

0 0 1 X
Y
0 1 0
X
1 0 0 Y
1 1 1 símbolo
Voltando ao Meio Somador (Half Adder)
Redesenhando o meio somador, usando porta XOR
a0 b0
a0 b0

c1
MS

c1 s0

s0 = a0·b0 + a0·b0

c1 = a0·b0
s0
Projetando um Somador Paralelo
Projetando o circuito para a3 b3 a2 b2 a1 b1 a0 b0

as demais colunas c4 c3 c2 c1

s3 s2 s1 s0

01101100 ci
01101101 ai
+ 01100110 +
bi
11010011 (211) ci+1 si
Projetando um Somador Paralelo
Projetando um circuito para as demais colunas
entradas saídas

ci ai bi ci+1 si
0 0 0 0 0 ai bi
ci
0 0 1 0 1
ai
0 1 0 0 1 +
0 1 1 1 0
ci+1 ci bi
1 0 0 0 1 Ci+1 si
1 0 1 1 0 si
1 1 0 1 0
1 1 1 1 1
Projetando um Somador Paralelo
Projetando um circuito para as demais colunas
entradas saídas
Mapa de Karnaugh para si
ci ai bi ci+1 si si ai bi ai bi ai bi ai bi
0 0 0 0 0
ci 0 1 0 1
0 0 1 0 1
ci 1 0 1 0
0 1 0 0 1
0 1 1 1 0
Não é possível simplificar, logo, usaremos
1 0 0 0 1 todos os produtos do tipo mintermo!
1 0 1 1 0
1 1 0 1 0 si = ai·bi·ci + ai·bi·ci + ai·bi·ci + ai·bi·ci
1 1 1 1 1
si = ci Å ai Å bi
Projetando um Somador Paralelo
Projetando um circuito para as demais colunas
entradas saídas
Mapa de Karnaugh para Ci+1
ci ai bi ci+1 si
0 0 0 0 0
ci+1 ai bi ai bi ai bi ai bi ai·bi
0 0 1 0 1
0 1 0 0 1 ci 0 0 1 0
0 1 1 1 0 ci 0 1 1 1 ai·ci
1 0 0 0 1
bi·ci
1 0 1 1 0
1 1 0 1 0 ci+1 = ai·bi+ ai·ci+ bi·ci
1 1 1 1 1
O Somador Completo (Full Adder)
ai bi
ai bi

ci+1 ci
SC

ci+1 ci
si

si = ci Å ai Å bi
ci+1 = ai·bi + ai·ci+ bi·ci
si
Refazer o mapa de Mas ci+1 também pode ser escrito como ...
Karnaugh do slide anterior
agrupando apenas os termos ci+1 = ai·bi + ci.(bi Å ai)
na vertical
Circuito obtido a partir das expressões para Si e Ci+1

HA HA
X

Y S

Cout
Cin
Somador Binário Paralelo (de 4 bits)
Versão 2: somente com somadores completos

a3 b3 a2 b2 a1 b1 a0 b0

c3 c2 c1 c0
c4 SC SC SC SC

s3 s2 s1 s0

Note que o sinal c4 somente estabiliza depois que c1, c2 e c3


estabilizarem
O Custo é ligeiramente maior, porém funciona!
Implementação de Somadores
Topologias para o circuito de Carry - 1
• Implementação como soma de produtos em tecnologia CMOS
ci ai bi
ai bi ci ci+1 si
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1 • É uma implementação
robusta
1 0 1 1 0
• Porém, gasta muitos
1 1 0 1 0 transistores (18)
1 1 1 1 1 ci+1
Implementação de Somadores
Topologias para o circuito de Carry - 2
• Implementação derivada da composição de 2 meio-somadores
ai bi
ai bi ci ci+1 si
0 0 0 0 0
0 0 1 0 1
meio-
0 1 0 0 1 somador
ci+1
0 1 1 1 0
ci
1 0 0 0 1
1 0 1 1 0 • É uma implementação meio-
robusta e mais rápida somador
1 1 0 1 0 • E usa menos transistores si
1 1 1 1 1 que a anterior (12)
Implementação de Somadores
Topologias para o circuito de Carry - 3
aiÅbi

ai bi ci ci+1 si
0 0 0 0 0 ci 1
ci+1
0 0 1 0 1
ai 0
0 1 0 0 1
0 1 1 1 0 • Tem como princípio uma interpretação da
1 0 0 0 1 tabela-verdade, baseada em colocar a saída
ci+1 em função de ai e do xor entre ai e bi.
1 0 1 1 0
1 1 0 1 0 ci+1 = aiÅbi · ai + aiÅbi · ci
1 1 1 1 1
Implementação de Somadores
Topologias para o circuito de Carry - 3 ai bi

ai bi ci ci+1 si
0 0 0 0 0
0
0 0 1 0 1 ci+1
1 ci
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0 si
1 1 0 1 0 • Esta topologia dá origem a 3 outros circuitos,
cada um com uma das versões de multiplexador
1 1 1 1 1
estudadas. É o que veremos a seguir
Implementação de Somadores
Topologias para o circuito de Carry - 3
ai bi

ai bi ci ci+1 si
0 0 0 0 0
0 0 1 0 1 ci+1

0 1 0 0 1
ci
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0 si

1 1 1 1 1 • Multiplexador com portas CMOS estáticas


Implementação de Somadores
O Problema da Propagação do Transporte (Carry Propagation)
a0 b0

c4 c0

Estimativa do atraso crítico do somador paralelo a partir de um dos SCs:


• Encontrar o caminho de maior atraso, que inicie por a0, b0, ou ci e
termine em ci+1
• Encontrar o caminho de maior atraso, que inicie por ci e termine em ci+1
Implementação de Somadores
Observação: as funções para ci+1 e si são simétricas
• Conseqüência: qualquer que seja a ordem das variáveis de entrada, a
ordem das saídas é sempre a mesma! Exemplos:
ci ai bi ci+1 si bi ci ai ci+1 si ai bi ci ci+1 si

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 0 1 0 0 1 0 1 0 0 1 0 1

º º
0 1 0 0 1 0 1 0 0 1 0 1 0 0 1
0 1 1 1 0 0 1 1 1 0 0 1 1 1 0
1 0 0 0 1 1 0 0 0 1 1 0 0 0 1
1 0 1 1 0 1 0 1 1 0 1 0 1 1 0
1 1 0 1 0 1 1 0 1 0 1 1 0 1 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Você também pode gostar