HMY 306 Εργαστήριο Σχεδίασης Ηλεκτρονικών Κυκλωμάτων Διδάσκων: Ιούλιος Γεωργίου Βοηθοί Διδασκαλίας: Ανδρέου Χαράλαμπος Παναγιώτα Δημοσθένους ΒΟΗΘΗΤΙΚΕΣ ΟΔΗΓΙΕΣ ΓΙΑ ΤΟ ΕΡΓΑΣΤΗΡΙΟ ΤΟΥ CADENCE (LAB 1-3) Οδηγίες: 1. Με το πέρας των εργαστηρίων του Cadence 1-3 πρέπει να καλέσετε τον καθηγητή ή ένα από τους βοηθούς διδασκαλίας για να υπογράψει στο τέλος αυτού του εγχειριδίου. Για την υπογραφή απαιτείται να του δείξετε στον υπολογιστή (Cadence) τις σχεδιάσεις σας καθώς και τα αποτελέσματα που προέκυψαν από αυτές. Όποιος δεν παραδώσει τις υπογραφές μαζί με την αναφορά θα θεωρείται ότι δεν έχει κάνει το εργαστήριο. 2. Συμπεριλάβετε όλα τα αποτελέσματα και επεξηγήσεις αναλύσεις των αποτελεσμάτων του εργαστηρίου στην αναφορά σας. Η αναφορά πρέπει να παραδοθεί ηλεκτρονικά (μέσω email) στη/ον βοηθό διδασκαλίας μέχρι τα μεσάνυχτα, της ημέρας του εργαστηρίου 3 του Cadence. Στην αναφορά πρέπει να παρατίθενται όλα τα αποτελέσματα των εργαστηριακών ασκήσεων και σχόλια- επεξηγήσεις που να αποδεικνύουν πλήρη κατανόηση των ασκήσεων καθώς και διασύνδεση των αποτελεσμάτων με σημαντικά στοιχεία από την θεωρία (ΗΜΥ 305). Οι αναφορές πρέπει να είναι ουσιώδης και όχι μακροσκελής χωρίς ουσία. Οι αντιγραφές απαγορεύονται και αν εντοπιστούν θα έχουν ως συνέπεια τον μηδενισμό της εργαστηριακής άσκησης όλων των εμπλεκομένων. To CADENCE είναι ένα εργαλείο σχεδίασης και προσομοίωσης αναλογικών, ψηφιακών και μικτού σήματος κυκλωμάτων. Στο εργαστήριο αυτό θα ασχοληθούμε κυρίως με την σχεδίαση και προσομοίωση αναλογικών κυκλωματικών διατάξεων. Βασικές εντολές Linux Terminal: mkdir Directory Name: Δημιουργία καινούριου αρχείου cd Directory Name: Είσοδος στο αρχείο ls: Εμφανίζει το περιεχόμενο του τρέχοντος αρχείου 1
less File Name: Εμφανίζει το περιεχόμενο του φακέλου man ls: Help rm: Αφαίρεση ενός φακέλου rmdir: Αφαίρεση ενός αρχείου μόνο όταν είναι άδειο cd.. : Έξοδος από ένα αρχείο Γενικές Πληροφορίες: 1. Στην περίπτωση που σε οποιοδήποτε στάδιο εμφανιστεί το μήνυμα Next License τότε επιλέγουμε Yes ή Always για να συνεχίσουμε. Bindkeys: Esc: Ακυρώνει την τελευταία εντολή. Ctrl + d: Ακύρωση τελευταίας επιλογής αντικειμένου. I: Insert Instance w: wire p: insert pin m: move c: copy s:stretch z: zoom q: properties (προεπιλεγμένο στοιχείο) 2
Πρόσβαση στο Περιβάλλον Linux μέσω Virtual Machine Windows! Desktop! Ανοίξτε το VMWARE Player! Open a Virtual Machine Ανοίξτε το αρχείο ECE/virtualmachine/cadence/centOS5- PythVM Επιλέξτε Play Virtual Machine Όταν το CentOS φορτώσει, εισάγετε το όνομα χρήστη και τον κωδικό σας για να αποκτήσετε πρόσβαση. Με το πέρας του εργαστηρίου πρέπει να κλείνετε το Virtual Machine. Προετοιμασία περιβάλλοντος εργασίας για την εκκίνηση του CADENCE στο CentOS 1. Desktop Δεξί κλικ Open Terminal Για την δημιουργία φακέλου εργασίας και την εκκίνηση του CADENCE, ανοίγουμε ένα Terminal και γράφουμε στο παράθυρο Terminal τα εξής: 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 cadence Enter (αρχικοποίηση) cadence ams35v4.10 Enter (επιλογή τεχνολογίας χυτηρίου) cadence Enter (εκκίνηση Cadence) Για επανεκκίνηση του Cadence στον ίδιο φάκελο εργασίας (δεν χρειάζεται αρχικοποίηση και επιλογή χυτηρίου): cd cadence Enter cd LAB_1-3 Enter cadence Enter (εκκίνηση Cadence) 3
2. To περιβάλλον εργασίας του CADENCE έχει ενεργοποιηθεί Εικόνα 1 3. Στο παράθυρο Select Process Option επιλέγουμε την τεχνολογία C35B4C3 όπως φαίνεται στην εικόνα 1 ΟΚ 4. Στο περιβάλλον εργασίας του CADENCE υπάρχουν δύο βασικά παράθυρα: I. Το Virtuoso 6.1.4 αποτελεί το κύριο παράθυρο του Cadence που ελέγχει όλα τα υπόλοιπα, και στο οποίο καταγράφονται όλες οι διεργασίες που εκτελούνται. **Αν αυτό κλείσει τότε κλείνουν όλα τα υπόλοιπα παράθυρα του Cadence!** Είναι σημαντικό να παρακολουθούμε αυτό το παράθυρο, γιατί εδώ δίνονται αναλυτικές πληροφορίες σε σχέση με τις διεργασίες και τυχόν λάθη. II. To Library Manager, στο οποίο είναι καταχωρημένες όλες οι βιβλιοθήκες της τρέχουσας τεχνολογίας, οι βιβλιοθήκες γενικής χρήσης, ως επίσης και βιβλιοθήκες οι οποίες έχουν δημιουργηθεί από τον ίδιο τον χρήστη εκ τον προτέρων. 4
Δημιουργία καινούργιας βιβλιοθήκης εργασίας 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: Επιλέγουμε TECH_C35B4 OK 5. Στο Library Manager στην στήλη Library θα βρούμε τη βιβλιοθήκη που μόλις δημιουργήσαμε Στο Library Manager συμπεριλαμβάνονται δύο βιβλιοθήκες που θα χρησιμοποιήσουμε στα πλαίσια αυτού του εργαστηρίου η PRIMLIB και η analoglib. PRIMLIB: Περιέχει διάφορα στοιχεία της τεχνολογίας που χρησιμοποιούμε π.χ. τρανζίστορ, πυκνωτές, αντιστάσεις.. κτλ. Τα στοιχεία αυτά είναι μοντέλα στοιχείων που έχουν κατασκευαστεί στην συγκεκριμένη τεχνολογία. Μπορούμε να προσομοιώσουμε ακόμα και κατασκευαστικές ατέλειες. AnalogLib: Περιέχει διάφορα στοιχεία γενικής χρήσης που δεν υπάγονται σε κάποια συγκεκριμένη τεχνολογία. Αυτά τα στοιχεία είναι ιδανικά και δεν μπορούν να κατασκευαστούν. Η χρήση τους είναι για σκοπούς δοκιμής. Μερικά από τα στοιχεία αυτά είναι η γεννήτρια σημάτων, παλμών, τάσης τροφοδοσίας, κτλ. Δημιουργία καινούργιου Cell 1. Επιλέγουμε τη βιβλιοθήκη mylib από το Library Manager 2. Library Manager: File New Cell View 3. Στο πεδίο Cell ορίζουμε το όνομα του cell που θέλουμε να δημιουργήσουμε Cell όπως φαίνεται στην εικόνα 2: mos_physics OK 5
Εικόνα 2 4. Εμφανίζεται ο Virtuoso Schematic Editor Δημιουργία Σχηματικού στο Schematic Editor 1. Create Instance (Εμφάνιση του παραθύρου Add Instance ) 2. Add Instance: Browse (Εμφάνιση του παραθύρου Library Browse- Add Instance) όπως φαίνεται στην εικόνα 3. 3. Library Browse- Add Instance: Από τη στήλη Library επιλέγουμε την PRIMLIB Από τη στήλη Cell επιλέγουμε nmos4 Από τη στήλη View επιλέγουμε symbol Close 6
Εικόνα 3 4. Εισάγεται τις διαστάσεις του τρανζίστορ (W,L) όπως φαίνεται στη εικόνα 4. Εικόνα 4 7
5. Τοποθετήστε το τρανζίστορ στο Schematic Editor με αριστερό κλικ 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 global) και το vdc (Category: Sources Independent) Τα global sources όταν χρησιμοποιηθούν με την ίδια ονομασία (Instance Name) σε πολλαπλά σημεία του κυκλώματος, τότε όλα τα σημεία αυτά είναι εικονικά συνδεδεμένα μεταξύ τους ακόμα και αν δεν υπάρχει φυσική σύνδεση. 11. Χρησιμοποιώντας το W (wire) συνδέουμε τα στοιχεία όπως φαίνεται στην εικόνα 5. Εικόνα 5 12. Εισάγουμε τιμές τάσης στις δύο πηγές τροφοδοσίας επιλέγοντας την κάθε μία και πατώντας το Q. Στη συνέχεια πληκτρολογούμε την κατάλληλη τιμή στο πεδίο DC voltage. 8
13. File Check and Save. Ελέγχουμε το Virtuoso για πιθανά συντακτικά λάθη. Αν εμφανιστεί το μήνυμα Schematic check completed with no errors όπως φαίνεται στην εικόνα 6 τότε μπορούμε να συνεχίσουμε στο επόμενο βήμα, αλλιώς πρέπει να επιλύσουμε τα πιθανά σφάλματα που θα εμφανιστούν πριν συνεχίσουμε. Εικόνα 6 Προσομοιώσεις Κυκλωματικής Διάταξης χρησιμοποιώντας το Virtuoso Analog Design Environment DC Analyses: Προσομοιώνει το κύκλωμα και υπολογίζει τα DC σημεία λειτουργίας (operating points), με είσοδο σταθερές τάσεις και ρεύματα. Virtuoso Schematic Editor: Launch ADE L 1. Virtuoso Analog Design Environment: Analyses Choose 2. Συμπληρώνουμε την φόρμα Choosing Analyses όπως φαίνεται στην εικόνα 7 και επιλέγουμε OK. 9
Εικόνα 7 3. Simulation Netlist and Run 4. Ελέγχουμε πάντα για πιθανά λάθη (errors) στο παράθυρο spectre.out που εμφανίζεται μετά την εκτέλεση της προσομοίωσης όπως φαίνεται στην εικόνα 8. Αν η προσομοίωση είναι ανεπιτυχής και υπάρχουν λάθη εντοπίστε τους λόγους στο παράθυρο αυτό και διορθώστε τα πιθανά σφάλματα. 10
Εικόνα 8 5. Virtuoso Analog Design Environment: Results Annotate DC Node Voltages. Results Annotate DC Operating Points. Εμφανίζονται τα σημεία λειτουργίας του κυκλώματος όπως φαίνεται στην εικόνα 9. 11
Εικόνα 9 6. Συμπεριλάβετε τα αποτελέσματα που βλέπεται καθώς και το κύκλωμα στην αναφορά σας (μπορείτε να χρησιμοποιήσετε το print screen για αποθήκευση των εικόνων). DC Analyses- Sweep Variable: 1. Επιλέγουμε την πηγή V0 Q και στο πεδίο DC voltage γράφουμε VDS OK. Με αυτό τον τρόπο ορίσαμε την τάση αυτή σαν ανεξάρτητη μεταβλητή. 2. Check and Save 3. Virtuoso Schematic Editor: Launch ADE L 4. Virtuoso Analog Design Environment: Variables Copy from Cellview (εμφανίστηκε στο πεδίο Design Variable η μεταβλητή VDS) Κάνουμε διπλό κλικ στη μεταβλητή VDS και ορίζουμε μια αρχική τιμή τάσης στο πεδίο Value (Expr)=1 OK 5. Analyses Choose 6. Συμπληρώνουμε την φόρμα Choosing Analyses όπως φαίνεται στην εικόνα 10 και επιλέγουμε OK. 12
Εικόνα 10 Outputs To Be Plotted Select on Schematic με το ποντίκι επιλέγουμε τον κόμβο της υποδοχή (drain) του τρανζίστορ (η εμφάνιση κύκλου στον κόμβο αυτό δηλώνει την επιλογή του ρεύματος υποδοχής σαν την εξαρτημένη μεταβλητή) 7. Simulation Netlist and Run 8. Με την επιτυχή ολοκλήρωση της προσομοίωσης έχουμε την εμφάνιση της γραφικής Id Vs VDS. 9. Επαναλάβετε την ίδια διαδικασία ορίζοντας τώρα σαν ανεξάρτητη μεταβλητή το VGS ώστε τελικά να εξάγεται την γραφική παράσταση Id Vs VGS 10. Για την εξαγωγή της γραφικής παράστασης Log(Id) Vs VGS: Στο παράθυρο της γραφικής παράστασης: Tools Calculator Log10 Επιλέγουμε το εικονίδιο Evaluate the buffer If Waveform, plot όπως φαίνεται στην εικόνα 11. Αλλιώς μπορούμε να κάνουμε το ίδιο απλά επιλέγοντας τον άξονα της γραφικής που θέλουμε να λογαριθμίσουμε και πατώντας το δεξί κλικ στο ποντίκι επιλέγουμε το Log Scale. 13
Εικόνα 11 11. Συμπεριλάβετε στην αναφορά σας τα μέχρι στιγμής αποτελέσματα καθώς και την ανάλυσή τους με βάση την θεωρία. Parametric Analyses: Επαναλάβετε τα βήματα 1-8 της προηγούμενης άσκησης με τις ακόλουθες αλλαγές: 1. Επιλέγουμε την πηγή V1 Q και στο πεδίο DC voltage γράφουμε VGS OK. 2. Check and Save 3. Virtuoso Analog Design Environment: Variables Copy from Cellview 4. Tools Parametric Analyses Στο πεδίο Add Variable επιλέγουμε VGS και συμπληρώνουμε την φόρμα όπως φαίνεται στην εικόνα 12. 14
Εικόνα 12 5. Analyses Start Selected 6. Συμπεριλάβετε στην αναφορά σας την γραφική παράσταση καθώς και τις παρατηρήσεις σας σχετικά με τα αποτελέσματα. Transient Analyses: Κατά την ανάλυση transient πρώτα υπολογίζονται τα σημεία λειτουργίας στην αρχική κατάσταση (βασιζόμενα στις dc τιμές). Ακολούθως υπολογίζονται όλες οι στιγμιαίες τιμές των τάσεων και ρευμάτων του κυκλώματος ως αποτέλεσμα των χρονικά εξαρτώμενων πηγών τάσεων και ρευμάτων. 1. Virtuoso Analog Design Environment: Αντικαθιστούμε την πηγή τάσης Vdc που είναι συνδεδεμένη με την πύλη του τρανζίστορ με την πηγή Vsin. 2. Ορίζουμε την τάση πόλωσης, την συχνότητα και το πλάτος της Vsin όπως στην εικόνα 13. 15
Εικόνα 13 3. Check and Save 4. Virtuoso Schematic Editor: Launch ADE L 5. Virtuoso Analog Design Environment: Variables Copy from Cellview Ορίζουμε το VDS=3V 6. Analyses Choose Analysis: tran Stop Time: 5m 7. Outputs To Be Plotted Select on Schematic με το ποντίκι επιλέγουμε τον κόμβο της υποδοχή (drain) του τρανζίστορ για αποτύπωση του ρεύματος ID και αντίστοιχα τον κλάδο της πύλης για αποτύπωση του VGS 8. Netlist and Run 9. Συμπεριλάβετε στην αναφορά σας την γραφική παράσταση και μέσα από αυτήν υπολογίστε την διαγωγιμότητα gm του τρανζίστορ 10. Βελτιώστε το gm Εργασία: Επαναλάβετε τα αντίστοιχα βήματα για ένα PMOS τρανζίστορ και συμπεριλάβετε όλα τα αποτελέσματα και τα συμπεράσματα στην αναφορά σας. Υπογραφή Καθηγητή ή Βοηθού διδασκαλίας: 16