חדשות היום

כלי פיתוח – המפתח למערכות SoCs משולבות FPGA

Eran Castiel, National Instruments

מאז הופעתו המסחרית של ה-FPGA התנסו מתכנני מערכות משובצות במחשוב הטרוגני, וזאת במערכות משובצות המשלבות מיקרו-מעבדים ורכיבי FPGA. בתחילה ה-FPGA שמשו כמערכי לוגיקת עזר – glue logic- לשילוב מערכי חישוב עם רכיבים היקפיים ו-I/O. ככל שהטכנולוגיות של ה-FPGA השתפרו כך התרחבו התפקידים שהם כבשו במערכות משובצות ובהתאם גם נתח השוק בכלל שוק הרכיבים. יצרני ה-FPGA החלו לשלב ליבות IP של מיקרו-בקרים ומיקרו-מעבדים בתוכם כבר לפני כעשר שנים. כיום השילוב של ליבות IP רכות (soft IP) של מיקרו-בקרים נפוץ בתכנונים מבוססי FPGA. המגמה האחרונה במערכות מחשוב הטרוגניות הוא שילוב של מעבדים ותת מכלולים מבוססי FPGA במערכת על צ’יפ (SoC).

תכנון חומרת RIO
מתכנני מערכות משובצות רואים בשילוב של מעבד ו-FPGA שילוב אטרקטיבי וזאת בשל הגמישות שהוא מציע לתבניות (templates) תכנון תקנים. השילוב הזה מאפשר להתגבר על החולשה של כל אחד משני הרכיבים בהשוואה למערכות המבוססות על רכיב אחד בלבד.
המעבד שבמערכת מספק ממשק לתחום רחב של רכיבים היקפיים תקניים: אתרנט, ממשק טורי, USB ,CAN ,SPI, זיכרונות ועוד. במערכת המבוססת רק על מעבד, מימוש – I/O יעודי דורש שילוב ממשקים היקפים (אחד או יותר) כגון SPI או USB. למהנדסים רבים יש ידע בפיתוח תוכנה עבור המעבד והיכרות עם כלי תכן תקניים, בשפות פיתוח ובמערכות הפעלה הדרושים לצורך התכנון. לאחר בחירת המעבד נקבעים הממשקים להדקי ה-I/O והמערכת הופכת להיות קשיחה.
שילוב FPGA בין המעבד להדקי I/O מגדיל את גמישות המערכת ואת יכולות החישוב של כל המערכת. בדרך זו נוצרת ארכיטקטורה שבה ניתן להגדיר מחדש את הדקי ה- (reconfigurable I/O
), ויכולה לשמש כמכונת חישוב לצורך חישובים משותפים (co-processing). השילוב הזה יוצר מעין רצף של מעבד יחיד, תת מערכת בטוחה או מערכת בקרה בעלת השהייה נמוכה ביותר. כיון שה-FPGA ניתן לתכנון מחדש אפשר לבצע בקלות שדרוגי חומרה וליצור בידול של המוצר, ובכך להאריך את חיי המוצר בעולם של תקנים וממשקים המתחדשים מעת לעת.
לטופולוגיית חומרה תקנית המשלבת מעבד ו-FPGA יש אמנם יתרונות רבים, אך השילוב הזה צופן בחובו כמה אתגרים, וביניהם: צריכת הספק מוגברת הנצרכת על ידי התקני המטרה של ה-FPGA; הגודל, המחיר והמורכבות של שילוב ה-FPGA בתכנון המעגל המודפס; וכמובן אתגרי התכנות הקשורים לחומרת ה-FPGA בהשוואה לפיתוח תוכנת המעבד.
יצרני FPGA מתייחסים לאתגרים הללו בכובד ראש. המענה ללחץ להורדת מחירי ה-FPGA, שנבע מהקטנת מימדי רכיבי ASIC ו-SoCs, ניתן על ידי פיתוח רכיבי FPGA לשימוש כללי ועבור מערכות SoCs מבוססות מעבד המשלבות לוגיקה מיתכנתת לצורך מתן מענה לישומים יעודיים. והנה כמה דוגמאות:
Xilinx Zynq הוא SoC הניתן לתכנות במלואו. הוא משלב מכלול המבוסס על מעבד מסוג ARM Cortex-A9 עם לוגיקת FPGA. לחברת Cypress Semiconductor יש SoC מיתכנת (PSoC) וחברת Microsemi מציעה cSoC
(customizable SoC) המשלב מעבד ARM Cortex-M3, לוגיקה מיתכנתת וממשק אנלוגי ניתן לתכנות. חברת Altera הכריזה על סדרה של התקני SoC FPGA המבוססים על ARM Cortex-A9 יחד עם מארג FPGA. מוצר זה מפחית את הגודל, המחיר וצריכת ההספק של מערכת משובצת המשלבת FPGA ויש לה פוטנציאל להפוך לתקן בתחום רחב של יישומים. בנוסף, ההיצע של SoC FPGA במגוון רחב של רמות ביצועים יאפשר להן לתפוס את מקומם של מאות התקני ASIC תוך שיפור תמחור המערכות.

