7 Γεγονότα σχετικά με τον δυαδικό αφαιρετήρα: μισός και πλήρης αφαιρετικός

  • Ορισμός και επισκόπηση του Binary Subtractor
  • Μισό αφαίρεση
  • Πλήρης αφαίρεση
  • N -bit αφαιρετής
  • Εφαρμογές δυαδικού αφαιρέτη
  • VHDL υλοποίηση μισού αφαιρέτης και πλήρους αφαιρέτης

Ορισμός

Ο αφαιρετικός είναι μια συσκευή που αφαιρεί δύο αριθμούς και παράγει το αποτέλεσμα. Ένας ψηφιακός ή δυαδικός αφαιρετικός είναι κάτι που ασχολείται με την Αφαίρεση δυαδικών ψηφίων.

Απαιτείται δυαδικός αφαιρέτης για ψηφιακό υπολογισμό μέσα σε μια ψηφιακή συσκευή ή έναν ψηφιακό υπολογιστή. Ο πιο βολικός τρόπος αφαίρεσης μη υπογεγραμμένων δυαδικών αριθμών είναι η μέθοδος συμπληρώσεων. Υπάρχουν κανόνες για δυαδική αφαίρεση.

Οι κανόνες δυαδικής αφαίρεσης αναφέρονται ως εξής. Εδώ το 0 είναι λογικό χαμηλό και ένα είναι λογικό υψηλό. Τα Α και Β είναι δύο είσοδοι.

ABΥ = Α - Β
000
011 (δανεισμός 1)
101
110
Πίνακας αλήθειας δυαδικής αφαίρεσης

Παράδειγμα εργασιών αφαίρεσης:

1101 - 1011

1101

- 1011

= 0010

Έτσι, η απάντηση είναι 0010

Οι μέθοδοι συμπληρωμάτων μπορούν εναλλακτικά να πραγματοποιούν δυαδικές αφαιρέσεις για δυαδικούς αφαιρέτες. Υπάρχουν δύο τύποι μεθόδων συμπληρώματος που χρησιμοποιούνται γενικά.

Συμπλήρωμα A. 1

Συμπλήρωμα Β. 2

Βήματα για την εκτέλεση του συμπληρώματος 1:

  1. Μάθετε το συμπλήρωμα 1 του αριθμού που πρόκειται να αφαιρεθεί.
  2. Τώρα το συμπλήρωμα 1 προστίθεται στον αριθμό από τον οποίο επιθυμείται η Αφαίρεση.
  3. Όπου υπάρχει μία μεταφορά στην τελευταία θέση, από το αποτέλεσμα της προσθήκης στο βήμα 2, ο φορέας αφαιρείται και προστίθεται στο προϊόν χωρίς τη μεταφορά για να ληφθεί το τελικό αποτέλεσμα.

Ας πάρουμε ένα παράδειγμα - 1101 - 1011

1 του συμπληρώματος 1011 = 0100

Τώρα, προσθέστε 1101 με 0100

1101

 + 0100

 = 1 0001

Όπως μπορούμε να δούμε, υπάρχει μια μεταφορά, οπότε αφαιρούμε τη μεταφορά και προσθέτουμε ξανά τη μεταφορά με το αποτέλεσμα που αποκτήθηκε.

0001

+ 1

= 0010

Έτσι, η απάντηση στην αφαίρεση είναι 0010

Για τη μέθοδο συμπληρώματος 2

  1. Υπολογίστε το συμπλήρωμα 2.
  2. Το συμπλήρωμα προστίθεται τώρα με έναν άλλο αριθμό.
  3. Η μεταφορά απορρίπτεται.

Ας πάρουμε ένα παράδειγμα - 1101 - 1011

Το συμπλήρωμα 2 οποιουδήποτε αριθμού υπολογίζεται εκτελώντας το συμπλήρωμα 1 και προσθέτοντας 1 σε αυτό.

2 του συμπληρώματος του

Τώρα, προσθέστε 1101 με 0100

1101 0100 + = 1 0001

