Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II

Σχετικά έγγραφα
Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II

Διοικητική Λογιστική

Εισαγωγή στους Αλγορίθμους

Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού σε κατάσταση Κορεσμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Εισαγωγή στους Αλγορίθμους

Ψηφιακή Λογική Σχεδίαση

Εισαγωγή στους Αλγορίθμους

Εισαγωγή στους Η/Υ. Ενότητα 2β: Αντίστροφο Πρόβλημα. Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών

Εισαγωγή στους Υπολογιστές

Κβαντική Επεξεργασία Πληροφορίας

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

Εισαγωγή στους Υπολογιστές

Ενότητα. Εισαγωγή στις βάσεις δεδομένων

Οργάνωση Υπολογιστών

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 3: Έλεγχοι στατιστικών υποθέσεων

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 1: Καταχώρηση δεδομένων

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 2: Περιγραφική στατιστική

Βέλτιστος Έλεγχος Συστημάτων

Κβαντική Επεξεργασία Πληροφορίας

Εισαγωγή στους Υπολογιστές

Διοικητική Λογιστική

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους.

Βάσεις Περιβαλλοντικών Δεδομένων

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Prim

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού Υπέρθερμου Ατμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στους Αλγορίθμους Ενότητα 10η Άσκηση Αλγόριθμος Dijkstra

Προγραμματισμός Η/Υ. Βασικές Προγραμματιστικές Δομές. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Ψηφιακή Λογική Σχεδίαση

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Kruskal

Μυελού των Οστών Ενότητα #1: Ερωτήσεις κατανόησης και αυτόαξιολόγησης

Κβαντική Επεξεργασία Πληροφορίας

Ενδεικτικές λύσεις ασκήσεων διαχείρισης έργου υπό συνθήκες αβεβαιότητας

Διδακτική Πληροφορικής

Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II

ΗΛΕΚΤΡΟΝΙΚΗ ΙIΙ Ενότητα 6

1 η Διάλεξη. Ενδεικτικές λύσεις ασκήσεων

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους (1)

ΣΥΜΠΕΡΙΦΟΡΑ ΚΑΤΑΝΑΛΩΤΗ

Τεχνικό Σχέδιο - CAD

Μηχανολογικό Σχέδιο Ι

ΗΛΕΚΤΡΟΝΙΚΗ IΙ Ενότητα 6

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

Εισαγωγή στην Πληροφορική

Τεχνικό Σχέδιο - CAD

ΟΙΚΟΝΟΜΙΚΑ ΜΑΘΗΜΑΤΙΚΑ

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

Εισαγωγή στην Πληροφορική

Διοίκηση Εξωτερικής Εμπορικής Δραστηριότητας

Εφαρμογές των Τεχνολογιών της Πληροφορίας και των Επικοινωνιών στη διδασκαλία και τη μάθηση

Συστήματα Επικοινωνιών

Μεθοδολογία Έρευνας Κοινωνικών Επιστημών Ενότητα 2: ΣΥΓΚΕΝΤΡΩΣΗ ΠΛΗΡΟΦΟΡΙΩΝ ΜΑΡΚΕΤΙΝΓΚ Λοίζου Ευστράτιος Τμήμα Τεχνολόγων Γεωπόνων-Kατεύθυνση

Εφαρμογές των Τεχνολογιών της Πληροφορίας και των Επικοινωνιών στη διδασκαλία και τη μάθηση

Τεχνικό Σχέδιο - CAD. Τόξο Κύκλου. Τόξο Κύκλου - Έλλειψη. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Διδακτική Πληροφορικής

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Αερισμός. Ενότητα 1: Αερισμός και αιμάτωση. Κωνσταντίνος Σπυρόπουλος, Καθηγητής Σχολή Επιστημών Υγείας Τμήμα Ιατρικής

Γραμμική Άλγεβρα και Μαθηματικός Λογισμός για Οικονομικά και Επιχειρησιακά Προβλήματα

Εκκλησιαστικό Δίκαιο. Ενότητα 10η: Ιερά Σύνοδος της Ιεραρχίας και Διαρκής Ιερά Σύνοδος Κυριάκος Κυριαζόπουλος Τμήμα Νομικής Α.Π.Θ.

