ΤΕΙ Δυτικής Ελλάδας Τμήμα Μηχανικών Πληροφορικής ΤΕ Εργαστήριο Σχεδίασης Ψηφιακών Ολοκληρωμένων Κυκλωμάτων και Συστημάτων «Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο 2016-2017 Διάλεξη 5 η : Κατασκευή FPGA Ολοκληρωμένων (Μέρος 3 ο ) Δρ. Παρασκευάς Κίτσος Επίκουρος Καθηγητής http://diceslab.cied.teiwest.gr E-mail: pkitsos@teimes.gr 1
ΠΕΡΙΕΧΟΜΕΝΑ Σχεδιασμός κυκλωμάτων για FPGA Λογικά στοιχεία Διασυνδέσεις Αρχιτεκτονικές δομών FPGA Λογικά στοιχεία Διασυνδέσεις Είσοδοι / Έξοδοι (pins) 2
ΕΙΣΑΓΩΓΗ Ο σχεδιασμός των κυκλωμάτων καθορίζει αρκετά από τα χαρακτηριστικά της αρχιτεκτονικής των FPGAs Το μέγεθος των κυκλωμάτων καθορίζει των αριθμό (των κυκλωμάτων) που θα χωρέσουν σε ένα FPGA Η καθυστέρηση των καλωδίων καθορίζει τη δομή των διασυνδέσεων κατά τη κατασκευή του FPGA Η αρχιτεκτονική καθορίζει τα χαρακτηριστικά των λογικών στοιχείων και των διασυνδέσεων που απαιτούνται για τη κατασκευή των FPGA 3
ΛΟΓΙΚΑ ΣΤΟΙΧΕΙΑ Τα λογικά στοιχεία σε ένα FPGA είναι πιο περίπλοκα κυκλώματα απ ότι μια λογική πύλη CMOS Μια λογική πύλη υλοποιεί μια συγκεκριμένη λειτουργία (λογική συνάρτηση, πχ. XOR, NAND) Αντίθετα ένα λογικό στοιχείο σε FPGA απαιτεί να υλοποιεί πολλές και διαφορετικές λειτουργίες Τα λογικά στοιχεία στα FPGA με αντιασφάλειες είναι μικρότερα από τα αντίστοιχα στα FPGA με SRAM 4
ΠΟΛΥΠΛΕΚΤΗΣ ΣΑΝ ΛΟΓΙΚΟ ΣΤΟΙΧΕΙΟ 1 Q A CLR 1 0 0 D A CLR (AB) A^B latch 10 B 0 0 CLK Παράδειγμα λογικού στοιχείου σε FPGA με αντι-ασφάλειες 5
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΠΟΛΥΠΛΕΚΤΗ ΩΣ ΔΙΑΦΟΡΑ ΛΟΓΙΚΑ ΣΤΟΙΧΕΙΑ Οι είσοδοι συνδέονται είτε με σταθερούς αριθμούς είτε με μεταβλητές (CLK, CLR) 6
ΛΟΓΙΚΟ ΣΤΟΙΧΕΙΟ ΣΕ FPGA ΜΕ SRAM (LUT). Η στατική CMOS πύλη παρουσιάζει ορισμένα πλεονεκτήματα σε σχέση με τα FPGA με SRAM Στον αριθμό των transistors: H NAND/NOR πύλη έχει 2n transistors (εξαρτάται από των αριθμό των εισόδων) Ένας 4-input LUT έχει 128 transistors για την υλοποίηση των SRAM Επίσης χρειάζεται ένα κύκλωμα διευθυνσιοδότησης που απαιτεί 96 transistors 7
.ΛΟΓΙΚΟ ΣΤΟΙΧΕΙΟ ΣΕ FPGA ΜΕ SRAM (LUT). Στη καθυστέρηση μετάδοσης: Στις στατικές πύλες η καθυστέρηση εξαρτάται από τις εισόδους, τη συνάρτηση που υλοποιεί το κύκλωμα και από το μέγεθος των transistors που χρησιμοποιούνται Η αλυσίδα δύο 4-εισόδων NAND πύλη έχει καθυστέρηση 9τ (τ σταθερά χρόνου) Στους LUT η καθυστέρηση εξαρτάται από τη συνάρτηση και το κύκλωμα διευθυνσιοδότησης της κάθε SRAM Τυπική τιμή καθυστέρησης είναι η 21τ 8
ΛΟΓΙΚΟ ΣΤΟΙΧΕΙΟ ΣΕ FPGA ΜΕ SRAM (LUT). Στη κατανάλωση ενέργειας: Στις στατικές CMOS πύλες η κατανάλωση ενέργειας εξαρτάται από τη συχνότητα εναλλαγής των καταστάσεων (0 1) στις εισόδους. Επίσης δεν καταναλώνουν ενέργεια αν έχουν σταθερές εισόδους (αγνοώντας το ρεύμα διαφυγής) Οι SRAMs καταναλώνουν πάντα ενέργεια Άρα οι SRAM είναι πιο «πολυέξοδες» από τις στατικές CMOS πύλες 9
ΒΑΣΙΚΑ ΚΥΚΛΩΜΑΤΑ ΜΕ ΧΡΗΣΗ SRAM (LUT) O πίνακας (LUT) απαιτεί τόσο τη χρήση SRAM όσο και κύκλωμα διευθυνσιοδότησης adrs adrs data LUT output data LUT output Αποπλέκτης (Demultiplexer) που οδηγεί ένα bit εισόδου σε μια συγκεκριμένη έξοδο Πολυπλέκτης (multiplexer) που οδηγεί πολλά bit εισόδου σε μια έξοδο του ενός bit 10
ΛΕΙΤΟΥΡΓΙΑ RAM/ROM adrs Bit line Ο πολυπλέκτης επιλέγει το κατάλληλο bit που θα αποθηκευτεί σε κάθε SRAM Παρουσιάζει μικρότερο φορτίο στην είσοδο του SRAM 11
ΚΥΚΛΩΜΑΤΑ ΠΟΛΥΠΛΕΚΤΩΝ static gates pass transistors Η λογική transistor περάσματος (pass transistor) παρουσιάζει πολύ απλά και μικρότερα κυκλώματα Η στατική λογική παρουσιάζει μεγάλα κυκλώματα (κάθε NAND ή NOR πύλη έχει 4 transistor) Αλλά η καθυστέρηση της λογικής περάσματος είναι μεγάλη όταν αυξάνεται η σειρά των transistor Τελικά, η επιλογή της λογικής transistor περάσματος ή της στατικής λογικής εξαρτάται από το μέγεθος του LUT 12
4-bit ΠΟΛΥΠΛΕΚΤΗΣ ΜΕ ΣΤΑΤΙΚΕΣ ΠΥΛΕΣ Η καθυστέρηση μιας NAND n εισόδων είναι ίση με (n+2)/3 Το πρώτο επίπεδο λογικής έχει Lg b + 1 εισόδους για τα bits επιλογής. Άρα η καθυστέρηση του είναι (Lg b + 3)/3 Το δεύτερο επίπεδο έχει b εισόδους, άρα καθυστέρηση ίση με (b+2)/3 Η συνολική καθυστέρηση αυξάνεται σύμφωνα με τη σχέση b lg b Lg = Logical effort: ικανότητα μιας πύλης να δίνει ρεύμα, ως προς έναν αντιστροφέα 13
4-bit ΠΟΛΥΠΛΕΚΤΗΣ ME ΛΟΓΙΚΗ TRANSISTOR ΠΕΡΑΣΜΑΤΟΣ (προσέγγιση 1 η ) Το κύκλωμα αυτό φαίνεται απλό και γρήγορο Αλλά οι πύλες περάσματος πρέπει να οδηγούνται από έναν κωδικοποιητή που παράγει σήματα από τα bits επιλογής Το κύκλωμα αυτό δεν είναι κατάλληλο για μεγάλους πολυπλέκτες Συνδυάζει τα αρνητικά χαρακτηριστικά τόσο του transistor περάσματος όσο και των στατικών πυλών 14
4-bit ΠΟΛΥΠΛΕΚΤΗΣ ME ΛΟΓΙΚΗ TRANSISTOR ΠΕΡΑΣΜΑΤΟΣ Χρησιμοποιεί δομή δέντρου Τα transistors οδηγούνται απευθείας από τα bits επιλογής Η καθυστέρηση είναι ανάλογη του τετραγώνου του μήκους του μονοπατιού Και ίση με lg b 2 (προσέγγιση 2 η ) 15
ΚΥΚΛΩΜΑΤΑ ΔΙΑΣΥΝΔΕΣΕΩΝ Ερώτημα: Τι χρειάζονται τόσα διαφορετικά είδη διασυνδέσεων (τοπικά καλώδια, γενικού σκοπού, αποκλειστικά καλώδια, )? Κάθε διασύνδεση παρουσιάζει διαφορετική καθυστέρηση Πηγές καθυστέρησης: Καλώδια Προγραμματιζόμενα σημεία διασύνδεσης Στα FPGA με SRAM ο μεγαλύτερος χώρος του ολοκληρωμένου σπαταλιέται στο δίκτυο διασυνδέσεων 16
ΤΡΟΠΟΙ ΠΡΟΓΡΑΜΜΑΤΙΖΜΕΝΩΝ ΣΗΜΕΙΩΝ ΔΙΑΣΥΝΔΕΣΗΣ pass transistor Three-state 17
ΠΡΟΓΡΑΜΜΑΤΙΖΜΕΝΑ ΣΗΜΕΙΑ ΔΙΑΣΥΝΔΕΣΗΣ ΜΕ TRANSISTOR ΠΕΡΑΣΜΑΤΟΣ Έχουν μικρή έκταση Η καθυστέρηση αυξάνεται με το τετράγωνο του αριθμού των διακοπτών Μειώνεται η καθυστέρηση αν μειωθεί το πλάτους του transistor περάσματος το πλάτος του καλωδίου 18
ΠΡΟΓΡΑΜΜΑΤΙΖΜΕΝΑ ΣΗΜΕΙΑ ΔΙΑΣΥΝΔΕΣΗΣ ΜΕ THREE-STATE Έχουν μεγάλη έκταση Έχουν αναγεννητική ιδιότητα + 19
ΕΚΤΑΣΗ ΔΙΑΚΟΠΤΩΝ * ΚΑΘΥΣΤΕΡΗΣΗ ΚΑΛΩΔΙΩΝ vs. ΠΛΑΤΟΣ TRANSISTOR ΠΕΡΑΣΜΑΤΟΣ 1999 IEEE 20
ΕΚΤΑΣΗ ΔΙΑΚΟΠΤΩΝ * ΚΑΘΥΣΤΕΡΗΣΗ ΚΑΛΩΔΙΩΝ vs. ΜΕΓΕΘΟΣ THREE STATE BUFFER 1999 IEEE 21
ΟΔΗΓΟΙ (ΔΙΚΤΥΟ ΚΑΛΩΔΙΩΝ) ΡΟΛΟΓΙΟΥ Το ρολόι έχει αποκλειστικό δίκτυο καλωδίων επειδή χρειάζεται σε πολλά διαφορετικά σημεία στο ολοκληρωμένο Απαιτείται να έχει μικρή καθυστέρηση και ελάχιστη επικάλυψη 22
ΟΔΗΓΟΙ (ΔΙΚΤΥΟ ΚΑΛΩΔΙΩΝ) ΡΟΛΟΓΙΟΥ Οδηγεί όλα τα LEs Παράμετροι: Αριθμός fanouts Φορτίο σε κάθε fanout Χωρητικότητα Οι buffers υπάρχουν στο δίκτυο του ρολογιού για να μειώνουν τη συνολική καθυστέρηση 23
ΘΕΜΑΤΑ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ ΤΩΝ FPGAs Χρειάζεται να απαντηθούν κάποιες βασικές ερωτήσεις για να γίνει κατανοητή η μετάβαση από την θεωρητική έννοια του FPGA στη κατασκευή του FPGA Πόσα λογικά στοιχεία (LΕs) πρέπει να τοποθετηθούν σε ένα FPGA? Ta LEs και οι διασυνδέσεις καταλαμβάνουν χώρο στο FPGA Ta καλώδια υπάρχουν σε διαφορετικά επίπεδα αλλά τα transistor (των σημείων διασυνδέσεων) καταλαμβάνουν χώρο των LEs Λειτουργία των LE: Ποιες συναρτήσεις πρέπει να εκτελούν? Πόσες εισόδους πρέπει να έχουν? Απαιτείται αποκλειστική λογική? (πχ πρόσθεσης ή πολλαπλασιασμού) 24
ΘΕΜΑΤΑ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ ΤΩΝ FPGAs Ποιοι τύποι διασυνδέσεων απαιτούνται (καθολική διασύνδεση, αποκλειστική διασύνδεση κλπ)? Τι ποσότητες καλωδίων από κάθε τύπο? Πόσο μεγάλη πρέπει να είναι η τμηματοποίηση των καλωδίων? Τα μεγάλα τμήματα παρουσιάζουν μικρή καθυστέρηση αλλά τότε γίνεται πιο δύσκολη η διασύνδεση των LE Πως πρέπει να γίνει η κατανομή των στοιχείων διασύνδεσης? Ομοιόμορφα ή όχι στο χώρο του ολοκληρωμένου? 25
ΜΕΘΟΔΟΛΟΓΙΑ ΑΞΙΟΛΟΓΗΣΗΣ ΜΙΑΣ FPGA ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Αρχιτεκτονική FPGA Δοκιμαστική Λογική (κυκλώματα) Χωροθέτηση + διασύνδεση Αξιολόγηση Επιδόσεων Μετρικές 26
ΜΕΤΡΙΚΕΣ ΑΞΙΟΛΟΓΗΣΗΣ Η ποιότητα μιας αρχιτεκτονικής μετριέται με διάφορους τρόπους Μέγεθος των λογικών στοιχείων Ποσότητα διασυνδέσεων Αξιοποίηση (utilization) λογικής Αξιοποίηση (utilization) διασυνδέσεων Καθυστέρηση 27
ΠΑΡΑΜΕΤΡΟΙ ΛΟΓΙΚΩΝ ΣΤΟΙΧΕΙΩΝ Ένας πίνακας (LUT) σε ένα λογικό στοιχείο πόσες εισόδους πρέπει να έχει? Πολύ λίγες---σημαίνει μεγάλος αριθμός LUT Πάρα πολλές---ίσος να σημαίνει ανεκμετάλλευτος χώρος στον LUT To μέγεθος των LUT εξαρτάται και από τον τρόπο υλοποίησης του αλλά και από τα σχέδια που θα κληθεί να υλοποιήσει το FPGA H εμπειρία έδειξε ότι η τυπική τιμή των τεσσάρων εισόδων είναι ιδανική 28
LE CLUSTERS Κάθε cluster περιέχει κάποια LE και αποκλειστική διασύνδεση Η i είσοδος διασυνδέεται τόσο με τα LEs όσο και με την n έξοδο του cluster μέσω του τοπικού δικτύου διασύνδεσης Κάθε LE έχει l εισόδους Το δίκτυο διασυνδέσεων δεν χρησιμοποιείται για πλήρη διασύνδεση μεταξύ των εισόδων και των LE i Τοπικό δίκτυο διασύνδεσης l l LE LE n Για αυτό απαιτεί μικρότερο χώρο απ ότι ένα προγραμματιζόμενο σημείο 29
ΑΞΙΟΠΟΙΗΣΗ ΛΟΓΙΚΗΣ ΣΕ ENA CLUSTER Αξιοποίηση λογικής vs. Κλάσμα των εισόδων σε ένα LE ενός cluster Η μέγιστη αξιοποίηση (100%) επιτυγχάνεται με το 50%-60% των εισόδων 1998 IEEE 30
ΑΠΟΔΟΣΗ ΧΩΡΟΥ vs. ΜΕΓΕΘΟΣ Transistors ανά LE vs. Μέγεθος cluster Clusters με μέγεθος από 1 έως 8 παρουσιάζουν αρκετά καλή απόδοση ως προς τον απαιτούμενο χώρο CLUSTER 1998 IEEE 31
ΤΥΠΟΙ ΔΙΑΣΥΝΔΕΣΕΩΝ ΣΕ ΕΝΑ FPGA Η διασύνδεση μεταξύ δύο LE γίνεται με τη βοήθεια τριών τύπων διασυνδέσεων Τοπική (το LE πρέπει να διασυνδεθεί σε ένα κανάλι καλωδίων) Ενδιάμεση (τα τμήματα καλωδίου στο κανάλι πρέπει να διασυνδεθούν μεταξύ τους μέχρι το τελικό σημείο) Καθολικά Γενικός: Για το ρολόι 32
ΜΟΝΟΠΑΤΙ ΔΙΑΣΥΝΔΕΣΗΣ channel SW channel LE τοπική LE channel ενδιάμεση channel SW 33
ΚΑΝΑΛΙΑ ΕΝΔΙΑΜΕΣΩΝ ΚΑΛΩΔΙΩΝ Ένα καλώδιο διατρέχει L LΕs LE LE LE LE switch L=1 L=3 switch L=4 switch 34
ΣΥΝΔΕΣΜΟΛΟΓΙΑ ΚΑΛΩΔΙΩΝ Συνδέει τρία άλλα καλώδια σε κάποιο τελικό σημείο Συνδέει ένα άλλο καλώδιο σε μια «διασταύρωση» Μπορεί να οδηγηθεί (συνδεθεί) από μια έξοδο ενός LE LE LE LE LE 35
ΤΜΗΜΑΤΟΠΟΙΗΣΗ ΔΙΑΣΥΝΔΕΣΗΣ vs. ΚΑΘΥΣΤΕΡΗΣΗ Μετρήσεις έχουν δείξει ότι ο ιδανικός αριθμός τμηματοποίησης είναι μεταξύ το 2 και του 3 36
ΑΚΡΟΔΕΚΤΕΣ Ποιος είναι ο αριθμός των ακροδεκτών? Εξαρτάται από τη τεχνολογία (έμμεσα: Το «πακετάρισμα» είναι πιο ακριβό από το ολοκληρωμένο) Αρκετός όγκος λογικής με μικρό αριθμό ακροδεκτών σημαίνει ότι δεν μπορούν να οδηγηθούν όλα τα σήματα εκτός ολοκληρωμένου Μεγάλος αριθμός ακροδεκτών σημαίνει ότι δεν μπορεί να αξιοποιηθεί όλη η λογική του ολοκληρωμένου 37
ΚΑΝΟΝΑΣ ΤΟΥ RENT Αναπτύχθηκε από τον E. F. Rent (IBM) το 1960 Έκανε πειράματα και πήρε δεδομένα από αρκετά κυκλώματα Και διαπίστωσε ότι ο Αριθμός των ακροδεκτών vs. Αριθμός των λογικών στοιχείων είναι μια ευθεία γραμμή σε μια log-log παράσταση Που περιγράφεται από την εξίσωση N p = K p N s β Όπου N p είναι ο αριθμός των ακροδεκτών Ν g είναι ο αριθμός των λογικών πυλών β είναι η σταθερά του Rent και K p είναι μια σταθερά αναλογίας Οι παράμετροι αυτοί μεταβάλλονται ανάλογα με τη τεχνολογία Ο Rent μέτρησε β = 0.6, K p = 2.5 Ενώ στους σύγχρονους microprocessor ισχύει β = 0.455, K p = 0.82. 38
ΣΥΜΠΕΡΑΣΜΑTA Η κατασκευή ενός FPGA είναι αρκετά περίπλοκη διαδικασία ώστε να υποστηρίζει την υλοποίηση ρεαλιστικών συστημάτων Ένα FPGA αποτελείται από πολλά διαφορετικά στοιχεία: λογικά στοιχεία, πολλούς τύπους διασυνδέσεων, και ακροδέκτες εισόδων/εξόδων Τα χαρακτηριστικά της κατασκευής των FPGA εξαρτώνται μερικώς από την τρέχουσα τεχνολογία VLSΙ και μερικώς από την εφαρμογή που θα χρησιμοποιηθεί το FPGA 39
Απορίες???? 40