שְׁאֵלָה:
סנכרן יציאות של FPGAs נפרדות בתוך 1ns
Keegan Jay
2017-12-07 10:12:34 UTC
view on stackexchange narkive permalink

Edit: הצלחתי להשיג אי וודאות של 560ps בסימולציה באמצעות משוב PLL חיצוני דרך השבב כולו. לאחר שאאמת בחומרה אמיתית אפרסם פתרון מלא.

אני מנסה לסנכרן את התפוקות של שני FPGAs ספרטניים -6 המופרדים פיזית. באופן אידיאלי, ההטיה בין שני הפלטים של המכשיר תהיה פחות מ- 1ns.

היציאות הן פינים דיפרנציאליים הנשלטים על ידי OSERDES2.

אפשרות אחת עשויה להפיץ שעון ייחוס לשני ה- FPGA. האות ינותב כך שהוא יגיע לכל FPGA בשעה "בדיוק באותו זמן".

enter image description here

שעון הייחוס יועבר דרך PLL, עם משוב דרך מכשיר BUFIO2_FB. כפי שמוצג בדוגמה משאבי שעון:

enter image description here

האם מנגנון המשוב הזה יבטל את עיכוב הכנסת השעון, כך שה- IOCLK יהיה בשלב עם סיכת קלט השעון?

ה- ISERDES2 באותו תחום IOCLK ירשום אות נתוני התייחסות המציין פשוט קצה שעון מסוים כדי ליישר את הפלט איתו.

האם קיימות וריאציות אחרות של המכשירים אשר ימנעו את היציאה מהפסיקה באופן קבוע?

למשל אני חושש שעיכוב ההפצה מ- OSERDES2 לסיכת הפלט עשוי להשתנות מאוד בין המכשירים. מבוסס על גיליון נתונים לתזמון:

enter image description here

האם מפרט זה של 0.94 ns אומר שהתפשטות יכולה להיות בין 0 ל- 0.94ns על פני מכשירים שונים?

האם יש גישה קולית נוספת לבעיה זו?

בדוק את פרוטוקולי NTP ו- PTP.
NTP ??באמת, לזמנים של ננו שנייה?בין FPGA?PTP טוב יותר, אך עדיין בסדר גודל רחב של הסימן, ואם זה היה כל הדיוק הנדרש יש דרכים קלות בהרבה.
@DanMills ניתן לשנות אותם לדיוק טוב יותר.התכוונתי לזה יותר כדוגמה לאופן שבו ניגשים לבעיה כזו.
@user110971 תודה על ההובלה, מועיל להכיר את הטכניקות המשמשות לפתרון בעיות מסוג זה, גם אם הפרטים שונים זה מזה.
@JayKeegan מה שרציתי להפנות אליו את תשומת הלב הוא מנגנוני המשוב.אני חושד שדיוק כזה קשה מאוד ליישום במערכות לולאה פתוחה.מערכות תזמון דיוק בדרך כלל עושות משהו כזה: למדוד שגיאה -> שליטה -> PLL / DLL.
שתיים תשובות:
Michael Karas
2017-12-07 10:20:13 UTC
view on stackexchange narkive permalink

האם יש עוד גישה קולית לבעיה זו?

כן !!

הכנס את שתי פונקציות ה- FPGA למכשיר יחיד.

ניסיון לשמור על דטרמיניזם עם 1ns למכשירים נפרדים קרוב לחלום צינור.

הממ, כן אם רק ... :)
אם אתה צריך להתקנים נפרדים, שנה את ארכיטקטורת עיצוב המערכת שלך כדי להסיר את דרישת הדטרמיניזם.
זו יישום לתזמון עדין, ולכן נדרשת דטרמיניזם * איפשהו *, אבל יכולתי לחשוב על דרכים לשנות את זה בינתיים.
מהי במיוחד נפילת הגישה המתוארת?
זמני טיסה, מתח ואות בחוטים.ואז זורק רעש במידה טובה.
Dan Mills
2017-12-07 17:57:27 UTC
view on stackexchange narkive permalink

אתה באמת מאוד רוצה ששני האותות יירשמו באותו FPGA, באופן אידיאלי באותו בנק IO, וגם אז 1ns דוחף אותו לזוג LVDS למטרות כלליות.

אתה כמובן לא יכול לדאוג לזה ולקצץ אורכי כבלים כדי לבטל את ההטיה, אתה מסתכל על ~ 1ns לכל רגל ולכן גזירת אורכי קואקס היא גישה די סבירה במכשיר חד פעמי, אולי פחות מכך בייצורכרכים ....

אתה יכול לנסות למצוא ECL10K או כפכף כפול כזה ולהשתמש בו כדי לרשום את שני הפלטים החיצוניים ל- FPGA?אולי למישהו כמו פריקום יש משהו מתאים?

באותו אזור BUFIO, הטיית עץ השעון היא למעשה 60ps, הטיה של החבילה היא 95 ps.השתנות עיכוב התפשטות היא שאלה פתוחה ... אם אוכל לקצץ אורכי קואקס (או להשתמש בעיכובים המוקלטים) האם אתה אומר ששינוי המכשיר הוא סטטי ואפשר לכייל אותו?זה מדאיג אותי פחות מהשינוי בטמפרטורה של> 1ns.לבסוף, מה היתרון של הכפכפים החיצוניים?מפרט תזמון מדויק יותר?ה- Spartan 6 (כיתה -3) יכול לרשום נתונים במהירות של 1 Gbps על כל סיכות ה- I / O.
עיכוב מכשיר אינו בדרך כלל יציב בטמפרטורה, ובדרך כלל עליכם לבצע יישור נתיבים אוטומטי אם פועלים במשהו כמו DDR1 של 1 GHz, זה קל כאשר הפרוטוקול נועד לתמוך בו, אבל אני מתרשם שאנחנו מדברים על יישום תזמון לאקישור נתונים כאן?FPGAs בתנור ....?הכפכפים החיצוניים מספקים רישום שעשוי להיות בעל הטיה נמוכה יותר (ושונות נמוכה יותר) ואז ה- FPGA עצמו, יהיה עליכם ללמוד את גליונות הנתונים.
בסדר, אנחנו מבינים אחד את השני.תודה על העצה!


שאלה ותשובה זו תורגמה אוטומטית מהשפה האנגלית.התוכן המקורי זמין ב- stackexchange, ואנו מודים לו על רישיון cc by-sa 3.0 עליו הוא מופץ.
Loading...