1 clockSkew - Technion moodle
Transcription
1 clockSkew - Technion moodle
תכן לוגי תרגול ClkSkew - 1 1 אפיונים דינמיים של F .F • ה 7474 -הוא D-FFמסוג Edge triggeredמושפע מעליית שעון (כלומר ברגע שהשעון עולה בלבד) -היציאה Qמקבלת את ערך הכניסה Dבמעבר השעון מ '0' -ל.'1'- 2 נגדיר מספר מושגים חשובים: • • • • • • • מעבר אקטיבי של השעון – מעבר בהחלפת השעון הגורר שינוי ביציאה. ) - tw(L) ,tw(Hרוחב פולסי השעון T=tw(L)+tw(H) .זמן המחזור. - tsetupמשך הזמן שיש להחזיק את הכניסות קבועות לפני המעבר האקטיבי של השעון על מנת שהיציאות יהיו נכונות. - tholdמשך הזמן שיש להחזיק את הכניסות קבועות אחרי המעבר האקטיבי של השעון על מנת שהיציאות יהיו נכונות. -tpdזמן ההשהיה ממעבר השעון האקטיבי עד שהיציאה משתנה. - tcdהזמן לאחר מעבר השעון האקטיבי בו עדיין מובטח כי היציאה לא השתנתה. לרכיב יש שתי כניסות הפועלות ללא תלות בשעון (כניסות אסינכרוניות)Q=0 ← Rd=0 ,Q=1← Sd=0 : 3 נגדיר מספר מושגים חשובים: • כדי שישמרו תנאי setupו hold -נדרש: T2>Thold T1>Tsetup, 4 Fmax תדר השעון המקסימלי המותר כך שהמערכת תתפקד נכון. ניתן לפרק מערכת סינכרונית ל 2 -חלקים: • • – – – פליפ-פלופים (המכילים את משתני המצב) לוגיקה צירופית מעבר אקטיבי של השעון גורם לזיכרון לשנות מצב ,שינוי המצב "עובר" דרך הלוגיקה וחוזר לכניסות הפליפ-פלופים (ככניסות למצב הבא) .מכאן שיש זמן מינימלי שיש לחכות בין 2מעברים אקטיביים עוקבים. 5 חישוב Fmax • • • מחשבים מהו - Tminזמן המחזור המינימלי כך שהמערכת תתפקד נכוןTmin=1/Fmax , ל Tmin -שלושה חלקים: זמן ההשהיה של הזיכרון מהמעבר האקטיבי עד להתיצבות יציאותיו - – ( Tc→outלמשל ב.) Tc→out=max{tpdHL,tpdLH} 7474 - זמן ההתפשטות של המצב החדש דרך הלוגיקה עד לכניסות הזיכרון .tpdcl – זמן ה set-up -של הזיכרון. – כלומר מתחילים ממצב התחלתי נתון ,כעת מתקבל מעבר אקטיבי של השעון, ושואלים מתי ניתן לתת את המעבר האקטיבי הבא .על מנת למצוא את Tmin יש לבצע את התהליך הנ"ל לכל המצבים של המערכת .למזלנו ,בד"כ ניתן לראות מהם המצבים ההתחלתיים שיתנו Tminגדול ,ולבדוק רק אותם. 6 Fmax דוגמה לחישוב IN1 D1 Q1 7474 OUT 7408 IN2 D2 Q2 D3 Q3 7474 :7474 • 7474 CLK1 Tsetup=20ns, Thold=5ns TpCQ= 40ns Tpd=19ns Tmin=tpd7474+tpd7408 +tsetup7474 Tmin=40+19+20=79ns Fmax=1/Tmin=12.66MHz 7 7408 • :• חישוב תנאי SetupוHold- תנאי – Setup יש לוודא כי המרחק בין עליות השעון מספיק ארוך אם לא מתקיים: .1 .2 .3 להאריך את זמן מחזור השעון (להקטין תדר) להקטין השהייה לוגית על ידי הסרת חלק מהפונקציות להקטין השהייה לוגית על ידי שימוש ברכיבים מהירים יותר תנאי – Hold תלוי בנתונים של רכיבי המעגל .אם לא מתקיים עלינו לשנות את מבנה המעגל להוסיף השהיות. 8 Without CLK skew – Setup Conditions X B A Q0 D0 Y FF0 CLKA Q1 D1 C Set Y=0,Z=1 FF1 X:0↑1 CLKB Z Clk A/B tCD(FF0) Q0 tPD(FF0) tPD(C) tSETUP(FF1) tCD(FF1) Q1 tPD(FF1) 9 FF0->FF1 tSETUP(FF0) tPD(A+B) FF1->FF0 Without CLK skew – Setup Conditions B FF 0 FF1: Tmin Tpd ( FF 0) Tpd (C ) Tsetup ( FF1) FF1 FF 0 : Tmin Tpd ( FF1) Tpd ( A) Tpd ( B ) Tsetup ( FF 0) A D QC 0 0 FF0 D Q 1 1 FF1 Tmin TFF 0 FF 1 , TFF 1 FF 0 . נבדוק על ה"מסלול הארוך" ביותר במערכתsetup => תנאי Tmin>Tpd(FF)+max {Tpd(CL)} + Tsetup 10 דוגמא מספרית – זמן מחזור TCD TPD nand 2 22 nor 2 20 FF 5 40 TSETUP THOLD FF 0 FF1: Tmin 40 22 20 FF1 FF 0 : Tmin 40 22 20 20 20 5 Tmin 102 FF 0 FF1: Tmin Tpd ( FF 0) Tpd (nand ) Tsetup ( FF1) FF1 FF 0 : Tmin Tpd ( FF1) Tpd (nand ) Tpd (nor ) Tsetup ( FF 0) Tmin TFF 0 FF 1 , TFF 1 FF 0 B 11 A D QC 0 0 FF0 D Q 1 1 FF1 Without CLK skew – Hold Conditions (FF0->FF1) X B A Q0 D0 Y C Set Y=0,Z=1 FF0 CLKA Q1 D1 FF1 X:0↑1 CLKB Z Clk A/B tCD(FF0) Q0 tCD(C) Q1 12 tHOLD(FF1) FF0->FF1 tHOLD(FF0) tCD(FF1) tCD(A)+tCD(B) FF1->FF0 Without CLK skew – Hold Conditions FF 0 FF1: THold ( FF1) Tcd ( FF 0) Tcd (C ) FF1 FF 0 : THold ( FF 0) Tcd ( FF1) Tcd ( A) Tcd ( B ) B A D QC 0 0 FF0 D Q 1 1 FF1 THold min{Tcd ( FF 0) Tcd (C ), Tcd ( FF1) Tcd ( A) Tcd ( B)} . נבדוק על ה"מסלול הקצר" ביותר במערכתHold => תנאי Thold<Tcd(FF)+min {Tcd(CL)} 13 Hold דוגמא מספרית – תנאי TCD TPD nand 2 22 nor 2 20 FF 5 40 TSETUP THOLD FF 0 FF1: 5 5 2 20 5 FF1 FF 0 : 5 5 2 2 FF 0 FF1 : THold ( FF1) Tcd ( FF 0) Tcd (nand ) FF1 FF 0 : THold ( FF 0) Tcd ( FF1) Tcd (nand ) Tcd (nor ) B 14 A D QC 0 0 FF0 D Q 1 1 FF1 Clock Skew • המשטר הדינמי מחייב הזנת שעון יחיד בו זמנית לכל הרכיבים המתוזמנים במעגל. • במקרים רבים נתקלים בקושי של מגבלות פיזיקליות ,והשעון מגיע בהפרשי זמן מסוימים לחלקים שונים במעגל .הפרש הזמן המכסימלי נקרא "עוות השעון" ).(clock skew B A Q 1 C D FF1 1 CLK B X Q D 0 0 FF0 Y CLK A Z With CLK skew – Hold Conditions (FF0->FF1) B X Set Y=0,Z=1 Q0 D0 Y A C FF0 Q1 D1 X:0↑1 FF1 CLKA CLKB Z Delay A Clk B tskew tCD(FF0) Q0 tCD(C) 16 Q1 tHOLD(FF1) tCD(FF1) tPD(FF1) With CLK skew – Hold Conditions (FF1->FF0) X B A Q0 D0 Y FF0 Z C CLKA tskew Clk B tCD(FF1) Q1 tCD(A+B) Q0 17 tHOLD(FF0) Q1 D1 FF1 CLKB Delay Clk A Set Y=0,Z=1 X:0↑1 With CLK skew – Hold Conditions .A עולה שעוןt=0, t=T, …-•נניח כי ב .B עולה שעוןt=tskew, t=T+tskew, … -•בהתאמה ב FF 0 FF1: tskew THold Tcd ( FF 0) Tcd (C ) FF1 FF 0 : THold tskew Tcd ( FF1) Tcd ( A) Tcd ( B ) tskew עלולים לא להתקיים אםHold תנאי,•מתוך התנאי הראשון :גדול מדי tskew Tcd ( FF 0) Tcd (C ) THold הרי,skew בהנחה שהמערכת עובדת ללא,•מתוך התנאי השני .שהיא תעבוד גם עכשיו 18 tskew Tcd ( FF1) Tcd ( A) Tcd ( B ) THold With CLK skew – Setup Conditions (FF0->FF1) B X Set Y=0,Z=1 Q0 D0 Y A C FF0 Q1 D1 X:0↑1 FF1 CLKA CLKB Z Delay Tmin A tskew Clk B tPD(FF0) Q0 tPD(C) 19 Q1 tSetup(FF1) With CLK skew – Setup Conditions (FF1->FF0) X B A Q0 D0 Y FF0 Q1 D1 C CLKA Z Set Y=0,Z=1 FF1 CLKB Delay Tmin Clk A tskew Clk B tPD(FF1) Q1 tPD(A+B) 20 Q0 tSetup(FF0) X:0↑1 With CLK skew – Setup Conditions .A עולה שעוןt=0, t=T, …-•נניח כי ב .B עולה שעוןt=tskew, t=T+tskew, … -•בהתאמה ב Tpd ( FF 0) Tpd (C ) Tsetup ( FF1) Tmin t skew tskew Tpd ( FF1) Tpd ( A) Tpd ( B ) Tsetup ( FF 0) Tmin ? יגדל או יקטןTmin •האם ? שליליtskew •מה יקרה אם 21 :שאלת סיכום מהו התדר הגבוה האפשרי בו,עבור המערכת שנדונה מקודם ?skew המערכת תפעל באופן תקין כאשר ניתן לקבוע ערך ל TCD TPD nand 2 22 nor 2 20 FF 5 40 TSETUP THOLD 20 5 ?tskew מה הערך המכסימלי והמינימאלי של FF 0 FF1: tskew THold Tcd ( FF 0) Tcd (C ) tskew 5 2 5 2 B FF1 FF 0 : THold tskew Tcd ( FF1) Tcd ( A) Tcd ( B ) 4 5 (5 2 2) tskew 4 tskew 2 22 A D QC 0 0 FF0 D Q 1 1 FF1 TCD TPD nand 2 22 nor 2 20 FF 5 40 TSETUP THOLD 20 5 :דוגמא מספרית 4 tskew 2 ?מה ההשפעה על זמן המחזור המינימאלי האפשרי . skew קודם כל נחשב את זמן המחזור ללא FF 0 FF1: Tmin 40 22 20 FF1 FF 0 : Tmin 40 22 20 20 Tmin 102 ונבדוק את ההשפעהtskew נבחר את הערכים הקיצוניים האפשריים של .שלהם tskew 2 tskew 4 23 40 22 20 Tmin 2 2 40 22 20 20 Tmin 40 22 20 Tmin 4 4 40 22 20 20 Tmin Tmin 104 Tmin 98 מסקנה: • בחירה נכונה של Skewיכולה לעיתים לשפר את ביצועי המערכת. תזכורת: • ערכי skewשליליים פירושו שהשעון מגיע מהכיוון ההפוך ביחס לכיוון הראשוני שיחסנו לו (במקרה שלפנינו skewשלילי הוא כאשר השעון מגיע מימין במקום משמאל). 24