Τι είναι ένας πλήρης αφαιρέτης: Κατασκευή χρησιμοποιώντας Logic Gates

Δοκιμάστε Το Όργανο Μας Για Την Εξάλειψη Των Προβλημάτων





Γενικά, η πλήρης αφαίρεση είναι ένα από τα πιο χρησιμοποιημένα και βασικά συνδυαστικά λογικά κυκλώματα . Είναι μια βασική ηλεκτρονική συσκευή, που χρησιμοποιείται για την αφαίρεση δύο δυαδικών αριθμών. Στο προηγούμενο άρθρο, ήδη έχουμε δώσει τη βασική θεωρία του μισός αθροιστής και πλήρης αθροιστής που χρησιμοποιεί τα δυαδικά ψηφία για τον υπολογισμό. Ομοίως, ο πλήρης αφαίρεση χρησιμοποιεί δυαδικά ψηφία όπως 0,1 για την αφαίρεση. Το κύκλωμα αυτού μπορεί να κατασκευαστεί με λογικές πύλες όπως OR, Ex-OR, NAND gate. Οι είσοδοι αυτού του αφαιρέτη είναι A, B, Bin και οι έξοδοι είναι D, Bout.

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




Τι είναι ένας αφαιρέτης;

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

Για παράδειγμα, το κύκλωμα αφαίρεσης δύο bit περιλαμβάνει δύο εισόδους όπως το A & B, ενώ οι έξοδοι είναι διαφορά και δανεισμός. Αυτό το κύκλωμα μπορεί να κατασκευαστεί με πρόσθετα μαζί με μετατροπείς που βρίσκονται μεταξύ κάθε εισόδου δεδομένων καθώς και δανεισμού (Bin) εισόδου της προηγούμενης φάσης του FA.



Οι αφαιρούμενοι ταξινομούνται σε δύο τύπους, όπως ο μισός αφαιρέτης και ο πλήρης αφαίρεση. Εδώ συζητάμε για το πλήρες αφαίρεσης.

Τι είναι ένας πλήρης αφαιρέτης;

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


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

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

Ο σχεδιασμός αυτού μπορεί να γίνει από δύο μισούς αφαιρέτες, οι οποίοι περιλαμβάνουν τρεις εισόδους όπως minuend, subtrahend και δανεισμός, το bit δανεισμού μεταξύ των εισόδων λαμβάνεται από την αφαίρεση δύο δυαδικών ψηφίων και αφαιρείται από το επόμενο ζεύγος υψηλότερης τάξης bits, έξοδοι ως διαφορά και δανεισμός.

ο πλήρες διάγραμμα μπλοκ αφαίρεσης φαίνεται παρακάτω. Το κύριο μειονέκτημα του μισού αφαιρέτη είναι ότι δεν μπορούμε να κάνουμε ένα Borrow bit σε αυτόν τον αφαιρέτη. Ενώ στο σχεδιασμό του, στην πραγματικότητα μπορούμε να κάνουμε ένα Borrow bit στο κύκλωμα και μπορούμε να αφαιρέσουμε με τα υπόλοιπα δύο i / ps. Εδώ το A είναι minuend, το B είναι subtrahend & το Bin δανείζεται. Οι έξοδοι είναι Difference (Diff) & Bout (Borrow out). Το πλήρες κύκλωμα αφαίρεσης μπορεί να ληφθεί χρησιμοποιώντας δύο μισούς αφαιρέτες με μια επιπλέον πύλη OR.

Πλήρες διάγραμμα μπλοκ αφαίρεσης

Πλήρες διάγραμμα κυκλώματος αφαίρεσης με λογικές πύλες

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

Στο αρχικό κύκλωμα μισού-αφαιρετή, οι δυαδικές είσοδοι είναι Α και Β. Όπως έχουμε συζητήσει στο προηγούμενο άρθρο μισού αφαιρετή, θα δημιουργήσει δύο εξόδους, δηλαδή διαφορά (Diff) & Borrow.

Πλήρης αφαίρεση χρησιμοποιώντας Logic Gates