Βάσεις Περιβαλλοντικών Δεδομένων

Γραμμική Άλγεβρα και Μαθηματικός Λογισμός για Οικονομικά και Επιχειρησιακά Προβλήματα

Ψηφιακή Επεξεργασία Εικόνων

Εννοιες και Παράγοντες της Ψηφιακής Επεξεργασίας Εικόνας

Ηλεκτρικά Κινητήρια Συστήματα

Εισαγωγή στους Υπολογιστές

Έλεγχος και Διασφάλιση Ποιότητας Ενότητα 4: Μελέτη ISO Κουππάρης Μιχαήλ Τμήμα Χημείας Εργαστήριο Αναλυτικής Χημείας

Διδακτική των εικαστικών τεχνών Ενότητα 3

Βέλτιστος Έλεγχος Συστημάτων

Διδακτική των εικαστικών τεχνών Ενότητα 2

Διδακτική των εικαστικών τεχνών Ενότητα 2

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Διδακτική των εικαστικών τεχνών Ενότητα 2

Διδακτική των εικαστικών τεχνών Ενότητα 2

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Δυναμική και Έλεγχος E-L Ηλεκτρομηχανικών Συστημάτων

Δυναμική και Έλεγχος E-L Ηλεκτρομηχανικών Συστημάτων

ΗΛΕΚΤΡΟΝΙΚΗ IΙ Ενότητα 3

Εισαγωγή στην Πληροφορική

Διαχείριση Πολιτισμικών Δεδομένων

Σχεδίαση CMOS Ψηφιακών Ολοκληρωμένων Κυκλωμάτων

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 8: Συστήματα αρίθμησης

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στην Πληροφορική

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 1

Ιστορία της μετάφρασης

Κβαντική Επεξεργασία Πληροφορίας

Εισαγωγή στην Πληροφορική

Θεατρικές Εφαρμογές και Διδακτική της Φυσικής Ι

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

ΟΙΚΟΝΟΜΙΚΑ ΜΑΘΗΜΑΤΙΚΑ

Διδακτική των εικαστικών τεχνών Ενότητα 2

Διδακτική Πληροφορικής

Transcript:

Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II Επιμέλεια: Βασίλης Παλιουράς, Αναπληρωτής Καθηγητής Ανδρέας Εμερετλής, Υποψήφιος Διδάκτορας 1 Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών

Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] http://creativecommons.org/licenses/by-nc-sa/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 2

Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς το Σημείωμα Αδειοδότησης τη Δήλωση Διατήρησης Σημειωμάτων το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει) μαζί με τους συνοδευόμενους υπερσυνδέσμους. Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 3

Ανάπτυξη Το παρόν εκπαιδευτικό υλικό αναπτύχθηκε στο Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών του Πανεπιστημίου Πατρών. Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 4

Αρχιτεκτονικές Πολλαπλασιαστών Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 5

Περίγραμμα Παρουσίασης Εισαγωγή Πολλαπλασιασμός αριθμών χωρίς πρόσημο Πολλαπλασιασμός σε συμπλήρωμα του δύο Άθροιση προσημασμένων όρων Αλγόριθμος πολλαπλασιασμού του Booth Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 6

Πολλαπλασιαστές Δημιουργία μερικών γινομένων (partial products) Άθροιση μερικών γινομένων Κατηγορίες πολλαπλασιαστών Σειριακοί ή παράλληλοι Πίνακα ή δένδρου Προσημασμένων αριθμών ή όχι Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 7

Περίγραμμα Παρουσίασης Εισαγωγή Πολλαπλασιασμός αριθμών χωρίς πρόσημο Πολλαπλασιασμός σε συμπλήρωμα του δύο Άθροιση προσημασμένων όρων Αλγόριθμος πολλαπλασιασμού του Booth Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 8

Αλγόριθμος πολλαπλασιασμού αριθμών χωρίς πρόσημο Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 9

Πολλαπλασιαστής πίνακα για αριθμούς χωρίς πρόσημο Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 10

Περίγραμμα Παρουσίασης Εισαγωγή Πολλαπλασιασμός αριθμών χωρίς πρόσημο Πολλαπλασιασμός σε συμπλήρωμα του δύο Άθροιση προσημασμένων όρων Αλγόριθμος πολλαπλασιασμού του Booth Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 11

