CADENCE 6.1.8 ילכ לע הכרדה תרבוח - VLSI · 2019. 8. 4. · 1 למשח תסדנהל...
Transcript of CADENCE 6.1.8 ילכ לע הכרדה תרבוח - VLSI · 2019. 8. 4. · 1 למשח תסדנהל...
1
מ.ט.ל. הפקולטה להנדסת חשמל -הטכניון
VLSI -המעבדה ל CADENCE 6.1.8 חוברת הדרכה על כלי , יוסי יולסלב שפי-גואל סמואל, שרון בר
עניינים תוכן
Windows-PC .......................................................................... 2 ממחשבי ראשונית התחברות
2 ..................................................................................... למשתמש עבודה סביבת הגדרת
virtuoso ....................................................................................................... 3 עם עבודה
8 ......................................................................................................... הקדמה סימולציות
DC ............................................................................................... 9 עבודה נקודות אנליזת
AC ................................................................................................................... 9 אנליזת
10 ...................................................................................................... רעש אנליזת ביצוע
10 ....................................................................... (parametric sweep) פרמטרית סימולציה
12 ........................................................... פרמטרית סימולציה באמצעות אופטימיזציה ביצוע
12 ............................................................................................... סימולציה תוצאות הצגת
History .......................................................................................... 15 -קודמות סימולציות
Monte Carlo ............................................................................................... 15 סימולציית
Corners ...................................................................................................... 17 סימולציית
LAYOUT .......................................................................................................... 25 שרטוט
LVS ................................................................................................................... 27 ביצוע
LVS (Layout Vs. Schematic) ............................................................................... 27 בדיקת
Extracted View – RCX ........................................................................................ 28 יצירת
layout ........................................................................................ 28-ה על ולציהסימ הרצת
Spice Netlists imports using SpiceIn ............................................................................. 28
hspiceD ...................................................................................................... 29 סימולציית
2
Linux-PCרות ממחשבי התחב לתחילת העבודה. loginזאת הדרך המומלצת לעבודה. פשוט יש לבצע
Windows-PCהתחברות ראשונית ממחשבי
.GoGlobal – www.technion.ac.il/GGיש להתחבר באמצעות
הגדרת סביבת עבודה למשתמשברים מיועדים . ההסCadenceחוברת זאת מכילה הסבר קצר על איך להתחיל לעבוד עם כלי
, כלומר תכנון ידני. החוברת מכילה את Custom VLSI Designינים לעשות ילמשתמשים המעונ הפרקים הבאים:
מבוא .1 ציור סכמות .2 סימולציות אנלוגיות .3 (layout)ציור מסכות .4 LVS -ו DRCהרצת .5 Layout -הרצת סימולציה על ה .6
:עזרה הפעל את הפקודה:
cdsnhelp
למשל: cadenceבנה ספריה חדשה בשם אם זאת הפעם הראשונה mkdir cadence
עבור לספריה חדשה :cd cadence
הקפד לעשות תמיד לפני הפעלת הכלים.
:TOWER 0.18uעבור טכנולוגיות העתק את קבצי האתחול:
, ללא הרשאות אלו לא ניתן Towerיש לבקש מגואל הרשאות מתאימות לעבודה עם ספריית מחדש. loginלהתנתק ולבצע לאחר מתן ההרשאות הבאים. להעתיק את הקבצים
נקודה בסוף כל שורה:יש להקפיד לרשום את הרווח וה
:ותהבא שלך מכיל את השורות cshrc. -וודא שקובץ הsource /users/iit/cadence/source_cadence618
setenv DRCTEMPDIR /tmp/drcusername
epxxxx)משתמש )בדר"כ הוא שם החשבון של ה usernameכאשר הפקודה: ניתן לערוך את הקובץ בעזרת
nedit ~/.cshrc &
מסודר neditוסגור את save-שמור את השינויים באמצעות ה ,את הקובץ במידת הצורך שנה .על מנת שיחולו השינויים מחדש loginבצע יש ל. Exit→Fileבאמצעות
העתק את הקובץ הבא לספרית העבודה :
cp /tools/kits/tower/TS18SL_54_2/KIT.cshrc .
פתח את הקובץ ושנה את השורה הבאsetenv PROJ_ROOT /users/user_name/cadence
ות :יצביע על ספרית העבודה שלך. בצע את הפקודות הבא PROJ_ROOT-כל ש
source KIT.cshrc
echo `username` > user_list
לך.מהווה שם החשבון ש usernameכאשר makeProjectTree Project -flow T18C6DNSL1 -users user_list -cds -ver -assura -pvs
3
הוא שם )כלשהו( שיינתן לפרויקט. Projectכאשר יותר מפעם אחת לפרויקט!( makeProjectTree)אין לבצע את הפקודה
virtuosoעבודה עם הפעלת הכלי
יש לבצע את הפקודות הבאות : לאחר מכן, כל פעם שמפעילים את הכלי,
cd cadence source KIT.cshrc
cdsprj Project virtuoso &
ניהול ספריות
, ניתן להעתיק ולמחוק קבצים ולנהל ספריות. אין למחוק Tools→Library Managerבאמצעות
יוצרת makeProjectTreeהפקודה קבצים או ספריות שאינכם יודעים לשם מה הם משמשים. . עליך לשמור את כל התכנון בספריה הזאת.Prj_usernameספרית עבודה בשם
יצירת ספריית עבודה
. ניתן לשים את Project_master -ו Project_usernameבסביבה מופיעות שתי ספריות עבודה : אם ברצונך ליצר ספריה נוספת, ניתן לבצע זאת באופן הבא :כל התכנון בספריות אלה. אבל
File -> new -> library .projectיש לרשום את שם הספרייה שבחרת לדוגמא name-נפתח חלון, בשדה ה
:TOWER 0.18uעבור טכנולוגיות
יצירה המאשר את ה O.Kלחץ על . ,"Attach to an existing technology library"בחר באופציה . .O.Kלחץ .ts018_prim -ב ובחר ה חדשהיספריהשל לא מופיע, המשתמש לא עודכן כראוי ויש לחזור על השלבים הקודמים של ts018_prim-דה ובמי
עדכון הקבצים. -או פקודת ה file→exit -: יש לסגור את כל החלונות רק באמצעות פקודת ה חשוב !!!
file→close window של האפליקציה. אין לסגור את החלון עם ה- exit (x )! של החלון עצמו
ט מעגליםשרטו . File->New->Cellviewעל מנת לבנות סכמה חדשה עליך ללחוץ על
library :project cell name .שם של התא החדש :
view name :schematic Application :schematics-XL
בחלק זה נלמד לאישור. OKיש ללחוץ על יפתח חלון שבאמצעותו תוכל לצייר את המעגל שלך.עתה יופיע חלון חדש המיועד . schematicה חשמלית של מעגל נתון בעזרת כלי לשרטט סכימ
לשרטוט סכמות חשמליות:
4
Example of Schematic Window
בשלב הבא 'נצייר' את המעגל המכיל מספר אלמנטים. icon)או Create → Instance בכדי להוסיף רכיבים חדשים למעגל, יש להשתמש בפקודה
. browserבחלון שמתקבל לחץ על אים(.מת analogLib -באו (Tower 0.18 -טרנזיסטורים ב )עבור ts018_primבחלון שנפתח בחר בספרית
הדרושים.זו ניתן למצוא את כל הרכיבים ות הנ"ל. בתוך ספריעבור מקורות ורכיבים אידיאליים
הרכיבים הרלוונטיים למעגל הם: pmos18 הדקי חיבור 4בעל pmosטרנזיסטור nmos18 הדקי חיבור 4בעל nmosטרנזיסטור
Vss vdc -ו Vdd -ל DCמקור gnd חיבור לאדמה
cap קבל vsin מקור מתח חילופין
ולגרור את schematics -לאחר הבחירה יש לעבור לחלון ה. symbolמסוג view -בחר ב •
F3(, לחץ על sideways , upside down , rotateורינטציה הרצויה )החלק למקום הרצוי, ובא על מנת לקבל אפשרויות אלה.
בעזרת הכפתור השמאלי ניתן למקם את הרכיב. • .Esc בכדי לעבור לפקודה הבאה יש ללחוץ על •
מתאים(, לחיצה icon)או Create → Wireבכדי לחבר בין הרכיבים יש להשתמש בפקודה ל הכפתור השמאלי ממקמים את הנקודה הראשונה של הקו, יש 'לגרור' את הקו ללא ראשונה ע
לחיצה על כפתורי העכבר עד למקום הרצוי לסיום הקו. לחיצה כפולה על הכפתור השמאלי, תסיים את הקו.
5
לאחר שרטוט המעגל כולו יש לקבוע/לשנות את ערכי הפרמטרים של כל הרכיבים המשורטטים , סמן edit → properties → object -גדלי הטרנזיסטורים, וערך הקבל(, בחר ב)ערכי המתחים,
את האלמנט הרצוי ולחץ על הכפתור השמאלי. :18pmosשל טרנזיסטור propertiesדוגמא לחלון
Window of edit properties of pmos18
.File → check and saveלאחר עדכון כל ערכי הרכיבים יש לבצע שמירה של המעגל ע"י שלהם יהיה נכון! source -את הטרנזיסטורים יש למקם כך שהכיוון ה הערה חשובה:
)הסימולטור אינו רואה את הטרנזיסטור כסימטרי(.
6
על הסכמה שלך להכיל רק את האלמנטים שבמעגל, כלומר טרנזיסטורים, נגדים, קבלים וחיבורים -בחר ב pinהוספת לכניסה ויציאה של המעגל. עבור כל pin. יש להוסיף gnd -ול vdd-ל
Create→Pin ,בחלון שנפתח רשום שם ה- pin ( ואת סוגוinput,output ) בחר את כיוונו וסובב ,ולחץ על כפתור pin -אותו במידת הצורך. הבא את הסמן למקום שבו אתה רוצה למקם את ה
העכבר. מקורות שדרושים בביצוע סימולציות נוסיף בהמשך.כדי שאפשר יהיה להשתמש במעגל כתא בסכמה ברמת - symbolבנית , למעגל symbolכעת נבנה
. בחלון Create→Cellview→From Cellviewהיררכיה גבוהה יותר. ניתן לעשות זאת בעזרת ניתן. .O.Kאת הכניסות ואת היציאות על הצלעות הרצויות ולחץ על מקם , .O.Kלחץ שנפתח
לחוט. והצמדת שם משמעותי Create→Wire nameוטים חשובים באמצעות לח labelsלהוסיף רצוי מאד להפריד בין האלמנטים של המעגל לאלמנטים שנחוצים להרצת הסימולציות. לכן, על
עגל שבנית של המ symbol-רת, בונים סכמה חדשה שמכילה את היצמנת לסמלץ את המעגל ש -שאליו מחוברים ה vdcב להופיע גם מקור בשם לסימולציה. חיי יםואת כל המקורות הנחוצ
symbols :vdd ו- gndההספקה של המעגל. תח. בעזרת מקור זה קובעים את מ
Lower level Schematic with no sources
Higher level Simulated Circuit
7
Property form of sin source
8
הקדמה: ות סימולצי
Cadence לסימולציות אנלוגיות: תוכנות פרמס מספקתams , UltraSim ו- spectre. לרב ניתן לבצע .mentorל חברת ש hspiceת סימולציה בחור בתוכנגם ל אפשר . spectre -בנשתמש
רבים ובין יתר :סוגי סימולציה .Transient -סימולציה בזמן .1 .AC -סימולציה בתדר .2 תחום התדר(.ית רעש )מבוצעת כמובן גם היא ביסימולצ .3 למעגל(. DC-)שינוי מקור מתח כניסת ה DCת יסימולצי .4
parameter sweepסימולציית .5
.Monte Carlo יתיסימולצ .6 .Cornersסימולציית .7
ADE -ו ADE L ,ADE XL: לציה. הישנים יותר ממשקים להפעלת הסימו 5ימים יק Launch -ב
GXL והחדשים ADE Explorer ו- ADE Assembler . ,ו נתאר את החדשים אנבמסמך זה ADE ,אחד לכל תכנון testbenchהוא הפשוט יותר ומאפשר הגדרת של ADE Explorer בד.בל
Assembler ה של יותא ממאפשר להגדר- testbench .שקיימות לצייןחשוב אחד לכל תכנון דרכים רבות לבצע את הפעולות השונות של סימולטור. לרוב, נתאר כאן רק אחת הדרכים.
הדרכה נוספת ב:
/users/iit/cadence//RAK/Explorer_Assembler_RAK/Explorer_Assembler_RAK__617ISR15.pdf
ADE Explorer את המהלך הבא:כדי לפתוח את הסימולטור יש לבצע
Launch→ ADE Explorer
נפתח.בחלון ש OK ל. לחץ עCreate New Viewובחר : Virtuoso ADE Explorer הכלי של maestroבשם viewname -עבור החדש tabיפתח
במקרה זה( יחזיר את הסכמה. TestCellשם התא )לחיצה על
ADE Explorer
9
.בפתיחת הסימולציה Open Existing -יש לבחור בקיים, כבר maestro מסוג view -אם ה
שינוי הספרייה המכילה תוצאות סימולציות: Setup→Save Options, לחץ על Virtuoso Explorerבחלון
יש למלא את הספריות הרצויות למיקום הפלטים. Results Location -ב
DCאנליזת נקודות עבודה .Enabled -ו dc ,Save DC Operating Pointסמן את לחצני . Analyses -> Choose :-בחר בתוצאות לראות את ניתן .בצד ימיןשהירוק החץלחץ על להפעלת הסימולציה . OKלחץ
, DC Node Voltages -ובחר ב Results->Annotate -ב לחץ על על הסכמה. dc -ההסימולציה DC Operating Points אוDC Currents. על לצפייה בלוג ריצה של הסימולציה יש ללחוץ
Simulation->Output Log.
ACאנליזת תדרים הרצוי לצורך ולמלא את תחום ה AC -יש לבחור ב. Analyses → Choose :-בחר ב
הסימולציה:
Fig 8 : Analysis Window for ac Analysis
10
. בצד ימיןשהירוק החץלחץ על להפעלת הסימולציה .לאישור O.Kלאחר מילוי הפרטים יש ללחוץ כאשר הפעם יש למלא את הערך התחתון והעליון של Transient)באופן דומה ניתן לבצע אנליזת
טרוול הזמן לדגימת התוצאה.(סקלת הזמן וכן את אינ
ביצוע אנליזת רעש
. בחלון שנפתח יש להגדיר את תחום התדר בו noiseיש ללחוץ על .Analyses -> Choose :-בחר ב למשל. Voltage -בחר ב Input Noise -ו Output Noiseמעוניינים לבצע את אנליזת הרעש. עבור
לאחר מכן יש לסמן ובחירת המקור על הסכמה. select לחיצה על את מקור המתח ע"י חורלביש ובחירתו על הסכמה. select לחיצה על ע"יאת צומת היציאה
Fig 9 : Analysis Window for Noise Analysis
.בצד ימיןשהירוק החץלחץ על להפעלת הסימולציה .לאישור O.Kלאחר מילוי הפרטים יש ללחוץ
(parametric sweep)סימולציה פרמטרית בסימולציה זו נקבע טווח ערכים עבור משתנים ונריץ עבורם סימולציה אחת במקום להריץ
סימולציה נפרדת עבור כל ערך.)סימון הטרנזיסטור . wp -ל nmos-הב רוחו lp -ל pmos-ה טרנזיסטור אורךאת לדוגמא, נשנה
ADE-במסך ה. Check and Saveע בצ. (properties-ה -ובחר ב הכפתור הימניולחיצה על
11
Explorer נתכנן סימולצייתtransient .את המשתנים לסביבת היבא ילעל מנת פשוטה- ADE יש :Variables->Copy From Cellviewלבצע
-ל 0.18 -ו wn -ל0.42נגדיר ערך של . Variables->Editלמשתנים בעזרת defaultן לתת ערך ניתlp :
-מ wn -לתחום הערכים נגדיר ראשית . יםלשני המשתנבנוסף לכך, כאן נרצה לקבוע תחום ערכים לחץ על האליפסה עם שלש ו 0.42לחץ שתי לחיצות מהירות על .0.2בקפיצות של 0.84עד 0.42
:מלא את החלון שנפתח באופן הבא הנקודות.
איור הבא :לפי ה lpבצורה דומה נבצע עבור
12
ריצות. X 3 =9 3ניתן לראות שמתבצעות .בצד ימיןשהירוק החץלחץ על להפעלת הסימולציה ספר איטרציות בהתאם למתריץ מספר (בצד ימיןשהירוק החץעל )לחיצה הרצת הסימולציה
שונה. כל שורה תייצג ערך results-ן הכאשר בחלו ושנקבע ערכיםה
סימולציה תהצגת תוצאו קיימות מספר דרכים להצגת התוצאות:
Calculator-ושימוש ב Output Setup-לשונית ה - Result Browser-ה -
Calculator-הל ע Output Setup -כאן ניתן לבנות כל ביטוי שברצוננו להציג. ניתן להעתיק את הביטוי לחלון ה
.Expression/Signal/File -בשדה ה לחיצה על "<" דייעדיין סגור Calculator -אם חלון ה. Calculator -כעת נתאר כיצד לבנות ביטוי פשוטים בחלון ה
: על ידיבחלון הסימולטור ניתן לפתוח אותו Tools → Calculator
:לאחר לחיצה על יפתח החלון הבא
Fig 10 : Calculator Window
, כפתור זה נועד ליצירת גרפים vt ון של המסך ישנם כפתורי קיצור למשל כפתורבחלק העלי
תקפיץ את vtלחיצה על גרפים לסימולציות תדר וכו'transient (vf .)המתאימים לסימולציות וט יצור במחשבון את הביטוי למתח עבור ח schematic-אחד החוטים ב סימון ,schematic-חלון ה
זה:
13
Vt button
המתחים או זרמיםשניתן להפעיל על בתחתית המסך ישנה רשימה של פונקציות שימושיות
המוצגים.
:ACלהצגת תוצאות אנליזת חוט )עבור מתח( או ההדק )עבור זרם(זרם, לאחר מכן את ה עבור ifעבור מתח או vf -בחר ב
.Tools→Plotבהתאם לצורך, לבסוף לחץ על phaseאו magהרצוי ובחר waveform -חלון האת להפוךכדי ובו הגרף המבוקש. הסכמה דלי waveformכעת יפתח חלון
מחזירה את החלון למיקומו הקודם. לחיצה על. לחלון עצמאי יש ללחוץ על
של ציר ללחוץ על היש waveform -)כדאי מאד להציג את הצירים בסקלה לוגריתמית בחלון ה (.y, וכנ"ל עבור ציר axis → log: לבצעגרף עם העכבר ו
:Transientלהצגת תוצאות אנליזת
החוט )עבור מתח( או ההדק )עבור זרם(עבור זרם, לאחר מכן את itעבור מתח או vt -בחר ב .Tools→plot הרצוי ולבסוף לחץ על
כרון המחשבוןי, שימוש בזמורכבים calculatorביטויי לדוגמא נרצה למדוד את מורכבים על ידי שימוש בזיכרון המחשבון.ניתן ליצור ביטויים יותר
)זכרון של stack-, כעת כל חוט שתסמן יכנס לvtלחץ על כפתור calculator-: במסך ההגבר המעגל .Vinוסמן את schematic-ב Voutהמחשבון(. סמן את
The Calculator's Stack
חלקי אלמטה במחשבון, התקבל ביטוי של מתח המוצשמופיע בצד ימין "/"לחץ על סימן חלקי
לחץ עלשל המסך באזור שבו מופיעות הפונקציות השימושיות, מתח הכניסה. כעת בחלק התחתון הביטוי הסופי: .וסף לביטויהתו ()dB20כעת גם . ()dB20 הפונקציה
14
-ה בשדהבאמצעות לחיצה על "<" Outputs Setup-יצרת ללשונית הוסף את הביטוי שהExpression/Signal/File וודא ששדה ה(-Type הואexpr) .
Results Browser-ה הראשי ADE Explorer-פתח בחלון ה ניתן לצפות בתוצאות. result browser-גם באמצעות ה
. Tools → Results browserאת
Fig 11 : Results browser Window
ביצעת. בצד ימין תוכל לעיין האות השל המסך תוכל לראות את הסימולציולמעלה בצד שמאל tranעל פעמיים מהר שביצעת לחץ transientבצמתים עבורם קיים גרף למשל עבור סימולציית
על בחר בסיגנל ולחץ כעת תוכל לראות את שמות הצמתים עבורם קיים גרף. .ישמאלבחלון Y)ניתן להציג -אופציה מעניינת ניתן להדפיס את הגרף. Plot Signal זרת הכפתור הימני. בע
axis vs Y axis) לדוגמא עבור סימולצייתtran נציג את מתח המוצא כתלות במתח הכניסה ולא
. Vinשנמצא בסרגל הכלים, כעת לחץ על ולחץ על כפתור Voutכתלות בזמן. סמן את מתקבל הגרף הרצוי.
להצגת תוצאות אנליזת רעש:
בצע ו noise -חר בב . Tools → Results browserאת הראשי ADE Explorer-פתח בחלון המשמעות הגרף שתקבלו היא: מהו הרעש במוצא המגבר כאשר הוא . שם של צומתקליק כפול על )כלומר הרעש ביציאה מחולק בפונקצית התמסורת של המגבר(. מיוחס לכניסה.
.Calculator -ליעתיק את הביטוי calculator ובחירת על הכפתור הימני לחיצה
15
Output Setup-ה לשונית . Virtuoso ADE Explorer -בחלון ה Output Setup לשונית לחץ על ה
Outputs Setup Tab
להוספת Outputs-Addלחץ ב. לשמור ולחש נורצונוביטוים שבלהוסיף סיגנלים בחלון זה ניתןעד Detailsלחץ על השדה .signal -ב typeבעמודת להצגת המתח של צומת בחר פרמטר לצפייה.
יג את הגרףגרום להופעת הסכמה. בחר ברשת )חוט( שברצונך להצת"...". לחיצה על "..." להופעתהצגת זרם ניתן לעשות בצורה דומה אך לצפייה בגרף בסיום הריצה. plot-, סמן וי בעמודת העבורו
יש לבחור הדק של התקן במקום חוט. -. הפעם לחיצה על השדה הsignalבמקום expression -כל ביטוי אחר יש לבחור ב להצגת
Details לחיצה על הסמן תפתח את החלון הבא : . גרום להופעת ת
או copy-pasteולהעתיק אותו לכאן בעזרת calculator -ניתן לבנות ביטוי בחלון ריק. בהתחלה הכל המידע שמוגדר בחלון שמר יכאמור, י .Locate Function -הה שדלבנות את הביטוי כאן בעזרת
: ון הבא יופיעחל. הלמשל dbלחלופין ניתן להתחיל בהקלדת זה.
החלון הבא :לאחר מכן יופיע
16
ישלים את התהליך: OUT -ו VT רתחיוב
רפים על הסכמה :צגת גה
הבא :בתפריט waveformsלחץ על לחלון הסכמה. עבור
סכמה, ניתן יהיה לראות את צורת הגל :וט בברגע שהסמן נוגע בח
17
Cornersסימולציית Corner Analysis שונים )מתח אספקה, טמפ'...( תחת תנאי עבודה לבדוק את תפקוד המעגל נועד
במהלך היצור של הרכיבים ישנה התפלגות . ליך היצורתההרכיבים הנוצרים בשל מודלים שוניםובקובץ מהירים, טיפוסיים, איטיים וכד', -והם מקוטלגים בקטגוריות כגון באיכות הרכיבים
מסוגים אלו. מוגדרים "סטים" של מודלים/רכיביםהמודלים
מהירים ואיטיים. כאמור מוגדרים גם "סטים" של טרנזיסטורים מודליםבקובץ ה – חשובה הערה "סטים" אלו הם סוג של פינות מוכנות מראש וניתן להריץ עליהם סימולציות פשוטות
(tran, dc) ללא צורך בהגדרת סימולציותcorners מורכבות. כאשר נרצה לשלב פינות מכמהמורכבת כפי שניתן corner"סטים" נפרדים או בשילוב עם משתנים נוספים נבצע סימולציית
בדוגמא הבאה. לראות
Cornersדוגמא לסימולציית עם טמפרטורה על מעגל המהפך. נגדיר פינותמורכבת Cornersסימולציית בצענ הזאתבדוגמא
. כמו כן towerמספריית נשנה את קבל המוצא לקבל שאינו אידיאלי, משתניםאספקה ומתח "."איטיים-ו , "טיפוסיים"נשלב בבדיקות טרנזיסטורים "מהירים"
בעמ' outputs setup -בחר ביציאות שיש להציג כפי שמוסבר ב. של המהפך schematic-פתח את ה . הרץ את הסימולציה וודא שאין שגיאות.tranסימולציה פשוטה לדוגמא הגדר . 13
.corners -כעת נגדיר סימולציות הן מעל ולחץ על הכפתור הימני כשהסמ Corners+ ליד -לחץ על ה maestro -צד שמאל של חלון הב
Nominalבחר ב .- Add Corner. לחץ על הכפתור בשמאלי כשהסמן מתחת ל- Model Files לחץ .להוספת פינה, לחץ על הכפתור הימני ובחר .OKבחלון שנפתח. לחץ על Import From Testsעל
רצוי עבור מודל הבחירת <section>י לחיצות מהירות על שת. Add Corner (Cntr N) -ב יסטורים :נזהטר
ה ערך שונלתת לו במשתנה ו Vddינה. אפשר להגדיר את גדיר טמפרטורה שונה לכל פאפשר לה .OKעליך להגדיר את כל השדות הרלוונטיים. לחץ על פינה. בכל
18
Corners view
-ו Variables אפשר להוסיף לפינות גם כעת ניתן לראות את הנתונים עבור כל סימולציה שתרוץ. Parameters . לחץO.K .י" ליד המילה "ו מסומןא יש לוודCorners הרץ את . בצד שמאל
-( תוכל לראות בלשונית הvoutאת הגרפים )למשל של הירוק. החץהסימולציה ע"י לחיצה על results.מתח המוצא של המהפך: -דוגמא לפלט
Vout vs time (Corners simulation)
19
schematic-במסך ה , דוגמא:cornerלסימולציית parameter sweepהוספת -אופציה מתקדמת
Data-בחלון ה .fall time -ו rise timeבשדות ttהגדר למקור המתח בכניסה למהפך משתנה בשם
View של ה-Virtuoso Analog Design Environment XL Editing חת תGlobal parameters שמופיע: "…"לחץ על שלו, default-ולחץ פעמיים על ערך ה ttאת הוסף
ר את תחום הערכים הגד. from/toלמעלה ונבחר drop down menu-במסך שנפתח לחץ על הבחלון sweep points-. כעת יעודכן מספר הO.Kולחץ עבור זמני עליה וירידה )ראה תמונה( הרצוי
כאשר sweeps-במספר ה corners. הרצת הסימולציה תריץ מכפלה של מספר הRun summary-השונה, לכן יש לשים לב שמספר הריצות אינו גדול sweepכל שורה תייצג ערך results-חלון הב
מדי.
Variable parameterize window
Run Preview
אמורות לרוץש ניתן לראות את כל הסימולציות Simulation-Run Previewעזרת ב
.לגבי הריצותייתן פירוט .לחיצת על .בסימולציה הבא
פרמטרית ביצוע אופטימיזציה באמצעות סימולציהסימולציה מסוג זה היא בבסיסה .תנאים אותם יבדוק הסימולטור במהלך הריצה ניתן להגדיר
ורציות שונות ולבחור ר מספר קונפיגסימולציה פרמטרית מאחר ונרצה לבדוק את התוצאות עבויש להגיר את sweep-לאחר הגדרת המשתנים או הפרמטרים עבורם יתבצע ההן. ינאת הטובה מב
-של חלון ה Outputs Setup-הגדרת התנאים היא פשוטה ונעשית בלשונית ההתנאי או התנאים. ADE Explorer לבדוק בשדה ה, נוסיף את התנאי שנרצה-Spec של הרשומה. בעת הרצת
הסימולציות, הסימולטור יבדוק האם התנאי מתקיים ויודיע הודעה מתאימה עבור כל ריצה .Results-בלשונית ה
:Outputs Setup-לשונית ה
20
calculator -ת הביטוי בניתן לבנות א (.signal)ולא עבור expressionעבור Specלהגדיר ניתן .Outputs Setup -ן החלוולהעתיק אותו ל
:Results-לשונית ה
Monte Carloת יולציסימבמהלך היצור, הפרמטרים של הרכיבים אינם זהים לחלוטין אלא מתפלגים לפי התפלגות
אחד מסוים עבור כל פרמטר כפי סטטיסטית כלשהי. בדרך כלל מריצים סימולציות עם ערך שהוגדר בקובץ המודלים. לעיתים יש להריץ סימולציות כאשר הפרמטרים השונים מקבלים
יזה סטטיסטית של התנהגות המעגל על נועדו לאנל Monte Carloסימולציות ערכים אקראיים. ם לפילוג י הרצת מספר רב של סימולציות תוך כדי בחירה אקראית של פרמטרי המודל בהתאידי
. הםהסטטיסטי של
הרצת הסימולציה:כפי שהוסבר לעיל. הוסף סימולציות נוספות כרצונך DCנקודות עבודה ולצייתראשית הרץ סימ
(ac, transient הוסף את הביטויים עבורם תרצה לראות פלטים ,)...בלשונית ה-output setup כפי וודא שהריצות מסתיימות בהצלחה. .שהוסבר לעיל
:Monte Carlo Samplingבחר באופציה ADE Explorer (maestro tab)חלון ב
Advanced – Showלחץ על .monte carloלפתיחת תפריט Click to Open Setup Formלחץ על
All Options.
הסבר על האופציות השונות בתפריט:Method:
Process – .בחירת אופציה זו תיצור מודל סטטיסטי לכל תהליך Mismatch – בחירת אופציה זו תיצור מודל סטטיסטי עבור כלinstance.
All- שילוב שלProcess ו-Mismatch. Sampling method
21
לריצה רגילה. randomסמן יכול לחסוך מספר ריצות. Latin hypercubeסימון
Other options
Run nominal Simulation – מאפשר ריצת מבחן לבדיקה האם המעגל תקין, חוסך ריצות מיותרות במקרה של שגיאה.
Save Waveforms- שמירת נתוני כל הריצות, אופציה זו אפשר ת כדי ליוני להדליק אופציה זאח .צורכת מקום רב בדיסק ולכן יש להסיר ריצות ישנות
Seed – הזנתseed .תיצור את אותם התנאים בכל סט סימולציות והתוצאות יהיו זהות כל פעם monte carloת נתונים רנדומאליים עבור כל סט סימולציות השארת שדה זה ריק תגרום ליציר
First Point- .מגדיר את מספר הריצה התחלתית
Number of points- .מגדיר את מספר הסימולציות שירוצו
בחר: Monte carloבתפריט דוגמא לסימולציה, Method: all
Number of points : 20
Sampling method: random
Other options: Save Waveforms (Simulation Data).
.בצד ימיןשהירוק החץלחץ על להפעלת הסימולציה .OKלחץ :monte carloדוגמא לפלט סימולציית
צפייה בפרמטרים הסטטיסטיים: :וכל לבחון את הנתונים הסטטיסטייםנ results-בלשונית ה
המופיעים יים לאוסף הריצות במעגל זהים הרלוונטגות של הפרמטרנבדוק מהי ההתפל - -ובחר ב שם הטסטלחץ לחצן ימני על ו test -חר בב results-בלשונית ה צי המודלים.קובב
histogram נסה גם(Scatter Plot.)
statisticalבחר Outputsבמקום סמן את אחד הריצות ולחץ מקש ימני. valueבעמודה של -
parameters.תוכל לראות את הערכים עבור ריצה זו .
22
בחר של כל טרנזיסטור. vt-הכלליעל מתח הסף הוא פרמטר שמשפיע גם vtnlvmatchלדוגמא - ל כל יתר הפרמטרים.ש histogramן להציג את . באופן דומה ניתplotמט זה ולחץ על רבפ
mp (model parameter)לחץ על כפתור calculator-מסך הב - מתפלג vtנוכל לראות גם כיצד
ותפתח חלון קטן: schematic-לחיצה על כפתור זה תחזיר את מסך ה
ובחר את drop down menu-ה בחלון הקטן לחץ על למשל, nmos-טרנזיסטור ה את סמן .O.Kלחץ של הטרנזיסטור. vt-ה ,vth0הפרמטר
עמודה ולחץ על exprף שורה מסוג הוס Outputs Setupבלשונית דרך נוספת להצגת התוצאות :
calculator -מה יהעתק לחלון שמופיע את הביטו . לחץ על הסמן. פעמים Detailsשל הפלט המתקבל כעת:אנליזה. הרץ את ה. MP("/M0","vtho")לדוגמא
.vtעבור , ניתן לראות בראש הגרף נתונים סטטיסטיים רלוונטייםvtעבור גרף היסטוגרמה התקבל
הגדרת קובץ קלט לסימולציה
ניתן להגדיר קובץ קלט ימולציה אחרת. לעתים יש צורך בהזנת פלט של סימולציה אחת כקלט לסמקור לסימולציה, היתרון בקובץ מסוג זה הוא עבור קלטים מורכבים שקשה לתכנן באמצעות
vpwl בדוגמא הבאה נשתמש בפלט של סימולציה .transient של המהפך(vout signal) כמתח :vpwlח רץ את הסימולציה המקורית עם מקור מתהכניסה לסימולציה חדשה. תחילה
23
Vout&Vin vs time
. בחלון הימני הרחב Tools → Result browserתח את פהראשי ADE Explorer -במסך הכעת
, בחר סוג קובץ ור את הקובץ בספרייה שלך. שמExport-ו vout, מקש ימני על tranאת תיקיית ובץ בכדי . כעת יש לערוך את הקvout.inקרא , הקובץ שנשמר לשם המחשה נSPECTREמסוג
הקש: console-שתוכל להשתמש בו כקובץ קלט. בnedit vout.in &
.מספריים מחק את השורות הראשונות שלא מכילות נתוניםאת הפסיקים הורד באמצעות ן ולידו ערך בכל שורה )ללא פסיק(,פורמט הקובץ צריך להכיל זמ
replace in all-קש רווח, בובשורה השניה ה פסיק , בשורה למעלה הקשsearch→replaceתפריט .editor-. וודא שכל הפסיקים הוסרו. שמור את השינויים וצא מהwindowלחץ על
Qלחץ על ,vpwlfהוסף במקומו רכיב ,vpwl-, הסר את אובייקט הschematic -כעת במסך הרת מלא ושם הקובץ נתונים שיצ Pathהקש PWL file name -ב. object properties-לפתיחת ה
לדוגמא:/users/epxxxx/cadence/vout.in
כעת בעת הרצת המעגל יקראו הנתונים מהקובץ.
ADE Assembler
עבור תכנונים testsגם להגדיר ניתן בודד. test -גדיר יותר ממאפשר לה Assembler -ממשק ה
שר הוספת מאפ Add Testבחלון השמאלי ובחירת כאשר הסמן ימני לחיצה על הכפתור ה שונים.test .חדש
24
ADE -מ .ADE Explorerלון של ם חוזרים לחמסוי testדים על הגדרות של בוכאשר ע
Assembler התן להריץ את כל ני- tests ביחד.
History -סימולציות קודמות-ניתן לצפות בתוצאות של סימולציות קודמות המאוחסנות בדיסק על ידי שימוש בלשונית ה
History ה חלוןבש-data viewומלץ למחוק סימולציות ישנות על מנת לשחרר מקום . כמו כן מ .delete-בדיסק על ידי קליק ימני על שם הסימולציה ו
History tab
25
LAYOUTשרטוט
קודות הבאות בתפריט הראשי:יש לבצע את הפ .LAYOUTסעיף זה מתאר בקצרה ציור תחילה יש ליצור ספריה חדשה באמצעות התפריט הראשי של התוכנה: חדש layoutעל מנת לבנות
File→ New → Library
Attach to an existingסמן את Technology File-, בlayout-בחר שם חדש לספריית ה
Technology Library לחץ .OK בתפריט הבא בחר את .ts018_prim לחץOK. . File->New->Cellviewעל כעת לחץ
library : project
cell name : layout1 (for example)
view name : layout Open With : Layout L
יפתח חלון שבאמצעותו תוכל לצייר את המעגל שלך. לאישור. OKיש ללחוץ על
(, LSWווה את התפריט לשכבות השונות ), וכן חלון נוסף המהLayoutעתה יופיע חלון לשרטוט
ראה דוגמא בהמשך.לדוגמא, עבור תהליך של אתה עובד מתאים לטכנולוגיה. ווב: ראשית עליך לוודא שהסריג איתחש
0.18u, 0.1הרזולוציה של הסריג צריך להיותu .ש לוודא כי זהו הערך שמופיע בי-Options→Display תחתGrid Controls ב-X/Y snap spacing( .0.1)
. LSWבוחרים את השכבה הרצויה בחלון -הוספת פוליגון בוחרים בפקודה : layout-בחלון ה
Create→Shape→polygon or Create→Shape→rectangle ומציירים את הצורה.
קיימות כל הפקודות הרגילות שדרושות לביצוע עריכה כגון: Editתחת תפריט move, delete, stretch, undo …
כגון טרנסיטורים, לדוגמא נוסיף טרנזיסטור layoutניתן להוסיף רכיבים שעבורם קיים pmos_18 מספריית ts018_prim באמצעות הקשת .shift+f ניתן לראות את השכבות של
הטרנזיסטור.בדרך כלל יש לבחור צורה לפני שמבצעים עליה פעולה. בחירת הצורה מתבצעת עם הכפתור
כבר.השמאלי של הע, יש לסמן את נקודת התחלת Tools→Create Rulerהפקודה מרחקים ניתן למדוד בעזרת
המדידה ע"י לחיצה בודדת על הכפתור השמאלי בעכבר, 'לגרור' ללא לחיצה את הסרגל עד לנקודה הרצויה ולסיים את המדידה ע"י לחיצה בודדת נוספת על הכפתור השמאלי בעכבר.
כדי להמשיך בפעולות אחרות. Escלחוץ על בסיום פעולת המדידה יש ל כדי לבטל את הצגת הסרגלים )אם הם מפריעים( יש לבצע:
Tools→Clear All Rulers .saveבסיום העריכה עליך לבצע
:Layout -דוגמא למסך המתקבל בעת העבודה ב
26
Among the layers we use:
Background - Pwell
WN- Nwell
CA = diffusion area
XN = defines the active area as n+
XN = defines the active area as p+
CG = polysilicon (transistor gate)
M1 = Metal1
CS = contact between metal1 and poly or metal1 and active
V2 = contact between metal1 and metal2
And many more
TAPS חיבורים למצע : לפי הצורך PTAP -ו NTAPבאופן ידני. ממקמים Well -יש למקם את החיבורים למצע ול
.pathבהתאם בעזרת gndאו Vdd -ומבצעים חיבור ל
PADS
בודדים. צריך padsמוכנים או פשוט padsבמערכת קיימות מספר ספריות המכילות מסגרות של ון שלך:שמתאימות לטכנולוגיה של התכנ pads -לבחור את ה
Tower 0.18u ספרית :tsl108iob :הנמצא ב/users/iit/cadence/tsl018b/tsl018b
.Tools->Library Path Editor -יה ומיקומה בייש להוסיף את שם הספר
27
LVSביצוע לסכמה בכל המישורים: Layout -בדיקה זו משווה בין ה
השרטוט הסכמתי. מול Layout -התאמת בין שמות הצמתים שקבעתם בשרטוט ה • התאמה בחיבוריות שבין האלמנטים. • .התאמה בערכי הרכיבים )גדלי הטרנזיסטורים, ערכי הקבלים וכו'( • התאמה במספר האלמנטים וסוגיהם. •
השרטוט הסכמתי:(, - Layout הסרת כל מקורות המתח אם קיימים כאלה )הרי לא ניתן לממש מקור מתח ב •
ם .במקום מקורות המתח נציב פיני
:Layout -שרטוט ה
)עם Schematic -פינים בעלי אותם שמות שקבענו ב ,Layout -יש להוסיף את הפינים גם ל (, באופן הבא:!gnd -ו !vddכולל אבחנה בין אותיות גדולות וקטנות
יש לבחור בשכבה )מתפריט השכבות( עליה אנחנו רוצים לסמן את הפין, create → pin יש לבצע: Layout -בחלון ה
, display name(, להפעיל את אופציית Schematic –בחלון שנפתח יש לרשום את שם הפין )כמו ב כעת יש לסמן ע"י העכבר את הפין במקום הרצוי, וכן למקם את השם.
)אין חשיבות לגודל או לגיאומטריה של הפין, אלא רק לשכבה בה הוא מצויר(.
.ור את השרטוט הסופילאחר הוספת כל הפינים יש לשמ
הערה: (. עבור כל שינוי save)ולא רק check and saveיש לבצע Schematic -עבור כל שינוי שמבוצע ב
מחדש. extractיש לבצע Layout -שמבוצע ב
Tower18עבור ASSURAבעזרת כלי DRC (Design Rule Check)בדיקת הוא שם החשבון שלך. userכאשר tmp/usernamedrc/צור ספריה בשם -
שיצרת. layout -פתח את ה -
. Assura->Run DRCלחץ על -
ts18sl_6M1Lהמתאים, למשל Technology -ב בחלון שנפתח, בחר -
רשום : Switch Namesבשדה -3V 6LM CHIP OA
שנפתח. Progressגם בחלון OK. לחץ על OKלחץ על -
.YESת הטעויות, לחץ על בסיום הריצה הכלי ישאל אם ברצונך לראות א - ניתן לראות את הטעויות השונות ע"י לחיצת על החצים בחלון שנפתח. -
LVS (Layout Vs. Schematic)בדיקת
לסכמה בכל המישורים: Layout -בדיקה זו משווה בין ה מול השרטוט הסכמתי. Layout -התאמת בין שמות הצמתים שקבעתם בשרטוט ה - ות שבין האלמנטים.התאמה בחיבורי - .התאמה בערכי הרכיבים )גדלי הטרנזיסטורים, ערכי הקבלים וכו'( - התאמה במספר האלמנטים וסוגיהם. - שיצרת. layout -פתח את ה - Assura->Run LVSלחץ על - נכונים. Layout Design Source -וה Schematic Design source -ודא ששדות ה - ts18sl_6M1Lהמתאים, למשל Technology -ב בחלון שנפתח, בחר -
28
רשום : Switch Namesבשדה -6LM OA
שנפתח. Progressגם בחלון OK. לחץ על OKלחץ על -
.OKלחץ על - .Assura->Close Runבין שתי ריצות לחץ על - LVS -תפעיל את ה OKלו, לחיצה על יציג את השגיאות והאזהרות שהתקבבסיום הריצה, הכלי -
Debug Environment . ולאחר מכן summary -ניתן ללחוץ על האלמנטים השונים ב Cell Listאם בוחרים שם בשדה -
. layout -כלי שמאפשר הצגת הטעויות על הסכמה ועל ה open toolעל
Extracted View – RCXיצירת . לפעמים הוא גם עוזר Layout-אפשר הרצת סימולציה על הנחוץ על מנת ל Extracted View-ה
LVS-. לאחר ביצוע הLVS, חובה קודם להריץ RCX. על מנת להריץ LVS-במציאת שגיאות ב בחלון שנפתח. OK ולחץ על Assura→Run QRC-בחר ב
בחר בטכנולוגיה הנכונה. Technology -, רשום בשדה הSetup-בחלון הבא שנפתח בלשונית ה .ts18sl_6M1Lגמא לדו
.C Only בסוג הרצוי, לדוגמא בחר Extraction Type. עבור Extraction-לחץ על לשונית ה למשל( gnd! ,vssרשום את צומת היחוס של המעגל ) ref nodeבשדה
וצר תא מסוג ובתום הריצה י .watch log fileעל ידי לחיצה על log-ניתן לצפות ב .OKלחץ על av_extracted.
layout-הרצת סימולציה על ה
המכיל את המהפך ומקורות המתח. פתח או צור את סביבת הסימולציה schematic-פתח את הadexlכעת בחלון ה .-ADE XL test editor טעןstate כפי שמוסבר בפרק חדש קיים או הגדר אחד
-inverter-של ה schematic-במקום תא ה layout-הסימולציות. נגדיר לסימולטור לעבוד עם תא ה .Setup→Environmentהקש על והרץ OK, לחץ schematicלפני המילה av_extractedהוסף את המילה switch view listבשורה
שיצרת. av_extractedהסימולציה תרוץ על התא מסוג את הסימולציה.
Spice Netlists imports using SpiceIn וליצור מהם CDL, HSpice, Spectre, Spice של netlistsבאמצעות כלי זה ניתן לייבא
virtuoso -schematics, netlists, symbols views. בא את יניבדוגמא הבאהnetlist Spice בכדי .virtuoso schematicליצור
לדוגמא : קוד
Spice netlist file
ייבוא הקוד
29
.File→import→Spiceבחלון הראשי של התוכנה לחץ על יפתח: Spice In-חלון ה
Spice-In Menu
Netlist-ב SPICE. יש לסמן Netlist File -הקובץ בשם את רשום, יש לinput-בלשונית ה
Languageב .-import sub-circuits List יש לבחור את שם ה-cell כפי שהוא מופיע בקובץ.
. (subcktמופיע אחרי )תמיד goelcellהוא בקובץ sub circuit-ניתן לראות ששם האחד אך במקרים רבים יהיו תאים רבים וגם היררכיה של sub-circuitבדוגמא זו יש -הערה
netlist, יש לחפש בנושא virtuoso help manual-תאים. עבור הגדרות מתקדמות יש לעיין ב
import using spicein. device-. יש לסמן וי בanalogLibאת ו ts018_primיש להוסיף את Reference Library List-ב
mapping fileבלשונית ה .-output יש לפרט את מיקום הספרייה בה ישמר ה-schematic.
Device Map Fileיצירת אינם מוכרים spice-כפי שהם מוגדרים בקובץ ה בלים שבדוגמא(קוה P18, N18) הרכיבים
הרכיבים כפי שהם מופיעים בספריות. יש את שמות מיפוי למערכת ויש לפרט באמצעות קובץ הפקודה גדיר עבור כל רכיב את שמו בספרייה באמצעותולה neditליצור קובץ חדש באמצעות
devSelect: devSelect := N18 nmos_18
devSelect := P18 pmos_18
devSelect := capacitor cap
, ts018_prim-שמופיע בספריית nmos_18-ל Spice-שבקובץ ה N18פקודה זו ממפה לדוגמא את יש לשמור את השינויים .Reference Library List-החיפוש מתבצע בכל הספריות שפורטו ב
(.File→openאת הקובץ )לחיצה על Device Mapבלשונית ולטעון output-בספריית ה schematic-תיצור את ה OKבמידה וכל הרכיבים הוגדרו כראוי, לחיצה על
( במידה overwrite cells)בלשונית overwriteניתן להגדיר .log-שגיאות יוצגו על ידי ה שהוגדרה. .וברצונכם "לדרוס" אותו schematicוכבר יצרתם
hspiceDסימולציית
. hspiceD-ובחר ב Setup→Simulator, בחר ADEXLשל Test editorבמסך
30
כלומר המערכת לא מבינה איך מתנהגים לא מוגדרים קבצי מודלים, hspiceעבור סימולציות הרכיבים ויש להגדיר את התנהגותם בקובץ מודלים. מודלים של רכיבים ניתן למצוא באינטרנט.
example-. ניתן למצוא קבצי מודלים ב BSIM :Offical Site -BSIM Homepageלדוגמא
netlists. , לחיצה על Test Editor-של ה Setup→Model librariesאת קובץ המודלים יש להוסיף בתפריט
מאחר ואלו קבצי מודלים עבור scs. יש להסיר הפניות לקבצי path-שורה ריקה והוספת הspectre.
דוגמא
ה שימוש . כעת נעשanalogLibשבספריית pmos4-ו nmos4 עבור מעגל המהפך, השתמשנו ברכיבי -שהורדו מ pmos-ו nmosעבור BSIM3בקובצי מודלים מסוג
http://www-device.eecs.berkeley.edu/~bsim3/ftpv330/test/modelcard.nmos
http://www-device.eecs.berkeley.edu/~bsim3/ftpv330/test/modelcard.pmos
nmosושמות הרכיבים בקובץ שונו ל)לא חובה( models.mשני הקבצים אוחדו לקובץ אחד בשם לקובץ נוספה בתפריט בכדי שיתאימו לשמות הרכיבים במעגל המהפך. הפניה pmos-ו
Setup→Model librariesכעת ניתן להריץ סימולציות . hspice .על מעגל המהפך