Πλήρης αφαίρεση χρησιμοποιώντας Logic Gates

Η διαφορά o / p του αριστερού αφαιρέτη δίνεται στο κύκλωμα του αριστερού μισού αφαιρέτη. Η έξοδος Diff παρέχεται περαιτέρω στην είσοδο του δεξιού μισού κυκλώματος αφαίρεσης. Προσφέραμε το Δάνειο λίγο στα άλλα i / p του επόμενου κύκλωμα μισού αφαίρεσης . Για άλλη μια φορά θα δώσει στον Diff καθώς επίσης και το δανεισμό. Η τελική έξοδος αυτού του αφαίρεσης είναι η έξοδος Diff.

Από την άλλη πλευρά, το Δάνειο και από τα δύο κυκλώματα μισού αφαιρετικού συνδέεται με την πύλη λογικής OR. Αργότερα, παρά να δώσουμε λογική Ή για δύο bit εξόδου του αφαιρέτη, αποκτούμε το τελικό Δάνειο από τον αφαιρέτη. Το τελευταίο Δανεισμός για να δηλώσει το MSB (το πιο σημαντικό bit).

Εάν παρατηρήσουμε το εσωτερικό κύκλωμα αυτού, μπορούμε να δούμε δύο μισούς αφαιρέτες με πύλη NAND και πύλη XOR με επιπλέον πύλη OR.

Πλήρης πίνακας αλήθειας Subtractor

Αυτό κύκλωμα αφαίρεσης εκτελεί μια αφαίρεση μεταξύ δύο δυαδικών ψηφίων, η οποία έχει 3 εισόδους (A, B, και Bin) και δύο εξόδους (D και Bout). Εδώ οι είσοδοι υποδηλώνουν minuend, subtrahend και προηγούμενο δανεισμό, ενώ οι δύο έξοδοι δηλώνονται ως δανεισμός o / p και διαφορά. Η παρακάτω εικόνα δείχνει τον πίνακα αλήθειας του πλήρους αφαιρέτη.

Είσοδοι

Έξοδοι

Minuend (Α)

Υποκατάστημα (B) Δανεισμός (Κάδος) Διαφορά (D)

Δανεισμός (περίοδος)

0

000

0

0

0111
0101

1

0110

1

1

0010
1010

0

1

1000

1

111

1

Κ-χάρτης

Η απλοποίηση του πλήρης χάρτης αφαίρεσης αγωγών για την παραπάνω διαφορά και δανεισμός φαίνεται παρακάτω.

K- Χάρτης για τη διαφορά

Οι εξισώσεις για τη διαφορά καθώς και ο Bin αναφέρονται παρακάτω.

K- Χάρτης για περίοδο

Η έκφραση για Διαφορά είναι,

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

Η έκφραση για το Borrow είναι,

Bout = A'Bin + A'B + BBin

Καταρράκτης του πλήρους κυκλώματος αφαίρεσης

Προηγουμένως, έχουμε συζητήσει μια επισκόπηση αυτού του τύπου, το διάγραμμα κυκλώματος με λογικές πύλες. Αν όμως θέλουμε να αφαιρέσουμε δύο διαφορετικά αριθμούς 1-bit, αυτό το κύκλωμα αφαίρεσης είναι πολύ χρήσιμο για την αλληλογραφία αριθμών μπιτ και επίσης αφαιρεί περισσότερους από δύο δυαδικούς αριθμούς. Σε τέτοιες περιπτώσεις, χρησιμοποιείται ένα ολοκληρωμένο κύκλωμα αθροιστή με τη βοήθεια της λογικής πύλης ΔΕΝ. Η μετατροπή του κυκλώματος από πλήρη αθροιστή σε πλήρη αφαίρεση μπορεί να γίνει χρησιμοποιώντας την τεχνική συμπληρώματος 2.

