Sistemas Digitais · Ibmec RJ

Cap. 4 — Circuitos Aritméticos:
Somadores e Subtratores

leitura ~30 min Prof. Clayton J A Silva Rev 2026.1

Objetivos de aprendizagem

  • Projetar o meio-somador e o somador completo a partir da tabela-verdade
  • Construir um somador modular de n bits por cascateamento
  • Reconhecer os graus de integração de circuitos (SSI a GSI) e o CI 54LS283
  • Aplicar a correção do código BCD na soma de dígitos decimais
  • Projetar o meio-subtrator e o subtrator completo

Sistemas digitais são projetados para realizar uma variedade de operações aritméticas com bits. Uma das operações mais comuns é a adição binária.

Meio-somador

A operação de adição de dois bits é dada por:

+01
001
1110

Uma abordagem para projetar um circuito somador é modularizar o circuito. O módulo relativo à soma dos bits menos significativos de dois números A e B de n bits é chamado de meio-somador.

O circuito meio-somador considera que: $\text{BIT}_0 = 1 + \text{BIT}_1 = 1 \Rightarrow CARRY = 1,\ SOMA = 0$

A tabela-verdade da soma de dois bits A e B é:

ABSOMACARRY
0000
0110
1010
1101

Obtendo a expressão booleana e minimizando:

$$SOMA = \bar{A}.B + A.\bar{B} = A \oplus B \qquad CARRY = A.B$$

O meio-somador é representado logicamente pela figura ao lado.

Observe que o meio-somador não possui entrada de carry — apenas dois bits de entrada. Para um somador completo, é necessário outro módulo.
Meio-somador

Fig. 4.1 — Meio-somador

Somador completo

O somador completo apresenta o comportamento descrito pela tabela-verdade abaixo, onde $C_{in}$ e $C_{out}$ representam respectivamente o carry de entrada e o carry de saída:

ABCinSOMACout
00000
00110
01010
01101
10010
10101
11001
11111
Somador completo

Fig. 4.2 — Somador completo

De modo similar ao meio-somador, pode-se obter a expressão booleana relativa a cada saída e, a partir dela, os respectivos circuitos com portas lógicas.

Somador de n bits

Um somador de dois números binários A e B de n bits pode ser implementado modularmente, utilizando o cascateamento de 1 meio-somador e n-1 somadores completos.

Somador modular de n bits

Fig. 4.3 — Somador modular de n bits

O dígito mais significativo da soma é o carry do último módulo.

CI Somador

4.4.1 Circuitos integrados digitais (CIs)

O chip é um conjunto de elementos eletrônicos integrados em um substrato semicondutor, encapsulados em uma embalagem protetora (por exemplo, DIP).

Encapsulamento e pinagem do chip

Fig. 4.4 — (a) Pinagem do chip · (b) Chanfro indicando a numeração

A figura (a) evidencia a pinagem do chip, através da qual são estabelecidas as conexões. A figura (b) indica o chanfro (entalhe) que indica a numeração da pinagem.

Grau de integração

A quantidade de elementos integrados define o grau de integração, conforme o número de portas no substrato:

SSI
< 12 portas
MSI
12 – 99
LSI
100 – 9.999
VLSI
10K – 99.999
ULSI
100K – 999.999
GSI
> 1.000.000

4.4.2 Somadores integrados

Fabricantes como a National Semiconductor integram e encapsulam somadores em chips identificados por um código — por exemplo, 54LS283. Ver o datasheet do 74LS283 →

CaracterísticaDescrição
Pinagem16 pinos
Entradas lógicasA (4 bits), B (4 bits) e C0
Saídas lógicas$\Sigma$ (4 bits) e C4
Alimentação ($V_{CC}$)5 volts (nominal)

O 54LS283 pode ser cascateado utilizando os pinos de carry de entrada e saída, da mesma forma que na construção modular com meio-somador e somadores completos.

Cascateamento de CIs somadores

Fig. 4.5 — Cascateamento de somadores de 4 bits

4.4.3 Somador BCD (Binary-Coded Decimal)

Uma das formas de implementar eletronicamente números decimais é utilizar módulos que representam somente os dígitos decimais em sua forma binária:

PalavraDecimal
00000
00011
00102
00113
01004
01015
01106
01117
10008
10019

A soma BCD é realizada em grupos de 4 bits. Quando a soma é inferior a 9, a operação é de binário puro:

exemplo — soma sem correção 5 + 4 = 9 → 0101 + 0100 = 1001 ✓
45 + 33 = 78 → (5+3) 0101+0011=1000 · (4+3) 0100+0011=0111 ✓

Quando a soma resulta maior que 9 ($1001_2$), é necessário somar o resultado ao complemento $C(1001) = 0110$:

exemplo — soma com correção 6 + 7 = 13 → 0110 + 0111 = 1101 (palavra inválida)
→ 1101 + 0110 = 1 0011 → carry=1, soma=0011

O somador BCD implementa a soma de cada dígito decimal, transportando o carry, reproduzindo exatamente a soma decimal:

Somador BCD

Fig. 4.6 — Somador BCD: A e B são os dígitos decimais, Σ é a saída, carry transportado entre dezenas, centenas...

Subtratores

A subtração binária é dada por:

01
001
1110

A subtração binária normalmente é realizada pela adição do minuendo ao complemento de 1 ou complemento de 2 do subtraendo.

Normalmente não se implementa computacionalmente a operação de subtração. No entanto, caso seja necessário, pode-se adotar o mesmo método da adição, com o meio-subtrator e o subtrator completo.

A tabela-verdade do meio-subtrator é:

ABA−BBORROW
0000
0111
1010
1100

Obtendo a expressão booleana e minimizando:

$$A - B = \bar{A}.B + A.\bar{B} = A \oplus B \qquad BORROW = \bar{A}.B$$
Meio-subtrator

Fig. 4.7 — Meio-subtrator

O meio-subtrator é representado logicamente pela figura ao lado.

O circuito com portas lógicas é apresentado abaixo:

Circuito do meio-subtrator com portas lógicas

Fig. 4.8 — Circuito do meio-subtrator com portas lógicas

De modo similar ao somador completo, pode-se desenvolver o subtrator completo, descrito pela tabela-verdade, onde $B_{in}$ e $B_{out}$ representam respectivamente o borrow de entrada e de saída:

ABBinDIFBout
00000
00111
01011
01101
10010
10100
11000
11111

O subtrator completo é representado por uma figura similar à do somador completo, com as devidas substituições.

Um subtrator de dois números binários A e B de n bits pode ser implementado modularmente, utilizando o cascateamento de 1 meio-subtrator e n-1 subtratores completos.

Teste seus conhecimentos

? Pergunta 1 de 3

Por que o meio-somador não pode, por si só, formar um somador de n bits?

? Pergunta 2 de 3

Na soma BCD 6+7=13, qual correção é necessária?

? Pergunta 3 de 3

A expressão BORROW do meio-subtrator é igual a:

Para ir além

← anteriorCap. 3 — Projeto de Circuitos Combinacionais