Όπως μπορούμε να δούμε, υπάρχει μια μεταφορά, οπότε αφαιρούμε τη μεταφορά και προσθέτουμε ξανά τη μεταφορά με το αποτέλεσμα που αποκτήθηκε.

+ = 0001 1 0010

Έτσι, η απάντηση στην αφαίρεση είναι 0010

Οι ψηφιακοί υπολογιστές χρησιμοποιούν τη μέθοδο συμπληρώματος 2 για υπολογισμούς, καθώς απαιτεί λιγότερη μεταφορά.

Οι μέθοδοι συμπληρώματος στο σύστημα δεκαδικών αριθμών είναι γνωστές ως μέθοδος συμπληρώματος 9 και 10.

Διάφορα ψηφιακά κυκλώματα εφαρμόζουν αυτήν τη λειτουργία αφαίρεσης. Αυτοί είναι -

  • Μισό αφαίρεση
  • Πλήρης αφαίρεση

Ένας δυαδικός αφαιρέτης όχι μόνο εκτελεί λειτουργίες προσθήκης αλλά επίσης χρησιμοποιείται σε ψηφιακές εφαρμογές. Αποκωδικοποίηση και κωδικοποίηση τιμών, ο υπολογισμός του ευρετηρίου είναι μερικές από τις εφαρμογές του.

Μισό αφαίρεση

Ένας μισός δυαδικός αφαιρέτης είναι ένας δυαδικός αφαιρέτης που αφαιρεί ένα bit δεδομένων και παράγει το αποτέλεσμα. Έχει δύο πλευρές εισόδου μέσω των οποίων παρέχουμε τις τιμές ψηφιακής λογικής και έχει δύο εξόδους μέσω των οποίων λαμβάνουμε τον αντίκτυπο της λειτουργίας. Το αποτέλεσμα μπορεί να εμφανίζεται σε ένα μόνο ψηφίο. Το έργο δείχνει τον αριθμό στην αφαίρεση που έχει την ίδια σημασία με τα ατομικά ψηφία που αφαιρούνται. Η άλλη έξοδος δείχνει το bit δανεισμού.

Μισό αφαίρεση με χρήση NAND
Εφαρμογή πύλης NAND. Πιστωτική εικόνα - ΝιτιαναμπίγκιανΜισό αφαίρεση με χρήση NANDCC BY-SA 4.0

Ο πίνακας αλήθειας μισού αφαίρεσης

Η λειτουργία του μισού δυαδικού αφαιρετή φαίνεται στον παρακάτω πίνακα αλήθειας.

ABΔιαφοράΔανείζομαι
0000
0111
1010
1100
Πίνακας αλήθειας για μισό δυαδικό αφαίρεση

Κύκλωμα μισού αφαίρεσης

Από τον πίνακα αλήθειας, μπορούμε να συμπεράνουμε ότι οι τρεις πρώτες σειρές μπορούν να αντιπροσωπεύουν το αποτέλεσμα χρησιμοποιώντας ένα μόνο ψηφίο. Στη δεύτερη σειρά, το έργο περιγράφεται χρησιμοποιώντας δύο αριθμούς καθώς έχει δανειστεί ως 1.

Διαφορά = A′B + AB ′

Δανεισμός = A′B 

Έτσι

Διαφορά = A XOR B

Δανεισμός = A ′ ΚΑΙ Β

Χρειαζόμαστε μία πύλη XOR, μία πύλη ΟΧΙ και μία πύλη AND για να εφαρμόσουμε τη λογική. Η πύλη XOR, η πύλη ΟΧΙ, μια πύλη AND μπορεί επίσης να κατασκευαστεί χρησιμοποιώντας καθολικές πύλες όπως NAND και NOR Έτσι, ένας μισός αφαιρέτης μπορεί να σχεδιαστεί χρησιμοποιώντας μόνο καθολικές πύλες.

Η παρακάτω εικόνα δείχνει το Α και το Β ως την είσοδο και το Δ ως τη διαφορά και το Γ καθώς δανείζονται.

Μισός δυαδικός αφαιρέτης
Μισό αφαίρεση

Πλήρης αφαίρεση

