ΤΕΙ Δυτικής Ελλάδας Τμήμα Μηχανικών Πληροφορικής ΤΕ Εργαστήριο Σχεδίασης Ψηφιακών Ολοκληρωμένων Κυκλωμάτων και Συστημάτων «Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο 2016-2017 Διάλεξη 4 η : Κατασκευή FPGA Ολοκληρωμένων (Μέρος 2 ο ) Δρ. Παρασκευάς Κίτσος Επίκουρος Καθηγητής diceslab.cied.teiwest.gr E-mail: pkitsos@teimes.gr 1
ΠΕΡΙΕΧΟΜΕΝΑ Αρχιτεκτονικές των FPGA FPGA βασισμένα σε μνήμες SRAM Μόνιμα προγραμματισμένα FPGA Είσοδοι / Έξοδοι (Ι/Οs) Τα δομικά κυκλώματα των FPGA Παράμετροι σχεδίασης των FPGA 2
ΔΙΑΜΟΡΦΩΣΗ (CONFIGURATION) 1/2 Τα δεδομένα διαμόρφωσης (bits) αποθηκεύονται στα SRAM bits Σε κάθε FPGA υπάρχουν ακροδέκτες (pins) αποκλειστικά για αυτή τη διαδικασία Το FPGA δεν επαναδιαμορφόνεται τόσο συχνά Για αυτό τα pins και οι γραμμές διαμόρφωσης είναι σειριακής λειτουργίας Αν όμως η ταχύτητα διαμόρφωσης είναι σημαντικός παράγοντας μπορεί να γίνει και παράλληλα 3
ΔΙΑΜΟΡΦΩΣΗ (CONFIGURATION) 2/2 Κατά τη διάρκεια του σχεδιασμού το FPGA επαναδιαμορφώνεται Αυτό γίνεται με το καλώδιο φόρτωσης το οποίο είναι συνδεδεμένο με το PC και φορτώνει τα απαιτούμενα bits στο FPGA Κατά τη διάρκεια της παραγωγής όμως είναι αδύνατον να υπάρχουν καλώδιο φόρτωσης και PC για κάθε FPGA Για αυτό χρησιμοποιούνται PROMs (programmable Read Only Memories) που περιέχουν τα bits διαμόρφωσης 4
PROM ΔΙΑΜΟΡΦΩΣΗΣ Η PROM είναι ενσωματωμένη στο ίδιο board με το FPGA Όταν τεθεί σε λειτουργία το FPGA «απαιτεί» από την PROM τα bits διαμόρφωσης και Η PROM τα στέλνει Απαίτηση FPGA Configuration memory Απάντηση 5
ΔΙΑΜΟΡΦΩΣΗ ΤΟΥ SPARTAN-II (1/2) Η διαμόρφωση ενός SPARTAN-II FPGA χρειάζεται Από 200,000 έως 1.3 εκατομμύρια bits (εξαρτάται από το μέγεθος του FPGA) Τρόποι διαμόρφωσης Master serial: Που σημαίνει ότι το FPGA θεωρείται ότι είναι το πρώτο (ή το μοναδικό) στην γραμμή παραγωγής και τα bits διαμόρφωσης φορτώνονται είτε από το καλώδιο φόρτωσης είτε από μια PROM 6
ΔΙΑΜΟΡΦΩΣΗ ΤΟΥ SPARTAN-II (2/2) Slave serial: Όπου λαμβάνουν τα bits διαμόρφωσης από προηγούμενο slave serial ή το master serial Slave parallel: Επιτρέπει παράλληλη σύνδεση των 8 bits 7
ΔΙΑΜΟΡΦΩΣΗ ΤΟΥ APEX II Για τα APEX-II FPGAs απαιτείται συνήθως ένας ακροδέκτης για την διαμόρφωσή τους Αλλά υποστηρίζει παράλληλη διαμόρφωση ώστε να μειωθεί ο χρόνος Η διαμόρφωσή τους γίνεται είτε με PROM ή Microprocessor Διαρκεί λιγότερο από 100 nsec 8
ΠΡΟΓΡΑΜΜΑΤΙΣΜΕΝΑ ΜΙΑ ΦΟΡΑ FPGA FPGA βασισμένα σε Αντιασφάλειες (Antifuse) Actel. FPGA βασισμένα σε Flash μνήμες 9
FPGA ΒΑΣΙΣΜΕΝΑ ΣΕ SRAM Τα FPGA που είναι βασισμένα σε μνήμες SRAM Διαμορφώνονται όταν θέτονται σε λειτουργία (τάση τροφοδοσίας) Διαμορφώνονται πολλές φορές Αλλά τα βασισμένα σε αντιασφάλειες ή σε μνήμες flash διαμορφώνονται μόνο μια φορά 10
ΑΝΤΙΑΣΦΑΛΕΙΕΣ (ANTIFUSES) Προγραμματίζονται μόνιμα Δημιουργούν μια σύνδεση (βραχυκύκλωμα) με την εφαρμογή ηλεκτρικού ρεύματος Είναι πιο αξιόπιστες από τις «ασφάλειες» (δηλαδή το σπάσιμο -κόψιμο- μιας σύνδεσης) Παρουσιάζουν αντίσταση 100 Ω (που είναι αρκετά μεγάλη τιμή) 11
ΛΕΙΤΟΥΡΓΙΑ ΑΝΤΙΑΣΦΑΛΕΙΑΣ Metal 2 antifuse via Metal 1 substrate Η αντιασφάλεια είναι ανοικτός διακόπτης (κύκλωμα) Με την εφαρμογή ηλεκτρικού ρεύματος «καίγεται» και δημιουργεί βραχυκύκλωμα (ένωση) μεταξύ του Metal2 και Metal1 12
ΑΝΤΙΑΣΦΑΛΕΙΑ vs ΑΣΦΑΛΕΙΑ Με τις αντιασφάλειες οι περισσότερες διασυνδέσεις είναι ανοικτά κυκλώματα Άρα «αφήνει» τους ανεκμετάλλευτους κόμβους στη σωστή κατάσταση (σε αντίθεση με την ασφάλεια) 13
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΑΝΤΙΑΣΦΑΛΕΙΑΣ Κάθε αντιασφάλεια προγραμματίζεται με εφαρμογή ηλεκτρικού ρεύματος πάνω σε αυτή Η κάθε μια προγραμματίζεται ξεχωριστά Κάθε FPGA πρέπει να παρέχει τη δυνατότητα (κάποιο κύκλωμα) έτσι ώστε να είναι δυνατή η διευθυνσιοδότηση της κάθε αντιασφάλειας και η εφαρμογή σε αυτή τάσης (ρεύματος) 14
FPGA ΒΑΣΙΣΜΕΝΑ ΣΕ FLASH ΜΝΗΜΕΣ Οι μνήμες Flash είναι ηλεκτρικά προγραμματιζόμενες και διαγραφόμενες ROM μνήμες (Electrically Erasable Programmable ROMs) Διατηρούν τα δεδομένα τους ακόμα και αν διακοπεί η τάση τροφοδοσίας Επιτρέπει επαναπρογραμματισμό χωρίς διαδικασία επανεκκίνησης 15
ΠΡΟΓΡΑΜΜΑΤΙΖΟΜΕΝΟΣ ΔΙΑΚΟΠΤΗΣ FLASH ΜΝΗΜΗΣ Κάνει εγγραφή και ανάγνωση στη μνήμη Προγραμματιζόμενος διακόπτης 16
ΛΟΓΙΚΟ ΣΤΟΙΧΕΙΟ Τα λογικά στοιχεία στα βασισμένα σε αντιασφάλειες FPGA είναι κυκλώματα πολυπλεκτών Προγραμματίζονται ώστε να φτιάχνουν διασυνδέσεις (μέσω της εφαρμογής ηλεκτρικού ρεύματος) d0 d1 out a out 0 d0 1 d1 a Truth table 17
ΕΝΑ ΜΕΓΑΛΥΤΕΡΟ ΛΟΓΙΚΟ ΣΤΟΙΧΕΙΟ Αποτελείτε από δύο επίπεδα πολυπλεκτών και τέσσερα σήματα ελέγχου Το πρώτο επίπεδο πολυπλεκτών ελέγχεται από τα σήματα a0 και a1 (μέσω της AND) Το δεύτερο επίπεδο ελέγχεται από τα σήματα b0 και b1 (μέσω της OR) H τοπολογία μπορεί να περιγράψει αρκετά περίπλοκη λογική συνάρτηση 01 01 0 0 18
ΤA ΛΟΓΙΚA ΣΤΟΙΧΕΙΟ ΤΟΥ ACTEL FPGA Ta Actel FPGAs περιέχουν δύο τύπους λογικών στοιχείων Τα C-cells που περιέχουν τη συνδυαστική λογική Τα R-cells που περιέχουν τους καταχωρητές Αυτά τα λογικά στοιχεία οργανώνονται σε SuperClusters Κάθε ένα SuperCluster περιέχει τέσσερα C- cells και δύο R-cells και κάποια επιπλέον (βοηθητική) ψηφιακή λογική 19
ΤΟ C-cell ΤΟΥ ΛΟΓΙΚΟΥ ΣΤΟΙΧΕΙΟΥ 54SX ΤΟΥ ACTEL Το σώμα του στοιχείου είναι ο πολυπλέκτης 4 είσοδοι χρησιμοποιούνται για γρήγορη άθροιση χρησιμοποιείται για την αντιστροφή των σημάτων 4 σήματα ελέγχου 20
ΛΟΓΙΚΗ ΑΘΡΟΙΣΗΣ ΣΤΟ ACTEL 54SX ΛΟΓΙΚΟ ΣΤΟΙΧΕΙΟ Χρησιμοποιεί δύο C-cells στο SuperCluster Προσθέτει τα bits A0 και A1 Έχει κρατούμενο εισόδου το FCI και κρατούμενο εξόδου το FCO Η λογική carry ενεργοποιείται όταν το σήμα CFN είναι στο 1 Στο C-cell i+1 το Χi bit συνδέεται στην είσοδο 1 του FCO πολυπλέκτη Η Υ έξοδος (στο ίδιο cell) είναι το άθροισμα Υλοποιεί έναν carry-skip αθροιστή 21
ΤΟ R-cell ΤΟΥ ΛΟΓΙΚΟΥ ΣΤΟΙΧΕΙΟΥ 54SX ΤΟΥ ACTEL low clears and presets data enables Επιλέγει διαφορετικές πηγές ρολογιού Επιλέγει τη πολικότητα του παλμού του ρολογιού 22
ΤΟ ACTEL 54SX ΛΟΓΙΚΟ ΣΤΟΙΧΕΙΟ (LOGIC ELEMENT) Ta C- και R-cells οργανώνονται σε clusters Ο τύπος 1 έχει δομή CRC Ο τύπος 2 έχει δομή CRR Τα clusters ομαδοποιούνται σε superclusters. Ο τύπος 1 περιέχει δύο τύπους 1 clusters Ο τύπος 2 περιέχει έναν τύπο 1 και έναν τύπο 2 clusters 23
TO ΛΟΓΙΚΟ ΣΤΟΙΧΕΙΟ ProASIC 500K ΤΟΥ ACTEL (1/2) Χρησιμοποιεί διακόπτες Κάθε είσοδος μπορεί να φτάσει στους πολυπλέκτες είτε στην ορθή ή συμπληρωματική μορφή 24
TO ΛΟΓΙΚΟ ΣΤΟΙΧΕΙΟ ProASIC 500K ΤΟΥ ACTEL (2/2) Το σύμπλεγμα των πολυπλεκτών μπορεί να υλοποιήσει οποιοδήποτε λογική συνάρτηση τριών εισόδων Εκτός της τριών εισόδων XOR To μονοπάτι ανάδρασης επιτρέπει στο λογικό στοιχείο να δουλεύει σαν latch FF H είσοδος in1 είναι η είσοδος δεδομένων H in2 είναι η είσοδος ρολογιού και H in3 είναι η είσοδος του reset Έχει δύο buffers εξόδων Έναν για τοπικές διασυνδέσεις Και έναν μεγαλύτερο για διασυνδέσεις μεγαλύτερων γραμμών 25
ΟΙ ΔΙΑΣΥΝΔΕΣΕΙΣ ΣΤΟ ACTEL 54SX FPGA (1/2) Έχει τέσσερις τύπους διασυνδέσεων Ο FastConnect επιτρέπει οριζόντια διασύνδεση μεταξύ των λογικών κυκλωμάτων (στοιχείων) σε ένα supercluster Ο CarryConnect διασυνδέει τη λογική carry σε ένα supercluster O DirectConnect διασύνδεει γειτονικά C-cell και R-cell σε ένα cluster Ο DirectConnect δεν περιέχει καμιά αντιαντίσταση και για αυτό είναι αρκετά γρήγορη 26
ΟΙ ΔΙΑΣΥΝΔΕΣΕΙΣ ΣΤΟ ACTEL 54SX FPGA (2/2) Η Γενική ή Οικουμενική καλωδίωση (Generic global wiring) χρησιμοποιεί κανάλια τμηματικής καλωδίωσης Τα κανάλια διατρέχουν το FPGA τόσο οριζόντια όσο και κάθετα Κάθε κανάλι έχει διαφορετική τμηματοποίηση Επίσης υπάρχουν τρία σήματα ειδικού σκοπού που διατρέχουν το FPGA Hardware clocks (που οδηγούν το ρολόι απευθείας σε κάθε R-cell) Global clear (GCLR) και global preset (GPSET) οδηγούν τα σήματα clear και preset στα R-cells και στα σύστημα 27
I/O PINS Οι ακροδέκτες συνδέουν το FPGA με το εξωτερικό περιβάλλον Κάθε ακροδέκτης εκτελεί κάποιες βασικές λειτουργίες Οι ακροδέκτες εισόδου παρέχουν ηλεκτροστατική προστασία Οι ακροδέκτες εξόδου έχουν buffers για αποδοτική οδήγηση των απαιτούμενων σημάτων Οι three-state ακροδέκτες περιέχουν λογική για την ομαλή εναλλαγή ως είσοδοι ή έξοδοι Επίσης έχουν επιπρόσθετα χαρακτηριστικά Καταχωρητές Διάφορα επίπεδα τάσης Double-data rate (DDR) 28
ACTEL APEX II I/O BLOCK Υποστηρίζουν SDRAM και double-data rate (DDR) μνήμες Περιέχουν έξι FFs Έχουν δικατευθυντήριους (bidirectional) buffers Έχουν δύο εισόδους και δύο εξόδους 29
ACTEL APEX II I/O BLOCK 30
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΑΝΤΙΑΣΦΑΛΕΙΩΝ Ο προγραμματισμός των αντιασφαλειών γίνεται με την εφαρμογή υψηλής τάσης (ρεύματος) ικανής να την «κάψει» και να την κάνει βραχυκύκλωμα Όλες οι αντιαντιστάσεις βρίσκονται πάνω στα κανάλια διασυνδέσεων. Αυτό επιτρέπει στο «σύστημα» καλωδίων να διευθυνσιοδοτούν και να προγραμματίζουν τις αντιαντιστάσεις 31
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΑΝΤΙΑΣΦΑΛΕΙΩΝ ΜΕ ΤΡΑΝΖΙΣΤΟΡΣ Κάθε αντιασφάλεια είναι συνδεμένη παράλληλα με ένα pass transistor Όταν το transistor άγει το ρεύμα το διαπερνά Όταν δεν άγει περνά από την αντιασφάλεια η οποία «καίγεται» και δημιουργεί το βραχυκύκλωμα 32
Απορίες??? 33