Συστήματα CAD Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών Ροή Πληροφορικής Δαδαλιάρης Αντώνιος: dadaliaris@cs.uth.gr
Timing Analysis Αφού ολοκληρωθεί το routing καλούμαστε να ελέγξουμε εκ νέου τον χρονισμό της σχεδίασης. Οι τροποποιήσεις που έχει υποστεί η σχεδίασή μας ενδέχεται να έχουν οδηγήσει στην αλλοίωση του συνολικού χρονισμού της. Στην πλειοψηφία των περιπτώσεων τα προβλήματα χρονισμού σε αυτό το στάδιο μπορούν να επιλυθούν από τα εργαλεία σχεδίασης. Σε εκείνες τις περιπτώσεις που τα προβλήματα παραμένουν ο σχεδιαστης καλείται να επέμβει με χειρονακτικό τρόπο και να τα διορθώσει ή να ελέγξει αναδρομικά όλα τα προηγούμενα στάδια και να αναπροσαρμώσει την ροή σχεδίασης. Σε ορισμένες περιπτώσεις ο επανέλεγχος μπορεί να οδηγήσει ακόμη και στην τροποποίηση της αρχιτεκτονικής στο RTL επίπεδο.
Physical Verification (1) Στο βήμα αυτό ελέγχεται η ορθότητα του τελικού layout: Design Rule Checking (DRC) Layout vs. Schematic (LVS) Antenna Rule Checking Electrical Rule Checking (ERC)
Physical Verification (2) Design Rule Checking (DRC): Παράμετροι που παρέχονται στον σχεδιαστή από τον κατασκευαστή των ημιαγωγών (που χρησιμοποιούνται στο layout της σχεδίασης). Οι κανόνες είναι απολύτως συγκεκριμένοι για κάθε διαδικασία σχεδίασης. Geometric Restrictions Connectivity Restrictions
Physical Verification (3)
Physical Verification (4) Layout vs. Schematic (LVS): Μετά την επιτυχημένη ολοκλήρωση του Design Rule Checking, έχουμε την βεβαιότητα πως το layout της σχεδίασης είναι σε πλήρη συμφωνία με τους σχεδιαστικούς κανόνρες που έχουν τεθεί, δεν γνωρίζουμε όμως κατά πόσο το τελικό αποτέλεσμα αντιπροσωπεύει το κύκλωμα όπως αυτό είχε σχεδιαστεί σε προηγούμενα στάδια. Τον έλεγχο ισοδυναμίας αναλαμβάνει το στάδιο LVS. Graph Isomorphism (old technique). Equivalence Checking (έλεγχος ισοδυναμίας λειτουργίας μεταξύ δύο σχεδιαστικών αναπαραστάσεων).
Physical Verification (5) Antenna Rule Checking: Το antenna effect είναι ένα φαινόμενο το οποίο μπορεί να προκαλέσει προβλήματα αξιοπιστείας σε μια σχεδίαση κατά το στάδιο της κατασκευής / υλοποίησης. Τα antenna rules παρέχονται στον σχεδιαστή από τον πάροχο των χρησιμοποιούμενων τεχνολογικών βιβλιοθηκών και συνήθως αφορούν την αναλογία metal area προς gate area. Οποιαδήποτε σχεδίαση πρέπει να υποστεί τον παραπάνω έλεγχο πριν να γίνει sign-off.
Physical Verification (6) Electrical Rule Checking (ERC): Το στάδιο του electrical rule checking καταπιάνεται με τον έλεγχο όλων των ηλεκτρικών συνδέσεων του κυκλώματος, που θεωρούνται επικίνδυνες για την διατάραξη της ορθής λειτουργίας του. Μη συνδεδεμένα input pins. Βραχυκυκλωμένα output. Πύλες που συνδέονται απαυθείας στην τροφοδοσία. κλπ.
Back-End CAD Tool: Cadence SoC Encounter
Case Study: Gordian Placement Algorithm Papers Covered: Kleinhaus, G. Sigl, F. Johannes, K. Antreich, "GORDIAN: VLSI Placement by Quadratic Programming and Slicing Optimization", IEEE Trans. on CAD, pp 356-365, 1991. G. Sigl, K. Doll and F.M. Johannes, "Analytical placement: A Linear or Quadratic Objective Function?", Proc. DAC, pp 427-432, 1991. Placement (χωροθέτηση): Τοποθέτηση των δομικών στοιχείων ενός κυκλώματος με κατάλληλο τρόπο προκειμένου να ελαττώσουμε το συνολικό μήκος καλωδίου (wirelength) και να μειώσουμε την συνολική καταλαμβανόμενη περιοχή του ολοκληρωμένου.
Gordian Placement Algorithm (1)
Gordian Placement Algorithm (2)
Gordian Placement Algorithm (3)
Gordian Placement Algorithm (4)
Gordian Placement Algorithm (5)
Gordian Placement Algorithm (6) Κατά την δημιουργία των υποπεριοχών τα νέα κέντρα δημιουργούν νέους περιορισμούς στο πρόβλημα του global placement. Οι περιορισμοί ακολουθούν την μορφή που παρουσιάζεται στην παρακάτω εξίσωση. Όλες οι θέσεις του πίνακα Α είναι μηδενικές εκτός από μία μη μηδενική καταχώρηση η οποία ανταποκρίνεται σε εκείνη την υποπεριοχή που ανήκει το εκάστοτε module. Συνσυάζοντας τους παραπάνω περιορισμούς καταλήγουμε στο ακόλουθο Linear Quadratic Problem (LQP) το οποίο και έχει μοναδική βέλτιστη λύση: Την τιμή της σταθεράς const την αντλούμε από τις τεχνολογικές βιβλιοθήκες που χρησιμοποιούμε.
Gordian Placement Algorithm (7) Κύκλωμα 10 πυλών (a, b, c, d, e, f, g, h, i, j, k) με 5 εισόδους (w1, w2, w3, w4, w5) και 5 εξόδους (z1, z2, z3, z4, z5)
Gordian Placement Algorithm (8) I/O placement: Ακολουθούμε την εξής σύμβαση, οι είσοδοι του κυκλώματος τοποθετούνται στην αριστερή και στην πάνω πλευρά του παραλληλογράμμου που αναπαριστά το ολοκληρωμένο, ενώ οι έξοδοι του κυκλώματος τοποθετούνται στην δεξιά και στην κάτω πλευρά του παραλληλογράμμου.
Gordian Placement Algorithm (9) Adjacency Matrix (πίνακας διασυνδεσιμότητας): Αναπαράσταση των συνδέσεων μεταξύ των κελιών του ολοκληρωμένου, συναρτήσει του βάρους της εκάστοτε σύνδεσης. Pin Connection Matrix: Αναπαράσταση των συνδέσεων μεταξύ των κελιών και των εισόδων/εξόδων του κυκλώματος. Οι σειρές του πίνακα προσδιορίζουν τα κελιά και οι στήλες τις εισόδους/ εξόδους του κυκλώματος.
Gordian Placement Algorithm (10) Degree Matrix: Ο πίνακας προκύπτει από τους δύο προηγούμενους, αθροίζοντας όλα τα στοιχεία των αντίστοιχων σειρών και τοποθετώντας το αποτέλεσμα στην αντίστοιχη θέση της διαγωνίου του νέου πίνακα. Laplacian Matrix = Degree Matrix – Adjacency Matrix
Gordian Placement Algorithm (11) Fixed Pin Vectors: Δημιουργία δύο vectors (ένα για κάθε κετεύθυνση) βάσει του pin connection matrix και των θέσεων των εισόδων/εξόδων του κυκλώματος.
Gordian Placement Algorithm (12) Level 0 Formulation: Ελαχιστοποίηση των συναρτήσεων κόστους χωρίς πρόσθετους περιορισμούς. Level 0 Placement:
Gordian Placement Algorithm (13) Level 1 Partitioning:
Gordian Placement Algorithm (14) Level 1 Constraints:
Gordian Placement Algorithm (15) Level 1 Formulation:
Gordian Placement Algorithm (16) Level 1 Placement:
Gordian Placement Algorithm (17) Level 2 Partitioning:
Gordian Placement Algorithm (18) Level 2 Partitioning:
Gordian Placement Algorithm (19) Level 2 Formulation:
Gordian Placement Algorithm (20) Level 2 Placement:
Gordian Data Flow