Presentation is loading. Please wait.

Presentation is loading. Please wait.

מבוסס על הרצאות של יורם זינגר, האוניברסיטה העברית י"ם

Similar presentations


Presentation on theme: "מבוסס על הרצאות של יורם זינגר, האוניברסיטה העברית י"ם"— Presentation transcript:

1 מבוסס על הרצאות של יורם זינגר, האוניברסיטה העברית י"ם
Flip Flop יהודה אפק, נתן אינטרטור אוניברסיטת תל אביב מבוסס על הרצאות של יורם זינגר, האוניברסיטה העברית י"ם חובר בספטמבר 2001

2 מערכות זיכרון – Sequential Logic
Input כניסות Combinatorial Circuit מעגל צירופי Output יציאות Storage/Mem יחידה זיכרון עד כה טיפלנו במערכות צירופיות שהינן חסרות "זיכרון" או מצב.  שינוי בערכי הכניסה גורר שינוי "מיידי" (לאחר השהייה) בערכי היציאה. כל מחשב וכן בקרים מתוכנתים (Controllers) מכילים זיכרון המשמש לשמירת נתונים ולביצוע תוכניות. פרט למבנים כמו SDRAM,ROM וזיכרון בועות (Bubble memory), "הזיכרון" מושג ע"י שימוש במשוב (feedback) של יחידות לוגיות. חובר בספטמבר 2001

3 Synchronous Sequential Circuits
פעולת המערכת מתבצעת ב"פיקודו" של שעון וערכי המערכת נקבעים מערכי הכניסה בנקודות זמן מסוימות שהינן תלויות שעון  מצב המערכת תלוי בשעון. Asynchronous Sequential Circuits פעולות המערכת תלויות בסדר של שינוי הכניסות, מצב המערכת יכול להשתנות בכל רגע. "יציב" "מהיר" Combinatorial Circuit Memory Clock Pulses חובר בספטמבר 2001

4 זיכרון 1 Q 1 1 2 Q’ חובר בספטמבר 2001

5 = = זיכרון Q Q’ קלט 1 פלט 1 פלט קלט R 1 1 1 S 2
= קלט 1 פלט 1 פלט קלט R 1 Q 1 1 We can see that: R=1 => Q=0 and that S=1 => Q’=0, and after that the other one is stabilized. S 2 Q’ חובר בספטמבר 2001

6 L A T C H S R – L a t c h 1 R Q Q’ S 1 2 Reset Set O  1 
1  actually, this unit’s supposed to hold one of 2 situations: (Q,Q’) = (0,1) or (Q,Q’) = (1,0) When we run a “set” command (a momentary (R,S) = (0,1) and then back to (0,0)) will cause the unit to go into (Q,Q’) = (1,0) When we run a “reset” command (a momentary (R,S) = (1,0) and then back to (0,0)) will cause the unit to go into (Q,Q’) = (0,1) חובר בספטמבר 2001

7 L A T C H 1 2 S R – L a t c h Reset Set R S Q’ Q 1 חובר בספטמבר 2001

8 L A T C H S R – L a t c h 1 R Q Q’ S מקודם Reset (1) 1 (0) 2 Set
(0) 1 (1) מקודם נניח שניתנה פקודת Set  S=1, R=0 ועתה אנו "מורידים" את הכניסות (S=0, R=0). ערכי היציאה Q’, Q "זוכרים" את פקודת ה-Set. באותו אופן יזכרו את ה - Reset. חובר בספטמבר 2001

9 L A T C H S R – L a t c h R S Q’ Q 1 Reset 1 2 Set R=1, S=1
כאשר הערכים יורדים ל – "0" (S=0, R=0) הערך של Q ו Q’ תלוי באיזה קו ישתנה ראשון RACE Condition  המצב הבא נקרא לא מוגדר. 1 חובר בספטמבר 2001

10 דיאגרמת זמנים: טבלת אמת – מצבים: Reset State Set State Undefined
"1" Q "0" "1" S "0" "1" R "0" טבלת אמת – מצבים: S R Q Q’ 1 Reset State Set State Undefined (מצב אסור) Latch איננו פונקציה בוליאנית. ערכי היציאה תלויים בפעולת Set או Reset האחרונה. עבור כניסות (0,0) ערך היציאה נשמר קבוע כל זמן שיש מתח. חובר בספטמבר 2001

11 SR Latch with NAND R Q Q’ S Set State Reset State Undefined
1 R S Q’ Q 1 S R Q’ Q 1 Set State Reset State Undefined 1 Set Command Reset Command חובר בספטמבר 2001

