ΗΥ220 - Βασίλης Παπαευσταθίου1 ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων Χειμερινό Εξάμηνο Ροή Σχεδίασης Κυκλωμάτων και Εργαλεία CAD
ΗΥ220 - Βασίλης Παπαευσταθίου2 Transistor: Δομική μονάδα κυκλωμάτων Τα ολοκληρωμένα κυκλώματα υλοποιούνται κυρίως σε τεχνολογία CMOS (Complementary MOS) –Βάση της τεχνολογίας τα transistors τύπου MOSFET (metal oxide semiconductor field effect transistors – transistor επίδρασης πεδίου τύπου μέταλλο – οξείδιο – ημιαγωγός) –Συμπεριφέρονται σαν διακόπτες
ΗΥ220 - Βασίλης Παπαευσταθίου3 Chip = Γράφος Transistors Η τεχνολογία (process) που χρησιμοποιούμε για την κατασκευή (fabrication) καθορίζει τις παραμέτρους των transistors και το μεγεθός τους. Καθώς βελτίωνεται η τεχνολογία: –Μικραίνει το μέγεθος των transistors (περισσότερα transistors στον ίδιο χώρο) –Αυξάνεται η ταχυτητά τους –Ελλατώνεται η κατανάλωση ενέργειάς τους
ΗΥ220 - Βασίλης Παπαευσταθίου4 Ροή Σχεδίασης – Design Flow
ΗΥ220 - Βασίλης Παπαευσταθίου5 Μέθοδοι Σχεδίασης
ΗΥ220 - Βασίλης Παπαευσταθίου6 Full Custom Η διάταξη (layout) των transistors είναι χειροποίητη χρησιμοποιώντας VLSI editors. Χρήσιμο κυρίως σε μικρά designs λόγω απαιτήσεων σε χρόνο. –Μέγιστη ελευθερία –Μπλοκς υψηλών επιδόσεων –Αργή διαδικασία
ΗΥ220 - Βασίλης Παπαευσταθίου7 Semi-Custom: Array-Based (Gate Array) Μεγάλοι πίνακες από transistors δίνονται από τους κατασκευαστές των chips. Διασυνδέοντας αυτά τα transistor με τον κατάλληλο τρόπο προκύπτει η επιθυμητή λογική
ΗΥ220 - Βασίλης Παπαευσταθίου8 Semi-custom: Programmable Logic Array (PLA) Οι PLAs έχουν προγραμματιζόμενα AND και OR επίπεδα (planes). Μπορούν να υλοποιήσουν οποιαδήποτε 2-επίπεδη λογική AND-OR Αποδοτική φυσική υλοποίηση σε τεχνολογία CMOS.
ΗΥ220 - Βασίλης Παπαευσταθίου9 Προγραμματιζόμενη Λογική : LUTs (LookUp Tables) Ένα bit μνήμης Ένας πολυπλέκτης επιλέγει ποιο στοιχείο μνήμης θα βγεί στην έξοδο
ΗΥ220 - Βασίλης Παπαευσταθίου10 FPGA: Field Programmable Gate Array Τα CLBs συνδέονται στα κοντινά καλώδια Τα καλώδια συνδέονται μεταξύ τους μέσω του switch matrix Υπάρχουν και μακρινά καλώδια για να διασυνδέουν απομακρυσμένα CLBs Οι πληροφορίες για την προγραμματιζόμενη λογική είναι αποθηκευμένες σε bit μνήμης τα οποία φορτώνονται κατά τον αρχικό προγραμματισμό της.
ΗΥ220 - Βασίλης Παπαευσταθίου11 Παράδειγμα ενός CLB (Logic Element)
ΗΥ220 - Βασίλης Παπαευσταθίου12 Η διασύνδεση στην FPGA
ΗΥ220 - Βασίλης Παπαευσταθίου13 Η ροή σχεδίασης για FPGA
ΗΥ220 - Βασίλης Παπαευσταθίου14 Η σύνθεση (synthesis) Λογική σύνθεση (logic synthesis) –Ένα εργαλείο/πρόγραμμα σχεδιάζει κύκλωματα από «αφηρημένες» περιγραφές της λογικής Δέχεται περιορισμούς (constraints) για το μέγεθος, την ταχύτητα κ.α Χρησιμοποιεί βιβλιοθήκες (π.χ. 3-input gates) Πως ; –Περιγράφουμε σε Verilog «αφηρημένα» τη λογική –Το εργαλείο μας παράγει εναλλακτικές υλοποιήσεις
ΗΥ220 - Βασίλης Παπαευσταθίου15 Απλό παράδειγμα σύνθεσης Τι συμβαίνει ; –Γράφουμε τον κώδικα και η σύνθεση μας βγάζει τις πύλες –Μπορεί να χρησιμοποιεί διαφορετικές βιβλιοθήκες από τον σχεδιαστή (εδώ μόνο πύλες 2 εισόδων) –Μια περιγραφή είναι αρκετή για να μας παραχθούν αρκετές διαφορετικές υλοποιήσεις!!! –… αλλά αυτό προυποθέτει ότι ξέρουμε την υλοποίηση σε πύλες – το οποίο καταλήγει να μην είναι «αφηρημένη» περιγραφή βέβαια!!!
ΗΥ220 - Βασίλης Παπαευσταθίου16 Αυτοματοποιημένη Λογική Σύνθεση Η σύνθεση πολύ συχνά ερμηνεύει τον κώδικα διαφορετικά από την προσομοίωση !!! Η περιττή λογική μπορεί να μην ανιχνευεται πάντα! –Τα παρακάτω κυκλώματα είναι λειτουργικά ισοδύναμα!
ΗΥ220 - Βασίλης Παπαευσταθίου17 Mapping – Place & Route Mapping – Μεταφορά της λογικής που παράγεται από την σύνθεση στα λογικά στοιχεία (LE-CLBs-Cells) που παρέχει φυσικά η εκάστοτε τεχνολογία (FPGA-ASIC) –Κατά το mapping η λογική μετατρέπεται κατάλληλα σε αυτήν που υποστηρίζει η τεχνολογία. Place & Route – Χωροθέτηση και Διασύνδεση των κυκλωμάτων στην φυσική τοπολογία. –Τοποθετεί την λογική στα CLBs της FPGA και τα διασυνδέει με τέτοιο τρόπο ώστε να καλύπτονται οι χρονικοί περιορισμοί Η καθυστέρηση των καλωδίων (wiring delay), για την διασύνδεση μεταξύ των blocks της λογικής, πρέπει να είναι αποδεκτή Τοποθετεί τα κρίσιμα κομμάτια του κυκλώματος κοντά για να μειώσει όσο το δυνατόν την καθυστέρηση από τα καλώδια Η καθυστέρηση των σημάτων στο κύκλωμα εξαρτάται σημαντικά από την καθυστέρηση της διασύνδεσης (routing delay)
ΗΥ220 - Βασίλης Παπαευσταθίου18 Partitioning and Floorplanning Κατάτμηση και Κάτοψη Σχεδίου
ΗΥ220 - Βασίλης Παπαευσταθίου19 Cell-Based Design Semi-custom: λύση βασισμένη σε εργαλεία που χρησιμοποιουν standard cells που παρέχει η τεχνολογία και είναι ομοιόμορφα
ΗΥ220 - Βασίλης Παπαευσταθίου20 Διάταξη ένος standard cell H διάταξη (layout) ενός standard cell από μια βιβλιοθήκη standard cell. Είναι full-custom!
ΗΥ220 - Βασίλης Παπαευσταθίου21 Cell-based Flow
ΗΥ220 - Βασίλης Παπαευσταθίου22 ASIC : Application Specific Integrated Circuit Chip για μια συγκεριμένη εφαρμογή. Δεν μπορεί να ξαναπρογραμματιστεί η λογική του για να καλύψει άλλες λύσεις Δίνουμε στον κατασκευαστή την διάταξη με full- custom ή semi-custom blocks.
ΗΥ220 - Βασίλης Παπαευσταθίου23 Κόστη Υλοποίησης Κόστη: –Unit cost(κόστος μονάδας): το χρηματικό κόστος για την κατασκευή κάθε αντιγράφου του συστήματος –NRE cost (Non-Recurring Engineering cost – Μη επαναλαμβανόμενο κόστος σχεδίασης): Το εφάπαξ κόστος για την σχεδίαση του συστήματος –Total-Cost = NRE-Cost + Unit-Cost * #Units –Per-Product-Cost = Total-Cost / # Units = (NRE-Cost / # Units) + Unit-Cost Παράδειγμα: –NRE-cost = $2000, Unit-cost = $100 –Για 10 μονάδες: Total = *100 = $3000 Per-Product-Cost = (2000/ 10) = $300 Για να καλυφθεί το NRE κόστος επιβαρύνθηκε το κόστος της κάθε μονάδας με $200!!!
ΗΥ220 - Βασίλης Παπαευσταθίου24 ASIC vs. FPGA (Pos and Cons) FPGA (gate-array) –Χαμηλό αρχικό κόστος –Χαμηλό χρηματικό ρίσκο –Γρήγορες κατασκευαστικές αλλαγές (reprogram) –Εύκολες αλλαγές στη σχεδίαση –Επαναπρογραμματιζόμενη –Αργό Ρολόι –Μικρή χωρητικότητα σε πύλες ASIC (full-custom, semi-custom) –Γρήγορο ρολόι –Μεγάλη χωρητικότητα σε πύλες –«Πυκνό» σχέδιο –Υψηλό κόστος –Αργές κατασκευαστικές αλλαγές –Μεγάλος χρόνος κατασκευής
ΗΥ220 - Βασίλης Παπαευσταθίου25 Εργαλεία CAD: Computer Aided Design Functional DesignSpecificationsLogic DesignCircuit DesignPhysical DesignFabrication System Description Languages (System C) Hardware Description Languages, Schematic Editors (verilog, VHDL) Logic Synthesis Tools (Synopsys) Physical Synthesis Tools (Place & Route) Tape out and Manufacture
ΗΥ220 - Βασίλης Παπαευσταθίου26 Μαθήματα HW HY225 Οργάνωση Υπολογιστών HY425 Αρχιτεκτονική Υπολογιστών HY534 Αρχιτ. Μεταγωγέων Πακέτων HY220 Εργαστήριο Ψηφ. Κυκλωμ. HY120 Ψηφιακή Σχεδίαση HY Αλγόριθμοι CAD εργαλείων HY422 Εισαγωγή στο VLSI Functional DesignSpecificationsLogic DesignCircuit DesignPhysical DesignFabrication
ΗΥ220 - Βασίλης Παπαευσταθίου27 Επαλήθευση - Verification
ΗΥ220 - Βασίλης Παπαευσταθίου28 Verification - Simulation Συνέπεια : το ίδιο testbench για κάθε επίπεδο αφαίρεσης Slower Simulation - Closer to reality
ΗΥ220 - Βασίλης Παπαευσταθίου29 Testbench (verilog) Design under test (verilog) Test Vectors Generator (C, perl) Golden Model (C, perl) Test Vectors Result Vectors Same? Yes then test passed, run new No then test failed, check why… Automated Verification - Golden Model
ΗΥ220 - Βασίλης Παπαευσταθίου30 Verification – Mixed Mode Testbench (verilog) RTL blocks (verilog) Design under test gate-level blocks (verilog) Accurate simulation/verification just for some specific blocks. No need for the whole design.
ΗΥ220 - Βασίλης Παπαευσταθίου31 Electronic Design Automation (EDA) tools
ΗΥ220 - Βασίλης Παπαευσταθίου32 EDA tools