Um somador completo pode ser implementado usando um decodificador e alguns ou portões. Veja como, juntamente com as explicações:
Entendendo os componentes *
Adder completo: Pega três entradas (A, B, Carry-In (CIN)) e produz duas saídas (soma, transporte (cout)).
* Decodificador
: Um decodificador com linhas de entrada 'n' e 2
n
linhas de saída. Cada linha de saída corresponde a uma combinação única das linhas de entrada. Apenas uma linha de saída está ativa (alta) a qualquer momento. Usaremos um decodificador de 3 a 8 (3 entradas, 8 saídas).
*
ou portões: Usado para combinar as saídas do decodificador para gerar a soma e a execução.
implementação 1.
3 a 8 decodificador: Usamos um decodificador de 3 a 8 com entradas A, B e CIN. As oito saídas representam todas as combinações possíveis das três entradas (000 a 111). Vamos rotular essas saídas D0 como D7.
2. Tabela de verdade: A tabela de verdade de um somador é:
| A | B | CIN | Soma | Cout |
| --- | --- | ----- | ------ | ------ |
| 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 |
3.
soma e lógica de execução: Observe a tabela da verdade. A soma é '1' quando o decodificador sai D1, D2, D4 e D7 estão ativos. A execução é '1' quando o decodificador sai D3, D5, D6 e D7 estão ativos.
4.
ou portões: Usamos ou portões para implementar esta lógica:
*
soma =d1 + d2 + d4 + d7 ('+' representa a operação OR)
*
cout =d3 + d5 + d6 + d7 Diagrama de circuito (conceitual): `` `
+---+
A --- | | --- D0
| 3-para-8 | --- D1 --- \
B --- | Decodificador | --- d2 --- \ --- \
| | --- d3 ---/ ---/ --- ou --- soma
Cin- | | --- d4 --- \ --- \
+---+--- d5 ---/ ---/ --- ou --- cout
D6 ----/
D7 ----/
`` `
em resumo: Esta implementação utiliza um decodificador de 3 a 8 para gerar todas as combinações possíveis das entradas. Em seguida, usando ou portões, combinamos seletivamente essas saídas para produzir os sinais de soma e realização, realizando efetivamente um somador completo. Esse método é menos eficiente do que outras implementações (como o uso diretamente de lógicas) em termos de contagem de portões, mas demonstra uma abordagem alternativa usando um decodificador.