Πολλαπλασιασμός σε Συμπλήρωμα του Δύο Αναπαράσταση συμπληρώματος του δύο Η τιμή X ενός δυαδικού σε συμπλήρωμα του δύο x x x xx n 1 n 2 2 1 0 είναι n 2 n 1 i n 1 i i i= 0 { } X = x 2 + x 2, x 0,1 Προσοχή: το περισσότερο σημαντικό ψηφίο έχει αρνητικό βάρος Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 12

Πολλαπλασιασμός σε Συμπλήρωμα του Δύο: Παράδειγμα 1 Έστω ζητείται ο πολλαπλασιασμός ( 3) 2 Πολλαπλασιαστέος: 101 Πολλαπλασιαστής : 010 1 0 1 0 1 0 0 0 0 1 0 1 0 0 0 Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 13

Πολλαπλασιασμός σε Συμπλήρωμα του Δύο: Παράδειγμα 1 Έστω ζητείται ο πολλαπλασιασμός ( 3) 2 Πολλαπλασιαστέος: 101 Πολλαπλασιαστής : 010 1 0 1 0 1 0 0 0 0 1 0 1 0 0 0 + 1 0 0 0 1 0 1 0 0 0 Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 13

Πολλαπλασιασμός σε Συμπλήρωμα του Δύο: Παράδειγμα 1 Έστω ζητείται ο πολλαπλασιασμός ( 3) 2 Πολλαπλασιαστέος: 101 Πολλαπλασιαστής : 010 1 0 1 0 1 0 0 0 0 1 0 1 0 0 0 + 1 + 1 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 1 0 0 1 1 0 1 0 = 6 Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 13

Πολλαπλασιασμός σε Συμπλήρωμα του Δύο: Παράδειγμα 2 Έστω ζητείται ο πολλαπλασιασμός 2 ( 3) Πολλαπλασιαστέος: 010 Πολλαπλασιαστής : 101 0 1 0 1 0 1 0 1 0 0 0 0 1 1 0 Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 14

Πολλαπλασιασμός σε Συμπλήρωμα του Δύο: Παράδειγμα 2 Έστω ζητείται ο πολλαπλασιασμός 2 ( 3) Πολλαπλασιαστέος: 010 Πολλαπλασιαστής : 101 0 1 0 1 0 1 0 1 0 0 0 0 1 1 0 two's complement 010 110 Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 14

Πολλαπλασιασμός σε Συμπλήρωμα του Δύο: Παράδειγμα 2 Έστω ζητείται ο πολλαπλασιασμός 2 ( 3) Πολλαπλασιαστέος: 010 Πολλαπλασιαστής : 101 Αρνητικό βάρος! 0 1 0 1 0 1 0 1 0 0 0 0 1 1 0 two's complement 010 110 Το 110 είναι το ( 1) 010, δηλ. το συμπλήρωμα του 010 Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 14

Πολλαπλασιασμός σε Συμπλήρωμα του Δύο: Παράδειγμα 2 Έστω ζητείται ο πολλαπλασιασμός 2 ( 3) Πολλαπλασιαστέος: 010 Πολλαπλασιαστής : 101 Αρνητικό βάρος! 0 1 0 1 0 1 0 1 0 0 0 0 1 1 0 + 1 0 1 0 0 0 0 1 1 0 two's complement 010 110 Το 110 είναι το ( 1) 010, δηλ. το συμπλήρωμα του 010 Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 14

Πολλαπλασιασμός σε Συμπλήρωμα του Δύο: Παράδειγμα 2 Έστω ζητείται ο πολλαπλασιασμός 2 ( 3) Πολλαπλασιαστέος: 010 Πολλαπλασιαστής : 101 Αρνητικό βάρος! 0 1 0 1 0 1 0 1 0 0 0 0 1 1 0 two's Το 110 είναι το ( 1) 010, δηλ. το συμπλήρωμα του 010 complement 010 110 + 1 + 1 0 1 0 1 1 0 0 0 0 1 0 0 1 1 0 0 1 0 1 1 0 1 0 = 6 Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 14

