Mis on täielik lahutaja: ehitamine loogiliste väravate abil

Proovige Meie Instrumenti Probleemide Kõrvaldamiseks





Üldiselt on täielik lahutaja üks kõige sagedamini kasutatavaid ja olulised kombinatsioonilised loogikalülitused . See on põhiline elektrooniline seade, mida kasutatakse kahe binaararvu lahutamiseks. Varasemas artiklis oleme juba andnud põhiteooria pool lisaja ja täissumma mis kasutab arvutamiseks binaarseid numbreid. Samamoodi kasutab täislahutaja lahutamiseks binaarseid numbreid nagu 0,1. Selle vooluahelat saab ehitada loogikaväravatega, näiteks OR, Ex-OR, NAND gate. Selle lahutaja sisendid on A, B, Bin ja väljundid D, Bout.

See artikkel annab täieliku lahutajateooria idee, mis hõlmab selliseid ruume nagu lahutaja, loogikaväravatega disain, tõetabel jne. See artikkel on kasulik insenerieriala üliõpilastele, kes saavad neid teemasid HDL-i praktikalaboris läbi vaadata.




Mis on lahutaja?

Binaarsete arvude lahutamist saab teha lahutaja ahela abil. See on ühte tüüpi kombinatsiooniline loogikalülitus, mida kasutatakse kahe binaarse numbri, nagu 0s ja 1s, lahutamiseks. Binaarsete numbrite lahutamine 0-st 0-ni või 0-st 1 ei muuda tulemust, 1-st 1-st lahutades saadakse 0, kuid 1 kuni 0 lahutamine vajab laenu.

Näiteks sisaldab kahebittine lahutajaahel kahte sisendit nagu A ja B, samas kui väljundid on erinevused ja laenavad. Selle vooluahela saab ehitada nii liitjate kui ka muundurite abil, mis asuvad iga andmesisestuse ja ka FA varasema faasi laenamise (Bin) sisendi vahel.



Lahutajad klassifitseeritakse kahte tüüpi, näiteks pool- ja täielik lahutaja. Siin arutleme täieliku lahutaja üle.

Mis on täielik lahutaja?

See on elektrooniline seade või loogikaahel mis teeb kahe kahendarvu lahutamise. See on kombineeritud loogikalülitus, mida kasutatakse digitaalses elektroonikas. Paljud kombineeritud vooluringid on saadaval integraallülituse tehnoloogia nimelt lisajad, kooderid, dekoodrid ja multiplekserid. Selles artiklis käsitleme selle ehitamist, kasutades poollahutajat ja ka selliseid termineid nagu tõetabel.


Täislahutaja

Täislahutaja

Selle saab kujundada kaks poolt lahutajat, mis hõlmab kolme sisendit, nagu minuend, subtrahend ja laen, sisendite hulgas laenubitt saadakse kahe binaarse numbri lahutamisel ja lahutatakse järgmisest kõrgema järgu paarist bitti, väljundeid erinevuse ja laenuna.

The täielik lahutajate plokkskeem on näidatud allpool. Poole lahutaja peamine puudus on see, et me ei saa selles lahutamises teha laenu bitti. Kui selle kujunduses saame tegelikult vooluringi laenupiti teha ja ülejäänud kahe i / ps-ga lahutada. Siin on A minuend, B on alahankija ja Bin laenab sisse. Väljunditeks on Difference (Diff) ja Bout (Borrow out). Täieliku lahutajate ahela saab kahe ekstra VÕR-väravaga poolarvutiga.

Täislahutaja plokkskeem

Loogikaväravatega täielik lahutaja vooluahela skeem

The täieliku lahutaja elektriskeem, kasutades põhiväravat s on näidatud järgmises plokkskeemis. Seda vooluringi saab teha kahe pool-lahutaja ahelaga.

Esialgses pool-lahutajate ahelas on binaarsed sisendid A ja B. Nagu me eelmises pool-lahutajate artiklis arutlesime, genereerib see kaks väljundit, nimelt erinevus (Diff) ja laen.

