16
1 הטכניון- הפקולטה להנדסת חשמל מ.ט.ל. המעבדה ל- VLSI חוברת הדרכה על בניתLayout עם ה כלי15.2 Innovus עםDesign Kit Tower 0.18u גואל סמואל הקדמה התחברות ממחשביLinux-PC זאת הדרך המומלצת לעבוד ה. פשוט יש לבצעlogin לתחילת העבודה. ניתן לפתוח חלון טרמינל באמצעותApplicationsSystem ToolsTerminal התחברות ראשונית ממחשביWindows-PC יש להתחבר באמצעותGoGlobal www.technion.ac.il/GG . רקע כלי ה- Innovus מ אפשר תכנון ומימוש של המסכות מעגלVLSI באופן אוטומטי.Innovus הוא כלי מתוחכם מאד ומסוגל לבצע:- timing analysis - physical synthesis - clock tree synthesis - power analysis - voltage (IR) drop analysis - signal integrity analysis - crosstalk analysis מעבר לאנליזות השונ ות הכלי מסוגל לבצע תיקונים אוטומטיים ב- layout לתיקון התקלות שנתגלו. חשוב לכוון את הכלי בצורה נכונה על מנת לקבל תכנון אופטימאל י. באופן כללי ניתן לומר שקיימים שני שלבים עיקריים של בניתlayout אוטומטי למעגל. ראשית מבצעים את תכנון ה- floorplan כלומר מיקום הבל וקים בתכנון ו מיקום הכניסות/יציאות שלהם, בשלב שני מבצעים את מיקום תאי הספרייה והחיווט שלהם בכל תת בלוק ובין כל תתי הבלוקים. הכלי מאפשר מימוש מהיר מאד של "אב טיפוס" של ה- layout על מנת לקבל הערכ ה טובה של מיקום התאים ואורך החוטים, מידע שניתן להזין לכלי הסינת זה ותזמון כך שניתן יהיה לקבל מעגל העומד בדרישות מהר יותר. ההסבר להלן מתאר מימוש שלlayout סופי ולא רק "אב טיפוס". בתכנונים גדולים מומלץ לבנות את ה- layout בצורה היררכית. ברוב הפרויקטים אין צורך לעבוד בשיטה ההיררכית. שיטת העבודה כאן תהיהtop->down כלומר ראשית יבנה ה- floorplan של כל השבב כולל חלוקה לתת בלוקים. לאחר מכן ימומש של תת בלוק בנפ ר ד. בשלב האחרון יבוצעו ה פעולות הנדרשות לחיבור הבלוקים ביחד. אם אתה בכל זאת שוקל לעבוד היררכית, עליך להתייעץ עם צוות המעבדה. ראשית נתאר מימושlayout של מעגל שכולו מבוצע ברמת היררכיה יחידה. תיאור של שימוש בכלי האנליזה השונים יובא בהמשך. באופן כללי ניתן לומר שבניתlayout שטוח מורכב מה שלבים הבאים :

Innovus 15.2 ילכה םע Layout תינב לע הכרדה תרבוחvlsi.eelabs.technion.ac.il/.../2018/05/innovus56_tsl018.pdf1 למשח תסדנהל הטלוקפה .ל.ט.מ - ןוינכטה

  • Upload
    others

  • View
    7

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Innovus 15.2 ילכה םע Layout תינב לע הכרדה תרבוחvlsi.eelabs.technion.ac.il/.../2018/05/innovus56_tsl018.pdf1 למשח תסדנהל הטלוקפה .ל.ט.מ - ןוינכטה

1

מ.ט.ל. הפקולטה להנדסת חשמל -הטכניון

VLSI -המעבדה ל

Innovus 15.2כלי ה עם Layoutבנית חוברת הדרכה על Design Kit Tower 0.18u עם

גואל סמואל

הקדמה

Linux-PCהתחברות ממחשבי ניתן לפתוח חלון לתחילת העבודה. loginה. פשוט יש לבצע זאת הדרך המומלצת לעבוד

ApplicationsSystem ToolsTerminalטרמינל באמצעות

Windows-PCהתחברות ראשונית ממחשבי .GoGlobal – www.technion.ac.il/GGיש להתחבר באמצעות

רקע Innovus באופן אוטומטי. VLSIתכנון ומימוש של המסכות מעגל אפשרמ Innovus -הכלי

הוא כלי מתוחכם מאד ומסוגל לבצע:

- timing analysis

- physical synthesis

- clock tree synthesis

- power analysis

- voltage (IR) drop analysis

- signal integrity analysis

- crosstalk analysis

לתיקון התקלות layout -ות הכלי מסוגל לבצע תיקונים אוטומטיים במעבר לאנליזות השונ

באופן כללי ניתן . יבצורה נכונה על מנת לקבל תכנון אופטימאל חשוב לכוון את הכלי שנתגלו.אוטומטי למעגל. ראשית מבצעים את layoutלומר שקיימים שני שלבים עיקריים של בנית

בשלב , הכניסות/יציאות שלהםמיקום וקים בתכנון וכלומר מיקום הבל floorplan -תכנון ה .ובין כל תתי הבלוקים שני מבצעים את מיקום תאי הספרייה והחיווט שלהם בכל תת בלוק

טובה של העל מנת לקבל הערכ layout -הכלי מאפשר מימוש מהיר מאד של "אב טיפוס" של ה

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

טיפוס".

ברוב הפרויקטים אין צורך לעבוד בצורה היררכית. layout -בתכנונים גדולים מומלץ לבנות את השל floorplan -ראשית יבנה הכלומר top->downשיטת העבודה כאן תהיה . בשיטה ההיררכית

ד. בשלב האחרון יבוצעו רכל השבב כולל חלוקה לתת בלוקים. לאחר מכן ימומש של תת בלוק בנפאם אתה בכל זאת שוקל לעבוד היררכית, עליך פעולות הנדרשות לחיבור הבלוקים ביחד.ה

להתייעץ עם צוות המעבדה.

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

שלבים הבאים :מה

Page 2: Innovus 15.2 ילכה םע Layout תינב לע הכרדה תרבוחvlsi.eelabs.technion.ac.il/.../2018/05/innovus56_tsl018.pdf1 למשח תסדנהל הטלוקפה .ל.ט.מ - ןוינכטה

2

קריאת קבצי הטכנולוגיה .1 רים כלומר אחרי סינתזה( של המעגל)ברמת שע verilog -קריאת קובץ ה .2

הראשוני Floorplan -אתחול והגדרת ה .3

