Embed
Email

Flip Flop

Document Sample
Flip Flop
Shared by: HC111211033216
Categories
Tags
Stats
views:
7
posted:
12/10/2011
language:
pages:
31
‫‪Flip Flop‬‬

‫יהודה אפק, נתן אינטרטור‬

‫אוניברסיטת תל אביב‬



‫מבוסס על הרצאות של‬

‫יורם זינגר, האוניברסיטה העברית י"ם‬

‫מערכות זיכרון – ‪Sequential Logic‬‬



‫‪Input‬‬ ‫‪Combinatorial‬‬ ‫‪Output‬‬

‫כניסות‬ ‫‪Circuit‬‬ ‫יציאות‬

‫מעגל צירופי‬ ‫‪Storage/Mem‬‬

‫יחידה זיכרון‬







‫• עד כה טיפלנו במערכות צירופיות שהינן חסרות "זיכרון" או מצב. ‪ ‬שינוי‬

‫בערכי הכניסה גורר שינוי "מיידי" (לאחר השהייה) בערכי היציאה.‬

‫• כל מחשב וכן בקרים מתוכנתים )‪ (Controllers‬מכילים זיכרון המשמש‬

‫לשמירת נתונים ולביצוע תוכניות.‬

‫• פרט למבנים כמו ‪ SDRAM,ROM‬וזיכרון בועות )‪,(Bubble memory‬‬

‫"הזיכרון" מושג ע"י שימוש במשוב )‪ (feedback‬של יחידות לוגיות.‬

‫‪Synchronous Sequential Circuits‬‬

‫"יציב" פעולת המערכת מתבצעת ב"פיקודו" של שעון וערכי המערכת נקבעים‬

‫מערכי הכניסה בנקודות זמן מסוימות שהינן תלויות שעון ‪ ‬מצב‬

‫המערכת תלוי בשעון.‬



‫‪Asynchronous Sequential Circuits‬‬

‫"מהיר" פעולות המערכת תלויות בסדר של שינוי הכניסות, מצב המערכת יכול‬

‫להשתנות בכל רגע.‬



‫‪Combinatorial‬‬

‫‪Circuit‬‬

‫‪Clock‬‬ ‫‪Memory‬‬

‫‪Pulses‬‬

‫זיכרון‬







‫1‬ ‫‪Q‬‬

‫10‬







‫01‬

‫2‬ ‫’‪Q‬‬

‫זיכרון‬



‫קלט‬ ‫1‬ ‫פלט‬ ‫=‬

‫=‬

‫0‬

‫קלט‬ ‫1‬ ‫פלט‬







‫‪R‬‬ ‫0‬

‫1‬ ‫‪Q‬‬

‫10‬







‫01‬

‫‪S‬‬

‫0‬ ‫2‬ ‫’‪Q‬‬

LAT C H

Reset O  1

R 1

0 1 Q





0

0

Set 1  2 0 Q’

S

SR–Latch

LAT C H

Reset 1

R 0 0

1 Q

0







0 1 1

S Set 0 0 2 Q’



SR–Latch

‫‪LAT C H‬‬ ‫מקודם‬



‫‪R‬‬

‫0 ‪Reset‬‬ ‫)1(‬ ‫1‬

‫1 )0(‬ ‫‪Q‬‬







‫)1(‬ ‫)0(‬ ‫0‬

‫‪S‬‬ ‫0 ‪Set‬‬ ‫2‬ ‫’‪Q‬‬

‫מקודם‬

‫‪SR–Latch‬‬

‫• נניח שניתנה פקודת ‪Set‬‬

‫‪ S=1, R=0 ‬ועתה אנו "מורידים" את הכניסות )0=‪.(S=0, R‬‬

‫• ערכי היציאה ‪" Q’, Q‬זוכרים" את פקודת ה-‪.Set‬‬

‫• באותו אופן יזכרו את ה - ‪.Reset‬‬

‫‪LAT C H‬‬

‫‪Reset‬‬ ‫1‬ ‫0‬

‫‪R‬‬ ‫0‬

‫1‬ ‫‪Q‬‬







‫0‬ ‫0‬

‫‪S‬‬ ‫‪Set‬‬ ‫1‬ ‫2‬ ‫’‪Q‬‬



‫‪SR–Latch‬‬

‫• 1=‪R=1, S‬‬

‫• כאשר הערכים יורדים ל – "0" )0=‪ (S=0, R‬הערך של ‪ Q‬ו ’‪ Q‬תלוי‬

‫‪RACE Condition ‬‬ ‫באיזה קו ישתנה ראשון‬



‫• המצב הבא נקרא לא מוגדר.‬

‫דיאגרמת זמנים:‬

‫"1"‬

‫‪Q‬‬ ‫"0"‬

‫"1"‬

‫‪S‬‬ ‫"0"‬

‫"1"‬

‫‪R‬‬ ‫"0"‬



‫טבלת אמת – מצבים:‬

‫‪S‬‬ ‫‪R‬‬ ‫‪Q‬‬ ‫’‪Q‬‬

‫0‬ ‫1‬ ‫0‬ ‫1‬

‫‪Reset State‬‬

‫0‬ ‫0‬ ‫0‬ ‫1‬

‫1‬ ‫0‬ ‫1‬ ‫0‬

‫0‬ ‫0‬ ‫1‬ ‫0‬

‫‪Set State‬‬

‫1‬ ‫1‬ ‫0‬ ‫0‬ ‫(מצב אסור) ‪Undefined‬‬

‫• ‪ Latch‬איננו פונקציה בוליאנית.‬

‫• ערכי היציאה תלויים בפעולת ‪ Set‬או ‪ Reset‬האחרונה.‬

‫• עבור כניסות )0,0( ערך היציאה נשמר קבוע כל זמן שיש מתח.‬

SR Latch with NAND

R1 0

Q



0 1

S Q’

S R Q’ Q

0 1 1 0

Set State

1 1 1 0

1 0 0 1

1 1 0 1

Reset State

0 0 1 1 Undefined

1

Set Command 0



1

Reset Command 0

SR Latch with NAND

R1 0

Q



0 1

S Q’

S R Q’ Q

0 1 1 0

Set State

1 1 1 0

1 0 0 1

1 1 0 1

Reset State

0 0 1 1 Undefined

1

Set Command 0



1

Reset Command 0

:‫ מבוקר שעון‬SR Latch

R 0

R Q

1

Clock Pulse CP 1

0



S S Q’

0

S

R

CP



Q C S R Next Q

0   No change

1 1 0 Q=1

1 0 1 Q=0

1 1 1 Undef

1 0 0 No change

‫‪D (data) Latch‬‬

‫1‬ ‫1‬

‫‪D‬‬ ‫0‬ ‫1‬

‫0‬ ‫‪Q‬‬

‫1 ‪CP‬‬

‫1‬

‫0‬ ‫1‬ ‫’‪Q‬‬

‫0‬ ‫'‪D‬‬

‫‪C‬‬ ‫‪D‬‬ ‫‪Next State of Q‬‬

‫0‬ ‫‪‬‬ ‫‪No change‬‬

‫1‬ ‫0‬ ‫)‪Q = 0 (Reset‬‬

‫1‬ ‫1‬ ‫)‪Q = 1 (Set‬‬



‫• ‪ Latch D‬הינו יחידה שאוגרת / "זוכרת" ביט יחיד.‬

‫• נמנעים ממצב לא מוגדר.‬

‫• אבן בניין בסיסית של אוגרים )‪.(Registers‬‬

‫‪ D Latch‬אינו מספיק !!‬





‫‪Input‬‬ ‫‪Combinatorial‬‬ ‫‪Output‬‬

‫כניסות‬ ‫‪Circuit‬‬ ‫יציאות‬

‫מעגל צירופי‬ ‫‪D‬‬ ‫‪Q‬‬

‫‪C‬‬

‫‪P‬‬ ‫‪Q‬‬

‫’‬





‫מחזור שעון ארוך והמעגל יחליף את מצבו מספר פעמים !!!‬

‫‪Flip - Flops‬‬

‫• הזמן שלוקח עד שהמוצא של ‪ Latch‬מתייצב יכול ליצור בעיות‬

‫כאשר מחברים שתי יחידות זיכרון.‬

‫• המוצא אינו צריך להיות תלוי בתזמון וצריך להימנע "ממצבים‬

‫מתהפכים" )‪.(JK‬‬

‫• פתרון צריך לדאוג שהמוצא יהיה יציב לפרק זמן מובטח.‬



‫‪ Flip-Flop‬פתרון מבוסס על ‪:Latch‬‬

‫• שימוש בשני ‪ Latch‬בצורה שתבטיח שהפלט יהיה מבודד‬

‫מהכניסות המשתנות:‬

‫‪Master-Slave Flip-Flop‬‬

Master – Slave Flip - Flop

M S

Y

S S Q S Q Q



C Y’ C

R R Q’ R Q’ Q’





C









‫) אינו פעיל והינו זוכר את היציאות של‬slave( S ‫( פעיל‬master) M ‫• כאשר‬

.‫ היה סביל‬M – ‫ מהשלב ש‬M

C

S



Y

Q

!‫אין השפעה‬

‫‪Master – Slave Flip - Flop‬‬

‫1‬

‫‪M‬‬ ‫נשאר 1‬ ‫‪S‬‬

‫‪Y‬‬

‫‪S‬‬ ‫1‪0‬‬ ‫‪Q‬‬

‫‪S‬‬ ‫‪Q‬‬ ‫‪S‬‬ ‫‪Q‬‬

‫‪C‬‬ ‫’‪Y‬‬ ‫‪C‬‬

‫‪R‬‬ ‫‪R‬‬ ‫’‪Q‬‬ ‫‪R‬‬ ‫’‪Q‬‬ ‫’‪Q‬‬





‫‪C‬‬

‫נעשה פעיל‬

‫0‬ ‫0‪1‬‬ ‫1‪0‬‬



‫• כאשר ‪ M‬פעיל ‪ S‬אינו פעיל והינו זוכר את היציאות של ‪ M‬מהשלב ש – ‪M‬‬

‫היה סביל.‬

‫‪C‬‬

‫‪S‬‬



‫‪Y‬‬

‫‪Q‬‬

‫אין השפעה!‬

!! ‫ מספיק‬Master/Slave Flip Flop



Input Combinatorial

‫כניסות‬ Circuit M S

S Y Q

S Q S Q

‫ מעגל צירופי‬R C Y’ C

R Q R Q

C ’ ’

‫‪JK Latch‬‬

‫•"עידון" של ‪:SR Latch‬‬

‫‪K‬‬ ‫1‬ ‫3‬ ‫‪Q‬‬

‫‪CP‬‬

‫‪J‬‬ ‫2‬ ‫4‬ ‫’‪Q‬‬





‫• כאשר 0=‪ CP‬אין שינוי מצב כמקודם.‬

‫• כאשר 1 = ‪: K = 0 , J‬‬

‫א) המשוב מ – ‪ Q‬לתוך שער 1 לא משפיע היות ו – 0=‪.K‬‬

