Table of Contents
כלים High-Level Synthesis (HLS) שינו באופן יסודי את זרימת העבודה העיצוב עבור מעבדי אותות דיגיטליים (DSP). על ידי כך שמעצבים יוכלו לציין התנהגות חומרה באמצעות שפות ברמה גבוהה כגון C, C++, או SystemC, HLS מגשר את הפער בין פיתוח אלגוריתם ומימוש חומרה ספציפיים.שינוי זה מבטל הרבה של ידני, קידוד שגיאות של רמת העברה (L) מאפשר שיתוף פעולה מהיר יותר של מערכת ההפעלה, עיצוב באמצעות עיבוד מידע, עיצוב באמצעות אלגוריתם, עיצוב מהיר יותר, עיצוב באמצעות עיבוד חומרה, עיצוב מהיר יותר, עיצוב יעיל יותר, עיצוב יעיל יותר, עיצוב יעיל יותר, עיצוב מהיר יותר, עיצוב מערכתית של פונקציות עיבוד של אלגוריתם.
הבנה של סינתזת תואר גבוה (HLS)
High-Level Synthesis הוא תהליך עיצוב אוטומטי המפרש תיאור אלגוריתמי שנכתב בשפה ברמה גבוהה ומייצר יישום חומרה ברמת RTL - באופן חד-משמעי ב VHDL או Verilog. קוד קלט מתאר את החישוב המיועד ללא לציין תזמון, צינורות, או הקצאת משאבים.כלי HLS לאחר מכן לוח זמנים פעולות על פני מחזורי השעון, להקצות יחידות פונקציונליות (דדרים, מכפילים, ובודדים, זיכרונות כגון מגבלות), או מגבלות של זמן של זמן של לוח זמנים של לוח זמנים.
עבור מעבדי DSP, התיאורים האלגוריתמיים כוללים לעתים קרובות לולאות מקונן, פעולות ממטריקס, מבני מסנן (FIR, IIR), FFT פרפרים, ושוויון הסתגלותי. HLS יכול באופן אוטומטי צינורות, לא רולים, וממנף את פרוסות DSP (יחידות cumly-aculated) שנמצאו ב FPG ASICs מודרניים.
פיתוח כללי של RTL לעומת HLS Workflow
בזרימת העבודה הקונבנציונלית RTL, מהנדס DSP מתחיל עם מפרט מערכת, כותב מודל ברמה גבוהה (לעתים קרובות MATLAB או Python), ולאחר מכן מתרגם באופן ידני את המודל לתוך RTL. תרגום זה דורש מומחיות חומרה עמוקה והוא כוח עבודה-חישה.כל שינוי לאלגוריתם דורש שיקום קוד RTL, לעתים קרובות הציג שגיאות ונדרש איחוד מחדש את הזמן מקפאה כדי להיות אלגוריתם מורכב במיוחד עבור סיליקון או אלגוריתם פונקציונליים.
עם HLS, אותו מהנדס יכול ליישם ישירות את המודל ברמה גבוהה לאחר אימות פונקציונלי. כלי HLS מטפל התרגום ומספק משוב על ביצועים, אזור, וכוח.אם האלגוריתם משתנה, המעצב מעדכן את הקוד ברמה גבוהה ו- synthesizes.היכולת של הכלי לחקור שבבים מיקרו-ארכיטקטורים שונים (למשל, באופן מלא לעומת משאבים משותפים) מאפשרת ניתוח מהיר של פורמטים של מערכות רדיו, כמו מעבדי תיבות של עיבוד מחשבתית, כלומר, עיבוד מחשבתיים קריטיים של מערכות רדיו, תכנות, תכנות, כלומר, עיבוד מחשבתיים אוטומטיים, כלומר, מעבדים של מערכות עיבוד מחשבתיים, מעבדים של פורמטים של פורמטים, כמו מעבדים של מערכות מחשוב, כלומר, מעבדים של פורמטים אוטומטיים יותר, מעבדים של פורמטים של פורמטים של מערכות הפעלה מחדש, מעבדים של מערכות מחשוב, מעבדים של פורמטים של פורמטים של מערכות מחשוב, כלומר, מעבדים של מערכות הפעלה מחדש, מעבדים של פורמטים של מערכות הפעלה מחדש, מעבדים של מערכות מחשוב, כלומר, מעבדים של מערכות מחשוב, מעבדים של פורמטים של פורמטים של מערכות מחשוב, כלומר, כדי להאיץ את מערכות הפעלה מחדש של פורמטים של פורמטים של מערכות הפעלה מחדש של פורמט זה, מעבדים של פורמט
יתרונות מרכזיים של שימוש ב- HLS בעיצוב DSP
אימוץ HLS בעיצוב מעבד DSP מונע על ידי כמה יתרונות שניתן לכמת כי להרחיב מעבר לרווחים פשוטים של הפרודוקטיביות.כל אחד מהם מתייחס ישירות לנקודת כאב בפיתוח חומרה מסורתי.
פיתוח מהיר יותר ו- Shorter Time to Market
כתיבת ואימות RTL עבור אלגוריתם DSP גדול יכול לקחת שבועות או חודשים. HLS להפחית את זה עד ימים על ידי הפעלת יצירת synthesizable RTL. לדוגמה, 1024 נקודות FFT ניתן לציין בכמה עשרות שורות של קוד C; כלי HLS צינורות באופן אוטומטי את חישוב ומפות זה אדריכלות היעד.
שיפור המוצריביות והתמקדות ב-Algorithm Optimization
מעצבים יכולים לבלות יותר זמן בתיקון אלגוריתמי עיבוד אותות במקום ניהול תזמון חומרה. כי HLS מפריד התנהגות ממימוש, מהנדסים יכולים לבדוק ולייעל אלגוריתמים ברמה גבוהה, אז לתת את הכלי לייצר חומרה.הפרדה זו גם מקל שימוש טוב יותר: מודל C / C / C++ כתוב היטב יכול לשרת הן סימולציה תוכנה והן סינתזת חומרה חומרה חומרה חומרה חומרה, צמצום השכפול של מאמץ.
תכנון החלל
כלים HLS מאפשרים חיפוש מהיר של חלל העיצוב.על ידי התאמת ההוראות (למשל, מרווח צינורות, לולאה ללא רישום, חלוקת מערך) המעצב יכול ליצור יישומי RTL מרובים ולהשוות את הביצועים שלהם, האזור והכוח שלהם.לדוגמה, מסנן FIR יכול להיות מיושם כמערך סינפלי מקביל לחלוטין או כמנוע עסקי ה-HLS. דוחות משאבים ותזמון עבור כל אחד, המאפשר ל-Dex הטוב ביותר עבור יכולת הפעלה ידנית.
אחריות טובה יותר ויציבות
תיאור DSP ברמה גבוהה הוא בעל כורך גבוה יותר על פני משפחות FPGA או טכנולוגיות ASIC מאשר RTL. בעת מיקוד מכשיר חדש, המעצב רק צריך לסנכרן את אותו קוד C / C++ עם מגבלות מעודכנים. יתר על כן, ספריות של פונקציות DSP הניתנים לחזרה (למשל, מסנן גנרטורים, FFT, מודולים מודולים), ניתן לשמור על צורה ברמה גבוהה ושיתופית, כולל פרויקטים תחזוקה משותפת, כולל.
שגיאות ידניות מופחתות ושיפור ה-Verification
ידני RTL coding הוא נוטה לשגיאות חד פעמיות במכונות המדינה, דוכני צינורות לא נכונים, או נתונים לא מזוהים. HLS מייצרת RTL ממודל אלגוריתמי מאומת, צמצום משמעותי שגיאות כאלה.כלי HLS מספק גם RTL-co-simulation כי cross--checksimulation שנוצר נגד ה-RTL נגד ה-C Testbe המקורי. זה "התייחסות מוזהבת" תופס את המוטציות מוקדמות, לפני סימולציה או פוסט-ליזהב סימולציה לפני סימולציה מוקדמת, או פוסט-לי.
השפעה על זרימת העבודה של DSP
שילוב של כלי HLS עיצב מחדש כל שלב של פיתוח מעבד DSP - החל ממפרט ועד אימות סופי.התתת הבאה מפרטת את השינויים המשמעותיים ביותר בזרימת העבודה.
מוקדם Prototyping ו-Hardware-Software Co-Design
עם HLS, אבטיפוס חומרה ניתן לבנות ברגע שהאלגוריתם יציב.ה-RTL שנוצר ניתן לסנתז עבור לוח הערכה FPGA, המאפשר בדיקות בזמן אמת של שרשרת עיבוד אותות חודשים לפני סיליקון סופי זמין.זה מוקדם prototyping מאפשר קו-תוכנה חומרה-design-design: המערכת יכולה להשתלב עם מאיץ חומרה בפועל, חשיפת בעיות la ortency זה מוקדם יותר חוסך מוצרים מוקדמים.
אופטימיזציה של Ierative Useing High-Level Modifications
מכיוון שהקוד ברמה גבוהה משמש כמקור, אופטימיזציה אינפורמטיבי הוא פשוט.כדי להפחית את הסבלנות, המעצב מוסיף הנחיות צינור ו- re-synthesizes. כדי להפחית את האזור, הם מורידים את הגורם הבלתי מגלגל או לשתף יחידות פונקציונליות.כל אחד מהתריעה לוקח דקות (לא ימים) לולאות משוב מהיר זה מעודד אופטימיזציה אגרסיבית כי יהיה יקר באופן בלתי חוקי ב-RTL, לדוגמה, בסיס תקשורת יכול להיות אופטימיזציה עבור כוח מרובים עבור אחד, כלומר, כדי לעבור מספר פעמים, כדי לעבור דרך כוח אחד, כמו גם כן, זה יכול להיות מותאם אישית, כמו גם כן, כדי לעבור דרך כוח אחד, כמו גם כן, כדי לבצע שימושית אחת, זה יכול להיות אופטימיזציה מרובים.
פיתוח משותף בין תוכנה לבין צוותים קשיחים
HLS מעודד שיתוף פעולה באמצעות שפה משותפת (C / C++) מהנדסי תוכנה אשר מבינים אלגוריתמי DSP יכולים לכתוב את המודל הפונקציונלי; מהנדסי חומרה להתמקד על קביעת הרחבה וכוונון מיקרו-ארכיטקטורה. ההבנה המשותפת הזו מפחיתה את המוטציות ומבטיחה כי החומרה הסופית באמת תואמת את כוונת האלגוריתם.In בפועל, צוותים משתמשים לעתים קרובות בגישה "דאלית": סימולציה, תוך שימוש בדגם, תוך שימוש בחומרה כדי יצירת שימוש ב-קודה של קוד זהה לקודה לקודה.
צנרת אוטומטית ושיתוף משאבים
אלגוריתמים DSP בדרך כלל כרוכים בלולאות שצורכים את רוב הכלים חישוביים. HLS באופן אוטומטי צינורות הלולאות האלה כדי להשיג גבוה דרך לוח זמנים.לדוגמה, במסנן FIR, הכלי יכול לקבוע פעולות מכפלות כדי לעמוד במרווחת זמן של התכת יעד. בדומה, שיתוף משאבים - שבו מספר פעולות חולקות מכפיל יחיד - הוא אוטומטי, תוך שמירה על שיעור הנתונים הנדרש.
אתגרים ומגבלות של HLS עבור DSP
למרות היתרונות שלה, HLS הוא לא panacea. Designers חייב להבין את המגבלות שלה כדי למנוע נפילה בעיצובים DSP הייצור.
ביצועים חיזוי ואיכות של תוצאות
איכות התוצאות של HLS - ממונעת על ידי תדירות השעון, האזור והכוח - תלויות רבות על הכלי ואת ההוראות הניתנים. עבור כמה מבני בקרה לא סדירים או precision ⁇ , המיוצר RTL עשוי להיות פחות יעיל מאשר קוד יד קודקוד RTL. מעצבי RTL מנוסים לעתים קרובות יכול להיות יותר אופטימיזציה נתונים עבור לולאות קריטיות.
לימוד התעמלות ומכשירים Maturity
אימוץ HLS דורש למידה של מערכת חדשה של מגבלות, פרגמאס, ומנגנוני דיווח. מהנדסים חייבים להבין כיצד מפות הקוד ברמה גבוהה שלהם לחומרה - מה מבנים יפרו זיכרונות, איך לולאות מתוכננות, וכיצד ממשקים מסונתזים. עקומת הלמידה היא תלולה עבור מעצבים רגילים RTL טהור כלי עבודה משתנה; כמה כלים HLS לטפל בלוקים מורכבים DSP (למשל, QR depositions), עם יכולת שליטה גבוהה, עם נתונים חיזוי אחרים).
שטח וכוח מעל הראש
HLS יכול לפעמים לייצר יותר שטח מאשר יישום RTL בעל ערך יד.תהליך מחייב אוטומטי עשוי להציג מספריים נוספים או לרשום קבצים שאינם נדרשים באופן מוחלט. בדומה, צריכת חשמל דינמי עשויה להיות גבוהה יותר בשל הדבקה מיותרת.עם זאת, כלים מודרניים HLS מציעים הנחיות להפחתה כוח (למשל, הוספת שעון, בידוד אופרה) כדי להפחית את זה עבור כוח-conconated עיצובים (DSP), חיישנים חיוני.
וויכוח ומיזוג מורכבות
בעוד HLS מקטין את מספר שגיאות הקידוד ידני, מחיקת RTL שנוצר יכול להיות קשה יותר.המעצב חייב להפוך את אותות RTL חזרה קוד C המקורי כדי להבין התנהגות בלתי צפויה.מודלים ברמה של עסקאות ו- RTL-co-simulation עוזר, אבל הם מוסיפים מורכבות לזרימת אימות.עבור מערכות DSP גדולות המכסות מספר רב של שעונים או ממשקים סינכרוניים, נשאר מאמץ משמעותי.
מינוף HLS לתוך FPGA מודרנית ו- ASIC-based DSP Flows
כלי HLS המובילים כיום משולבים עמוק בסביבות עיצוב מסחרי FPGA ו ASIC. עבור עיצובים FPGA, FLT:0Xilinx Vitis HLSFLT:1 (לשעבר Vivado HLS) מאפשר למעצבים לרכיב C / C + קוד ל- IP שניתן להשתמש בו באופן ספציפי ב-Vivado.
עבור עיצובים ASIC, HLS משמש לעתים קרובות בשילוב עם סינתזה לוגיקה וזרימת עיצוב פיזי.כלי כמו FLT:0Cadence Stratus HLSFLT 1 ו-FLT:2Siemens EDA Catapult תזמון HLSFLT 3 הם פרוסים נרחב בפרויקטים DSP בנפח גבוה, כגון מעבדי בסיס אלחוטי, וידאו, קודים, וכלי עיבוד אוטומטיים, כגון סימולציה של צינורות.
מגמה מתפתחת היא השימוש בכלי קוד פתוח לחינוך וקידום מהיר (FLT:0) של הקוד הפתוח של ה-HLS (FLT:1 ו-FLT:2Xilinx' Open-source HLS המבוסס על LLVMIRLT 3: 3 הם דוגמאות, למרות שאין להם את הבשלות של הצעות מסחריות.
התייחסות חיצונית וקריאה נוספת
- (FLT:0)Xilinx Vitis HLS מסמך רשמי של DocumentationFLT 1 - מדריך מקיף לשימוש בעיצובים HLS עבור FPGA DSP.
- (FLT:0) "High-Level Synthesis for Digital Signal Process: A Survey" (IEEE Access)FLT:1 - סקר אקדמי מפורט של טכניקות HLS ויישומים שלהם ל-DSP.
- (ב) FPGA HLS CompilerveFLT:1) - פתרון ה-HLS של אינטל עבור DSP ו- AI האצה.
- (ב) [ה] אתגרים גבוהים ועיסוקים טובים ביותר" (עיצוב & Reuse)FLT:1 - תובנות מעשיות על פני הפחתת המכשולים של אימוץ HLS.
כיוונים עתידיים עבור HLS בעיצוב DSP
האבולוציה של HLS ממשיכה לדחוף את הגבולות של מה יכול להיות אוטומטי.כמה מגמות יחזקו עוד יותר את התפקיד של HLS בזרימות עיצוב DSP.
Machine Learning - עקבו אחרי HLS
מחקר עדכני חל על למידת מכונה לחזות את הסט האופטימלי של הנחיות HLS עבור עיצוב והמטרה נתונה. מודלים של למידה כוח מחדש יכול לחקור את מרחב הנחייה ביעילות רבה יותר מאשר שיטות כוח או היציניות, מניב יישום כמעט-אופטימי.עבור מערכות DSP עם לולאות רבות ומערךים, גישה זו מבטיחה להשיג באופן אוטומטי איכות מקובעת.
שילוב עם AI
מודלים יצרניים נחקרים כדי לתרגם תיאורים טבעיים של אלגוריתמי DSP ישירות לתוך קלט סינתזנטי HLS. בעוד עדיין ניסיוני, זה יכול להוריד את מחסום הכניסה קדימה, המאפשר מהנדסי אלגוריתם לתאר מפרטים או FFT ב אנגלית רגילה ולקבל יישום חומרה סינתזנטי.
מקור: HLS Ecosystem growth
ככל שקבוצות אקדמיות ותעשייתיות נוספות יתרמו, כלי קוד פתוח HLS יתבשלו.הם יספקו פלטפורמה לניסויים ולהתאמה אישית, במיוחד עבור ארכיטקטורות DSP מיוחדות כמו מחשוב משוער או עיבוד סטוכיסטי.
תמיכה טובה יותר ב-Precision DSP
אלגוריתמי DSP משתמשים יותר ויותר בקידוד מעורבות (למשל, נקודת צף לשליטה, נקודת מבט קבועה עבור Datapath) בעתיד HLS כלים יטפלו בהמרות מסוג וכוונון דיוק באופן אוטומטי, צמצום המאמץ ידני הנדרש כיום.זה קריטי עבור יישומי AI-enable DSP, שבו פעילויות עשרות דורשות רוחבי סיביות שונים.
אינטגרציה ללא ים עם Software-Defined Hardware
הגבול בין תוכנה וחומרה הוא מטושטש.כלי כמו:0Xilinx VitisigtureFLT:1 כבר מאפשר קוד אחד בסיס לפעול על שני מעבדים ולוגיקה ניתנת לתוכנה.
מסקנה
כלים סינתזתים ברמה גבוהה עיצבו מחדש את תהליך העיצוב של מעבד DSP באמצעות תרגום אוטומטי מהתיאורים האלגוריתמיים ל-RTL. היתרונות - פיתוח מגובש, שיפור פריון, חקר חלל עיצוב, יכולת התחדשות וטעויות מופחתות - הם משמעותיים ו-Ddocumented היטב בתרגול תעשייתי וגם מחקר אקדמי. בעוד שכגון ביצועים, גמישות, אימות, מורכבות, נשארים מתמשכים עם מערכת ההפעלה, אך עדיין מתוחה עם ממשק חזק יותר, אך ורק עם ה-HTLDLS, עדיין לא מנקה, הוא יותר, הוא כבר מנקה, הוא יותר, אך ורק עם שיטות פעולה מתוחכמות טובה יותר, אך ורק אם הוא מנקה יותר, הוא מנקה יותר, אך ורק עם ה-DTLDTLDLS, הוא יותר, אך ורק עם אתגרים תעשייתית של עיצובית של שיטות פעולה עם ממשק יעיל יותר, אך ורקמותק יותר, עם ממשק יעיל יותר, עם ממשק יעיל יותר, עם שיטות פעולה עם ה-DLS.