Σε γενικές γραμμές, αντιστρέψτε τις εισόδους δευτερεύουσας τάσης για τον πλήρη αθροιστή χρησιμοποιώντας ΔΕΝ πύλη, διαφορετικά ένας μετατροπέας. Προσθέτοντας αυτό το Minuend (μη ανεστραμμένη είσοδος) & Subtrahend (Inverted Input), το LSB (μεταφορά εισόδου) του κυκλώματος FA είναι 1, που σημαίνει Logic High διαφορετικά αφαιρούμε δύο δυαδικά ψηφία χρησιμοποιώντας την τεχνική συμπληρώματος 2. Η έξοδος του FA είναι το Diff bit και αν αντιστρέψουμε την εκτέλεση τότε μπορούμε να πάρουμε το MSB αλλιώς Borrow bit. Στην πραγματικότητα, μπορούμε να σχεδιάσουμε το κύκλωμα έτσι ώστε να μπορεί να παρατηρηθεί έξοδος.

Κωδικός Verilog

Για το τμήμα κωδικοποίησης, πρώτα, πρέπει να ελέγξουμε τον δομικό τρόπο μοντελοποίησης του διαγράμματος λογικού κυκλώματος. Το λογικό διάγραμμα αυτού μπορεί να δημιουργηθεί χρησιμοποιώντας μια πύλη AND, μισά κυκλώματα αφαιρέσεων και τον συνδυασμό λογικών πυλών όπως πύλες AND, OR, NOT, XOR. Όπως και στη δομική μοντελοποίηση, εξηγούμε διάφορες ενότητες για κάθε βασική στοιχειώδη διάταξη. Στον ακόλουθο κώδικα, μπορούν να καθοριστούν διαφορετικές ενότητες για κάθε πύλη.

Αυτή η ενότητα είναι για την πύλη OR.

ΕΙΣΟΔΟΣ: a0, b0

ΑΠΟΤΕΛΕΣΜΑ: c0

Τέλος, θα ενώσουμε αυτές τις πύλες ακριβούς ενότητες σε μια μοναδική ενότητα. Για αυτό, εδώ χρησιμοποιούμε το instantiation του module. Τώρα αυτό το instantiation μπορεί να χρησιμοποιηθεί μόλις θέλουμε να αναπαραγάγουμε μια ακριβή ενότητα ή λειτουργία για διαφορετικά σύνολα εισόδου. Αρχικά, σχεδιάζουμε ένα μισό αφαίρεση και στη συνέχεια αυτή η ενότητα χρησιμοποιείται για την υλοποίηση ενός πλήρους αφαιρέτη. Για την εφαρμογή αυτού, χρησιμοποιούμε την πύλη OR για να συνδυάσουμε το o / ps για τη μεταβλητή του Bout. ο κωδικός verilog για τον πλήρη αφαιρέτη φαίνεται παρακάτω

ενότητα ή πύλη_ (a0, b0, c0)

είσοδος a0, b0

έξοδος c0

εκχώρηση c0 = a0 | β0

endmodule

ενότητα xor_gate (a1, b1, c1)

είσοδος a1, b1

έξοδος c1

εκχώρηση c1 = a1 ^ b1

endmodule

ενότητα και πύλη_ (a2, b2, c2)

είσοδος a2, b2

έξοδος c2

εκχώρηση c2 = a2 & b2

endmodule

ενότητα not_gate (a3, b3)

είσοδος a3

έξοδος b3

εκχώρηση b3 = ~ a3

endmodule

ενότητα half_subtractor (a4, b4, c4, d4)

είσοδος a4, b4

έξοδος c4, d4

σύρμα x

xor_gate u1 (a4, b4, c4)

και_gate u2 (x, b4, d4)

not_gate u3 (a4, x)

endmodule

ενότητα full_subtractor (A, B, Bin, D, Bout)

είσοδος A, B, Bin

έξοδος D, Bout

σύρμα p, q, r

half_subtractor u4 (A, B, p, q)

half_subtractor u5 (p, Bin, D, r)

ή_gate u6 (q, r, Bout)

endmodule

Πλήρης αφαίρεση με χρήση πολυπλέκτη 4X1

