חדשות היום
אג'ילנט

ניפוי שגיאות במעגל FPGA באמצעות אוסילוסקופים של אותות משולבים עם פס רחב

אג'ילנטדניאל רויבוש, Agilent Technologies

תקציר
ניפוי שגיאות (debug) במעגל FPGA הוא תהליך מאתגר מיסודו, בגלל הימצאותם של צמתים לוגיים פנימיים רבים שאינם נגישים בבדיקה רגילה. המגבלות על מספר הפינים מגבילות את יכולתו של המפתח לכפות פתרון. חידושים כגון JTAG
ו-Logic analyzer פנימי סייעו להתגבר על בעיות אלה ולנתב אותות חשובים אל מחוץ ל-FPGA, לצורך ניתוח. בעבר, לרוב היו משתמשים ב-Logic analyzers לניפוי שגיאות במעגלי FPGA, אך לאחרונה יותר ויותר אוסילוסקופים לאותות משולבים (MSO) הופכים לשכיחים בזכות יכולתם למדוד הן אותות אנלוגיים והן אותות דיגיטליים. בשנים האחרונות, הרמה החדשה של היישומים מחייבת להשתמש במקלטי-משדרי FPGA עם מהירות גבוהה, תוך הגדלת הצורך להשתמש במדידות אנלוגיות מדויקות ורוחב פס גבוה, לצד ביצוע ניתוחים דיגיטליים בניפוי שגיאות במעגלי FPGA. מאמר זה יעסוק הן בניפוי שגיאות דיגיטלי והן בניפוי שגיאות אנלוגי במעגלי FPGA חדישים באמצעות אוסילוסקופ של אותות משולבים עם פס רחב.

מבוא
כיצד בודקים ומנפים שגיאות בהתקן עם מאות אלפי תאי לוגיקה פנימיים ועם מקלט-משדר (טרנסיבר) במהירויות של עד 28Gbps? זהו האתגר שניצב כיום בפני המפתחים של מעגלי FPGA המובילים בתעשייה. בהיבט של ניפוי שגיאות דיגיטלי, האתגרים הגדולים ביותר נובעים מחוסר הנגישות לצמתי לוגיקה חיוניים וממגבלה על מספר הפינים הפיזיים הקיימים. חידושים כגון ריבוב (muxing) אותות פנימיים, תקשורת JTAG ו-logic analyzers פנימיים סייעו להתגבר על אתגרים אלה. אולם, יחד עם זאת, כל השיטות הללו מאלצות לבצע ויתורים ודורשות להשתמש בציוד המדידה והבדיקה הנכון.
בעבר, ניפוי שגיאות דיגיטלי במעגלי FPGA היה נחלתם של logic analyzers. בזכות העובדה שהם מאפשרים להשתמש בכל מספר של ערוצים דיגיטליים, מ-32 ערוצים ועד למאות או אפילו אלפי ערוצים, וכן מאפשרים רכישה סינכרונית וא-סינכרונית ותנאי הפעלה (triggering) מורכבים, Logic analyzers הם, מיסודם, כלי עוצמתי לניתוח וניפוי שגיאות של אותות דיגיטליים. יחד עם זאת, ליישומים רבים אחרים – logic analyzers אינם הכלי הכי טוב למשימה. אוסילוסקופים של אותות משולבים (MSO) הם כלי עוצמתי במיוחד ליישומים שדורשים הן מדידות דיגיטליות והן מדידות אנלוגיות. ראשית, העובדה שיש להם ערוצים אנלוגיים מאפשרת למעצבים לבצע מדידות אנלוגיות חיוניות בהתקנים הדיגיטליים שלהם; למשל, בדיקת המקלט-משדר במעגלי FPGA. יתר על כן, אם נראה כי יש שגיאה בחלק מסוים בלוגיקה, לרשות המפתח עומדים ערוצים אנלוגיים הקשורים לבדיקה מעמיקה יותר. אוסילוסקופים של אותות משולבים מאפשרים יכולות הפעלה אנלוגיות ודיגיטליות נרחבות ויש להם זיכרון עמוק בממשק מוכר ונוח לשימוש. על אף שגם באוסילוסקופים של אותות משולבים צריך לבצע ויתורים מסוימים (למשל, לרוב הם מוגבלים למספר מרבי של 20 ערוצים ויכולים לבצע רכישה א-סינכרונית רק על בסיס שעון דגימה פנימי), הם כלי חיוני למעצבי מערכות של אותות משולבים, כגון מעגלי FPGA.
לרוב, אוסילוסקופים של אותות משולבים כוללים רוחב פס נמוך ובינוני והם מטפלים בלב ליבו של שוק האותות המשולבים. יחד עם זאת, יישומים חדשים דורשים מהירויות נתונים גבוהות יותר מאי פעם, כפי שניתן לראות במהירויות של מקלטים-משדרים במהירות 28Gbps אשר נמצאים כיום במעגלי FPGA. יישומים אלה מגדילים את הצורך באוסילוסקופים של אותות משולבים עם פס רחב שיכולים לטפל הן באתגרים של ניתוחי לוגיקה והן של שלמות אותות חיוניים במדידות טוריות במהירות גבוהה. במאמר זה אנו עוסקים באתגרים אלה במסגרת ניפוי השגיאות של מעגלי FPGA ומסבירים כיצד אוסילוסקופ של אותות משולבים עם פס רחב יכול לעזור לבצע את הבדיקות התובעניות האלה.

