Vad är en fullständig subtraktor: Konstruktion med hjälp av logiska grindar

Prova Vårt Instrument För Att Eliminera Problem





Generellt är hela subtraktorn en av de mest använda och väsentliga kombinationslogiska kretsar . Det är en grundläggande elektronisk enhet som används för att subtrahera två binära tal. I den tidigare artikeln har vi redan gett den grundläggande teorin om halv adder & en full adder som använder de binära siffrorna för beräkningen. På samma sätt använder full-subtraktorn binära siffror som 0,1 för subtraktionen. Kretsen för detta kan byggas med logiska grindar som OR, Ex-OR, NAND gate. Ingångarna för denna subtraktor är A, B, Bin och utgångarna D, Bout.

Den här artikeln ger en idé med full subtraktorteori som omfattar förutsättningarna som vad som är en subtraktor, design med logiska grindar, sanningstabell etc. Denna artikel är användbar för ingenjörsstudenter som kan gå igenom dessa ämnen i HDL Practical lab.




Vad är en subtraktor?

Subtraktion med binära siffror kan göras med hjälp av subtraktorkretsen. Detta är en typ av kombinationslogisk krets, som används för att subtrahera två binära siffror som 0s och 1s. Subtraktion av binära siffror från 0 till 0 eller 0 till 1 ändrar inte resultatet, subtraktion av 1 till 1 kommer att resultera som 0 men subtraheringen av 1 till 0 behöver lånas.

Till exempel inkluderar tvåbitars subtraherarkretsen två ingångar som A & B medan utgångarna är skillnader och lån. Denna krets kan byggas med tillägg tillsammans med växelriktare som är belägna bland varje dataingång samt låneingång (Bin) för den tidigare fasen av FA.



Subtraktorer klassificeras i två typer som halvsubtraktor och full subtraktor. Här diskuterar vi hela subtraktorn.

Vad är en fullständig subtraktor?

Det är en elektronisk enhet eller logikkrets som utför subtraktion av två binära siffror. Det är en kombinationslogisk krets som används i digital elektronik. Många kombinationskretsar finns i integrerad kretsteknik nämligen tillägg, kodare, avkodare och multiplexrar. I den här artikeln ska vi diskutera dess konstruktion med halva subtraktorn och även termerna som sanningstabell.


Full subtraktor

Full subtraktor

Utformningen av detta kan göras med två halva subtraktorer, som involverar tre ingångar som minuend, subtrahend och lån, lånebit bland ingångarna erhålls från subtraktion av två binära siffror och subtraheras från nästa par av högre ordning bitar, utgångar som skillnad och lån.

De fullständigt blockeringsdiagram för subtraktorn visas nedan. Den främsta nackdelen med halvsubtraktorn är att vi inte kan göra en lånebit i denna subtraktor. Medan i sin design kan vi faktiskt göra en lånebit i kretsen och kan subtrahera med de återstående två i / ps. Här är A minuend, B är subtrahend & Bin lånas in. Utgångarna är Difference (Diff) & Bout (Borrow out). Den kompletta subtraktorkretsen kan erhållas genom att använda två halva subtraktorer med en extra ELLER-grind.

Fullt diagram för subtraktorblock

Komplett subtraktorkretsdiagram med logiska grindar

De kretsschema för hela subtraktorn med hjälp av basporten s visas i följande blockschema. Denna krets kan göras med två halvsubstraktorkretsar.

I den inledande halvsubtraktorkretsen är de binära ingångarna A och B. Som vi har diskuterat i föregående halvtraktorartikel kommer den att generera två utgångar, nämligen skillnad (Diff) & Låna.

Full subtraktor med logiska grindar

Full subtraktor med logiska grindar

Skillnaden o / p för den vänstra subtraktorn ges till den vänstra halva subtraktorkretsen. Diff-utgång tillhandahålls vidare till ingången till den högra halva subtraktorkretsen. Vi erbjöd Lån i bit över andra i / p av nästa halv subtraktorkrets . Återigen kommer det att ge Diff ut såväl som Låna ut lite. Den slutliga utgången för denna subtraktor är Diff-output.

Å andra sidan är upplåningen av båda halva subtraktorkretsarna ansluten till ELLER-logikgrinden. Senare än att ge ut ELLER-logik för två utgångsbitar av subtraktorn, förvärvar vi den slutliga lånen från subtraktorn. Den sista lånen ut för att beteckna MSB (en mycket viktig bit).

Om vi ​​observerar den interna kretsen för detta kan vi se två halvtaget med NAND-grind och XOR-grind med en extra ELLER-grind.

Fullständig subtraktors sanningstabell