Loogikaväravate abil täielik lahutaja

Loogikaväravate abil täielik lahutaja

Vasaku lahutaja vahe o / p antakse vasakpoolse lahutaja ahelale. Hajutatud väljund antakse edasi parempoolse lahutaja ahela sisendisse. Pakkusime laenu järgmises i / p-s natuke pool lahutaja vooluringi . Veelkord annab see nii Diffi kui ka natuke laenu. Selle lahutaja lõplik väljund on diferentsiaal.

Teisest küljest on mõlema poole lahutaja vooluringi laen ühendatud OR loogikaväravaga. Hiljem kui lahutaja kahe väljundbiti VÕI loogika väljaandmiseks omandame lõpliku laenu lahutajalt. Viimane laen MSB tähistamiseks (kõige olulisem bit).

Kui jälgime selle sisemist vooluringi, näeme kahte NAND-värava ja XOR-väravaga ekstra VÕI-väravaga Half Subtractoreid.

Täielik lahutajate tõetabel

See lahutaja vooluring täidab lahutamise kahe biti vahel, millel on 3 sisendit (A, B ja Bin) ja kaks väljundit (D ja Bout). Siin osutavad sisendid minuendile, subtrahendile ja eelmisele laenule, kusjuures kahte väljundit tähistatakse kui laenu o / p ja erinevust. Järgmisel pildil on toodud täislahutaja tõetabel.

Sisendid

Väljundid

Minuend (A)

Subtrahend (B) Laenama (prügikast) Erinevus (D)

Laen (Bout)

0

000

0

0

0111
0101

1

0110

1

1

0010
1010

0

1

1000

1

111

1

K-kaart

Programmi lihtsustamine täielik lahutaja K-kaart ülaltoodud erinevuse ja laenu jaoks on näidatud allpool.

K- Erinevuste kaart

Allpool on toodud nii erinevuse kui ka Bini võrrandid.

K- Bouti kaart

Erinevuse väljend on

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

Borrowi väljend on

Bout = A’Bin + A’B + BBin

Täislahutaja ahela kaskaad

Varem oleme arutanud selle üle ülevaadet nagu ehitus, loogikaväravatega skeem. Aga kui me tahame lahutada veel kaks muidu 1-bitist numbrit, on sellest lahutajaahelast palju abi ühe bitise arvu kaskaadimisel ja lahutatakse ka rohkem kui kaks kahendarvu. Sellistel juhtudel kasutatakse EI-loogikavärava abil täissummuti kaskaadiga vooluahelat. Vooluahela teisendamise täissummast täislahutajaks saab teha kasutades 2 ’komplemendi tehnikat.

Üldiselt pöörake täissummeri alamkohtade sisendid ümber, kasutades NOT gate, muidu inverterit. Selle Minuend (mitteinverteeritav sisend) ja Subtrahend (ümberpööratud sisend) lisamisega on FA vooluahela LSB (kandesisend) 1, mis tähendab loogilist kõrget, vastasel juhul lahutame kaks binaarset numbrit kasutades 2 ’komplementaarset tehnikat. FA väljundiks on Diff-bit ja kui me teostuse ümber pöörame, siis võime MSB-d saada muul viisil Borrow bit. Tegelikult saame vooluahela kujundada nii, et oleks võimalik jälgida väljundit.

Verilogi kood

Kodeeriva osa jaoks peame kõigepealt kontrollima loogikalülituse skeemi struktuurilist modelleerimise viisi. Selle loogika skeemi saab koostada AND-värava, poolte lahutajate ahelate ja loogikaväravate kombinatsioonidega nagu AND, OR OR NOT, XOR-väravad. Nagu struktuurimudelis, selgitame ka kõiki elementide põhikorralduse jaoks erinevaid mooduleid. Järgmises koodis saab iga värava jaoks määratleda erinevad moodulid.

See moodul on mõeldud OR-väravale.

SISEND: a0, b0