שפות תכן ושפות תיאור חומרה
שילוב מכלולי FPGA במעבדי – SoC פותר את רוב הבעיות שאיימו על מתכנני מעגלים מודפסים אשר תכננו מערכות המבוססות על מעבדים ורכיבי FPGA בדידים. נותר המכשול האחרון בתהליך הפיתוח והוא תכנות שני המכלולים. מתכנני חומרה ספרתית נרתעים מהשימוש במלה “תכנות” בהקשר למכלולי FPGA היות ותכנות
ה-FPGA אינו קל. מדובר במעגל אלקטרוני, כלומר בחומרה. בדרך כלל יש להשתמש בשפות תיאור חומרה – HDL – כגון VHDL או Verilog על מנת למצות את יתרונות
ה-FPGA. צוותים שהשתמשו בעבר ב-FPGA התמחו מן הסתם ב-HDL, אך צוותי תכן המתעניינים בניצול יתרונותיהם של ה-SoC משולבי FPGA ניצבים עתה בפני אתגרים חדשים. מאגר מתכנני המערכות המשובצות השולטים בשפות תכנות מעבדים, כגון C/C++, הנו גדול. לעומתם מספרם של המומחים ל-HDL הוא מועט. לפיכך לצורך פיתוח מוצרים המבוססים על הטכנולוגיה המשולבת צריך ליצור קבוצות עבודה הכוללות הן מהנדסי תוכנה ומתכנני מערכות ספרתיות, שיעבדו ביחד על מנת לממש את הפוטנציאל המלא של ארכיטקטורת הטרוגניות SoC המשלבת מעבדים ו-FPGA.
אם כלי הלוגיקה המיתכנתת לא יפותחו כך שיתנו מענה לתלות של מהנדסי המערכות המשובצות במהנדסי HDL, אזי פתרונות המבוססים על מארג של SoCs עם FPGA ימשיכו לשרת רק חלק זעיר מהנישה שכבשו רכיבי ה-FPGA. במטרה לאפשר אימוץ מירבי של SoCs, יצרני FPGA משקיעים סכומים גדולים בפיתוח כלים ויצירת שותפויות על מנת לתאם את פעילויות הפיתוח של המעבדים ומארגי FPGA. כלי סיתיזה ברמה גבוהה (HLS) כגון LabVIEW™ FPGA Module, Vivado HLS או SystemC מסייעים להקטנת הפער בין פיתוח קוד לבין תחומי התוכנה והתחום הספרתי.
LabVIEW הוא כלי תכן ברמה גבוהה המיועד הן לתכן מערכות מעבדים והן לתכן מערכות FPGA. בשנת 2003 חברת נשיונל אינסטרומנטס (NI) פרסמה מודול נתקע למערכות מבוססות LabVIEW, המיועד לשילוב חומרת FPGA הכוללת רכיבים מתוצרת XILINX. המודול- LabVIEW FPGA Module – נעזר במהדר של XILINX שעבד ברקע על מנת לסנתז קוד LabVIEW לקבצי ביטים של FPGA. באופן זה המתכננים השתמשו באותה סביבת פיתוח ובאותה שפה בכל שלבי התכנות של מערכת המחשוב ההטרוגנית. אותה שפה תיארה את הלוגיקה של המעבד והן של ה-FPGA .LabVIEW היא תוכנה לתכנון מערכות, הכוללת שפת תכנון גרפית המבוססת על תזרים נתונים מבני אשר מטבעו מייצג באופן אינטואיטיבי פונקציות מקביליות. מכאן נובע יתרונה בהטמעת חישובים מקביליים ב-PPGA ובמעבדים מרובי ליבות.
LabVIEW מאפשרת לבצע את תהליכי הפיתוח הן של המעבד והן של ה-FPGA באותה שפה. בעזרתה מתכנן מערכת יחיד יכול לשלוט בכל תהליכי הפיתוח הן של התוכנה והן של ה-FPGA. אלה הם שני תהליכים אשר לצורך ביצועם נדרשו שני מתכננים או יותר, כל אחד בעל הכשרה ייחודית בתחומו. השימוש ב-LabVIEW מאפשר להעביר אלגוריתם הנכתב פעם אחת בלבד בין המעבד ובין מכלולי
ה-FPGA על מנת לטייב את טופולוגיית המערכת.
השילוב של מעבד, FPGA, ו-I/O מיתכנת מותאם יישום שתוכנת ב- LabVIEW מגדיר למעשה את ארכיטקטורת LabVIEW RIO. ה-Zynq-7000 All Programmable SoCמימש את הארכיטקטורה הזו, ו-NI תומכת ב-Zynq באמצעות LabVIEW ובעתיד גם בעזרת מוצרים חדשים שיתבססו על טכנולוגיית Zynq.

