ΑΡΧΕΣ ΣΧΕΔΙΑΣΗΣ FPGA
Θεωρία της εξέλιξης Τα είδη που θα επιβιώνουν δεν είναι τα πιο δυνατά, ούτε τα πιο έξυπνα. Είναι αυτά που ανταποκρίνονται περισσότερο στην αλλαγή. Δαρβίνος
Θεωρία της εξέλιξης Τα είδη που θα επιβιώνουν δεν είναι τα πιο δυνατά (ASIC), ούτε τα πιο έξυπνα (CPU). Είναι αυτά που ανταποκρίνονται περισσότερο στην αλλαγή (reconfigurable computing - FPGA). Δαρβίνος
Το παρελθόν και το μέλλον των αρχιτεκτονικών Source: Nick Tredennick, "The Rise of Reconfigurable Systems", ERSA 03 and MORPHEUS project
Τι είναι το FPGA Flexibility Ευελιξία προγραμματισμού CPU DSP FPGA ASIC εξειδίκευση Performance To FPGA παρέχει μεγαλύτερη ευελιξία σχετικά με τις ASIC λύσεις, ενώ επιτυγχάνει υψηλότερες επιδώσεις συγκρινόμενο με CPU ή DSP.
Σύγκριση εναλλακτικών αρχιτεκτονικών Ταχύτητα Κατασκευαστικό κόστος Κατανάλωση Ευελιξία Σχεδιαστικό κόστος (NRE) ASIC Υψηλή Υψηλή Χαμηλή Χαμηλή Υψηλή DSP Μέτρια Μέτρια Μέτρια Μέτρια Μέτρια CPU Χαμηλή Χαμηλή Μέτρια Υψηλή Χαμηλή FPGA Μέτρια Μέτρια Υψηλή Υψηλή Μέτρια
Εναλλακτικές τεχνικές σχεδιασμού Design Methods Cost / Development Time Quality % Companies involved Full Custom Standard Cell Library Design ASIC Standard Cell Design RTL-Level Design
FPGAs @ System-On-Chip
FPGAs @ System-On-Chip
Βασικά γνωρίσματα FPGA Ενά FPGA προσφέρει: Μεγαλύτερη ευελιξία σε σχέση με τις ASIC υλοποιήσεις Υψηλότερες επιδώσεις από CPU ή DSP συσκευές Τα FPGA αποτελούν την κυριότερη κατηγορία επαναδιαμορφούμενων αρχιτεκτονικών Μια αρχιτεκτονική FPGA χαρακτηρίζεται ως: Διαμορφούμενη: τροποποίηση κατά το χρόνο σχεδιασμού Επαναδιαμορφούμενη: τροποποίηση έπειτα από την υλοποίηση του ψηφιακού σχεδιασμού Δυναμικά επαναδιαμορφούμενη: τροποποίηση κατά το χρόνο εκτέλεσης του ψηφιακού σχεδιασμού
Απαιτήσεις αρχιτεκτονικών FPGA Τα FPGA σήμερα θα πρέπει να χαρακτηρίζονται από: Αυξημένη συχνότητα λειτουργίας (ταχύτητα) Χαμηλή κατανάλωση ενέργειας Μικρότερη επιφάνεια πυριτίου Η τεχνολογία των FPGA έχει βελτιωθεί σημαντικά τα τελευταία χρόνια: Από ομογενής αρχιτεκτονικές σε ετερογενείς πλατφόρμες Η ετερογένεια προσφέρει αυξημένες επιδόσεις
Εισαγωγή στα FPGA Τα FPGA αποτελούνται από: Λογικά μπλοκ μπλοκ Προγραμματιζόμενη δρομολόγηση Είσοδος Πολυπλέκτη CLB D Q Έξοδος πολυπλέκτη CLR CLK Δίκτυο Διασύνδεσης
13 Εναλλακτικές τοπολογίες για FPGA Connection Box Switch Box Routing Channel Τύπου νησίδας (XC3000 & XC4000)
14 Εναλλακτικές τοπολογίες για FPGA Vertical Tracks Segmented Tacks Horizontal Routing Channel Βασιζόμενη σε γραμμές (ACT3)
15 Εναλλακτικές τοπολογίες για FPGA Sea of Logic Local Interconnect Θάλασσα από πύλες (SX Family)
16 Εναλλακτικές τοπολογίες για FPGA Local Tracks Ιεραρχική Global Tracks
17 Εναλλακτικές τοπολογίες για FPGA Μιας διάστασης (Garp, Chimaera)
18 Εναλλακτικές τοπολογίες για FPGA FPGA FPGA FPGA FPGA FPGA FPGA FPGA FPGA Τύπου πλέγματος
19 Εναλλακτικές τοπολογίες για FPGA Routing Only Routing Only Routing Only Routing Only FGPA FGPA FGPA FGPA Μερικώς διασταυρούμενη
Δομή ενός FPGA τύπου νησίδας SB SB SB LSE CLB LSE CLB SB SB SB LSE CLB LSE CLB SB SB SB
Δομή ενός FPGA τύπου νησίδας SB SB SB LSE CLB LSE CLB SB SB SB Configurable Logic Block (CLB) Υλοποιεί τις λογικές συναρτήσεις της εφαρμογής LSE CLB LSE CLB SB SB SB
Δομή ενός FPGA τύπου νησίδας SB SB SB LSE CLB LSE CLB SB SB SB Connection Box () Παρέχει την Ι/Ο επικοινωνία στο κάθε CLB LSE CLB LSE CLB SB SB SB
Δομή ενός FPGA τύπου νησίδας SB SB SB LSE CLB LSE CLB Interconnection Wires SB SB SB Μεταφέρει τα σήματα μεταξύ των λογικών στοιχείων LSE CLB LSE CLB SB SB SB
Δομή ενός FPGA τύπου νησίδας SB SB SB LSE CLB LSE CLB Switch Box (SB) SB SB SB LSE CLB LSE CLB Παρέχει την συνδεσιμότητα μεταξύ γειτονικών καλωδίων δρομολόγησης SB SB SB
Δομή ενός FPGA τύπου νησίδας SB SB SB Input/Output Pad LSE CLB LSE CLB SB SB SB Παρέχει την Ι/Ο επικοινωνία μεταξύ του FPGA και της αναπτυξιακής πλακέτας LSE CLB LSE CLB SB SB SB
Δομή του κιτίου συνδέσεων (switch box) Διάταξη του FPGA Κουτιά Συνδέσεων
ARCHITECTURE-LEVEL EXPLORATION
28
Καθυστέρηση διασυνδέσεων
Παράδειγμα δρομολόγησης μονοπατιού From Dehon and Wawrzyniek
Στατιστική ανάλυση συνδέσεων στα switch boxes 40% 35% 30% 25% 20% 15% 10% 5% 0% SB Connection Pattern Patte rn Source: G. Wang, et al, Statistical Analysis and Design of HARP Routing Pattern FPGAs, Trans. CAD, 2006.
Στατιστική ανάλυση συνδέσεων στα switch boxes 40% 35% 30% 25% 20% 15% 10% 5% 0% SB Connection Pattern 70% Patte rn Οι κατακόρυφες και οριζόντιες συνδέσεις είναι οι πιο κοινά χρησιμοποιούμενες συνδέσεις σε κυκλώματα VLSI επειδή περιορίζουν τον αριθμό των «στροφών» (bends) κατά τη διαδικασία της δρομολόγησης (routing) Source: G. Wang, et al, Statistical Analysis and Design of HARP Routing Pattern FPGAs, Trans. CAD, 2006.
normalized number of trackstr Κατανομή χρήσης καλωδίων δρομολόγησης στο FPGA 1,00 0,90 0,80 0,70 0,60 0,50 0,40 0,30 0,20 0,10 0,00 Bottom Edge Middle Top Edge Source: V. Betz, J. Rose and A. Marquardt, Architecture and CAD for Deep-Submicron FPGAs, Kluwer Academic Publishers, 1999
normalized number of trackstr Κατανομή χρήσης καλωδίων δρομολόγησης στο FPGA 1,00 0,90 0,80 0,70 0,60 0,50 0,40 0,30 0,20 0,10 0,00 Bottom Edge Middle Top Edge Source: V. Betz, J. Rose and A. Marquardt, Architecture and CAD for Deep-Submicron FPGAs, Kluwer Academic Publishers, 1999
Κατανομή συνδέσεων στα switch box Η πραγματική κατανομή των χρησιμοποιούμενων πόρων υλικού παρουσιάζει μια ανομοιόμορφη εικόνα. Ιδανικά θα έπρεπε να χρησιμοποιηθούν διαφορετικοί πόροι διασύνδεσης σε κάθε (x,y) σημείο του FPGA Ως πιο ενδεδειγμένη λύση είναι η χρήση αρχιτεκτονικών FPGA με κατά τόπους ομοιόμορφους πόρους υλικού
Κατανομή συνδέσεων στα switch box 1,0 0 0,5 0 after projection Region 1 0,0 0 Region 2 0,00-0,50 0,50-1,00 0,00-0,50 0,50-1,00 Ο αριθμός των pass-transistors που χρησιμοποιούνται στα switch boxes μειώνεται βαθμιαία καθώς κινούμαστε από το κέντρο του FPGA προς τα blocks
Κατανομή συνδέσεων στα switch box Region 2 0.99 0.66 after projection Region 3 0.33 0.00 Region 1 0.00-0.33 0.33-0.66 0.66-0.99 0,00-0,33 0,33-0,67 0,67-1,00 Ο αριθμός των pass-transistors που χρησιμοποιούνται στα switch boxes μειώνεται βαθμιαία καθώς κινούμαστε από το κέντρο του FPGA προς τα blocks
Διάγραμμα κατανάλωσης ενέργειας Clock 21% 9% Logic 5% Interconnection 65% Η κατανάλωση ενέργειας των πόρων διασύνδεσης αποτελεί το μέγιστο ποσοστό της συνολικής κατανάλωσης
Αποτέλεσμα του P&R
Αποτέλεσμα του P&R
Σχεδιάζοντας ετερογενείς αρχιτεκτονικές
Σχεδιάζοντας ετερογενείς αρχιτεκτονικές Subset Switch Box Universal Switch Box
Altera Stratix-II
Interconnection 1 Interconnection 2 Interconnection 3 Altera Stratix-II επέκταση
Σχεδιαστικοί παράμετροι που επηρεάζουν τις επιδώσεις ενός FPGA Αριθμός λογικών μπλοκ
Σχεδιαστικοί παράμετροι που επηρεάζουν τις επιδώσεις ενός FPGA in in in in in in BLE in out BLE out out in out out in in in in out BLE in out in in out Ακροδέκτες
Σχεδιαστικοί παράμετροι που επηρεάζουν τις επιδώσεις ενός FPGA G-LUT DirectConnect Input S0 Routed Data Input S1 D PRE Q Y G4 G3 G2 G1 SR H1 DIN F4 G4 G3 G2 G1 F4 Logic Function of G1-G4 G G H1 F H-LUT Logic Function of F-G-H1 H D SR Q CK EC D SR Q CK YQ Y XQ HCLK CLR F3 F2 F1 K EC F3 F2 F1 Logic Function of F1-F4 F-LUT G EC X In1 CKS CKP Local Routing Efficient Long Line Routing A1 A2 A3 A4 A5 A6 OS OP B1 B2 C1 C2 MP MS AZ OZ QZ In2 (CLK) In3 (Reset) D1 D2 E1 E2 NP NS F1 F2 F3 F4 F5 F6 PS PP QC OR NZ Q2Z FZ Δομή λογικού μπλοκ
Σχεδιαστικοί παράμετροι που επηρεάζουν τις επιδώσεις ενός FPGA Πλάτος καναλιού
Σχεδιαστικοί παράμετροι που επηρεάζουν τις επιδώσεις ενός FPGA Αριθμός Ι/Ο μπλοκ
Σχεδιαστικοί παράμετροι που επηρεάζουν τις επιδώσεις ενός FPGA Τύπος κυτίου διασύνδεσης
ΠΑΡΑΔΕΙΓΜΑΤΑ ΠΟΣΟΤΙΚΟΠΟΙΗΣΗΣ ΕΝΑΛΛΑΚΤΙΚΩΝ ΑΡΧΙΤΕΚΤΟΝΙΚΩΝ
Delay(sec) (avg. of benchmarks) Συχνότητα λειτουργίας 2.16E-08 Delay 2.11E-08 2.06E-08 2.01E-08 1.96E-08 1.91E-08 8X8 10X10 12X12 14X14 16X16 1.86E-08 1.81E-08 1.76E-08 1.71E-08 L1 L1&L2 L1&L4 L2 L2&L4 L4 L8 Segment Length
Delay (sec) (avg. of benchmarks) Συχνότητα λειτουργίας 2,15E-08 Delay 2,10E-08 2,05E-08 2,00E-08 1,95E-08 1,90E-08 1,85E-08 1,80E-08 L1 L1&L2 1&1 1&0.75 0.75&0.75 0.75&0.5 0.5&0.5 0.5&0.25 0.25&0.25 Connection Box Connectivity (input&output % of routing tracks)
Delay (sec) (avg. of benchmarks) Συχνότητα λειτουργίας 2.10E-08 Delay 2.05E-08 Disjoint 2.00E-08 1.95E-08 1.90E-08 1.85E-08 L1 L1&L2 L2 L1&L4 L4 L2&L4 Segment Length
Energy(joule) (avg. of benchmarks) Κατανάλωση ενέργειας 3.50E-10 8X8 Energy Consumption 3.00E-10 10X10 12X12 2.50E-10 14X14 16X16 2.00E-10 1.50E-10 1.00E-10 L1 L1&L2 L1&L4 L2 L2&L4 L4 L8 Segment Length
Energy (Joule) (avg. of benchmarks) Κατανάλωση ενέργειας 3,35E-10 Energy Consumtpion 3,3E-10 3,25E-10 3,2E-10 3,15E-10 3,1E-10 3,05E-10 3E-10 L1 L1&L2 2,95E-10 1&1 1&0.75 0.75&0.75 0.75&0.5 0.5&0.5 0.5&0.25 0.25&0.25 Connection Box Connectivity (input&output % of routing tracks)
Energy (Joule) (avg. of benchmarks) Κατανάλωση ενέργειας 4E-10 3.9E-10 Energy Consumption 3.8E-10 3.7E-10 3.6E-10 3.5E-10 3.4E-10 3.3E-10 3.2E-10 Disjoint 3.1E-10 3E-10 L1 L1&L2 L2 L1&L4 L4 L2&L4 Segment Length
Energy*Delay(sec*Joule) (avg. of benchmarks) Γινόμενο Ενέργειας Καθυστέρησης (EDP) 2E-17 Energy-Delay Product 1,8E-17 1,6E-17 1,4E-17 1,2E-17 1E-17 8E-18 6E-18 Disjoint Wilton Universal L1 L2 L4 L8 Segm ent Length
Area (avg. of benchmarks) Χιλιάδες Επιφάνεια πυριτίου 120 115 Area 110 105 100 95 Disjoint Wilton Universal 90 85 80 L1 L2 L4 L8 Segment Length
Area (avg. of benchmarks) Thousands Επιφάνεια πυριτίου 91 90 Area 89 88 87 86 Disjoint 85 84 L1 L1&L2 L2 L1&L4 L4 L2&L4 Segm ent Length
Area (um^2) (avg. of benchmarks) Επιφάνεια πυριτίου 100000 95000 90000 8X8 10X10 12X12 14X14 16X16 Area 85000 80000 75000 L1 L1&L2 L1&L4 L2 L2&L4 L4 L8 Segment Length
Area (avg. of benchmarks) Thousands Επιφάνεια πυριτίου 93 92 91 90 89 88 87 Area 86 85 1&1 1&0.75 0.75&0.75 0.75&0.5 0.5&0.5 0.5&0.25 0.25&0.25 Connection Box Connectivity L1 L1&L2