Πολλαπλασιασμός σε Συμπλήρωμα του Δύο: Συμπεράσματα Η μέθοδος για την άθροιση μερικών γινομένων απλοποιώντας την επέκταση προσήμου ισχύει πάντα. Το ζήτημα είναι πώς θα προκύψουν τα προς άθροιση μερικά γινόμενα. Όταν ο πολλαπλασιαστής είναι αρνητικός, δηλ. έχει περισσότερο σημαντικό ψηφίο = 1, το αντίστοιχο μερικό γινόμενο είναι το συμπλήρωμα του δύο του πολλαπλασιαστέου, γιατί λόγω της αναπαράστασης συμπληρώματος, το περισσότερο σημαντικό ψηφίο έχει αρνητικό βάρος Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 15

Περίγραμμα Παρουσίασης Εισαγωγή Πολλαπλασιασμός αριθμών χωρίς πρόσημο Πολλαπλασιασμός σε συμπλήρωμα του δύο Άθροιση προσημασμένων όρων Αλγόριθμος πολλαπλασιασμού του Booth Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 16

Dot diagrams: Τα μερικά γινόμενα σε μορφή πίνακα 4 0 3 0 2 0 1 0 0 0 4 1 3 1 2 1 1 1 0 1 4 2 3 2 2 2 1 2 0 2 4 3 3 3 2 3 1 3 0 3 4 4 3 4 2 4 1 4 0 4 a x a x a x a x a x a x a x a x a x a x a x a x a x a x a x a x a x a x a x a x a x a x a x a x a x Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 17

Dot diagrams: Τα μερικά γινόμενα σε μορφή πίνακα Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 17

Dot diagrams: Τα μερικά γινόμενα σε μορφή πίνακα Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 17

Dot diagrams: Τα μερικά γινόμενα σε μορφή πίνακα Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 17

Άθροιση Μερικών Γινομένων με Πρόσημο Επέκταση προσήμου (sign extension) Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 18

Άθροιση Μερικών Γινομένων με Πρόσημο Επέκταση προσήμου (sign extension) Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 18

Μείωση Πολυπλοκότητας Επέκτασης Προσήμου m 2 m 1 i m 12 i2 i= 0 X = x + x ssssssz4z3z2z1z0 Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 19

Μείωση Πολυπλοκότητας Επέκτασης Προσήμου m 2 m 1 i m 12 i2 i= 0 X = x + x ssssssz4z3z2z1z0 s2 + s2 + s2 + s2 + s2 + s2 + z 2 + z 2 + z 2 + z 2 + z 10 9 8 7 6 5 4 3 2 1 4 3 2 1 0 00000( s) zzzzz 4 3 2 1 0 Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 19

Μείωση Πολυπλοκότητας Επέκτασης Προσήμου m 2 m 1 i m 12 i2 i= 0 X = x + x ssssssz4z3z2z1z0 ( ) s2 + s2 + s2 + s2 + s2 + s2 + z 2 + z 2 + z 2 + z 2 + z 10 9 8 7 6 5 4 3 2 1 4 3 2 1 0 00000( s) zzzzz 4 3 2 1 0 s2 + s2 + s2 + s2 + s2 + s2 + z 2 + z 2 + z 2 + z 2 + z = 10 9 8 7 6 5 4 3 2 1 4 3 2 1 0 ( ) s2 + s 2 + 2 + 2 + 2 + 2 + z 2 + z 2 + z 2 + z 2 + z = 10 9 8 7 6 5 4 3 2 1 4 3 2 1 0 ( ) s2 + s 2 2 + z 2 + z 2 + z 2 + z 2 + z = 10 10 5 4 3 2 1 4 3 2 1 0 s 2 + z 2 + z 2 + z 2 + z 2 + z 5 4 3 2 1 4 3 2 1 0 Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 19

Άθροιση k Προσημασμένων Όρων Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 20

Άθροιση k Προσημασμένων Όρων +1 s s +1 +1 +1 +1 +1 s = 1 s Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 20

Άθροιση k Προσημασμένων Όρων +1 s s +1 +1 +1 +1 +1 s = 1 s Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 20

Άθροιση k Προσημασμένων Όρων +1 s s +1 +1 +1 +1 +1 s = 1 s 2 i+ k 1 2 i+ 1 2 i Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 20

