תקן JTAG החדש 1149.7IEEE

ד”ר עמי גורודצקי,  האוניברסיטה העברית,StarTest

באירוע שהתרחש בחודש פברואר אשתקד, המכון הבינלאומי IEEE פרסם את תקן JTAG החדש, הידוע מאז בתור 1149.7, או פשוט “dot-7”. העבודה על התקן החדש בוצעה במשך זמן רב על-ידי קבוצה בינלאומית של מומחים ומספר חברות אלקטרוניקה מובילות, ועם בואו של תקן זה, נוספו ציפיות משמעותיות של מומחים גם בתכנון וייצור מעגלים מוכללים ושבבים (IC), וכן בפיתוח ויצור מעגלים מודפסים.
יש לציין כי התקן המסורתי IEEE 1149.1 או,JTAG הנמצא בשימוש מוצלח בבדיקות במשך יותר מעשרים שנה, הוא חי וקיים, יעיל, וימשיך להיות אחת הטכנולוגיות המובילות בבדיקות בעתיד הנראה לעין. התקן החדש 1149.7 בעל הכותרת ארוכה למדי “ארכיטקטורת סריקות גבול ופורט לגישת מבחן עם תכונות משופרות ומספר מופחת של פיני קלט-פלט” לא נועד להחליף את ה- JTAGהישן, אלא שהוא מתבסס עליו, מרחיב אותו, תואם אותו באופן מלא, ומטרתו היא מטרה אבולוציונית – לשפר את הביצועים של התקן הקיים ולהאריך את שימושו.
התכונות העיקריות של תקן 1149.7 הידוע גם בתור cJTAG (compact JTAG) הן:
• הקטנת מספר פיני חובה לשניים
• חיבור כוכב במקום שרשרת
• פנייה ישירה למעגלים מוכללים
• עקיפת מעגלים מוכללים ברמת השבב
• תכונות נוספות לניהול מתחי תזונה
היתרונות העיקריים של התקן החדש כוללים:
• פישוט הקשרים בין מעגלים מוכללים כדי להבטיח את הבדיקתיות שלהם
• שיפור תמיכת בדיקות לשבבים מרובי ליבות
• שיפור לאפשרויות איתור באגים לתכניות בדיקה
תקן 1149.7 כולל את המאפיינים העיקריים של שתי קבוצות, שכל אחת מהן מחולקת לתת-קבוצות. הקבוצה הראשונה של המאפיינים היא הרחבה של תקן 1149.1, הקובעת את מספר שיטות הבדיקה המתקדמות, מאפיין שייושמו בתוך תקן JTAG המסורתי לא היה מתקבל על הדעת. הקבוצה השנייה של המאפיינים מתארת פרוטוקול של שני פינים המגדיר את הפעולה של מבני JTAG מתקדמים. תקן 1149.7 מחולק לשישה תת-קבוצות, אשר כל אחת מהן נבנית על הפונקציות המוגדרות על ידי התת-קבוצה הקודמת. ארבע תתי-הקבוצות הראשונות, מ-T0 ל-T3, מתייחסות לקבוצה הראשונה של מאפיינים, ואילו T4 ו-T5 – אל הקבוצה השנייה.
תת-הקבוצה T0 מגדירה את התאימות של ה-IC שתומך בתקן 1149.1 (IC.1) ו-IC שתומך בתקן 1149.7 (IC.7) במסגרת של מעגל אחד. הכללים של שילוב בתת-הקבוצה T0 כרוכים בשימוש ברגיסטר פקודות של n סיביות, ורגיסטר עיקוף (ביי-פאס) של סיבית אחת לביצוע פקודת עיקוף BYPASS. רגיסטר זיהוי של 32 סיביות הינו חובה, ופקודות החובה הן אותן פקודות כמו בתקן 1149.1. בריסוט הכללי TLR כל מעגלים מוכללים ה-IC.7 שמנוהלות בו זמנית מבצעות פעולת Scan-DR  של סיבית אחת בביצוע פקודת BYPASS רגילה.
המאפיינים של תת-קבוצה T1 מגדירות את מה שמכונה “רמות ניהול” IC.7, אשר כלל אינן קיימות עבור מעגלים מוכללים IC.1. רמות ניהול אלו הינן בסיס לבניית כל הפונקציות שהוגדרו על ידי תתי-הקבוצות מ-T1 עד T5, והן מבוססות על אותה דיאגרמת מצבים של  בקר TAP, המוכר לנו היטב מהתקן המסורתי 1149.1.
שימוש ברמות ניהול IC.7 (אנו נסמן אותן כ- CL IC.7) הלא הוא המפתח של תקן 1149.7. משמעותה של תכונה חדשה זו היא בשימוש ברצף של מצבים של דיארגמת מצבים TAP תוך כדי ספירת מספר העיקופים של מצב Shift-DR, או מספר האי-כניסות למצב זה של ה-TAP. רמות ניהול CL IC.7 משתמשות בפקודות BYPASS או IDCODE יחד עם רצפי פקודות מותאמי 1149.1 שלהם נקרא zero-bit DR scans או ZBS. סריקת ZBS זו הכוללת (שימו לב, זה חשוב !) שינוי מצבי דיאגרמת TAP בעיקוף של מצב Shift-DR, או במילים אחרות מעבר ממצב Select-DR-Scan ל- Capture-DRובהמשך ל- Exit1-DR וממנו ל-Update-DR. שני המעברים האלו מתבצעים בתנאי ש- TMS=1.
היישום ברמות ניהול CL IC.7 מניח קיומו של מונה ZBS הסופר את מספר סריקות ZBS שתמיד מתחילות במצב TLR של דיאגרמת מצבי TAP. סיטואציה זו מתרחשת מכיוון שבדיוק במצב זה מתקיים איתחול של רגיסטרי פקודות על ידי שתי פקודות, גם BYPASS וגם IDCODE. החל מZBS=0-  מונה זה עולה ביחידה אחת בכל סריקת ZBS הבאה בתור. אם מתרחשת סריקת DR הכוללת העברת מצב Shift-DR אבל מונה ZBS לא שווה אפס, ספירת המונה נפסקת וכל סריקות ZBS הבאות לא מפעילות מונה זה. הפסקת פעילותו של מונה ZBS משמעותה שמירה של מספר סריקות ZBS שהתרחשו ברצף. במילים אחרות, אנחנו שומרים אחת מרמות הניהול CL IC.7 שיקבלו ערך מ-1 עד 7.
ריסוט מונה ZBS מתרחש באחד מהארועים הבאים: מעבר דרך מצבי Select-IR-Scan או Test-Logic-Reset של דיאגרמת מצבי TAP וכמו כן מתן פקודות מסוימות שקשורות לסינכרון פעולות המוגדרות על ידי תת קבוצות T-4 ו-T-5. מעניין לציין כי שימוש בתוכן מונה ZBS, או CL IC.7, לא רק משנה את פונקצית פקודות BYPASS ו-IDCODE, כמו שזה מסומן בעמוד “פונקצית טעינה” בטבלה, אלא גם משפיע על שינוי מסלול סריקת DR.
לדוגמה, ברמת הניהול 2 מופעלות מה שנקרא “פקודות ניהול” שמניחות ביצוע שתי סריקות DR  ברצף ומופיעות בתור מילים של 10 סיביות, כאשר 5 סיביות MSB הנקראות CP1 זהו קוד הפעולה, ואילו 5 הסיביות LSB הנקראות CP2 הן האופרנד. תוכן המילים האלו נבנה באופן דינמי על ידי חישוב (עד עיגול עד 5 סיביות) של מספר המעברים דרך מצב Shift-DR של דיאגרמת מצבי TAP בין מצבי Capture-DR ו-Update-DR. היררכיית הניהול במבנה 1149.7 עם לקיחת בחשבון תוכן מונה ה-ZBS משמש כבסיס עליו בנוי פרוטוקול השני פינים שמוגדר על ידי תת-קבוצות T4 ו-T5. מכיוון שפקודות הניהול הן פונקצייה מסוימת של רצף מעברים בין מצבי דיאגרמת TAP, לביצוע פרוטוקול זה יש צורך בשימוש רק בשני פינים TCK ו-TMS.
בנוסף לקביעת דרגות הניהול, תת-קבוצה T1 מגדירה את ארבעת מצבי הכיבוי מתחי תזונה של IC.7 מה שיכול להיות קריטי בביצוע בדיקות של שבבים וכרטיסים, וכמו כן בדיבוג של בדיקות בעצמן:
• כיבוי מתח תזונה אם סיגנל TCK נמצא ברמה לוגית אחד יותר מ-1 מילישניה;
• כיבוי מתח תזונה אם סיגנל TCK נמצא ברמה לוגית אחד יותר מ-1 מילישניה ודיאגרמת מצבי TAP נמצאת במצב TLR;
• כיבוי מתח תזונה אם דיאגרמת מצבי TAP נמצאת במצב TLR;
• פעיל תמיד.
תת-קבוצה T2 מגדירה את מנגנון העיקוף של IC.7 ברמת השבב. מנגנון זה מיועד לקיצור שרשראות הסריקה בפיתוח בדיקות למעגלים מתוחכמים. תת-הקבוצה הזאת מגדירה מנגנון כפי שנקראה “הדלקה חמה” (hot connect)  לשבבי IC.7. לביצוע אפשרויות חדשות אלו תת-קבוצה T2 מגדירה שלושה פורמטים של JTAG-scan :
• JSCAN0 – פעולות שמתאימות לתקן JTAG המסורתי 1149.1;
• JSCAN1 – מבטיח הגנה מפני “הדלקה חמה” וכבוי IC.7, שכתוצאה ממנו עיקוף על שבבי IC.7 המחוברים בהדלקת מתח בברירת מחדל. פורמט זה מיועד להגנת פורטי TAP מסוימים מהדלקות לא מיועדות ומפני מניעת נזקים בליבות הפונקציונליות בהדלקה חמה;
• JSCAN2 – מאפשר עיקוף שבבי IC.7 ברמת השבב לשרשראות הטוריות של IC.  מנגנון זה מתפקד כחומת הגנה (firewall), המאפשר גישה לפורט IC.7 רק לאחר סיום שרשרת הפקודות שניתנו, שמכילות בין השאר בדיקת יציבות של החיבורים החשמליים במעגל.
המאפיינים של תת-קבוצה T3 מגדירים אפשרויות חיבור של שבבי IC.7 בצורת כוכב, שזה חסרון משמעותי של תקן 1149.1 שמניח חיבורם של מספר שבבים רק בצורת בשרשרת. חיבור בצורת כוכב מתאפשר על ידי פורמט JSCAN3. כאשר להגדרתו משתמשים בתת-קבוצה T3 ברגיסטר מסויים “לכתיבה בלבד”. תקן 1149.7 מניח גם אפשרויות פניה ישירה לכל IC.7 נפרדת בחיבורם בצורת כוכב.
פעולות סריקה בתקן 1149.7 בחיבור כוכב אקוויוולנטיות מבחינה פונקציונלית לסריקות טוריות, כאשר מעברים דרך מצבי Capture-xR ו-Update-хR של TAP בקבוצה הכוללת מספר שבבי IC.7 הינם מסונכרנים. שינוי נתוני סריקה בכל פורט TAP מהקבוצה מתרחש בפער הזמן בין מצבים אלו, כאשר משיכה (בחירה) וחסימת פורטים אלו מתבצעות ללא כניסה למצבי Capture-xR ו- Update-хRשל TAP. כדי לאפשר פניה ישירה לשבבי IC.7 בחיבור בצורת כוכב, כל שבב IC.7 מזוהה בנפרד בעזרת מרקר CID, לשם כן משתמשים במעגל איטרטיבי שרירותי.
תת-קבוצה T4 מביא מספר פורמטי סריקה נוספים על מנת לתמוך בפרוטוקול העברת נתוני בדיקה על ידי שני פינים בלבד (במקום ארבע) דרך פורט TAP. פיני העברת נתונים TDI ו-TDO הם כלל לא בשימוש, ונתוני המידע כעת מועברים דרך קו דו כיווני TMSC. בנוסף לכך, תת-קבוצה T4 מגדירה מספר מודים אופטימלים להכנסת נתוני בדיקה, המאפשרים הכנה רק של נתונים הכרחיים, ללא חזרות וכפילויות.
פונקציות של תת-הקבוצה T5 מיועדות בעיקר לאנשי תכנה שמשתמשים בפרוטוקול JTAG לצורך דיבאג. היתרון העיקרי של פונקציות אלו הוא הקיצור של מספר הפינים המיועדים לדיבאג בלבד, וכמו כן שימוש בפיניTMSC  ו-TCKC לביצוע פרוטוקולים שונים למשתמשי הקצה.
לסיכום כדי לציין, כי יחד עם התאמה מלאה עם התקן המסורתי 1149.1, התקן החדש 1149.7 מאפשר קיצור מספר פינים של IC מורכבים, כדוגמת SOC, שבשימוש מאסיבי בזמן האחרון באלקטרוניקה שימושית. יחד עם זאת כיבוי מתחי תזונה לIC- בהספקים נמוכים מה שמקל על יצור ובדיקות למודלים מרובי ליבות ו-IC בעלי שבבים רבי-קומות, וכמו כן מעלה ביסוד את אפקטיביות תהליכי בדיקה ודיבאג.                            .

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