Comparing CI-CD Methods in Hardware Design

השוואת שיטות CI-CD בתכנון רכיבי חומרה

מספר פרויקט
225
סטטוס - הצעה
הצעה
אחראי אקדמי
שנה
2024
מסלול משני

הרקע לפרויקט:

בחברות בתחום הVLSI יש תהליך ארוך עד לשליחת הרכיב לTapeout. במהלך הדרך ישנה כתיבת קוד בשפות RTL, בדיקות נכונות לוגיות ויישום ברמת הBEOL. בכל שלב ישנה חלוקה בין רמות שונות של הרכיבים, רמת יחידה (Unit), אשכול (Cluster) וצ'יפ כולל (Full Chip).

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

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

מטרת הפרויקט:

היא להשוות בין שיטות שונות של CI-CD בתכנון רכיבי חומרה והתאמה שלהם לדרישות פנים-חברה.

תכולת הפרויקט:

בפרויקט נבחן שיטות שונות של CI-CD וניישם אותן בצורה המיטבית לדרישות החברה.
נכתוב סביבת עבודה שתאפשר להריץ בדיקות ברמות שונות בתהליך, לאחד את המידע לדו"ח לצורך תיקון ואף לשחרר גרסא לרמה הבאה.
סביבת העבודה תיכתב בשפת "Python" ותפעל על גבי מערכת ההפעלה "Unix".
סביבת העבודה תהיה עם GUI כך שהשימוש יהיה פשוט ו"User-Friendly".
הביצוע יהיה 'חדשני' בכך שייעזר בכלים עדכניים של Generative AI על מנת לייעל את כתיבת קוד הפרוייקט.

קורסי קדם:

אין

דרישות נוספות:

אין

מקורות:

  1. Continuous Integration and Delivery in Hardware Design - Nicholas R. Perlland (ISU)
  2. Applying Continuous Integration to Hardware Design and Verification - Francois Cerisier and Christian Rivier


 

תאריך עדכון אחרון : 01/11/2023