Kod „4-3” oraz kod Aikena są kodami samouzupełniającymi, w których uzupełnienie do 9 uzyskuje się przez zanegowanie wszystkich bitów.
Ze względu na prosty sposób realizacji uzupełnień do 9, są one często stosowane w układach arytmetycznych dziesiętnych. Podstawową jednostką sumatorów dziesiętnych jest sumator jednotetradowy. Zapewnia on sumowanie dwu cyfr dziesiętnych kodowanych dwójkowo z uwzględnieniem przeniesienia z poprzedniej tetrady.
Sumator dla jednej tetrady może być sumatorem szeregowym lub równoległym, w zależności od sposobu podawania składników. Najczęściej sumator dla jednej cyfry jest rozwiązywany jako sumator równoległy, natomiast sumator wielocyfrowy jest rozwiązywany zwykle jako szeregowo-równoległy lub równoległy. W książce zostaną rozpatrzone struktury logiczne sumatorów w kodzie 8421 oraz „+3”, z liczbami przedstawionymi w postaci znak-moduł.
Sumatory dziesiętne w kodzie 8421
Najprostszym i najbardziej popularnym kodem cyfr dziesiętnych jest kod dwójkowy wagowy 8421. Rozpatrzmy operację dodawania liczb w tym kodzie. Przyjmujemy następujące oznaczenia:
An4, An3, An2, Anl — bity n-tej tetrady składnika A,
Bni, Bn3, Bn2, Bnl — bity n-tej tetrady składnika B,
Sn4, Sn3, Sn2, Snl — bity n-tej tetrady sumy składników,
Cn_ i —przeniesienie do n-tej tetrady składników,
Cn — przeniesienie z n-tej tetrady składników.
Jeżeli do bitów tetrad An i Bn dodamy Cn_x przy użyciu dowolnego typu 4-pozy-cyjnego sumatora równoległego:
*4|i4 j An$ j A„2 j Ani Ąi4 j Bn3 , B„2 , Bni
CnSnĄ. $nZ $n2 $nl
to (tablica 4.18):
1) wynik jest poprawny, jeżeli:
C^n)lO + (^n)lO + (C|i-l)lO <10
2) wynik nie jest poprawny, jeżeli:
10 < (A,)loHBn)io + (jCm-i)io < 16
gdyż suma Sn ma wartość zabronioną, przeniesienie zaś powinno być jedynkowe, a nie zerowe,
3) wynik nie jest poprawny, jeżeli C^n)lO + (lf»)lO + (Q—l)lO > 16
gdyż suma Sn ma postać dozwoloną, ale nieprawidłową wartość.
Aby wynik dodawania był prawidłowy, należy dokonać korekcji wyniku w przypadkach 2) i 3) oraz korekcii przeniesienia w DrzvDadku 2). Na podsta-