Odejmowanie

W elektronice subtraktor – obwód cyfrowy , który wykonuje odejmowanie liczb – można zaprojektować przy użyciu tego samego podejścia, co sumator . Proces binarnego podsumowano poniżej. Podobnie jak w przypadku sumatora, w ogólnym przypadku obliczeń na liczbach wielobitowych trzy bity są zaangażowane w odejmowanie dla każdego bitu różnicy : minus ( ) , odejmowanie ( } ) i pożyczka z poprzedniej (mniej znaczącej) pozycji kolejności bitów ( ). Wyjścia to bit różnicy ( ) pożyczenia . Odejmowanie najlepiej zrozumieć, biorąc pod uwagę, że odejmowanie i oba pożyczone bity mają wagi ujemne, podczas gdy bity X i D są dodatnie. Operacja wykonywana przez odejmowanie polega na przepisaniu (co może przyjmować wartości -2, -1, 0 lub 1) jako sumę .

Subtraktory są zwykle implementowane w sumatorze binarnym za niewielką opłatą, gdy używana jest standardowa notacja uzupełnienia do dwóch , poprzez zapewnienie selektora dodawania/odejmowania do przeniesienia i odwrócenia drugiego operandu.

(definicja zapisu dopełnienia do dwóch)

Połowa odejmowania

Diagram logiczny dla półodejmującego

Półsubtraktor to obwód kombinacyjny , który służy do odejmowania dwóch bitów. Ma dwa wejścia, i odejmowanie Y i dwa wyjścia różnicę i pożyczyć . Sygnał wypożyczenia jest ustawiany, gdy odejmowanie musi pożyczyć od następnej cyfry w odejmowaniu wielocyfrowym. Oznacza to, że kiedy . Ponieważ i są bitami, wtedy i tylko wtedy, gdy i . Ważną kwestią, o której warto wspomnieć, jest to, że diagram odejmowania połowy implementuje , a nie , ponieważ na diagramie jest podane przez

.

ważne rozróżnienie, ponieważ samo odejmowanie nie jest przemienne , ale bit różnicy jest obliczany przy użyciu bramki XOR która jest przemienna.

Half-subtractor using NAND gate only.
Półsubtraktor wykorzystujący tylko bramkę NAND.

Tabela prawdy dla półodejmującego to:

Wejścia Wyjścia
X Y D B na zewnątrz
0 0 0 0
0 1 1 1
1 0 1 0
1 1 0 0

Korzystając z powyższej tabeli i mapy Karnaugha , znajdujemy następujące równania logiczne dla out }

.

W związku z tym uproszczony obwód półodejmowania, korzystnie unikający w szczególności skrzyżowanych ścieżek, a także bramki negującej, to:

X ── XOR ─┬─────── |XY|, wynosi 0 jeśli X równa się Y, 1 w przeciwnym razie ┌──┘ └──┐ Y ─┴─────── AND ── pożyczyć, jest 1 jeśli Y > X, 0 w przeciwnym razie

gdzie linie po prawej stronie to wyjścia, a inne (od góry, od dołu lub od lewej) to wejścia.

Pełny odejmnik

Pełny subtraktor to obwód kombinacyjny , który służy do odejmowania trzech bitów wejściowych : odejmowania , odejmowania pożyczania w . Pełny subtraktor generuje dwa bity wyjściowe: różnicę i wypożyczenie . jest ustawiany, gdy poprzednia cyfra jest pożyczona z . Zatem jest również odejmowane od również od odejmowania . Lub w symbolach: . Podobnie jak w przypadku odejmowania połówkowego, odejmowanie pełne generuje pożyczkę, gdy musi pożyczyć od następnej cyfry. Ponieważ odejmujemy i z , pożyczka musi zostać wygenerowana, gdy . Kiedy generowana jest pożyczka, 2 jest dodawane do bieżącej cyfry. (Jest to podobne do algorytmu odejmowania w systemie dziesiętnym. Zamiast dodawać 2, dodajemy 10, gdy pożyczamy.) Dlatego .

Full-sub-Fixed.svg

Tablica prawdy dla pełnego odejmownika to:

Wejścia Wyjścia
X Y B w D B na zewnątrz
0 0 0 0 0
0 0 1 1 1
0 1 0 1 1
0 1 1 0 1
1 0 0 1 0
1 0 1 0 0
1 1 0 0 0
1 1 1 1 1

Dlatego równanie jest następujące:

Zobacz też

  • Podstawy elektroniki cyfrowej autorstwa Elijah Mwangi

Linki zewnętrzne