A systolyic array is an homogenous array of identical processors each performing the same function and each connected to several neighbours. Such a structure is very suitable for fast and efficient implementation of machine learning algorithms. The goal of this project is to design and implement an architecture for the computation of the convolution stage of a neural network for deep learning.

מערך סיסטולי הוא רשת הומוגנית של יחידות עיבוד נתונים צמודות (DPUs) הנקראות תאים או צמתים. כל צומת או DPUמחשב באופן עצמאי תוצאה חלקית כפונקציה של הנתונים המתקבלים משכבותיה, מאחסנים את התוצאה בתוך עצמה ומעבירים אותה לשכנים.
היתרון העיקרי של מערכים סיסטוליים הוא שכל נתוני אופרנד ותוצאות חלקיות מאוחסנים בתוך מערך המעבד. אין צורך לגשת אוטובוסים חיצוניים, זיכרון ראשי או מטמון פנימי.
נדרש לתכנן מאיץ עבור למידה עמוקה, וספציפית עבור רשתות קונבולוציה שמבוסס על מערך סיסטולי.
דרשיות הפרויקט :
1) תכנון תצורה שמבוססת על מערך סיסטולי שמתאימה עבור פעולת קונבולציה (עבור רשתות קונבולציה).
2) כתיבת סימולמטור (ככה”נ ב-Python) כדי לקבל הערכות ביצועים.
3) מימוש התכן ב-SystemVerilog.
4) סינתזה עבור design choices שונים (גדלי buffer, כמות אלמנטים במערך, וכו’), והצגת הארכות לגבי הספק ושטח ביחס לביצועים.
דרישות קדם : תכן לוגי
מנחה : גיל שומרון