En full adder kan implementeras med en avkodare och några eller grindar. Så här, tillsammans med förklaringar:
Förstå komponenterna
* full adder: Tar tre ingångar (a, b, carry-in (cin)) och producerar två utgångar (summan, carry-out (cout)).
* avkodare: En avkodare med 'n' inmatningslinjer och 2
n
utgångslinjer. Varje utgångslinje motsvarar en unik kombination av ingångslinjerna. Endast en utgångslinje är aktiv (hög) vid en viss tidpunkt. Vi använder en 3-till-8-avkodare (3 ingångar, 8 utgångar).
* eller Gates: Används för att kombinera avkodningsutgångarna för att generera summan och utföra.
Implementering
1. 3-till-8 avkodare: Vi använder en 3-till-8-avkodare med ingångar A, B och CIN. De åtta utgångarna representerar alla möjliga kombinationer av de tre ingångarna (000 till 111). Låt oss märka dessa utgångar D0 till D7.
2. Sanningstabell: En full adders sanningstabell är:
| A | B | Cin | Summa | 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. summa och genomförande logik: Observera sanningstabellen. Summan är '1' när avkodaren matar ut D1, D2, D4 och D7 är aktiva. Genomförandet är '1' när avkodaren matar ut D3, D5, D6 och D7 är aktiva.
4. eller Gates: Vi använder eller grindar för att implementera denna logik:
* sum =d1 + d2 + d4 + d7 ('+' representerar OR -operationen)
* cout =D3 + D5 + D6 + D7
Circuit Diagram (Conceptual):
`` `
+---+
A --- | | --- D0
| 3-till-8 | --- D1 --- \
B --- | Avkodare | --- D2 --- \ --- \
| | --- d3 ---/ ---/ --- eller --- summa
Cin- | | --- D4 --- \ --- \
+---+--- d5 ---/ ---/ --- eller --- cout
D6 ---/
D7 ---/
`` `
Sammanfattningsvis:
Denna implementering använder en 3-till-8-avkodare för att generera alla möjliga kombinationer av ingångarna. Sedan, med hjälp av eller grindar, kombinerar vi selektivt dessa utgångar för att producera summan och genomföra signaler, och förverkligar effektivt en full adder. Denna metod är mindre effektiv än andra implementeringar (som att använda logikgrindar direkt) när det gäller grindantal men visar ett alternativt tillvägagångssätt med en avkodare.