Detta subtraktorkrets utför en subtraktion mellan två bitar, som har 3 ingångar (A, B och Bin) och två utgångar (D och Bout). Här indata indikerar minuend, subtrahend och tidigare lån, medan de två utgångarna betecknas som lån o / p och skillnad. Följande bild visar sanningstabellen för fulltraktern.

Ingångar

Utgångar

Minuend (A)

Subtrahend (B) Låna (Bin) Skillnad (D)

Låna (Bout)

0

000

0

0

0111
0101

1

0110

1

1

0010
1010

0

1

1000

1

111

1

K-Map

Förenklingen av full subtraktor K-karta för ovanstående skillnad och lån visas nedan.

K- Karta för skillnad

Ekvationerna för skillnaden såväl som Bin nämns nedan.

K- Karta för Bout

Uttrycket för skillnad är,

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

Uttrycket för Låna är,

Bout = A'Bin + A'B + BBin

Cascading of Full Subtractor Circuit

Tidigare har vi diskuterat en översikt av detta som konstruktion, kretsschema med logiska grindar. Men om vi vill subtrahera två annars mer 1-bitars nummer, är denna subtraktorkrets mycket hjälpsam att kaskadera enstaka bitnummer och subtraherar också mer än två binära tal. I sådana fall används en fullständig adderad kaskadkrets med hjälp av INTE logisk grind. Omvandlingen av kretsen från full adderare till full subtraktor kan göras med hjälp av 2: s komplementteknik.

Invertera i allmänhet subtrendingångarna för full adderaren med NOT gate, annars en inverter. Genom att lägga till denna Minuend (icke-inverterad ingång) & Subtrahend (Inverterad ingång) är LSB (bäringång) på FA-kretsen 1, vilket betyder Logik hög annars drar vi två binära siffror med 2: s komplementteknik. FA: s produktion är Diff-biten & om vi inverterar genomförandet så kan vi få MSB annars Låna bit. Egentligen kan vi utforma kretsen så att utdata kan observeras.

Verilog-kod

För kodningsdelen måste vi först kontrollera det strukturella sättet att modellera det logiska kretsschemat. Logikdiagrammet för detta kan byggas med hjälp av en AND-grind, halva subtraktorkretsar och kombinationen av logiska grindar som AND, OR, NOT, XOR-grindar. Som i strukturell modellering förklarar vi olika moduler för varje grundläggande elementarrangemang. I följande kod kan olika moduler definieras för varje grind.

Denna modul är för ELLER-grinden.

INGÅNG: a0, b0

UTGÅNG: c0

Slutligen kommer vi att förena dessa gate-exakta moduler till en enda modul. För det använder vi här instantiering av modulen. Nu kan denna instantiering användas när vi vill replikera en exakt modul eller funktion för olika ingångssatser. Först designar vi en halv subtraktor, sedan används den här modulen för att implementera en fullständig subtraktor. För att implementera detta använder vi ELLER-grinden för att kombinera o / ps för variabeln Bout. De verilog-kod för hela subtraktorn visas nedan

modul eller_gate (a0, b0, c0)

ingång a0, b0

utgång c0

tilldela c0 = a0 | b0

slutmodul

modul xor_gate (a1, b1, c1)

ingång a1, b1

utgång c1

tilldela c1 = a1 ^ b1

slutmodul

modul och_gate (a2, b2, c2)

ingång a2, b2

utgång c2

tilldela c2 = a2 & b2

slutmodul

modul not_gate (a3, b3)

ingång a3

utgång b3

tilldela b3 = ~ a3

slutmodul

modul halv_subtraktor (a4, b4, c4, d4)

ingång a4, b4

utgång c4, d4

tråd x

xor_gate u1 (a4, b4, c4)

and_gate u2 (x, b4, d4)

not_gate u3 (a4, x)

slutmodul

modul full_subtraktor (A, B, Bin, D, Bout)

ingång A, B, Bin

utgång D, Bout

tråd p, q, r

halv_subtraktor u4 (A, B, p, q)

halv_subtraktor u5 (p, Bin, D, r)

eller_gate u6 (q, r, Bout)

slutmodul

Full subtraktor med 4X1 Multiplexer

Genomförandet av subtraktion kan göras med hjälp av de två komplementmetoden. Således behöver vi använda en 1-XOR-grind som används för att invertera 1-bit och inkludera en i bärbit. Utgången från DIFFERENCE liknar utgången SUM i hela adderarkretsen men BARROW o / p liknar inte hela adderarens bärutgång men den är inverterad och komplimangerad, som A - B = A + (-B) = A + tvås komplement av B.

Utformningen av denna med 4X1 multiplexer visas i följande logiska diagram. Denna design kan göras med följande steg.

4X1 Multiplexer

