Table of Contents
אדריכלות: FPGA
קרינת שער שדה-Programmable הפכה חיונית בעיצוב מערכת דיגיטלית מודרני על ידי המציע שילוב ייחודי של ביצועים ברמת חומרה ופוסט-ניהול מחדש של תצורת-ההגדרה. בלב כל FPGA שוכן ה-FLT:0fabricoritureFLT:1 - רשת מורכבת של מרכיבים לוגיקה מסובכת, ערוצים ייעודיים, וקשה שיכולה ליצור ממשק זמן משולב של תאים דיגיטליים, אשר מאפשר לתאים משולבים בתוך מערכת הפעלה אישית של תאים SPUD.
תצורת מחדש זו הפכה את FPGAs קריטי עבור מערכות מהירות, אווירוקל ומערכות הגנה, תשתיות תקשורת, ואת האצת מחשוב ביצועים גבוהים. כמו מכשירים התפתחו מערכי שער פשוטים לפלטפורמות heterogeneous מערכת על שבבים, הבנת הארכיטקטורה הבסיסית ואת עקרונות העיצוב כי ניצול זה הפך חיוני עבור מהנדסים שרוצים לבנות מערכות יעילות, אמין, קנה מידה מספק בדיקה מפורטת זו, תכונות עיצוב מתקדמות.
בניין Core Blocks of the FPGA
הבד המודע מורכב ממספר סוגי יסוד בסיסיים, כל אחד מהם מותאם לתפקידים ספציפיים.המשחק בין שולחנות הצפייה, הצפיפות, משאבים מתחסמים, חסום RAM, פרוסות DSP, ו- I /O קשיח קובע כמה יעיל עיצוב יכול לעמוד בתזמון, אזור, ומטרות כוח. להלן אנחנו לשבור כל רכיב עם דגש על השלכות מעשיות עבור מעצבים.
קידוד לוגי חסומים ו- Look-Up Tables
בגרנריות המשובחת ביותר, כל מכשיר FPGA מבוסס על שולחן המראה כמו משאב ההיגיון העיקרי שלו. A k-input LUT יכול להבין כל פונקציה של Booleans על ידי אחסון שולחן האמת בתאים זיכרון סטטי.לדוגמה, תקן 6-input LUT במכשיר שיליקס 7-סדרה יכול ישירות computeF:0Y=A) כלומר, כלומר, צבע טיפוסי של 6-input LUT בתוך מכשיר 7-D, ללא לוגיקה, ללא לוגיקה, הוא מתאים באופן דרמטי, ללא לוגיקה אחת, כלומר, כלומר, כלומר, כלומר, כלומר, כלומר, כלומר, כלומר, כלומר, כלומר, ללא מספר זה סטנדרטי של מספר 1- C-D-D-D-D-D-D- C-D-D-D-D-D-D-D-F-D-D-D-F-F-F-F-F-p-p-D-D-D-D-p-p-D-D- לוגיקה סטנדרטי, באופן קבוע, באופן קבוע, באופן קבוע, ללא לוגיקה יחיד, ללא לוגיקה יחיד, באופן קבוע, הוא מתאים ל- לוגיקה יחיד, ללא לוגיקה יחיד, באופן קבוע, התקן קבוע, ללא
בלוקים מודרניים לוגיים ניתנים להגדרה משלבים מספר רב של LUTs עם חומרה ייעודית. פרוסה בתוך שילינקס CLB בדרך כלל מכיל ארבעה 6 אינץ 'LUTs, שמונה טבלאות, מספרxers, ונושאים שרשראות עבור תוספת מהירה ו subtraction.של שרשרת לשאת פועל אנכית רק בין CLBs סמוכים, המאפשר תוספות רחבות, קושרים, ודלים ללא צריכת כללי ביצועים מתקדמים יותר.
בנוסף ליישום ההיגיון השרירותי, LUTs ניתן להגדיר כ- RAM מבוזר או רישום משמרת. יכולת שימוש כפולה זו מועילה במיוחד לבניית FIFOs קטנים, קווי עיכוב צינורות צינור, או טבלאות חיפוש עבור מסנן coefficients. לדוגמה, אחסון מערך יעיל 8x8 עבור מסנן תגובה אימפולס סופי ב- RAM מבוזר נמנעים מצריכת זיכרון RAM מלא תוך מתן מספר רב של יציאות קריאה של מסחר בין זיכרון RAM לחסם מבוזר עבור אופטימיזציה של זיכרון RAM הוא אופטימיזציה של זיכרון RAM הוא אופטימיזציה של זיכרון RAM מבוזר עבור אופטימיזציה של זיכרון RAM הוא אופטימיזציה של אימפולס סופי.
Flip-Flops, Sequential Logic, ו- איפוס ארכיטקטורת
כל תא לוגי ב-FPGA זוגות אחד או יותר צפיפות עם LUT לתפוס את המדינה הסינכרון.הרישוםים מציעים שעון ניתן לתכנת, אותות סט/reset, ולפעמים גם מעורר כפול.השפע של תרדפות - לעתים קרובות פעמיים מספר LUTs - עושה את זה מעשי להשתמש אדריכלות צינורות עמוק שיכול לרוץ במאות מגה-הרץ, מאפשר אותות מופץ מאוד.
נפילה נפוצה היא overusing איפוס גלובליים. מעצבים רבים ליישם איפוס סינכרוני או מסונכרוני לכל ספין-אפ, אבל כלי סינתזה מודרניים יכולים לעתים קרובות ל ראשונית לרשום רישומים במהלך תצורה, חיסול הצורך עבור סיפונה ייעודית.כאשר איפוס נדרשים, הם צריכים להיות מוגבלים כדי לשלוט מכונות מצב צינורות.כל שעון ייחודי או לאפשר איפוס של משאבים מרובים; הם להפחית את אותם קבוצות בקרה פעיל על פני תזמון.
שילוב ואדריכלות
מכל רכיבי הבד, הבד המפחיד יש את ההשפעה הגדולה ביותר על ביצועי ומורכבות עיצוב. FPGAs להשתמש בטופולוגיה בסגנון אי, שבו מעבורות מתג מתכנתים ניתן לתכנת תופסת את נקודות הצומת של ערוצי קירור אופקיים אנכיים ו אנכיים.ערוצים אלה מכילים חוטים של אורכו שונים: חוטים מקומיים המחברים בלוקים לוגיקה צמודים, חוטים ביניים המשתרעים כמה שורות או עמודות, חוטים גלובליים בקלות לקבוע את הגובה של עיצוב זה או את רוחב הגמישות במהירות.
שליטה מופעלת באמצעות נקודות חיבור מותאמות לתוכנה - באופן טבעי עובר טרנזיסטורים או מספרקסרים - אשר מופעלים על ידי תצורה bitstream. כאשר תפוקה LUT צריכה לנהוג כ-flop מרוחק, המיקום וכלי routing בוחר נתיב דרך סדרה של PIPs.מספר PIPs בדרך ישירות משפיע על עיכוב חוט.עבורת זו, FPGA מהירה מודרנית מספקת גם את המהירויות הראשיות ( ⁇ )
מהנדסים אשר מבינים את ההיררכיה של הגילוח יכולים לכתוב מגבלות אשר להנחות את הכלי לתוצאות טובות יותר.לדוגמה, הגדרת מגבלות מיקום יחסיות לעץ מדרגות יכול לשמור על רשתות הנושא שלו תואמים אנכית, צמצום המרחק בין שלבים באופן דומה, ריצוף בקר זיכרון גדול לאזור מסוים של המכשיר מונע אותות גבוהה שלו מהפרעה עם בלוקים יקרים אחרים.
Input/Output Blocks and Interfaces
I / O בלוקים לספק את ממשק החשמל בין הבד הפנימי לבין מעגלים חיצוניים.כל בלוק ניתן להגדיר עבור מגוון רחב של תקני אות, כולל LVCMOS, SSTL, HSTL, LVDS, ופרוטוקולים שונים במהירות גבוהה. מתקדם IOB כוללים אלמנטים עיכובים פנימיים, רישומים ופלט המאפשר ממשקים של מקור-סינכרון כמו DDR ו-מהירות זיכרון גבוהה בלוקים IOBS הם כל אחד מהם, כל אחד מהם, כולל הגדרות סטנדרטיות סטנדרטיות, כל אחד, כולל, כולל, כולל, כל אחד, כולל, כולל אספקת חלונות סטנדרטיים סטנדרטיים סטנדרטיים סטנדרטיים, וספקים, IO, וספקית, כולל, וספקיתים, כל אחד, וספקית, וספק, כולל, וספקית, וספק, וספק, כל אחד מהם, כל אחד מהם, כולל, וספקית, וספקית, כולל, כולל, כולל, כולל, כולל, כולל אספקת חלונות סטנדרטיים, וספק, וספקית אבטחה סטנדרטיים סטנדרטיים, וספקית, כולל, כולל, וספקיתוני תיבות של אבטחה, וספק, וספקית, ואביזרים, כולל, כולל, כולל, וספק, וספקית,
עבור ממשקים מהירים, FPGAs לעתים קרובות לשלב לוגיקה סדרתית / deserializer בתוך בנקי I / O מיוחדים. אלה סרדיס חוסם פרוטוקולים תמיכה כגון JESD204B עבור ממירים נתונים או ג'יגהביט Ethernet ללא צריכת משאבים.קשה זיכרון עבור DDR4, LPD4, HBM הם גם נפוצים, ניהול שכבה פיזית ותזמון אוטונומית פרוטוקול תוך כדי שינוי יעיל של ממשק פעולה.
חסימת RAM ועל זיכרון צ'יפ זיכרון Hierarchy
רצפים חסומים הם מחסנים כפולים של SRAM טיפוסיים של 18 Kb או 36 Kb כל אחד, תצורה יחסי היבט שונים. A סטנדרטי BRAM באמצע טווח 28 nm FPGA תומך בשני נמלים עצמאיים שיכולים לפעול בתדרים שונים שעון, מה שהופך אותו אידיאלי עבור מעבר תחומים או זרם נתונים כפול של קידוד, כגון פעולה כפולה, שגיאות קוגניציה / תיקון מרובים יכול ליצור באופן אוטומטי מספר פעמים על ידי תאים חשמליים וזיכרון.
המפתח לשימוש יעיל ב- BRAM הוא הבנת את העסקאות בין עומק, רוחב ותצורת נמל.לדוגמה, זיכרון 1024×36 ניתן ליישם כ-36 Kb BRAM, אך אם שני יציאות קריאה עצמאיות נדרשות, המעצב עשוי לדרוש תצורה דו-פורטית או שתיים נפרדות BRAM.
DSP Slices וHarded Arithmetic
פרוסות DSP בנויות בכוונה יחידות רב-תכליתיות כי מסלקות ממרקם כללי. פרוסה טיפוסית מכילה pre-adder, מכפיל 25×18-bit, ו accumulator 48-bit או שרשרת הסולם.במחזור שעון אחד, פרוסת DSP אחת יכולה למקם ריבוי כפל ולהצטבר את התוצאה לסכום של מוצרי Cas במהירות גבוהה כל מיני מנועים.
בלוקים IP קשיחים להרחיב את הרעיון הזה כדי להשלים תת-מערכות. רבים מודרניים FPGAs משלבים את ה- PCI Express IP קשה (עד Gen4/Gen5), 100G Ethernet MACs, Interlaken, ואפילו מעבדים משובצים כמו Arm Cortex-A סדרה.שימוש בלוקים אלה במקום לוגיקה רכות משחררת משאבים CLB עבור החלק המבדל של העיצוב, צמצום צריכת החשמל, תזמון, תזמון ותזמון הוא התצורה של ה- IP-off זה חייב לעקוב אחר התצורה של התצורה של התצורה של ה-IP.
עקרונות עיצוב עבור יישום FPGA
כתיבת HDL נכונה אינה מספיקה.עיצובי ה-FPGA המצליחים ביותר הם אלה המפלים היטב על החוזק של הבד: מקבילות מרחבית, צינורות עמוקים, ומודולריות היררכיות.העקרונות הבאים מנחים מהנדסים לקראת יישום מהיר, שמירה, ויעיל משאבים.
מודולריות ו- Interface Discipline
שוברים עיצוב למודולים מוגדרים היטב עם גבולות ברורים עוזר לנהל מורכבות ומאפשרים פיתוח מקבילה.טכניקה חיונית היא לרשום את כל הקלטים והפלטים של כל מודול בגבולותיהם.פרקטיקה זו, המכונה FLT:0registered ממשקים מקבילים: FLT:1, מבטיחה כי נתיבים משולבים אינם חוצים גבולות מודול, מה שהופך ניתוח תזמון פשוט ומאפשר תכנון ריצוף מודולים כל אחד מהם הוא לרשום את המודולים באופן עצמאי ובודד לכל מודולים, הוא בעל יכולת יחידה, לבודד, כל אחד, חסום, הוא אחד, חסום, חסום, כל אחד, חסום, הוא אחד, חסום, חסום, חסום, הוא רצף, חסום, הוא אחד, חסום, חסום, חסום, ומבודד, הוא אחד, הוא אחד, כדי למנוע את המודולים, כדי לבודד, כל אחד, הוא אחד, כדי לבודד, כדי למנוע את המודולים, מבודדים מבודדים מבודדים בודדים, מבודדים, והוא מוגבל, כדי למנוע את המודולים בודדים, כדי לבודדים, כדי לבודדים בודדים, כדי לבודדים בודדים, הוא אחד, הוא אחד, כדי לבודדים בודדים, כל אחד, חסומים מודול
חידוש מחדש והגדרה חלקית
FPGAs הם ייחודיים בין מכשירים הניתנים לתוכנה ביכולתם לשנות את הפונקציונליות בעוד שנותר במערכת.ההגדרה חלקית לוקח את זה עוד על ידי מתן תת-קבוצה של הבד להיות reprogrammed ללא להפריע לשאר.יכולות אלה הן שינוי משחק עבור יישומים כי צריך זמן-multiplex פונקציות - לדוגמה, מערכת רדיו מוגדרת תוכנה המחלקה בין 5Gforms באותו אזור הפעלה מחדש של לוחמת וידאו, כמו פונקציות עיבוד וידאו קבוע:
פישוט ומקבילות
הבד FPGA הוא מטבעו מחשב מרחבי: אלפי LUTs ו- flops יכולים לעבוד בו זמנית, כל אחד מבצע פרוסה קטנה של האלגוריתם. כדי להפוך את המרב, מעצבים צריכים לשקם אלגוריתמים לתוך גרפים זרימת נתונים הממקסמים את ה- concurrency.Pilining מכניסה רישומים בין שלבים משולבים, פורץ נתיבים ארוכים לתוך אלה קצרים יותר, בעוד זה מגביר את הגמישות במחזורים, מעלה דרך מאות פילטרים חדשים של כל אחד יכול להיות מסונן.
במקביל חל גם על רוחב נתונים: באמצעות פרוסות DSP מרובות במקביל מייצרת תוצאות וקטור רחב במחזור יחיד.עם זאת, לולאות ללא תשלום לחלוטין יכולות למיצוי משאבים.כלים סינתזה ברמה גבוהה מאפשרים למעצב לחקור את האזור באמצעות חישוב סחר חליפין על ידי התאמת גורמים לולאה מרווחי חיתוך.המפתח הוא למצוא את האיזון הנכון - מקבילה נוחה כדי לעמוד על ידי מטרות של המכשיר ללא יכולת קיבולת.
תכנון גופני והימנעות מהקואליציה
כלים אוטומטיים של מיקום וכלי גילוח הם חזקים, אבל הם נהנים מהדרכה אנושית.אחד הטכניקות היעילות ביותר הוא תכנון הרצפה - כמו חתימה בלוקים גדולים (RAM, DSP , מכונות מדינה) לאזורים ספציפיים של המכשיר.זה יוצר מסלולים צפויים תזמון למנוע את הכלי מפיזור לוגיקה קשורה מעבר ל-S השבבים.
המונחים: Debug Methodology
אימות Robust חיוני כדי למנוע סיליקון יקר סימולציה סימולציה לבד הוא לא מספיק כי זה מתעלם עיכובים חוטים ונפיחות ניתוח תזמון סטטי חייב להתבצע לאחר מיקום-and- Path כדי להבטיח את כל הנתיבים לעמוד תקופת שעון היעד. עבור ממשקים מורכבים, back-ancasting סימולציה לאחר תזמון מומלץ.
תכונות מתקדמות של FPGAs המודרנית
FPGAs של היום משלב תת-מערכות מתוחכמות שעוברות מעבר למרק הלוגיקה הליבה.הבנת התכונות הללו היא הכרחית לבניית מערכות שלמות, ביצועים גבוהים.
ניהול השעון והפצה העולמית
FPGAs כוללים לולאות מרובות של שלב נעול ומנהלי שעון מעורבים המייצרים אותות שעון יציבים, נמוכים מג'יטרים ממפגש אחד. בלוקים אלה מספקים סינתזזה תדירות, שינוי שלב, ו de-skewing. , buffers שעון גלובליים מפיץ אותות אלה על פני המוות עם skew מינימלי, באמצעות מסלולים ייעודיים נפרדים ממערכות interlinks צריך דומיינים מוקדמים (מעגל) ומצמיכים שעון ייחודי של שעון מינימלי.
בסביבה הקרובה של High-Speed Serial Transceivers
Transceivers Multi-gigabit הם עכשיו סטנדרטי באמצע טווח ו high-end FPGAs, תמיכה שיעורי קו מ 1 Gbps למעל 32 Gbps לכל נתיב. אלה בלוקים קשים להתמודד עם החזית האנלוגית, שחזור נתונים שעון, ופרוטוקולים לצטט סטנדרטים כגון PCI Express, SATA, 100G Ethernet, ו Interken. Transceivers הם מאורגנים ב quads, אשר יש צורך לבצע בדיקה לוגית, כגון לוגיקה קבועה, אשר בדרך כלל, כמו לוגיית אבטחה לוגיקה, כלומר, כלומר, כמו לוגיקה קבועה, כמו גם כן, כלומר, כלומר, כמו גם לוגיקה לוגיקה, כמו לוגיקה לוגיקה לוגיקה, כלומר, כלומר, כלומר, כמו לוגיקה לוגיקה קבועה, כלומר, כלומר, כלומר, לוגיקה לוגיקה לוגיקה לוגיקה לוגיקה, יש צורך לבצע לוגיקה לוגיקה לוגיקה לוגיקה לוגיקה לוגיקה לוגיקה לוגיקה לוגיקה לוגיקה לוגיקה לוגיקה לוגיקה לוגיקה לוגיקה לוגיקה לוגיקה לוגיקה לוגיקה לוגיקה לוגיקה לוגיקה לוגיקה לוגיקה לוגיקה לוגיקה לוגיקה לוגיקה לוגיקה לוגיקה לוגיקה לוגיקה לוגיקה לוגיקה לוגיקה לוגיקה לוגיקה לוגיקה לוגיקה
תכונות אבטחה ואבטחה
הגנה על תצורת bitstream מגניבה ו טמפינג היא קריטית עבור יישומים רבים.מרבית המשפחות FPGA לתמוך ב-AES-256 פענוח עם אחסון מפתח גיבוי סוללות על שבב, מניעת קריאה בלתי מורשית של העיצוב.יכולות מנעול מאובטח לאמת את השלמות של זרימת bitstream לפני טעינה. עבור יישומים בעלי יעילות גבוהה (אווירה, רכב, רפואי), FPGAs מציעים תצורה חד-פענוח: לעתים קרובות תצורה של זיכרון RAM ו-מחדש, או תצורה של תצורה של תצורה של תצורה של מערכת RAM, או ריצוף, או ריצוף, או תצורה, תכונות זיכרון RAM, כלומר, ריצוף, ריצוף, ריצוף, סימולציה מוקדם יותר, קידוד, סימולציה, תכונות זיכרון RAM, או MRI.
הפרקטיקה הטובה ביותר והשיקולים המעשיים
רשימת הסימון הבאה לוכדת את העצה המתוכננת ביותר שמקורה בחוויה עיצובית של FPGA בעולם האמיתי:
- (FLT:0) מגבלות מוקדם: FLT:1של תקציבי תזמון שלמים, הקצאות, ומפרטים שעון לפני כתיבת RTL. השתמש בקבצי SDC סטנדרטיים בתעשייה או XDC מגבילים את ה- XDC. שינויים מאוחרים יכולים לבטל את המיקום ודורשים שינוי חוזר של העיצוב כולו.
- (ב) ,0) קובעי בקרה: שעון שתף:13 מאפשר ולאפס אותות מעבר ככל האפשר של ריצוף רבים.
- (FLT:0) Leverage Software ליבות IP של ספק ה- IPFLT:1 עבור פונקציות סטנדרטיות כמו בקרים זיכרון, ממשקי רשת, ו- DSP פרימיטיביים.
- (FLT:0) רוץ מוקדם לאחר הסינתזה דוחות 1 (FeloLT:1) כדי לבדוק את השימוש במשאב יתר על המידה ואת קידוד ריצוף כדי לבודד רכיבים גדולים.
- (FLT:0)Use incremental איסוף 1 עבור צוותים: מנעו מודולים יציבים ו recompile רק אזורים שונים.זה מקטין את זמן ההפוך ושומר על סגירת התזמון.
- (ב) [ה]התחילה: [ה] [ה] [ה]] [ה] [ה]]] [ה]]] [התחילה]: הכנסת ליבות דה-בואג עם בדיקות מרובות-מחוסנים.
מעצבים מנוסים מפתחים לולאה משוב בין אדריכלות, כתיבה מגבילה, וניתוח שלאחר-הגדרה. ניתוח תזמון סטטי הוא לא אירוע חד פעמי; יש לפעול לאחר כל שינוי משמעותי, ואת נתיבי התיק הגרועים צריך להיבדק באופן ידני. גישה ממושמעת לתכנון, בדיקה, סימולציה, ואימות חומרה מהווה את עמוד השדרה של פיתוח FPGA אמין.
עתידו של מרק FPGA: מגמות ותחזיות
אדריכלות הבד של FPGA מתפתחת במהירות, מונעת על ידי דרישות ל- AI in the Edge, מחשוב הסתגלות במרכזי נתונים, ושילוב חלקה עם זיכרון גבוה פסוויאלי. מכשירים כמו Xilinx Versal ACAP להציג מנועי AI ורשת בת קיימא ברשת על שבב לצד הבד המסורתי LUT ספציפי, טשטש את הגבול בין FPGA ו heterogeneous ACAP מאפשר ל-Fers תפקוד משותף של PG-Ferd.
למרות החידושים האלה, עקרונות הליבה נשארים: לוגיקה ניתנת להגדרה, קידוד גמיש, ורישום בשפע הם הבסיס של כל יישום מוצלח. על ידי שליטה בפרטים האדריכליים וליישם שיטות עיצוב ממושמעות, מהנדסים יכולים לרתום את המכשירים האלה כדי לבנות מערכות לדחוף את גבולות הביצועים הדיגיטליים.המשך החינוך - באמצעות תיעוד של ספקים, מחקר אקדמי, וניסויים ידיים - ישמור על פני ה- FAs להיות מעוקל יותר מסוגל אפילו יותר.