ניפוי שגיאות דיגיטלי
לנוכח האתגרים שנובעים מחוסר שקיפות פנימית, התפתחו גישות שונות לניפוי שגיאות במעגלי FPGA. השיטות השכיחות ביותר לניפוי שגיאות במעגלי FPGA הן: ניתוב ישיר מהצמתים הלוגיים לפינים, ריבוב (muxing) אותות לפינים ושימוש במנתחי לוגיקה פנימית.

ניתוב ישיר אל הפינים
הדרך הפשוטה ביותר לגשת לצמתים פנימיים במעגל FPGA היא להשתמש ביכולת התכנות של ההתקן כדי לנתב את האותות החוצה אל הפינים הפיזיים, היכן שניתן לבדוק אותם באמצעות הערוצים הדיגיטליים של אוסילוסקופים בעלי אותות משולבים. תרשים מופשט של שיטה זו מוצג באיור 1. דרך זו, על אף שהיא יעילה, כוללת מגבלות משמעותיות. ראשית, במקרים רבים המפתחים מוגבלים במספר הפינים הפיזיים שיכולים להיות במעגלי FPGA. שיטה זו מחייבת את המפתח להתפשר על מספר הפינים הפיזיים הזמינים ועל מספר הצמתים הפנימיים הזמינים לבדיקה ולניפוי השגיאות. יתר על כן, לרוב קשה לחזות על אילו צמתים צריך להסתכל בזמן ניפוי שגיאות ללוגיקה של מעגל FPGA. אתגר זה נעשה אף קשה יותר כאשר מנתבים ישירות את הצמתים לפינים וישנם רק 8 או 16 פינים העומדים לרשות ניפוי השגיאות. אם צריך לבדוק אותות חדשים, יש לעצב מחדש את ה-FPGA כדי לנתב את אותם אותות החוצה אל הפינים הפיזיים. תהליך זה, של ניהול ידני של העיצוב וניתוב מהצמתים לפינים, מוביל להשקעת זמן שווה (ואף ארוכה יחסית) בין החזרות השונות על התהליך. אם נתעלם מחוסר היעילות, שיטה זו של ניפוי שגיאות בניסוי וטעייה היא פשוטה ומאפשרת לבדוק הן את המצב והן את הזמן לניתוח מעמיק של האותות הנבדקים.

