אימות שבבים – הבדלי גרסאות
תוכן שנמחק תוכן שנוסף
אין תקציר עריכה |
תקלדות, קישורים חיצוניים וביטול כתב נטוי. |
||
שורה 1:
{{להשלים|כל הערך=כן|נושא=מחשוב}}
'''אימות שבבים''' (ב[[אנגלית]]: '''Chip Verification''') הוא תהליך שנועד לבצע אימות ל[[תכן]] של [[רכיב אלקטרוני]] על מנת לבחון את ההתנהגות של הרכיב. אם לאורך הבדיקות נמצא שהרכיב המתוכנן אינו פועל כפי שמצופה ממנו
==רקע==
התהליך מתכנון ועד ייצור [[שבב]] (צ'יפ) הוא תהליך ארוך-זמן ועלותו עלולה להגיע למליוני דולרים. ההתקדמות [[טכנולוגיה|הטכנולוגית]] האדירה בייצור שבבים ובמורכבות שלהם הן מבחינת הלוגיקה שלהם והן מבחינת השילוב שלהם עם זיכרון פנימי וארכיטקטורות אחרות יצרה תחום מורכב מאוד של בדיקת השבבים על ידי שיטות מתוחכמות המצריכות ידע רב בתכנות ובהבנת הלוגיקה העומדת מאחורי השבב.
בשונה מ[[הנדסת תוכנה]] ואימות תוכנה (QA), קשה מאוד ולעתים בלתי אפשרי לגלות ולתקן טעות שלא
הווריפיקציה העיקרית בפרויקט מתבצעת על
בדרך כלל, מקובל שהאדם המבצע את
==אופן הביצוע==
שורה 28:
*[[systemVerilog]] - הרחבה של שפת [[Verilog]] שנועדה לאפשר תיאור גם של הדזיין וגם של הוריפיקציה באותה שפה (IEEE 1800TM)
* VERA של חברת synopsys
* Specman שנוצרה במקור בחברת Verisity ונרכשה על ידי חברת [[cadence]]. הכלי המתאים ל[[מעגל אלקטרוני דיגיטלי|מעגלים דיגיטליים]]. את סביבות הווריפיקציה של ספקמן כותבים
* SystemC, המבוססת על שפת [[C++|++C]], ומיועדת בעיקר עבור דיזיין שנוצר ב SystemC
*כמו כן, ישנן חברות רבות
== סביבת העבודה ==
לכל רכיב חשמלי ישנם [[אות (סיגנל)|אות]]ות כניסה אותם הוא מקבל מרכיבים אלקטרוניים אחרים במעגל, ואותות מוצא, אותם הוא מפיק לאור תפקידו במעגל החשמלי. על מנת לבדוק שאותות המוצא עונים על הדרוש, יש לספק לרכיב המתוכנן את אותות הכניסה המתאימים, ולוודא שהוא אכן מגיב בצורה הרצויה והמתוכננת. לשם כך בונים סביבה המכילה את הרכיבים הבאים:
* '''reference model''' - מחשב את המוצא הצפוי עבור קלט נתון.
* '''scoreboard''' - מבצע השוואה של המוצא בפועל עם הערך הצפוי (שהתקבל מה- reference model)
* '''agent''' - מנהל את הממשק עם הרכיב החשמלי, וכולל בתוכו :
** '''driver''' - אחראי על ייצור של אותות כניסה, ברמה גבוהה ונוחה לניהול.
** '''bfm''' - אחראי על תרגום הקלט שייצר ה driver לרמה של אותות הכניסה הפיזיים.
** '''monitor''' - אחראי לדגום את אותות הכניסה והיציאה הפיזיים, והעברתם לעיבוד:
*** אותות הכניסה עוברים לעיבוד של ה- reference model
*** אותות היציאה עוברים לבדיקה של ה- scoreboard.
|