Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
ΔημοσίευσεÍΒενιαμίν Ιωάννου Τροποποιήθηκε πριν 7 χρόνια
1
Συστήματα CAD Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών
Ροή Πληροφορικής Δαδαλιάρης Αντώνιος:
2
Placement (1) Κατά την διαδικασία της χωροθέτησης (placement) καλούμαστε να τοποθετήσουμε όλα τα κελιά της σχεδίασης (με τον κατάλληλο τρόπο, βάσει των σχεδιαστικών προδιαγραφών και περιορισμών που έχουμε) εντός των ορίων των flexible blocks της σχεδίασης. Στόχοι (ιδεατοί): Εγγύηση επιτυχημένης δρομολόγησης σε επόμενα στάδια. Ελαχιστοποίηση των καθυστερήσεων σε όλα τα κρίσιμα μονοπάτια. Μέγιστη πυκνότητα. Ελαχιστοποίηση της καταναλισκόμεννης ισχύος. Ελαχιστοποίηση των cross talk φαινομένων.
3
Placement (2) Στόχοι (πραγματικοί):
Ελαχιστοποίηση του συνολικού μήκους καλωδίου διασύνδεσης. Μη παραβίαση των χρονικών περιορισμών στα κρίσιμα μονοπάτια. Αποσυμφόρηση των καλωδίων διασύνδεσης. Προβλήματα: Η ελαχιστοποίηση του μήκους καλωδίου που χρησιμοποιείται για την διασύνδεση των κελιών δεν συνεπάγεται την δημιουργία μιας σχεδίασης στην οποία τα παραπάνω καλώδια μπορούν να δρομολογηθούν με σωστό τρόπο (να ακολουθούν, δηλαδή, τους σχεδιαστικούς κανόνες). Στην προσπάθεια να ελαχιστοποιήσουμε το μήκος καλωδίου διασύνδεσης και να αποσυμφορήσουμε, παράλληλα, τη σχεδίαση μπορεί να οδηγηθούμε στην δημιουργία μονοπατιών μεταξύ κελιών τα οποία παρουσιάζουν πολύ μεγάλες καθυστερήσεις. Trade-offs
4
Placement (3) Κατά το στάδιο της χωροθέτησης εκτελούνται 4 διακριτά βήματα βελτιστοποιήσεων: Pre-placement optimizations In-placement optimizations Post-placement optimizations (before clock tree synthesis) Post-placement optimizations (after clock tree synthesis) Pre-placement optimizations: Cell sizing In-placement optimizations: Cell sizing, cell moving, congestion-driven placement..... Post-placement optimizations (before clock tree synthesis): Setup / hold time fixing, max trans violations, global routing based optimizations.... Post-placement optimizations (after clock tree synthesis): Timing optimizations....
5
Placement (4) Placement Algorithms: Constructive Placement
Iterative Placement Ξεκινώντας από μια αρχική χωροθέτηση, ακολουθούμε μια επαναληπτική διαδικασία η οποία σε κάθε επανάληψή της βελτιώνει το υπάρχον placement και τερματίζει όταν ικανοποιηθούν κάποια κριτήρια ή δεν υπάρχει „κίνηση“ η οποία δύναται να επιφέρει κέρδος.
6
Placement (5)
7
Clock Tree Synthesis (1)
Στόχος: Δημιουργία κατάλληλου δικτύου διαμοιρασμού του ρολογιού. Ελάχιστες δυνατές παρατηρούμενες καθυστερήσεις. Αποτέλεσμα: Σχεδίαση με βελτιωμένο συνολικό slack.
8
Clock Tree Synthesis (2)
Η βελτιστοποίηση του δικτύου του ρολογιού μιας σχεδίασης επιτυγχάνεται χρησιμοποιώντας τις ακόλουθες προσεγγίσεις: Buffer sizing Gate sizing Buffer relocation Rule of thumb: Για κάθε 100 χιλιάδες πύλες προστίθενται περίπου 650 buffer cells.
9
Clock Tree Synthesis (3)
10
Routing (1) Routing (δrομολόγηση):
Η υλοποίηση των συνδέσεων μεταξύ των pins της σχεδίασης. Πρακτικά, ο σχεδιασμός των καλωδίων που υλοποιούν τις παραπάνω συνδέσεις. NP-hard πρόβλημα. Περιορισμοί: Πρέπει να ελαχιστοποιήσουμε το συνολικό μήκος των καλωδίων διασύνδεσης. Πρέπει να ελαχιστοποιήσουμε τον αριθμό παρακάμψεων σε κάθε μονοπάτι της σχεδίασης (τα καλώδια μπορούν να „χαραχθούν“ να μόνο οριζοντίως και καθέτως). Πρέπει το τελικό αποτέλεσμα να μην παραβιάζει τους περιορισμούς της σχεδίασης όσον αφορά τον χρονισμό της. Steiner Tree Το βέλτιστο μονοπάτι δρομολόγησης είναι κατ'ουσίαν ένα Steiner Tree. Η εύρεση του κατάλληλου Steiner Tree είναι NP-complete πρόβλημα.
11
Routing (2) Τύποι Δρομολόγησης: Maze Routing Channel Routing
Switchbox Routing River Routing (Single Layer Routing) Global Routing: Δεν υλοποιούνται συνδέσεις. Υπολογίζονται πιθανές συνδέσεις, βάσει των περιορισμών. Εντοπίζονται και αποθηκεύονται εκείνα τα κανάλια που έχουν επαρκή χωρητικότητα για να δεχτούν τα καλώδια διασύνδεσεις. Detailed Routing / Special Routing: Υλοποίηση των συνδέσεων μεταξύ pins και pads και δημιουργία vias. Clock routing
12
Routing (3)
13
Routing (4) Obstructions:
Περιοχές στις οποίες μπορούμε να δημιουργήσουμε συνδέσεις μόνο σε συγκεκριμένα επίπεδα μεταλλου. Obstacles: Περιοχές στις οποίες απαγορέυεται η δρομολόγηση συνδέσεων, πρέπει, απαραίτητα, να τις παρακάμψουμε. Channel: Μια ορθογώνια περιοχή με σημεία σύνδεσης σε δύο πλευρές της. Switchbox: Μια περιοχή με σημεία σύνδεσεις και στις τέσσερις πλευρές της.
14
Routing (5) Lee-Moore (Maze routing)
Ο αλγόριθμος εγγυάται την εύρεση του συντομότερου μονοπατιού μεταξύ δύο κόμβων, εάν αυτό υπάρχει. Η έυρεση του συντομότερου μονοπατιού μπορεί να πραγματοποιηθεί μόνο εντός ενός συγκεκριμένου net. The Left Edge Algorithm (Channel routing) Δεν εγγυάται την έυρεση κατάλληλων μονοπατιών. Λαμβάνει υπόψη του τους περισσότερους περιορισμούς σχεδίασης που έχουν τεθεί (ακόμη και σε καθολική κλίμακα). Συνήθως καταλήγει σε καλύτερα αποτελέσματα από τον Lee-Moore αλγόριθμο. Demos:
15
Routing (6) Clock & Power Routing Considerations: Clock Routing:
Σύγχρονα και ασύγχρονα κομμάτια σχεδίασης. Οι καθυστερήσεις και το clock skew πρέπει να λαμβάνονται υπόψη σε κάθε σχεδιαστική απόφαση. Power Routing: Ο διαμοιρσμός των πόρων του συστήματος πρέπει να γίνεται σε επίπεδα μετάλλου με την χαμηλότερη δυνατή αντίσταση. POWER(PWR) και GROUND(GND) συνδέσεις πρέπει να δρομολογούνται σε ξεχωριστά nets.
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.