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