ייעול הספק ל-FPGAs: מתקפה חזיתית

מאת: צ’נדרה סקר בלקריסהאן, Xilinx

ההספק נהיה שיקול מרכזי בחיפוש המשמעותי אחר ה-FPGA ה”מושלם” עבור תכנון נתון, וניהול הספק הוא מרכיב קריטי במרבית היישומים. סטנדרטים מסוימים מגדירים הספק מירבי לכרטיס או למערכת מסוימת, והמשמעות  היא שהמתכננים חייבים לקחת בחשבון את שיקולי ההספק בשלב הרבה יותר מוקדם  בזרימת התכנון משנהגו לעשות בעבר – למעשה כבר משלב בחירת ה-FPGA.

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

אתגרי ההספק

עם כל דור של טכנולוגיית תהליך, הטרנזיסטורים נעשים קטנים יותר ויותר, בהתאם לחוק מור. לתופעה זו השפעת לוואי מצערת הבאה לידי ביטוי בזליגה מוגברת בתוך הטרנזיסטור, המובילה לצריכה גבוהה יותר של הספק סטטי – כלומר, כמות הזרם שה-FPGA צורך כאשר אינו  במצב פעולה. שיפור ביצועי ה-FPGA מעלה את קצב השעון, ומייצר רמות גבוהות יותר של הספק דינמי. כאשר ההספק הסטטי מונע על-ידי זרם הזליגה בטרנזיסטור, ההספק הדינמי מתבסס על תדר המיתוג בלוגיקה המתכנתת וב-I/Os. הגורם שמעלה עוד יותר את צריכת ההספק משני הסוגים היא העובדה שה-FPGAs גדלים בנפח שלהם עם כל דור של מוצרים. יותר לוגיקה משמעה יותר זליגה ויותר טרנזיסטורים הפועלים במהירויות גבוהות בכל התקן.

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

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

טכנולוגיית התהליך של סדרה 7

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

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

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

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

טכנולוגיית צברי מחברי סיליקון של זיילינקס

עבור מערכות גדולות יותר נוטים המתכננים לבחור כמה FPGAs. סוג כזה של ארכיטקטורה מצריך פעמים רבות את המשימה המורכבת והעדינה של העברת נתונים במהירויות גבוהות למדי בין ה-FPGAs השונים. בחירת ה-FPGAs הגדולים יותר מסדרה 7, כדוגמת ההתקנים XC7V1500T ו-XC7V2000T, שנוצרו בעזרת טכנולוגיית צברי מחברי הסיליקון (SSI) של זיילינקס, יכולה לעקוף את הבעיה. אם נאמר זאת בפשטות, טכנולוגיית SSI זו משתמשת בכמה שבבים המאוכלסים על מתווך סיליקון (INTERPOSER) המספק עשרות אלפי חיבורים ביניהם כדי ליצור התקן אחד גדול. אחד היתרונות של טכנולוגיית ה-SSI הוא הצמצום בהספק הסטטי המרבי בהשוואה להתקן בגודל דומה הבנוי על שבב מונוליתי סטנדרטי.

טכנולוגיית ה-SSI מספקת גם צמצום משמעותי בהספק מחברי ה-I/O. בהשוואה למצב שבו יש כמה FPGAs על לוח, טכנולוגיית ה-SSI מציעה צמצום של פי 100 (רוחב פס/W) בהספק מחברי ה-I/O בהשוואה לממשק מקביל הבנוי עם I/Os ומקמש”ים (מקלטים-משדרים). צמצום דרמטי זה נוצר הודות לכך שכל החיבורים בנויים על השבב במקום שההספק הנדרש יניע את האותות מחוץ לשבב, דבר המאפשר הספק נמוך ומהירות גבוהה במיוחד.

כלים להערכת ההספק

בתחילת מחזור התכנון מספק גיליון נתונים XPE) XPOWER ESTIMATOR) הערכה מוקדמת של צריכת ההספק עוד לפני שלבי הקדם-תכנון והקדם-יישום של הפרויקט. ה-XPE מסייע בהערכת הארכיטקטורה ובבחירת ההתקנים ועוזר בבחירת ספק הכוח הנכון והרכיבים המתאימים לניהול תרמי שעשויים להידרש עבור היישום.

