מערכות זיכרון – Sequential Logic Combinatorial Circuit מעגל צירופי Storage/Mem יחידה זיכרון עד כה טיפלנו במערכות צירופיות שהינן חסרות " זיכרון " או מצב. שינוי בערכי הכניסה גורר שינוי " מיידי " ( לאחר השהייה ) בערכי היציאה. כל מחשב וכן בקרים מתוכנתים (Controllers) מכילים זיכרון המשמש לשמירת נתונים ולביצוע תוכניות. פרט למבנים כמו SDRAM,ROM וזיכרון בועות (Bubble memory), " הזיכרון " מושג ע " י שימוש במשוב (feedback) של יחידות לוגיות. Output יציאות Input כניסות
Synchronous Sequential Circuits פעולת המערכת מתבצעת ב " פיקודו " של שעון וערכי המערכת נקבעים מערכי הכניסה בנקודות זמן מסוימות שהינן תלויות שעון מצב המערכת תלוי בשעון. Asynchronous Sequential Circuits פעולות המערכת תלויות בסדר של שינוי הכניסות, מצב המערכת יכול להשתנות בכל רגע. " יציב " " מהיר " Combinatorial Circuit Memory Clock Pulses
L A T C H 1 2 S R – L a t c h Reset Set R S Q’ Q O 1
L A T C H 1 2 S R – L a t c h Reset Set R S Q’ Q
L A T C H 1 2 S R – L a t c h Reset Set R S Q’ Q 0 (0) (1) מקודם נניח שניתנה פקודת Set S=1, R=0 ועתה אנו " מורידים " את הכניסות (S=0, R=0). ערכי היציאה Q’, Q " זוכרים " את פקודת ה -Set. באותו אופן יזכרו את ה - Reset.
L A T C H 1 2 S R – L a t c h Reset Set R S Q’ Q R=1, S=1 כאשר הערכים יורדים ל – "0" (S=0, R=0) הערך של Q ו Q’ תלוי באיזה קו ישתנה ראשון RACE Condition המצב הבא נקרא לא מוגדר
דיאגרמת זמנים: Q S R "1" "0" "1" "0" "1" "0" טבלת אמת – מצבים : SRQQ’ Latch איננו פונקציה בוליאנית. ערכי היציאה תלויים בפעולת Set או Reset האחרונה. עבור כניסות ( 0,0 ) ערך היציאה נשמר קבוע כל זמן שיש מתח. Reset State Set State Undefined ( מצב אסור )
SR Latch with NAND SRQQ’ Set State Reset State Undefined Set Command Reset Command R S Q’ Q
SR Latch מבוקר שעון : Clock Pulse CSRNext Q 0 No change 110Q = 1 101Q = 0 111Undef 100No change S R CP Q R S Q’ Q CP 1
D (data) Latch D Q’ Q CP
D (data) Latch D Q’ Q CP Q = 1 (Set) Q = 0 (Reset) No change Next State of Q CD Latch D הינו יחידה שאוגרת / " זוכרת " ביט יחיד. נמנעים ממצב לא מוגדר. אבן בניין בסיסית של אוגרים (Registers) D 0
" עידון " של SR Latch: JK Latch כאשר CP=0 אין שינוי מצב כמקודם. כאשר K = 0, J = 1 : א ) המשוב מ – Q לתוך שער 1 לא משפיע היות ו – K=0. ב ) כניסות לשער 3 הינם 0 Q=1 Q’=0. כאשר K=1, J=0 נקבל Q’=1 Q=0. כאשר K=1, J=1 ? K J Q’ Q CP
(" חדש ") 1 (" חדש ") 0 ( ישן ) 1 11 0 ( חדש ) ( ישן ) Q=0 K=0 J=1 a " עידון " של SR Latch: JK Latch כאשר CP=0 אין שינוי מצב כמקודם. כאשר K = 0, J = 1 : א ) המשוב מ – Q לתוך שער 1 לא משפיע היות ו – K=0. ב ) כניסות לשער 3 הינם 0 Q=1 Q’=0. כאשר K=1, J=0 נקבל Q’=1 Q=0. כאשר K=1, J=1 ? K J Q’ Q CP
(" ישן ") 0 ( ישן ) 1 1 Q=0 K=1 J=0 b ( ישן ) 1 0 המצב " נשמר " או Reset " עידון " של SR Latch: JK Latch כאשר CP=0 אין שינוי מצב כמקודם. כאשר K = 0, J = 1 : א ) המשוב מ – Q לתוך שער 1 לא משפיע היות ו – K=0. ב ) כניסות לשער 3 הינם 0 Q=1 Q’=0. כאשר K=1, J=0 נקבל Q’=1 Q=0. כאשר K=1, J=1 ? K J Q’ Q CP
מצב Q מתהפך. אם 1=J=K=C לאורך זמן מצב Q יתהפך עוד ועוד. מעברים חוזרים ונשנים (0) (1) K=1 J=1 c " עידון " של SR Latch: JK Latch כאשר CP=0 אין שינוי מצב כמקודם. כאשר K = 0, J = 1 : א ) המשוב מ – Q לתוך שער 1 לא משפיע היות ו – K=0. ב ) כניסות לשער 3 הינם 0 Q=1 Q’=0. כאשר K=1, J=0 נקבל Q’=1 Q=0. כאשר K=1, J=1 ? K J Q’ Q CP
טבלת אמת עבור JK: Q(t)JKQ(t+1) דיאגרמת זמנים : J K CP Q Q יתהפך בין 0 ל – 1 הלוך ושוב כל זמן ש – cp=1
T (trigger) Latch מתקבל ע " י חיבור J,K ב JK-Latch למקור אחד : T = 0 J = K = 0 אין שינוי במצב T = 1 J = K = 1 היפוך מצב היפוך זה יחיד אם משך הזמן בו T = 1 הינו " קצר " QtQt TQ t QtQt D
Flip - Flops הזמן שלוקח עד שהמוצא של Latch מתייצב יכול ליצור בעיות כאשר מחברים שתי יחידות זיכרון. המוצא אינו צריך להיות תלוי בתזמון וצריך להימנע " ממצבים מתהפכים " (JK). פתרון צריך לדאוג שהמוצא יהיה יציב לפרק זמן מובטח. Flip-Flop פתרון מבוסס על Latch: שימוש בשני Latch בצורה שתבטיח שהפלט יהיה מבודד מהכניסות המשתנות : Master-Slave Flip-Flop
Master – Slave Flip - Flop כאשר M פעיל S אינו פעיל והינו זוכר את היציאות של M מהשלב ש – M היה סביל. C S Y Q אין השפעה ! S R C Q Q’ ג ב ר תג ב ר ת S R C Q ע ב דע ב ד SM S R C Q Y Y’
Master – Slave Flip - Flop כאשר M פעיל S אינו פעיל והינו זוכר את היציאות של M מהשלב ש – M היה סביל. C S Y Q אין השפעה ! 1 0 10100101 נשאר 1 נעשה פעיל 0101 S R C Q Q’ ג ב ר תג ב ר ת S R C Q ע ב דע ב ד SM S R C Q Y Y’
JK Flip-Flop: כאשר J = K = 1 היציאה Q הינה קבועה. עם עליית השעון ה Master יהפוך מצב (Y התהפך ). Q ישאר קבוע כל זמן שהשעון הינו " 1 " ו – Y ישאר קבוע לאחר עליית השעון. עם ירידת השעון הערך של Y יוכנס ל – D Latch ו – Q ישתנה. S R C Q SR Latch D C D Latch SlaveMaster J K C Q Q’ Y1Y1 Y0Y0 010 010 00 1 0 (0) (1) Q Q’
T (trigger) Flip-Flop S R C Q SR Latch D C D Latch SlaveMaster Q Q’ Q Y T D C D Latch D C D Latch SlaveMaster Q Y D Q(t+1) D(t) D (data) Flip-Flop Q(t) Q’(t+1) Q(t) T=1 T=0
טבלאות המצבים : JKQ(t+1) 00Q(t)No Change 010Reset 101Set 11Q’(t)Complement t Q(t) t+1 Q(t) שינוי של פלט שינוי של קלט JKFF SRQ(t+1) 00Q(t)No Change 010Reset 101Set 11?Undef. SRFF DQ(t+1) 00Reset 11Set DFF TQ(t+1) 0Q(t)No Change 1Q’(t)Complement TFF
דלגלגים מדורבני קצה : Edge Triggered Flip-Flops שינוי המצב מתבצע עם שינוי השעון ומתייצב אח " כ. דופק ושעון חיובי קצה שליליקצה חיובי דופק ושעון שלילי קצה חיוביקצה שלילי T s -Setup Time T h -Holdup Time CP D TnTn TsTs יציב T s +T n
כניסות ישירות : Direct Inputs כאשר המתח במעגל ספרתי " עולה " המצב של Flip Flops איננו מוגדר לכן יש לבצע אתחול. אתחול מבוצע ע " י כניסות ישירות אשר קובעות ישירות את המצב (Preset). J K Q Q’ preset / clear CP PreSetCPJKQQ’ 0 01 1 00no change 1 11flip state
מעגלים סדרתיים – תזמון : J K CP Q A J K B Out Q Q’ CP Q’ דוגמא : MSJFF YBYB YAYA Out(t) D(t-2) 2 JKFF CP YAYA QAQA YBYB QBQB