ביצוע מדידות מדויקות במערכות זיכרון GDDR5

GDDR5אי-לי קוואן  Agilent Technologies

GDDR5י(Graphics Double Data Rate, version 5) הינו זיכרון DRAM לכרטיס גרפי בעל ביצועים גבוהים המתוכנן ליישומים הדורשים רוחב פס גבוה. טכנולוגיית GDDR5 מציעה קצבי נתונים גבוהים יותר (עד פי 4 מאלה של GDDR4) המאפשרים יותר רוחב פס לאורך ממשק זיכרון צר יותר וביצועים מעולים. חידושי ואתגרי התכנון של GDDR5  כוללים עבודה עם שבב בגודל קטן יותר, מארזי 170 FBGA ושימוש באופטימיזציית נתונים עם היפוך סיביות הנתונים והכתובת לשיפור איכות האות. זה אף מקטין את הריצוד (jitter) הנגרם על ידי רעש הספק. GDDR5 אף מאמץ טכנולוגיית בקרת ריצוד אשר מסננת ריצוד בתדר גבוה ומיישרת מחדש את פאזת השעון כאשר פעולת הקלט שלו מעוותת. האתגרים בבדיקות ואימות השכבה הפיסית דורשים אוסילוסקופ של טווח תדרים אנלוגי אמיתי עם רצפת רעש נמוכה כדי לבצע מדידות ריצוד מדויקות בקצבי נתונים של 5 גיגה-ביט לשנייה או גבוה יותר. כמו טכנולוגיית זיכרון DDR, אחד מהאתגרים הגדולים ביותר הניצבים בפני מתכננים רבים הינו להפריד את מחזורי הקריאה והכתיבה על מנת לבצע מדידות דיאגראמת עין. מאמר זה מתאר את הטכניקות האחרונות למדידות GDDR5 וכלי ניפוי הזמינים למטרות איתור תקלות ובדיקות התאמה (compliance). הוא יתמקד באזורים במפרטים אשר דורשים יכולת ספציפית וייחודית של אוסילוסקופ טווח תדרים אנלוגי אמיתי.

