Co to jest pełny odejmowanie: konstrukcja przy użyciu bramek logicznych

Wypróbuj Nasz Instrument Do Eliminowania Problemów





Ogólnie rzecz biorąc, pełny odejmowanie jest jednym z najczęściej używanych i niezbędne kombinacyjne układy logiczne . Jest to podstawowe urządzenie elektroniczne, służące do odejmowania dwóch liczb binarnych. We wcześniejszym artykule podaliśmy już podstawową teorię pół sumatora i pełny sumator który używa do obliczeń cyfr binarnych. Podobnie, pełny odejmowanie używa do odejmowania cyfr binarnych, takich jak 0,1. Obwód tego można zbudować z bramkami logicznymi, takimi jak OR, Ex-OR, bramka NAND. Wejścia tego odejmowania to A, B, Bin, a wyjścia to D, Bout.

W tym artykule przedstawiono koncepcję teorii pełnego odejmowania, która obejmuje takie założenia, jak: czym jest odejmowanie, projekt z bramkami logicznymi, tabelą prawdy itp. Ten artykuł jest przydatny dla studentów inżynierii, którzy mogą przejść przez te tematy w praktycznym laboratorium HDL.




Co to jest odejmowanie?

Odejmowanie cyfr binarnych można wykonać za pomocą obwodu odejmowania. Jest to jeden rodzaj kombinacyjnego obwodu logicznego, używanego do odejmowania dwóch cyfr binarnych, takich jak 0 i 1. Odejmowanie cyfr binarnych od 0 do 0 lub od 0 do 1 nie zmienia wyniku, odejmowanie 1 do 1 da 0, ale odjęcie 1 do 0 wymaga pożyczki.

Na przykład dwubitowy obwód odejmujący zawiera dwa wejścia, takie jak A i B, podczas gdy wyjścia są różnicowe i pożyczkowe. Obwód ten może być zbudowany z sumatorów wraz z falownikami, które znajdują się wśród każdego wejścia danych, a także wejścia pożyczkowego (Bin) z wcześniejszej fazy FA.



Odejmowanie dzieli się na dwa typy, takie jak pół odejmowanie i pełne odejmowanie. Tutaj omawiamy pełny odejmowanie.

Co to jest pełny odejmowanie?

Jest to urządzenie elektroniczne lub obwód logiczny który wykonuje odejmowanie dwóch cyfr binarnych. Jest to kombinacyjny układ logiczny stosowany w elektronice cyfrowej. Wiele obwodów kombinowanych jest dostępnych w formatach technologia układów scalonych mianowicie sumatory, kodery, dekodery i multipleksery. W tym artykule omówimy jego konstrukcję przy użyciu pół odejmowania, a także terminy takie jak tabela prawdy.


Pełny odejmowanie

Pełny odejmowanie

Zaprojektowanie tego można wykonać za pomocą dwóch półodejmowań, które obejmują trzy dane wejściowe, takie jak odjemne, odejmowanie i pożyczanie, bit pożyczki spośród danych wejściowych jest uzyskiwany przez odjęcie dwóch cyfr binarnych i jest odejmowany od następnej pary liczb bity, dane wyjściowe jako różnica i pożycz.

Plik pełny schemat blokowy odejmowania pokazano poniżej. Główną wadą pół odejmowania jest to, że nie możemy w tym odejmowaniu zrobić bitu pożyczki. Podczas gdy w jego projekcie faktycznie możemy zrobić bit pożyczki w obwodzie i możemy odjąć pozostałe dwa i / ps. Tutaj A to minus, B to subtrahend, a Bin jest pożyczony. Wyprowadzeniami są różnica (różnica) i walka (pożyczka). Cały obwód odejmowania można uzyskać, używając dwóch pół odejmowania z dodatkową bramką LUB.

Pełny schemat blokowy odejmowania

Pełny schemat obwodu odejmowania z bramkami logicznymi

Plik schemat obwodu pełnego odejmowania z wykorzystaniem bramki podstawowej s przedstawiono na poniższym schemacie blokowym. Ten obwód można wykonać za pomocą dwóch obwodów pół-odejmowania.