‫ב) כניסות לשער 3 הינם 0,0 ‪.Q’=0  Q=1 ‬‬

‫• כאשר 0=‪ K=1, J‬נקבל 0=‪.Q’=1 Q‬‬

‫• כאשר 1=‪? K=1, J‬‬

‫‪Q=0 K=0 J=1 a‬‬

‫‪JK Latch‬‬

‫•"עידון" של ‪:SR Latch‬‬

‫0‬ ‫0‬ ‫(חדש)‬ ‫("חדש") 1‬

‫‪K‬‬ ‫1‬ ‫0 ‪1‬‬ ‫3‬ ‫‪Q‬‬

‫1‬ ‫(ישן)‬

‫‪CP‬‬ ‫1‬ ‫("חדש") 0‬

‫‪J‬‬ ‫1 2‬ ‫1‬ ‫4‬ ‫’‪Q‬‬

‫1‬ ‫(ישן) 1‬



‫• כאשר 0=‪ CP‬אין שינוי מצב כמקודם.‬

‫• כאשר 1 = ‪: K = 0 , J‬‬

‫א) המשוב מ – ‪ Q‬לתוך שער 1 לא משפיע היות ו – 0=‪.K‬‬

‫ב) כניסות לשער 3 הינם 0,0 ‪.Q’=0  Q=1 ‬‬