מדידת ריצוד WCK (forward clock) מדויקת עם אוסילוסקופ טווח תדרים אנלוגי אמיתי
ה-SGRAM של GDDR5 פועל מ-CK ו-#CK שעון דיפרנציאליים. פקודות נרשמות בכל קצה עולה של CK. כתובות נרשמות בכל קצה עולה של CK וכל קצה עולה של #CK. GDDR5 מחליף את ה- pulsed strobes
(WDQS ו-RDQS) ששימשו ב-DRAMs קודמים כגון GDDR4 עם forwarded clock דיפרנציאלי (WCK#/WCK) הפועל בחופשיות כאשר גם נתוני הקלט וגם נתוני הפלט נרשמים ומורצים בהתאמה בשני הקצוות של ה-WCK המקודם.
אחד ממקורות הריצוד במערכת GDDR5 הינו הריצוד האקראי בנתיב מ-WCK ל-(WCK(int כאשר הריצוד מסונן על ידי שיהוי קלט ו-clock tree. אוסילוסקופ אנלוגי הינו הכלי הנבחר לביצוע המדידה של הריצוד האקראי המותר בקלט ה-WCK. שיטת דגם ה-dual dirac משמשת להפרדת רכיב הריצוד האקראי. ישנם שני מצבים המוחלים על מדידת הריצוד שהם מצבי ה-PLL on וה-PLL off עם יכולת CDR (שחזור נתוני שעון) המוחלת על קריאות DRAM.
ריצוד מוגדר כסטייה של מעבר אות מזמנו האידיאלי. הוא סוגר את חלון ה”נתונים תקפים” (data valid) של נתוני הקריאה והכתיבה בקצבי נתונים מהירים, דבר הגורם לשגיאת דגימה ו-BER גבוה יותר. כאשר פועלים בקצב נתונים מהיר כגון 5 גיגה ביט לשנייה ומעלה, חלון ה”נתונים תקפים” הינו קטן מאוד. הרעש במערכת או ערב הדיבור (crosstalk) מאותות חשמליים סמוכים או אפילו הפרעה אלקטרומגנטית יכולים בקלות לעוות את שלמות האות, דבר העלול להוביל לשגיאת דגימה של נתונים. לפיכך חשוב מאוד לרשום את הביצועים של מכשיר המדידה המשמשים לאפיון של מערכת ה-GDDR5. במקרה זה, השוליים של המערכת שלך עלולים להיות מנוצלים על ידי האוסילוסקופ בו הינך משתמש על מנת למדוד ריצוד השעון של מערכת ה-GDDR5 שלך. השגיאה שתרם האוסילוסקופ משפיעה במידה רבה על דיוק המדידה של המערכת שלך. רעש וריצוד שתרם האוסילוסקופ מקטינים את שולי התכנון (design margin) שיש במקור למערכת שלך. מתכנני המערכת עוברים מספר מחזורים של מאמץ הנדסי על מנת למקסם את שולי התכנון וחשוב להשתמש לא רק באוסילוסקופ בעל טווח תדרים גדול אשר יתמוך בקצב הנתונים הגבוה, אלא גם באוסילוסקופ בעל רמת רעש נמוכה על מנת לבצע את המדידות המדויקות ביותר, להפחית את מחזורי התכנון ובסופו של דבר להגיע אל השוק מהר יותר.

הפרדת נתוני קריאה וכתיבה עבור בדיקות דיאגראמת עין
גישת נתוני קריאה וכתיבה ל-SGRAM של GDDR5 הינה מבוססת פרצים (bursts); גישה מתחילה במקום נבחר ומורכבת משמונה מילות נתונים. זרימת המצבים מתחיל עם פקודת ACTIVE, שלאחריה פקודת קריאה (READ) או כתיבה (WRITE). סיביות הכתובת שנרשמו יחד עם פקודת ה-ACTIVE וקצה ה-#CK העולה הבא משמשות לבחירת ה-bank והשורה של הגישה. סיביות הכתובת שנרשמו עם פקודת הקריאה או הכתיבה קצה ה-#CK העולה הבא משמשות לבחירת ה-bank והעמודה עבור גישת הפרץ (burst). אחד מאתגרי המפתח לפניהם ניצבים מתכננים בניפוי התקני זיכרון הינו הפרדה של מחזורי קריאה וכתיבה עבור בדיקות דיאגראמת עין של נתונים. ב-GDDR5, שלב זה הינו הכרחי על מנת למדוד את חלון ה”נתונים תקינים”. שיטה אחת לבצע זאת הינה לבצע הפעלה בפקודה תקינה של קריאה או כתיבה עם אוסילוסקופ אותות מעורבים (mixed signal oscilloscope). לאוסילוסקופ אותות מעורבים יש בדרך כלל 16 ערוצים דיגיטליים וארבעה ערוצים אנלוגיים. הערוצים הדיגיטליים יחוברו לערוצי CK (clock),  RAS(כתובת שורה), CAS (כתובת עמודה), WE (כתיבה מאופשרת) ו-CS (בחירת שבב) בהתקן GDDR5 והערוץ האנלוגי באוסילוסקופ יחובר ל-DQ (נתונים) כדי למצוא את הנתונים המתאימים הקשורים לפקודת הקריאה או הכתיבה. יחד עם זאת שיטה זו הינה די מייגעת כאשר מנסים לגשת לסך כולל של 6 אותות בהתקן ה-GDDR ובמיוחד כאשר אין די שטח לוח לגישה קלה.

הפרד את פקודת הקריאה והכתיבה בעזרת 4 ערוצים של אוסילוסקופ טווח התדרים האנלוגי האמיתי שלך

הדרך המומלצת ביותר להפריד את הקריאה והכתיבה הינה על ידי שימוש בכלי ה-+InfiniiScan של Agilent. כלי ייחודי זה מאפשר לך לבצע trigger על תבנית ספציפית עם אופציית הפעלה של הסמכת אזור (zone qualify). אנו יכולים לגזור את התנאים הבאים מטבלת האמת של פקודת ה-GDDR5:
•פקודת קריאה: #CAS הינו נמוך ו-#WE הינו גבוה
•פקודת כתיבה: #CAS הינו נמוך ו-#WE הינו נמוך
•Load FIFO, Deselect, Refresh, Self Refresh, Power Down: #CAS הינו X (don’t care), #WE הינו X
כאן יכולת לחבר #CAS#, WE#, WCK ו-DQ (נתונים) לערוצים האנלוגיים של האוסילוסקופים. ברור שלא נדרש אוסילוסקופ אותות מעורבים מכיוון שישנם די ערוצים באוסילוסקופ אנלוגי סטנדרטי של 4 ערוצים. על מנת להפריד מחזור קריאה ממחזור כתיבה יהיה עליך להשתמש ב-trigger חומרה על אות #CAS כדי למצוא את המעבר הראשון של #CAS ממצב גבוה לנמוך. לאחר מכן, הפעל את +InfiniiScan והגדר את אזור ה-trigger הראשון באות ה-#WE להיות מופעל רק כאשר #WE הינו גבוה. זה ישמיט כל trigger על פקודת כתיבה. לאחר מכן תוכל למקם את אזורים 2 ו-3 של ה-+InfiniiScan על DQ לאחר זמן המתנה מסוים של הקריאה. אזורים 2 ו-3 אף יבטלו אפשרויות של הפעלה על Load FIFO, Deselect, Refresh, Self Refresh, Power Down מכיוון שבמהלך מחזורי הפקודות הללו, DQ הינו גבוה או במצב עכבה (impedance) גבוהה.
כדי להפריד מחזור כתיבה ממחזור קריאה, השתמש ב-trigger חומרה כדי לבצע הפעלה על #CAS העובר ממצב גבוה לנמוך ואז הגדר את האזור הראשון כך שיופעל על #WE נמוך. לאחר מכן אתה יכול למקם את אזורים 2 ו-3 של +InfiniiScan על DQ לאחר ערך מסוים של זמן המתנה (latency) בכתיבה.
הפרדה מוצלחת של פקודות קריאה וכתיבה תאפשר לך לבצע מדידת חלון “נתונים תקפים”. tDIVW במפרט ה-GDDR5 של JEDEC מגדיר את אזור הזמן כאשר נתוני הקלט חייבים להיות תקפים עבור לכידת נתונים אמינה במקלט עבור ערוץ worst case אחד. המדידה תכלול ריצוד (jitter) בין נתונים ושעון בנקודת הנעילה. יש למדוד את כל הריצוד הנוסף שנוסף למערכת לפני הפד של ה-DRAM בתקציב התזמון הסופי יחד עם מצב ה-PLL/DLL וטווח התדרים. אוסילוסקופ בעל טווח תדרים אנלוגי אמיתי גבוה ביותר יבטיח את הייצוג המדויק ביותר של הקצה המהיר. רצפת הרעש הנמוכה ביותר של האוסילוסקופ תשיג לך את הייצוג המרבי של רמת המתח עבור מיקום סף ולבסוף, ריצוד זמן האמת הנמוך ביותר יאפשר לך למרב (maximize) את תקציב הריצוד שלך בתכנון שלך ולא באוסילוסקופ.

סיכום
עם הגעת טכנולוגיית GDDR לקצבי נתונים גבוהים יותר של 5 גיגה-ביט לשנייה ומעלה, משרעת האות וחלון ה”נתונים תקפים” שלו נעשים קטנים יותר. לכלי המדידה שאתה בוחר על מנת לאפיין את המערכת שלך תהיה השפעה משמעותית על דיוק המדידה שלך. כמות השוליים שיש לך בתכנון ה-GDDR5 שלך תלויה מאוד בכמות הרעש והריצוד שהאוסילוסקופ שלך תורם לתכנון. מהנדסים רבים עוברים מספר מחזורי תכנון כדי לשפר את השוליים (margin) של התכנון ולזה יש השפעה חשובה על היעילות והעלות הכוללת של המחקר והפיתוח. לכן, אוסילוסקופ טווח תדרים אנלוגי אמיתי עם טווח התדרים הגדול ביותר, רצפת הרעש הנמוכה ביותר ורצפת מדידת הריצוד הנמוכה ביותר הינו רצוי מאוד כדי להבטיח שולי תכנון גדולים יותר והתאמת תכנון מהירה יותר על מנת לשחרר את המוצר ראשונים לשוק.

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