W początkowym obwodzie pół-odejmowanie wejściami binarnymi są A i B. Jak omówiliśmy w poprzednim artykule na temat pół-odejmowania, wygeneruje on dwa wyjścia, a mianowicie różnicę (różnicę) i pożyczkę.

Full Subtractor using Logic Gates

Full Subtractor using Logic Gates

Różnica o / p lewego odejmowania jest podana do obwodu lewego pół-odejmowania. Wyjście Diff jest dalej dostarczane do wejścia prawej połowy obwodu Subtraktora. Zaproponowaliśmy pożyczkę w części przez inne i / p następnego obwód pół odejmowania . Jeszcze raz da to Diff, a także pożyczkę. Ostatnim wyjściem tego odejmowania jest Diff-output.

Z drugiej strony, Pożyczka z obu obwodów półsubtraktora jest podłączona do bramki logicznej OR. Później niż podając logikę OR dla dwóch wyjściowych bitów odejmowania, otrzymujemy ostateczną pożyczkę z odejmowania. Ostatnia pożyczka oznaczająca MSB (najbardziej znaczący fragment).

Jeśli zaobserwujemy wewnętrzny obwód tego, zobaczymy dwa półodtraktory z bramką NAND i bramką XOR z dodatkową bramką OR.

Pełna tabela prawdy odejmowania

To obwód odejmowania wykonuje odejmowanie między dwoma bitami, które mają 3 wejścia (A, B i Bin) i dwa wyjścia (D i Bout). Tutaj dane wejściowe wskazują odejście, odliczenie i poprzednią pożyczkę, podczas gdy dwa wyjścia są oznaczone jako pożyczka o / p i różnica. Poniższy obraz przedstawia tabelę prawdy pełnego odejmowania.

Wejścia

Wyjścia

Minuenda (A)

Subtrahend (B) Pożycz (kosz) Różnica (D)

Pożycz (walka)

0

000

0

0

0111
0101

1

0110

1

1

0010
1010

0

1

1000

1

111

1

Mapa K

Uproszczenie pełna mapa K odejmowania dla powyższej różnicy i pożyczki pokazano poniżej.

Mapa K dla różnicy

Równania dla różnicy, a także Bin są wymienione poniżej.

Mapa K do walki

Wyrażenie różnicy to:

D = A’B’Bin + AB’Bin ’+ A’BBin’ + ABBin

Wyrażenie na pożyczkę to:

Bout = A’Bin + A’B + BBin

Kaskadowanie pełnego obwodu odejmującego

Wcześniej omawialiśmy przegląd tego podobnego schematu obwodu z bramkami logicznymi. Ale jeśli chcemy odjąć dwie liczby 1-bitowe, w przeciwnym razie, ten obwód odejmowania jest bardzo pomocny w kaskadowaniu liczb jednobitowych, a także odejmuje więcej niż dwie liczby binarne. W takich przypadkach, pełny obwód kaskadowy sumatora jest używany z pomocą bramki logicznej NOT. Konwersję obwodu z pełnego sumatora do pełnego odejmowania można przeprowadzić za pomocą techniki uzupełniania 2.

Ogólnie rzecz biorąc, odwróć odrównane wejścia dla pełnego sumatora za pomocą bramki NOT, w przeciwnym razie falownika. Dodając to Minuend (wejście nieodwrócone) i Subtrahend (wejście odwrócone), LSB (wejście przeniesienia) obwodu FA wynosi 1, co oznacza Logic High, w przeciwnym razie odejmujemy dwie cyfry binarne za pomocą techniki uzupełniania 2. Wyjście FA jest bitem Diff i jeśli odwrócimy wykonanie, możemy uzyskać bit MSB, w przeciwnym razie bit pożyczki. Właściwie możemy zaprojektować obwód tak, aby można było obserwować wyjście.

Kod Verilog

W części dotyczącej kodowania musimy najpierw sprawdzić strukturalny sposób modelowania schematu obwodu logicznego. Schemat logiczny tego można zbudować za pomocą bramki AND, obwodów pół odejmowania i kombinacji bramek logicznych, takich jak bramki AND, OR, NOT, XOR. Podobnie jak w modelowaniu strukturalnym, wyjaśniamy różne moduły dla każdego podstawowego układu elementarnego. W poniższym kodzie można zdefiniować różne moduły dla każdej bramy.

