Σχεδίαση Βασικών Κυκλωµάτων Χρ. Καβουσιανός Επίκουρος Καθηγητής
Εισαγωγή Τα αριθµητικά κυκλώµατα χρησιµοποιούνται ευρέως στην σχεδίαση συστηµάτων. Data Paths Επεξεργαστές ASICs Κυρίαρχες Αριθµητικές Πράξεις: Πρόσθεση Πολλαπλασιασµός Όλες οι αριθµητικές πράξεις ανάγονται σε πρόσθεση / πολλαπλασιασµό Σχεδίαση Κυκλωµάτων µε CAD 2
Βασικές οµικές Μονάδες οµικές Μονάδες Αποκωδικοποιητής Μετρητές Κωδικοποιητής Καταχωρητές Κωδικοποιητής Προτεραιότητας D, JK, T Flip Flop Πολυπλέκτης Αποπλέκτης Σχεδίαση Κυκλωµάτων µε CAD 3
Αποκωδικοποιητής: κύκλωµα που µετατρέπει τη δυαδική πληροφορία των n γραµµών εισόδου σε εως 2 n µοναδικές γραµµές εξόδου (ελαχιστόροι n µεταβλητών). Αποκωδικοποιητής Παράδειγµα: Αποκωδικοποιητής 3-σε-8 Σχεδίαση Κυκλωµάτων µε CAD 4
Αποκωδικοποιητής µε επίτρεψη Ο αποκωδικοποιητής µπορεί να παράγει συµπληρωµατικές εξόδους. Ο αποκωδικοποιητής µπορεί να έχει είσοδο επίτρεψης. Σχεδίαση Κυκλωµάτων µε CAD 5
Αποπλέκτης (Demultiplexer) Ο αποπλέκτης δέχεται πληροφορίες από µία απλή γραµµή και τις µεταβιβάζει σε µία από τις 2 n δυνατές γραµµές εξόδου ανάλογα µε τις τιµές των n γραµµών επιλογής. Σχεδίαση Κυκλωµάτων µε CAD 6
Αποκωδικοποιητής/Αποπλέκτης Επέκταση αποκωδικοποιητή µε χρήση πολλών αποκωδικοποιητών 2 αποκωδικοποιητές 3 σε 8 δίνουν αποκωδικοποιητή 4 σε 6 Συµβολισµοί: Το κυκλάκι δείχνει σε ποια τιµή µία είσοδος/έξοδος είναι ενεργή. x y z 3-8 E Σχεδίαση Κυκλωµάτων µε CAD 7
Κωδικοποιητής Προτεραιότητας Το πρόβληµα προέρχεται από τις αδιάφορες καταστάσεις. Ο κωδικοποιητής προτεραιότητας είναι ένα κύκλωµα κωδικοποιητή που περιλαµβάνει συνάρτηση προτεραιότητας και καθορίζει όλες τις αδιάφορες καταστάσεις. Παράδειγµα: Κωδικοποιητής προτεραιότητας 4 εισόδων Σχεδίαση Κυκλωµάτων µε CAD 8
Κωδικοποιητής Προτεραιότητας 4 Εισόδων x= D 2 +D 3 y = D 3 +D D 2 V = D +D +D 2 +D 3 Λύνει το πρόβληµα της επιλογής όταν περισσότερες της µίας εισόδων είναι επιλέγοντας αυτή µε τη µεγαλύτερη προτεραιότητα. Σχεδίαση Κυκλωµάτων µε CAD 9
Πολυπλέκτης (Multiplexer) Ο πολυπλέκτης είναι ένα συνδυαστικό κύκλωµα που επιλέγει δυαδικές πληροφορίες ανάµεσα σε πολλές γραµµές εισόδου και τις κατευθύνει σε µία γραµµή εξόδου. Η επιλογή της µιας ς συγκεκριµένης µ γραµµής εισόδου γίνεται µέσω µερικών γραµµών επιλογής. Ένας πολυπλέκτης 2 n -σε- γραµµή κατασκευάζεται από έναν αποκωδικοποιητή n-σε-2 n προσθέτοντας σε αυτόν 2 n εισόδους µια για κάθε πύλη ΚΑΙ. Οι έξοδοι των πυλών ΚΑΙ εφαρµόζονται σε µια µοναδική πύλη Η για να δώσουν τη µία γραµµή εξόδου. Σχεδίαση Κυκλωµάτων µε CAD
Πολυπλέκτης 4-σε- Παράδειγµα Σχεδίαση Κυκλωµάτων µε CAD
Πολυπλέκτες µε Κοινή Είσοδο Επίτρεψης Η είσοδος Επίτρεψης (Ε) τοποθετείται για λόγους επέκτασης. Πολυπλέκτης ουπέτης 8-σε-4 ή 4 Πολυπλέκτες 2-σε- Σχεδίαση Κυκλωµάτων µε CAD 2
H λειτουργία του flip flop τροποποιείται µε την τοποθέτηση πρόσθετης εισόδου ελέγχου που καθορίζει πότε θα αλλαχθεί η κατάστασή του. RS Flip-Flop Σχεδίαση Κυκλωµάτων µε CAD 3
D Flip-Flop Εξασφαλίζει ότι οι είσοδοι του flip flop δεν θα πάνε ποτέ στο ταυτόχρονα. Ταυτόχρονα όµως δεν πάνε ποτέ ούτε στο οπότε χάνουµε την διατήρηση της προηγούµενης κατάστασης S R Φυλασσόµενος Μανταλωτής D (gated D-latch). Σχεδίαση Κυκλωµάτων µε CAD 4
JK Flip-Flop H απροσδιόριστη κατάσταση του RS εδώ προσδιορίζεται και αξιοποιείται. Με JK= διατηρεί την προηγούµενη κατάσταση Σχεδίαση Κυκλωµάτων µε CAD 5
T Flip-Flop Είναι µία παραλλαγή του JK µε µία µόνο είσοδο Τ και όταν Τ= αντιστρέφει την κατάστασή του. Σχεδίαση Κυκλωµάτων µε CAD 6
Πυροδότηση των Flip-Flops Πυροδότηση είναι η αλλαγή κάποιας εισόδου του flip-flop που προκαλεί αλλαγή στην κατάστασή του. Είδη: level sensitive - edge triggered Είσοδοι Έξοδοι Συνδυαστικό Κύκλωµα Στοιχεία Μνήµης Σε δειγµατοληψία µε τον παλµό ρολογιού (level) το κύκλωµα µπορεί να οδηγηθεί σε αστάθεια. Σε δειγµατοληψία µε την ακµή ρολογιού (edge) το κύκλωµα δεν θα έχει πρόβληµα. Θετικός Παλµός Αρνητικός Παλµός Θετική Ακµή Αρνητική Ακµή Θετική Ακµή Σχεδίαση Κυκλωµάτων µε CAD 7
Πυροδότηση των Flip-Flops A CP D SET CLR Q Q Η πυροδότηση εξαλείφει το πρόβληµα της αστάθειας ακολουθώντας δύο διαφορετικές µεθοδολογίες:. Τοποθετεί ένα δεύτερο αποθηκευτικό στοιχείο το οποίο λειτουργεί συµπληρωµατικά µε το ο και κόβει την ανάδραση που δηµιουργεί το πρόβληµα. 2. Επιτρέπει την αποθήκευση να γίνεται στιγµιαία (κατά την άνοδο ή κάθοδο του ρολογιού) ώστε να µην υπάρχει χρόνος ενεργοποίησης της ανάδρασης και πρόκλησης έτσι αστάθειας. Σχεδίαση Κυκλωµάτων µε CAD 8
Γραφικά Σύµβολα Flip-Flops Το τρίγωνο δείχνει λειτουργία στη θετική ακµή. Το τρίγωνο µε ένα κύκλο δείχνει λειτουργία στην αρνητική ακµή. Παρέχονται και οι δύο συµπληρωµατικές έξοδοι. Παρέχονται ασύγχρονες είσοδοι θέσης και µηδένισης. Σχεδίαση Κυκλωµάτων µε CAD 9
Καταχωρητής Ο απλούστερος δυνατός τύπος καταχωρητή αποτελείται µονάχα από flipflops χωρίς εξωτερικές πύλες. Μανταλωτής: τα flip pflops είναι ευαίσθητα στον παλµό Καταχωρητής: τα flip flops είναι ευαίσθητα στην ακµή του παλµού Σχεδίαση Κυκλωµάτων µε CAD 2
Καταχωρητής µε Παράλληλη Φόρτωση Φόρτωση (loading): η µεταφορά πληροφοριών µέσα σε έναν καταχωρητή. Παράλληλη αν γίνεται σε όλα τα bits µαζί. Σειριακή αν γίνεται σε ένα ένα cell χωριστά. Με D-flip flops Ο αντιστροφέας στο ρολόι χρησιµοποιείται για να µειώσει το φορτίο οδήγησης. Η είσοδος µηδενισµού χρησιµοποιείται για να φέρει τον καταχωρητή σε µία γνωστή αρχική κατάσταση, και για να σταµατήσει την λειτουργία του. Σχεδίαση Κυκλωµάτων µε CAD 2
Καταχωρητής µε Παράλληλη Φόρτωση Φόρτωση (loading): η µεταφορά πληροφοριών µέσα σε έναν καταχωρητή. Παράλληλη αν γίνεται σε όλα τα bits µαζί. Σειριακή αν γίνεται σε ένα ένα cell χωριστά. Με D-flip flops Ο αντιστροφέας στο ρολόι χρησιµοποιείται για να µειώσει το φορτίο οδήγησης. Η είσοδος µηδενισµού χρησιµοποιείται για να φέρει τον καταχωρητή σε µία γνωστή αρχική κατάσταση, και για να σταµατήσει την λειτουργία του. Σχεδίαση Κυκλωµάτων µε CAD 22
Καταχωρητής µε Παράλληλη Φόρτωση Ο λογικός έλεγχος του ρολογιού (επίτρεψη/απόρριψη) δεν πρέπει να γίνεται µε λογικές πύλες αλλά να χρησιµοποιούνται ασύγχρονες είσοδοι. Ο αποµονωτής στην είσοδο φόρτωσης τοποθετείται για λόγους µείωσης φορτίου. Σχεδίαση Κυκλωµάτων µε CAD 23
Καταχωρητής µε Παράλληλη Φόρτωση I Ο λογικός έλεγχος του ρολογιού (επίτρεψη/απόρριψη) δεν πρέπει να γίνεται µε λογικές πύλες αλλά να χρησιµοποιούνται ασύγχρονες είσοδοι. I I 2 I 2 I 3 Ο αποµονωτής στην είσοδο φόρτωσης τοποθετείται για λόγους µείωσης φορτίου. I 3 I 4 I 4 Σχεδίαση Κυκλωµάτων µε CAD 24
Καταχωρητής Ολίσθησης Καταχωρητής ολίσθησης: Ένας καταχωρητής που ολισθαίνει τα περιεχόµενά του προς τις δύο κατευθύνσεις. Τα δεδοµένα µπορούν να φορτωθούν σειριακά. Σχεδίαση Κυκλωµάτων µε CAD 25
Καταχωρητής Ολίσθησης-Παράλληλης Φόρτωσης Σχεδίαση Κυκλωµάτων µε CAD 26
Καταχωρητής Ολίσθησης-Παράλληλης Φόρτωσης s s = αναλοίωτος Σχεδίαση Κυκλωµάτων µε CAD 27
Καταχωρητής Ολίσθησης-Παράλληλης Φόρτωσης s s = εξία ολίσθηση Σχεδίαση Κυκλωµάτων µε CAD 28
Καταχωρητής Ολίσθησης-Παράλληλης Φόρτωσης s s = Αριστερή ολίσθηση Σχεδίαση Κυκλωµάτων µε CAD 29
Καταχωρητής Ολίσθησης-Παράλληλης Φόρτωσης s s = Παράλληλη φόρτωση Σχεδίαση Κυκλωµάτων µε CAD 3
Σύγχρονος Μετρητής Σύγχρονοι Μετρητές: Οι είσοδοι CP όλων των flip flops πυροδοτούνται από τον κοινό παλµό ρολογιού. Στο δυαδικό µετρητή κάθε flip flop πρέπει να αντιστρέφεται µόνο στην ακµή του ρολογιού και όταν όλα τα λιγότερο σηµαντικά ffs είναι στο. Οι σύγχρονοι µετρητές έχουν οµοιόµορφη δοµή και µπορούν να κατασκευαστούν εύκολα µε πύλες και αντιστρέφοντα flip flops. Ο σύγχρονος µετρητής λειτουργεί το ίδιο και µε πυροδότηση στη θετική ακµή. Σχεδίαση Κυκλωµάτων µε CAD 3
Πρόσηµα - Συµπληρώµατα A n- A n-2 A υαδικό ψηφίο προσήµου αλλά και τµήµα του αριθµού : θετικός : αρνητικός Μέτρο: συµπλήρωµα ως προς 2 Για πράξεις : επέκταση προσήµου +7-7 Σχεδίαση Κυκλωµάτων µε CAD 32
Αθροιστές + = + = + = + = x y c s Ηµιαθροιστής s=x xor y c=xy x y s Ο ηµιαθροιστής προσθέτει 2 bits c c x y HA s c n c n-... c 3 c 2 c c a n-... a 3 a 2 a a b n-... b 3 b 2 b b + c n s n-... s 3 s 2 s s Κρατούµενο εισόδου Άθροισµα Απαιτείται πρόσθεση τριών bits Πλήρης αθροιστής Κρατούµενο εξόδου Σχεδίαση Κυκλωµάτων µε CAD 33
Αθροιστές ++ = ++ = ++ = ++= ++ = ++ = ++= ++ = Πλήρης Αθροιστής a i b i c i c i+ s i c i+ a i b i c i c i+ a i FA s i = a i xor b i xor c i c i+ =c i (a i xor b i )+a i b i s i Τα βασικά αυτά κύτταρα χρησιµοποιούνται για την σχεδίαση των αθροιστών n-bits Σχεδίαση Κυκλωµάτων µε CAD 34 b i s i c i
Αθροιστές Ριπής c n c n-... c 3 c 2 c c a n-... a 3 a 2 a a b n-... b 3 b 2 b b + c n s n-... s 3 s 2 s s Κρατούµενο µ εξόδου Κρατούµενο εισόδου Άθροισµα Ξεκινάµεαπό τolsb, προσθέτουµε 3 bits σε κάθε στήλη: (c i+, s i ) (a i +b i +c i ). Το κρατούµενο c i+, τροφοδοτείται στην επόµενη στήλη. a n- b n- a 2 b 2 a b a b c n FA c n-... c 3 FA c 2 FA c FA c s n- s 2 s s Σχεδίαση Κυκλωµάτων µε CAD 35
Αθροιστές Ριπής Λόγω της διάδοσης από το κρατούµενο εισόδου στο κρατούµενο εξόδου, ο αθροιστής ονοµάζεται αθροιστής διάδοσης κρατουµένου (ripple carry adder) και θεωρείται αρκετά αργός. a n- b n- a b a b c n... c 2 c c n- c s n- s s Εάν κάθε πύλη έχει καθυστέρηση, τότε απαιτείται χρόνος 2 n για να διαδοθεί το σήµα κρατουµένου από την είσοδο στην έξοδο. Σχεδίαση Κυκλωµάτων µε CAD 36
Αθροιστές / Αφαιρέτες Ηαφαίρεση µε λογική συµπληρώµατος ως προς 2 γίνεται ως εξής: A-B=A+B +, µε B το συµπλήρωµα ως προς (αντιστροφή) του Β a n- b n- a b a b... a n- b a b a n- b... Add /Sub Αθροιστής n-bits Αθροιστής n-bits... Αφαιρέτης n-bits... Αθροιστής/Αφαιρέτης n-bits Ηπύλη XOR λειτουργεί σαν ελεγχόµενος αντιστροφέας του xµε σήµα ελέγχου το p x p= x(εάν p=), x (εάν p=) Σχεδίαση Κυκλωµάτων µε CAD 37
Σειριακός Αθροιστής Εκτελεί µία πρόσθεση των n bits σε n κύκλους ρολογιού. Καταχωρητής Ολίσθησης Α....... a i Καταχωρητής Ολίσθησης Β....... b i FA Q SET c i D s i c i+ Καταχωρητής Ολίσθησης S s i....... Q CLR Έχει πολύ µικρό κόστος σε υλικό αλλά απαιτεί πολλούς κύκλους ρολογιού για να δώσει αποτέλεσµα. Σχεδίαση Κυκλωµάτων µε CAD 38
Σειριακός Αθροιστής FA c s c FA s c 2 c FA s 2 c 3 c 2 Q SET Q CLR D Q SET Q CLR D Q SET Q CLR D () (2) (3) FA s 3 c 4 c 3 Q SET Q CLR D (4) Σχεδίαση Κυκλωµάτων µε CAD 39
Σειριακός Αθροιστής / Αφαιρέτης Καταχωρητής Ολίσθησης Α Καταχωρητής Ολίσθησης S FA Καταχωρητής Ολίσθησης Β Q SET D Add/Sub Q CLR Αρχικοποίηση στο για αφαίρεση Σχεδίαση Κυκλωµάτων µε CAD 4
Αθροιστής Manchester c i+ =a i b i +c i (a i b i ) c i+ =g i +p i c i s i =p i c i Παρατήρηση: Όταν a i =b i τότε p= και το κρατούµενο είτε διαγράφεται είτε παράγεται εν χρειάζεται αναµονή για το προηγούµενο κρατούµενο Σχεδίαση Κυκλωµάτων µε CAD 4
Αθροιστής Manchester x i y i x i y i p i +V g i p i k i c i+ c c c i+ i i s i s i Όταν p= το κρατούµενο διαγράφεται ή γεννιέται ανάλογα µε τις τιµές των x, y οι οποίες είναι ίδιες (αρκεί η χρήση µίας από αυτές) Σχεδίαση Κυκλωµάτων µε CAD 42
Αθροιστής Πρόβλεψης Κρατουµένου Με αναδροµική εφαρµογή των σχέσεων προκύπτει επιπεδοποίηση και κάθε κρατούµενο µπορεί να υπολογιστεί ανεξάρτητα από τα προηγούµενα µε επιπλέον κόστος υλικού. Άθροιση 4-bits: c 4 s 3 s 2 s s =a 3 a 2 a a +b 3 b 2 b b +c c =g +p c c 2 =g +p c = g +p (g +p c )= g +p g +p p c c 3 =g 2 +p 2 c 2 = g 2 +p 2 (g +p g +p p c )= g 2 +p 2 g + p 2 p g + p 2 p p c c 4 =g 3 +p 3 c 3 = g 3 +p 3 (g 2 +p 2 g +p 2 p g +p 2 p p c )= g 3 +p 3 g 2 +p 3 p 2 g +p 3 p 2 p g +p 3 p 2 p p c Σχεδίαση Κυκλωµάτων µε CAD 43
Αθροιστής Πρόβλεψης Κρατουµένου c 3 =g 2 +p 2 g + p 2 p g + p 2 p p c Παραγωγή κρατουµένου στην βαθµ. 2 ιάδοση του κρατουµένου εισόδου από τις βαθµ.,, 2 Παραγωγή κρατουµένου στην βαθµ. και δάδ διάδοση από την βαθµ. 2 Παραγωγή κρατουµένου στην βαθµ. και διάδοση από τις βαθµ., 2 Με τον ίδιο τρόπο µπορούµε να εκφράσουµε οποιοδήποτε κρατούµενο. Σχεδίαση Κυκλωµάτων µε CAD 44
Αθροιστής Πρόβλεψης Κρατουµένου c c a c p b p p Το κρατούµενο δεν χρειάζεται να διαδοθεί. a b g p c 2 p 2 Οι όροι διάδοσης (p) παραγωγής (g), παράγονται παράλληλα. Οι µονάδες πρόβλεψης κρατουµένου είναι πολύ περίπλοκες, ειδικά για πολλά bits. a 2 b 2 g p 2 g 2 c 3 p 3 c 4 c 4 a p 3 3 b 3 Μονάδα CLA g 3 Σχεδίαση Κυκλωµάτων µε CAD 45 s s s 2 s 3
Αθροιστής Πρόβλεψης Κρατουµένου Για σχεδίαση αθροιστών µε περισσότερα από 4 bits ακολουθούµε άλλη τακτική σχεδίασης µονάδων πρόβλεψης κρατουµένου. Άθροιση 4-bits: (a i+3 a i+2 a i+ a i ) + (b i+3 b i+2 b i+ b i )+ c i p i+3 g i+3 p i+2 g i+2 p i+ g i+ p i g i Γεννήτρια κρατουµένου 4-Bit c i p i=>i+3 g i=>i+3 Γεννήτρια και διαδοτής κρατουµένου όλου του block c i+3 c i+2 c i+ g i i+3 = g i+3 +p i+3 g i+2 +p i+3 p i+2 g i+ +p i+3 p i+2 p i+ g i p i i+3 = p i+3 p i+2 p i+ p i Σχεδίαση Κυκλωµάτων µε CAD 46
p i g i c i Αθροιστής Πρόβλεψης Κρατουµένου c i+ p i+ g i+ p i+2 g i+2 c i+2 c i+3 p i=>i+3 εν παράγει κρατούµενο εξόδου. Παράγει τα σήµατα γέννησης και διάδοσης κρατουµένου για όλο το block. Τα σήµατα block αντικατοπτρίζουν την συµπεριφορά όλου του block. g i=>i+3 p i+3 g i+3 Μονάδα CLA για 4-bit block Σχεδίαση Κυκλωµάτων µε CAD 47
Αθροιστής Πρόβλεψης Κρατουµένου Μονάδα πρόβλεψης κρατουµένου 6-bits p 5 g 5 p 4 g 4 p 3 g 3 p 2 g 2 p g p g p 9 g 9 p 8 g 8 p 7 g 7 p 6 g 6 p 5 g 5 p 4 g 4 p 3 g 3 p 2 g 2 p g p g c 2 c 8 c 4 Γεννήτρια κρατουµένου 4-Bit Γεννήτρια κρατουµένου 4-Bit Γεννήτρια κρατουµένου 4-Bit Γεννήτρια κρατουµένου 4-Bit p 2=>5 g 2=>5 c 5 c 4 c 3 p 8=> g 8=> c c c 9 p 4=>7 g 4=>7 c 7 c 6 c 5 p =>3 g =>3 c 3 c 2 c Γεννήτρια κρατουµένου 4-Bit c p =>5 g =>5 c 2 c 8 c 4 p 5 g 5... p g p g Γεννήτρια κρατουµένου 6-Bit c p =>5 g =>5 c 5... c 2 c Σχεδίαση Κυκλωµάτων µε CAD 48 c
Αθροιστής Πρόβλεψης Κρατουµένου Αθροιστής πρόβλεψης κρατουµένου 6-bits b 5 a 5 b a b a p 5 g 5 p g p g... c Γεννήτρια κρατουµένου 6-Bit g c 5 =>5 p... =>5 c c s 5 s s c 6 Σχεδίαση Κυκλωµάτων µε CAD 49
Αθροιστής Παράκαµψης Κρατουµένου Στόχος η ελαχιστοποίηση του χρόνου διάδοσης κρατουµένου. Χειρότερη περίπτωση: το κρατούµενο εισόδου πρέπει να διαδοθεί έως το κρατούµενο εξόδου a 32 b 32 c 4_ Αθροιστής 4-bits c p 3 p 2 p p c 4 Λογική Παράκαµψης s 32 Σχεδίαση Κυκλωµάτων µε CAD 5
... Αθροιστής Παράκαµψης Κρατουµένου a 7654 b 7654 a 32 b 32 c 8_ Αθροιστής 4-bits c 4_ Αθροιστής 4-bits p 7 p 6 p 5 p 4 p 3 p 2 p c 8 c 4 Λογική Παράκαµψης s 7654 Λογική Παράκαµψης s 32 Νέα χειρότερη περίπτωση: το κρατούµενο παράγεται στην πρώτη βαθµίδα και πρέπει να διαδοθεί έως το κρατούµενο εξόδου Μείωση κρίσιµου µονοπατιού. Σχεδίαση Κυκλωµάτων µε CAD 5 p c
Αθροιστής Επιλογής Κρατουµένου Άθροιση n-bits. c n c n-... c 3 c 2 c c a n-... a 3 a 2 a a b n-... b 3 b 2 b b + c n s n-... s 3 s 2 s s Κρατούµενο εισόδου Άθροισµα Κρατούµενο εξόδου Άθροιση n/2-bits + n/2-bits. c n c n-... c n/2+ c n/2 a n-... a n/2+ a n/2 b n-... b n/2+ b n/2 + c n s n-... s n/2+ s n/2 Κρατούµενο εισόδου c n/2-... c 3 c 2 c c a n/2-... a 3 a 2 a a... b 3 b 2 b b + s n/2-... s 3 s 2 s s b n/2- Κρατούµενο εξόδου Σχεδίαση Κυκλωµάτων µε CAD 52
c Αθροιστής Επιλογής Κρατουµένου a 7...4 b 7...4 a 3... b 3... Αθροιστής 4-bits () c 4 Αθροιστής 4-bits (2) a 7...4 b 7...4 c 8_ c 8 Αθροιστής 4-bits (3) c 8_ Πολυπλέκτης s 7...4 s 3... Σχεδίαση Κυκλωµάτων µε CAD 53
c Αθροιστής Επιλογής Κρατουµένου a 7...4 b 7...4 a...8 b...8 a 3... b 3... Αθροιστής 4-bits c 8_ Αθροιστής 4-bits c 2_ Αθροιστής 4-bits c 4 Πολυπλέκτης Πολυπλέκτης a 7...4 b 7...4 c 8 a...8 b...8 c 2 s 3... Αθροιστής 4-bits c 8_ Αθροιστής 4-bits c 2_ Tο αποτέλεσµα κάθε βαθµίδας καθυστερεί (λόγω των κυκλωµάτων επιλογής). s 7...4 s...8 Έχουµε το περιθώριο να κάνουµε λίγο πιο αργή κάθε επόµενη πράξη υπολογίζοντας περισσότερα bits αθροίσµατος. 8 βαθµίδες: 4+4+4+ +4 Οι βαθµίδες υπολογισµού µειώνονται: 32 bits 5 βαθµίδες:4, 5, 6, 8, 9 Σχεδίαση Κυκλωµάτων µε CAD 54...
Αθροιστής Αποθήκευσης Κρατουµένου + a a a 2 C FA S a 3 a 4 a 5 C 2 FA S 2 a 6 a 7 C 3 FA FA C 2 2 S 2 2 C S 2 2 HA HA S 3 C 3 S 3 υαδικός αριθµός άσσων HA 4 C 4 S Sum 3 Sum 2 Sum Sum Σχεδίαση Κυκλωµάτων µε CAD 55
Πολλαπλασιαστές Βασική πράξη πολλαπλασιασµού Λογική πράξη ΚΑΙ Πολλαπλασιασµός 4x4 Πολλαπλασιασµός a3 a2 a a x b3 b2 b b ΚΑΙ Πρόσθεση a3b a2b ab ab a3b a2b ab ab Ολίσθηση a3b2 a2b2 ab2 ab2 + a3b3 a2b3 ab3 ab3 p7 p6 p5 p4 p3 p2 p p Σχεδίαση Κυκλωµάτων µε CAD 56
Πολλαπλασιαστές x n x n 2 x x y x n x n 2 x x y n y n 2 y c n αθροιστής s n s 2 s x n x n 2 x x y y c s x n x n 2 x x y n y n 2 y y c n αθροιστής c s n s 2 s s x n x n 2 2 x x y 2 Πολύ ακριβή σε υλικό υλοποίηση x n x n 2 x x y n y n 2 y c n αθροιστής s n s 2 s y c s p 2n x n x n 2 x x y n x n 2 x x y n y n 2 y c n x n αθροιστής s n p 2n 2 s 2 s p n+ p n y c s p n Σχεδίαση Κυκλωµάτων µε CAD 57 p 2 p p
Πολλαπλασιαστές Πολλαπλασιασµός 4x4 Χρειαζόµαστε δύο καταχωρητές µήκους 4 bits για τα a, b, έναν καταχωρητή µήκους 8 bits για το αποτέλεσµα και έναν αθροιστή. Οι καταχωρητές πρέπει να έχουν την δυνατότητα ολίσθησης. Oλισθαίνουµε δεξιά κάθε φορά το προηγούµενο άθροισµα µερικών γινοµένων, και το προσθέτουµε στο νέο µερικό γινόµενο. Σχεδίαση Κυκλωµάτων µε CAD 58
Πολλαπλασιαστές a3 a2 a a x b3 b2 b b a3b a2b ab ab a3b a2b ab ab a3b2 a2b2 ab2 ab2 + a3b3 a2b3 ab3 ab3 Πολλαπλασιασµός a 3.. µε το b µε το b µε το b 2 µε το b 3 p7 p6 p5 p4 p3 p2 p p Σχεδίαση Κυκλωµάτων µε CAD 59
Πολλαπλασιαστές Προϋποθέτει την δυνατότητα ολίσθησης του πολλαπλασιαστή και του αποτελέσµατος στους αντίστοιχους καταχωρητές. Έχει µικρό απαιτούµενο κόστος σε υλικό. Απαιτεί n κύκλους ρολογιού για να δώσει το αποτέλεσµα Πολλαπλασιαστέος Πολλαπλασιαστής Αποτέλεσµα... + Σχεδίαση Κυκλωµάτων µε CAD 6
Πολλαπλασιαστές Πίνακα Μπορούµε να παράγουµε όλα τα µερικά γινόµενα ταυτόχρονα χρησιµοποιώντας nxm πύλες AND (n=µήκος λέξης Α, m=µήκος λέξης Β). Κατόπιν προσθέσουµε όλα τα µερικά γινόµενα µεταξύ τους. a3 a2 a a x b3 b2 b b a 2 b a b a3b a2b ab ab a3b a2b ab ab a3b2 a2b2 ab2 ab2 + a3b3 a2b3 ab3 ab3 p7 p6 p5 p4 p3 p2 p p Με όµοιο τρόπο x y C 2a C C 2b FA S x y HA a b 2 Ηµιαθροιστής Τετριµµένο p 2 Σχεδίαση Κυκλωµάτων µε CAD 6
p 7 Πολλαπλασιαστές Πίνακα a 3 a 2 a a Σε κάθε επίπεδο όλοι οι αθροιστές είναι ριπής κρατουµένου HA FA FA HA FA FA FA HA Τα κρίσιµα µονοπάτια είναι πολλά FA FA FA HA υσκολία βελτιστοποίησης p p5 p 4 p 3 p 2 p p 6 Σχεδίαση Κυκλωµάτων µε CAD 62 b b b 2 b 3
ιαφορετική οµαδοποίηση κρατουµένων εξόδου κάθε βαθµίδας Πολλαπλασιαστές Πίνακα a 3 a 2 a a HA HA HA b b b 2 FA FA FA FA FA FA Σαφές µοναδικό κρίσιµο µονοπάτι b 3 FA FA HA p p p p 2 p 7 p 6 p5 4 3 p Σχεδίαση Κυκλωµάτων µε CAD 63
οµές ιοχέτευσης Combinational Circuit Combinational Circuit 2 Combinational Circuit 3 Combinational Circuit 4 Σχεδίαση Κυκλωµάτων µε CAD 64 Combinational Circuit Reg Combinational Circuit 2 Reg2 Combinational Circuit 3 Reg3 Combinational Circuit 4 Reg4
ιαδροµές εδοµένων Η επεξεργασία των δεδοµένων γίνεται από µονάδες επεξεργασίας οι οποίες διασυνδέονται σε διαδροµές δεδοµένων (datapaths). +/- + x x Μονάδα Ελέγχου (FSM) Σχεδίαση Κυκλωµάτων µε CAD 65
ιαδροµές εδοµένων Παράδειγµα: Υπολογισµός µιγαδικού πολλάπλασιασµού a=a r +j a i, b=b r +j b i p = a b = (a r b r -a i b i ) + j (a r b i -a i b r ) a_r a_i a_sel clk ± clk b_r b_i b_sel pp_ce pp2_ce sub p_r_ce p_i_ce clk D CE D CE clk Q Q D CE D CE clk Q p_r Q p_i Σχεδίαση Κυκλωµάτων µε CAD 66
a_r a_i a_sel b_r b_i b_sel pp_ce pp2_ce sub p_r_ce p_i_ce clk ιαδροµές εδοµένων. pp =a r b r 4. pp =a r b i 2. pp 2 =a i b i Μαζί 5. pp 2 =a i b r 3. p_r = pp pp 2 6. p_i = pp + pp 2 D CE ± Q D CE clk clk Q p_r D Q CE clk D CE clk Q p_i Σχεδίαση Κυκλωµάτων µε CAD 67
Σύγχρονος Χρονισµός µε Ρολόϊ είσοδοι Είσοδοι έξοδοι Έξοδοι tco Q t pd D2 t su Τµήµα τήα ελέγχου clk t co t c Q t pd t slack t su D2 Σχεδίαση Κυκλωµάτων µε CAD 68
Σύγχρονος Χρονισµός µε Ρολόϊ t co t su Η FSM (control unit) t pd-s t pd-c t pd-o συµµετάσχει στην καθυστέρηση του κυκλώµατος t pd-ns t su Σχεδίαση Κυκλωµάτων µε CAD 69
ιαµοίραση Ρολογιού Ειδικό πλέγµα ρολογιού χρησιµοποιείται για την διαµοίραση του ρολογιού Σχεδίαση Κυκλωµάτων µε CAD 7
Απόκλιση Ρολογιού (Clock Skew) Q D2 Η απόκλιση ρολογιού οδηγεί σηµαντικά προβλήµατα σε σύγχρονα ολοκληρωµένα µεγάλης πολυπλοκότητας GALS Globally Asynchronous Locally Synchronous clk Q clk2 D2 t h Σχεδίαση Κυκλωµάτων µε CAD 7
Μεταστάθεια Η ασλυγχρονη επικοινωνία µεταξύ σύγχρονων συστηµάτων (µε διαφορετικά ρολόγια) µπορεί να οδηγήσει σε µεταστάθεια ασύγχρονη είσοδος D Q D Q σύγχρονη είσοδος clk clk clk Τα διαδοχικά flip flop δίνουν χρόνο σταθεροποίησης του flip flop Σχεδίαση Κυκλωµάτων µε CAD 72