HMY 306 Εργαστήριο Σχεδίασης Ηλεκτρονικών Κυκλωμάτων Διδάσκων: Ιούλιος Γεωργίου Βοηθοί Διδασκαλίας: Γιώργος Βαρνάβα - Λούκας Πέτρου ΒΟΗΘΗΤΙΚΕΣ ΟΔΗΓΙΕΣ ΓΙΑ ΤΟ ΕΡΓΑΣΤΗΡΙΟ ΤΟΥ CADENCE (LAB 1-3) Οδηγίες: 1. Φυλάξετε όλα τα αποτελέσματα που θα προκύψουν από τις προσομοιώσεις (π.χ. γραφικές παραστάσεις) σε εικόνες ή σημειωματάριο και καταγράψτε τα συμπεράσματα σας, που θα σας βοηθήσουν στην καλύτερη κατανόηση του εργαστηρίου. To CADENCE είναι ένα εργαλείο σχεδίασης και προσομοίωσης αναλογικών, ψηφιακών και μεικτού σήματος κυκλωμάτων. Στο εργαστήριο αυτό θα ασχοληθούμε κυρίως με την σχεδίαση και προσομοίωση αναλογικών κυκλωματικών διατάξεων. Βασικές εντολές Linux Terminal: pwd : Τυπώνει την τρέχουσα διεύθυνση cd DirectoryName : Είσοδος στη διεύθυνση cd.. : Μετακίνηση στη προηγούμενη διεύθυνση mkdir DirectoryName : Δημιουργία καινούριας διεύθυνσης rmdir DirectoryName : Αφαίρεση μίας διεύθυνσης μόνο όταν είναι άδεια rm -rf * : Διαγράφει όλα τα αρχεία και φακέλους στην τρέχουσα διεύθυνση, αναδρομικά και χωρίς ερώτηση. ls : Εμφανίζει τα περιεχόμενα της τρέχουσας διεύθυνσης ls -al : Εμφανίζει όλα τα περιεχόμενα της διεύθυνσης(ακόμη και τα κρυμμένα αρχεία) less FileName : Εμφανίζει το περιεχόμενο του αρχείου (χωρίς να το ανοίξει) man ls : Πληροφορίες σχετικά με την εντολή ls (man = manual) rm FileName : Αφαίρεση ενός αρχείου 1
Γενικές Πληροφορίες: 1. Στην περίπτωση που σε οποιοδήποτε στάδιο εμφανιστεί το μήνυμα Next License τότε επιλέγουμε Yes ή Always για να συνεχίσουμε. 2. Στην περίπτωση που δημιουργηθούν κλειδωμένα αρχεία (.cdslck files) διαγράψτε τα files που τελειώνουν σε.cdslck ή εισάγετε την πιο κάτω εντολή στο terminal: find ~ -name \*cdslck xargs rm Cadence Schematic Shortcuts Esc: Ακυρώνει την τελευταία εντολή. Ctrl + d: Ακύρωση τελευταίας επιλογής αντικειμένου. u: undo shift + x: Check and save q: properties (προεπιλεγμένο στοιχείο) i: Insert Instance w: wire p: insert pin m: move c: copy s: stretch z: zoom f: zoom to fit shift + z: zoom out Shift + Drag object: Copy object Ctrl + Drag object: Move object without nets Ctrl + Scroll: Zoom in/out 2
Cadence Waveform Display v: Add a vertical line h: Add a horizontal line m: Create a marker d: Create a delta maker ctrl+e: Delete all markers 3
Πρόσβαση στο Περιβάλλον Linux μέσω Virtual Machine 1. Windows Start Menu Ανοίξτε το VMware Workstation Player 2. Επιλέξτε Cadence 3. Επιλέξτε Play Virtual Machine 4. Όταν το CentOS φορτώσει, εισάγετε το όνομα χρήστη και τον κωδικό σας για να αποκτήσετε πρόσβαση. 5. Μεγεθύνετε το χώρο εργασίας. 6. Με το πέρας του εργαστηρίου πρέπει να κλείνετε ορθά το Virtual Machine με τον εξής τρόπο: 1. Κλείνουμε το παράθυρο Virtuoso Ok (κλείνουν όλα τα υπόλοιπα παράθυρα του Cadence) 2. System Log Out Log Out 3. Shut Down Shut Down 4. Start menu Log off Προετοιμασία περιβάλλοντος εργασίας για την εκκίνηση του CADENCE στο CentOS 1. Desktop Δεξί κλικ Open Terminal Για την δημιουργία φακέλου εργασίας και την εκκίνηση του CADENCE, ανοίγουμε ένα Terminal και γράφουμε στο παράθυρο Terminal τα εξής (απαραίτητη η δημιουργία διαφορετικού φακέλου για project με διαφορετική τεχνολογία χυτηρίου) : bash Enter (ενεργοποιεί to Bash Unix shell) pwd Enter (αν το path που εμφανίζεται είναι /u/ece/username τότε συνεχίστε με την επόμενη εντολή) mkdir cadence Enter (Δημιουργία directory cadence) cd cadence Enter (Είσοδος στο directory cadence) mkdir LAB_1-3 Enter cd LAB_1-3 Enter (Βεβαιωθείτε ότι βρίσκεστε στην διεύθυνση /u/ece/username/cadence/lab_1-3 ) cadence Enter (αρχικοποίηση) cadence t018 Enter (επιλογή τεχνολογίας χυτηρίου και εκκίνηση Cadence) Για επανεκκίνηση του Cadence στον ίδιο φάκελο εργασίας (δεν χρειάζεται αρχικοποίηση και επιλογή χυτηρίου): cd cadence Enter cd LAB_1-3 Enter cadence Enter (εκκίνηση Cadence) 4
2. To περιβάλλον εργασίας του CADENCE έχει ενεργοποιηθεί Εικόνα 1 3. Στο περιβάλλον εργασίας του CADENCE υπάρχουν δύο βασικά παράθυρα: I. Το Virtuoso αποτελεί το κύριο παράθυρο του Cadence που ελέγχει όλα τα υπόλοιπα, και στο οποίο καταγράφονται όλες οι διεργασίες που εκτελούνται. **Αν αυτό κλείσει τότε κλείνουν όλα τα υπόλοιπα παράθυρα του Cadence!** Είναι σημαντικό να παρακολουθούμε αυτό το παράθυρο, γιατί εδώ δίνονται αναλυτικές πληροφορίες σε σχέση με τις διεργασίες και τυχόν λάθη. II. To Library Manager, στο οποίο είναι καταχωρημένες όλες οι βιβλιοθήκες της τρέχουσας τεχνολογίας, οι βιβλιοθήκες γενικής χρήσης, ως επίσης και βιβλιοθήκες οι οποίες έχουν δημιουργηθεί από τον ίδιο τον χρήστη εκ των προτέρων. 5
Δημιουργία καινούργιας βιβλιοθήκης εργασίας Library Manager (Virtuoso Tools Library Manager) 1. File New Library 2. Στο πεδίο Name ορίζουμε το όνομα της βιβλιοθήκης που θέλουμε να δημιουργήσουμε Name: mylib OK 3. Technology File for New Library: Attach to an existing technology library OK 4. Attach Library to Technology Library: Επιλέγουμε tsmc18 OK 5. Στο Library Manager στην στήλη Library θα βρούμε τη βιβλιοθήκη που μόλις δημιουργήσαμε Στο Library Manager συμπεριλαμβάνονται δύο βιβλιοθήκες που θα χρησιμοποιήσουμε στα πλαίσια αυτού του εργαστηρίου η tsmc18 και η analoglib. tsmc18: Περιέχει διάφορα στοιχεία της τεχνολογίας που χρησιμοποιούμε π.χ. τρανζίστορ, πυκνωτές, αντιστάσεις κτλ. Τα στοιχεία αυτά είναι μοντέλα στοιχείων που έχουν κατασκευαστεί στην συγκεκριμένη τεχνολογία. Μπορούμε να προσομοιώσουμε ακόμα και κατασκευαστικές ατέλειες. analoglib: Περιέχει διάφορα στοιχεία γενικής χρήσης που δεν υπάγονται σε κάποια συγκεκριμένη τεχνολογία. Αυτά τα στοιχεία είναι ιδανικά και δεν μπορούν να κατασκευαστούν. Η χρήση τους είναι για σκοπούς δοκιμής. Μερικά από τα στοιχεία αυτά είναι η γεννήτρια σημάτων, παλμών, τάσης τροφοδοσίας, κτλ. Δημιουργία καινούργιου Cell 1. Επιλέγουμε τη βιβλιοθήκη mylib από το Library Manager 2. Library Manager: File New Cell View 3. Στο πεδίο Cell ορίζουμε το όνομα του cell που θέλουμε να δημιουργήσουμε Cell όπως φαίνεται στην εικόνα 2: mos_physics OK (το Cell ανοίγει αυτόματα) 4. Περιμένουμε μέχρι να εμφανιστεί ο Virtuoso Schematic Editor 6
Εικόνα 2 5. Εμφανίζεται ο Virtuoso Schematic Editor Δημιουργία Σχηματικού στο Schematic Editor 1. Create Instance (Εμφάνιση του παραθύρου Add Instance) 2. Add Instance: Browse (Εμφάνιση του παραθύρου Library Browser - Add Instance) όπως φαίνεται στην εικόνα 3. 3. Library Browse- Add Instance: Από τη στήλη Library επιλέγουμε την tsmc18 Από τη στήλη Cell επιλέγουμε nmos3v Από τη στήλη View επιλέγουμε symbol Close 7
Εικόνα 3 4. Add Instance: Εισάγεται τις διαστάσεις του τρανζίστορ (W,L), όπως φαίνεται στη εικόνα 4. Εικόνα 4 8
5. Τοποθετήστε το τρανζίστορ στο Schematic Editor με αριστερό κλικ Esc 6. Για επαναπροσδιορισμό των διαστάσεων του στοιχείου, επιλέγουμε το στοιχείο και πατάμε Q. 7. Create Instance 8. Add Instance: Browse 9. Library Browse - Add Instance: Από τη στήλη Library επιλέγουμε την analoglib Επιλέγουμε το πεδίο Show Categories Από τη στήλη Category επιλέγουμε Sources Globals Από τη στήλη Cell επιλέγουμε vdd Από τη στήλη View επιλέγουμε symbol Close 10. Με τον ίδιο τρόπο προσθέτουμε το gnd (Category: Sources Globals) και το vdc (Category: Sources Independent) Σημείωση: Τα global sources όταν χρησιμοποιηθούν με την ίδια ονομασία (Instance Name) σε πολλαπλά σημεία του κυκλώματος, τότε όλα τα σημεία αυτά είναι εικονικά συνδεδεμένα μεταξύ τους ακόμα και αν δεν υπάρχει φυσική σύνδεση (net). 11. Δημιουργείστε το σχηματικό της εικόνας 5 και χρησιμοποιώντας το W (wire) συνδέουμε τα στοιχεία. (Σημείωση: Χρησιμοποιώντας το W επιλέγουμε τον αρχικό κόμβο και έπειτα τον τελικό κόμβο, ενώ χωρίς τη χρήση του W κάνω click+drag από τον αρχικό κόμβο για τη δημιουργία κλάδου (net)) 12. Εισάγουμε τιμές τάσης στις δύο πηγές τροφοδοσίας επιλέγοντας την κάθε μία και πατώντας το Q. Στη συνέχεια πληκτρολογούμε την κατάλληλη τιμή στο πεδίο DC voltage. 13. File Check and Save. Ελέγχουμε το Virtuoso για πιθανά συντακτικά λάθη. Αν εμφανιστεί το μήνυμα Schematic check completed with no errors, όπως φαίνεται στην εικόνα 6, τότε μπορούμε να συνεχίσουμε στο επόμενο βήμα, αλλιώς πρέπει να επιλύσουμε τα πιθανά σφάλματα που θα εμφανιστούν πριν συνεχίσουμε. 9
Εικόνα 5 Εικόνα 6 10
Προσομοιώσεις Κυκλωματικής Διάταξης χρησιμοποιώντας το Virtuoso Analog Design Environment DC Analyses: Προσομοιώνει το κύκλωμα και υπολογίζει τα DC σημεία λειτουργίας (operating points), με είσοδο σταθερές τάσεις και ρεύματα. 1. Virtuoso Schematic Editor: Launch ADE L 2. Virtuoso Analog Design Environment: Analyses Choose 3. Συμπληρώνουμε την φόρμα Choosing Analyses όπως φαίνεται στην εικόνα 7 και επιλέγουμε OK. Εικόνα 7 4. Simulation Netlist and Run 5. Ελέγχουμε πάντα για πιθανά λάθη (errors) στο παράθυρο spectre.out που εμφανίζεται μετά την εκτέλεση της προσομοίωσης όπως φαίνεται στην εικόνα 8. Αν η προσομοίωση είναι ανεπιτυχής και υπάρχουν λάθη εντοπίστε τους λόγους στο παράθυρο αυτό και διορθώστε τα πιθανά σφάλματα. 11
Εικόνα 8 6. Virtuoso Analog Design Environment: Results Annotate DC Node Voltages. Results Annotate DC Operating Points. Εμφανίζονται τα σημεία λειτουργίας του κυκλώματος όπως φαίνεται στην εικόνα 9. 12
Εικόνα 9 7. Μπορείτε να χρησιμοποιήσετε το File Export Image για αποθήκευση εικόνων. DC Analyses-Sweep Variable: Εκτελεί DC ανάλυση ως προς μια μεταβλητή. 1. Επιλέγουμε την πηγή που καθορίζει την τάση VGS του τρανζίστορ Q και στο πεδίο DC voltage γράφουμε VGS OK. Με αυτό τον τρόπο ορίσαμε την τάση αυτή σαν ανεξάρτητη μεταβλητή με το όνομα VGS. 2. Check and Save 3. Virtuoso Schematic Editor: Launch ADE L 4. Virtuoso Analog Design Environment: Variables Copy from Cellview (εμφανίστηκε στο πεδίο Design Variable η μεταβλητή VGS) Κάνουμε διπλό κλικ στη μεταβλητή VGS και ορίζουμε μια αρχική τιμή τάσης στο πεδίο Value (Expr)=1.5 OK 5. Analyses Choose 13
6. Συμπληρώνουμε την φόρμα Choosing Analyses όπως φαίνεται στην εικόνα 10 και επιλέγουμε OK. (Για την εισαγωγή του Variable Name μπορούμε να επιλέξουμε Select Design Variable) Εικόνα 10 7. Outputs To Be Plotted Select on Design στο σχηματικό με το ποντίκι επιλέγουμε τον κόμβο της υποδοχής (drain) του τρανζίστορ (η εμφάνιση κύκλου στον κόμβο αυτό δηλώνει την επιλογή του ρεύματος υποδοχής ως την εξαρτημένη μεταβλητή) Esc 8. Simulation Netlist and Run 14
9. Με την επιτυχή ολοκλήρωση της προσομοίωσης, αν δεν εμφανιστεί η γραφική παράσταση Id vs VGS, πατήστε το (Plot Outputs). 10. Εντοπίστε τις διάφορες περιοχές λειτουργίας του τρανζίστορ. 11. Για την εξαγωγή της γραφικής παράστασης Log(Id) vs VGS: Στο παράθυρο της γραφικής παράστασης: Επιλέγουμε τη καμπύλη στη γραφική παράσταση. Tools Calculator (Θα εμφανιστεί i("/m0/d"?result "dc") στο Calculator) Function Panel All Επιλέγουμε Log10 και μετά το εικονίδιο Evaluate the buffer If Waveform, plot όπως φαίνεται στην εικόνα 11. Αλλιώς μπορούμε να κάνουμε το ίδιο απλά επιλέγοντας τον άξονα της γραφικής που θέλουμε να λογαριθμίσουμε και πατώντας το δεξί κλικ στο ποντίκι επιλέγουμε το Log Scale. Εικόνα 11 15
12. Θέστε την DC τιμή τάσης της πηγής που καθορίζει την τάση VGS του τρανζίστορ σε 1.5 V, όπως ήτανε προηγουμένως. Επαναλάβετε την ίδια διαδικασία ορίζοντας τώρα ως ανεξάρτητη μεταβλητή VDS την DC τιμή τάσης της πηγής που καθορίζει την τάση VDS του τρανζίστορ, ώστε τελικά να εξάγετε την γραφική παράσταση Id Vs VDS. 13. Εντοπίστε τις διάφορες περιοχές λειτουργίας του τρανζίστορ. Parametric Analyses: Εκτελεί ανάλυση ως προς μια μεταβλητή για διαφορετικές τιμές μιας άλλης μεταβλητής. 1. Επιλέγουμε την πηγή που καθορίζει την τάση VDS του τρανζίστορ Q και στο πεδίο DC voltage γράφουμε VDS OK. Επιλέγουμε την πηγή που καθορίζει την τάση VGS του τρανζίστορ Q και στο πεδίο DC voltage γράφουμε VGS OK. 2. Check and Save 3. Virtuoso Schematic Editor: Launch ADE L 4. Virtuoso Analog Design Environment: Variables Copy from Cellview Αρχικοποιούμε τις δυο μεταβλητές. 5. Analyses Choose 6. Συμπληρώνουμε την φόρμα Choosing Analyses, καθορίζοντας ως ανεξάρτητη μεταβλητή την VDS. 7. Outputs To Be Plotted Select on Design στο σχηματικό με το ποντίκι επιλέγουμε τον κόμβο της υποδοχής (drain) του τρανζίστορ (η εμφάνιση κύκλου στον κόμβο αυτό δηλώνει την επιλογή του ρεύματος υποδοχής ως την εξαρτημένη μεταβλητή) Esc 8. Tools Parametric Analysis Στο πεδίο Add Variable επιλέγουμε VGS και συμπληρώνουμε την φόρμα όπως φαίνεται στην εικόνα 12. Εικόνα 12 9. Analysis Start Selected 10. Με την επιτυχή ολοκλήρωση της προσομοίωσης, αν δεν εμφανιστεί η γραφική παράσταση, πατήστε το (Plot Outputs). 11. Τι παρατηρείται; 16
Transient Analyses: Κατά την ανάλυση transient, πρώτα υπολογίζονται τα σημεία λειτουργίας στην αρχική κατάσταση (βασιζόμενα στις dc τιμές). Ακολούθως υπολογίζονται όλες οι στιγμιαίες τιμές των τάσεων και ρευμάτων του κυκλώματος ως αποτέλεσμα των χρονικά εξαρτώμενων πηγών τάσεων και ρευμάτων. 1. Virtuoso Analog Design Environment: Θέτουμε την πηγή που καθορίζει την τάση VDS του τρανζίστορ σε 3 V και αντικαθιστούμε την πηγή τάσης Vdc που είναι συνδεδεμένη με την πύλη του τρανζίστορ με την πηγή Vsin. 2. Ορίζουμε την τάση πόλωσης, την συχνότητα και το πλάτος της Vsin, όπως στην εικόνα 13. Εικόνα 13 17
3. Check and Save 4. Virtuoso Schematic Editor: Launch ADE L 5. Virtuoso Analog Design Environment: Analyses Choose Analysis: tran Stop Time: 5m 6. Outputs To Be Plotted Select on Schematic στο σχηματικό με το ποντίκι επιλέγουμε τον κόμβο της υποδοχής (drain) του τρανζίστορ για αποτύπωση του ρεύματος ID και αντίστοιχα τον κλάδο (net) (Σημείωση: Όχι τον κόκκινο κόμβο) της πύλης για αποτύπωση της τάσης VGS. 7. Simulation Netlist and Run 8. Υπολογίστε τη διαγωγιμότητα gm από την γραφική παράσταση. (Σημείωση: Πατώντας Α ή Β δημιουργεί σημείο στη γραφική παράσταση. Πατώντας Η δημιουργεί οριζόντιο άξονα και πατώντας V δημιουργεί κάθετο άξονα) 9. Πώς μπορείτε να βελτιώσετε το gm; Εργασία: Επαναλάβετε τα αντίστοιχα βήματα για ένα PMOS τρανζίστορ. 18