‫• כאשר 0=‪ K=1, J‬נקבל 0=‪.Q’=1 Q‬‬

‫• כאשר 1=‪? K=1, J‬‬

‫‪Q=0 K=1 J=0 b‬‬

‫המצב‬ ‫‪JK Latch‬‬

‫"נשמר"‬

‫או ‪Reset‬‬ ‫•"עידון" של ‪:SR Latch‬‬

‫("ישן") 0‬

‫1‬ ‫0‬ ‫0‬ ‫0‬

‫‪K‬‬ ‫1‬ ‫3‬

‫1‬ ‫‪( Q‬ישן) 0‬

‫‪CP‬‬ ‫0‬ ‫1‬

‫(ישן)1‬

‫‪J‬‬ ‫0 2‬ ‫0‬ ‫4‬ ‫’‪Q‬‬

‫0‬ ‫(ישן) 1‬



‫• כאשר 0=‪ CP‬אין שינוי מצב כמקודם.‬

‫• כאשר 1 = ‪: K = 0 , J‬‬

‫א) המשוב מ – ‪ Q‬לתוך שער 1 לא משפיע היות ו – 0=‪.K‬‬

‫ב) כניסות לשער 3 הינם 0,0 ‪.Q’=0  Q=1 ‬‬

‫• כאשר 0=‪ K=1, J‬נקבל 0=‪.Q’=1 Q‬‬