VÄLJUND: c0

Lõpuks ühendame need värava täpsed moodulid ainsaks mooduliks. Selleks kasutame siin mooduli kiirendamist. Nüüd saab seda kiirendust kasutada, kui soovime korrata täpset moodulit või funktsiooni mitmesuguste sisendkomplektide jaoks. Kõigepealt kavandame poole lahutaja, seejärel kasutatakse seda moodulit täislahutaja rakendamiseks. Selle rakendamiseks kasutame OR-väravat Bout muutuja o / ps ühendamiseks. The täieliku lahutaja verilogi kood on näidatud allpool

moodul or_gate (a0, b0, c0)

sisend a0, b0

väljund c0

määrake c0 = a0 | b0

lõppmoodul

moodul xor_gate (a1, b1, c1)

sisend a1, b1

väljund c1

määrake c1 = a1 ^ b1

lõppmoodul

moodul and_gate (a2, b2, c2)

sisend a2, b2

väljund c2

määrake c2 = a2 & b2

lõppmoodul

moodul not_gate (a3, b3)

sisend a3

väljund b3

määrake b3 = ~ a3

lõppmoodul

mooduli poolhoidja (a4, b4, c4, d4)

sisend a4, b4

väljund c4, d4

traat x

xor_gate u1 (a4, b4, c4)

and_gate u2 (x, b4, d4)

not_gate u3 (a4, x)

lõppmoodul

moodul full_subtractor (A, B, Bin, D, Bout)

sisend A, B, prügikast

väljund D, Bout

traat p, q, r

poolhaldaja u4 (A, B, p, q)

poolhaldaja u5 (p, prügikast, D, r)

or_gate u6 (q, r, Bout)

lõppmoodul

4X1 multiplekserit kasutades täielik lahutaja

Lahutamise saab teostada kahe komplementmeetodi abil. Seega vajame 1-XOR-värava kasutamist, mida kasutatakse 1-bitise inverteerimiseks ja ühe kandmisbitiks lisamiseks. DIFFERENCE väljund on sarnane väljundiga SUM kogu liiteahelas, kuid BARROW o / p ei ole sarnane kogu lisaja kandeväljundiga, kuid see on nii ümber pööratud kui ka kompliment, nagu A - B = A + (-B) = A + kahe täiend B

4X1 multiplekserit kasutades on selle disain näidatud järgmises loogika diagrammis. Selle kujunduse saab teha järgmiste sammude abil.

4X1 multiplekser

4X1 multiplekser

  • 1. etapis on kaks väljundit, näiteks Sub ja Borrow. Seega peame valima 2 multiplekserit.
  • 2. etapis saab tõetabeli rakendada koos K-kaartidega
  • 3. etapis saab valida kaks muutujat valitud reana. Näiteks on sel juhul B & C.

Tõe tabel

The täieliku lahutaja tõetabel 4X1 multiplekserit kasutav vooluring sisaldab järgmist

TO

B C Alam

Laenake

0

0000
0011

1

0101

1

0

1101
1001

0

1

0100
1100

0

1

111

1

Dekooderit kasutades täielik lahutaja

3-8 dekoodreid kasutava täieliku lahutaja kavandamise saab teha aktiivsete madalate väljundite abil. Oletame, et dekooder töötab järgmise loogika skeemi abil. Dekooder sisaldab kolme sisendit 3-8 dekoodris. Tõetabeli põhjal saame kirjutada erinevuste ja laenude väljundite mintermid.

Ülaltoodud tõetabeli põhjal

Tõetabeli erinevate funktsioonide jaoks võib mintermide kirjutada kujul 1,2,4,7 ja sarnaselt laenu puhul võib mintermide kirjutada ka 1,2,3,7. 3-8 dekoodrit sisaldavad nii kolme sisendit kui ka 8 väljundit, milleks on 7 kuni 7 numbrit.

3 kuni 8 dekooder

3 kuni 8 dekooder