Η εκτέλεση της αφαίρεσης μπορεί να γίνει μέσω της μεθόδου συμπληρώματος των δύο. Συνεπώς, απαιτούμε τη χρήση μιας πύλης 1-XOR που χρησιμοποιείται για την αναστροφή του 1-bit και τη συμπερίληψη ενός στο bit μεταφοράς. Η έξοδος του DIFFERENCE είναι παρόμοια με την έξοδο SUM στο κύκλωμα πλήρους αθροιστή, ωστόσο το BARROW o / p δεν είναι παρόμοιο με την έξοδο μεταφοράς του πλήρους αθροιστή, αλλά είναι ανεστραμμένο και συγχαρητήριο, όπως A - B = A + (-B) = Συμπλήρωμα Α + δύο του Β.

Ο σχεδιασμός αυτού με χρήση πολυπλέκτη 4Χ1 φαίνεται στο ακόλουθο λογικό διάγραμμα. Αυτός ο σχεδιασμός μπορεί να γίνει με τα ακόλουθα βήματα.

Πολυπλέκτης 4X1

Πολυπλέκτης 4X1

  • Στο βήμα 1, υπάρχουν δύο έξοδοι όπως Sub και Borrow. Πρέπει λοιπόν να επιλέξουμε 2 πολυπλέκτες.
  • Στο βήμα 2, ο πίνακας αλήθειας μπορεί να εφαρμοστεί μαζί με τους χάρτες K
  • Στο βήμα 3, οι δύο μεταβλητές μπορούν να επιλεγούν ως γραμμή επιλογής σας. Για παράδειγμα, τα B & C βρίσκονται σε αυτήν την περίπτωση.

Πίνακας αλήθειας

ο πίνακας αλήθειας με πλήρη αφαίρεση Το κύκλωμα που χρησιμοποιεί τον πολυπλέκτη 4X1 περιλαμβάνει τα ακόλουθα

ΠΡΟΣ ΤΗΝ

σι ντο Υπο

Δανείζομαι

0

0000
0011

1

0101

1

0

1101
1001

0

1

0100
1100

0

1

111

1

Πλήρης αφαίρεση χρησιμοποιώντας αποκωδικοποιητή

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

Από τον παραπάνω πίνακα αλήθειας,

Για τις διαφορετικές λειτουργίες στον πίνακα αλήθειας, τα minterms μπορούν να γραφτούν ως 1,2,4,7, και ομοίως, για το δανεισμό, τα minterms μπορούν να γραφτούν ως 1,2,3,7. Οι αποκωδικοποιητές 3-8 περιλαμβάνουν τρεις εισόδους, καθώς και 8 εξόδους όπως 0 έως 7 αριθμούς.

Αποκωδικοποιητής 3 έως 8

Αποκωδικοποιητής 3 έως 8

Εάν η είσοδος του αφαίρεσης είναι 000, τότε η έξοδος «0» θα είναι ενεργή και εάν η είσοδος είναι 001, τότε η έξοδος «1» θα είναι ενεργή.

Τώρα οι έξοδοι του αφαιρέτη μπορούν να ληφθούν από 1, 2, 4 & 7 για να το συνδέσουν σε μια πύλη NAND, τότε η έξοδος θα είναι η διαφορά. Αυτές οι έξοδοι μπορούν να συνδεθούν με άλλες λογικές πύλες NAND όπου η έξοδος αλλάζει σε δανεισμό.

Για παράδειγμα, εάν η είσοδος είναι 001, τότε η έξοδος θα είναι 1 που σημαίνει ότι είναι ενεργή. Έτσι η έξοδος είναι ενεργή χαμηλή και η έξοδος μπορεί να ληφθεί από την πύλη NAND που ονομάζεται λειτουργία διαφοράς όπως υψηλή και η λειτουργία δανεισμού αλλάζει επίσης σε υψηλή. Επομένως έχουμε την προτιμώμενη έξοδο. Τελικά, ο αποκωδικοποιητής λειτουργεί σαν πλήρης αφαίρεση.

Πλεονεκτήματα και μειονεκτήματα

