Ψηφιακά Συστήματα VLSI

Σχετικά έγγραφα
ΕΡΓΑΣΤΗΡΙΟ ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ : Κ. ΠΕΚΜΕΣΤΖΗ


Actual Chip Specification

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

HY430 Εργαστήριο Ψηφιακών Κυκλωμάτων.

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Πράξεις με δυαδικούς αριθμούς

ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων

i Το τρανζίστορ αυτό είναι τύπου NMOS. Υπάρχει και το συμπληρωματικό PMOS. ; Τι συμβαίνει στο τρανζίστορ PMOS; Το τρανζίστορ MOS(FET)

! Εάν ο αριθμός διαθέτει περισσότερα bits, χρησιμοποιούμε μεγαλύτερες δυνάμεις του 2. ! Προσοχή στη θέση του περισσότερο σημαντικού bit!

Υποσυστήματα Χειρισμού Δεδομένων

Εργαστήριο Εισαγωγής στη Σχεδίαση Συστημάτων VLSI

9. OIΚΟΥΜΕΝΙΚΕΣ ΠΥΛΕΣ ΠΟΛΛΑΠΛΩΝ ΕΙΣΟ ΩΝ

Η κανονική μορφή της συνάρτησης που υλοποιείται με τον προηγούμενο πίνακα αληθείας σε μορφή ελαχιστόρων είναι η Q = [A].

Πανεπιστήμιο Πατρών Τμήμα Φυσικής Εργαστήριο Ηλεκτρονικής. Ψηφιακά Ηλεκτρονικά. Συνδυαστική Λογική. Επιμέλεια Διαφανειών: Δ.

4.1 Θεωρητική εισαγωγή

EE434 ASIC & Digital Systems Arithmetic Circuits

ΠΛΗ10 Κεφάλαιο 2. ΠΛH10 Εισαγωγή στην Πληροφορική: Τόμος Α Κεφάλαιο: : Αριθμητική περιοχή της ALU 2.5: Κυκλώματα Υπολογιστών

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Άλλες Αριθμητικές Συναρτήσεις/Κυκλώματα

Υποσυστήματα Χειρισμού Δεδομένων

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση

1 η Θεµατική Ενότητα : Αριθµητικά Κυκλώµατα. Επιµέλεια διαφανειών: Χρ. Καβουσιανός

Ενότητα 9 ΑΡΙΘΜΗΤΙΚΑ & ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ

7 η διάλεξη Ακολουθιακά Κυκλώματα

w x y Υλοποίηση της F(w,x,y,z) με πολυπλέκτη 8-σε-1

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο

Ψηφιακά Συστήματα. 6. Σχεδίαση Συνδυαστικών Κυκλωμάτων

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία

ΣΧΕΔΙΑΣΗ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

100 ΕΡΩΤΗΣΕΙΣ ΜΕ ΤΙΣ ΑΝΤΙΣΤΟΙΧΕΣ ΑΠΑΝΤΗΣΕΙΣ ΓΙΑ ΤΟ ΜΑΘΗΜΑ ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος...9 ΚΕΦ. 1. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ - ΚΩΔΙΚΕΣ

a -j a 5 a 4 a 3 a 2 a 1 a 0, a -1 a -2 a -3

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ. ΜΑΘΗΜΑ 2 ο. ΑΛΓΕΒΡΑ Boole ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Σχεδίαση Ψηφιακών Συστημάτων. Ενότητα: ΚΑΤΑΧΩΡΗΤΕΣ - ΑΠΑΡΙΘΜΗΤΕΣ

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων

Σχεδίαση Βασικών Κυκλωµάτων. Χρ. Καβουσιανός. Επίκουρος Καθηγητής

Αθροιστές. Ημιαθροιστής

Κεφάλαιο 7 ο. Γ. Τσιατούχας. VLSI Technology and Computer Architecture Lab. Ακολουθιακή Λογική 2

Περιεχόμενα. Πρώτο Κεφάλαιο. Εισαγωγή στα Ψηφιακά Συστήματα. Δεύτερο Κεφάλαιο. Αριθμητικά Συστήματα Κώδικες

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 15: Καταχωρητές (Registers)

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση

Περίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο Παράδειγµα: Καταχωρητής 2-bit. Καταχωρητής 4-bit. Μνήµη Καταχωρητών

ΦΟΙΤΗΤΡΙΑ : ΒΟΥΛΓΑΡΙ ΟΥ ΜΑΡΙΑ, ΑΕΜ: 2109 ΕΠΙΒΛΕΠΩΝ : ΚΑΛΟΜΟΙΡΟΣ ΙΩΑΝΝΗΣ, ΕΠΙΚΟΥΡΟΣ ΚΑΘΗΓΗΤΗΣ

ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΣΕΙΡΙΑΚΗ ΠΡΟΣΘΕΣΗ

Ελίνα Μακρή

Σχεδίαση Ψηφιακών Συστημάτων

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές

ΑΣΚΗΣΗ 4 ΣΧΕΔΙΑΣΗ ΑΡΙΘΜΗΤΙΚΩΝ ΛΟΓΙΚΩΝ ΚΥΚΛΩΜΑΤΩΝ

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Ψηφιακή Σχεδίαση Ενότητα 10:

ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ

"My Binary Logic" Ένας προσομοιωτής λογικών πυλών στο Scratch