12 SR Latch with NAND R Q Q’ S Set State Reset State Undefined
1 R S Q’ Q 1 S R Q’ Q 1 Set State Reset State Undefined 1 Set Command Reset Command חובר בספטמבר 2001

13 SR Latch מבוקר שעון: R Q CP Q’ S R 1 1 S S R CP Q Clock Pulse C S R
Clock Pulse S R CP Q C S R Next Q No change 1 Q = 1 Q = 0 Undef חובר בספטמבר 2001

14 D (data) Latch D Q CP Q’ Latch D הינו יחידה שאוגרת / "זוכרת" ביט יחיד.
1 D Q’ Q CP 1 D' Q = 1 (Set) Q = 0 (Reset) No change Next State of Q 1 C D notice we’re now in an SR latch with NAND Latch D הינו יחידה שאוגרת / "זוכרת" ביט יחיד. נמנעים ממצב לא מוגדר. אבן בניין בסיסית של אוגרים (Registers). חובר בספטמבר 2001

15 D Latch אינו מספיק !! D Q CP Q’
Input כניסות Combinatorial Circuit מעגל צירופי Output יציאות D Q’ Q CP מחזור שעון ארוך והמעגל יחליף את מצבו מספר פעמים !!! חובר בספטמבר 2001

16 Flip - Flops הזמן שלוקח עד שהמוצא של Latch מתייצב יכול ליצור בעיות כאשר מחברים שתי יחידות זיכרון. המוצא אינו צריך להיות תלוי בתזמון וצריך להימנע "ממצבים מתהפכים" (JK). פתרון צריך לדאוג שהמוצא יהיה יציב לפרק זמן מובטח. Flip-Flop פתרון מבוסס על Latch: שימוש בשני Latch בצורה שתבטיח שהפלט יהיה מבודד מהכניסות המשתנות: Master-Slave Flip-Flop חובר בספטמבר 2001

17 Master – Slave Flip - Flop
C Q Q’ ג ב ר ת ע ב ד M Y Y’ כאשר (master) M פעיל S (slave) אינו פעיל והינו זוכר את היציאות של M מהשלב ש – M היה סביל. C S Y Q אין השפעה! חובר בספטמבר 2001

18 Master – Slave Flip - Flop
1 10 01 נשאר 1 נעשה פעיל S R C Q Q’ ג ב ר ת ע ב ד M Y Y’ כאשר M פעיל S אינו פעיל והינו זוכר את היציאות של M מהשלב ש – M היה סביל. C S Y Q אין השפעה! חובר בספטמבר 2001

19 Master/Slave Flip Flop מספיק !!
Input כניסות Combinatorial Circuit מעגל צירופי M S Y S S R C Q Q’ ג ב ר ת S R C Q Q’ ע ב ד Q Y’ R Q’ C חובר בספטמבר 2001

20 JK Latch "עידון" של SR Latch: K Q CP Q’ J 1 3 4 2
כאשר K = 0 , J = 1 : א) המשוב מ – Q לתוך שער 1 לא משפיע היות ו – K=0. ב) כניסות לשער 3 הינם 0,0  Q=1  Q’=0. כאשר K=1, J=0 נקבל Q’=1 Q=0. כאשר K=1, J=1 ? חובר בספטמבר 2001

21 JK Latch "עידון" של SR Latch: K Q CP Q’ J ("חדש") 1 (חדש) 1 3 1 1
1 ("חדש") 1 ("חדש") 0 (ישן) 1 1 (חדש) (ישן) Q=0 K=0 J=1 a JK Latch "עידון" של SR Latch: K J Q’ Q CP 3 4 1 2 כאשר CP=0 אין שינוי מצב כמקודם. כאשר K = 0 , J = 1 : א) המשוב מ – Q לתוך שער 1 לא משפיע היות ו – K=0. ב) כניסות לשער 3 הינם 0,0  Q=1  Q’=0. כאשר K=1, J=0 נקבל Q’=1 Q=0. כאשר K=1, J=1 ? חובר בספטמבר 2001

22 JK Latch "עידון" של SR Latch: K Q CP Q’ J המצב "נשמר" 1 1 3 4 2
("ישן") 0 (ישן) 1 Q=0 K=1 J=0 b (ישן) המצב "נשמר" או Reset JK Latch "עידון" של SR Latch: K J Q’ Q CP 3 4 1 2 כאשר CP=0 אין שינוי מצב כמקודם. כאשר K = 0 , J = 1 : א) המשוב מ – Q לתוך שער 1 לא משפיע היות ו – K=0. ב) כניסות לשער 3 הינם 0,0  Q=1  Q’=0. כאשר K=1, J=0 נקבל Q’=1 Q=0. כאשר K=1, J=1 ? חובר בספטמבר 2001

