Table of Contents
תכנון מערכות אנרגיה נמוכות FPGA הפך דרישה בלתי ניתנת להשגה בעיצוב דיגיטלי מודרני, במיוחד עבור מכשירים ניידים, מופעלים סוללות, ויישומים מבוזרים תרמיים. כמו ערכות שער מבוזרות שדה (FPGAs) הם יותר ויותר פרוסים במחשוב, מכשירי IoT, תשתיות אלחוטיות, היכולת להפחית את צריכת החשמל ללא תפקודים הקרבה נותן יתרון תחרותי VL (HSware) במיוחד עבור פיתוח חשמל חזק.
מימון של צריכת חשמל ב-FPGAs
כדי לייעל את קוד VHDL עבור כוח נמוך, מעצב חייב תחילה לתפוס את שני המרכיבים העיקריים של צריכת כוח FPGA: כוח דינמי וכוח סטטי. כוח דינמי שולט במהלך פעולה פעילה והוא נשלט על ידי המשוואה הידועה (p {j = \alpha / ap t / כוח דליפה (cdot V2 / cdot fage), שבו (\pha\) הוא מעבר פעילות (הממוצע של לחץ) הוא גם לחץ על ידי כוח t) הוא לחץ (שעון t) הוא גם לחץ עובר (שעון t) הוא לחץ גבוה (שעון t) הוא לחץ) הוא לחץ על ידי כוח דחף t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t) הוא כוח).
ארכיטקטורות FPGA לתרום מקורות נוספים של צריכת אשר נבדלים מ ASICs. תוכנית קישוריות יעילה היא צרכן כוח גדול בשל נתיבי החיתוך הארוך ו transistors רבים לעבור.הלוגיקה חוסמת את עצמם, בין אם LUTs או ALMs, גם dissipate כוח מבוסס על תפקוד מוגדר של רשתות שעון, אשר להפיץ אות גבוה מעבר לכל, יכול לצרוך 20 - 30% של אסטרטגיות אבטחה אלה לא רק על ידי אופטימיזציה של תפקוד זה.
טכניקות להורדת חשמל
1. שעון GING
גלי שעון הוא אחד הטכניקות היעילות ביותר לצמצום כוח דינמי.על ידי פירוק אות השעון למודולים לא פעילים, פעילות המעבר בלוקים אלה טיפות אפס, חיסול הכוח מבוזבז על טעינה מיותרת וניתוק של אלמנטים קוונטיים. ב VHDL, שעון גלימת יכול להיות מיושם על ידי ושעון גלובלי עם אות, אבל זהירות נדרשת כדי למנוע glitches בטוח יותר לשימוש ב-GAFert עצמו אינו מאפשר שעון ייעודי (לא מאפשר שעון ייעודי).
(ב) .
דפוס זה משתמש ב-flop של שפת עץ החיתוך ומאפשר, שמירה על חלוקת עץ השעון ולהימנע מסיכוןים של השעון הנחשק.עבור שעון מוטבע כמובן מרמת הבלוק, מיידית את תא השעון של המוכר (למשל, BUFGCE במכשירי שיlinx) כדי לכבות חלקים של השעון במהלך תקופות של idle.
2.Minimizing Switching Activity
פעילות מעבר (\alpha\) מכפילה ישירות את הכוח הדינמי.קוד VHDL יכול להציג משקפי מיותר באמצעות פרוטוקולים תקשורת ירודה, הקצאות אות מחוספסות, או קידוד המדינה לא יעילה כוללים:
- (FLT:0) גרם אפור לדלפקים ומכונות מדינה שרק לעתים נדירות צריך לעדכן את ביטי הפלט.FLT:1 גריי coding מבטיח רק קצת אחד שינויים במעבר המדינה, צמצום מספר העולים על אוטובוס הפלט. לדוגמה, דלפק בינארי כדי לנגב כמה ביטים בו זמנית, המוביל לדרגה גבוהה יותר (\pha\) על קווי האוטובוס.
- (FLT:0) Data gatingFLT:1; Disable or Hold data קלטs יציב כאשר מודול אינו נגיש.אם נתונים הוא בטל, להגדיר את הקלטים קבוע ידוע (למשל, כל אפסים) ולא מאפשר למגירות אקראיות מלוגיקה של הזרם.
- (FLT:0) הקצאות אות מיותרות: להימנע מקביעת ערכי ברירת מחדל לסימנים המשמשים רק בתנאי שימוש.כל משימה יוצרת פוטנציאל לעגמל אם האות מונע על ידי תהליכים מרובים או אם ערכי ברירת המחדל שונים מהערך המונע בפועל.
- (FLT:0) תפוקה רשומה עם אפשרות FLT:1; במקום להשתמש בפלטים משולבים בלבד כי להתחקות עם כל שינוי קלט, לרשום את הפלט ורק לעדכן אותם כאשר הנתונים בתוקף.
מדינה יעילה, שהקימה עבור מכונות ממשלתיות Finite
הבחירה של המדינה ⁇ משפיעה ישירות על מעבר פעילות, אזור ותזמון. עבור עיצובים נמוכים, טבילה אחת (כל מדינה קצת מקביל למדינה אחת) מצמצם את מספר המעברים בין מדינות פעילות כי רק שתי נקודות להתגלח כאשר נע בין מדינה ל- B: ה- A הנוכחית הולך נמוך ואת הבא הולך גבוה.עם זאת, חד-פעמי אחד מגביר את מספר הירכיים, אשר בשימוש יכול להעלות את הכוח סטטי יותר (למשל, כלומר, כלומר, כלומר, כלומר, בדרך כלל פחות יעילות) עבור פעילות גופנית, כלומר, כלומר, כלומר, פחות או יותר, כלומר, אם כי היא פחות יעילה יותר, כלומר, כלומר, כלומר, אם כי היא פחות.
4.Pipelining and Retiming to Lose Glitch Proagation
גליצי הם קצרים, בלתי מאוישים מעברי אות כי להפיץ באמצעות לוגיקה משולבת, גרימת ניתוק כוח נוסף במעגלים במורד הזרם.נתיבים שילוב עמוק נוטים במיוחד לבלוטים כי עיכובים קלט שונים גורמים ללוגיקה באופן זמני להזין ערך לא נכון לפני יישבו את התדירות של קידוד באופן ברור, מבלי ליישב את הפחתת הקידודים הלוגיים האלה, לעתים קרובות להורדת מגבלות הלחץ באופן דרמטי.
שימוש ב-Vird Modes ו-Power Down Modes
FPGAs תומך במספר אזורי שעון ואיים כוח.בעוד VHDL לא יכול לשלוט ישירות באספקת החשמל, הקוד יכול מיידית או לאפשר מודולים רק כאשר נדרש.לדוגמה, מקלט אלחוטי עשוי רק צריך את חוסמת עיבוד הבסיס שלו כאשר החבילה מתקבלת.על ידי הגדלת השעון מאפשר לחסום אותו (באמצעות ה-p-flop's CE) או על ידי קביעת איפוס כי ניתן לבטל את הלוגיקה, אם הוא מקבל את פעולת הפחתת לחץ על ידי החלפת קובץ ה-L.
שיתוף משאבים לצמצום האזור ו-Switching
כאשר מבצעים מרובים דומים מבוצעים על נתונים שונים, שיתוף משאבי חומרה (למשל, מכפיל אחד או ALU המשמש מחזורי זמן-multiplexed אופנה) מקטין את המספר הכולל של תאים לוגיים ומשאבים מתפתלים, ובכך להפחית הן דינמיות ו סטטיות כוח.ב VHDL, זה מושג על ידי הפרת מספר רב של נתונים מחוסנים. לדוגמה, במקום שני תוספות מיידיות עבור שני תוספות קבועות בדרך כלל לא ניתן להשתמש בו זמנית של משאבים מרובים, אך לעתים קרובות.
טכניקות לרישום ויישומים עבור כוח נמוך
בעוד VHDL coding מגדיר את הבסיס לעוצמה נמוכה, הסינתזה ואת שלבי יישום מציעים גם לניתוק חזק. ספקים FPGA מודרניים לספק אפשרויות סינתזה קצרות כי לכוון כוח נמוך.לדוגמה, Xilinx Vivado כולל "Power Optimization" סינתזה אסטרטגיה כי משתמשת ב- קידוד שעון, תגמול, ו- LUT מבוסס אופטימיזציה כדי למזער את ההגדרות מהירות אלה.
הערכת כוח היא חלק קריטי של זרימת הכלים כגון Xilinx Power Estimator (XPE) ו- Intel PowerPlay לספק הערכות מוקדמות המבוססות על שיעורי העגפיים, תדרי השעון, ובחירת המכשיר.ההערכות הללו הופכות מדויקות יותר לאחר סינתזה ומימוש כאשר נתונים מדויקים לקצב הסימולציות (בדרך כלל בתבנית VCD או SAIF) יכולים להיות מיובאים.
משאבים חיצוניים לקריאה נוספת:
- (ב) [15] ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (ב) ◄ ⁇ ⁇ ⁇
- (ב) ,0) ,IEEE Paper: Low Power FPGA Design - ARDFLT
גינוי ואימות של עיצובי חשמל נמוכים
אופטימיזציה כוח נמוך צריך להיות מאומת מוקדם ברציפות.סימציה את העיצוב עם דפוסים אופייניים וגרועים ביותר תוך איסוף פעילות באמצעות בדיקת VHDL. כלי סימולציה רבים יכול ליצור קובץ שינוי ערך Dump (VCD); קובץ זה יכול להיות לקרוא על ידי כלי estimation כוח כדי להתאים את כוח דינמי בפועל.
עוד תרגול טוב יותר הוא לחלק את העיצוב לתחומים של כוח בהיררכיה VHDL. על ידי הפרדה ברורה מודולים שיכולים לפעול במתחים שונים או בתדרים, העיצוב הופך קל יותר לייעל עם IP ניהול חשמל ספציפית של הספק.לדוגמה, מערכת עשויה להיות בעלת דומיין בעל ביצועים גבוהים (למשל, עבור DSP) שפועלת ב -200 מ"הרץ, ותחום בקרה שפועל ב -20Hz.
Best Practices for Low Power VHDL Design - A Summary
- (ב) ,0) עיצוב עם שיעורי עלייה נמוכים בראש.ה.ר.מ.ל.ר.מ.ל.ר.ל.ר.ל.ד.ר.ל.ר.ל.ר.ל.ר.ל.ר.לחשוב על פעילות כל אות, במיוחד אוטובוסים מתפוקדים על כריות I/O של FPGA שבהן עומסי חמק הם גדולים.
- (ב) ,0) , רשם אותות קריטיים של ההרחבה 1 (FLT:1) כדי לשבור נתיבים משולבים ולהקטין את ה-glitch propagation. השתמש ברישום בגבולות מרכזיים.
- (ב) ,0 חלק מהעיצוב שלך: 1:1 לתוך בלוקים עצמאיים של שעון.
- (FLT:0) כלי סינתזה של כוח-המודע (Synthesis) 1:1 ומדנים כל הזמן את הפקעת הסחר בין אזור, מהירות וכוח.אל תעשה אופטימיזציה עיוורת לתזמון בלבד.
- (FLT:0) להעריך ולאמת צריכת החשמל FLT:1 מוקדם במחזור העיצוב. Leverage VCD קבצים מנתחי כוח הספק לתפוס נקודות חמות לפני יישום.
- (FLT:0) חישוב המטרה משפחת FPGA TERLT:1) - מכשירים חדשים יותר עם מתחים ליבת נמוך (למשל, 0.95 V לעומת 1.2 V) מציעים הפחתה משמעותית של כוח סטטי.
- (FLT:0) ללא צורך בלוגיקה מבחן לוגיקה של ®FLT:1 שנשאר פעיל בייצור.אם תכונות debug (למשל, ליבות שבבסקופ) כלולים, להבטיח שהם מוגבלים או שעון מופץ בהקמה הסופית.
- (FLT:0) ספק נמוך פרימיטיבי של כוח פרימיטיבי ספציפי של כוח פרימיטיבי (FLT:1 ), כמו שערי שעון ייעודי (BUFGCE), בלוקים DSP שניתן לכבותם, ולחסום את ה- RAM במצב של העצמה כאשר לא גישה אליו.
מסקנה
צמצום צריכת החשמל בעיצובים FPGA מתחיל בשלב מוקדם ביותר: כתיבת קוד VHDL יעיל על ידי הבנת הפיזיקה הבסיסית, יישום טכניקות קידוד ממוקד כגון שעון חיתוך, מעבר פעילות minimization, וקידוד מצב יעיל, ומינוף סינתזה וכלים יישום כי אופטימיזציה של כוח, מעצבים יכולים להשיג חיסכון אנרגיה מרשים ללא אופטימיזציה של תפקוד או ביצועים.