ΗΜΥ-210: Λογικός Σχεδιασμός Εαρινό Εξάμηνο 2005 ΗΜΥ 210: Λογικός Σχεδιασμός, Εαρινό Εξάμηνο 2005 Νοε-18 ΗΜΥ-210: Λογικός Σχεδιασμός Εαρινό Εξάμηνο 2005 Κεφάλαιο 5-i: Αριθμητικές Συναρτήσεις και Κυκλώματα Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Κεφάλαιο 5-i: Αριθμητικές Συναρτήσεις και Κυκλώματα
Κεφάλαιο 5-i: Αριθμητικές Συναρτήσεις και Κυκλώματα Περίληψη Δυαδική Πρόσθεση Ημι-αθροιστής Πλήρης Αθροιστής Αθροιστής Ριπής Αθροιστής Πρόβλεψης Κρατουμένου Δεκαδική Πρόσθεση Αθροιστής BCD Νοε-18 Κεφάλαιο 5-i: Αριθμητικές Συναρτήσεις και Κυκλώματα
Κεφάλαιο 5-i: Αριθμητικές Συναρτήσεις και Κυκλώματα Αθροιστής 1-bit Εκτελεί πρόσθεση μεταξύ δύο bits. Τέσσερις πιθανές πράξεις: 0+0=0 0+1=1 1+0=1 1+1=10 Η υλοποίηση του κυκλώματος απαιτεί 2 εξόδους, η μία για το άθροισμα (sum) και η άλλη για το κρατούμενο (carry). Νοε-18 Κεφάλαιο 5-i: Αριθμητικές Συναρτήσεις και Κυκλώματα
Ημι-αθροιστής (Half Adder) Εκτελεί πρόσθεση μεταξύ δύο bit. Είσοδοι: A0, B0 Έξοδοι: S0, C1 Ο δείκτης υποδεικνύει σημαντικότητα, 0 για LSB και 1 για το επόμενο σημαντικό bit. Δυαδικές Συναρτήσεις: S0 = A0B0’+A0’B0 = A0 B0 C1 = A0B0 Πίνακας Αληθείας A0 B0 S0 C1 1 Νοε-18 Κεφάλαιο 5-i: Αριθμητικές Συναρτήσεις και Κυκλώματα
Κεφάλαιο 5-i: Αριθμητικές Συναρτήσεις και Κυκλώματα Ημι-αθροιστής (συν.) S0 = A0B0’+A0’B0 = A0 B0 C1 = A0B0 Διάγραμμα μπλοκ Λογικό Διάγραμμα A0 B0 A0 S0 C1 Ημιαθροιστής 1-bit B0 C1 S0 Νοε-18 Κεφάλαιο 5-i: Αριθμητικές Συναρτήσεις και Κυκλώματα
Κεφάλαιο 5-i: Αριθμητικές Συναρτήσεις και Κυκλώματα Πρόσθεση n-bit Σχεδιάστε ένα δυαδικό αθροιστή n-bit ο οποίος προσθέτει δύο n-bit δυαδικούς αριθμούς και παράγει ένα άθροισμα (sum) με n-bit και ένα κρατούμενο εξόδου (carry out) με 1-bit. Παράδειγμα: Θεωρήστε n=4 Cout C3 C2 C1 C0 1 1 0 1 0 A3 A2 A1 A0 1 1 0 1 +B3 B2 B1 B0 +1 1 0 1 -------------- ---------- S3 S2 S1 S0 1 0 1 0 Αυτό απαιτεί πρόσθεση 3ων-bit! Νοε-18 Κεφάλαιο 5-i: Αριθμητικές Συναρτήσεις και Κυκλώματα
Πλήρης Αθροιστής (Full Adder) Συνδυαστικό κύκλωμα που διεκπεραιώνει την πρόσθεση μεταξύ 3ων bits (δύο bits προσθετέων και ένα bit για κρατούμενο εισόδου--carry-in) Ai Bi Πλήρης Αθροιστής 1-bit Ci+1 Ci Si Νοε-18 Κεφάλαιο 5-i: Αριθμητικές Συναρτήσεις και Κυκλώματα
Πλήρης Αθροιστής (συν.) Οι K-χάρτες για: Ci+1: Si: Ai Bi Ci Si Ci+1 1 BiCi Ai 1 1 1 1 BiCi Ai 1 1 1 1 Νοε-18 Κεφάλαιο 5-i: Αριθμητικές Συναρτήσεις και Κυκλώματα
Πλήρης Αθροιστής (συν.) Δυαδικές συναρτήσεις: Ci+1 = AiBi + AiCi + BiCi Si = AiBi’ Ci’ + Ai’Bi’Ci + Ai’BiCi’ + AiBiCi = Ai Bi Ci Μπορείτε να σχεδιάσετε ένα πλήρη αθροιστή άμεσα από τις πιο πάνω συναρτήσεις. (απαιτούνται 3 πύλες AND και 1 πύλη OR για το Ci+1, και 2 πύλες XORs για το Si) Υπάρχει “καλύτερη” υλοποίηση; Νοε-18 Κεφάλαιο 5-i: Αριθμητικές Συναρτήσεις και Κυκλώματα
Πλήρης Αθροιστής με 2 Ημι-αθροιστές Ένας πλήρης αθροιστής μπορεί να υλοποιηθεί και με 2 ημι-αθροιστές και 1 πύλη OR, αφού το Ci+1 μπορεί να εκφραστεί ως: Ci+1 = AiBi + AiBi’Ci + Ai’BiCi = AiBi + (AiBi’ + Ai’Bi)Ci = AiBi + (Ai Bi)Ci και το Si = Ai Bi Ci Ai Bi Si Ci+1 Ci Νοε-18 Κεφάλαιο 5-i: Αριθμητικές Συναρτήσεις και Κυκλώματα
Συνδυαστικοί Αθροιστές n-bit Αθροιστής Ριπής (Ripple Carry Adder) Απλός Σχεδιασμός Χρονοβόρο. Γιατί; (θα δείτε σε λίγο!) Αθροιστής Πρόβλεψης Κρατουμένου (Carry Lookahead Adder) Πιο πολύπλοκος σχεδιασμός Μειώνει την καθυστέρηση του κυκλώματος Νοε-18 Κεφάλαιο 5-i: Αριθμητικές Συναρτήσεις και Κυκλώματα
Κεφάλαιο 5-i: Αριθμητικές Συναρτήσεις και Κυκλώματα Αθροιστής Ριπής n-bit Κατασκευάζεται με n πλήρης αθροιστές 1-bit, δομημένοι παράλληλα. Ο ένας πλήρης αθροιστής 1-bit διαδέχεται τον άλλο, έτσι ώστε το κρατούμενο εξόδου (carry out) από τον ένα γίνετε το κρατούμενο εισόδου (carry in) του επόμενου. Νοε-18 Κεφάλαιο 5-i: Αριθμητικές Συναρτήσεις και Κυκλώματα
Παράδειγμα: Αθροιστής Ριπής 4ων-bit C4 C3 C2 C1 C0 A3 A2 A1 A0 +B3 B2 B1 B0 -------------- S3 S2 S1 S0 Νοε-18 Κεφάλαιο 5-i: Αριθμητικές Συναρτήσεις και Κυκλώματα
Καθυστέρηση Αθροιστή Ριπής Η καθυστέρηση του κυκλώματος ενός αθροιστή ριπής καθορίζεται από την καθυστέρηση του μονοπατιού του κρατουμένου από το LSB (C0) στο MSB (Cn). Θεωρήστε την καθυστέρηση σε ένα 1-bit FA να είναι Δ. Τότε, η καθυστέρηση του αθροιστή ριπής n-bit είναι nΔ. Νοε-18 Κεφάλαιο 5-i: Αριθμητικές Συναρτήσεις και Κυκλώματα
Αθροιστής Πρόβλεψης Κρατουμένου ΗΜΥ 210: Λογικός Σχεδιασμός, Εαρινό Εξάμηνο 2005 Νοε-18 Αθροιστής Πρόβλεψης Κρατουμένου Εναλλακτικός σχεδιασμός για ένα συνδυαστικό αθροιστή με n-bit. Πρακτικός σχεδιασμός με μειωμένη καθυστέρηση, αλλά απαιτεί πιο πολύπλοκο σχεδιασμό. Παράγεται από ένα μετασχηματισμό του σχεδιασμού αθροιστή ριπής. Νοε-18 Κεφάλαιο 5-i: Αριθμητικές Συναρτήσεις και Κυκλώματα Κεφάλαιο 5-i: Αριθμητικές Συναρτήσεις και Κυκλώματα
Σχεδιασμός Αθροιστή Πρόβλεψης Κρατουμένου Από ένα FA, διαχωρίζουμε μεταξύ της παραγωγής (generation) του κρατουμένου (όταν ένα νέο κρατούμενο παράγεται, Cout=1) και της μετάδοσης (propagation) του κρατουμένου (όταν ένα υπάρχον Cin μεταδίδεται στο Cout) Παραγωγή: Gi = AiBi: if 1, Ci+1=1 Μετάδοση: Pi = Ai Bi: εάν 1 τότε Ci+1 = Ci Full Adder (FA) Partial Full Adder (PFA) Bi Ai Ai Bi Si Ci+1 Ci Si Gi Pi Ci Νοε-18 Κεφάλαιο 5-i: Αριθμητικές Συναρτήσεις και Κυκλώματα
Σχεδιασμός Αθροιστή Πρόβλεψης Κρατουμένου (συν.) Ένα bit από λογική G/P μόνο δεν βοηθά, αλλά… Διαδοχική λογική G/P μπορεί να παράγει το κρατούμενο εξόδου ενός μπλοκ Νοε-18 Κεφάλαιο 5-i: Αριθμητικές Συναρτήσεις και Κυκλώματα
Σχεδιασμός Αθροιστή Πρόβλεψης Κρατουμένου (συν.) Ci+1 = Gi + PiCi Ο σχεδιασμός του PFA διαχωρίζει την λειτουργικότητα (και άρα την υλοποίηση) του S από αυτή του G/P Νοε-18 Κεφάλαιο 5-i: Αριθμητικές Συναρτήσεις και Κυκλώματα
Σχεδιασμός Αθροιστή Πρόβλεψης Κρατουμένου (συν.) Μπορεί ο σχεδιασμός της προηγούμενης διαφάνειας να λύσει το πρόβλημα της μεγάλης καθυστέρησης; Όχι, το κρατούμενο εξόδου συνεχίζει την “κυμάτωση” ! Ιδέα: χρήση δύο επιπέδων λογικής για την παραγωγή του κρατούμενου εξόδου από οποιοδήποτε μπλοκ Ci βάση του κρατούμενου εισόδου C0 και των προσθετέων bits Ai and Bi Νοε-18 Κεφάλαιο 5-i: Αριθμητικές Συναρτήσεις και Κυκλώματα
Κεφάλαιο 5-i: Αριθμητικές Συναρτήσεις και Κυκλώματα Μπλοκ CLA Υλοποίηση: C1 = G0+P0 C0 C2 = G1+P1C1 = G1+P1(G0+P0C0) = G1+P1G0+P1P0C0 C3 = G2 + P2C2 = G2+P2G1+P2P1G0+P2P1P0C0 C4 = G3+P3G2+P3P2G1+P3P2P1G0 + P3P2P1P0 C0 = G0-3 + P0-3C0 Ομάδα Παραγωγής Κρατουμένου Ομάδα Μετάδοσης Κρατουμένου Νοε-18 Κεφάλαιο 5-i: Αριθμητικές Συναρτήσεις και Κυκλώματα
Λογική Παραγωγής/Μετάδοσης για 4-bit CLA -- C0 … Cn-1 έχουν καθυστέρηση 2-πυλών -- C4 = G0-3+P0-3C0 έχει καθυστέρηση 3-πυλών Νοε-18 Κεφάλαιο 5-i: Αριθμητικές Συναρτήσεις και Κυκλώματα
Κεφάλαιο 5-i: Αριθμητικές Συναρτήσεις και Κυκλώματα Δεκαδική Πρόσθεση Σχεδιάστε ένα κύκλωμα για την εκτέλεση δεκαδικής πρόσθεσης, αφαίρεσης, … Είσοδος σε κωδικοποιημένη δεκαδική μορφή, π.χ. BCD Δεκαδικός Αθροιστής BCD: 8 είσοδοι (4 bits για τον κάθε δεκαδικό αριθμό) 5 έξοδοι για το δεκαδικό άθροισμα και το κρατούμενο Θυμηθείτε τον κανόνα για BCD πρόσθεση: Προσθέτουμε 0110 στο άθροισμα αν αυτό είναι μεγαλύτερο του 1010, για να διορθώσουμε την τιμή του κρατουμένου Νοε-18 Κεφάλαιο 5-i: Αριθμητικές Συναρτήσεις και Κυκλώματα
Αθροιστής Binary Coded Decimal (BCD) Προσθετέος Προσθετέος C = K + z3.z2 + z3.z1 K δυαδικός αθροιστής 4-bit z3 z2 z1 z0 C δυαδικός αθροιστής 4-bit S3 S2 S1 S0 Άθροισμα BCD Νοε-18 Κεφάλαιο 5-i: Αριθμητικές Συναρτήσεις και Κυκλώματα