Το Full Binary Subtractor είναι ένα άλλο είδος δυαδικού Subtractor που παρέχει το αποτέλεσμα μιας λειτουργίας δυαδικής αφαίρεσης. Όταν αφαιρούνται δύο δυαδικοί αριθμοί, εκτός από το λιγότερο σημαντικό ψηφίο, υπάρχει δανεισμός ως Bi-1 και δανειστείτε ως Βi. Το πλήρες Subtractor έχει σχεδιαστεί για να χειρίζεται ένα δανεισμό για κάθε στάδιο. Αυτός είναι ο τρόπος με τον οποίο μια ολόκληρη παραγγελία ξεπερνά το μειονέκτημα του μισού Subtractor του τρέχοντος δανεισμού.

Ένας πλήρης πίνακας αλήθειας αφαίρεσης

XiYiBi-1DiBi
00000
00111
01011
01101
10010
10100
11000
11111
Πλήρης πίνακας αλήθειας Subtractor

Πλήρες κύκλωμα αφαίρεσης

Διαφορά = A ′ B ′ Bin + ΑΒ ′ Βin′ + A ′ BBin′ + ABBin 

Δανεισμός = A ′ Bin + A ′ B + BBin 

Για να εφαρμόσουμε την έκφραση χρησιμοποιώντας λογικές πύλες, πρέπει να απλοποιήσουμε περαιτέρω τη λέξη.

Διαφορά = A ′ B ′ Bin + ΑΒ ′ Βin′ + A ′ BBin′ + ABBin 

 Ή, Διαφορά = Βin (A′B ′ + AB) + Βin ′ (AB ′ + A′B)

 Ή, Διαφορά = Βin (A XNOR B) + Βin ′ (A XOR Β)

 Ή, Διαφορά = Βin (A XOR B) ′ + Βin ′ (A XOR Β)

 Ή, Διαφορά = Βin XOR (A XOR B)

  Ή, Διαφορά = (A XOR B) XOR Bin

Δανεισμός = A ′ B ′ Bin + ΑΒ ′ Βin′ + A ′ BBin′ + ABBin 

 Ή, Δανεισμός = A ′ B ′ Bin + Α ′ BBin ′ + A ′ BBin + Α ′ BBin + Α ′ BBin + AB Bin

 Ή, Δανεισμός = A ′ Bin (B + B ′) + A′B (Βin + Βin ′) + BBin (Α + Α ′)

 Ή, Δανεισμός = A ′ Bin + A′B + BBin

Η έκφραση μπορεί να γραφτεί με άλλο τρόπο -

Περίοδος = A ′ B ′ Bin + A ′ B Bin ′ + A ′ B Bin + AB Bin     

    Ή, Δάνειο = Κάδος (AB + A ′ B ′) + A ′ B (Bin + Bin ′)

     Ή, Δάνειο = Κάδος (A XNOR B) + A ′ B

    Ή, Δάνειο = Κάδος (A XOR B) ′ + A ′ B

Πλήρεις Δυαδικοί Αφαιρείς
Εισάγονται πλήρεις αφαιρέτες, X, Y, Z

Όπως δείχνει το διάγραμμα κυκλώματος, A, B και Bμέσα Το κύκλωμα δίνει δύο έξοδο ως έξοδο διαφοράς και έξοδο δανεισμού. Το Βin ορίζεται σε 1 όποτε υπάρχει δανεισμός στην είσοδο A. Bin στη συνέχεια αφαιρείται από το Α και το Υ.

Η γενική έκφραση μπορεί να γραφτεί ως D = A - B - Bin + 2 Βέξω.

Πλήρεις αφαιρέτες μπορούν επίσης να εφαρμοστούν χρησιμοποιώντας μισούς αφαιρέτες.

1920px Πλήρες δευτερεύον Fixed.svg
Πλήρεις αφαιρέτες που χρησιμοποιούν Half Subtractor

Αφαίρεση N bit