תאיםמיקום ה .4

מימוש רשת ההספקה .5

חיווט התכנון .6

הגדרת סביבת העבודה לפני תחילת העבודה יש ליצור ספריה חדשה ולהעתיק קבצי הגדרות. צור ספרייה חדשה:

mkdir innovus

cd innovus

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

המסונתז לספריה החדשה. verilogהעתק את הקובץ יש להעתיק גם את הקבצים הבאים:

cp /users/iit/cadence/tsl018c/env.globals .

cp /users/iit/cadence/tsl018c/cds.lib .

cp /users/iit/cadence/tsl018c/mmmc.view .

cp /users/iit/cadence/tsl018c/top.sdc .

הכנת הקובץ המסותנז

של האריזה. לפני תחילת pins -הנחוצים לחיבור של השבב ל padsנתז אינו מכיל הקובץ המסולקובץ. ניתן לעשות זאת באופן ידני או באמצעות pads -, יש להוסיף את הlayout -העבודה על ה

סקריפט אשר יעדכן את הקובץ באופן אוטומטי. לשם בניית הקובץ יש להריץ את הסקריפט הבא:

/users/iit/cadence/tsl018c/gentop.pl verilog_file_name top_module_name לדוגמא:

/users/iit/cadence/tsl018c/gentop.pl decoder.v decoder

בסיום הריצה יתקבלו שני קבצים:top.v

top.io

כי הסקריפט פעל בהצלחה, יש יש לוודא. pads-נמצא התכנון המעודכן כולל ה top.v-בקובץ ה באמצעות העורך: top.v-קובץ הלפתוח את

nedit top.v ולוודא כי בשורות הראשונות מופיעים חיווטים:

module top();

wire wire1;

wire wire2; …

במידה ומופיעים רק שני חיווטים:module top();

wire net1000;

wire net1001;

כראוי, מומלץ לעיין הוקלד top_module_name-, יש לוודא כי שם ההסקריפט לא רץ כראוי בקובץ המסונתז ולוודא כי זהו אכן השם הנכון.

יופיעו השורות הבאות : top.v -שנוצר. ב Verilog יש לבצע תיקון קטן לקובץראשית,

Page 3: Innovus 15.2 ילכה םע Layout תינב לע הכרדה תרבוחvlsi.eelabs.technion.ac.il/.../2018/05/innovus56_tsl018.pdf1 למשח תסדנהל הטלוקפה .ל.ט.מ - ןוינכטה

3

pv0a PAD_G1 ( .VSSO(VSSO) );

pv0i PAD_G2 ( .VSS(VSS) );

pv0c PAD_G3 ( .VSSC(VSS) );

pvda PAD_I1 ( .VDDO(VDDO) );

pvdi PAD_I2 ( .VDD(VDD) );

pvdc PAD_I3 ( .VDDC(VDD) );

-יש לשנות אותן ל

pv0a PAD_G1 ; ) (

pv0c PAD_G3 ( .VSSC(VSS) );

pvda PAD_I1 ; ) (

pvdc PAD_I3 ( .VDDC(VDD) );

קיימת בעיה . pvdc -ו pv0cולא כפי שצוין לעיל pvdi -וב pv0i -: בעקרון נדרש להשתמש ב חשוב -ו pv0c -לרשתות ההספקה ולכן בשלב זה נשתמש ב pvdiואת pv0iלא מחבר את Innovus -ש

pvdc .ונחליף אותן בהמשך הדרך

משתנה, יש להקפיד על שמות זהים, top module-לפעמים לאחר ביצוע הסינתזה, שם ה -הערהקובץ המסונתז על מנת שהסקריפט יעבוד יש להסירו מה module-לשם ה '\'במידה והתווסף סימן

כראוי. -ניתן למצוא ב pads -שמכיל גם את התכנון וגם א ה verilogדוגמא של קובץ

/users/iit/cadence/tsl018b/top.v שים לב ל- pads של קווי ההספקה ושל פינות ה- layout.

)חלק א'( RAM*שילוב זכרונות towerשל הפרויקט נוצרו באמצעות הכלי של RAM-נות הכרויאת השלב הבא יש לבצע במידה וז

המופיע באתר. במידה ויש לכם Using Tower 0.18u RAM memoriesובאמצעות המדריך זכרונות אחרים ניתן לדלג על שלב זה.

הגדרה ריקה מכיל top.v -קובץ הש יש לוודאלא בוצעה סינתזה. RAM-ה Moduleכאמור עבור א :לדוגמשל הזיכרון

module mymem ( A, CEB, WEB,

OEB, CSB, I, O);

input [7:0] A ;

input CEB ;

input WEB ;

input OEB ;

input CSB ;

input [31:0] I ;

output [31:0] O ;

