Table of Contents
מערך השערים (FPGAs) שוכן בלב המערכות הדיגיטליות המודרניות, מטלקומוניקציה ואווירה ועד למכונות למידה מאיצים ועיבוד וידאו מוטבע.השפה שאיפשרה למהנדסים לתאר ולהבין את המעגלים המורכבים הללו הוא VHDL (VHS Hardware Language) מבטיח שילוב פעולה אסטרטגי (מתאים מתקדמים ביותר ל-DIS) לכל מעצב פעולה (Dirtexa) יעיל (Dintex) וטכניקות תכנות דיגיטליות (Derax) של פורמט יעיל ביותר (Ricial Design) של פורמט זה (DIS) ו-Integrating VHDL).
תפקיד VHDL בפיתוח FPGA מודרני
VHDL הוא שפה מאוד מכוונת, במקביל, ומוכוונת חומרה שפותחה במקור על ידי מחלקת ההגנה של ארה"ב.בניגוד לשפת תכנות תוכנה, VHDL מתאר מקבילה, עיכובים של הפצת אותות, ומבנים חומרה ברמות מרובות של מופשטת.כאשר משולב עם כלים, קוד VHDL מוגדר לתוך פרופיל ברמת השער, ולאחר מכן להציב ונדנדנדנדנדנדנדנדנדנדנד על הבד של FPGA, ולבסוף לתקני דיוק אלה.
גם שילנקס וגם אינטל השקיעו בכבדות בשרשרת הכלים שתומכות ב-VHDL לצד חלופות כמו וורג' ו- SystemVerilog.הבנת התכונות הספציפיות, הקווירקטים והאופטימיזציה של כל מוכר יכולים לעשות את ההבדל בין פרויקט חלק לסיוט מבולגן.
שיlinx (AMD) FPGA Development Environment
חברת Vivado Design Suite: The Modern Standard
(FLT:0Vivado Design SuiteveFLT:1) היה הכלי העיקרי עבור AMD Xilinx FPGAs מאז הצגת מכשירים 7-סדרה (למשל, Artix, Kintex, Virtex) ומרחיב את התמיכה ב- UltraScale+ ו-Vsal ACAPs. VHDL אינטגרציה ב-Vol אינטגרציה מקיפה, שילוב IP, התנהגות, סימולציה, סימולציה, סימולציה סימולציה סימולציה סימולציה סימולציה , סימולציה , סימולציה , סימולציה סימולציה סימולציה , סימולציה , , סימולציה סימולציה , סימולציה , , , סימולציה סימולציה , , סימולציה , סימולציה , , , , סימולציה , , , , סימולציה סימולציה סימולציה , , סימולציה סימולציה , , , , סימולציה סימולציה , סימולציה סימולציה , סימולציה סגסוגת , , ® ® , ® ® , סימולציה סימולציה , , , סימולציה סימולציה ® סימולציה סימולציה ® ® ® ® , ,
ארכיון תגיות: VHDL Source Files
יצירת פרויקט מבוסס VHDL ב-Vivado היא פשוטה:
- « שיגור ויאדו ובחר את ה-FLT:0.
- שם הפרויקט, המיקום והסוג (FLT:0RTL ProjectFLT:1) הוא טיפוסי.
- הוסף קבצים קיימים של מקור VHDL (ראה:0) או ליצור חדשים באמצעות עורך הטקסט בנוי-in.Vivado Automates האגודה של קבצים עיצוב עם סימולציה וספריות סינתזה (למשל, FLT:1).
- הגדר את החלק היעד FPGA באמצעות מספר חלק (למשל, xc7a35ticsg324-1L) או לוח מוגדר מראש (למשל, Arty A7-35).
- באופן אופציונלי כוללים קבצים מגבילים (ראהFLT:2) עבור משימות סיכות, הגדרות שעון, ויוצאי דופן תזמון.
סינתזה ומימוש
ברגע שמקורות VHDL נמצאים במקום, הזרם הטיפוסי הוא:
- (הופנה מהדף LT:0SynthesisFLT:1) - הכלי הסינתנטי של Vivado (default: FLT 3: 3) מתורגם VHDL לרשימה נטו של פרימיטיביים FPGA (LUTs, טבלאות, קופות, חסימת RAM, DSP פרוסות).
- (ב) [17] (ב) , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (ב) [ה]הדור הבראשיתי [ה]: [ה] [ה] [ה]] [ה]] [ה]] [ה]]] [ה]]]ה']'[ה]']'[ה]']'[ה']'[ה']'[ה']']']'[ה']']'[ה']'[ה']']' [ה'[ה']']'[ה'[ה']'[ה'[ה']'[ה'[ה'[ה'[ה']']'[ה'[ה']']'[ה']']']'[ה']']'[ה'[ה']'[ה']']']']']']'[ה'[ה']']'[ה'[ה'[ה']']']'[ה']']'[ה'[ה']'[ה']']'[ה']']']'[ה'[ה'[ה'[ה'
סימבול ו-Verification
Vivado כולל את הסימולטורים של צד שלישי כגון ModelSim, Questa, ו-Aldec הריביונית ההתנהגותית של עיצוב VHDL יכולה להיות מנוהלת לפני או לאחר הסינתזה.
- (ב) ויקרא י"א: "ה' אלקים" (שם כ"ד)
- (FLT:0) סימולציה ממוקדת של סימולציה FLT:1 באמצעות ה-VHDdo Simulator עם תמיכה בתכונות VHDL-2008.
- (ב) ויקרא י"א: ויקרא י"ד, ב')
שילוב מתקדם: IP Integrator ו-HLS
Vivado's LT:0.com Integratorph1 (המכונה מעצבי חסימה) מאפשר למעצבים ליצור עיצובים לחסום באמצעות ממשק גרפי.בעוד שלעתים קרובות בשימוש עם I/O ברמת בלוק, IP Integrator יכול לשלב מודולים מותאם אישית VHDL כמו ליבות IP מוגדרות למשתמש עטוף במיכל עיצוב בלוק.
בנוסף, (FLT:0)Vitis HLSFLT:1 (High-Level Synthesis) מאפשר C / C++ להיות מומר ל-VHDL או Verilog.ה-RTL המתקבל ניתן לשלב בפרויקט VOdo סטנדרטי - שימוש באלגוריתמים במקור בתוכנות.
עקבו אחרי VHDL
שיליןקס מספקת ליבות חומרה כגון:0 (ILA) אנליייזר לוגי משולב (ILA) Integrated Logic Analyzer (ILA) , 1 ו-FLT:2;2;2); Input/Output (VIO)FLT:3 אלה הם מיידיים כמו רכיבי VHDL (מקטלוג ה-Selx IP) בעיצוב.
Intel (לשעבר אלטרה) FPGA Development Environment
Quartus Prime Design Software
אינטל FPGAs, כולל קיקלון, אריה ומשפחות סטרטקס, מפותחים באמצעות ההרחבה:0 (Quartus PrimecioFLT:1 ; התוכנה תומכת VHDL כשפה ראשונה, עם מנוע סינתזה משולב, מקום ו--- Pathway, ניתוח תזמון, ומכשירים. Quartus מגיע בשלוש מהדורות: Lite (חינם עבור מכשירים נמוכים), סטנדרטיים ו-10 התקנים מתקדמים (Extary) ו- 10).
ניהול קוד ו- VHDL Source Management
שילוב VHDL עם Quartus עוקב אחר דפוס דומה לוואדו:
- בחר את ה-FLT:0 (File → פרויקט חדש Wizardirph1) וציין את מנהל הפרויקט, שם וישות עיצוב ברמה העליונה (שם ה-VHDL).
- הוסף קבצים VHDL (ראה FLT:5), ו Quartus ינתח אותם באופן אוטומטי עבור סינטקס וספריות.
- החתום על מכשיר היעד (למשל, EP4CE6F17C8 עבור קיקלון IV E) וכל הגדרות ספציפיות של לוח.
- (ה) ,(ה) , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
סינתזות ו Fitting
Quartus משתמש מסנתז מובנה (לעתים נקרא FLT:0)Quartus SynthesisFLT:1 או Intel® Quartus® Prime Synthesis) שממיר את VHDL לתוך רשימה נטו ממופת טכנולוגית.
- (ב) ⁇ ו-[[1924]]]]]], [[1924]]]]]] ו[[1924]]]]
- (FLT:0)Fitter (Place & Route)cioFLT:1) - אסיים אלמנטים לוגיים (LEs) או מודולים לוגיים מתאימים (ALMs), I/O תאים, ואבני זיכרון, וקווים הקשורים.
- (ב) [ה]ה']: [ה'] [ה'] [ה'] [ה']'[דרוש מקור]]]'[דרוש מקור], [ב[[1924]]], [[1924]], [[1924]]]], [[1924]]]]]]
סימולציה עם Modelsim/Questa
(ב) ב-[[1924]], [[1924]]]], [[1924]]]]]], [[1924]]]]]], [[1924]]]]]], [[1924]]]]]]]]]]]]]]]]]]]]]], [[1924]]]]]]]]]]]]]]]], [[1924]]]]]]]]]]]], [[1924]]]]]]]]]]]]]]
- מתוך Quartus, בחר:0 (יותר מדיים וראראדר; Run Simulation Tool → RTL Simulation FLT:1 (או סימולציה ברמת שער).
- Quartus יוצר באופן אוטומטי תסריט סימולציה, מאגד את ספריות VHDL, ומשיק את מודלSim עם Testbench.
- משתמשים יכולים לכתוב בדיקת VHDL באמצעות אותו ישות / architecture סגנון כמו העיצוב.
- אינטל מספקת גם ספריות סימולציה מראש עבור הליבה IP שלה (למשל, ALTPLL, FIFO), המבטיחות תאימות.
מעצב פלטפורמה ו- VHDL אינטגרציה
עבור עיצובים ברמת המערכת, (FLT:0)Platform DesignerFLT (לשעבר Qsys) מאפשר חיבור של בלוקים IP, ליבות מעבד (Nios II), וממשקי זיכרון חיצוניים באמצעות Avalon או AXI חיבור.כמו ממשק IP של וידו, מעצב פלטפורמה יכול לייצא עטוף VHDLper כי כל המערכת Custom VLtras יכול להוסיף ממשק בין-Fent ל-R.
ניתוח טיים וקליק
Intel's (FLT:0)TimeQuest Timing AnalyzerirFLT) 1 קורא מגבלות מבוססות VHDL (באמצעות SDC קבצים) ומבצע ניתוח תזמון סטטי.מגבלות נפוצות כוללות הגדרות שעון, עיכובים קלט / קידוד, ונתיבים כוזבים.Achieving תזמון לעתים קרובות דורש התאמות הרות לקוד VHDL - כגון צינורות, תגמול, שילוב או פיצול לוגיקה.
ניתוח השוואתי: Xilinx vs. Intel Toolchains for VHDL
בעוד שתי הסביבות חולקות את אותה זרימה יסודית, מספר הבדלים חשובים למעצבי VHDL:
- (FLT:0)Simulator EcosystemsFLT:1: YASY של Vivado משולב במלואו אך פחות עשיר מהשילוב של ModelSim/Questa כי אינטל תומכת בכבדות.
- (ב) [13].הפרויקט של קובץ פורמטים של ההרחבה: Vivado מאחסנת את ה-FLT:8 (XML), בעוד Quartus משתמש בקובץ אנושי-readableFLT:9 קבצים.
- (FLT:0)VHDL-2008 SupportFLT:1: שני הכלים אימצו חלקים גדולים של תקן VHDL-2008, אך הבדלים עדינים נשארים בהתאם.
- (FLT:0) שילוב הכלים חלקית: שניהם מאפשרים שילוב של סינתזזה חיצונית (למשל, סינפסיס סינפלף) או סימולציה (אלdec Active-HDL, Cadence Xcelium) מועיל כאשר הכלים המובנות אינם מספיקים.
- (FLT:0) רישוי ועלויות FLT:1: Quartus Prime Lite חינם עבור מכשירים קטנים יותר; Vivado WebPACK הוא גם חינם אבל יש לו גודל המכשיר ותכונות גבולות.
שיטות לשילוב VHDL בכל הכלים
שילוב VHDL משתנה מעבר לידע איזה כפתור ללחוץ.הפרקים הטובים ביותר היו מוכופים על ידי מהנדסים מנוסים על פני גירסאות כלי מרובות ומשפחות המכשיר.
מבנה קוד וסטייל סינתטי
- (ב) [ה]] [ה]] [ה]] [ה]] [ה]] [ה]] [ה]]]], [הלא] [הלא] [ה]]] [ה]]], אלא אם כן] [ה], ו[ה], [התחילה] [ה] [ה] [ה]] [ה]] [ה]] [ה] [ה]] [ה]] [ה]] [ה]]]]] [ה]], [ה[ה]], [ה[ה[ה[ה]]] [ה]]]]], [ה[ה]]] [ה] [ה]]]]]]]]]] [ה[ה[ה[ה[ה[ה]]]]]]]]]] [ה[ה[ה[ה]]] [ה]]] [ה] [ה]]]] [ה]]]]]] [ה[ה[ה[ה[ה[ה]]]]]]]]]]]]]]]]]]] [ה[ה[
- (FLT:0) לשמור על שילוב לוגיקה אופציונלית מינימלית בתהליכים רגישים תמיד FLT:1 לדוגמה, לוגיקה ⁇ צריכה להיות בתהליך מעודן, תוך שילוב לוגיקה טריטוריאלית בתהליך נפרד עם רשימת רגישות המכילה את כל הקלטות.
- (ב) ,0) ,5 ,5 ,5 , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
2.Simulation Strategy
- סימולציה התנהגותית לוקחת שניות; סימולציה של תזמון לאחר נתיב עשויה לקחת שעות.
- (FLT:0) ספריות VHDL VHDL (FLT:1), למשל, על מנת לנהל פרויקטים גדולים.
- שילוב (FLT:0) אימות מונחה על ידי אימות 1FIRLT:1 עם כלים כמו מדדי הכיסוי של Questa, אם כי זה דורש רישיון נוסף.
ניהול Constraint Management
- (FLT:0Write שעון ומגבלות תזמון מוקדם יותרFLT:1; הם משפיעים על האופן שבו הכלים מעבדים את VHDL. A חסר אימון יכול לגרום למנוע המיקום להתעלם מדרישות התזמון.
- (ב) (ב) ב-[[1924]], [[1924]], [[1924]]]], [[1924]]]]]], [[1924]]]], [[1924]]]]]]]]
- (ב) ,0) , ללא הגבלת יתר של ההרחבה: 1 (התדרים לא מציאותיים) - זה עשוי להגדיל את זמן ההפיסה ללא תועלת.
4 טכניקות לוויכוח
- (FLT:0) Insert debug ליבות לפני סינתרוזיסFLT:1 כאשר ניתן.In Vivado, ליצור ILA ב VHDL עם רוחב מסוים ועומק; ב Quartus, השתמש ב- Signal Tap II Logic Analyzer (התקבל באמצעות קטלוג IP).
- [ה]ב"ה]: [ה], [ה], [ה], [ה],] ב[[המאה ה-20]], נאמר כי הם אינם חוקיים.
- (ב) [ה]שמות ההיררכיים של נפת'ר: [בתכונות] כך ש-Debug ליבות יכולים לבחון רשתות פנימיות שעשויות להיות מייעלות אחרת.
5.תסריט ואוטומציה
- הן Vivado ו Quartus לתמוך ב-Tcl Scripting. Write Tcl תסריטים כדי ליצור פרויקטים, להוסיף קבצים, מגבלות להגדיר ולרוץ את הזרם.זה מבטיח התאמה מחדש ומאפשר שילוב CI /CD.
- שימוש ב-FLT:0 (command-line Modesph:1) (vivado -mode tcl או quartus sh -t) עבור רצף, בדיקות רגרסיה, ובאותו הלילה בונה.
6.גרסה
- לאחסן רק את הקבצים המקור VHDL, קבצי אחסון ותסריטים - לא את הקבצים מסד הנתונים הממומנים כלי (למשל, Vivado .cache, Quartus .db).
- (ב) ב[[1924]], [[1924]]]], [[1924]]]]]], [[1924]]]]]], [[1924]]]]]], [[1924]]]]]]]], [[1924]]]]]], [[1924]]]]]]
- גירסאות של bitstream עבור מעקב.
נושאים אינטגרציה מתקדמים
שימוש ב- IP חלק שלישי Cores עם VHDL
גם Xilinx וגם אינטל מספקים קטלוגים IP נרחב (למשל, FIFOs, PLLs, PCIe בלוקים, Ethernet MACs) אינטגרטיבי IP אלה לתוך עיצוב VHDL בדרך כלל כרוך:
- פתיחת פרמטר IP פרמטריזציה GUI (למשל, Vivado IPקטלוג או Intel IPקטלוג).
- יצירת IP, אשר מייצרת את קבצי ה-VHDL ו-סימולציות.
- ניתוק את העטוף כמרכיב בישות VHDL ברמה העליונה שלך.
- חיבור לנמלי ה- IP לסיגות העיצוב שלך.
יש לקחת את הטיפול עם תבניות ממשק: עבור IP מבוססי AXI, חבילות VHDL ספציפיות (כמו FLT:16) עשוי להיות נדרש.
High-Level Synthesis ו- VHDL Interoperability
סינתזה ברמה גבוהה (HLS) מאפשר C / C++ או קוד מערכת C להיות מומר אוטומטית לתוך RTL.התוצאה VHDL (או Verilog) יכול להיות מיובא ישירות לתוך פרויקטים של Vivado או Quartus.זה שימושי במיוחד עבור מורכבות סיבולת, עיבוד וידאו, או יישומי למידת מכונה.עם זאת, VHDL מיוצר לעתים קרובות פחות קריא, ולא להיות סינתרנטית מחוץ לכליטריט.
קוד פתוח-Source Alternatives
(ב) למטרות חינוכיות או עיצובים לא קריטיים, כלי קוד פתוח יכולים לשלב VHDL עם FPGAs מסוים (FLT:0GHDLIRFLT:1) הוא סימולטור קוד פתוח ידוע ו- VHDL. עבור סינתזה, סינתזה, קניינית:2YosyssFLT 3: ו-F-4, לעומת זאת, תומך כמה כלי oxy (עדיין לא פתוח) בשל PGIx (אך)
מסקנה
שילוב VHDL עם סביבות פיתוח FPGA של Xilinx ו- Intel הוא מאמץ רב פנים הכולל את הקמת הפרויקט, סימולציה, סינתזה, יישום, ו debug. על ידי הבנת נקודות הכוח והקצבות של Vivado ו Quartus Prime, באמצעות שיטות מקידוד בנוי, ומינוף אוטומציה ושליטה, מהנדסים יכולים לשפר באופן דרמטי את הפרודוקטיביות והעיצוב שלהם.
(ב) לעיין בתכונות הכלי האחרונות, קרא לתיעוד הרשמי:0 (Vivado Design Suite HubFLT:1,FLT:2Intel Quartus Prime DocumentationFLT:3, and the ; and the FLT:4VHDL Wikipedia articleFLT:5 for a review of the Language עצמה.