הטכניון מ.ט.ל. הפקולטה להנדסת חשמל המעבדה ל VLSI חוברת הדרכה על כלי CADENCE הקדמה גואל סמואל, שרון ברלב שפי עבודה ממחשבי LinuxPC זאת הדרך המומלצת לעבודה. פשוט יש לבצע loginלתחילת העבודה. התחברות ראשונית ממחשבי WindowsPC יש להתחבר באמצעות.www.technion.ac.il/GG GoGlobal חוברת זאת מכילה הסבר קצר על איך להתחיל לעבוד עם כלי.Cadence ההסברים מיועדים למשתמשים המעוניינים לעשות,Custom VLSI Design כלומר תכנון ידני. החוברת מכילה את הפרקים הבאים: מבוא 1. ציור סכמות 2. סימולציות אנלוגיות 3. ציור מסכות (layout) 4. הרצת DRC ו LVS.5 הרצת סימולציה על ה Layout 6. עזרה: חשוב הפעל את הפקודה: cdsnhelp : על הקובץ "~/.cshrc" להכיל את השורות הבאות לפי אותו סדר : setenv DRCTEMPDIR /tmp/drcuser login כאשר drcuser מחדש. הוא שם החשבון של המשתמש.תקן את הקובץ במידת הצורך ובצע עבור טכנולוגיות TOWER :0.18u אם זאת הפעם הראשונה בנה ספריה חדשה בשם cadence למשל: mkdir cadence עבור לספריה חדשה : cd cadence הקפד לעשות תמיד לפני הפעלת הכלים. העתק את קבצי האתחול : cp /tools/kits/tower/ts18sl_full_kit/iit/v12/.cdsplotinit. cp /tools/kits/tower/ts18sl_full_kit/iit/v12/kit.csh. cp /tools/kits/tower/ts18sl_full_kit/iit/v12/newproject.csh. cp /tools/kits/tower/ts18sl_full_kit/iit/v12/runproject.csh.
ראשית יש לאתחל את הסביבה: MyProject TechnologyFlavour NewProject.csh כאשר MyProject הוא שם הפרויקט ו TechnologyFlavour מציין את הטכנולוגיה הספציפית למשל.ts18sl_6M1L לאחר מכן מפעילים את הכלי עם : RunProject.csh MyProject התהליך הנ"ל יצר ספרית העבודה בשם הפרויקט בספריה הזאת..MyProject_username יש לממש את כל מרכיבי חשוב!!! : במהלך ובסיום העבודה, יש לסגור את כל החלונות רק באמצעות פקודת ה exit או פקודת ה close window של האפליקציה. אין לסגור את החלון עם ה exit של החלון עצמו! שרטוט סכימת המעגל על מנת לבנות סכמה חדשה עליך ללחוץ על. File>New>Cellview cadence : library : cell name שם של התא החדש. schematic :view name composer schematic : tool יפתח חלון שבאמצעותו תוכל לצייר את המעגל שלך. יש ללחוץ על OK לאישור. בחלק זה נלמד לשרטט סכימה חשמלית של מעגל נתון בעזרת כלי.schematic עתה יופיע חלון חדש המיועד לשרטוט סכמות חשמליות: בשלב הבא 'נצייר' את המעגל המכיל מספר אלמנטים. בכדי להוסיף רכיבים חדשים למעגל, יש להשתמש בפקודה add component (או icon מתאים). בחלון שמתקבל לחץ על.browser בחלון שנפתח בחר בספרית NCSU_Analog_Parts (עבור MOSIS ראה בהמשך עבור Tower 0.18). בתוך ספריה זו ניתן למצוא את כל הרכיבים האנלוגיים וכן מקורות מתח למיניהם.
pmos4 nmos4 vdc gnd cap vsin הרכיבים הרלוונטיים למעגל הם: טרנזיסטור pmos בעל 4 הדקי חיבור טרנזיסטור nmos בעל 4 הדקי חיבור מקור DC ל Vdd ו Vss חיבור לאדמה קבל מקור מתח חילופין לאחר הבחירה יש לעבור לחלון ה schematics ולגרור את החלק למקום הרצוי, ובאורינטציה הרצויה rotate),(sideways, upside down, לחץ על 3F על מנת לקבל אפשרויות אלה. בעזרת הכפתור השמאלי ניתן למקם את הרכיב. בכדי לעבור לפקודה הבאה יש ללחוץ על. Esc עבור : Tower 0.18u יש לבחור את ההתקנים השונים מהספרייה :.ts018_prim את מקורות המתח והזרם יש לקחת ה.analogLib בכדי לחבר בין הרכיבים יש להשתמש בפקודה add wire (או icon מתאים), לחיצה ראשונה על הכפתור השמאלי ממקמים את הנקודה הראשונה של הקו, יש 'לגרור' את הקו ללא לחיצה על כפתורי העכבר עד למקום הרצוי לסיום הקו. לחיצה כפולה על הכפתור השמאלי, תסיים את הקו. לאחר שרטוט המעגל כולו יש לקבוע/לשנות את ערכי הפרמטרים של כל הרכיבים המשורטטים (ערכי המתחים, גדלי הטרנזיסטורים, וערך הקבל), בחר ב, edit properties object סמן את האלמנט הרצוי ולחץ על הכפתור השמאלי. דוגמא לחלון properties של טרנזיסטור :pmos
לאחר עדכון כל ערכי הרכיבים יש לבצע שמירה של המעגל ע"י.design save הערה חשובה: את הטרנזיסטורים יש למקם כך שהכיוון ה source שלהם יהיה נכון! (הסימולטור אינו רואה את הטרנזיסטור כסימטרי). על הסכמה שלך להכיל רק את האלמנטים שבמעגל, כלומר טרנזיסטורים, נגדים, קבלים וחיבורים ל vdd ול.gnd יש להוסיף pin עבור כל כניסה ויציאה של המעגל.
הוספת pin בחר ב.Add>Pin בחלון שנפתח רשום שם ה,pin בחר את כיוונו וסובב אותו במידת הצורך. הבא את הסמן למקום שבו אתה רוצה למקם את ה pin ולחץ על כפתור העכבר. מקורות שדרושים בביצוע סימולציות נוסיף בהמשך. כעת נבנה symbol למעגל. בנית Symbol כדי שאפשר יהיה להשתמש במעגל כתא בסכמה ברמת היררכיה גבוהה יותר צריך לבנות למעגל.Symbol ניתן לעשות זאת בעזרת.Design>Create Cellview>From Cellview בחלון שנפתח, בקש את הכניסות ואת היציאות על הצלעות הרצויות ולחץ על.OK רצוי מאד להפריד בין האלמנטים של המעגל לאלמנטים שנחוצים להרצת הסימולציות. לכן, על מנת לסמלץ את המעגל שציירת, בונים סכמה חדשה שמכילה את ה symbol של המעגל שבנית ואת כל המקורות הנחוצות לסימולציה. חייב להופיע גם מקור בשם vdc שאליו מחוברים ה vdd : symbols ו.gnd בעזרת מקור זה קובעים את מחת ההספקה של המעגל. דוגמא של מעגל (ללא מקורות) : דוגמא למעגל מיועד לסימולציה:
דוגמא לפרמטרי מקור מתח :AC
סימולציה.spectre,SpectreS, cdsspice תוכניות לסימולציות אנלוגיות: מספר מספקת Cadence SpectreS ו spectre הן תוכניות ומהירות יותר, לכן אנו נשתמש באחת מהן. ניתן לבצע 4 סוגי סימולציה הבאים: סימולציה בזמן.Transient.1 סימולציה בתדר.AC.2 סימולצית רעש (מבוצעת כמובן גם היא בתחום התדר). 3. סימולצית DC (שינוי מקור מתח כניסת ה DC למעגל). 4. אופן עבודת הסימולטור: גם אם לא נבחר באף אחת מארבע האפשרויות הנ"ל של סימולציה, ונבצע הרצה של הסימולטור, יבוצעו מיד שתי הפעולות הבאות: המתאר את פרמטרי הרכיבים במעגל והחיבוריות של המעגל (קובץ spice א. יצירת netlist ביניהם). ב. ביצוע אנליזת 'DC' לקביעת נקודות העבודה במעגל. Tools analog environment כדי לפתוח את הסימולטור יש לבצע את המהלך הבא: יפתח החלון הבא: הערה : עבור התהליך של Tower יש לפתוח את החלון : Simulation Options Analog ולקבוע scale ל 61e. כדי להפנות את הסימולטור למודלים הרצויים של הטרנזיסטורים יש לבצע: Setup modelpath
בדרך כלל אין צורך לשנות מסלול זה, אבל אם ברצונך לעבוד עם מודלים שונים, רשום בשדה ה New Directory בחלון שנפתח יש לרשום ~/cadence וללחוץ על O.K לאישור בהנחה שהמודלים נמצאים ב.~/cadence לביצוע אנליזת נקודות עבודה DC יש לבצע בחלון הסימולטור: Simulate Run כדי להציג את תוצאות הסימולציה על גבי הסכימה יש לבצע: Results annotate DC operating points (כדי לחזור להצגת ערכי הטרנזיסטורים defaults (Results annotate Restore Analysis choose לביצוע אנליזת :AC יש לבצע בתפריט הסימולטור: יש לבחור ב AC ולמלא את תחום התדרים הרצוי לצורך הסימולציה: לאחר מילוי הפרטים יש ללחוץ O.K לאישור, ובחלון הסימולטור יש לבצע : Simulation Run (באופן דומה ניתן לבצע אנליזת Transient כאשר הפעם יש למלא את הערך התחתון והעליון של סקלת הזמן וכן את אינטרוול הזמן לדגימת התוצאה.)
ביצוע אנליזת רעש: הערה: לא ניתן לבצע אנליזת רעש ללא אנליזת,AC הרי גם אנליזת רעש מבוצעות בתדר, ויש רק צורך ל'הצביע' על הנקודה בה אנו רוצים למדוד את הרעש ומה מקור היחוס של אותו רעש. Analysis choose יש לבצע בתפריט הסימולטור: יש לסמן את צומת מקור המתח ע"י העכבר וללחוץ על select source (יש לוודא כי מספר הצומת המופיע הוא אכן נכון), לאחר מכן יש לסמן את צומת היציאה וללחוץ על.select node לאחר מילוי הפרטים יש ללחוץ O.K לאישור.
יש לבצע בנוסף Simulation options בחלון שיפתח יש לחפש את MFNOIS ולכוון אותו ל 1 (במקום 0) ולבצע.apply פעולה זו בחרה במודל הנכון לחישוב הרעש עבור התהליך בו אנו עובדים (2µ.(CMOS בחלון הסימולטור יש לבצע : Simulation Run Tools calculator הצגת תוצאות: בחלון הסימולטור יש לבצע יפתח החלון הבא: להצגת תוצאות אנליזת :AC בחר ב vf עבור מתח או if עבור זרם, לאחר מכן את הצומת הרצוי (יציאה) ובחר mag או phase בהתאם לצורך, לבסוף לחץ על plot (הכפתור עם הגרף האדום). כעת יפתח חלון waveform ובו הגרף המבוקש. (כדאי מאד להציג את הצירים בסקלה לוגריתמית בחלון ה waveform יש לבצע:.(y וכנ"ל עבור ציר, axis x axis log plot להצגת תוצאות אנליזת :Transient בחר ב vt עבור מתח או it עבור זרם, לאחר מכן את הצומת הרצוי ולבסוף לחץ על עם הגרף האדום). להצגת תוצאות אנליזת רעש: בצע את הפעולות הבאות: browser psf run1 noise total vnin החלון יראה באופן הבא: (הכפתור
משמעות הגרף שתקבלו היא: מהו הרעש במוצא המגבר כאשר הוא מיוחס לכניסה. (כלומר הרעש ביציאה מחולק בפונקצית התמסורת של המגבר). שרטוט LAYOUT (עבור התהליכים של ( MOSIS סעיף זה מתאר בקצרה ציור.LAYOUT יש לבצע את הפקודות הבאות בתפריט הראשי: על מנת לבנות layout חדש עליך ללחוץ על. File>New>Cellview cadence : library : cell name שם של התא החדש. layout :view name virtuoso : tool יפתח חלון שבאמצעותו תוכל לצייר את המעגל שלך. יש ללחוץ על OK לאישור. עתה יופיע חלון לשרטוט,Layout וכן חלון נוסף המהווה את התפריט לשכבות השונות,(LSW) ראה דוגמא בהמשך. חשוב: ראשית עליך לוודא שהסריג איתי אתה עובד מתאים לטכנולוגיה. הרזולוציה של הסריג צריך להיות חצי.lambda לדוגמא, עבור תהליך של lambda=0.8u 1.6u, והסריג יהיה 0.4u. ניתן לקבוע הרזולוציה של הסריג בעזרת הפקודה : Design>Options>Display הוספת פוליגון : בוחרים את השכבה הרצויה בחלון.LSW בוחרים בפקודה : Createpolygon or Createrectangle ומציירים את הצורה. תחת תפריט Edit קיימות כל הפקודות הרגילות שדרושות לביצוע עריכה כגון: move, delete, stretch, undo
בדרך כלל יש לבחור צורה לפני שמבצעים עליה פעולה. בחירת הצורה מתבצעת עם הכפתור השמאלי של העכבר. מרחקים ניתן למדוד בעזרת סרגל המופיע ב icon התחתון ביותר, יש לסמן את נקודת התחלת המדידה ע"י לחיצה בודדת על הכפתור השמאלי בעכבר, 'לגרור' ללא לחיצה את הסרגל עד לנקודה הרצויה ולסיים את המדידה ע"י לחיצה בודדת נוספת על הכפתור השמאלי בעכבר. בסיום פעולת המדידה יש ללחוץ על Esc כדי להמשיך בפעולות אחרות. כדי לבטל את הצגת הסרגלים (אם הם מפריעים) יש לבצע: misc clear rulers בסיום העריכה עליך לבצע.save דוגמא למסך המתקבל בעת העבודה ב :Layout 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 בדיקת (Design Rule Check) DRC בעזרת כלי ASSURA עבור Tower18 צור ספריה בשם /tmp/drcuser כאשר user הוא שם החשבון שלך. פתח את ה layout שיצרת.
3V 6LM CHIP לחץ על.Assura>Run DRC בחלון שנפתח, בחר ב Technology המתאים, למשל ts18sl_6m1l בשדה Switch Names רשום : לחץ על.OK לחץ על OK גם בחלון Progress שנפתח. בסיום הריצה הכלי ישאל אם ברצונך לראות את הטעויות, לחץ על.YES ניתן לראות את הטעויות השונות ע"י לחיצת על החצים בחלון שנפתח. (Layout Vs. Schematic) בדיקת LVS בדיקה זו משווה בין ה Layout לסכמה בכל המישורים: התאמת בין שמות הצמתים שקבעתם בשרטוט ה Layout מול השרטוט הסכמתי. התאמה בחיבוריות שבין האלמנטים. התאמה בערכי הרכיבים (גדלי הטרנזיסטורים, ערכי הקבלים וכו'). התאמה במספר האלמנטים וסוגיהם. פתח את ה layout שיצרת. לחץ על Assura>Run LVS ודא ששדות ה Schematic Design source וה Layout Design Source נכונים. ב Technology המתאים, למשל ts18sl_6m1l בחלון שנפתח, בחר בשדה Switch Names רשום : 6LM לחץ על.OK לחץ על OK גם בחלון Progress שנפתח. לחץ על.OK בין שתי ריצות לחץ על.Assura>Close Run בסיום הריצה, הכלי יציג את השגיאות והאזהרות שהתקבלו, לחיצה על OK תפעיל את ה LVS.Debug Environment אם בוחרים שם בשדה Cell List ניתן ללחוץ על האלמנטים השונים ב summary ולאחר מכן על open tool כלי שמאפשר הצגת הטעויות על הסכמה ועל ה.layout יצירת RCX Extracted View ה View Extracted נחוץ על מנת לאפשר הרצת סימולציה על ה Layout. לפעמים הוא גם עוזר במציאת שגיאות ב LVS. על מנת להריץ,RCX חובה קודם להריץ.LVS לאחר ביצוע ה LVS בחר ב QRC Assura Run ולחץ על OK בחלון שנפתח. בחלון הבא שנפתח בלשונית ה Setup, רשום בשדה ה Technology בחר בטכנולוגיה הנכונה. לדוגמא.ts18sl_6M1L לחץ על לשונית ה Extraction. עבור Extraction Type בחר בסוג הרצוי, לדוגמא C. Only בשדה ref node רשום את צומת היחוס של המעגל,gnd!) vss למשל) לחץ על.OK ניתן לצפות ב log על ידי לחיצה על.watch log file בתום הריצה יווצר תא מסוג.av_extracted הרצת סימולציה על ה layout פתח את ה schematic המכיל את המהפך ומקורות המתח. פתח או צור את סביבת הסימולציה.Analog Environment נגדיר לסימולטור לעבוד עם תא ה layout במקום תא ה schematic של ה inverter הקש על.Setup Environment בשורה switch view list הוסף את המילה av_extracted לפני המילה,schematic לחץ OK והרץ את הסימולציה. הסימולציה תרוץ על התא מסוג av_extracted שיצרת.