23 JK Latch "עידון" של SR Latch: K Q CP Q’ J 1 1 3 (1) 4 2 (0)
אם 1=J=K=C לאורך זמן מצב Q יתהפך עוד ועוד.  מעברים חוזרים ונשנים. 1 (0) (1) K=1 J= c JK Latch "עידון" של SR Latch: K J Q’ Q CP 3 4 1 2 כאשר CP=0 אין שינוי מצב כמקודם. כאשר K = 0 , J = 1 : א) המשוב מ – Q לתוך שער 1 לא משפיע היות ו – K=0. ב) כניסות לשער 3 הינם 0,0  Q=1  Q’=0. כאשר K=1, J=0 נקבל Q’=1 Q=0. כאשר K=1, J=1 ? חובר בספטמבר 2001

24 טבלת אמת עבור JK: דיאגרמת זמנים:
Q(t) J K Q(t+1) 1 דיאגרמת זמנים: J K CP Q Q יתהפך בין 0 ל –1 הלוך ושוב כל זמן ש – cp=1 חובר בספטמבר 2001

25 T (trigger) Latch מתקבל ע"י חיבור J,K ב JK-Latch למקור אחד:
T = 0  J = K = 0 אין שינוי במצב T = 1  J = K = 1 היפוך מצב היפוך זה יחיד אם משך הזמן בו T = 1 הינו "קצר" Qt T Qt+1 1 Qt D Qt+1 1 חובר בספטמבר 2001

26 JK Flip-Flop: Slave Master J K Q’ Y1 Y0 01 1 10 10 0 (0) (1)
C Q SR Latch D Slave Master J K Q’ Y1 Y0 01 1 10 10 0 (0) (1) כאשר J = K = 1 היציאה Q הינה קבועה. עם עליית השעון ה Master יהפוך מצב (Y התהפך). Q ישאר קבוע כל זמן שהשעון הינו "1" ו – Y ישאר קבוע לאחר עליית השעון. עם ירידת השעון הערך של Y יוכנס ל – D Latch ו – Q ישתנה. חובר בספטמבר 2001

27 T (trigger) Flip-Flop D (data) Flip-Flop Slave Master Q’ Y T
C Q SR Latch D Slave Master Q’ Y T Q(t) Q’(t+1) Q(t) Q(t) T=1 T=0 D (data) Flip-Flop D C Latch Slave Master Q Y Q(t+1)  D(t) חובר בספטמבר 2001

28 טבלאות המצבים: JKFF SRFF DFF TFF t Q(t) t+1 Q(t) שינוי של קלט
שינוי של פלט JKFF SRFF J K Q(t+1) Q(t) No Change 1 Reset Set Q’(t) Complement S R Q(t+1) Q(t) No Change 1 Reset Set ? Undef. DFF TFF D Q(t+1) Reset 1 Set T Q(t+1) Q(t) No Change 1 Q’(t) Complement חובר בספטמבר 2001

29 Edge Triggered Flip-Flops
דלגלגים מדורבני קצה: Edge Triggered Flip-Flops שינוי המצב מתבצע עם שינוי השעון ומתייצב אח"כ. דופק ושעון חיובי קצה חיובי קצה שלילי דופק ושעון שלילי קצה שלילי קצה חיובי Ts-Setup Time CP Ts Tn Th-Holdup Time D יציב Ts+Tn חובר בספטמבר 2001

30 כניסות ישירות: Direct Inputs
כאשר המתח במעגל ספרתי "עולה" המצב של Flip Flops איננו מוגדר לכן יש לבצע אתחול. אתחול מבוצע ע"י כניסות ישירות אשר קובעות ישירות את המצב (Preset). preset / clear J Q CP K Q’ PreSet CP J K Q Q’ 1 no change flip state חובר בספטמבר 2001

31 תזמון: B A דוגמא: MSJFF MSJFF YA YB  Out Out(t) D(t-2)  2JKFF  CP
Q J Out A B Q CP CP K Q’ K Q’ Out(t) D(t-2) 2JKFF CP YA QA YB QB חובר בספטמבר 2001


Download ppt "מבוסס על הרצאות של יורם זינגר, האוניברסיטה העברית י"ם"

Similar presentations


Ads by Google