ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωµάτων Χειµερινό Εξάµηνο 2006-2007 Ροή Σχεδίασης Κυκλωµάτων και Εργαλεία CAD ΗΥ220 - Βασίλης Παπαευσταθίου 1
Transistor: οµική µονάδα κυκλωµάτων Τα ολοκληρωµένα κυκλώµατα υλοποιούνται κυρίως σε τεχνολογία CMOS (Complementary MOS) Βάση της τεχνολογίας τα transistors τύπου MOSFET (metal oxide semiconductor field effect transistors transistor επίδρασης πεδίου τύπου µέταλλο οξείδιο ηµιαγωγός) Συµπεριφέρονται σαν διακόπτες ΗΥ220 - Βασίλης Παπαευσταθίου 2
Chip = Γράφος Transistors Η τεχνολογία (process) που χρησιµοποιούµε για την κατασκευή (fabrication) καθορίζει τις παραµέτρους των transistors και το µεγεθός τους. Καθώς βελτίωνεται η τεχνολογία: Μικραίνει το µέγεθος των transistors (περισσότερα transistors στον ίδιο χώρο) Αυξάνεται η ταχυτητά τους Ελλατώνεται η κατανάλωση ενέργειάς τους ΗΥ220 - Βασίλης Παπαευσταθίου 3
Ροή Σχεδίασης Design Flow ΗΥ220 - Βασίλης Παπαευσταθίου 4
Μέθοδοι Σχεδίασης ΗΥ220 - Βασίλης Παπαευσταθίου 5
Full Custom Η διάταξη(layout) των transistors είναι χειροποίητη χρησιµοποιώντας VLSI editors. Χρήσιµο κυρίως σε µικρά designs λόγω απαιτήσεων σε χρόνο. Μέγιστη ελευθερία Μπλοκς υψηλών επιδόσεων Αργή διαδικασία ΗΥ220 - Βασίλης Παπαευσταθίου 6
Semi-Custom: Array-Based (Gate Array) Μεγάλοι πίνακες από transistors δίνονται από τους κατασκευαστές των chips. ιασυνδέοντας αυτά τα transistor µε τον κατάλληλο τρόπο προκύπτει η επιθυµητή λογική ΗΥ220 - Βασίλης Παπαευσταθίου 7
Semi-custom: Programmable Logic Array (PLA) Οι PLAs έχουν προγραµµατιζόµενα AND και OR επίπεδα (planes). Μπορούν να υλοποιήσουν οποιαδήποτε 2-επίπεδη λογική AND-OR Αποδοτική φυσική υλοποίηση σε τεχνολογία CMOS. ΗΥ220 - Βασίλης Παπαευσταθίου 8
Προγραµµατιζόµενη Λογική : LUTs (LookUp Tables) Ένας πολυπλέκτης επιλέγει ποιο στοιχείο µνήµης θα βγεί στην έξοδο Ένα bit µνήµης ΗΥ220 - Βασίλης Παπαευσταθίου 9
FPGA: Field Programmable Gate Array Τα CLBs συνδέονται στα κοντινά καλώδια Τα καλώδια συνδέονται µεταξύ τους µέσω του switch matrix Υπάρχουν και µακρινά καλώδια για να διασυνδέουν αποµακρυσµένα CLBs Οι πληροφορίες για την προγραµµατιζόµενηλογικήείναιαποθηκευµένες σε bit µνήµης τα οποία φορτώνονται κατά τον αρχικό προγραµµατισµό της. ΗΥ220 - Βασίλης Παπαευσταθίου 10
Παράδειγµα ενόςclb (Logic Element) ΗΥ220 - Βασίλης Παπαευσταθίου 11
Η διασύνδεση στην FPGA ΗΥ220 - Βασίλης Παπαευσταθίου 12
Η ροή σχεδίασης για FPGA ΗΥ220 - Βασίλης Παπαευσταθίου 13
Ησύνθεση(synthesis) Λογική σύνθεση (logic synthesis) Ένα εργαλείο/πρόγραµµα σχεδιάζει κύκλωµατα από «αφηρηµένες» περιγραφές της λογικής έχεται περιορισµούς (constraints) για το µέγεθος, την ταχύτητα κ.α Χρησιµοποιεί βιβλιοθήκες (π.χ. 3-input gates) Πως ; Περιγράφουµε σεverilog «αφηρηµένα» τη λογική Το εργαλείο µας παράγει εναλλακτικές υλοποιήσεις ΗΥ220 - Βασίλης Παπαευσταθίου 14
Απλό παράδειγµα σύνθεσης Τι συµβαίνει ; Γράφουµε τον κώδικα και η σύνθεση µας βγάζει τις πύλες Μπορεί να χρησιµοποιεί διαφορετικές βιβλιοθήκες από τον σχεδιαστή (εδώ µόνο πύλες 2 εισόδων) Μια περιγραφή είναι αρκετή για να µας παραχθούν αρκετές διαφορετικές υλοποιήσεις!!! αλλά αυτό προυποθέτει ότι ξέρουµε την υλοποίηση σε πύλες το οποίο καταλήγει να µην είναι «αφηρηµένη» περιγραφή βέβαια!!! ΗΥ220 - Βασίλης Παπαευσταθίου 15
Αυτοµατοποιηµένη Λογική Σύνθεση Η σύνθεση πολύ συχνά ερµηνεύει τον κώδικα διαφορετικά από την προσοµοίωση!!! Η περιττή λογική µπορεί να µην ανιχνευεται πάντα! Τα παρακάτω κυκλώµατα είναι λειτουργικά ισοδύναµα! ΗΥ220 - Βασίλης Παπαευσταθίου 16
Mapping Place & Route Mapping Μεταφορά της λογικής που παράγεται από την σύνθεση στα λογικά στοιχεία (LE-CLBs-Cells) που παρέχει φυσικά η εκάστοτε τεχνολογία (FPGA-ASIC) Κατά το mapping η λογικήµετατρέπεται κατάλληλα σε αυτήν που υποστηρίζει η τεχνολογία. Place & Route Χωροθέτηση και ιασύνδεση των κυκλωµάτων στην φυσική τοπολογία. Τοποθετεί την λογική στα CLBs της FPGA και τα διασυνδέει µε τέτοιο τρόπο ώστε να καλύπτονται οι χρονικοί περιορισµοί Η καθυστέρηση των καλωδίων (wiring delay), για την διασύνδεση µεταξύ των blocks της λογικής, πρέπει να είναι αποδεκτή Τοποθετεί τα κρίσιµα κοµµάτια του κυκλώµατος κοντά για να µειώσει όσο το δυνατόν την καθυστέρηση από τα καλώδια Η καθυστέρηση των σηµάτων στο κύκλωµα εξαρτάταισηµαντικά από την καθυστέρηση της διασύνδεσης (routing delay) ΗΥ220 - Βασίλης Παπαευσταθίου 17
Partitioning and Floorplanning Κατάτµηση και Κάτοψη Σχεδίου ΗΥ220 - Βασίλης Παπαευσταθίου 18
Cell-Based Design Semi-custom: λύση βασισµένη σε εργαλεία που χρησιµοποιουν standard cells που παρέχει η τεχνολογία και είναι οµοιόµορφα ΗΥ220 - Βασίλης Παπαευσταθίου 19
ιάταξη ένος standard cell H διάταξη (layout) ενός standard cell από µια βιβλιοθήκη standard cell. Είναι full-custom! ΗΥ220 - Βασίλης Παπαευσταθίου 20
Cell-based Flow ΗΥ220 - Βασίλης Παπαευσταθίου 21
ASIC : Application Specific Integrated Circuit Chip για µια συγκεριµένη εφαρµογή. εν µπορεί να ξαναπρογραµµατιστεί η λογική του για να καλύψειάλλεςλύσεις ίνουµε στον κατασκευαστή την διάταξη µε fullcustom ή semi-custom blocks. ΗΥ220 - Βασίλης Παπαευσταθίου 22
Κόστη Υλοποίησης Κόστη: 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 = 2000 + 10*100 = $3000 Per-Product-Cost = (2000/ 10) + 100 = $300 ΓιανακαλυφθείτοNRE κόστος επιβαρύνθηκε το κόστος της κάθε µονάδας µε $200!!! ΗΥ220 - Βασίλης Παπαευσταθίου 23
ASIC vs. FPGA (Pos and Cons) FPGA (gate-array) Χαµηλό αρχικό κόστος Χαµηλό χρηµατικό ρίσκο Γρήγορες κατασκευαστικές αλλαγές (reprogram) Εύκολες αλλαγές στη σχεδίαση Επαναπρογραµµατιζόµενη Αργό Ρολόι Μικρή χωρητικότητα σε πύλες ASIC (full-custom, semi-custom) Γρήγορο ρολόι Μεγάλη χωρητικότητα σε πύλες «Πυκνό» σχέδιο Υψηλό κόστος Αργές κατασκευαστικές αλλαγές Μεγάλος χρόνος κατασκευής ΗΥ220 - Βασίλης Παπαευσταθίου 24
Εργαλεία 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) Fabrication Tape out and Manufacture ΗΥ220 - Βασίλης Παπαευσταθίου 25
Μαθήµατα HW Specifications Functional Design HY225 Οργάνωση Υπολογιστών HY425 Αρχιτεκτονική Υπολογιστών HY534 Αρχιτ. Μεταγωγέων Πακέτων Logic Design HY220 Εργαστήριο Ψηφ. Κυκλωµ. Circuit Design HY120 Ψηφιακή Σχεδίαση HY590.24 Αλγόριθµοι CAD εργαλείων Physical Design HY422 Εισαγωγή στο VLSI Fabrication ΗΥ220 - Βασίλης Παπαευσταθίου 26
Επαλήθευση - Verification ΗΥ220 - Βασίλης Παπαευσταθίου 27
Verification - Simulation Συνέπεια : το ίδιο testbench για κάθε επίπεδο αφαίρεσης Slower Simulation - Closer to reality ΗΥ220 - Βασίλης Παπαευσταθίου 28
Automated Verification - Golden Model Test Vectors Generator (C, perl) Test Vectors Testbench (verilog) Golden Model (C, perl) Design under test (verilog) Result Vectors Yes then test passed, run new Same? Result Vectors No then test failed, check why ΗΥ220 - Βασίλης Παπαευσταθίου 29
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 - Βασίλης Παπαευσταθίου 30
Electronic Design Automation (EDA) tools ΗΥ220 - Βασίλης Παπαευσταθίου 31
EDA tools ΗΥ220 - Βασίλης Παπαευσταθίου 32