endmodule

)זהה גם לשם שנבחר macro-בשורת ה lef-כרון כפי שמופיע בקובץ היהוא שם הז mymemכאשר לקווים בודדים. buses -יתכן שהסינתזה פירקה את ה כרון עם הכלי(.יבעת היצירה של הז

Innovusהפעלת כלי יפתח חלון גרפי, בחלון (.שיצרתה י)מתוך הספר innovus: פעל את הכלי בעזרת הפקודהה

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

, הקובץ env.globalsוטען את קובץ load. בחלון שנפתח לחץ על Design File Importלחץ על מגדיר את הדברים הבאים:

- top.v זהו הקובץ שנוצר באמצעותgentop והגדרת ה-top module .שלו )תזמונים, הספקים...(. tower רכיביאפיון של המכילים tlf, lefקבצי -

Page 4: Innovus 15.2 ילכה םע Layout תינב לע הכרדה תרבוחvlsi.eelabs.technion.ac.il/.../2018/05/innovus56_tsl018.pdf1 למשח תסדנהל הטלוקפה .ל.ט.מ - ןוינכטה

4

.mmmc.view -קובץ זה נקרא ע"י קובץ ה. top.sdc קובץ אילוצי תזמון -. )קובץ זה גם הוא נוצר באמצעות pads-המגדיר את מיקום ה -לדוגמא IO FILE-מיקום קובץ ה -

gentop) VSS -ו Power (VDD VDDC VDDO-, הגדרות מתחי ההספקה בadvanced-בלשונית ה -

(VSSC VSSO. .OKלחץ על

הכלי מאפשר הצגת התכנון בשלשה ייצוגים שונים : חשוב :

: מציג מיקום הבלוקים Floorplan Viewא.

: מציג מיקום התאים הבסיסיים Amoeba (placement) Viewב.

: מציג את כל הפרטים של המימוש Physical Viewג.

בצד ימין : viewשלשת הכפתורים במסגרת ניתן לעבור בין הייצוגים ע"י לחיצה על

שמירת התכנון

. אחרי הפעלת הכלי DesignSave Designניתן לשמור את העבודה בכל שלב בעזרת הפקודה :

.DesignRestore Designמחדש ניתן להעלות את התכנון מחדש בעזרת :

)חלק ב'( RAM*שילוב זיכרונות ובאמצעות המדריך towerידה והם נוצרו באמצעות הכלי של יש לבצע במ RAMכרונות ישילוב ז

Using Tower 0.18u RAM memories כרונות אחרים ניתן יהמופיע באתר. במידה ויש לכם ז לדלג על שלב זה.

בשדה RAM -של ה LEF file -של הזיכרון. הוסף את שם ה LEF file -עליך לטעון את ה .1 .Import-הבחלון LEF File -ה

-ו tsl18_memory_typ.libנוצרים שני קבצים בשם RAM-יצירת ה בתהליך .2mymem_typ.lib צריך לצור קובץ חדש בשם .mem_typ.lib על ידי הוספת התוכן שלmymem_typ.lib לקובץtsl18_memory_typ.lib בדיוק לפני השורה האחרונה. את

mem_typ.lib יש להוסיף לשדה של ה- Timing Libraries.

ת :הערוהוא שם התכנון. סביר designכאשר design.globalsיוצרת קובץ בשם saveלחיצה על .1

להניח שיהיה צורך לחזור על טעינת התכנון מספר פעמים. בפעם הבאה שמבצעים DesignImport ניתן ללחוץ על הכפתורload על מנת להעלות את התצורה השמורה

כל שדות הטופס.ובכך לחסוך מילוי design.globals -ב

מספר שלם( מכיל עותק של כל הפקודות שביצעת. ניתן N) innovus.cmdNהקובץ .2. אם יש צורך בביצוע הפקודות פעם נוספת, ניתן scriptfileלהעתיק את הפקודות לקובץ

לעשות זאת בעזרת :source scriptfile

מלץ לעיין בכל קובץמו לפעמים נוח יותר לעבוד בצורה זאת במקום עם חלונות וטפסים.script .שאתם מתבקשים להריץ

( שדרכו terminal -)כלומר ה unix -( מריצים בחלון הsourceכל פקודה ידנית )כגון פקודת .3 הופעל הכלי.

בכל חלון אין לשנות את מצב הכפתורים והשדות, אלא אם צוין אחרת. .4

עד כאן זכרונות. .OKלטעינה לחץ על

Page 5: Innovus 15.2 ילכה םע Layout תינב לע הכרדה תרבוחvlsi.eelabs.technion.ac.il/.../2018/05/innovus56_tsl018.pdf1 למשח תסדנהל הטלוקפה .ל.ט.מ - ןוינכטה

5

Floorplan -הגדרת ה

ראשית נקבע את הגודל של הסריג. לחץ על :

ניתן בתפריט זה. FloorplanSpecifyבעזרת לחיצה על Floorplan-צורת ה יש להגדיר את כעת :Floorplan-להגדיר את המאפיינים של ה

Core to IOבמרכז התפריט וודא כי – I/O pads -ל (core)יש לשנות את המרחק בין הליבה .א

Boundary סומן. שנה את ערכי ארבע השדות מ"Core to…" ראה תמונה(100-ל( .

אם יסתבר שהגודל רת המחדל. ים גודל שבב שנקבע ע"י ברלעבוד ע ישגודל השבב: הגדרת .ג

. Die Size by Width Heightלא מתאים, ניתן לשנותו בעזרת השדות הם שמימדי השבב דא שוב. וו FloorPlanSpecify פתח את הטופס של : חשוב מאד .ד

0.01ושנה את גודל השבב לכפולה של Die Sizeאם זה לא מתקיים לחץ על .0.01כפולות של שקיבלת. הקרובה ביותר לגודל

Design Browser

, בחר ToolsDesign Browserפתח כלי זה מאפשר חיפוש ובחירה של תאים ו/או רשתות. )עיגול עם מלבן באמצע(. Zoom Selectedר את האובייקט הרצוי ולחץ על הכפתו

של התאים הגדרת ההספקותאת מבוצעת בעזרת הפקודה זספקות. פעולה אשל כל תא יחובר ל pinי איזה ליר לכדיש להג

Power Connect Global Netsעבור .VDD רשוםVDD בשדותPin Names ו- To Global

Net ולחץ על הכפתורAdd to List על . לחץapplyספקות : א. חזור על הפעולה עבור כל אחד מה VDD VDDC VSS VSSC.

ולחץ To Global Net -בשדה VDDם ו, רשTie High, לחץ על Pins -כעת מחק את הכל משדה ה

Pin -ו Instance Basename-ה ות. מחק את הכל משדapply. לחץ על Add to Listעל הכפתור

Names לחץ על ,Tie Lowם ו, רשVSS בשדה- To Global Net ולחץ על הכפתורAdd to List . .closeולאחר מכן על applyלחץ על

הרצת הקובץ:source /users/iit/cadence/tsl018c/glnets.src

זאת באופן אוטומטי. תמבצע

grid -ל pads -הצמדת ה ובצע : pads -בחר את כל ה

Page 6: Innovus 15.2 ילכה םע Layout תינב לע הכרדה תרבוחvlsi.eelabs.technion.ac.il/.../2018/05/innovus56_tsl018.pdf1 למשח תסדנהל הטלוקפה .ל.ט.מ - ןוינכטה

6

snapFPlanIO -userGrid

iopads -ההשלמת מסגרת יש למלא את הרווחים בתאי מילוי. בצע זאת בעזרת הפקודה:

source /users/iit/cadence/tsl018c/iofill.src

)שלב ג'( RAM*מיקום תאי עבור לשלב הבא. RAMאם התכנון לא מכיל תאי

)בצד moveשל פקודת icon -בחר את התא )בד"כ הוא נמצא בצד ימין למטה(. לחץ על האל למעלה(. לחץ על התא והזז אותו למקום הרצוי. יש להשאיר מקום פנוי מסביב לתא עבור שמ

ולחץ על 30 -. שנה את כל האפסים לFloorplanEdit Halosבחר את התא ולחץ על -החיווטO.K מיקרון מסביב לתא. 30. פעולה זאת מונעת מיקום תאים אחרים בתווך של