ריבוב אותות לפינים
בגרסה אחרת לניתוב ישירות לפינים, ניתן לרבב את האותיות לפינים הפיזיים במעגל FPGA, כפי שמופיע באיור 2. לשיטה זו יש יתרונות חשובים רבים. היתרון העיקרי הוא שהמפתח לא כל כך מוגבל על ידי הפינים הפיזיים, כיוון שמספר הצמתים הפנימיים לבדיקה הוא פי כמה וכמה ממספר הפינים הפיזיים. בעזרת הדוגמה שמוצגת באיור 2, בוא נניח שהמעצב הקצה 16 פינים לניפוי פינים לוגי. יחס ריבוב של 16:1 מאפשר למפתח לנתב 256 צמתים פנימיים לרַבָּב (multiplexer) ולצפות בכולם בעזרת 16 פינים פיזיים. במרבית היישומים, וכפי שמוצג באיור 2, בחירת הריבוב נשלטת באמצעות ממשק JTAG במעגל FPGA. גמישות זו מפחיתה דרמטית את הצורך לתכנן מחדש את FPGA כדי לצפות בצמתים נוספים ומשפרת את משך הזמן שבין החזרות השונות על התהליך. נוסף על כך, כל האותות עדיין נצפים ישירות בפינים הפיזיים, וניתן לבדוק הן את המצב והן את הזמן.

מנתח לוגיקה פנימית
במקרים רבים, ספקי מעגלי FPGA מספקים גם logic analyzer פנימי (ILA) שבנוי בתוך המעגלים שלהם, כדי לסייע בניפוי השגיאות. התכונות של ה logic analyzer הפנימי מפעילות את המעגל ומשתמשות בזיכרון הפנימי כדי לאחסן רשמים. משתמשים בתקשורת של ממשק JTAG בין המעגל לבין המחשב כדי להגדיר את ה-logic analyzer ולקרוא את האותות הלוגיים שהוא מפיק. הגדרה זו מוצגת באיור 3. מה שנוח בהגדרה זו הוא שלא צריך להוסיף פינים פיזיים וצריך רק מחשב כדי לבצע ניתוח לוגיקה בסיסי. עם זאת, ישנן מגבלות רבות לשיטה זו. logic analyzer יכול לזלול משאבים תוך ניצול בלעדי של חלקי המעגל והזיכרון הפנימי שלו למשאבים הדרושים ללוגיקת העבודה. יתר על כן, ניתן לבדוק רק את המצב באמצעות logic analyzer אך בדיקת זמן, אשר מאפשרת למפתחים לצפות באותות ביחס אחד לשני ולמדוד אירועים א-סינכרוניים, אינה נתמכת.
אף על פי כן, logic analyzers פנימיים נפוצים מאוד ומרבית הספקים מציעים פתרונות היברידיים לניפוי שגיאות שבהם משתמשים גם במנתחי לוגיקה וגם בריבוב, לקבלת גמישות מרבית. כדי שיוכלו להיות באמת כלי רב-שימושי, אוסילוסקופים של אותות משולבים כוללים תוכנת פענוח JTAG, כך שניתן לנתח את פלט האותות הלוגיים של logic analyzer פנימי ישירות דרך האוסילוסקופ.