תוכנת ה-™PlanAhead מספקת הערכה של חלוקת ההספק בתכנון ברמת ה-RTL. המתכננים יכולים להגדיר את סביבת העבודה של ההתקן, את תכונות ה-I/O ואת שיעורי פעילות הכשל עבור התכנון תוך שימוש באילוצי התכנון או ב-GUI. לאחר מכן קוראת תוכנת ה-PlanAhead את קוד ה-HDL כדי לאמוד את משאבי התכנון הנדרשים ומדווחת על אומדן ההספק מניתוח סטטיסטי של הפעילות עבור כל משאב.

 ה-XPA)  XPower) הוא כלי המוקדש לניתוח ההספק של תכנונים שעברו השמה וניתוב. הוא מספק GUI מקיף המאפשר ניתוח מפורט של ההספק הנצרך כמו גם מידע תרמי עבור תנאי ההפעלה המוגדרים.

ניתן לעבור בין שתי תצוגות נפרדות כדי לזהות את ההספק הנצרך או על-ידי סוג הבלוקים (עצי שעון, לוגיקה, אותות, I/Os או IP קשיח כדוגמת RAMs בלוק או בלוקי DSP) או על-פי היררכיית התכנון. שתי התצוגות הללו מאפשרות לכם לבצע ניתוח הספק מפורט. הן מספקות שיטה יעילה ביותר לאיתור הבלוקים או החלקים של התכנון ה”רעבים” ביותר במונחים של הספק, מה שעוזר לזהות את המקומות שבהם כדאי להתחיל את מאמצי מיטוב ההספק.

מיטוב הספק תוכנה

כל הגורמים שצוינו מאפשרים מיטוב המודע לפעילות ומתבסס עליה, או במילים אחרות: חסימת הספק (GATING) חכמה. האלגוריתמים הללו מנתחים את משוואות הלוגיקה כדי לאתר עבור כל מחזור שעון אוגרי מקור שאינם תורמים לתוצאה. לאחר מכן משתמשת התוכנה במשאבי ה-CE (אפשור שעון) המרובים הזמינים בלוגיקת ה-FPGA כדי ליצור אותות חסימה מפורטים המנטרלים פעילות מיתוג מיותרת. ניתן לשלוט בשעון החכם ובחסימת הנתונים באמצעות האופציה של MAP-POWER HIGH. ברוב המקרים ניתן להשיג צמצום כולל של עד 15% בהספק הדינמי של הליבה, ולוגיקת החסימה הנוספת שהוחדרה לתכנון אינה משפיעה על הביצועים.

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

לבסוף, כלי היישום של זיילינקס מכבים באופן אוטומטי מקמש”ים,  PLLs, מנהלי שעון דיגיטליים ו-I/Os שאינם נמצאים בשימוש. בהתקני סדרה 7 הוסיפה זיילינקס גם חסימת הספק ל-RAM של בלוקים שאינם בשימוש. זליגה ב-RAM של בלוקים מתרחשת רק בבלוקים שבהם משתמשים עבור תכנון מסוים ולא בכל ה- RAMs של הבלוקים שעל ההתקן. ההספק מנותב בהתקן רק אל RAM של הבלוק שהתעורר לפעולה בהתאם לערכים הספציפיים.

רה-קונפיגורציה חלקית עבור הספק סטטי נמוך יותר

אחת הדרכים לצמצום הספק סטטי היא פשוט להשתמש בהתקן קטן יותר. עם רה-קונפיגורציה חלקית יכולים המתכננים לבצע למעשה חיתוך זמן של FPGA ולהריץ חלקים של התכנון באורח עצמאי ובלתי תלוי. במצב כזה מצריך התכנון התקן הרבה יותר קטן כיוון שלא כל חלק של התכנון נחוץ ב-100% מהזמן.

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

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

הספק ה-I/O הפך לתורם מרכזי להספק הכולל. תכנונים מסוימים שואבים עד 50% מההספק הכולל מה-I/Os, במיוחד במערכות עתירות זיכרון.

כל ההתקנים בסדרה 7 של זיילינקס מציעים חוזק הנעה וקצב עלייה (slew rate) מתכנתים. ה-FPGAs של זיילינקס מתפארים בטכנולוגיית DCI (עכבה מבוקרת דיגיטלית) שיכולה להיות גם תלת-מצבית. טכנולוגיית ה-DCI מבטלת את הספק הטרמינציה בזמן כתיבת זיכרון מה-FPGA כך שההתקן צורך הספק טרמינציה רק בזמן הקריאה.

ההתקנים מסדרה 7 משלבים מוד של הספק מקלט ייחוס המתוכנת על-ידי המשתמש עבור HSTL ו-SSTL. ניתן לשלוט בשתי צורות ההספק המתכנתות הללו על בסיס I/O אחרי I/O, דבר שיתרום לצמצום הספק ה-DC הודות לפשרות והאיזונים בין ההספק לבין הביצועים.

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

צ’נדרה סקר בלקריסהאן הינו מהנדס פתרונות פיתוח בחברת Xilinx

תגובות סגורות