Σε έναν δυαδικό αφαιρετήρα ενός bit, μπορεί να πραγματοποιηθεί αφαίρεση μόνο 1 bit. Αν πρέπει να κάνουμε Αφαίρεση n-bit, τότε απαιτείται δυαδικός αφαιρετήρας n bit. Ένας αφαιρετικός n-bit μπορεί να υλοποιηθεί με παρόμοιο τρόπο χρησιμοποιώντας αφαιρέσεις σε διαδοχική μορφή.

Εφαρμογές αφαιρέσεων

  • Οι αφαιρέτες χρησιμοποιούνται συχνά με πρόσθετα. Όποτε απαιτείται ένας αθροιστής για ένα κύκλωμα, απαιτείται επίσης ένας αφαιρέτης.
  • Η ALU, η οποία είναι υπεύθυνη για τον υπολογισμό, και παραμένει μέσα σε α μικροεπεξεργαστής, χρειάζεται και αφαιρέσεις. Οι CPU χρειάζονται επίσης αφαιρέσεις για λειτουργία.
  • Οι μικροελεγκτές χρησιμοποιούν επίσης αφαιρέτες για την εκτέλεση του ψηφιακού υπολογισμού.
  • Οι αφαιρετές χρησιμοποιούνται επίσης στον τομέα επεξεργασίας ψηφιακών σημάτων.
  • Οι ψηφιακοί υπολογιστές χρησιμοποιούν πολλές αφαιρέσεις.

VHDL Υλοποίηση μισών αφαιρέσεων και πλήρων αφαιρέσεων

Μοντελοποίηση ροής δεδομένων μισού αφαιρούμενου

βιβλιοθήκη IEEE;

χρησιμοποιήστε το IEEE.STD_LOGIC_1164.ALL;

οντότητα ENTITY_NAME είναι

    Θύρα (A: στο STD_LOGIC;

           Β: στο STD_LOGIC;

           IB: στο STD_LOGIC;

           Διαφορά: έξω STD_LOGIC;

           Borr: έξω STD_LOGIC);

τέλος ENTITY_NAME;

Ροή δεδομένων αρχιτεκτονικής

αρχιτεκτονική Dataflow του ENTITY_NAME είναι

αρχίζουν

Diff <= (A xor B) xor IB;

Borr <= ((όχι A) και (B ή IB)) ή (B και IB);

τελική ροή δεδομένων;

Πλήρης μοντελοποίηση ροής δεδομένων Subtractor

οντότητα ENTITY_NAME είναι

    Θύρα (A: στο STD_LOGIC;

           Β: στο STD_LOGIC;

           IB: στο STD_LOGIC;

           Borr: έξω STD_LOGIC;

           Diff: έξω STD_LOGIC);

τέλος ENTITY_NAME;

Ροή δεδομένων αρχιτεκτονικής

αρχιτεκτονική Συμπεριφορά του ENTITY_NAME είναι

αρχίζουν

διαδικασία (A, B, IB)

αρχίζουν

εάν (A = '0 ′ και B =' 0 ′ και IB = '0 ′) τότε

Diff <= '0 ′;

Borr <= '0 ′;

elsif (A = '0 ′ και B =' 0 ′ και IB = '1 ′) τότε

Borr <= '1 ′;

Diff <= '1 ′;

elsif (A = '0 ′ και B =' 1 ′ και IB = '0 ′) τότε

Borr <= '1 ′;

Diff <= '1 ′;

elsif (A = '0 ′ και B =' 1 ′ και IB = '1 ′) τότε

Borr <= '0 ′;

Diff <= '1 ′;

elsif (A = '1 ′ και B =' 0 ′ και IB = '0 ′) τότε

Borr <= '1 ′;

Diff <= '0 ′;

elsif (A = '1 ′ και B =' 0 ′ και IB = '1 ′) τότε

Borr <= '0 ′;

Diff <= '0 ′;

elsif (A = '1 ′ και B =' 1 ′ και IB = '0 ′) τότε

Borr <= '0 ′;

Diff <= '0 ′;

αλλιώς

Borr <= '1 ′;

Diff <= '1 ′;

τέλος εαν;

τελική διαδικασία

τέλος Συμπεριφορά?