Άθροιση k Προσημασμένων Όρων +1 s s +1 +1 +1 +1 +1 s = 1 s K 2 i+ k 1 2 i+ 1 2 i k i 2 1 i k = 2 = 2 ( 2 1) k 1 k 1 i+ l i l = 2 = 2 2 l= 0 l= 0 2 1 Αντί για P, υπολογίζουμε P+K! Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 20

Άθροιση k Προσημασμένων Όρων s s +1 s = 1 s K 2 i+ k 1 2 i+ 1 2 i k i 2 1 i k = 2 = 2 ( 2 1) 2 1 K 2 2 ( 2 1) 2 2 2 2 i+ k i+ k ( P+ ) = P k 1 k 1 i+ l i l = 2 = 2 2 l= 0 l= 0 i i k i i k i+ k K = + = + = = mod 2,2 Αντί για P, υπολογίζουμε P+K! Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 20

Άθροιση k Προσημασμένων Όρων s s +1 s = 1 s K 2 i+ k 1 2 i+ 1 k i 2 1 i k = 2 = 2 ( 2 1) 2 1 K 2 2 ( 2 1) 2 2 2 2 i+ k i+ k ( P+ ) = P k 1 k 1 i+ l i l = 2 = 2 2 l= 0 l= 0 i i k i i k i+ k K = + = + = = mod 2,2 2 i Αντί για P, υπολογίζουμε P+K! Για σωστό αποτέλεσμα, αγνοούμε το bit 2 i+k. Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 20

Παράδειγμα Άθροισης Προσημασμένων Αριθμών Αντιστρέφουμε το πρόσημο και προσθέτουμε 1 στην πρώτη στήλη με πρόσημο. 10 9 8 7 6 5 4 3 2 1 0 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 1 0 Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 21

Παράδειγμα Άθροισης Προσημασμένων Αριθμών Αντιστρέφουμε το πρόσημο και προσθέτουμε 1 στην πρώτη στήλη με πρόσημο. 10 9 8 7 6 5 4 3 2 1 0 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 1 0 Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 21

Baugh - Wooley Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 22

Baugh Wooley (2) Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 23

Συσσώρευση των μερικών γινομένων με (3,2) counters: Wallace Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 24

Συσσώρευση των μερικών γινομένων με (3,2) counters: Wallace Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 24

Συσσώρευση των μερικών γινομένων με (3,2) counters: Wallace Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 24

Συσσώρευση των μερικών γινομένων με (3,2) counters: Wallace Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 24

Συσσώρευση των μερικών γινομένων με (3,2) counters: Wallace Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 24

Συσσώρευση των μερικών γινομένων με (3,2) counters: Wallace Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 24

Συσσώρευση των μερικών γινομένων με (3,2) counters: Wallace Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 24

Συσσώρευση των μερικών γινομένων με (3,2) counters: Wallace Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 24

Συσσώρευση των μερικών γινομένων με (3,2) counters: Wallace 16 FAs, 9 HAs Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 25

Συσσώρευση των μερικών γινομένων με (3,2) counters: Wallace 16 FAs, 9 HAs Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 25

Συσσώρευση των μερικών γινομένων με (3,2) counters: Wallace 16 FAs, 9 HAs Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 25

Συσσώρευση των μερικών γινομένων με (3,2) counters: Wallace 16 FAs, 9 HAs Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 25

H στρατηγική του Luigi Dadda Μειώνουμε τον αριθμό των προσθετέων στην επόμενη μικρότερη τιμή η οποία αντιστοιχεί ακριβώς σε στοιχείο της ακολουθίας h(n) Ίδια καθυστέρηση με Wallace, ελάχιστοι FAs και HAs Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 27

Συσσώρευση των μερικών γινομένων με (3,2) counters: Dadda Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 28

Συσσώρευση των μερικών γινομένων με (3,2) counters: Dadda Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 28

Συσσώρευση των μερικών γινομένων με (3,2) counters: Dadda Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 28

Άθροιση με Dadda Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 29

Άθροιση με Dadda Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 29

Άθροιση με Dadda Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 29

Άθροιση με Dadda 15 FAs, 5 HAs Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 29

οργάνωση ενός bit-slice λογική διατήρησης κρατουμένου Δένδρο από (4;2) Compressors bit products (4;2) (4;2) (4;2) (4;2) (4;2) (4;2) carry sum (4;2) Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 31

