Table of Contents
תקשורת בין-דקית יוצרת את עמוד השדרה של מערכות דיגיטליות מודרניות.בעוד פרוטוקולים סטנדרטיים כגון I2C, SPI ו-UART מספקים פתרונות יעילים עבור יישומים רבים, הם לעתים קרובות להטיל מגבלות על שיעורי נתונים, ספירות פילוח, או פרוטוקול מעל פני כי הם בלתי רצויים במערכות מיוחדות.עיצוב פרוטוקול אימות מותאם אישית ב-VHDL (VHDL (VSIC Hardware Language) פותח את היכולת להתאים לכל היבט של תקשורת יעילה ל-Directative Access, או ל-Directative Access.
VHDL כמדיום עבור עיצוב פרוטוקול
VHDL אינה רק שפה סימולציה; היא כלי רב עוצמה לדוגמת התנהגות חומרה במקביל.כאשר מעצבים פרוטוקול תקשורת, מהנדסים ממנפים מבנים ספציפיים VHDL כדי ליצור לוגיקה סינתזנטית שמנהלת זרימת נתונים, בקרה על אותות וסנכרון עם דיוק.
מפתח VHDL בונה עבור תקשורת
- (FLT:0) מכונות המדינה (FSMs) ,1: הליבה של כל מנוע פרוטוקול.FSMs מגדיר את רצף הפעולות - כלומר, להתחיל, העברת נתונים, הכרה, להפסיק.
- (FLT:0) שיירפטמסטריםFLT:1: חיוני לסידור מילים נתונים מקבילים לשידור, ו deserializing זרמי bitcoming.VHDL מערך של קידוד ומעט אינדקס להפוך את יישום השינוי לפשוט.
- (FLT:0)Counters and TimersFLT:1: משמש לניהול תזמון קטן, לייצר שיעורי בודה, לאכוף את תזמון.
- (ב) ⁇ :0) לוגיקה ו MUXesFIRLT:1; אות ידה, דור שוויון, ומשימות בסיסיות של קידוד / קידוד יעיל.
סינכרוני לעומת Asynchronous Designמתודולוגיה
יש לקבל החלטה זהירה לגבי הגישה הסינכרון.עיצובים סינכרוניים פועלים יחסית לשעון מערכת משותף, לפשט את ניתוח התזמון וניהול הניתנות.פרוטוקולים סינכרוניים, כגון אלה המשתמשים בשקיקה עם בקשה והכרה אותות, מציעים גמישות רבה יותר עבור מערכות דומיין מרובות-שעון אבל מציג מורכבות כמו FLT:0C Pass (CDC) LT1 לסיכון כפול, בדרך כלל, כגון דלקת ריאות (L) לדלקת ריאות).
פרוטוקול Robust Custom Protocol
לפני כתיבת קו יחיד של VHDL, נדרשת הגדרה ארכיטקטונית יסודית.יש צורך בפרוטוקול מוגדר היטב, כמקור יחיד של אמת עבור מעצב החומרה והמערכת אינגרה.
המונחים:
השכבה הפיזית מגדירה את המאפיינים החשמליים והלוגיים של האותות.קוד VHDL חייב למפות את הממשק הפיזי הנבחר.עבור אות חד-קצה יחיד על FPGA, תקן LVCMOS I/O buffers.עבור מהירויות גבוהות יותר או חסינות רעש, תקני אותות שונים מוגדרים כמו LVDS (Low-Voltage Differential Signaling) או HSTL הם מועסקים עם קוד מיידי (L) ו-L.
קישור ל-Petization Layer Franing and Packetization
שכבת הקישור של הנתונים מגדירה כיצד ביטים גולמיים מאורגנים למסגרות משמעותיות או חבילות.מפרט מפתח להגדיר בארכיטקטורה VHDL שלך כוללים:
- (ב) ,0) ,(Frame StructureFLT:1: Preamble, Start of Frame (SOF) delimiter, Data payload, ⁇ , and End of Frame (EOF) המזהההה.
- (FLT:0) Encoding SchemesFLT:1: אפשרויות כמו 8b/10b ⁇ , מנצ'סטר ⁇ , או NRZ (Non-Return-to-Zero) Encoding מבטיח איזון DC ומספק מעברים מספיקים לרישום מקלט.
- (ב) [13]: ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
(FLT:0state theפרוטוקול מפרט במפורש במסמך נפרד או כקבועים וסוגים בחבילת VHDL ייעודית.תרגול זה מקטין את האווירה ומאפשר שימוש בקוד על פני פרויקטים מרובים.
יישום מנוע פרוטוקול ב VHDL
עם האדריכלות המוגדרת, ההתמקדות משתנה ל-RTL (רמת העברת הריגול) coding.היישום מחולק בדרך כלל למודול משדר ומודול מקלט, שיתוף חבילה תצורה משותפת.
אדריכלות מודול Transmitter
המשדר קורא נתונים מקבילים מממשק FIFO או רישום, מארגן אותו לפי הפרוטוקול, ומניע את סיכה הפלט.הגרעין של המשדר הוא FSM בנוי היטב.
מכונת Transmitter State Machine (Example)
- (ב) ,0) , ⁇ : ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (ב) ⁇ :0 [ה]ה'[דרוש מקור]: [ה] [ה]], [ה], [ה]], [ה],] [דרוש מקור]]], [התחילה], היא זו שמצילה את ה[[המאה ה-20]].
- (FLT:0)DATAGIRLT:1: מעביר את מילת הנתונים החוצה, החל בדרך כלל מן LSB או MSB בהתבסס על ההגדרה של הפרוטוקול.כל חלק מוחזק עבור מספר מדויק של מחזורי השעון המתאים לשיעור הקטן המתוכנן.
- (ב) [15] , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (ב) ,0 ,13 ⁇ ⁇ : שחרר את הקו או מניע אותו למצב מוגדר של idle, הבטחת זמני ההתקנה מסתיימים לפני המסגרת הבאה.
- [ה]ה' [ה']: "ה', ה', ה', ה', ה', ה', ה', ה', ה', ה', ה', ה', ה', ה', הוא אמר: 'ה', ויקרא'.
קוד VHDL חייב להבטיח כי המעברים של המדינה הם ללא זניח, וכי דרישות התזמון הנגזרות מתדירות השעון היעד נפגשות בהחלט.שימוש שעון אחד מאפשר אות לתזמון קטן, ולא טרקלרס מורכבים, מסייע לשמור על סגירת תזמון נקייה.
אדריכלות: The Acceptrמודול Architecture
המקלט מורכב יותר מטבעו בשל הצורך לסנכרן לזרם הנתונים הנכנס ללא שעון מקור מלווה.
שעון שחזור ו-Data SynSyncization
עבור פרוטוקולי מהירות נמוכים עד בינוניים (עד 50 MHz), oversampling היא טכניקה מוכחת.המקבל מדגים את קו הנתונים הנכנס במספר של שיעור הבנד (למשל, 3x או 5x) רוב הצבעה מסונן על ה bits המדגם חייב להיות מיושם כדי לדחות רעש וג'ייטר. לוגיקה VHDL מזהה את המעבר של ההתחלה או מהירות, מראש קצרי תיבות של mpbit) עבור ספקטרום מהיר (מאטים סטנדרטיים מהירים) ספקטרום גבוה ספקטרום גבוה ספקטרום גבוה ספקטרום (מסוגים).
קיצוץ ואימות
לאחר שפיסות התאוששו, המקלט חייב לזהות גבולות מסגרת.זה לסרוק באופן רציף את תחילת תבנית המסגרת. Upon Detection, הוא מטלטל את ה bits הנכנסים במילה מקבילה, מחשב את CRC או ההסתברות הצפויה, ומשווה אותו עם הסימון המתקבל, אם שגיאה מזוהה, המקלט קובע דגל שגיאה.
שיטות הדגמה לפרוטוקולים של מכס
Verification הוא ככל הנראה השלב הקריטי ביותר של פיתוח פרוטוקולים מותאם אישית. באג בלוגיקה הפרוטוקול יכול להפוך את המערכת כולה לבלתי נסבלת. בעוד שבדיקות תגובה גירוי פשוט יש את מקומו, תוכנית אימות מובנה באמצעות בדיקת VHDL חיונית לאימות מקיף.
תגית: Testve Testbenches
מבחן יעיל מתייחס ל-UUT (Unit Under Test) כקופסא שחורה.הוא מיישמת נהג פרוטוקול וירטואלי (BFM - מודל פונקציונלי אוטובוס) כדי ליצור רצפי פרוטוקולים תואמים לחלוטין, כמו גם תנאי שגיאה ממוקדים.
- (ב) ,0) ,StuvesFLT:1: לבדוק את התקנון הבסיסי (למשל, העברת מילה אחת, אורך מסגרת ידוע).
- (FLT:0)Randomized TestsFLT:1hil: השתמש בפונקציות אקראיות VHDL או הליכים כדי ליצור עומסי נתונים אקראיים, אורך מסגרת ועסקאות אחוריות כדי לבחון את העיצוב.
- זרקה של הזרקת חומרים 1:1: פיזור חומרים על קו הנתונים הנכנס, משחית את CRC, או מציג הפרות להטריד כדי לאמת את השגיאה של המקלט ודיווח לוגיקה.
- (FLT:0)ScoreboardingFLT:1: השתמש במודל ברמה גבוהה של הפרוטוקול (מודל הקצוץ) כדי לחזות את התפוקה הצפויה של המקלט באופן אוטומטי להשוות את נתוני הפלט נגד חיזוי זה.
המונחים: Assertion Based Verification (ABV)
אזהרות VHDL ישירות לתוך העיצוב והמבחן הוא טכניקה רבת עוצמה. Assertions לפקח על מצבים פנימיים ויחסים אותות, מתן התראות מיידיות כאשר מתרחשות הפרות.לדוגמה, טענה יכולה לאמת כי המשדר לעולם לא נכנס למצב DATA מבלי לעבור קודם דרך מצב START, או כי שחזור השעון נשאר מחויב.
קוד כיסוי וטיהור
מדדי סימום כגון כיסוי לעיכול, כיסוי הצהרה, וכיסוי המדינה FSM עוזרים לכמת עד כמה העיצוב פעל באופן יסודי.עבור יישומים קריטיים או קריטיים למשימה, FLT:0Formal VerificationFLT:1 כלים יכולים להוכיח באופן מתמטי כי יישום VHDL של הפרוטוקול עומד בהצהרותיו המוגדרות תחת כל רצפים האפשריים, מתן רמה של סימולציה זה לא יכול להשיג לבד.
עיצוב מעשי מלכודות ופתרונות
גם עם מפרט מושלם, יישום פיזי מגלה אתגרים מעשיים שיש לטפל בקוד VHDL ומגבלות הסינתזה.
מעבר metastability ו-Time Domain Crossing (CDC)
אם הפרוטוקול מותאם אישית משתרע על שני תחומי שעון סינכרוניים (המומון ב- Multi-FPGA או FPGA-to-ASIC קישורים), הסיכון לנסמטות גבוה.כל אות מעבר לגדר השעון חייב להיות מסונכרן.
- (FLT:0) אותות של סיביות FLT:1: השתמש בדרגה כפולה (שני ספין-אפ) סינכרונכרן. 3 או 4 synchronizers עשוי להיות הכרחי עבור תחומים גבוהים מאוד או סביבות קרינה-פרון.
- (FLT:0) אוטובוסים נתונים של Multi-bit: לעולם לא רק לסנכרן כל קצת באופן עצמאי.במקום, השתמש ב-FIFO מסונכרוני להעברת הנתונים, עם נקודות אפורות קודרות כדי להבטיח שרק נקודה אחת משתנה לשעון. לחלופין, השתמש בהעברה מבוססת-יד/ידע) עם סינכרופוליס יחיד-bit.
כשל לסנכרון כראוי קלטות סינכרוניות היא אחד הגורמים המובילים של כשלים במערכת אקראית, לא-קבוענית.כל אותות קלט למרחב השעון ממקורות חיצוניים או תחומים אחרים יש לטפל בזהירות קיצונית.
תזמון קלויר וכבישיות
פרוטוקולים מותאמים במהירות גבוהה דוחפים את הבד FPGA לגבולותיה.סגרת תזמון של Achieving דורשת תכנון זהיר של RTL.
- (FLT:0)PipeliningFLT:1: הכנסת צינורות לרשום במסלול הנתונים כדי לפרק נתיבים משולבים ארוכים.לדוגמה, חישובי CRC לעתים קרובות משתרעים על רמות לוגיקה רבות; צינורות חישוב מונעים הפרות התקנה.
- (הופנה מהדף LT:0) רשם בלנקום (התגובה) ⁇ FLT:1: כלי הסינתזה המודרניים יכולים להעביר באופן אוטומטי לרשום רישומים על פני לוגיקה משולבת כדי לאזן עיכובים.
- (FLT:0) Floor PlanningFLT:1: בעיצובים מורכבים, באופן ידני הצבת לוגיקה transceiver ליד עמודות I / O ייעודי יכול להפחית באופן משמעותי את העיכובים.
POWS PITTER
עיצוב VHDL אינו יכול להיות סופי בבידוד.המשימה של ה- pin חייב לכבד את מגבלות השכבה הפיזיות של לוח המעגל המודפס של המטרה (PCB) סימולציה של תפוקה מעבר סימולטנית (SSO) דורש הקצאה זהירה של pins סמוכים. עבור ממשקים מהירים מאוד, באמצעות "Copy Pin" הקצאות של כלי הפריסה לאחור לתוך קובץ מגבלות VHDL (xc עבור Xilinx, למנוע תיקונים) עבור לאינטקס.
קבלת החלטות פרוטוקול
עם פרוטוקול בסיס אימות וביצוע, תכונות מתקדמות ניתן לשכב על הארכיטקטורה כדי לתמוך יישומים תובעניים יותר.
אדריכלות רב-לנית ושילוב סרדס
כדי להשיג באמצעות חישוב העולה על מה ששורה סידורית אחת יכולה לספק, הפרוטוקול ניתן למקביל על פני נתיבים מרובים. VHDL קוד מתזמר הפצה נתונים על פני נתיבים תוך שמירה על סינכרוניזציה משותפת.זה כרוך לעתים קרובות בעיצוב תיבת הילוכים כדי למפות את רוחב הנתונים המקביל לנתיב. integrating high-speed Transceivers (למשל, Xilinxth GTH, Transce) דורש תכונות סימולציה עמוקות (סימולציות) ו-y) עבור מודלים סימולציה מיוחדת (psy) סימולציה (psy) סימולציה מתקדמת (e) סימולציה מתקדמת (e) סימולציה מתקדמת (e) דורשות (psyg.
פרוטוקול דינמי Reconfiguration
במערכות הסתגלות מסוימות, הפרמטרים של הפרוטוקול - כגון bit rate, אורך מסגרת, או תוכנית סיבולת - צריך להיות שונה דינמי.עיצוב ארכיטקטורת VHDL המאפשרת הרשמה בזמן ריצה כדי לשלוט פרמטרים אלה מוסיף גמישות משמעותית. לדוגמה, רישום יכול להחזיק ערך דירקטור עבור גנרטור קצב ה baud, המאפשר את אותו לוגיקה הליבה לפעול על פני ערוצי תקשורת שונים ללא resynsis.
מסקנה
יישום פרוטוקולים מותאמים אישית באמצעות VHDL מאפשר למהנדסים להשיג את מלוא הפוטנציאל של ביצועים של לוגיקה בת קיימא עבור תקשורת בין-device. על ידי מעבר למגבלות פרוטוקול סטנדרטיות, מעצבים יכולים ליצור קישורים תקשורת שמתאימים באופן מושלם למהירות, ספירה, שקיפות, דרישות אמינות של יישום ספציפי שלהם.הצלחה תלויה בגישה ממושמעת להגדרה, VHDLding קפדני עבור FSM ודרכים נתונים, כולל באמצעות אימותים מתקדמים כגון פונקציות אבטחה מורכבות של אבטחה.