‫• כאשר 1=‪? K=1, J‬‬

‫1=‪K=1 J‬‬ ‫‪c‬‬

‫‪JK Latch‬‬

‫•"עידון" של ‪:SR Latch‬‬

‫1‬ ‫0‬

‫‪K‬‬ ‫1‬ ‫3‬ ‫0 ‪Q‬‬

‫‪CP‬‬ ‫)1(‬

‫0‬

‫‪J‬‬ ‫2‬ ‫0‬ ‫4‬ ‫1‬ ‫1 ’‪Q‬‬

‫)0(‬

‫• כאשר 0=‪ CP‬אין שינוי מצב כמקודם.‬

‫• כאשר 1 = ‪: K = 0 , J‬‬

‫א) המשוב מ – ‪ Q‬לתוך שער 1 לא משפיע היות ו – 0=‪.K‬‬

‫ב) כניסות לשער 3 הינם 0,0 ‪.Q’=0  Q=1 ‬‬

‫• כאשר 0=‪ K=1, J‬נקבל 0=‪.Q’=1 Q‬‬

‫• כאשר 1=‪? K=1, J‬‬

‫מצב ‪ Q‬מתהפך.‬

‫אם ‪ 1=J=K=C‬לאורך זמן מצב ‪ Q‬יתהפך עוד ועוד.‬

‫‪ ‬מעברים חוזרים ונשנים.‬

‫טבלת אמת עבור ‪:JK‬‬