Kui lahutaja sisend on 000, on väljund ‘0’ aktiivne ja kui sisend on 001, siis aktiivne on väljund ’1.

Nüüd saab lahutaja väljundid võtta 1, 2, 4 ja 7, et ühendada see NAND-väravaga, siis on erinevus väljundis. Neid väljundeid saab ühendada teiste NANDi loogikaväravatega, kus väljund muutub laenuks.

Näiteks kui sisendiks on 001, siis on väljundiks 1, mis tähendab, et see on aktiivne. Seega on väljund aktiivne madal ja väljundi saab NAND-väravast, mida nimetatakse diferentsiaalfunktsiooniks, näiteks kõrge ja laenufunktsioon muutub ka kõrgeks. Seetõttu saame eelistatud väljundi. Nii et lõpuks töötab dekooder nagu täielik lahutaja.

Eelised ja puudused

The lahutaja eelised sisaldama järgmist.

  • Lahutaja kavandamine on väga lihtne ja ka rakendamine
  • Võimsuse mahaarvamine DSP-s (digitaalne signaalitöötlus)
  • Arvutusülesandeid saab täita suurel kiirusel.

The lahutaja puudused sisaldama järgmist.

  • Poole lahutaja puhul pole tingimust, et aktsepteerida varasemast faasist laenulaadset sisendit.
  • Lahutaja kiirus võib olla osaline vooluringi viivituse kaudu.

Rakendused

Mõned täieliku lahutaja rakendused sisaldama järgmist

  • Neid kasutatakse tavaliselt arvutite ALU (aritmeetiline loogikaüksus) jaoks, et graafika rakenduste jaoks lahutada protsessori ja graafikaprotsessorina vooluringi raskuste vähendamiseks.
  • Lahutajaid kasutatakse enamasti aritmeetiliste funktsioonide, näiteks lahutamise, teostamiseks nii elektroonilistes kalkulaatorites kui ka digitaalseadmetes.
  • Need kehtivad ka erinevad mikrokontrollerid aritmeetilise lahutamise, taimerite ja programmiloenduri (PC) jaoks
  • Lahutajaid kasutatakse protsessorites tabelite, aadresside jms arvutamiseks.
  • See on kasulik ka DSP ja võrgupõhiste süsteemide jaoks.
  • Neid kasutatakse peamiselt arvutite ALU jaoks graafikarakenduste lahutamiseks nagu protsessor ja GPU, et vähendada vooluahela keerukust.
  • Neid kasutatakse peamiselt aritmeetiliste funktsioonide täitmiseks, näiteks lahutamine digitaalseadmetes, kalkulaatorites jne.
  • Need lahutajad sobivad ka mitmesuguste taimeri mikrokontrollerite, arvuti (programmiloendur) ja aritmeetilise lahutamise jaoks
  • Neid kasutatakse protsessorite jaoks aadresside, tabelite jms arvutamiseks.
  • Selle saab loogikaväravatega nagu NAND & NOR rakendada mis tahes täieliku lahutajate loogikaahelaga, kuna mõlemat NOR & NANDi väravat nimetatakse universaalseks väravaks.

Ülaltoodud teabe põhjal võib summeerija, täislahutaja, kasutades kahte poolast lahutaja ahelat, ja selle tabelivormide hindamisel märgata, et täislahutaja Dout on täpselt sarnane täissummuti Soutiga. Ainus variatsioon on see, et täislahutajale lisatakse A (sisendmuutuja). Seega on saavutatav täissumma vooluahela täielikuks lahutajaks muutmine, täites i / p A lihtsalt enne, kui see antakse loogika väravad viimase laenubitti väljundi (Bout) genereerimiseks.

Kasutades mis tahes täieliku lahutaja loogikaahelat, saab rakendada NAND-väravaid ja täis-lahutajaid, mis kasutavad väravaid, täisvähendajat, kuna nii NAND- kui ka NOR-väravaid käsitletakse kui universaalseid väravaid. Siin on teile küsimus, mis vahe on pool- ja täislahutajal?