Table of Contents
הקדמה ל- IEEE 1801 (UVM)
IEEE 1801, הידוע יותר בשם The Universal Verification Methodology (UVM), הוא המסגרת הסטנדרטית של התעשייה לאמת את העיצובים המודרניים של FPGA ו- ASIC. כמו מערכות דיגיטליות צומחות כדי להכיל מיליארדי שערים, פרוטוקולים מורכבים, דרישות ביצועים הדוקות, שיטות אימות מסורתיות הופכות לא מספיקות.UVM מספק גישה שיטתית, מדרגית, ונית המבוססת על מערכת Verilog, המאפשרת לבנות מהנדסים לבדיקות חזקות שהפכו ל-Vero-V, אשר התפתחו לפני שהפכו ל-Vactero למעשה, ו-VM, אשר פותחו באופן רשמי, אשר פותחו על ידי מתודולוגיה, ו-VM, לפני המתודולוגיה, באופן בסיסי.01, באופן עצמאי, ו-Vertology, ו-Vertology, ו- 18.
הצורך במתודולוגיה סטנדרטית התעוררה מהמורכבות של עיצובים.בתחילת שנות ה -2000, מהנדסים כתבו לעתים קרובות אד-הוק Testbenches ב Verilog או VHDL, המוביל למאמץ כפול, שימוש גרוע, פערים אימות.UVM התייחס בנושאים אלה על ידי הגדרת ספריה משותפת ופרויקט הטוב ביותר לבניית סביבת מיקוד, טיפול היום, UVM נתמך על ידי כל ספק מרכזי של ספקים דיגיטליים הוא חיוני עבור עיצוב רציני.
מושגים ואדריכלות של UVM
בלבו, UVM בנוי על אדריכלות שכבתית שמפרידה חששות ומקדם את המודולריות.הבנת השכבות הללו היא המפתח למינוף UVM ביעילות.
מודל עסקי-Level (TLM)
UVM מסתמך במידה רבה על מודל של עסקה לתקשורת מופשטת בין רכיבים.במקום להתמודד עם מעברי אות בודדים, TLM משתמשת ב-FLT:0transactionsofFLT:1 - נתונים המייצגים פעולת אוטובוס מלאה או פרוטוקול חליפין.זה סימולטור דרמטי מפשט את התפתחות הסימון של סמן והופך אותו קל יותר לייצר גירויים מורכבים.M מספק תקן TLM (תקבל, תחבורה וכו '), וחסם תקשורת וכו '.
UVM Components ו Hierarchy
בדיקת UVM טיפוסית מורכבת מאבני הבניין הבאות, כל אחד מהם נגזר משיעור הבסיס של רכיב ה-UVM (ראה FLT:0):
- (FLT:0)Test:IRFLT:1) מיכל העליון ברמת התצורה והשיק את סביבת אימות.המבחן מסמיך את הסביבה, מגדיר פרמטרים, ומתחיל רצפים.
- (ב) ⁇ :0) ,Environment (env): ההרחבה 1 כוללת את כל הסוכנים, לוחות הציון ואספןי הכיסוי.It instantiates ומחבר את רכיבי האימות.
- (FLT:0)Agent:BuildFLT:1; יחידה פעילה או פסיבית המבודדת נהג, צג ורצף עבור ממשק אחד. סוכנים פעילים מניעים גירויים; סוכנים פסיביים רק להתבונן.
- (ב) ⁇ :0) ⁇ : ⁇ : ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (FLT:0)Driver:BuildFLT:1) הופך עסקאות לפעילות ברמת אות על ממשק DUT.הוא מניע את DUT בהתבסס על לולאה של פרוטוקול-מודע.
- (FLT:0)Monitor:FLT:1 משקיף על ממשק DUT, לוכד נתונים ושולח מידע ברמת העסקה כדי להשיג לוחות או רכיבי כיסוי.
- (FLT:0)Scoreboard: 1 השוואה בין DUT התנהגות עם תוצאות צפויות, לעתים קרובות באמצעות מודל התייחסות או בדיקת נתונים.
- (ב) ⁇ :0) אספקט: 1FLT:1Builds סיקור פונקציונלי מוגדר בתוכנית אימות כדי למדוד שלמות אימות.
אתר ה- Factory Pattern and Configuration Database
(UVM) משתמש בשני תבניות עיצוב חזקות: ה-FLT:0factoryFLT ( 1:1 ו- The FLT:2 תצורה של מסד נתונים של עיצוב חזק: המפעל מאפשר פיזור סוגי מרכיבים ורצף ב- Runtime ללא שינוי קוד, המאפשר שימוש חוזר במבחן ותרחישים בדיקה גמישים יותר.עם שינוי תצורה יחיד, בדיקה יכולה להחליף נהג עם יישום שונה או שינוי של התנהגות של תצורה של תצורה (F) עבור בדיקה מרכזית יותר.
שלב ה-UVM
UVM מגדיר זרם הוצאה לפועל מובנה באמצעות סדרה של שלבים.שלבים אלה להבטיח כי רכיבים בנויים, מחוברים והוצאו להורג בסדר צפוי.
- שלב:0Build Phase:BuildFLT:1 Builds the Testbencharch, יצירת כל הרכיבים וההגדרה.שלב הזה הוא בראש-הלמטה: הבדיקה בונה את הסביבה, אשר בונה סוכנים וכו '.
- (FLT:0) שלב המעבר: FLT:1 Connects מרכיבים יחד, למשל, למקם את נמל הניתוח של צג לייצוא של לוח ציון.
- (ב) מסתיימים שלב אל-אבאורציה: 1 התאמות סופיות לאחר בנייה וחיבור, כגון קביעת תהלוכות זמן או הדפסה טופולוגיה.
- שלב:0 (בפרק: ⁇ ) [ה] [ה] [ה]] [ה] [ה]] [ה]][דרוש מקור]]] [ה]]]]] את ה-[[התמעקביות], זהו שלב משימה שבו רצף יוצר עסקאות והנהג/המנהל אינטראקציה עם ה-DUT.
- (ב) ,0) שלב ה-Extract: 1FLT אוסף נתונים אחרונים מכיסוי ודירוגים לפני הדיווח.
- שלב ה- 10 (ב-) של ה-[[1924]], הוא [[1924]] ו[[1924]]
- שלב ה-FLT:0[עריכת קוד מקור | עריכה]
- שלב ה- 0 (איור: 1) טיהור, קבצים סגורים וכו'.
שלבים אלה נקראים באופן אוטומטי על ידי שורש UVM, להבטיח עקביות על פני כל הרכיבים.הבנת מחזור החיים הזה חיוני למניעת מלכודות נפוצות כמו בניית רכיבים בשלב הלא נכון או ניסיון לחבר יציאות מאוחר מדי.
החלת UVM ל FPGA ו ASIC Designs
UVM הוא גם חל על FPGA וגם על עיצוב ASIC, למרות שההקשר שונה במקצת.בפיתוח ASIC, שבו עלויות המסכות לרוץ למיליונים של דולרים, אימות ממצה הוא לא ניתן להשגה.UVM היכולת לייצר גירויים חד-פעמיים מחוסנים ולאסוף כיסוי פונקציונלי מוכיחה בתוקף עבור מטרות סגירה.
דוגמה: שימוש ב-UVM כדי לבדוק את ממשק ה- AXI4-Stream
שקול עיצוב דיגיטלי אשר מיישמת פרוטוקול AXI4-Stream, נפוץ בעיבוד וידאו ו מאיץ נתונים.A UVM Testbench עבור ממשק זה יכלול:
- (FLT:0) סוכן אקסי-סטרים: ⁇ 1 מכיל נהג שיוצר לחיצות יד כנות עם מדינות המתנה אקראיות, צג שלוכד עסקאות, ורצף שמקבל פריטים רצף.
- (FLT:0)Scoreboard:0.Score:FLT:1 מקבל עסקאות הן מהנהג (סימולציות) והן ממוניטור הפלט DUT.זה משווה את הנתונים והבדיקות להפרות פרוטוקול (למשל, תזמון טיעון רצף שקיפות).
- (ב) ⁇ :0) אספקט: ⁇ 1 (ב) פריטים כמו הפצה באורך החבילה, פערים בין-חבילה, והיערכות של tkeep.
- (ב) רצף של ההרחבה (FLT: 1) ניתן להסיע חבילות אחוריות לגיבוי, תרחישים מדכאים או זריקת שגיאות (למשל, tlast החסר).
עם UVM, אותו סוכן יכול להיות בשימוש מחדש עבור עיצובים מרובים לתקשר על AXI4-Stream, באופן דרסטי לכווץ זמן אימות עבור פרויקטים עוקבים.
Power-Aware Verification עם UVM ו-UPF
עיצובים מודרניים כוללים לעתים קרובות מספר תחומים של כוח וטכניקות כוח נמוך כגון גלי שעון וכוח כיבוי.UVM משלב עם פורמט כוח בלתי-מודע (UPF) ו IEEE 1801 עצמו (הסטנדרט מכסה גם את הכוונה כוח, אם כי UVM מתמקד אימות) Power-aware UVM בדיקותbenches יכול לסתום ולעורר רצפים מתעוררים, לבדוק כי רושם ערכים נכון במהלך השינה, ואימות נמוך עבור פונקציות ההפעלה של ה-IoT, שימושיות של פונקציות ההפעלה של ה- AS-HD.
היתרונות של אימוץ UVM ב-VVM שלך
היתרונות של UVM להרחיב הרבה מעבר סטנדרטיזציה.צוותים שמשקיעים ב-UVM מדווחים על שיפורים משמעותיים בפריון, איכות, ושימוש חוזר.
- (FLT:0) אחריות: FLT:1 רכיבי UVM (אנטים, צגים, לוחות ציון) ניתן להשתמש מחדש על פני פרויקטים, חיסכון חודשים של זמן פיתוח.חברות רבות לשמור על ספריית UVM VIP (Verification IP) עבור פרוטוקולים סטנדרטיים כגון USB, PCIe, או Ethernet.
- (FLT:0) רגישות מבלוק ל-SOC:03F:03F-1) סביבות UVM באופן חלקה.מבחן ברמה בלוק ניתן למתן מספר פעמים בסביבה ברמת SoC, עם שינויים מינימליים.הטבע ההיררכי של UVM מאפשר בדיקות אינטגרציה ברמה העליונה ללא רישום נהגים ברמה נמוכה.
- (FLT:0)Automated Regression ו- Coverage-Driven Verification:FreaLT:1 ; התמיכה המובנת של UVM עבור רצפים מאומנים וכיסוי פונקציונלי מאפשר אימות מונע כיסוי.מהנדסים כותבים נקודות כיסוי, ו regression בודק באופן אוטומטי כמה שטח המדינה עיצוב כבר הופעל.
- (FLT:0)Industry Ecosystem:FLT:1 כי UVM הוא תקן ואומץ נרחב, מציאת מהנדסי אימות מנוסים, חומרי הדרכה, ו VIP מסחרי הוא פשוט. Tool תמיכה ממוכרי EDA כמו Synopsys, Cadence, ו-Sense הוא בוגר ומורכב היטב.
- (FLT:0) שיתוף פעולה טוב יותר: ⁇ FLT:1 , סביבת UVM מספקת שפה משותפת ומתודולוגיה על פני קבוצות עיצוב, צוותי אימות ואפילו ספקי IP חיצוניים.
אתגרים ועיסוקים טובים
למרות היתרונות שלה, UVM יש עקומת למידה תלולה וכמה אתגרים ארגוניים.צוותים מנוסים פיתחו שיטות טובות ביותר כדי להקטין את הבעיות האלה.
מלכודות נפוצות
- (FLT:0) Over-engineering:FLT:1, ניוקומברס לפעמים ליצור יותר מדי בדיקות מורכבות עם היררכיות עמוקות ופשטות מוגזמת.התחל פשוט, עם סוכן יחיד ולוח ציון בסיסי, ולאחר מכן להוסיף תכונות.
- (ב) ויקרא (ב) בפרשת [[המאה ה-1]], [[1924]], [[1924]], [[1924]]]], [[1924]]]], [[1924]]]]]], [[1924]]]]]], [[1924]]]]]]]], [[1924]]]]]]]]]] ו[[1924]]
- (FLT:0) אבחון של רצף: רצף כתיבה 1 (FLT:1 ), אשר מניפולציה ישירה אותות מביס את מטרת TLM.להבטיח רצפים לייצר עסקאות, לא למגירות ברמת האות.
- (FLT:0) תכנון כיסוי מורכב: ⁇ F1) UVM מספק מנגנוני כיסוי, אבל הצוותים חייבים להגדיר מנגנונים כיסוי משמעותי בינארי.ללא תוכנית כיסוי, מהנדסים יכולים לבזבז מחזורי סימולציה על תרחישים לא רלוונטיים.
הפרקטיקה הטובה ביותר
- (FLT:0) השתמש במסד הנתונים של הקונריגציה בחוכמה:REFLT) 1 קבע ערכי ברירת מחדל עבור פרמטרים במבחן הבסיס, ומנע מהם במבחנים נגזרים.
- (FLT:0) Leverage Callbacks and Hooks:BuildFLT:1 ), UVM מספק מנגנוני קריאה להרחיב את התנהגות הרכיב מבלי לשנות את שיעור הבסיס.
- (FLT:0)Develop a Reusable VIP Library:BuildFLT:1 , ממשקים סטנדרטיים כמו AXI, AHB, I2C, ו- UART צריך להיות בנוי פעם כחבילה של סוכן UVM.
- (FLT:0) שילוב רציף (CI) עבור רגרסנסים: FLT:1 Run UVM רגרסנסים באופן אוטומטי על קוד מבצע. השתמש בלוחם תוקפנות כדי לעקוב אחר שיעורי מעבר וכיסויים לאורך זמן.
- (FLT:0) להכשיר את הצוות שלך: FLT:1 ל-UVM יש הרבה חלקים נעים. Invest in הכשרה רשמית (למשל, מדוקטורוס, אקדמיה לרסב, או ספקי EDA) ומעודדת הנחמנטציה בין מהנדסים מנוסים זוטרים.
השוואת UVM עם שיטות טיהור אחרות
בעוד ש-UVM שולט בתעשייה, קיימות גישות אחרות להבנת הבורסות מסייעות לצוותים לבחור את הכלי המתאים לצרכים שלהם.
- (ב) ⁇ (VHDL/Verilogib): פשוט (FLT:1), אך לא ניתן להחלפה או לדרגתית בלבד.
- (FLT:0)OVM (open Verification Methodology): אנדרל 1 (קודמת ה-UVM) הוא מיושן כעת; UVM שילב את התכונות הטובות ביותר שלו והוסיף את המפעל, תצורת DB, ותמיכה סטנדרטית רחבה יותר.
- (FLT:0SystemVerilog Assertions (SVA) ו- Coverage:FreaLT 1: לעתים קרובות בשימוש בתוך קובצי ה-UVM לבדיקת תכונות ברמה נמוכה. SVA אינה מתודולוגיה מלאה, אלא משלימה את ה-UVM.
- (ב) ⁇ :0) ⁇ ⁇ : 1FLT:1 Exhaustive אבל מוגבל על ידי גודל עיצוב.הטוב ביותר בשימוש לצד UVM עבור לוגיקה בקרת מפתח.
- (FLT:0C / C++ עם UVM-SystemC:BuildFLT) 1 עבור אימות ברמת המערכת, UVM-SystemC מרחיב את המתודולוגיה לרמות גבוהות יותר של מופשטות.
- (FLT:0) Stimulus (PSS): IRLT:1 סטנדרט חדש יחסית שמטרתו להעביר דור גירוי על פני רמות מופשטות מרובות (ממערכת ל- RTL). PSS יכול להיות משולב עם UVM עבור תרחישים מורכבים.
מקורות למידה UVM
כדי להעמיק את ההבנה של IEEE 1801 (UVM), מומלץ משאבים סמכותיים הבאים:
- (FLT:0)IEEE 1801-2015 Standard for Design and Verification of Low-Power, Energy-Aware Electronic SystemsFLT:1 - הסטנדרט הרשמי הכולל גם כוונות כוח והגדרות UVM (הערה: UVM הוא עכשיו 18002).
- (ב) מקור ספריית ה-UVM ומדריך המשתמש.
- (FLT:0)Verification AcademyFLT:1 - פורטל מקיף עם הדרכות, אתרי אינטרנט, וספרי בישול על UVM ואימות פונקציונלי.
- (ב) ⁇ 0 ⁇ UVM יודע כיצד LT:1 ; מדריך מעשי לרכיבי UVM וסגנון הקידוד.
כיוונים עתידיים
הנוף אימות ממשיך להתפתח.עם עליית מאיצים למידת מכונה, כלי רכב אוטונומיים, ו-5G/6G תקשורת, עיצובים משלבים אלמנטים הטרוגניים יותר.UVM מתאים לאתגרים אלה באמצעות שילוב הדוק יותר עם זרימת FLT:0UVM-SystemFLT:1 עבור מודלים ברמת חסימת מערכת ומערכת, ובאמצעות ה-FLT2, יש צורך כעת בסימולציה דיגיטלית (RVS) באופן קבוע, כולל תהליכי תמיכה סטנדרטיים, סטנדרטיים (U) ו-CLT2.
מסקנה
IEEE 1801 (UVM) הפך אימות דיגיטלי מפעילות אד-הוק לתוך משמעת הנדסית קפדנית, חוזרת על עצמה.אדריכלות סטנדרטית שלה, הפשטות מבוססת TLM, ודפוסים חזקים כגון המפעל ו- DB מאפשר לצוותים לבנות קבוצות חזקות, רזות עמידה בהגדרות הבדיקה עבור FPGA ועיצובי ASIC. בעוד שהשקעה אינה פרימיטיבית, בטווח הארוך באפקטיביות, ומניעה של פונקציות אופטיקה ראשונית של תפקודים של אור-או-או-או-UV, לאחר שמירה על יעילות גבוהה יותר.