4X1 Multiplexer

  • I steg 1 finns det två utgångar som Sub och Borrow. Så vi måste välja två multiplexorer.
  • I steg 2 kan sanningstabellen implementeras tillsammans med K-maps
  • I steg 3 kan de två variablerna väljas som din valda rad. Till exempel är B & C i det här fallet.

Sanningstabellen

De sanningstabellen för full subtraktor krets med 4X1 multiplexer innehåller följande

TILL

B C Sub

Låna

0

0000
0011

1

0101

1

0

1101
1001

0

1

0100
1100

0

1

111

1

Full subtraktor med hjälp av avkodare

Utformningen av en hel subtraktor med 3-8 avkodare kan göras med aktiva låga utgångar. Låt oss anta att avkodaren fungerar med hjälp av följande logiska diagram. Avkodaren innehåller tre ingångar i 3-8 avkodare. Baserat på sanningstabellen kan vi skriva mintermerna för resultat av skillnad och lån.

Från ovanstående sanningstabell,

För de olika funktionerna i sanningstabellen kan mintermerna skrivas som 1,2,4,7, och på samma sätt, för lånen kan mintermerna skrivas som 1,2,3,7. 3-8-avkodarna innehåller tre ingångar samt 8 utgångar lik0 till 7 nummer.

3-till-8-avkodare

3-till-8-avkodare

Om subtraktorns ingång är 000 kommer utgången '0' att vara aktiv och om ingången är 001 kommer utgången '1' att vara aktiv.

Nu kan subtraktorns utgångar tas från 1, 2, 4 och 7 för att ansluta den till en NAND-grind, då blir utgången skillnaden. Dessa utgångar kan anslutas till andra NAND-logikgrindar där utgången ändras till lånet.

Om ingången till exempel är 001 blir utgången 1 vilket betyder att den är aktiv. Så utgången är aktiv låg och utgången kan erhållas från NAND-grinden som kallas differensfunktion som hög och lånafunktionen ändras också till att vara hög. Därför får vi önskad produktion. Så slutligen fungerar avkodaren som en fullständig subtraktor.

Fördelar och nackdelar

De fördelarna med subtraktorn inkluderar följande.

  • Utformningen av subtraktorn är mycket enkel och implementera
  • Effektavdrag inom DSP (digital signalbehandling)
  • Beräkningsuppgifter kan utföras i hög hastighet.

De nackdelarna med subtraktorn inkluderar följande.

  • I halvsubtraktorn finns det inget villkor för att acceptera låneliknande inmatningar från den tidigare fasen.
  • Subtraktorhastigheten kan vara partiell genom fördröjningen i kretsen.

Applikationer

Några av tillämpningar av full subtraktor inkluderar följande

  • Dessa används i allmänhet för ALU (aritmetisk logikenhet) i datorer för att subtrahera som CPU och GPU för grafikapplikationer för att minska kretssvårigheten.
  • Subtraktorer används mest för att utföra aritmetiska funktioner som subtraktion, i elektroniska räknare såväl som digitala enheter.
  • Dessa är också tillämpliga för olika mikrokontroller för aritmetisk subtraktion, timers och programräknaren (PC)
  • Subtraktorer används i processorer för att beräkna tabeller, adresser etc.
  • Det är också användbart för DSP och nätverksbaserade system.
  • Dessa används främst för ALU inom datorer för att subtrahera som CPU & GPU för grafikapplikationer för att minska kretsens komplexitet.
  • Dessa används främst för att utföra aritmetiska funktioner som subtraktion inom digitala enheter, miniräknare etc.
  • Dessa subtraktorer är också lämpliga för olika mikrokontroller för timers, PC (programräknare) och aritmetisk subtraktion
  • Dessa används för processorer för att beräkna adresser, tabeller etc.
  • Implementeringen av detta med logiska grindar som NAND & NOR kan göras med valfri subtraktorlogisk krets eftersom båda NOR & NAND-grindarna kallas universella grindar.

Från ovanstående information, genom att utvärdera adderaren, full subtraktorn med två halva subtraktorkretsar och dess tabellformer, kan man märka att Dout i full-subtraktorn är exakt lik Sout av fulladderaren. Den enda variationen är att A (ingångsvariabel) kompletteras i full-subtraktorn. Det är sålunda möjligt att ändra fulladdarkretsen till en fulltraktor genom att bara komplettera i / p A innan den ges till logikportarna för att generera den senaste utlåningsbiten (Bout).

Genom att använda valfri subtraktorlogisk krets kan full subtraktor med NAND-grindar och full subtraktor med nor-grindar implementeras, eftersom både NAND- och NOR-grindarna behandlas som universella grindar. Här är en fråga till dig, vad är skillnaden mellan halv subtraherare och full subtraktor?