Κεφάλαιο 10 ο. Γ. Τσιατούχας. VLSI Systems and Computer Architecture Lab. Ακολουθιακή Λογική 2

Κεφάλαιο 6. Σύγχρονα και ασύγχρονα ακολουθιακά κυκλώματα

Λογική Σχεδίαση Ι - Εξεταστική Φεβρουαρίου 2013 Διάρκεια εξέτασης : 160 Ονοματεπώνυμο : Α. Μ. Έτος σπουδών:

9 ο Μαθητικό Συνέδριο Πληροφορικής Κεντρικής Μακεδονίας. "My Binary Logic" Ένας προσομοιωτής λογικών πυλών στο Scratch

Κεφάλαιο 8. Αριθμητική Λογική μονάδα

Οργάνωση Η/Υ. Γιώργος ηµητρίου. Μάθηµα 3 ο. Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων

Ψηφιακά Κυκλώματα (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Γ2.1 Στοιχεία Αρχιτεκτονικής. Γ Λυκείου Κατεύθυνσης

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

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Καταχωρητές 1

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Κεφάλαιο 3

9. ΚΑΤΑΧΩΡΗΤΕΣ (REGISTERS)

Ψηφιακή Σχεδίαση Εργαστηριο 1. Τμήμα: Μηχανικών Πληροφορικής κ Τηλεπικοινωνιών Διδάσκων: Δρ. Σωτήριος Κοντογιαννης Μάθημα 2 ου εξαμήνου

26-Nov-09. ΗΜΥ 210: Λογικός Σχεδιασμός, Χειμερινό Εξάμηνο Καταχωρητές 1. Διδάσκουσα: Μαρία Κ. Μιχαήλ

Οργάνωση Η/Υ. Γιώργος Δημητρίου. Μάθημα 2 ο Σύντομη Επανάληψη. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα

Pipelining και Παράλληλη Επεξεργασία

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΘΕΜΑΤΑ & ΕΝΔΕΙΚΤΙΚΕΣ ΛΥΣΕΙΣ

Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια

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

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο Διάλεξη 8 η : Μηχανές Πεπερασμένων Κaταστάσεων σε FPGAs

Τεχνικές σχεδιασμού μονοπατιών ολίσθησης

Σχεδίαση Ψηφιακών Συστημάτων

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

Πρόγραμμα Μεταπτυχιακών Σπουδών «Πληροφορική και Εφαρμογές»

σύνθεση και απλοποίησή τους θεωρήµατα της άλγεβρας Boole, αξιώµατα του Huntington, κλπ.

C D C D C D C D A B

1. ΣΥΣΤΗΜΑΤΑ ΑΡΙΘΜΩΝ. α i. (α i β i ) (1.3) όπου: η= το πλήθος ακεραίων ψηφίων του αριθμού Ν. n-1

HY330 Ψηφιακά Κυκλώματα - Εισαγωγή στα Συστήματα VLSI. 1 ΗΥ330 - Διάλεξη 11η - Κυκλώματα Δεδομένων

Βελτιστοποίηση μονάδας υπολογισμού Butterfly για τον αλγόριθμο FFT

ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΚΑΡΑΓΚΙΑΟΥΡΗΣ ΝΙΚΟΛΑΟΣ

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση

Θέμα 1ο (3 μονάδες) Υλοποιήστε το ακoλουθιακό κύκλωμα που περιγράφεται από το κατωτέρω διάγραμμα

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Ακολουθιακός Κώδικας

Xρονισμός ψηφιακών κυκλωμάτων

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση

ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. ΚΕΦΑΛΑΙΟ 2ο ΚΑΤΑΧΩΡΗΤΕΣ. (c) Αμπατζόγλου Γιάννης, Ηλεκτρονικός Μηχανικός, καθηγητής ΠΕ17

Ηλεκτρολόγοι Μηχανικοί ΕΜΠ Λογική Σχεδίαση Ψηφιακών Συστημάτων Διαγώνισμα κανονικής εξέτασης 2017

K24 Ψηφιακά Ηλεκτρονικά 6: Πολυπλέκτες/Αποπολυπλέκτες

Transcript:

Ψηφιακά Συστήματα VLSI. ΑΡΙΘΜΗΤΙΚΑ ΚΥΚΛΩΜΑΤΑ VLSI Αθροιστές, Πολλαπλασιαστές (Σειριακοί- Παράλληλοι). ΠΡΑΞΕΙΣ ΜΕ ΠΡΟΣΗΜΑΣΜΕΝΟΥΣ ΑΡΙΘΜΟΥΣ Συμπλήρωμα ως προς, Αφαιρέτες, Booth, Modified Booth, αριθμητικά συστήματα περίσσειας (Redundant), Signed Digit αριθμητική, κανονική παράσταση αριθμών 3. ΥΛΟΠΟΙΗΣΗ ΨΗΦΙΑΚΩΝ ΦΙΛΤΡΩΝ Μετασχηματισμοί Γράφων, Φίλτρα FIR, Κυκλώματα πράξεων με RSD αριθμούς

ΑΡΙΘΜΗΤΙΚΑ ΚΥΚΛΩΜΑΤΑ VLSI Ελαχιστοποίηση καθυστέρησης Ελαχιστοποίηση επιφάνειας chip Επιλογή κατάλληλης τεχνολογίας VLSI ΤΕΧΝΙΚΕΣ ΣΧΕΔΙΑΣΗΣ & ΜΕΤΑΤΡΟΠΗΣ ΚΥΚΛΩΜΑΤΩΝ Μεγιστοποίηση του ρυθμού λειτουργίας Κυκλώματα συνεχούς διοχέτευσης (pipeline) Συστολικά (systolic) δίκτυα

Αθροιστές ΒΑΣΙΚΗ ΔΟΜΙΚΗ ΜΟΝΑΔΑ Πλήρης Αθροιστής (Full Adder: ) b a s = a b c in c out = ab ac in bc in c out c in Παράλληλος Αθροιστής s Σειριακός Αθροιστής

Πίνακας αληθείας και Πίνακας Καρνώ Πλήρη-Αθροιστή α b c in s c out Με την βοήθεια των πινάκων εξάγουμε τις αλγεβρικές σχέσεις ανάμεσα στα σήματα: s: ab c in c out : c in ab s= c in ab ac in b bac in c in ab c out = c in b ab ac in

Σχηματικό Πλήρη-Αθροιστή s = a b c in c out = ab ac in bc in a b c in s c in a b a b c out

Σχηματικό Πλήρη-Αθροιστή Αν p= τότε a=b (,) ή (,) c out =a ή b Αν p= τότε a b (,) ή (,) c out =c in c in c out a b c in p s s: ab c in c out : c in ab s= c in ab ac in b bac in c in ab c out = c in b ab ac in

Σχηματικό Πλήρη-Αθροιστή 3 s = a b c in (a b c in ) (~c out ) c out = a b a c in b c in a b C out s c in a b a b C out

Αθροιστής διάδοσης κρατουμένου 4-bits b 3 a 3 b a b a b a c out c 3 c c c s 3 s s s Delay=n T η μέγιστη καθυστέρηση Πρακτικά όμως η κατά μέσο όρο καθυστέρηση είναι: Delay=(log n) T Σε περίπτωση διαφορετικής καθυστέρησης μεταξύ S και Cout έχουμε μέγιστη καθυστέρηση (T S > T Cout ) Delay= T S (n-) T Cout

Μετατροπή παράλληλου κυκλώματος σε κύκλωμα διοχέτευσης Data In Σ.Κ. Σ.Κ. Σ.Κ. 3... Σ.Κ. n Data out Σ.Κ. : Συνδυαστικό Κύκλωμα Data In Σ.Κ. D Σ.Κ.... D Σ.Κ. n Data out Clock... D: Σειρά Μανδαλωτών

Επιλογή σημείων παρεμβολής καθυστερήσεων b 3 a 3 b a b a b a c out c 3 c c c s 3 s s s

Ροή δεδομένων σε ένα pipeline αθροιστή Πίνακας Συνεχόμενης Άθροισης τεσσάρων αριθμών των 4-bit 4 4 a 3 b3 4 4 a b 4 4 a b 4 4 a b 3 3 a 3 b3 3 3 a b 3 3 a b 3 3 a b a 3 b3 a b a b s 3 a 3 b3 a b s s a 3 b3 s s s s 3 s s s

Προϋποθέσεις συστολικότητας Τα κύτταρα που αποτελούν το κύκλωμα πρέπει να είναι πανομοιότυπα. Πρέπει να υποστηρίζεται η λογική της συνεχούς διοχέτευσης. Απαγορεύεται να υπάρχουν γραμμές σημάτων μεταξύ των κυττάρων που να μην διακόπτονται από στοιχεία καθυστέρησης (latches). Απλή κατασκευή Υψηλή ταχύτητα λειτουργίας

Ο αθροιστής διάδοσης κρατουμένου σε λειτουργία συνεχούς διοχέτευσης b 3 a 3 b a b a b a c c 4 s 3 s s s = Delay

Συστολικό κύκλωμα παράλληλου αθροιστή με ημιαθροιστές b 3 a 3 b a b a b a s 4 s 3 s s s = Delay

Πρόσθεση m αριθμών (με n-bit ο καθένας) a n a n... a a a a n-bit Adder PS n a n... PS a PS a n-bit Adder......... PS n m m a n... PS m a m PS m a m n-bit Adder... Sn S S T ( m ) n T

Δίκτυο αθροιστών διάδοσης κρατουμένου an a n a n a n a... a a a Συνολική καθυστέρηση T= (nm-)t n S m A j j PS n n a n n- n a n...... PS 3 a PS a.. nm- m m a m n a m n a.. nm-..... m. a. m- s n- s n-... s s

5Χ4 ripple carry αθροιστής συνεχούς διοχέτευσης Ρυθμός Λειτουργίας F= /T T D = /T Clock Συνολική καθυστέρηση T= (nm-)t Clock Όπου T D είναι η πρόσθετη καθυστέρηση που εισάγει η κάθε μονάδα D-Flip Flop. Latency=(m-)T Clock TIME 3 4 5 6 7

Αθροιστής 5 αριθμών με σώσιμο κρατουμένου a 3 a 3 a 3 a a a a a a a a a 3 a 3 3 a 3 a 3 a Συνολική καθυστέρηση: T= (m-)t (n-)t όπου m=πλήθος αριθμών n=πλήθος bit α 4 3 α 4 α 4 4 a Αποτέλεσμα σε μορφή αθροίσματοςκρατουμένου Τελικός αθροιστής διάδοσης κρατουμένου

Αθροιστής 5 αριθμών με σώσιμο κρατουμένου & συνεχή διοχέτευση a 3 a 3 a 3 a a a a a a a a a Ρυθμός Λειτουργίας 3 a 3 3 a 3 a 3 a F= /(T T D) = /T Clock Συνολική καθυστέρηση T= (nm-)t Clock 4 a 3 4 a 4 a 4 a Αποτέλεσμα σε μορφή αθροίσματοςκρατουμένου Latency=(n m-)t Clock Τελικός αθροιστής διάδοσης κρατουμένου

Αθροιστής 8 (m) αριθμών (Α Α 7 ) Έστω m=8 το πλήθος των αριθμών Συνολικός αριθμός Καταχωρητών=m(m-)/=8 Latency=(m-) T Clock =7 T Clock Για n=πλήθος bit, T, Τ c οι καθυστερήσεις αθροίσματος και κρατουμένου αντίστοιχα Συνδυαστική καθυστέρηση Τ Σ T Σ = (m-)t S nt c A A A A 3 A 4 A 5 A 6 A 7 o Επίπεδο καταχωρητώ (ΕΚ) o (ΕΚ) 3o (ΕΚ) 4o (ΕΚ) 5o (ΕΚ) 6o (ΕΚ)

Αθροιστής δυαδικού δένδρου 8 αριθμών (Α Α 7 ) A A A A 3 A 4 A 5 A 6 A 7 o Επίπεδο καταχωρητών (ΕΚ) o (ΕΚ) ΣΑ i Συνολικός αριθμός Καταχωρητών= m- Latency=log m T Clock =3 T Clock-ADDER

Αθροιστής CARRY-SAVE (CSA) z 7y7 z 6y6 z 5y5 z 4y4 z 3y3 z y z y z y x 7 x 6 x 5 x 4 x 3 x x x s 8 c 7 s 7 c 6 s 6 c 5 s 5 c 4 s 4 c 3 s 3 c s c s c s c - Z Y X (n) - bit C.S. ΑΘΡΟΙΣΤΗΣ S C (n) - bit

ΠΡΟΣΘΕΣΗ 8 (m) ΑΡΙΘΜΩΝ ΜΕ ΔΕΝΔΡΟ CSA A A A A 3 A 4 A 5 A 6 A 7 Συνολικός αριθμός Καταχωρητών m-3=3 CSA CSA CSA CSA o Επίπεδο καταχωρητ (ΕΚ) Latency= log 3/ m T Clock =.7log m T Clock = 5 T Clock- o (ΕΚ) Συνδυαστική καθυστέρηση Τ Σ T Σ =.7log m T S nt c CSA 3o (ΕΚ) CSA 4o (ΕΚ) ΑΠΛΟΣ ΑΘΡΟΙΣΤΗΣ ΣΑ i

ΚΑΘΥΣΤΕΡΗΣΗ (Latency) ΤΥΠΟΣ ΣΕΙΡΙΑΚΟ m m- ΔΕΝΔΡΟ ΔΕΝΔΡΟ CS log m.7log m 8 7 3 5 4 5 6 5 4 7 3 3 5 9 64 63 6

Δυαδικό δένδρο 8 αριθμών (Α Α 7 ) με αθροιστές διάδοσης κρατουμένου A A A A 3 A 4 A 5 A 6 A 7 Αθροιστές διαδοσης κρατουμένου Έστω n=πλήθος bit και T S, Τ c οι καθυστερήσεις αθροίσματος και κρατουμένου αντίστοιχα. Συνολική συνδυαστική καθυστέρηση για m αριθμούς είναι: T Σ = T S (log m) T c n ΣΑ i Αν T c << T S πχ. T c = T S /4 τότε: T Σ = T S (log m n/4) Στη συνδυαστική του μορφή είναι ταχύτερο από το προηγούμενο σχήμα.

Αθροιστές διάδοσης κρατουμένου Σε ένα πλήρη αθροιστή έχουμε: s i =(a i b i )c i και c i =a i b i (a i b i )c i Θέτω p i = a i b i και g i =a i b i Έχουμε S i =p i c i και c i = g i p i c i Για το νέο κρατούμενο εξόδου έχουμε τα εξής: Αν g i = «Γεννιέται» κρατούμενο στην ίδια βαθμίδα Αν p i = «Διαδίδεται» κρατούμενο από προηγούμενη βαθμίδα b i a i b 3 a 3 b a b a b a c out c 3 c c c g i p i s 3 s s s c i c i CLA s i

Τα σήματα PGK For a full adder, define what happens to carries Generate: C out = independent of C G = A B Propagate: C out = C P = A B Kill: C out = independent of C K = ~A ~B

Carry-Ripple Adder G G P G i: i i i : A 4 B 4 A 3 B 3 A B A B C in Γεννήτρια PG G 4 P 4 G 3 P 3 G P G P G P Συγκρότημα δημιουργίας κρατουμένου G 3: G : G : G : C 3 C C C Γεννήτρια αθροίσματος C 4 C out S 4 S 3 S S

Delay Carry-Ripple PG Diagram Bit Position 5 4 3 9 8 7 6 5 4 3 t t ( N ) t t ripple pg AO xor 5: 4: 3: : : : 9: 8: 7: 6: 5: 4: 3: : : : 3

Αθροιστές πρόβλεψης κρατουμένου C = G P C C = G P G P P C C 3 = G P G P P G P P P C C 4 = G 3 P 3 G P 3 P G P 3 P P G P 3 P P P C Η γενική μορφή της σχέσης για το κρατούμενο είναι η παρακάτω: 3 3 3......... ))))) ( (... ( ( ( P PC P P P P G P P P G P P P G P P P G G PC G P P G P G P G P G C n n n n n n n n n n n n n n n n n n n n n n n n n

Γεννήτρια πρόβλεψης κρατουμένου C 3 =G P G P P G P P P C P G C = G P G P P C P G C = G P C P G C

Αθροιστές δυαδικής πρόβλεψης κρατουμένου X x n i nxn... x xi i Y y n i n yn... y yi i Ορίζουμε ως προ-κρατουμένο το ζεύγος (G,P)=Γ για κάθε σύνολο από συνεχόμενα bits δύο αριθμών που είναι ταυτόσημο με αυτό για ένα ζευγάρι bits. Y X Cout = G P Cin C out n -bit carry circuit C in G P Αν G= «Γεννιέται» κρατούμενο στην ίδια βαθμίδα Αν P= «Διαδίδεται» κρατούμενο από προηγούμενη βαθμίδα

Carry-Skip Adder Carry-ripple is slow through all N stages Carry-skip allows carry to skip over groups of n bits Decision based on n-bit propagate signal A 6:3 B 6:3 A :9 B :9 A 8:5 B 8:5 A 4: B 4: P 6:3 P :9 P 8:5 P 4: C out C C 8 C C in S 6:3 S :9 S 8:5 S 4: N=k b, b=block size, k=number of blocks t add =t pg (b-) t carry (k-) t MUX t XOR

Carry-Skip PG Diagram 6 5 4 3 9 8 7 6 5 4 3 For k n-bit groups (N = nk) 6: 5: 4: 3: : : : 9: 8: 7: 6: 5: 4: 3: : : : tskip tpg n ( k ) t AO t xor

Carry-Lookahead Adder Modules Carry-lookahead adder computes Gi: for many bits in parallel. Uses higher-valency cells with more than two inputs. A 6:3 B 6:3 A :9 B :9 A 8:5 B 8:5 A 4: B 4: C out G 6:3 P 6:3 C G :9 P :9 C 8 G 8:5 P 8:5 C 4 G 4: P 4: C in S 6:3 S :9 S 8:5 S 4: N=k b, b=block size, k=number of blocks t add = t pg t pg(b) {(b-)(k-)} t AO t XOR

CLA PG Diagram 6 5 4 3 9 8 7 6 5 4 3 6: 5: 4: 3: : : : 9: 8: 7: 6: 5: 4: 3: : : :

Carry-Select Adder Trick for critical paths dependent on late input X Precompute two possible outputs for X =, Select proper output when X arrives Carry-select adder precomputes n-bit sums For both possible carries into n-bit group A 6:3 B 6:3 A :9 B :9 A 8:5 B 8:5 A 4: B 4: C out C C 8 C 4 C in S 6:3 S :9 S 8:5 S 4: N=k b, b=block size, k=number of blocks t add = t pg {b(k-)} t AO t mux

Carry-Select Adder Factor initial PG and final XOR out of carry-select 5 4 3 9 8 7 6 5 4 3 3: 9:8 5:4 4: :8 6:4 5: :8 7:4 5: 4: 3: : : : 9: 8: 7: 6: 5: 4: 3: : : : tincrement tpg n ( k ) t AO t xor

Carry-Select Adders - Variable Group Size 5 4 3 9 8 7 6 5 4 3 : 8:7 5:4 3: 3: 9:7 6:4 4: :7 5: 5: 4: 3: : : : 9: 8: 7: 6: 5: 4: 3: : : : 5 4 3 9 8 7 6 5 4 3 : 8:7 5:4 3: : 3: 9:7 6:4 3: 4: :7 6: 5: 5: 4: 3: : : : 9: 8: 7: 6: 5: 4: 3: : : :

Αθροιστές δυαδικής πρόβλεψης κρατουμένου X x n i nxn... x xi i Y y n i n yn... y yi i Ορίζουμε ως προ-κρατουμένο το ζεύγος (G,P)=Γ για κάθε σύνολο από συνεχόμενα bits δύο αριθμών που είναι ταυτόσημο με αυτό για ένα ζευγάρι bits. Y X Cout = G P Cin C out n -bit carry circuit C in G P Αν G= «Γεννιέται» κρατούμενο στην ίδια βαθμίδα Αν P= «Διαδίδεται» κρατούμενο από προηγούμενη βαθμίδα

Αθροιστές δυαδικής πρόβλεψης κρατουμένου Αν έχω δυο συνεχόμενα υποσύνολα προ-κρατουμένων Γ και Γ τότε το ολικό είναι Γ= (G,P) = (G G P, P P ). Συμβολίζουμε την πράξη αυτή ως Γ= Γ Γ = (G,P )(G,P ) = (G,P) = (G G P, P P ) Y X Y X C out k-bit carry circuit k-bit carry circuit C in G P G P P=P P G=G G P

Το κύκλωμα του τελεστή για ένα bit O τελεστής για ένα bit στη κάθε ομάδα δηλ. αφορά σε δυο ζευγάρια συνεχόμενων bit (x,y ) (x,y ) δίνεται από τη σχέση: γ - = γ γ = (g,p )(g,p ) g p g p g p g - = g g p p - = p p g - p -

Προσεταιριστική ιδιότητα & υπολογισμός αθροίσματος Για την πράξη αυτή ισχύει η προσεταιριστική ιδιότητα: Γ 3 (Γ Γ ) = (G 3, P 3 )(G G P, P P ) = (G 3 P 3 G P P 3 G, P P P 3 ) (Γ 3 Γ )Γ = (G 3 G P 3, P P 3 )(G, P ) = ( G 3 P 3 G P P 3 G, P P P 3 ) Θέτω γ i =(g i,p i )=(x i y i, x i y i ) για το ζευγάρι των bit (x i,y i ) Ορίζω το προ-κρατούμενο Γ i για τα bit από έως i των x και y. Γ i =γ i- =(γ i (γ i- (γ i- ( (γ γ )))..)=(P i, G i ) Τα αθροίσματα σε κάθε θέση i δίνονται από τη σχέση c i =(G i- P i- c ) και s i =x i y i c i =p i (G i- P i- c ) Έτσι για το s 4 =p 4 (G 3 P 3 c ) όπου Γ 3 = γ (γ γ )=(P 3, G 3 ) Για το c 7 =(G 6 P 6 c ) όπου Γ 6 = (γ 6 (γ 5 γ 4 )) ((γ 3 γ ) (γ γ ))=(P 6, G 6 )

Υπολογισμός με τη χρήση δένδρου γ -3 x y x y x y x y x y x y x y x y 7 7 γ 7 6 γ 6 6 5 5 4 4 3 3 γ 5 γ 4 γ 3 γ γ γ 8- γ 6-7 γ 4-5 γ -3 γ - γ 4-7 γ 8-3 γ -3 Γ 3 =γ -3 γ - γ 8-9 γ 6-7 γ 4-5 γ -3 γ - =γ -3 γ 8- γ 4-7 γ -3 =γ 8-3 γ -7 γ-3 =Γ 3 =(G 3,P 3 ) γ-7 =Γ 7 =(G 7,P 7 ) C i =(G i- P i- C ) S i =p i C i C 8 C 7 C 6 C 5 C 4 C 3 C C p p p p p p p p 7 s s s s s s s s 7 6 6 5 4 3 5 4 3 C

Αθροιστής 8-bit με δυαδικό CLA y 7 x 7 y 6 x 6 y 5 x 5 y 4 x 4 y x x x y 3 x 3 y y p 6 p 5 g g p 4 p 3 p 7 p =x y p p P P 3 P P 7 P 6 P 5 P 4 G 6 G 5 G 4 G 7 G G 3 G G c = p 6 p 5 p 4 p 7 p p 3 p p C 8 s 6 s 5 s 4 s 7 s s 3 s s

Αθροιστής 6-bit πρόβλεψης κρατουμένου y 7 x 7 y 6 x 6 y 5 x 5 y 4 x 4 y x x x y 3 x 3 y y y 7 x 7 y 6 x 6 y 5 x 5 y 4 x 4 y x x x y 3 x 3 y y g 5 g 4 p 4 g 3 p 3 g p p 5 p 9 g p 7 p 7 g 6 g 5 g g p =x y p g p g 9 g 8 g 7 p 6 p 5 g 4 p 4 g 3 p 3 g p p P P 3 P C 6 G 4 G 3 G G G G 5 G 8 p 4 p 3 p p 5 p 8 p p G 9 p 9 P 9 P 8 P 7 P 6 P 5 P 4 G 6 G 5 G 4 G 7 G p 6 p 5 p 4 p 7 p p 3 G 3 p G p G C = s 4 s 3 s s 5 s 8 s s s 9 s 6 s 5 s 4 s 7 s s 3 s s

Tree Adder If lookahead is good, lookahead across lookahead! Recursive lookahead gives O(log N) delay Many variations on tree adders

PG Diagram Notation Black cell Gray cell Buffer i:k k-:j i:k k-:j i:j i:j i:j i:j G i:k P i:k G k-:j G i:j G i:k P i:k G i:j G k-:j G i:j G i:j P k-:j P i:j P i:j P i:j

Sklansky 5 4 3 9 8 7 6 5 4 3 5:4 3: : 9:8 7:6 5:4 3: : 5: 4: :8 :8 7:4 6:4 3: : 5:8 4:8 3:8 :8 5: 4: 3: : : : 9: 8: 7: 6: 5: 4: 3: : : : N=k b, b=block size, k=number of blocks t add = t pg {log N} t AO t xor

Brent-Kung 5 4 3 9 8 7 6 5 4 3 5:4 3: : 9:8 7:6 5:4 3: : 5: :8 7:4 3: 5:8 7: : 3: 9: 5: 5: 4: 3: : : : 9: 8: 7: 6: 5: 4: 3: : : : N=k b, b=block size, k=number of blocks t add = t pg {log N-} t AO t xor

Πολλαπλασιαστές n- ΑΒ = Α { b b b n- b n- } = Α i= i b i... n- b n- A (m bits) b A (m bits) b A (m bits) b A (m bits) B A (mn bits)

Οι πολλαπλασιαστές διακρίνονται σε πολλές κατηγορίες ανάλογα με: Το είδος των αριθμών που πολλαπλασιάζουμε (θετικοί ή προσημασμένοι). Την κωδικοποίηση των αριθμών (Booth, Modified Booth, Signed Digit, Canonical Signed Digit) Τον τρόπο εισαγωγής και επεξεργασίας τους (παράλληλα, σειριακά, σειριακά-παράλληλα) Τη σειρά που εισέρχονται τα bits των αριθμών στο κύκλωμα του πολλαπλασιαστή (LSB-first, MSB-first). Τον ρυθμό λειτουργίας τους (πολλαπλασιαστές διοχέτευσης, συστολικοί) Ειδικότερα θα γίνει η παρουσίαση της δομής και λειτουργίας: Των παράλληλων πολλαπλασιαστών (δίκτυα με κανονικό σχήμα CSA, CLA και CPA) Του σειριακού-παράλληλου και του σειριακού πολλαπλασιαστή διοχέτευσης για θετικούς αριθμούς. Επίσης παράλληλου πολλαπλασιαστή που δεν έχει κανονικό σχήμα και επιτρέπει μεγαλύτερες ταχύτητες λειτουργίας.

Παράλληλοι Πολλαπλασιαστές m i i a i A n i i b i B ) ( m i n j m i n j n m k k k j i j i j j i i p a b b a B A P Μερικά γινόμενα πολλαπλασιαστή των 4-bit α 3 α α α Πολ/στέος b 3 b b b Πολ/στής α 3 b α b α b α b α 3 b α b α b α b α 3 b α b α b α b α 3 b 3 α b 3 α b 3 α b 3 p p 6 p 5 p 4 p 3 p p p Γινόμενο

Παράλληλος πολλαπλασιαστής με αθροιστές διάδοσης κρατουμένου * s in a j c out s out b i c in a 3 a a * * * * a b P(nm)=a(n)b(m) Συνολική καθυστέρηση T= (nm-)t T AND * * * * * * * * b b * * * * b 3 p 7 p 6 p 5 p 4 p 3 p p p

Μετατροπή του ripple carry πολλαπλασιαστή σε συνεχούς διοχέτευσης και σε συστολική μορφή s in a j b D i a 3 a a a c out D D D D c in 4 3 b s out 6 5 4 3 b 8 7 6 5 b 9 8 7 b 3 p 7 p 6 p 5 p 4 p 3 p p p

Παράλληλος πολλαπλασιαστής 4Χ4 με σώσιμο κρατουμένου ~ s in a j a a a b i ~ a 3 b ~ ~ ~ c in c s ~ ~ ~ ~ b c out s out P(nm)=a(n)b(m) Συνολική καθυστέρηση T= (nm)t T AND ~ ~ ~ ~ b b 3 ~ ~ ~ ~ p 8 p 7 p 6 p 5 p 4 p 3 p p p

Pipeline πολλαπλασιαστής 4Χ4 με σώσιμο κρατουμένου ~ s in a j ~ a 3 a a a ~ b ~ ~ b i c in ~ ~ ~ ~ b D D c out c D s s out ~ ~ ~ ~ b : Delay ~ ~ ~ ~ b 3 p 3 p 7 p 6 p 5 p 4 p p p

Παράλληλος συστολικός πολλαπλασιαστής με σώσιμο κρατουμένου a 3 a a a s in a j 4 3 b D D D D c D c out s D s out b i c in 8 9 6 7 8 5 6 7 4 5 b 3 3 b t=5 t=4 b t=3 t= t= t=6 9 3 p 7 p 6 p 5 p 4 p 3 p p p

Παράλληλος συστολικός πολλαπλασιαστής McCanny b i s in aj c in b b a 3 a b 3 b 4 3 4 3 4 3 a 4 a c out s out 5 5 5 5 6 6 6 7 7 7 8 8 9 9 p 7 p 6 p 5 p 4 p 3 p p p

Παράλληλος Πολλαπλασιαστής με συνδυασμό σώσιμου και διάδοσης κρατουμένου * s in a j c out c out s out b i c in * a 3 a a * * * a b * * * * b P(nm)=a(n)b(m) Συνολική καθυστέρηση T= (nm-)t T AND * * * * b * * * * b 3 p 7 p 6 p 5 p 4 p 3 p p p

Δένδρα Wallace W 9 W 8 W 7 W 6 W 5 W 4 W 3 W W P(nm)=a(n)b(m) Συνολική καθυστέρηση T=(,7log m)t T AND log nt pg C.S.A C.S.A C.S.A C.S.A C.S.A C.S.A C.S.A C.P.A Χρειάζονται log 3/ m=,7log m επίπεδα

Ομαδοποίηση μερικών γινομένων a b 4 a b 3 a b a b a b a b 4 a b 3 a b a b a b a b 4 a b 3 a b a b a b a 3 b 4 a 3 b 3 a 3 b a 3 b a 3 b a 4 b 4 a 4 b 3 a 4 b a 4 b a 4 b

Πολλαπλασιαστής Wallace 5x5 a b 4 a 3 b 3 a 4 b a b 3 a 3 b a 4 b a b a 3 b a 4 b a b a b a 3 b a b a b a b a b 4 a b 3 a 3 b 4 a 4 b 3 a b 3 a b 4 a 4 b 4 a b a b a b Αθροιστής πρόβλεψης κρατουμένου ή Αθροιστής διάδοσης κρατουμένου p 9 p 8 p 7 p 6 p 5 p 4 p 3 p p p

Στάδια Ομαδοποίησης πολλαπλασιαστή Wallace Στάδιο ο : Κατακόρυφη ομαδοποίηση μερικών γινομένων ανά τρία x x x x x x Στάδιο ο : Αντικατάσταση με τις εξόδους των και νέα ομαδοποίηση x x x x x Στάδιο3 ο : Αντικατάσταση με τις εξόδους των και νέα ομαδοποίηση x x x x x Στάδιο 4 ο : Τελική μορφή του δένδρου Wallace x Αρχικό μερικό γινόμενο πολλαπλασιαστή Άθροισμα πλήρη αθροιστή Κρατούμενο πλήρη αθροιστή

Πολλαπλασιαστής Wallace 5x5 a b 4 a 3 b 3 a 4 b a b 3 a 3 b a 4 b a b a 3 b a 4 b a b a b a 3 b a b a b a b a b a b a b 3 a b 4 a b 3 a 3 b 4 a 4 b 3 a b 4 a 4 b 4 a b Αθροιστής πρόβλεψης κρατουμένου p 9 p 8 p 7 p 6 p 5 p 4 p 3 p p p

Πολλαπλασιαστής Wallace 6x6 W 5 W 4 W 3 W W W C.S.A C.S.A C.S.A a 4 b a 3 b a b a 5 b Ab a b a b Ab a 5 b a 4 b a 3 b a b a b a b a 5 b a 4 b a 3 b a b a b a b Ab C.S.A CLA Adder 5 Ab 5 a 5 b 5 a 4 b 5 a 3 b 5 y 7 a b 5 x 7 y 6 y 5 x 6 a b 5 a b 5 x 5 4 Ab 4 a 5 b 4 a 4 b 4 a 3 b 4 a b 4 a b 4 a b 4 3 Ab 3 a 5 b 3 a 4 b 3 a 3 b 3 a b 3 a b 3 a b 3 y 7 x 7 y 6 x 6 y 5 x 5 Ταχύς Αθροιστής πρόβλεψης κρατουμένου p p p 9 p 8 p 7 p 6 p 5 p 4 p 3 p p p

Πολλαπλασιαστή Wallace 6X6

ΕΡΩΤΗΜΑ ΝΑ ΜΕΤΑΤΡΑΠΕΙ Ο ΠΟΛΛΑΠΛΑΣΙΑΣΤΗΣ WALLACE 5X5 ΣΕ ΣΧΗΜΑ ΠΟΥ ΝΑ ΔΕΧΕΤΑΙ ΠΡΟΣΗΜΑΣΜΕΝΟΥΣ ΑΡΙΘΜΟΥΣ. Να αντικατασταθεί ο γρήγορος αθροιστής από μια σειρά F-A.

ΣΕΙΡΙΑΚΟΣ ΑΘΡΟΙΣΤΗΣ b n a n Έναρξη νέας πρόσθεσης Clock C n D Flip-Flop Q Μονάδα καθυστέρησης C n s n

Σειριακός- Παράλληλος Πολλαπλασιαστής AX=Ax Ax Ax Ax 3 3 α 3 x α x α x α x α 3 x α x α x α x α 3 x α x α x α x α 3 x 3 α x 3 α b 3 α x 3 p 7 p 6 p 5 p 4 p 3 p p p Γινόμενο x i a 3 a a a s 3 s s D D D s c 3 c c c D D D D

Ξεδίπλωμα στο χρόνο του Σειριακού-Παράλληλου Πολλαπλασιαστή b i c c out s in s s out a j c in x 3 x 4 a 3 a x x 3 3 3 3 4 4 4 p a a t= p t= p t=3 t=4 5 5 5 5 p 3 t=5 6 6 6 7 7 7 7 8 8 8 8 p 7 6 p 4 p 5 p 6 t=8 t=6 t=7

Ενταμίευση Συντελεστών Χρονισμός shift a 3 a a a D D D D a 3 a a a x 3 x x x s 3 s s D D D s c 3 c c c D D D D shift a a a a a 3 (stable a) a a a a 3 x x x x x 3 (new x) p=ax p p p p 3 p 4 p 5 p 6 p 7 (new p)

Εκτίμηση Επίδοσης Ψηφιακών Κυκλωμάτων Για να εκτιμήσουμε το βαθμό της επίδοσης στην υλοποίηση ενός αλγόριθμου θα πρέπει να υπολογιστεί η ποσότητα : E = /AT όπου A= το συνολικό hardware της υλοποίησης ή αν θεωρήσουμε VLSI υλοποίηση την αντίστοιχη επιφάνεια και Τ= ο απαιτούμενος χρόνος εκτέλεσης του αλγόριθμου. Ας υποθέσουμε ότι έχουμε μια παράλληλη και μια σειριακή υλοποίηση του ίδιου αλγόριθμου που χρειάζεται 8 φορές περισσότερους κύκλους ρολογιού από την παράλληλη. Α A Τ Τ Παράλληλη υλοποίηση: Hardware or Area: Α = 8A Χρόνος εκτέλεσης : Τ = Τ E = /8AT (επίδοση) P =k*8af clock (κατανάλωση) Σειριακή υλοποίηση: Hardware or Area: A = A Χρόνος εκτέλεσης: Τ = 8Τ E = /8AT, P =k*af clock Μαθηματικά φαίνεται να απαιτείται η ίδια ενέργεια, στην πράξη όμως A >Α και Τ >8Τ W << W