כלי תכן ברמה גבוהה, חומרה מן המדף וקיצור זמן הגעת המוצר לשוק
שילוב I/O עם FPGA בגישה המסורתית לווה בתהליכים שדרשו זמן ארוך. כלי HLS רבים אינם יכולים להחליף במלואם את כלי ה-HDL המוכרים למתכנני המערכות הספרתיות. הסיבה היא שהטמעת ממשק I/O של מארג ה-FPGA עם העולם הממשי עדיין חייבת להתבצע באמצעות HDL. מתכנני HDL אומרים שלעתים תהליכי האינטגרציה של ה-I/O לוקחים כ-70% מזמן הפיתוח הכללי ורק 30% מושקעים בפיתוח הערך המוסף של המוצר, ערך שמקורו באלגוריתמי בקרה יעודיים או אלגוריתמים לעיבוד אותות.
ארכיטקטורת LabVIEW RIO משלבת את שפת הפיתוח LabVIEW עם פלטפורמת חומרה מבוססת FPGA מן המדף והיא מיועדת להקטין את הזמן המוקדש לפיתוח ושילוב I/O. כך למשל שימוש במודולים מסוג NI C Series I/O יחד עם חומרת
™ NI CompactRIO מאפשר הטמעה אוטומטית של כל תהליכי ההמרה של תקשורת SPI ברמה נמוכה לממיר A/D, וביצוע כיול והמרה לנתוני נקודה קבועה.
צוות פיתוח מערכות משובצות אופיינית כולל מהנדסים לתחום הספרתי, האנלוגי והמכני, העוסקים בתכנון החומרה. בנוסף יש בצוות מהנדסי תוכנה העוסקים בתכנות המעבד, ומתכנני FPGA העוסקים בפיתוח HDL. בנוסף יש צורך במומחה מתחום השיווק או מהתחום המדעי, שהם בעלי הידע הייחודי הנדרש בתחום שאליו המוצר פונה. למשל, צוות המפתח התקן רפואי ייתכן ויזדקק לסיוע של מומחה מתחום הרפואה.
על חברי צוות הפיתוח לתקשר בינם לבין עצמם על מנת להבטיח תיאום ביניהם. ככל שצוות הפיתוח גדול יותר כך גדל הסיכוי לטעויות הנובעות מחוסר תקשורת וחוסר תיאום. עקב כך עלול להתארך זמן הפיתוח בשל הזמן שעלול להידרש לצורך תיקון הטעויות.
LabVIEW מטמיעה ומרכזת את פרטי האינטגרציה ברמה נמוכה של ה-I/O, וזאת כיוון שצוותי התכנון של NI ציידו את LabVIEW ב”מודעות” לכל מרכיבי המערכת. היתרונות של מערכת התכן LabVIEW ממומשת במיטבה בעזרת חומרת היעד של NI. צוותי פיתוח קטנים יותר ימצאו את האינטגרציה ההדוקה בין תוכנת LabVIEW והחומרה מבוססת FPGA מאוד מקילה, בהיותה משחררת מהעול של עיסוק בפרטי התכנון המלא. בעזרת ארכיטקטורת LabVIEW RIO חברי הצוות יוכלו להתמקד ולהקדיש יותר זמן להוספת הערך המוסף היעודי ולבידול המוצר, ופחות לעיסוק במערכת ההפעלה, פיתוח דריייברים לתווכה, או ניפוי באגים במעגל המודפס הקשורים ל-signal integrity.
כיוון ש-LabVIEW פונה באופן אינטואיטיבי הן למעבד והן למשאבי הלוגיקה המיתכנתת בארכיטקטורת LabVIEW RIO, מומחי השיווק והיועצים המדעיים יכולים למלא תפקיד פעיל יותר בפיתוח מעבר ליעוץ גרידא. מעורבותם הישירה תאפשר לענות במהירות ובדיוק על הדרישות המדעיות ועל דרישות השוק הניצבות בפני המוצר.
השימוש ב-LabVIEW ובחומרה מבוססת – FPGA יסייע לצוותי הפיתוח להביא את המוצר לשוק תוך זמן קצר יותר ולפתח מוצרים בעלי בידול רב יותר.