Σύγκριση δένδρων (3,2) counters και δένδρων (4;2) compressors Αριθμός Όρων Επίπεδα με (3,2) counters Επίπεδα με (4;2) compressors 3 1 1 1.5 4 2 1 1.5 5 6 3 2 3 7 8 4 2 3 9 4 3 4.5 10 13 5 3 4.5 14 16 6 3 4.5 17 19 6 4 6 20 28 7 4 6 29 32 8 4 6 33 42 8 5 7.5 Ισοδύναμη καθυστέρηση Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 32

Περίγραμμα Παρουσίασης Εισαγωγή Πολλαπλασιασμός αριθμών χωρίς πρόσημο Πολλαπλασιασμός σε συμπλήρωμα του δύο Άθροιση προσημασμένων όρων Αλγόριθμος πολλαπλασιασμού του Booth Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 33

Ο αλγόριθμος του Booth Μειώνει τον αριθμό των μερικών γινομένων μειώνοντας τον αριθμό των μη μηδενικών ψηφίων του πολλαπλασιαστή ως εξής...0{ 1111} 0 =...1{ 0000} 0......0{ 0001} 0 =...1{ 000 1} 0... Κανόνας κωδικοποίησης (recoding) Booth y = x x i i 1 i Παράδειγμα κωδικοποίησης: 0011110011(0) 010001010 1 x i x i 1 Ενέργεια Σχόλιο PP i 0 0 Ολίσθηση μόνο Σειρά 0 μηδενικών 1 1 Ολίσθηση μόνο Σειρά μονάδων 0 1 0 Αφαίρεση και ολίσθηση Αρχή σειράς μονάδων 0 1 Άθροιση και ολίσθηση Τέλος σειράς μονάδων 1 1 Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 34

Παράδειγμα πολλαπλασιασμού με αλγόριθμο Booth Α = 00010 Χ = 00111 => 00111(0) => 01001 Μερικό αποτέλεσμα: -2, ολίσθηση του Α: 00100 Μερικό αποτέλεσμα: -2, ολίσθηση: 01000 Μερικό αποτέλεσμα: -2, ολίσθηση: 10000 Μερικό αποτέλεσμα: +16 2 = +14 x i x i 1 Ενέργεια Σχόλιο PP i 0 0 Ολίσθηση μόνο Σειρά 0 μηδενικών 1 1 Ολίσθηση μόνο Σειρά μονάδων 0 1 0 Αφαίρεση και ολίσθηση Αρχή σειράς μονάδων 0 1 Άθροιση και ολίσθηση Τέλος σειράς μονάδων 1 1 Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 35

Υλοποίηση Πολλαπλασιαστή Booth Ο κωδικοποιητής Booth δημιουργεί τα σήματα για κάθε μερικό γινόμενο Ο επιλογέας Booth επιλέγει τα bits των μερικών γινομένων Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 36

Πρόβλημα στην κωδικοποίηση Booth Αναποτελεσματικός στην περίπτωση πολλαπλασιαστών, όπως: 01010101(0) 11111111 εδώ, δεν μειώνει τον αριθμό των πράξεων. Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 37

Τροποποιημένος κανόνας Booth ( ) x x x x x x x x x yy yy 5 4 yy yy 1 0 7 6 5 4 3 2 1 0 1 7 6 3 2 x i x i-1 x i-2 y i y i-1 operation comments 0 0 0 0 0 +0 string of zeros 0 1 0 0 1 +Α a single 1 1 0 0 1 0-2A beginning of 1 s 1 1 0 1 1 -A beginning of 1 s 0 0 1 0 1 +Α end of 1 s 0 1 1 1 0 +2A end of 1 s 1 0 1 0 1 -A a single 0 1 1 1 0 0 +0 string of 1 s Αντιμετωπίζει το θέμα των μεμονωμένων άσσων Χρησιμοποιεί μόνο ολισθήσεις και προσθαφαιρέσεις Αρχιτεκτονική high-radix Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 38

Παράδειγμα κωδικοποίησης Έστω P = Α ( 15) x i x i-1 x i-2 y i y i-1 operation comments 0 0 0 0 0 +0 string of zeros 0 1 0 0 1 +Α a single 1 1 0 0 1 0-2A beginning of 1 s 1 1 0 1 1 -A beginning of 1 s 0 0 1 0 1 +Α end of 1 s 0 1 1 1 0 +2A end of 1 s 1 0 1 0 1 -A a single 0 1 1 1 0 0 +0 string of 1 s (1) 1 0 0 0 1 (0) A 0 +A Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 39