ο πλεονεκτήματα του αφαιρέτη συμπεριλάβετε τα ακόλουθα.

  • Ο σχεδιασμός του αφαιρούμενου τρακτέρ είναι πολύ απλός καθώς και υλοποίηση
  • Αφαίρεση ισχύος εντός DSP (επεξεργασία ψηφιακού σήματος)
  • Οι υπολογιστικές εργασίες μπορούν να εκτελεστούν με υψηλή ταχύτητα.

ο μειονεκτήματα του αφαιρέτη συμπεριλάβετε τα ακόλουθα.

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

Εφαρμογές

Κάποια από τα εφαρμογές πλήρους αφαίρεσης συμπεριλάβετε τα ακόλουθα

  • Αυτά χρησιμοποιούνται γενικά για ALU (αριθμητική μονάδα λογικής) σε υπολογιστές για αφαίρεση ως CPU & GPU για εφαρμογές γραφικών για τη μείωση της δυσκολίας του κυκλώματος.
  • Οι αφαιρέτες χρησιμοποιούνται κυρίως για την εκτέλεση αριθμητικών λειτουργιών όπως η αφαίρεση, σε ηλεκτρονικές αριθμομηχανές καθώς και σε ψηφιακές συσκευές.
  • Αυτά ισχύουν επίσης για διαφορετικοί μικροελεγκτές για αριθμητική αφαίρεση, χρονόμετρα και μετρητή προγράμματος (PC)
  • Οι αφαιρέτες χρησιμοποιούνται στους επεξεργαστές για τον υπολογισμό πινάκων, διευθύνσεων κ.λπ.
  • Είναι επίσης χρήσιμο για συστήματα βασισμένα σε DSP και δικτύωση.
  • Αυτά χρησιμοποιούνται κυρίως για ALU σε υπολογιστές για αφαίρεση όπως CPU & GPU για εφαρμογές γραφικών για τη μείωση της πολυπλοκότητας του κυκλώματος.
  • Χρησιμοποιούνται κυρίως για την εκτέλεση αριθμητικών λειτουργιών όπως αφαίρεση σε ψηφιακές συσκευές, αριθμομηχανές κ.λπ.
  • Αυτά τα αφαιρούμενα είναι επίσης κατάλληλα για διάφορους μικροελεγκτές για χρονόμετρα, υπολογιστή (μετρητής προγράμματος) & αριθμητική αφαίρεση
  • Χρησιμοποιούνται για τους επεξεργαστές για τον υπολογισμό διευθύνσεων, πινάκων κ.λπ.
  • Η εφαρμογή αυτού με λογικές πύλες όπως το NAND & NOR μπορεί να γίνει με οποιοδήποτε πλήρες λογικό κύκλωμα αφαίρεσης επειδή και οι δύο πύλες NOR & NAND ονομάζονται καθολικές πύλες.

Από τις παραπάνω πληροφορίες, αξιολογώντας τον αθροιστή, τον πλήρη αφαιρέτη χρησιμοποιώντας δύο μισά κυκλώματα αφαιρετών και τις μορφές του πίνακα, μπορεί κανείς να παρατηρήσει ότι το Dout στον πλήρη αφαιρέτη είναι ακριβώς παρόμοιο με το Sout του πλήρους αθροιστή. Η μόνη παραλλαγή είναι ότι το Α (μεταβλητή εισόδου) συμπληρώνεται στο πλήρες αφαίρεση. Έτσι, είναι εφικτό να αλλάξετε το κύκλωμα πλήρους αθροιστή σε πλήρη αφαίρεση συμπληρώνοντας απλώς το i / p A προτού δοθεί στο οι λογικές πύλες για να δημιουργήσετε την τελευταία έξοδο bit-bit (Bout).

Με τη χρήση οποιουδήποτε πλήρους λογικού κυκλώματος αφαίρεσης, μπορεί να εφαρμοστεί πλήρης αφαίρεση αγωγών NAND και πλήρης αφαίρεση αγωγών ούτε πύλες, καθώς και οι πύλες NAND και NOR αντιμετωπίζονται ως καθολικές πύλες. Εδώ είναι μια ερώτηση για εσάς, ποια είναι η διαφορά μεταξύ του μισού και του πλήρους αφαιρέτη;