Ten moduł jest przeznaczony dla bramki OR.

WEJŚCIE: a0, b0

WYJŚCIE: c0

Na koniec połączymy te precyzyjne moduły bramek w jedyny moduł. W tym celu wykorzystujemy tutaj tworzenie instancji module. Teraz tej instancji można użyć, gdy chcemy replikować dokładny moduł lub funkcję dla różnych zestawów wejściowych. Najpierw projektujemy pół odejmowanie, a następnie ten moduł służy do implementacji pełnego odejmowania. Aby to zaimplementować, używamy bramki OR, aby połączyć o / ps dla zmiennej Bout. Plik kod Verilog dla pełnego odejmowania pokazano poniżej

moduł or_gate (a0, b0, c0)

wejście a0, b0

wyjście c0

przypisz c0 = a0 | b0

endmodule

moduł xor_gate (a1, b1, c1)

wejście a1, b1

wyjście c1

przypisz c1 = a1 ^ b1

endmodule

moduł and_gate (a2, b2, c2)

wejście a2, b2

wyjście c2

przypisz c2 = a2 i b2

endmodule

moduł not_gate (a3, b3)

wejście a3

wyjście b3

przypisz b3 = ~ a3

endmodule

moduł half_subtractor (a4, b4, c4, d4)

wejście a4, b4

wyjście c4, d4

drut x

xor_gate u1 (a4, b4, c4)

and_gate u2 (x, b4, d4)

not_gate u3 (a4, x)

endmodule

moduł full_subtractor (A, B, Bin, D, Bout)

wejście A, B, Bin

wyjście D, Bout

drut p, q, r

half_subtractor u4 (A, B, p, q)

half_subtractor u5 (p, Bin, D, r)

or_gate u6 (q, r, walka)

endmodule

Full Subtractor przy użyciu multipleksera 4X1

Odejmowanie można wykonać za pomocą metody uzupełniania do dwóch. Dlatego wymagamy użycia bramki 1-XOR, która jest używana do odwracania 1-bitu i dołączania go do bitu przenoszenia. Wyjście DIFFERENCE jest podobne do wyjścia SUMA w obwodzie pełnego sumatora, jednak BARROW o / p nie jest podobne do wyjścia przenoszenia pełnego sumatora, jednak jest odwrócone, a także uzupełnione, jak A - B = A + (-B) = A + uzupełnienie do dwóch B.

Projekt tego z wykorzystaniem multipleksera 4X1 pokazano na poniższym schemacie logicznym. Ten projekt można wykonać, wykonując następujące kroki.

Multiplekser 4X1

Multiplekser 4X1

  • W kroku 1 istnieją dwa wyjścia, takie jak Sub i Borrow. Musimy więc wybrać 2 multipleksery.
  • W kroku 2 tablicę prawdy można zaimplementować wraz z mapami K.
  • W kroku 3 dwie zmienne można wybrać jako linię wyboru. Na przykład B & C są w tym przypadku.

Tabela prawdy

Plik tabela prawdy pełnego odejmowania Obwód wykorzystujący multiplekser 4X1 zawiera następujące elementy

DO

b do Pod

Pożyczać

0

0000
0011

1

0101

1

0

1101
1001

0

1

0100
1100

0

1

111

1

Pełny odejmowanie przy użyciu dekodera

Projektowanie pełnego odejmowania przy użyciu 3-8 dekoderów można wykonać przy użyciu aktywnych niskich wyjść. Załóżmy, że dekoder działa zgodnie z poniższym schematem logicznym. Dekoder zawiera trzy wejścia w 3-8 dekoderach. Na podstawie tabeli prawdy możemy napisać mintermy dla wyników różnicy i pożyczki.

Z powyższej tabeli prawdy

Dla różnych funkcji w tabeli prawdy, mintermy można zapisać jako 1, 2, 4, 7, i podobnie, w przypadku pożyczki, mintermy można zapisać jako 1, 2, 3, 7. Dekodery 3-8 zawierają trzy wejścia oraz 8 wyjść od 0 do 7 liczb.

Dekoder 3 do 8

Dekoder 3 do 8

