- Definitie en overzicht van binaire aftrekker
- Halve aftrekker
- Volledige aftrekker
- N -bit aftrekker
- Toepassingen van binaire aftrekker
- VHDL implementatie van halve aftrekker en volledige aftrekker
Definitie
Een aftrekker is een apparaat dat twee getallen aftrekt en het resultaat produceert. Een digitale of binaire aftrekker is iets dat zich bezighoudt met het aftrekken van binaire cijfers.
Een binaire aftrekker is nodig voor digitale berekeningen in een digitaal apparaat of een digitale computer. De handigste manier om ongetekende binaire getallen af te trekken, is de methode van complementen. Er zijn regels voor binaire aftrekking.
De binaire aftrekkingsregels worden als volgt vermeld. Hier is 0 logisch laag, en één is logisch hoog. A en B zijn twee ingangen.
A | B | Y = A - B |
0 | 0 | 0 |
0 | 1 | 1 (lenen 1) |
1 | 0 | 1 |
1 | 1 | 0 |
Voorbeeld van aftrekbewerkingen:
1101 - 1011
1101
- 1011
= 0010
Het antwoord is dus 0010
Methoden voor complementen kunnen als alternatief binaire aftrekkingen uitvoeren voor binaire aftrekkers. Er zijn twee soorten complementmethoden die over het algemeen worden gebruikt.
A. 1's complement
B. 2's complement
Stappen voor het uitvoeren van 1's complement:
- Zoek het 1-complement van het getal dat moet worden afgetrokken.
- Nu wordt het 1-complement opgeteld bij het getal waarvan de aftrekking gewenst is.
- Als er één carry in de laatste positie is, wordt van het resultaat van de toevoeging in stap 2 de drager verwijderd en zonder de carry aan het product toegevoegd om het eindresultaat te verkrijgen.
Laten we een voorbeeld nemen - 1101 - 1011
1's complement van 1011 = 0100
Voeg nu 1101 toe met 0100
1101
+ 0100
= 1 0001
Zoals we kunnen zien, is er een als carry, dus we verwijderen de carry en voegen de carry weer toe met het verkregen resultaat.
0001
+ 1
= 0010
Het antwoord op de aftrekking is dus 0010
Voor de complementmethode van 2
- Bereken het 2-complement.
- Het complement is nu toegevoegd met een ander nummer.
- De carry wordt afgewezen.
Laten we een voorbeeld nemen - 1101 - 1011
2's complement van een willekeurig getal wordt berekend door 1's complement uit te voeren en er 1 aan toe te voegen.
2's complement van
Voeg nu 1101 toe met 0100
1101 0100 + = 1 0001
Zoals we kunnen zien, is er een als carry, dus we verwijderen de carry en voegen de carry weer toe met het verkregen resultaat.
0001 + 1 = 0010
Het antwoord op de aftrekking is dus 0010
Digitale computers gebruiken de 2-complement-methode voor berekeningen omdat deze minder carry vereist.
De complementmethoden in het decimale getalsysteem staan bekend als de complement-methode van 9 en 10.
Diverse digitale schakelingen implementeren deze aftrekbewerking. Zij zijn -
- Halve aftrekker
- Volledige aftrekker
Een binaire aftrekker voert niet alleen optelbewerkingen uit, maar wordt ook gebruikt in digitale toepassingen. Decodering en codering van waarden, berekening van de index is een paar van de toepassingen.
Halve aftrekker
Een halve binaire aftrekker is een binaire aftrekker die één bit aan gegevens aftrekt en het resultaat produceert. Het heeft twee invoerzijden waardoor we de digitale logische waarden leveren, en het heeft twee uitgangen waardoor we de impact van de operatie ontvangen. Het resultaat kan in één cijfer worden weergegeven. Het werk toont het getal in de aftrekking dat dezelfde betekenis heeft als de afzonderlijke afgetrokken cijfers. De andere output toont het leenbit.
De waarheidstabel van de halve aftrekker
De werking van de half-binaire aftrekker wordt getoond in de volgende waarheidstabel.
A | B | Verschil | Lenen |
0 | 0 | 0 | 0 |
0 | 1 | 1 | 1 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 0 |
Half aftrekkercircuit
Uit de waarheidstabel kunnen we concluderen dat de eerste drie rijen het resultaat kunnen weergeven met een enkel cijfer. In de tweede rij wordt het werk beschreven aan de hand van twee getallen, aangezien het is geleend als 1.
Verschil = A′B + AB ′
Lenen = A′B
Dus,
Verschil = A XOR B
Lenen = A ′ EN B
We hebben één XOR-poort, één NIET-poort en één EN-poort nodig om de logica te implementeren. XOR-poort, NIET-poort, een EN-poort kan ook worden gemaakt met behulp van universele poorten zoals NAND en NOR. Dus een halve aftrekker kan worden ontworpen met alleen universele poorten.
De volgende afbeelding toont A en B als de invoer en D als het verschil, en C als ze lenen.
Volledige aftrekker
Volledige binaire aftrekker is een ander soort binaire aftrekker die het resultaat geeft van een binaire aftrekkingsbewerking. Wanneer twee binaire getallen worden afgetrokken, behalve het minst significante cijfer, is er een inlening als Bi-1 en lenen als Bi. De volledige aftrekker is ontworpen om een inleen voor elke fase af te handelen. Dat is hoe een hele order de tekortkoming van de halve aftrekker van een lopende lening overwint.
Een volledige waarheidstabel voor aftrekkers
Xi | Yi | Bi-1 | Di | Bi |
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 |
Volledig aftrekkercircuit
Verschil = A ′ B ′ Bin + AB ′ Bin′ + A ′ BBin′ + ABBin
Lenen = A ′ Bin + A ′ B + BBin
Om de uitdrukking met logische poorten te implementeren, moeten we het woord verder vereenvoudigen.
Verschil = A ′ B ′ Bin + AB ′ Bin′ + A ′ BBin′ + ABBin
Of, verschil = Bin (A′B ′ + AB) + Bin ′ (AB ′ + A′B)
Of, verschil = Bin (A XNOR B) + Bin '(A XOR B)
Of, verschil = Bin (A XOR B) ′ + Bin '(A XOR B)
Of, verschil = Bin XOR (A XOR B)
Of: verschil = (A XOR B) XOR-bak
Lenen = A ′ B ′ Bin + AB ′ Bin′ + A ′ BBin′ + ABBin
Of, lenen = A ′ B ′ Bin + A ′ BBin ′ + A ′ BBin + A ′ BBin + A ′ BBin + AB-bak
Of, lenen = A ′ Bin (B + B ′) + A′B (Bin + Bin ′) + BBin (A + A ′)
Of, lenen = A ′ Bin + A'B + BBin
De uitdrukking kan op een andere manier worden geschreven -
Bout = A ′ B ′ Bin + A ′ B Bin ′ + A ′ B Bin + AB Bin
Of, lenen = Bin (AB + A ′ B ′) + A ′ B (Bin + Bin ′)
Of, lenen = bak (A XNOR B) + A ′ B
Of, lenen = bak (A XOR B) ′ + A ′ B
Zoals het schakelschema laat zien, A, B en Binch Het circuit geeft twee output als verschiloutput en leent output. De B.in wordt op 1 gezet wanneer er een lening is in ingang A. Bin wordt vervolgens afgetrokken van A en Y.
De algemene uitdrukking kan worden geschreven als D = A - B - Bin + 2 B.uit.
Volledige aftrekkers kunnen ook worden geïmplementeerd met behulp van halve aftrekkers.
N bit aftrekker
In een binaire aftrekker met één bit kan aftrekking van slechts 1 bit worden uitgevoerd. Als we de aftrekking van n -bit moeten uitvoeren, is een binaire aftrekker van n bit vereist. Een n-bit aftrekker kan op soortgelijke wijze worden geïmplementeerd met behulp van aftrekkers in cascadevorm.
Toepassingen van aftrekkers
- Aftrekkers worden vaak gebruikt met optellers. Wanneer een opteller nodig is voor een circuit, is ook een aftrekker vereist.
- ALU, die verantwoordelijk is voor de berekening, en blijft binnen een microprocessor, heeft ook aftrekkers nodig. CPU's hebben ook aftrekkers nodig voor gebruik.
- Microcontrollers gebruiken ook aftrekkers voor het uitvoeren van de digitale berekening.
- Aftrekkers worden ook gebruikt in het domein van digitale signaalverwerking.
- Digitale computers gebruiken veel aftrekkers.
VHDL-implementatie van halve aftrekkers en volledige aftrekkers
Half aftrekker datastroom modellering
bibliotheek IEEE;
gebruik IEEE.STD_LOGIC_1164.ALL;
entiteit ENTITY_NAME is
Poort (A: in STD_LOGIC;
B: in STD_LOGIC;
IB: in STD_LOGIC;
Diff: uit STD_LOGIC;
Borr: uit STD_LOGIC);
einde ENTITY_NAME;
Architectuur Dataflow
architectuur Dataflow van ENTITY_NAME is
beginnen
Diff <= (A x of B) x of IB;
Borr <= ((niet A) en (B of IB)) of (B en IB);
dataflow beëindigen;
Volledige gegevensstroommodellering van de aftrekker
entiteit ENTITY_NAME is
Poort (A: in STD_LOGIC;
B: in STD_LOGIC;
IB: in STD_LOGIC;
Borr: uit STD_LOGIC;
Diff: uit STD_LOGIC);
einde ENTITY_NAME;
Architectuur dataflow
architectuur Gedrag van ENTITY_NAME is
beginnen
proces (A, B, IB)
beginnen
als (A = '0 ′ en B =' 0 ′ en IB = '0 ′) dan
Diff <= '0 ′;
Borr <= '0 ′;
elsif (A = '0 ′ en B =' 0 ′ en IB = '1 ′) dan
Borr <= '1 ′;
Diff <= '1 ′;
elsif (A = '0 ′ en B =' 1 ′ en IB = '0 ′) dan
Borr <= '1 ′;
Diff <= '1 ′;
elsif (A = '0 ′ en B =' 1 ′ en IB = '1 ′) dan
Borr <= '0 ′;
Diff <= '1 ′;
elsif (A = '1 ′ en B =' 0 ′ en IB = '0 ′) dan
Borr <= '1 ′;
Diff <= '0 ′;
elsif (A = '1 ′ en B =' 0 ′ en IB = '1 ′) dan
Borr <= '0 ′;
Diff <= '0 ′;
elsif (A = '1 ′ en B =' 1 ′ en IB = '0 ′) dan
Borr <= '0 ′;
Diff <= '0 ′;
anders
Borr <= '1 ′;
Diff <= '1 ′;
stop als;
eindproces;
Behavioral;
Hallo, ik ben Sudipta Roy. Ik heb B. Tech in elektronica gedaan. Ik ben een elektronica-liefhebber en houd mij momenteel bezig met elektronica en communicatie. Ik heb een grote interesse in het verkennen van moderne technologieën zoals AI en Machine Learning. Mijn geschriften zijn gewijd aan het verstrekken van nauwkeurige en bijgewerkte gegevens aan alle leerlingen. Iemand helpen bij het opdoen van kennis geeft mij enorm veel plezier.
Laten we verbinding maken via LinkedIn –