מדידות אנלוגיות
ישנם מקרים רבים שבהם למדידות אנלוגיות יש חשיבות רבה למעצב הדיגיטלי. למשל, היכולת לראות את האות האנלוגי התחתון יכולה לעזור להבהיר התנהגויות חריגות של הלוגיקה. אף על פי כן, בדיקת FPGA בעידן הנוכחי כוללת שורת יישומים של אותות משולבים שבהם האותות האנלוגיים והדיגיטליים חשובים במידה שווה לביצועי המכשיר. במעגלי ה-FPGA החדישים ביותר יש מהירויות מקלט-משדר שיכולות להגיע לכדי 28Gbps. שוק המחקר והפיתוח לעבר מהירויות אתרנט מהירות מאי פעם, שוק חיוני שנתמך על ידי יצרני מעגלי FPGA, הוביל את הצורך למהירויות מקלט-משדר כה קיצוניות. העבודה כיום על רשתות אתרנט במהירות 100Gb מתמקדת ב-10 ערוצים של 10Gbps המוטמעים במודולים של CFP. דור שני של רשתות 100GbE מפותח תוך שימוש בארכיטקטורה של 25Gbps‏x‏4 שתשולב במודולים של CFP2 ובסופו של דבר במודולים של CFP4. היתרונות של הגדלת קצב העברת הנתונים הטוריים והפחתת המקביליות הם הפחתה משמעותית בפיזור הכח ובגודל המודול, שמאפשר צפיפות גבוהה יותר. כדי לתמוך בנתיבי נתונים טוריים במהירות 25Gbps בהתאם לתקן זה, מעגלי FPGA האיצו את מהירויות המקלט-משדר עד לכדי מהירות של 28Gbps. אם מסתכלים קדימה אל עבר הדור הבא, רשת אתרנט במהירות 400Gb תצטרך 16 נתיבים של 25Gbps.
עיצוב ומדידת זרם נתונים טוריים במהירות 28Gbps היא בעיה אנלוגית ביסודה. הפסד החזרה, החזרות, זליגת אותות (cross talk) ובעיות אנלוגיות אחרות שניתן להתעלם מהן בקלות בקצב העברת נתונים שאיטי מ-1Gbps יכולות להיות קטסטרופליות במהירויות של 28Gbps ולרוב הן מובילות לתבניות עיניים סגורות לחלוטין. אוסילוסקופים של בדיקה בזמן אמת, כולל אוסילוסקופים של אותות משולבים, כוללים תוכנה לשלמות האותות שיכולה לשפר דרמטית את איכות המדידות האנלוגיות בקצב נתונים כזה. כך למשל, ניתן להוציא ערוץ שמאבד נתונים מהנתיב של האות. המשתמש יכול לצפות באות כפי שהוא הופיע לפני שהוא עבר דרך הערוץ.
על פי התפיסה הישנה, צריך לראות לפחות את ההרמוניה השלישית, לשם כך נדרשת מערכת מדידה עם רוחב פס של 42GHz לכל הפחות, כדי למדוד אות במהירות 28Gbps. עם זאת, לרוב זה לא כך. באיור 4, נמדד אות PRBS^7 במהירות של 28Gbps ברכישות ברוחב פס הן של 33GHz והן של 63GHz. יש מעט מאוד הבדל במדידות אלה, למעט תדר הרעש הגבוה שלא ניתן להימנע ממנו ברכישה של 63GHz. אם נבצע התמרת פורייה מהירה (FFT) לאות זה נראה שההרמוניה השלישית היא 30dB מתחת לערך היסודי וכמעט זניחה לחלוטין במדידות במציאות. אך עדיין, רק לאחרונה אוסילוסקופים של אותות משולבים התרחבו לרוחבי פס אנלוגיים רחבים מספיק כדי ללכוד אות במהירות 28Gbps. האוסילוסקופיים של אותות משולבים עם רוחבי הפס האנלוגיים הגבוהים ביותר בתעשייה הגיעו לכדי 20, ולאחרונה אף 33GHz.

סיכום
ישנם אתגרים חשובים הן בבדיקה וניפוי שגיאות דיגיטלית והן בבדיקה וניפוי שגיאות אנלוגית במעגלי FPGA חדישים. קשה להגיע לאותות דיגיטליים וכמות הפינים הפיזיים מוגבלת. בד בבד, מהירויות המקלט-משדר הגיעו לכדי רמה של 28Gbps, כך שלתמונה התווספו גם מצבים אנלוגיים לא אידיאליים במיוחד. מדידות בסביבה מאתגרת זו צריכות אוסילוסקופ של אותות משולבים עם רוחב פס גבוה המשלב רוחב פס אנלוגי שגדול מ-30GHz, שלמות אותות עילאית ו-16 ערוצים דיגיטליים לכלי משולב אחד. עד לאחרונה כלי שכזה לא היה קיים כלל. יחד עם זאת, הרמה החדשה ביותר של אוסילוסקופים של אותות משולבים עם רוחב פס גבוה תפסה את מקומה במתן מענה למדידות מאתגרות אלה.
הביוגרפיה של המחבר
דניאל רויבוש מנהל את השיווק האסטרטגי של תחום האוסילוסקופים בעלי ביצועים גבוהים ב-Agilent Technologies. דניאל הצטרף ל- Agilent בשנת 2011. יש לו ניסיון קודם בפיזיקה ובעיבוד של מכשירים מוליכים למחצה ובמכירות ושיווק. לדניאל תואר ראשון מאוניברסיטת קורנל הן בהנדסת חשמל והן בהנדסת חומרים ותואר שני בהנדסת חשמל מאוניברסיטת קליפורניה, ברקלי. מאחוריו מספר פרסומים של כתבים טכניים.

אג'ילנט

תגובות סגורות