monte-carlo, process and mismatch

8
Corners Simulation (Process, Temp, Voltage) םםםםםםם םםםםםם, םםםםםםADE XL םםםםםםםSTATE .)םם םם( םםםם םםםםםםם םם םם םםםםם:TB )Test Bench( + STATE . םםםם םםםםם םםםTB םםםם םםםGAIN םםםםIP2 . םםםםםםם םםם. םםםםם םGLOBAL VARIABLES םםםם םםםםםם םםםם םםםםםם, םם םםם םםםםם1:0.1:2 - םם םםםםם םםםםםםם. םם םםםםםם םםם םםםםם םם םםםם םV , םם םםםם םםםםם םםםםםם םם םDESIGN VARIABLES )Vdd12 ( . םם םםםם םםםםם םםםםם םם םםםם םםםםםם םםםם.- םoutput_Setup םםםם םםםםםםSPEC , םםםם/ םםם םםםםםםם םםם םםם םםםם םםםם םםם םםםם םםםם םםםם.

Upload: iris-shtrasler

Post on 22-Dec-2015

33 views

Category:

Documents


0 download

DESCRIPTION

A manual to how to perform monte-carlo process and mismatch simulation in ADE-XL Cadance.

TRANSCRIPT

Corners Simulation (Process, Temp, Voltage)

קיים )אם יש(. מגדירים סט של טסטים:STATEוטוענים ADE XL מהסכימה הרצויה, פותחים TB )Test Bench( + STATE אפשר לעשות כמה .TB למשל אחד GAIN השני IP2. מוסיפים

טסט.

אפשר להגדיר תחום השתנות, או ממש לרשוםGLOBAL VARIABLESבחלון ה, אז אותו משתנהV או לבחור מהתפריט. אם בגלובל אני מוחקת את סימן ה-1:0.1:2

. זה נועד למנוע שינוי לא רצוי) DESIGN VARIABLES )Vdd12מאופשר לי בבסכימה אחרת.

, גדול/ קטן מאיזשהו ערך ואז יסמן אדום SPECאפשר להוסיף output_Setupב-שזה נכשל ירוק שעבר.

. נפתח החלון הבא. ADD CORNERבסרגל עליון לוחצים על כפתור

לוחצים על כפתור הוסף קורנר )השני מחק קורנר(: . FF נותנים לו שם למשל 3Cבמקום

import from test ואז בוחרים click to add איפה שרשום MODEL FILEלוחצים על לשונית . OK ולוחצים toplevel.scs)משאירים רק קובץ אחד כי כולם זהים )

. אפשר לכל קורנר גם לעשותff.lib של הקורנר פותחים לשונית ובוחרים SECTIONואז בSWEEP .על המתח או לבחור טמפרטורה רצוייה... כל שילוב שרוצים

צריך לבחור אתTESTבסיכום הוא מראה לי איזה קורנרים הוא הולך להריץ. כמובן שב-. GAIN_HBהסימולציה שאני רוצה, למשל

Monte-Carlo Process Simulation Aכל הטרנס' בסימולציה יקבלו את אותה הגרלה לכל פרמטר נבחר. מדמה את הצ'יפ. כל הטרנס'

צ'יפים כאלה שנמצאים200 על גבי אותו צ'יפ יקבלו את אותה הגרלה ואז הסימולציה תריץ Bו-על אותו ווייפר.

רגילה, נתקן את התכנון, ורק בסוף נריץ פרוסס בדרך כלל נסתפק בסימולציית קורנרסמונטה-קרלו.

:XL ADEצריך להגדיר ספריית פרוסס ב-

ADE XL.: ללחוץ כפתור ימני ואז נפתח חלון אופציות שמחליף את TESTSאפשר לבחור גם דרך אפשר לשנות כבר מפה.ANALYSISגם את ה

Monte-Carlo Mismatch Simulation

על גבי אותו צ'יפ, כל אחד מהם מקבל הגרלה אחרת על גבי אותו צ'יפ. סימולציהB ו-Aשני טרנס' טרנס' כאלה על אותו צ'יפ. זהו המקרה הגרוע ביותר, כיוון200זו קריטית לביצועי המעגל. יריץ

שבדרך כלל הטרנס' צמודים אחד לשני ורואים את אותה סביבה )תכנון לייאאוט טוב(. השונות של מיסמאטץ' יותר קטנה משונות הפרוסס, אבל שינויי מיסמאטץ' קריטיים יותר לביצועי המעגל

השונות גם של הפרוסס וגם40nmמאשר שינויי פרוסס. בתהליכים מתקדמים הקטנים מ- מיסמאטץ' מאוד גדלה ודי משתווה, לכן מסתפקים רק בסימולציית פרוסס. ניתן גם להריץ פרוסס

ומיסמאטץ' ביחד ואז הממוצע זז.

מס' הטרנס'* *רקX מספר הפרמטרים Xמספר הריצות שיהיו: מספר ההגרלות שאני קובעת למיסמאטץ'.

מסמלצים בלי קורנרים כי במילא מונטה קרלו לוקח הרבה שינויים בחשבון.

SINGLE RUN-זה עבור ריצת קורנרס בסיסית, כל הטרנס' ב SS או FFמונטה-קרלו אלו כל . , אז גםDESIGN זו ריצה קצרה שאם מתקנים לפיה בWORST CASEהקומבינציות האפשריות.

כל שאר הקורנרים נהיים מתוקנים. :XL ADEצריך להגדיר ספריית מיסמאטץ' ב-

בסרגל העליון: SIMULATION OPTIONS לוחצים על כפתור

LATIN CUBE .היא שיטת סמפלינג שמחלקת ההגרלות לריבועים ומבטלת הגרלות כפולות נק' )הגרלות(.200 נניח. מגדירים 20 )ריבועים(, BINSלכן שם צריך להגדיר גם מספר

לא נשמור מיסמאטץ' דאטה )ההגרלות( כי זו כמות אדירה.REF POINT...תתחיל מהגרלה מספר :NOMINAL.ריצה ראשונית מוגדרת, לא ההגרלות :

כל ריצה ניתן למצוא אותה אח"כ בתוצאות. לא חייב לשמור דאטה.SEED.מספר ראשוני לבחירתי כך שהאלגוריתם כל הזמן יחזור על אותן הגרלות :

STARTING RUN NO... 'תתחיל מהגרלה מס : .SPECIFY DEVICESבוחרים בלוק מה : SCHEMATICS שרק על הטרנס' שלו

יריץ את הסימולציה )במקרה שבסכימה מספר מגברים/בלוקים(. מקצר את זמן הריצה ומבודד בעיות. הדיפולט הוא כל הבלוקים בסכימה.

. RUNלוחצים על כפתור

נק ואשרטט אותן על אותו גרף על ידי לחיצה על כפתור200במקרה הסקלרי אסמן את כל ה

גרפים באותו ציור. 200במקרה הוקטורי אפשר לעשות אותו דבר ואז יהיו לי פה רואים את התפלגות ההגבר של המהפך בסימולציית מיסמאטץ'.