Παράδειγμα κωδικοποίησης Έστω P = Α ( 15) x i x i-1 x i-2 y i y i-1 operation comments 0 0 0 0 0 +0 string of zeros 0 1 0 0 1 +Α a single 1 1 0 0 1 0-2A beginning of 1 s 1 1 0 1 1 -A beginning of 1 s 0 0 1 0 1 +Α end of 1 s 0 1 1 1 0 +2A end of 1 s 1 0 1 0 1 -A a single 0 1 1 1 0 0 +0 string of 1 s (1) 1 0 0 0 1 (0) A 0 +A Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 39

Παράδειγμα κωδικοποίησης Έστω P = Α ( 15) x i x i-1 x i-2 y i y i-1 operation comments 0 0 0 0 0 +0 string of zeros 0 1 0 0 1 +Α a single 1 1 0 0 1 0-2A beginning of 1 s 1 1 0 1 1 -A beginning of 1 s 0 0 1 0 1 +Α end of 1 s 0 1 1 1 0 +2A end of 1 s 1 0 1 0 1 -A a single 0 1 1 1 0 0 +0 string of 1 s (1) 1 0 0 0 1 (0) A 0 +A Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 39

Παράδειγμα κωδικοποίησης Έστω P = Α ( 15) x i x i-1 x i-2 y i y i-1 operation comments 0 0 0 0 0 +0 string of zeros 0 1 0 0 1 +Α a single 1 1 0 0 1 0-2A beginning of 1 s 1 1 0 1 1 -A beginning of 1 s 0 0 1 0 1 +Α end of 1 s 0 1 1 1 0 +2A end of 1 s 1 0 1 0 1 -A a single 0 1 1 1 0 0 +0 string of 1 s (1) 1 0 0 0 1 (0) A 0 +A Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 39

Παράδειγμα κωδικοποίησης Έστω P = Α ( 15) x i x i-1 x i-2 y i y i-1 operation comments 0 0 0 0 0 +0 string of zeros 0 1 0 0 1 +Α a single 1 1 0 0 1 0-2A beginning of 1 s 1 1 0 1 1 -A beginning of 1 s 0 0 1 0 1 +Α end of 1 s 0 1 1 1 0 +2A end of 1 s 1 0 1 0 1 -A a single 0 1 1 1 0 0 +0 string of 1 s (1) 1 0 0 0 1 (0) A 0 +A Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 39

Παράδειγμα κωδικοποίησης Έστω P = Α ( 15) x i x i-1 x i-2 y i y i-1 operation comments 0 0 0 0 0 +0 string of zeros 0 1 0 0 1 +Α a single 1 1 0 0 1 0-2A beginning of 1 s 1 1 0 1 1 -A beginning of 1 s 0 0 1 0 1 +Α end of 1 s 0 1 1 1 0 +2A end of 1 s 1 0 1 0 1 -A a single 0 1 1 1 0 0 +0 string of 1 s (1) 1 0 0 0 1 (0) A 0 +A P = Α ( 15) = ( A) 16 + 0 4 + A 1 Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 39

Σημείωμα Χρήσης Έργων Τρίτων Τα σχήματα των διαφανειών 9, 10 και 36 προέρχονται από τις διαφάνειες του συγγράμματος «CMOS VLSI Design: A Circuits and Systems Perspective (4 th Edition)», Neil H.E. Weste, David Money Harris, Pearson, 2011. Διαθέσιμες στη διαδικτυακή διεύθυνση http://pages.hmc.edu/harris/cmosvlsi/4e/index.html 2011 David Money Harris Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 40

Σημείωμα Αναφοράς Copyright Πανεπιστήμιο Πατρών, Βασίλης Παλιουράς, Γεώργιος Θεοδωρίδης, «Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων (VLSI) IΙ». Έκδοση: 1.0 Πάτρα 2015 Διαθέσιμο στη διαδικτυακή διεύθυνση https://eclass.upatras.gr/courses/ee892/ Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 41

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου των διδασκόντων καθηγητών. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Πατρών» έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 42