סיכום
כל המעבדים המיתכנתים המכילים מארג FPGA מספקים פלטפורמה חישובית גמישה היכולה להחליף תכנוני ASIC רבים ולהעשיר את סביבת הפיתוח המסורתית שהתמקדה במעבד. התוספת של לוגיקה מיתכנתת מסייעת לענות על האתגרים הקשורים בהארכת חיי המוצר, שילוב תקנים חדשים והוספת יכולות
co-processing מקבילי מואץ המבוססות על חומרה, ובידול המוצרים באמצעות תכונות ייחודיות. האתגר הגדול ביותר שבו נתקלים כשרוצים ליצור תקינה עבור מערכות משובצות המשלבות מעבדים ורכיבי לוגיקה מיתכנתת הוא הפער הגדול בין כלי פיתוח מסורתיים המיועדים לכל אחת משתי תת המערכות. בעוד שיצרני סיליקון ממשיכים לחפש דרך להקטין את הפער, הרי שארכיטקטורת NI LabVIEW RIO תוקפת את הבעיה בעזרת פתרון הממוקד במידה שווה על תיקוף החומרה והתוכנה בדרך יעילה. צוותי תכנון קטנים יותר מסוגלים להביא את המוצר מהר יותר לשוק, להציע מוצרים מבודלים היטב תוך שימוש בגישת תכנון המבוססת על התקני בקרה וניטור מן המדף מתוצרת NI בשילוב LabVIEW.

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