του TANCIC NENAD (Α.Ε.Μ.: 3800) Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Επιτάχυνση σύγκλισης των επαναληπτικών επιλύσεων Gauss-Seidel, κατά την προσομοίωση αναλογικών και μικτών ηλεκτρονικών κυκλωμάτων, με μέθοδο χαλάρωσης μητρικών μεταβλητών. ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ του TANCIC NENAD (Α.Ε.Μ.: 3800) Επιβλέπων: Σταύρος Π. Δοκουζγιάννης Επίκουρος Καθηγητής Θεσσαλονίκη, Α.Π.Θ. 2006 Β
Σύντομη περιγραφή διπλωματικής εργασίας Εισαγωγή στις μεθόδους χαλάρωσης Περιγραφή της μεθόδου μερικής χαλάρωσης Gauss-Seidel (PGS) Περιγραφή των κριτηρίων σφάλματος Εφαρμογή της PGS σε ένα προσομοιωτή κυκλώματος Σύγκριση της PGS με άλλες επαναληπτικές μεθόδους Υλοποίηση των εξισώσεων του Gummel Poon του SPICE με Μatlab Συμπεράσματα
Εισαγωγή στις μεθόδους χαλάρωσης Έστω ότι έχουμε μια εξίσωση: Η φασματική ακτίνα του πίνακα Β : Ο μέσος ρυθμός σύγκλισης του πίνακα Β : Ο μέσος αριθμός των επαναλήψεων : Η εξάρτηση των μέσων αριθμών επαναλήψεων από τη φασματική ακτίνα: N 0.99 100.0 0.1 0.43 0.9 10.0 0.01 0.22 0.5 1.42 0.001 0.15
Εισαγωγή στις μεθόδους χαλάρωσης Οι μέθοδοι Gauss-Seidel και Gauss-Jacobi Ο πίνακας Α πρέπει να είναι αυστηρά διαγώνιος δεσπόζων Ο διαγώνιος πίνακας καθορίζεται εξαρχής Η φασματική ακτίνα Η σύγκλιση τους είναι συνήθως αργή Σε ορισμένες περιπτώσεις αποκλίνουν
Μέθοδος μερικής χαλάρωσης Gauss Seidel Η διαδικασία PGS παραγοντοποίηση: Η PGS προς τα εμπρός αντικατάσταση Η PGS προς τα πίσω αντικατάσταση Η χαλάρωση των fill in ορών στους πίνακες LU
Μέθοδος Μερικής Χαλάρωσης Gauss Seidel Αλγόριθμος PGS παραγοντοποίησης
Περιγραφή των κριτηρίων σφάλματος Η διαδικασία προσδιορισμού μικρών προς χαλάρωση ορών είναι ευρηματική Για κάθε εξίσωση του πίνακα ορίζονται περιθώρια Η φασματική ακτίνα περιορίζεται από το άθροισμα μέτρων της σειράς Θα μπορούσαμε να προσδιορίσουμε τα κριτήρια χαλάρωσης συγκρίνοντας μονό τους ορούς της ιδίας σειράς με τα διαγώνια τους;
Περιγραφή των κριτηρίων σφάλματος Παράδειγμα : Έστω ότι θέλουμε να χαλαρώσει ο ορός
Περιγραφή των κριτηρίων σφάλματος Προσδιορισμός των κανόνων περιθωρίου Έστω ότι δίνεται ο πίνακας και έστω ότι χαλαρώνει το Αν ο πίνακας Α είναι αυστηρά διαγώνιος δεσπόζων και όλα τα μη διαγώνια στοιχειά είναι της ιδίας τάξης τότε θα προκύψει: First-level error terms
Περιγραφή των κριτηρίων σφάλματος Μετά από απλοποίηση του πίνακα και πολλαπλασιασμού του με πίνακα Το μέγιστο άθροισμα νορμών σειράς τc:
Περιγραφή των κριτηρίων σφάλματος Εκφράζοντας ως προς το : Συνοπτικά ισχύει : To μέγιστο περιθώριο χαλάρωσης τι: Το μέγιστο σφάλμα των μέτρων σειράς τc Καταλήγουμε: Για j<i:
Περιγραφή των κριτηρίων σφάλματος Γενικά ισχύει ότι το τι περιορίζει τους ορούς που χαλαρώνουν να μην προκαλέσουν ένα νέο σφάλμα μεγαλύτερο από στην εξίσωση κ ; Αν στην εξίσωση κ τότε: Στάδια παραγωγής εσφαλμένων ορών: Εσφαλμένοι οροί από ορούς που χαλαρώνουν: Εσφαλμένοι οροί από τους ορός που έχουν ήδη χαλαρώσει: Στάδια υπολογισμού περιθωρίων :
Περιγραφή των κριτηρίων σφάλματος Παράδειγμα 2: Έστω ότι δίνεται o πίνακας Α και θεωρούμε ένα μη αποδεκτό σφάλμα κάθε σφάλμα μεγαλύτερο από 0.02 στον πίνακα Β και θέλουμε να χαλαρώσει το Εφόσον τ2= <0.02 έχουμε:
Περιγραφή των κριτηρίων σφάλματος Παράδειγμα 1: Έστω ότι δίνεται o πίνακας Α και θεωρούμε μη αποδεκτό όρο κάθε όρο στον πίνακα Β που είναι μεγαλύτερο από 0.02 και έστω ότι χαλαρώνει Εφόσον το τότε δεν μπορεί να χαλαρώσει το
Περιγραφή των κριτηρίων σφάλματος Συμπεράσματα : Τα περιθώρια σφάλματος περιορίζουν το άθροισμα νορμών σειράς Στην πράξη τα περιθώρια υπολογίζονται κατά την PGS παραγοντοποίηση Δυνατότητα διόρθωσης εσφαλμένων ορών (fill in) Σύγκριση της PGS με την Gauss Seidel (τc=0.1) Matrix #Equations Gauss-Seidel #PGS %LU Ops #Iteration Iterations Skipped #1 153 4 79% #2 1.013 5 100% #3 3313 47.349 60 56% #4 6130 1937 50 99%
Εφαρμογή της PGS σε ένα Προσομοίωτη Κυκλώματος Κριτήρια βέλτιστης επιλογής του τc Ευρηματικές προϋπόθεσεις για τη μείωση του αθροίσματος των μέτρων της σειράς Ανάλυση αποτελεσμάτων Τελικές παρατηρήσεις
Εφαρμογή της PGS σε ένα Προσομοίωτη Κυκλώματος Συνδυασμός των μεθόδων Newton και PGS Προβλήματα σύγκλισης τάσεων στα μεγάλα κυκλώματα με πολλά μη γραμμικά στοιχειά Προσδιορισμός των σημαντικών τάσεων
Εφαρμογή της PGS σε ένα Προσομοίωτη Κυκλώματος Ένα παράδειγμα οπού δεν παρατηρείται πρόβλημα σύγκλισης τάσεων
Εφαρμογή της PGS σε ένα Προσομοίωτη Κυκλώματος Υπόλοιπες τάσεις δεν πρέπει να αλάξουν μέχρι να σταθεροποιηθούν οι σημαντικές τάσεις Προβλήματα σύγκλισης των γραμμικών στοιχειών Απαραίτητη εκτίμηση του αριθμού των PGS επαναλήψεων για να συγκλίνουν οι σημαντικές τάσεις σε μια προκαθορισμένη τιμή Σύγκλιση των σημαντικών τάσεων καθορίζεται από την επιλογή των περιθωρίων
Εφαρμογή της PGS σε ένα Προσομοίωτη Κυκλώματος Σύγκλιση όλων των σημαντικών τάσεων Επίτευξη μέγιστης ταχύτητας σύγκλισης Ο Αλγόριθμος πρόβλεψης των αριθμών PGS επαναλήψεων : Η PGS mode συμβολίζει τον αριθμό PGS επαναλήψεων Όλες οι PGS modes απαιτούν μόνο μια PGS παραγοντοποίηση Η mode PGS = 0 χρησιμοποιείται για την πρώτη επανάληψη κατά το μεταβατικό στάδιο προσομοίωσης οπού υλοποιείται η LU παραγοντοποίηση Η PGS mode συνήθως αυξάνεται από 1-10 κατά την διαδοχική εκτέλεση των επαναλήψεων Newton. Χρησιμοποιείται η ρουτίνα η οποία επιστρέφει το νέο προβλεπόμενο χρόνο που απαιτεί το CPU για την επίλυση. Συγκρίνουμε αυτό το νέο χρόνο του PGS mode με τον προβλεπόμενο χρόνο της PGS mode-1 και αν είναι μεγαλύτερος τότε η PGS mode μειώνεται στην PGS mode-1 στο τέλος της επανάληψης Newton.
Εφαρμογή της PGS σε ένα Προσομοίωτη Κυκλώματος Ο στόχος της βέλτιστης επιλογής του τc είναι: Ο προσδιορισμός των απαραιτήτων αριθμών PGS επαναλήψεων Η καλή απόδοση της μεθόδου PGS Υπολογισμός του τc εξαρτάται από : Το περιθώριο σύγκλισης των κομβικών τάσεων VNTOL Το απόλυτο περιθώριο σύγκλισης των κομβικών τάσεων TSVTOL Το μέσο αριθμό των PGS επαναλήψεων Ν που απαιτούνται για να μειωθεί η νόρμα του διανύσματος σφάλματος στην τιμή του ε Υπολογισμός του τc για μια PGS επανάληψη : Αν θέλουμε να μειώσουμε την για μια επανάληψη ορίζουμε το
Εφαρμογή της PGS σε ένα Προσομοίωτη Κυκλώματος Ενώ για n επαναλήψεις PGS θα έχουμε : Υπάρχουν και αλλά κριτήρια που συσχετίζονται με τα προηγούμενα κριτήρια επιλογης του τc που πρεπει να λαβουμε υποψη ; Το περιθώριο σφάλματος ρεύματος IRTΟLi του κόμβου i Το απόλυτο περιθώριο σφάλματος ρεύματος ABSTOL H αγωγιμότητα Gij του κλάδου που συνδέει τους κόμβους i και j
Εφαρμογή της PGS σε ένα Προσομοίωτη Κυκλώματος H νέα τιμή για το τc προκύπτει : Ανάλυση αποτελεσμάτων : Circuit # MOS # BJT # Diodes #Linear # Matrix Ops # Equations loht 3714 16 3356 2.3Μ 3404 joeh 11 298 1194 292 9611 2.4Μ 13 707 vdram 8818 4271 5.8Μ 6137 rnads1 1600 1691 8.5Μ 1625 rnads2 3222 3381 68.5Μ 3245 Direct Solution PGS Solution Circuit # Newton itts Total Solve Time Solve Gain loht 1364 5879 2146 2.73 joeh 6630 23 335 6642 21 068 1.11 vdram 1005 6385 1017 1747 3.65 rnads1 1230 11 713 1320 2436 4.81 rnads2 1421 110 547 1509 11 530 9.59
Εφαρμογή της PGS σε ένα Προσομοίωτη Κυκλώματος Circuit Ratio of Matrix Ops, Speedup of PGS Solver Over to Matrix Nonzero Entries Direct Solver loht 26 2.73 joeh 12 1.11 vdram 35 3.65 rnads1 78 4.81 rnads2 170 9.59
Εφαρμογή της PGS σε ένα Προσομοίωτη Κυκλώματος Σωστή λειτουργία και στα κυκλώματα με πολλές αναδράσεις οπού παρατηρείται μεγάλος αριθμός fill in ορών Ο αριθμός των πράξεων κατά τον υπολογισμό περιθωρίου είναι πολύ μικρότερος από τον αριθμό της LU παραγοντοποίησης Ο αριθμός των μαθηματικών πράξεων που χρειάζονται για τον υπολογισμό του περιθωρίου: Απαιτείται ένας πολλαπλασιασμός για κάθε εξίσωση του πίνακα. Απαιτείται ένας πολλαπλασιασμός και μια διαίρεση για κάθε στοιχείο του πάνω τριγωνικού πίνακα. Απαιτείται μια διαίρεση για κάθε στοιχείο του κάτω τριγωνικού πίνακα Αντίστοιχα για συμμετρικούς πίνακες είναι 1.5 φορές όσο είναι τα μη μηδενικά στοιχεία του πίνακα Circuit PGS Tolerance Direct Solution Operations LU Factorization lohf 133K 2.3M joeh 288K 2.4M vdram 246K 5.8M rnands1 163K 8.5M rnands2 603K 68.5M
Σύγκριση της PGS με άλλες επαναληπτικές μεθόδους Jacobi : Gauss-Seidel : SOR (διαδοχική μέθοδος υπερχαλάρωσης) : CG ( μέθοδος συζυγών κλίσεων) : Tο διάνυσμα τυχαίων διευθύνσεων: Tα διανύσματα υπολοίπων: Η επιλογη του συντελεστη α: ελαστικοποιει το διανυσμα Η ανανέωση του διανυσματος σφάλματος τυχαίων διευθύνσεων γίνεται με την επιλογή ώστε να ισχύει
Σύγκριση της PGS με άλλες επαναληπτικές μεθόδους Η PGS ήταν αποδοτική μονό σε παραλλαγές της CG Σύγκριση της απόδοσης μεθόδου CG ως προς τη μέθοδο αρχικών συνθηκών: H μέθοδος PGS ως αρχική συνθήκη Η μέθοδος μερικής LU παραγοντοποίησης PLUCGS H PLUCGS είχε τα χαρακτηρίστηκα: Μειωμένη χρησιμοποίηση μνήμης Πιο αργή σύγκλιση Περιλαμβάνει μονό fill in ορούς πρώτου επιπέδου Circuit Speedup of PLUCGS Speedup of PGS Solver Over Solver Over Direct Solver Direct Solver loht 0.66 2.73 vdram 1.11 3.65
Σύγκριση της PGS με άλλες επαναληπτικές μεθόδους Σύγκριση της PGS με τη μέθοδο CGS που χρησιμοποιεί την PGS σαν μέθοδο αρχικών συνθηκών: Απαιτεί περισσότερη μνήμη από τη μέθοδο PGS Αυξάνει την ταχύτητα επίλυσης μέχρι 15% Έχει αυξημένη περιπλοκότητα κατά το υπολογισμό του περιθωρίου Προσφέρει πιο εύκολη software υλοποίηση Πιθανός διάδοχος των μεθόδων που χρησιμοποιούνται στα προγράμματα προσομοίωσης των κυκλωμάτων
Υλοποίηση των εξισώσεων του Gummel Poon του SPICE με Matlab Βήμα 1: LH0024 High Slew Rate Operational Amplifier
Υλοποίηση των εξισώσεων του Gummel Poon του SPICE με Matlab Βήμα 2: Break Transistor και Break Diode
Υλοποίηση των εξισώσεων του Gummel Poon του SPICE με Matlab Βήμα 3: Τα αποτελέσματα των παραμέτρων του τρανζίστορ καθώς και η εξάρτηση τους από τη θερμοκρασία, κατά τον υπολογισμό στο MATLAB
Υλοποίηση των εξισώσεων του Gummel Poon του SPICE με Matlab Βήμα 4: Yπολογισμός των ρευμάτων του Gummel Poon μοντέλου MATLAB DC solution for BJT break TEMPERATURE=10.00 DEG C Ibc2 Ibe2 Ibc1p -6.31E-18 Ibe1p Rb Ie 2.21E-06 0.00022131 Temp=10 deg VBE VBC Ib Ic Spice Q(1) 0.761 -5.43 0.77948 Matlab Q(1) 0.0002213 MATLAB DC solution for BJT break TEMPERATURE=27.00 DEG C -1.00E-16 2.19E-06 0.00021942 Temp=27 deg 0.735 -5.45 0.0002194 MATLAB DC solution for BJT break TEMPERATURE=40.00 DEG C -6.80E-16 2.11E-06 0.00021059 Temp=40 deg 0.714 -5.46 0.0002106
Υλοποίηση των εξισώσεων του Gummel Poon του SPICE με Matlab Βήμα 5 : Xρήση των μοντέλων tnenadNPN, tnenadPNP, tnenadD
Υλοποίηση των εξισώσεων του Gummel Poon του SPICE με Matlab Βήμα 6 : Υπολογισμός των παραμέτρων του Gummel Poon μοντέλου του tnenadNPN
Υλοποίηση των εξισώσεων του Gummel Poon του SPICE με Matlab Βήμα 7 : Υπολογισμός των ρευμάτων του Gummel Poon μοντέλου του tnenadNPN
Υλοποίηση των εξισώσεων του Gummel Poon του SPICE με Matlab Βήμα 8 : Tο ισοδύναμο κύκλωμα Gummel Poon στις θέσεις των τρανζίστορ
Υλοποίηση των εξισώσεων του Gummel Poon του SPICE με Matlab Συμπεράσματα : Για ορισμένο συνδυασμό παραμέτρων είχαμε μεγάλη ανακρίβεια κατά το υπολογισμό με το ΜATLAB, δηλαδή μεγάλη απόκλιση των τιμών σε σύγκριση με το SPICE. Υπάρχει δυνατότητα, τα κυκλώματα που περιέχουν τρανζίστορ και διόδους να απλοποιηθούν σε ένα κύκλωμα όπου έχουμε μονό εξαρτημένες πηγές και αντιστάσεις. Κατά συνέπεια είναι εφικτή και η υλοποίηση του κυκλώματος με πίνακες καθώς και η επίλυση του με την μεθοδο PGS
Συμπεράσματα Εχει καλύτερη απόδοση από ότι οι συνηθισμένες επαναληπτικές χαλαρωτικές μεθόδους Χαρακτηρίζεται από ένα γρήγορο ρυθμό σύγκλισης ,το οποίο ελέγχεται δυναμικά, με την ρύθμιση του περιθωρίου σφάλματος Μέχρι και 10 φορές γρηγορότερη επίλυση από την άμεση μέθοδο και μεγάλα κέρδη σε μεγάλα κυκλώματα Σημειώνει μια εξαιρετική γραμμικότητα του ρυθμού σύγκλισης Είναι ακριβής σε όλα τα κυκλώματα με πολλούς διαφορετικούς τύπους στοιχείων PGS βελτιώνουν το κέρδος και θα είναι περισσότερα αποδοτική στα κυκλώματα με περισσοτέρους fill-in όρους στον πίνακα PGS παρουσιάστηκε αποδοτική μονό σε παραλλαγές της μεθόδου συζυγών κλίσεων Ενδεχόμενη μελλοντική υλοποίηση στο SPICE
ΤΕΛΟΣ