ספקהאהגדרת רשת ה ספקות בעזרת שתי פקודות :אהאת רשת ניתן לממש

PowerPower PlanningAdd Rings .א PowerPower PlanningAdd Stripes .ב

סביב כל בלוק או סביב אספקהטבעות הוסף PowerPower PlanningAdd Rings בעזרת בחלון שנפתח, הגדר איזה טבעות רצויות ובחר:כל הליבה.

בלבד. VSS-ו nets :VDD -בחר ב - left,right :M5הצלעות - top,bottom :TOP_Mהצלעות - 6רוחב הפס : - 1.8מרחק בין הפסים : -

.Centre of Channel –בחר ב offsetליד -

.applyבסוף לחץ על ניתן להוסיף רצועות נוספות של קווי Power->Power Planning->Add Stripesבעזרת

פן שתואם את הטופס של הטבעות:השלם את הטופס באו ספקה.אה בלבד. VSS -ו nets :VDD -בחר ב -

M5הצלעות האנכיות : - TOP_Mהצלעות האופקיות : - בדרך כלל נגדיר רק צלעות אנכיות או צלעות אופקיות - 6רוחב הפס : - 1.8מרחק בין הפסים : -

90רשום : X from right -ו X from left -ב -

ובחר את האופציות: Advanced -לחץ על כפתור ה -- Omit Stripes inside block rings ו- - Omit stripes over selected blocks/domains קודם עליך לבחור את כל הבלוקים( –

שלא אמורים להיות מכוסים בקווי ההספקה( – RAMלמשל תאי

.applyלחץ על :script -ניתן לבצע את הפעולות הנ"ל עם ה

source /users/iit/cadence/tsl018c/power.src

מיקום התאיםלמקם תאים תוך כדי Innovus -בשלב זה נרצה למקם את התאים. על מנת לגרום ל

אופטימיזציה בתזמון הכללי יש לספק את האילוצים המתאימים. למיקום התאים בתנאים אלה הרץ :

source /users/iit/cadence/tsl018c/place.src

Page 7: Innovus 15.2 ילכה םע Layout תינב לע הכרדה תרבוחvlsi.eelabs.technion.ac.il/.../2018/05/innovus56_tsl018.pdf1 למשח תסדנהל הטלוקפה .ל.ט.מ - ןוינכטה

7

:בצע רק מיקום בעזרת פקודות התפריטניתן לPlaceSpecifyPlacement Blockage

:. כעת בצע מיקום של התאים בעזרת הפקודהOKבחלון שנתפתח סמן את כל המתכות. לחץ על

PlaceStandard Cells

בחלון שנפתח. התאים אינם מכסים את השטח באופן מלא. OKלחץ על

Clock Tree Synthesis (CTS) –עץ שעון מאוזן

יש להלן דוגמא של רצף הפקודות שממשות על שעון. יש להתאים את הפקודות שמימוש שלכם. באדום מתאים לתכנון : text -לוודא שה

create_ccopt_clock_tree -name top -source I5/CIN

set_ccopt_mode -cts_inverter_cells "invbd2 invbd4 invbd7 invbda invbdf \

invbdk" -cts_target_skew 0.2 -cts_target_slew 0.2

set_ccopt_mode -cts_buffer_cells {bufbd1 bufbd2 bufbd3 bufbd4 bufbd7}

set_ccopt_property target_max_trans 150ps

set_ccopt_property target_skew 0.2

create_route_type -name RT_trunk_leaf -top_preferred_layer M4 - \

bottom_preferred_layer M3 -preferred_routing_layer_effort high

set_ccopt_property route_type RT_trunk_leaf -net_type leaf

set_ccopt_property route_type RT_trunk_leaf -net_type trunk

set_ccopt_mode -integration native

ccopt_design -cts

בקובץ :)+ פקודות אופטימיזציה נוספות( ניתן למצוא את הפקודות /users/iit/cadence/tsl018c/ccopt.src

הערות :

במקרה זה יש להעתיק את הקובץ ולתקן את העותק המקומי. - את העותק המקומי מרצים בעזרת : -

- source ccopt.src

.של הכלי manual -ב של הפקודות השונותראה הסבר על מבנה - מציין שהשורה ממשיכה לשורה הבאה. "\" - לפני הכנסת תאי המילוי. CTSיש להריץ -

- CTS קובץ הניתן לשמור את . דשיוצר מבנה ח- Verilog .החדש

.Clock->CCopt Clock Tree Debuggerניתן לראות את העץ בעזרת : -

מילוי הרווחים ה:יש למלא את הרווחים בתאי מילוי. בצע זאת בעזרת הפקוד

source /users/iit/cadence/tsl018c/fill.src

ההנחה כאן, היא שהתכנון מכיל תאים סטנדרטיים בלבד. הסבר עבור מקרים אחרים יובא בהמשך.

ספקהאחיווט קווי ה

.OKלחץ על .pad_rings -חשוב : כבה את הכפתור של ה .RouteSpecial Routeלחץ על

חיווט התכנון

בחר לביצוע חיווט מלא של התכנון. RouteNanorouteRoute חיווט בעזרת ן לבצע את הנית

גם הפעם נבצע את החיווט בעזרת קובץ שגם מכיל .Detail Route -ו Global Routeבאופציות פקודות אופטימיזציה נוספות.

source /users/iit/cadence/tsl018c/route.src

Page 8: Innovus 15.2 ילכה םע Layout תינב לע הכרדה תרבוחvlsi.eelabs.technion.ac.il/.../2018/05/innovus56_tsl018.pdf1 למשח תסדנהל הטלוקפה .ל.ט.מ - ןוינכטה

8

פקסאנליזת ה

ההספק בכמה שיטות : אנליזתניתן לבצע את אנליזה סטטית : כל צרכן ממודל כמקור זרם קבוע - אנליזה דינמית : כל צרכן ממודל כמקור זרם משתנה -

o .ניתן להריץ אנליזה זאת עם וגם ללא ווקטורים

אנליזת הספק סטטית .OKולחץ על static-בחר ב Power->Set Power Analysis->Set Power Analysis Mode -ב Flop -הכנס מספר מתאים ל Power->Set Power Analysis->Run Power Analysis -ב

Activity ולחץ עלOKבחלון ה .- terminal תתקבל התוצאה. התוצאות תשמרנה בספריה שציינת בחלון הקודם. Run Directoryבשדה

)לבצע רק בהוראה מפורשת של המנחה( דינמיתאנליזת הספק

אנליזת הספק דינמית ללא ווקטורים. ההסבר כאן יתאר רק

-ו dynamic-בחר ב Power->Set Power Analysis->Set Power Analysis Mode -ב

vectorless של ה. חשוב גם להכניס את המיקום- Power Grid Libraries: /tools/kits/tower/PDK_TS18SL/iit/tower_allcells/fast_allcells.cl

הכנס מספר מתאים Power->Set Power Analysis->Run Power Analysis -ב .OKולחץ על Run Directoryהתוצאות תשמרנה בספריה שציינת בשדה .OKולחץ על Flop Activity -ל

ניתן לראות את התוצאות בספריה זאת עם : בחלון הקודם.Power->Report->Dynamic Waveforms. :בחלון שנפתח בחר ב

Power (Current) Waveforms .א

בחלון הרצה. Run Directoryבחר בספריה שציינת בשדה State Directoryבשדה .ב

dynamic_generalVDD.ptiavgובחר הקובץ Addלחץ על .ג

Total Current -בחר ב Composite Waveformבשדה .ד

Plotלחץ על .ה

- IR Drop Rail Analysis אנליזתל יש התנגדות מסוימת. התנגדות זאת גורמת למפל למעג VSS -ו VDDלקווי המתכת שמספקים

-נקי בקו ה 0מלא ו/או מתח VDDמתח לאורך הקו וכתוצאה מזה, המעגלים אינם מקבלים VSS תופעה זאת נקראת .IR Drop סטטי. בנוסף לכך לקווים המוליכים את ההספקות מהאריזה

IRגם יגרמו למפל מתח הנקרא אל תוך השבב השראות לא זניחה. שינויים בזרם בתדרים גבוהים

Drop .דינמי

סטטי ודינמי. על מנת לעשות זאת Rail Analysisאו IR Dropמאפשר חישוב של velocityהכלי , Rail Analysisביצוע מידע מדויק על צריכת הספק סטטי ודינמי של המעגל עצמו. לפני ביש צורך

רק Rail Analysisעליך לבצע פי שהוסבר לעיל. ראשית יש לבצע את אנליזת ההספק המתאימה כ ניתן לקבל מצוות המעבדה. Rail Analysisהסבר מפורט על ביצוע . בהוראה מפורשת של המנחה

.Early Rail Analysisחובה לבצע

Early Rail Analysis ע לעתים, יש צורך בבחינת קווי ההספקות בשלב מוקדם מאד של התכנון. קיימת אפשרות לביצו

Rail Analysis על סמך הערכת הספק בלבד(Early Rail Analysis). Power-> Rail Analysis->Setup Rail Analysisפתח את הכלי :

.Early -בחר ב Analysis Stageעבור רשום : Power Grid Librariesבשדה של

/tools/kits/tower/PDK_TS18SL/iit/tower_allcells/fast_allcells.cl

Page 9: Innovus 15.2 ילכה םע Layout תינב לע הכרדה תרבוחvlsi.eelabs.technion.ac.il/.../2018/05/innovus56_tsl018.pdf1 למשח תסדנהל הטלוקפה .ל.ט.מ - ןוינכטה

9

OKלחץ על

-ורשום שם עבור ה Domain Based -ובחר ב Power-Run Rail Analysisפתח את החלון Domain בשדה .Power Net רשום VDD ב ,- Voltage וב 1.8רשום- Threshold 1.62רשום -וב 0רשום Voltage -, ב VSSרשום Ground Netבשדה . (10%פחות VDD )כלומר

Threshold כלומר 0.18רשום( של 10%VDD לחץ על .)Area Based בשדה של וTotal Power כעת, יש להכין . 0.9רשום Bias -בשדה הערת. והממוצעת המש ההספקרשום את צריכת

Create -על ולחץ XY Fileלחץ על של האספקות. Pads -את המיקום של ה יםהמגדיר ציםקוב :Edit Pad Location -חלון ב

VDDרשום Net Name -ב -

Get Coordלחץ על -

VDD -ה pad -לחץ על פס המתכת שיוצא מ - בחר במתכת המתאימה -

. יופיע עיגול צהוב.addלחץ על -

.VDD padחזור על הפעולה עבור כל -

vddtop.pp למשל –ורשום שם של קובץ saveלחץ על -

. vsstop.ppבקובץ ושמור את הנתונים save. לחץ על VSSחזור על הפעולות עבור

ולחץ Net Name -בשדה ה VDD -ו File -בשדה ה vddtop.ppרשום XY Fileלאחר לחיצה על -בשדה ה VSS -ו File -בשדה ה vsstop.pp, כלומר רשום VSS. חזור על הפעולה עבור Addעל

Net Name ולחץ עלAdd.

. ERA/.רשום Results Directoryבשדה . OKיזה לחץ על להרצת האנל

Page 10: Innovus 15.2 ילכה םע Layout תינב לע הכרדה תרבוחvlsi.eelabs.technion.ac.il/.../2018/05/innovus56_tsl018.pdf1 למשח תסדנהל הטלוקפה .ל.ט.מ - ןוינכטה

10

שים לב שבסוף הריצה מתקבלת הודעה :Rail Analysis completed successfully

-. בחר בPower-> Reports->-Power & Rail Results -על מנת לראות את התוצאות, בחר ב

DB Setup בחלון שנפתח בצד שמאל. בחלון שנפתח, בחר ב- Brower שלידRail Database בחר .לחץ שבחרת(. Domain -זה שם ה DomName)כאשר DomName_25C_avg_1 -וב ERA -ב

לחץ על .OKואז על , Directory -מופיע בשדה ה DomName_25C_avg_1כאשר chooseעל Layers/Nets תחת חלונית ,ובחלון שנפתחNets , בחר רק ב- VDD. לידType בחר ב- Rail לחץ .לחץ .VDDעבור IR Drop -ת ה. כעת ניתן לראות אIR Drop -ובחר ב none-Clearעל החץ שליד

.VSSעבור IR Drop -על מנת לראות את ה VSS -ובחלון שנפתח בחר רק ב Layers/Netsעל

כמובן, ניתן לראות תוצאות נוספות של הניתוח בעזרת חלון זה. לקבלת הסברים על כך יש לפנות לצוות המעבדה.

)לבצע רק בהוראה מפורשת של המנחה( אנליזת תזמון

נטען בהצלחה בזמן קריאת קובץ mmmc.view -ין לבצע את האנליזה הזאת רק אם קובץ הנתמגדיר את פינות התזמון השונות וגם mmmc.view -בתחילת העבודה. קובץ ה top.globals -ה

top.sdc -המגדיר את כל אילוצי התזמון. על קובץ ה top.sdcבשם טוען את קובץ האילוצים הגדרת השעון : להכיל לכל הפחות את

create_clock clock_pin_name –name clock_name –period 10 –waveform {0 5}

יש לציין זאת בטופס. CTSאם בוצע – TimingReport Timingבצע : TimingTiming Debugכדי לראות את התוצאות :

Timing Optimization

Page 11: Innovus 15.2 ילכה םע Layout תינב לע הכרדה תרבוחvlsi.eelabs.technion.ac.il/.../2018/05/innovus56_tsl018.pdf1 למשח תסדנהל הטלוקפה .ל.ט.מ - ןוינכטה

11

יתן לתקנן ע"י שינויים קלים בתכנון. אם בסעיף לעתים, כאשר הפרות התזמון אינן גדולות מדי, נ. פעולה זאת OK. לחץ על Timing-> Optimizeשלילי הפעל את הפקודה : slackהקודם קיבלת

.timing violations -מנסה לפתור את ה

2gdsיצירת קובץ בר ניתן . לאחר המעLVS -ו DRCקובץ זה נחוץ על מנת שאפשר יהיה להעביר את התכנון לכלי

ידניים אם יש צורך בכך. הקובץ נוצר בעזרת הפקודה: layoutיהיה גם לבצע תיקוני GDS Design-> Save-> . בשדה והכנס שם קובץ היציאה בחלון שנפתח- Map File : רשום

./users/iit/cadence/tsl018b/gds2_6lm.map

OAיצירת קובץ ולאחר מכן OpenAccess (OA)מור בפורמט לש היא LVS -ו DRCלכלי לעבור דרך נוספת

virtuoso -יש להעביר את התכנון ל ןהשיטה הזאת אינה עובדת בשלב זה ולכ. virtuoso-לפתוח ב

.gds -בעזרת קובץ ה

אם סביבה זו לא קיימת הגדר .virtuoso ראשית, עליך לצור ספריה שבה ישמר התכנון בסביבתוהוסף את השורות cds.lib-. ערוך את קובץ הcadence virtuosoאחת כפי שמוסבר במסמך

הבאות:DEFINE tsl018fsb /tools/kits/tower/libs/OA/tsl018fsb

DEFINE tsl018iob /tools/kits/tower/libs/OA/tsl018iob

. virtuosoבאמצעות הפקודה virtuosoשמור את השינויים וצא מהעורך. הפעל את , בצד ימין layoutלדוגמא ספרייה בשם FileNewLibraryת כעת צור ספריה חדשה באמצעו

. בחלון OKולחץ "Attach to an existing technology library"סמן את Technology file-ב .OK. לחץ ts018_prim-הבא בחר ב

לחץ על:את התכנון בצורה הבא, Innovusכעת ניתן לשמור בכלי

DesignSave Design AsOA

:layoutלספריית את התכנוןשמור

.layout -ל abstract -של כל התאים מ views -חשוב : בתא שנוצר, יש לשנות את ה

תכנון היררכי

. צריך )שטוחה( ברמה היררכית אחת layout -כאשר התכנון גדול מאד, לא ניתן לבנות את הבלוק לחוד ואז לאחד אותם של כל תת layout -לחלק את התכנון לתת בלוקים ולבנות את ה

)יש להיעזר בהסברים לעיל של המימוש השטוח(. ברמה העליונה.

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

Page 12: Innovus 15.2 ילכה םע Layout תינב לע הכרדה תרבוחvlsi.eelabs.technion.ac.il/.../2018/05/innovus56_tsl018.pdf1 למשח תסדנהל הטלוקפה .ל.ט.מ - ןוינכטה

12

אם אינך רואה את תת הבלוקים של התכנון בצד שמאל, לחץ עלdesign->preferences או 25-ל min. floorplan module size ושנה את הערך שליד displayובחלון שנפתח על

ק לחץ על בלו –לערך קטן יותר עד שתראה את תת הבלוקים. אם זהו בלוק בתוך בלוק .ungroupהעליון ואז רשום

.מקם את הבלוקים הרצויים במקומם

עבור כל תת בלוק בחר אותו ולחץ עלpartition->specify partition ובחלון שנפתח עלadd/replace

בצע את מיקום קווי האספקה ע"י ביצוע

source /users/iit/cadence/tsl018b/power.src

לחץ עלplace->specify placement blockage ובטופס שנפתח סמן את כל האפשרויות

שמור את התכנון ע"י.design->save->floorplan

לחץ עלpartition->commit partition ו- design->save->partition.

בשלב זה התכנון מוכן לעבודה על כל בלוק בנפרד. לחץ עלdesign->save->partition ותן שם כלשהו לספרייה.

וך ספרייה זו יהיו תתי ספריות ובתוכם כל הבלוקים + הרמה העליונה. בת)****(

בחר בלוק ובצעPartition->Change Partition View פעולה זאת גורמת למעבד לתת . כפי שתואר בתכנון שטוח. layout -בלוק. בנה את ה

בסיום העבודה שמור את התוצאה בקובץdef.

בצעPartition->Change Partition View .על מנת לחזור לבלוק העליון

בנה את ה- layout .באופן דומה עבור כל תת בלוק. חזור לרמת העליונה

לחץ עלplace->Std Cells and Blocks ובטופס שנפתח לחץ עלOK

לחץ עלRoute->Sroute לחץ על .Advanced בחלון שנפתח ולחץ עלExtension

Controlבחר ב .- none עבור Primary Connection-Standard Cell Pins and Stripוב- Last Cell in Row עבורSecondary Connection/Stop יש לבצע את הפעולה עבור כל( .

.)רשתות האספקה

לחץ עלroute->trialroute ובחלון שנפתח לחץ עלOK.

בסיום כתובflattenPartition או בצע( ,Partition->Unpartitionכ .) עת התכנון הוא שטוח וניתן להריץ עליו בדיקות.

טען את האם במקרה יצאת מהכלי, הפעל אותו שוב ו-floorplan ואת ה- partition .partition->commit partitionששמרת קודם ולחץ על

לחץ על –עבור כל בלוקpartition->change partition view ובסך החדש שיפתח לחץ עלdesign->load->def והכנס את קובץ הdef .של הבלוק שיצרת קודם

בסיום כתובflattenPartition או בצע( ,Partition->Unpartition כעת התכנון הוא .) שטוח וניתן להריץ עליו בדיקות.

בשלב זה, ניתן להמשיך את העבודה בדרך האחרת : )****(

צא מהכלי ,הכנס לתוך הספרייה של הבלוק הרצוי ובצע לוlayout – שים לב שנוצרו( בטופס ייבוא conf)וטעינת קובץ loadקבצים בספרייה זו לעבודה מהירה ע"י לחיצה על

התכנון.

חזור לספרייה המקוריות –לאחר סיום העבודה על כל הבלוקים

חבר את כל קבצי ה-veriliog ע"י טעינה של קובץ הקונפיגורציה בטופס ייבוא התכנוןשנמצאים בספריות verilog-הוסף את קבצי ה –של התכנון המקורי אך במקום הקובץ

של הבלוקים כאשר הרמה העליונה ראשונה.

לחץ עלdesign->save->netlist ורשום שם חדש לתכנון

.טען את התכנון מחדש אך כעת עם הקובץ החדש שהכנת

טען את הfloorplan ואת ה- partition ששמרת קודם ולחץ עלpartition->commit

partition

Page 13: Innovus 15.2 ילכה םע Layout תינב לע הכרדה תרבוחvlsi.eelabs.technion.ac.il/.../2018/05/innovus56_tsl018.pdf1 למשח תסדנהל הטלוקפה .ל.ט.מ - ןוינכטה

13

לחץ על –עבור כל בלוקpartition->change partition view ובסך החדש שיפתח לחץ עלdesign->load->def והכנס את קובץ ה-def של הבלוק שיצרת קודם. חזור לרמת

. partition->change partition viewהעליונה עם

לחץ עלplace->Std Cells and Blocks שנפתח לחץ על ובטופסOK

לחץ עלRoute->Sroute לחץ על .Advanced בחלון שנפתח ולחץ עלExtension

Controlבחר ב .- none עבור Primary Connection-Standard Cell Pins and Stripוב- Last Cell in Row עבורSecondary Connection/Stop יש לבצע את הפעולה עבור כל( .

.)רשתות האספקה

חץ על לroute->trialroute ובחלון שנפתח לחץ עלOK.

בסיום כתובflattenPartition או בצע( ,Partition->Unpartition כעת התכנון הוא .) שטוח וניתן להריץ עליו בדיקות.

לבצע רק בהוראה מפורשת של המנחה(מכאן ואילך יש ) LAYOUT -. בדיקת ה4

הכנת הסביבה 4.1

בעזרת הפעל את הכלי. virtuosoשל manual -ן סביבה כפי שהוסבר בראשית עליך להכי הפקודה:

virtuoso

-ו project_username. ניתן לראות שתי ספריות : design_manager -פתח את ה

project_master. ניתן לעבוד עם כל אחת .

layout -תיקון ה 4.2 בהתאם. pvdi -ו pv0i -ל pvdc -ו pv0cיש להחליף את כל תאי Layout -ב

:cdlיצירת קובץ 4.3

-נוצר מקובץ ה layout -דורשת את הסכמה של המעגל. לרב, היא לא קיימת כי ה LVS -בדיקה הverilog שיצר כלי הסינתזה. כלי ה- LVS יש מבצע את ההשוואה ברמה של טרנזיסטורים ולכן

קובץ זה נמצא בספריה (. verilogל הסכמה )קובץ ( שcdlלהכין תיאור ברמת הטרנזיסטור )קובץ top.enc.dat בספרית העבודה שלInnovus בצורה מקובצתtop.v.gz . ,את לפרוש יש ראשית

. pvdc -ו pv0c -בולא pvda -וב pv0a -הבא. בעקרון נדרש להשתמש ב הקובץ ולבצע את השינוי בקובץ מופיעות השורות הבאות :

pv0a PAD_G1 ;) (

pv0c PAD_G3 ( .VSSC(VSS) );

pvda PAD_I1 ;) (

pvdc PAD_I3 ( .VDDC(VDD) );

-שנה את השורות ל

pv0a PAD_G1 ;) (

pv0i PAD_G3 ( .VSSC(VSS) );

Page 14: Innovus 15.2 ילכה םע Layout תינב לע הכרדה תרבוחvlsi.eelabs.technion.ac.il/.../2018/05/innovus56_tsl018.pdf1 למשח תסדנהל הטלוקפה .ל.ט.מ - ןוינכטה

14

pvda PAD_I1 ;) (

pvdi PAD_I3 ( .VDDC(VDD) );

בא:באופן ה V2CDLבעזרת תוכנית בשם cdl-הקובץ ניתן ליצור את

/tools/mentor13/Calibre/ixl_cal_2013.2_35.25/bin/v2lvs -v top.v -o top.cdl

על מנת להריץ .top.cdl. הפקודה הנ"ל יוצרת קובץ בשם verilog -הוא שם קובץ ה top.v כאשר

ס לכל הודעת להתייח. חשוב mentorפקודה יש לוודא עם צוות המעבדה שיש לך הרשות של כלי בלת כתוצאה של הריצה.טעות שמתק

: שמתקבל cdlתיקונים ידניים נדרשים לקובץ

.pfrelrיש למחוק את השורות עם .א : להוסיףיש קובץ תחילת הב .ב

.GLOBAL VSS

.GLOBAL VDD

.include /users/iit/cadence/tsl018b/cdl/tsl18fs120.cdl

.include /users/iit/cadence/tsl018b/cdl/tsl18cio150.cdl

כך שיראו כך : pads -יש לתקן את הפינים של כל התאי ה .ג

XI16 pt3o01 $PINS VDD=VDD VSS=VSS VDDO=VDDO VSSO=VSSO PAD=net111 I=wire_st

XI5 pc3d01 $PINS VDD=VDD VSS=VSS VDDO=VDDO VSSO=VSSO PAD=net100 CIN=wire_clk

XD31 pc3b01 $PINS VDD=VDD VSS=VSS VDDO=VDDO VSSO=VSSO PAD=D1 OEN=V2 I=D1 CIN=KD

XPAD_G1 pv0a $PINS VSSO=VSSO VDD=VDD VSS=VSS VDDO=VDDO

XPAD_G3 pv0i $PINS VSSO=VSSO VDD=VDD VSS=VSS VDDO=VDDO

XPAD_I1 pvda $PINS VSSO=VSSO VDD=VDD VSS=VSS VDDO=VDDO

XPAD_I3 pvdi $PINS VSSO=VSSO VDD=VDD VSS=VSS VDDO=VDDO

כך שהמשפט יראה VSS=VSS -ו VDD=VDDהופעה של תא סטנדרטי יש להוסיף לכל .ד כך:

XU57 inv0d0 $PINS VDD=VDD VSS=VSS ZN=n52 I=n47

לסביבה החדשה וביצוע הבדיקות layout -העברת ה 4.4

( לתוך הספרייה. gds2 -כעת יש לקרוא את התכנון )קובץ ה File->Import->Streamהפעל - את שם הספרייה Library Nameובשדה gds2 -את שם קובץ ה Input File -בשדה ההכנס -

project_username אוproject_master.

בחר Available Libraries -בחלון ה Libraries -לחץ על לשונית ה.Show Optionsלחץ על -. Translateעל לחץ . Reference Libraries -והעבר אותן לחלון ה tsl018fsb tsl018iob: ב

.רשום שם כלשהו setup -הכלי יבקש שם קובץ לשמירת ה

Tool->Libraryבספרייה שלך. פתח חלון layoutתהליך זה יוצר תא בשם של התכנון שלך ומסוג

Manager .על מנת לראות את הספריות והתאים חשוב:

. אם הם אינם core -ספקה של האמחוברים לקווי ה VSS -וה VDDשל pads -. בדוק שה1. לאחר layout -ניתן לבצע זאת ב מחוברים יש לחבר אותם באופן ידני לפני הרצת הבדיקות.

! רצוי cancelולא על OKבחירת השכבה ואת הרוחב מבצעים את החיווט ובסוף לוחצים על ספקה!אלהוסיף שמות לקווי ה

של כל תתי הבלוקים. gds2 -יש לקרוא את קבצי הקודם אם התכנון הוא היררכי, . 2

Page 15: Innovus 15.2 ילכה םע Layout תינב לע הכרדה תרבוחvlsi.eelabs.technion.ac.il/.../2018/05/innovus56_tsl018.pdf1 למשח תסדנהל הטלוקפה .ל.ט.מ - ןוינכטה

15

LVS -ו DRCהרצת 4.5

קיימות . virtuosoמתבצעות בכלים שמופעלים באמצעות הפקודה layout -כל הבדיקות על ה .Assura -מספר שיטות לביצוע הבדיקות, עבור תהליך זה, נשתמש ב

Assura

DRC (Design Rule Check)בדיקת הוא שם החשבון שלך. drcuserכאשר tmp/drcuser/צור ספריה בשם -

שיצרת. layout -פתח את ה -

. Assura->Run DRCלחץ על -

(. undefined)במקום ts18sl_6M1Lבחלון שנפתח, בחר בטכנולוגיה : -

רשום :יהיה Switch Namesבשדה -" 6LM OA "

שנפתח. Progressגם בחלון OK. לחץ על OKלחץ על -

.YESצונך לראות את הטעויות, לחץ על בסיום הריצה הכלי ישאל אם בר - ניתן לראות את הטעויות השונות ע"י לחיצת על החצים בחלון שנפתח. -

LVS (Layout Vs. Schematic)בדיקת

לסכמה בכל המישורים: Layout -בדיקה זו משווה בין ה מול השרטוט הסכמתי. Layout -התאמת בין שמות הצמתים שקבעתם בשרטוט ה - התאמה בחיבוריות שבין האלמנטים. - .התאמה בערכי הרכיבים )גדלי הטרנזיסטורים, ערכי הקבלים וכו'( - התאמה במספר האלמנטים וסוגיהם. - שיצרת. layout -פתח את ה - Assura->Run LVSלחץ על - (. undefined)במקום ts18sl_6M1Lבחלון שנפתח, בחר בטכנולוגיה : -

רשום :יהיה Switch Names בשדה -" 6LM OA "

נכונים. Layout Design Source -וה Schematic Design source -ודא ששדות ה -- Schematic Design source : צריך להיותnetlist לחץ על .Add ורשום את שם קובץ ה- cdl

(top.cdl). - Layout Design Source : צריך להיותDFII. .וודא שהשדות מכילים את שם התא הנכון מעבר לזה, השתמש בבררות המחדל של הטופס. -

על שני החלונות שמופיעים. OKושוב על OKלחץ על - .Assura->Close Runבין שתי ריצות לחץ על - .YES. לחץ על LVS Debug Environment -אם להיכנס ל שואלבסיום הריצה, הכלי - ( ניתן לראות את הטעויות.View)תחת LVS Debugבאמצעות החלון -ולאחר מכן summary -ניתן ללחוץ על האלמנטים השונים ב Cell Listאם בוחרים שם בשדה -

. layout -כלי שמאפשר הצגת הטעויות על הסכמה ועל ה open toolעל ע רב לגבי תוצאות הבדיקה ראות מידניתן ל Viewתחת LVS Debug Environmentבחלון -

.Views -של שני ה netlist -כולל ה

. להלן מספר סיבות מסיבות שלא נובעות לשגיאות בתכנון : לפעמים הבדיקה נכשלת חשוב אפשריות לכישלון :

מופיע עם סוגריים מסוג ][, ובסכמה עם סוגריים מסוג ><. layout -ב BUS: שם של בעיה .1

כפתור : ואז לחץ על View Additional Functionsלחץ על assura: בחלון של פתרון

Page 16: Innovus 15.2 ילכה םע Layout תינב לע הכרדה תרבוחvlsi.eelabs.technion.ac.il/.../2018/05/innovus56_tsl018.pdf1 למשח תסדנהל הטלוקפה .ל.ט.מ - ןוינכטה

16

Modify changeLabel Function שמאפשר החלפת הסוגריים. לחץ על הכפתור, בשדהReplace Sub Strings רשום "[" בשדהOLD בשדה -ו ">"NEW לחץ על .Add

Command to Listחזור על הפעולה עבור "]" ו .- ."<"

של הרמה העליונה. במשפט זה, רשומים כל הכניסות SUBCKTקיים משפט cdl -בקובץ ה .2או במקום המתאים pins -כ layout -והיציאות לתא. כל השמות האלה, חייבים להופיע ב

.cdl -לחלופין יש למחוק אותם מקובץ ה

מתבצע pads -קיימת בעיה בחיבורים למצע. חיבורי המצע של הבתכנון padsכאשר קיימים .3 .layout -ב VDDC -ו VSSC שמות לקווים. עליך להוסיף VSSCושל התאים דרך VSSרך ד

חשוב לשים לב לרווחים!

יש למחוק אותן. pads -על ה VSS -ו VDDיצר טבעות של קווי Innovusאם .4

VDD -ו VSSניתן לקצר בין ”multiple bulk connections“על מנת למנוע שגיאות של .5 .layout -בסכמה וב