Jeśli wartość wejściowa odejmatora wynosi 000, to wyjście „0” będzie aktywne, a jeśli wejście to 001, to wyjście „1” będzie aktywne.

Teraz wyjścia odejmowania można pobrać z 1, 2, 4 i 7, aby podłączyć go do bramki NAND, wtedy wyjście będzie różnicą. Wyjścia te można podłączyć do innych bramek logicznych NAND, w których wyjście zmienia się na pożyczkę.

Na przykład, jeśli wejście ma wartość 001, to wyjście będzie miało wartość 1, co oznacza, że ​​jest aktywne. Tak więc wyjście jest aktywne w stanie niskim, a wyjście można uzyskać z bramki NAND zwanej funkcją różnicową, taką jak wysoka, a funkcja pożyczki również zmienia się na wysoką. Dlatego otrzymujemy preferowane wyjście. W końcu dekoder działa jak pełny odejmowanie.

Zalety i wady

Plik zalety odejmowania obejmują następujące elementy.

  • Projektowanie odejmowania jest bardzo proste, a także implementacja
  • Zmniejszenie mocy w DSP (cyfrowe przetwarzanie sygnału)
  • Zadania obliczeniowe mogą być wykonywane z dużą prędkością.

Plik wady odejmowania obejmują następujące elementy.

  • W pół odejmowaniu nie ma warunku, aby zaakceptować dane wejściowe podobne do pożyczki z wcześniejszej fazy.
  • Prędkość odejmowania może być częściowa z powodu opóźnienia w obwodzie.

Aplikacje

Niektórzy zastosowania pełnego odejmowania obejmują następujące elementy

  • Są one generalnie stosowane w komputerach ALU (jednostka logiki arytmetycznej), aby odjąć jako CPU i GPU w zastosowaniach graficznych, aby zmniejszyć trudność obwodu.
  • Subtraktory są najczęściej używane do wykonywania funkcji arytmetycznych, takich jak odejmowanie, w kalkulatorach elektronicznych, a także w urządzeniach cyfrowych.
  • Dotyczy to również plików różne mikrokontrolery do odejmowania arytmetycznego, timerów i licznika programów (PC)
  • Subtractory są używane w procesorach do obliczania tabel, adresów itp.
  • Jest również przydatny w przypadku systemów DSP i sieciowych.
  • Są one używane głównie w przypadku jednostek ALU w komputerach do odejmowania, takich jak CPU i GPU w aplikacjach graficznych, aby zmniejszyć złożoność obwodu.
  • Są one używane głównie do wykonywania funkcji arytmetycznych, takich jak odejmowanie w urządzeniach cyfrowych, kalkulatorach itp.
  • Te odejmniki są również odpowiednie dla różnych mikrokontrolerów dla timerów, PC (licznik programu) i odejmowania arytmetycznego
  • Są one wykorzystywane przez procesory do obliczania adresów, tabel itp.
  • Implementacja tego z bramkami logicznymi, takimi jak NAND i NOR, może być wykonana z dowolnym obwodem logicznym pełnego odejmowania, ponieważ obie bramki NOR i NAND nazywane są bramkami uniwersalnymi.

Z powyższych informacji, oceniając sumator, pełny odejmowanie przy użyciu dwóch obwodów półodejmowania i jego formy tabelaryczne, można zauważyć, że Dout w pełnym odejmowaniu jest dokładnie podobny do Sout z pełnego sumatora. Jedyną odmianą jest to, że A (zmienna wejściowa) jest uzupełniana w pełnym odejmowaniu. W ten sposób można zmienić obwód pełnego sumatora w pełny odejmujący, po prostu uzupełniając i / p A, zanim zostanie podany bramki logiczne do wygenerowania ostatniego wyjścia pożyczonego bitu (Bout).

Używając dowolnego obwodu logicznego pełnego odejmowania, można zaimplementować pełny odejmowanie wykorzystujący bramki NAND i pełny odejmowanie wykorzystujący bramki nor, ponieważ zarówno bramki NAND, jak i NOR są traktowane jako bramki uniwersalne. Oto pytanie do ciebie, jaka jest różnica między pół odejmowaniem a pełnym odejmowaniem?