‫)‪Q(t‬‬ ‫‪J‬‬ ‫‪K‬‬ ‫)1+‪Q(t‬‬

‫0‬ ‫0‬ ‫0‬ ‫0‬

‫0‬ ‫0‬ ‫1‬ ‫0‬

‫0‬ ‫1‬ ‫0‬ ‫1‬

‫0‬ ‫1‬ ‫1‬ ‫1‬

‫1‬ ‫0‬ ‫0‬ ‫1‬

‫1‬ ‫0‬ ‫1‬ ‫0‬

‫1‬ ‫1‬ ‫0‬ ‫1‬

‫1‬ ‫1‬ ‫1‬ ‫0‬

‫דיאגרמת זמנים:‬

‫‪J‬‬

‫‪K‬‬

‫‪CP‬‬



‫‪Q‬‬

‫‪ Q‬יתהפך בין 0 ל –1 הלוך ושוב כל זמן ש – 1=‪cp‬‬

‫‪T (trigger) Latch‬‬

‫• מתקבל ע"י חיבור ‪ J,K‬ב ‪ JK-Latch‬למקור אחד:‬

‫0 = ‪ T = 0  J = K‬אין שינוי במצב‬

‫1 = ‪ T = 1  J = K‬היפוך מצב‬

‫היפוך זה יחיד אם משך הזמן בו 1 = ‪ T‬הינו "קצר"‬



‫‪Qt‬‬ ‫‪T‬‬ ‫1+‪Qt‬‬ ‫‪Qt‬‬ ‫‪D‬‬ ‫1+‪Qt‬‬

‫0‬ ‫0‬ ‫0‬ ‫0‬ ‫0‬ ‫0‬

‫0‬ ‫1‬ ‫1‬ ‫0‬ ‫1‬ ‫1‬

‫1‬ ‫0‬ ‫1‬ ‫1‬ ‫0‬ ‫0‬

‫1‬ ‫1‬ ‫0‬ ‫1‬ ‫1‬ ‫1‬

‫:‪JK Flip-Flop‬‬

‫01‬

‫‪Master‬‬ ‫‪Slave‬‬

‫01‬ ‫1‪Y‬‬ ‫0‪‬‬ ‫1‬

‫1 ‪J‬‬ ‫‪S‬‬

‫‪SR‬‬

‫‪Q‬‬ ‫‪D‬‬

‫‪D‬‬

‫‪Q‬‬ ‫)0( ‪Q‬‬

‫1‬ ‫‪C‬‬

‫‪Latch‬‬ ‫0‪Y‬‬ ‫‪Latch‬‬

‫‪K‬‬ ‫0‬ ‫‪R‬‬ ‫‪C‬‬ ‫’‪Q‬‬ ‫)1( ’‪Q‬‬

‫1‬ ‫0‬

‫0‬

‫‪C‬‬

‫1‪0‬‬ ‫0‪1‬‬



‫• כאשר 1 = ‪ J = K‬היציאה ‪ Q‬הינה קבועה.‬



‫• עם עליית השעון ה ‪ Master‬יהפוך מצב (‪ Y‬התהפך).‬



‫• ‪ Q‬ישאר קבוע כל זמן שהשעון הינו "1" ו – ‪ Y‬ישאר קבוע לאחר עליית‬

‫השעון.‬



‫• עם ירידת השעון הערך של ‪ Y‬יוכנס ל – ‪ D Latch‬ו – ‪ Q‬ישתנה.‬

T (trigger) Flip-Flop

Master Y Slave

S SR Q D D Q Q

T C Latch Latch

R C Q’ Q’







Q(t) T=1 Q’(t+1)

T=0

Q(t) Q(t)

D (data) Flip-Flop

Master Y Slave

D D

D

D

D

Q

Latch

C Latch C







Q(t+1)  D(t)

:‫טבלאות המצבים‬



t t+1

Q(t) Q(t)

‫שינוי‬ ‫שינוי‬

‫של‬ ‫של‬

‫קלט‬ ‫פלט‬



JKFF SRFF

J K Q(t+1) S R Q(t+1)

0 0 Q(t) No Change 0 0 Q(t) No Change

0 1 0 Reset 0 1 0 Reset

1 0 1 Set 1 0 1 Set

1 1 Q’(t) Complement 1 1 ? Undef.



DFF TFF

D Q(t+1) T Q(t+1)

0 0 Reset 0 Q(t) No Change

1 1 Set 1 Q’(t) Complement

‫דלגלגים מדורבני קצה:‬

‫‪Edge Triggered Flip-Flops‬‬

‫•שינוי המצב מתבצע עם שינוי השעון ומתייצב אח"כ.‬



‫דופק ושעון חיובי‬



‫קצה חיובי‬ ‫קצה שלילי‬





‫דופק ושעון שלילי‬



‫קצה שלילי‬ ‫קצה חיובי‬



‫‪Ts-Setup Time‬‬

‫‪CP‬‬



‫‪D Ts‬‬ ‫‪Tn‬‬ ‫‪Th-Holdup Time‬‬

‫יציב ‪Ts+Tn‬‬

‫כניסות ישירות:‬

‫‪Direct Inputs‬‬

‫• כאשר המתח במעגל ספרתי "עולה" המצב של ‪ Flip Flops‬איננו מוגדר לכן‬

‫יש לבצע אתחול.‬

‫• אתחול מבוצע ע"י כניסות ישירות אשר קובעות ישירות את המצב )‪.(Preset‬‬



‫‪preset / clear‬‬

‫‪J‬‬ ‫‪Q‬‬

‫‪CP‬‬

‫‪K‬‬ ‫’‪Q‬‬



‫‪PreSet‬‬ ‫‪CP‬‬ ‫‪J‬‬ ‫‪K‬‬ ‫‪Q‬‬ ‫’‪Q‬‬

‫0‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫0‬ ‫1‬

‫1‬ ‫‪‬‬ ‫0‬ ‫0‬ ‫‪no change‬‬

‫1‬ ‫‪‬‬ ‫0‬ ‫1‬ ‫0‬ ‫1‬

‫1‬ ‫‪‬‬ ‫1‬ ‫0‬ ‫1‬ ‫0‬

‫1‬ ‫‪‬‬ ‫1‬ ‫1‬ ‫‪flip state‬‬

:‫תזמון‬

MSJFF :‫דוגמא‬

MSJFF

YA YB

 J Q J Q Out

CP A Q’ CP

K

B Q’ Out(t)

K

D(t-2)

 2JKFF





CP

YA

QA

YB

QB


Related docs
Other docs by HC111211033216
Curriculum Modifier�s Toolkit
Views: 0  |  Downloads: 0
Libro de texto
Views: 2  |  Downloads: 0
Slide 1
Views: 0  |  Downloads: 0
Tesis1
Views: 1  |  Downloads: 0
JAG AIR MECHANICAL
Views: 1  |  Downloads: 0
A�o 4, N� 701
Views: 8  |  Downloads: 0
APROBACI�N DE ACTAS
Views: 30  |  Downloads: 0
By registering with docstoc.com you agree to our
privacy policy

You are almost ready to download!

You are almost ready to download!