Digital Logic Systems 8

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 19

‫פרק ‪ :8‬מערכות עקיבה‬

‫מערכת עקיבה‬ ‫מערכת צירופית‬


‫(‪)Sequential Logic‬‬ ‫(‪)Combinational Logic‬‬
‫מערכת צירופית ‪ +‬זיכרון‬ ‫ערכי הפלט תלויים אך ורק בערכים‬
‫ערכי הפלט תלויים בערכי הקלט ‪ +‬תוכן‬ ‫הנוכחיים של משתני הקלט‪.‬‬
‫הזיכרון של המערכת ("ההיסטוריה")‬

‫‪X‬‬ ‫מערכת‬ ‫‪Z‬‬


‫צירופית‬ ‫מערכת‬
‫‪X‬‬ ‫‪Z‬‬
‫צירופית‬
‫‪y‬‬
‫‪Z  f X ‬‬
‫זיכרון‬ ‫‪Y‬‬

‫‪Z  f  X , y‬‬
‫‪Y  f  X , y‬‬
‫‪1‬‬
‫מערכות עקיבה‬
‫מערכת עקיבה נמצאת בכל רגע נתון ב"מצב" מסוים‪.‬‬ ‫‪‬‬

‫המצב מיוצג ע"י ערכי הזיכרון של מערכת העקיבה‪.‬‬ ‫‪‬‬

‫המערכת יכולה לעבור ממצב אחד למצב אחר‪ ,‬בתלות‬ ‫‪‬‬

‫במצב ובכניסות‪.‬‬
‫מערכת עקיבה סינכרונית יכולה לעבור ממצב אחד למצב‬ ‫‪‬‬

‫אחר רק בזמנים מסוימים‪.‬‬


‫המערכת מקבלת אות שעון‪ ,‬והשעון קובע מתי עשוי‬ ‫‪‬‬

‫להתרחש מעבר בין מצבים‪.‬‬


‫‪CL‬‬

‫‪R‬‬
‫‪2‬‬
‫‪803‬‬
‫דוגמה ‪: 1‬‬

‫כדוגמא להמחשת ההבדלים בין מערכת צירופית למערכת עקיבה נשווה בין שני‬
‫המנעולים הבאים‪:‬‬

‫‪9‬‬ ‫‪1‬‬ ‫‪4‬‬


‫‪8‬‬ ‫‪0‬‬ ‫‪3‬‬
‫‪7‬‬ ‫‪9‬‬ ‫‪2‬‬

‫מנעול סידרתי (כספת)‬ ‫מנעול צירופי (מזוודה)‬


‫‪3‬‬
‫מנעול צירופי מול מנעול סדרתי‬

‫מערכת עקיבה‬ ‫מערכת עקיבה‬ ‫מערכת צירופית‬


‫אסינכרונית‬ ‫אסינכרונית‬ ‫(מכנית)‬
‫(מכנית)‬ ‫(אלקטרונית)‬
‫‪4‬‬
‫‪803‬‬
‫דוגמה ‪( 1‬המשך)‪:‬‬
‫תאור סכמטי‪:‬‬

‫‪Safe‬‬ ‫‪z‬‬
‫‪x‬‬ ‫‪Lock‬‬
‫‪Dial State‬‬ ‫‪Control‬‬
‫‪0,1,...,9‬‬

‫בהנחה שהסדרה ‪ 8 → 0 → 3‬היא זו שתפתח את הכספת אזי‬


‫מצבי מערכת העקיבה (מצבי הזיכרון) הם‪:‬‬

‫מצב התחלתי – לא הופיעה עדיין שום תת סדרה נכונה‪.‬‬ ‫מצב ‪:A‬‬


‫הספרה הראשונה בסדרה (‪ )8‬הופיעה‪.‬‬ ‫מצב ‪:B‬‬
‫הספרה השנייה בסדרה (‪ )0‬הופיעה‪ .‬כלומר קיבלנו עד עכשיו ‪.80‬‬ ‫מצב ‪:C‬‬

‫‪5‬‬
‫‪Safe‬‬ ‫‪z‬‬
‫דוגמה ‪( 1‬המשך)‪:‬‬
‫‪x‬‬ ‫‪Lock‬‬
‫‪Dial State‬‬ ‫‪Control‬‬
‫‪0,1,...,9‬‬

‫• מוצא ‪ Z=1‬פותח את הכספת‪ .‬כל עוד ‪ ,Z=0‬הכספת סגורה‪.‬‬


‫• נתאר את פעולת המערכת ע"י דיאגרמת מצבים )‪:(State Diagram‬‬

‫‪X,X8‬‬
‫‪X8/Z=0‬‬ ‫‪/Z=0‬‬
‫‪X=8/Z=0‬‬ ‫‪X=8/Z=0‬‬
‫‪X=8/Z=0‬‬
‫‪A‬‬ ‫‪B‬‬ ‫‪C‬‬
‫‪X=0/Z=0‬‬
‫‪X,X8‬‬
‫‪/Z=0‬‬

‫‪X=3/Z=1‬‬

‫נניח שהכניסה נדגמת בזמנים קצובים המתואמים עם הופעת איברי סדרת הקלט‪.‬‬
‫המערכת מתחילה מן המצב ההתחלתי ‪.A‬‬ ‫‪6‬‬
‫דוגמה ‪: 2‬‬
‫דוגמה‪ :‬מסכם בינרי טורי‬
‫‪lsb‬‬
‫‪X1‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬
‫‪serial adder‬‬ ‫‪z‬‬
‫‪X2‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬

‫של‬ ‫‪lsb‬‬ ‫המסכם הטורי עובד תחת בקרת שעון (‪ .)Clock‬בזמן ‪ t1‬הוא מחשב את ה‪-‬‬
‫התוצאה; בזמן ‪ t 2‬הוא מחשב את ספרת "העשרות"‪ ,‬וכו'‪:‬‬

‫‪t5‬‬ ‫‪t4‬‬ ‫‪t3‬‬ ‫‪t2‬‬ ‫‪t1‬‬


‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪X1‬‬

‫‪+‬‬
‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪X2‬‬

‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪Z‬‬


‫‪7‬‬
‫‪lsb‬‬

‫דוגמה ‪( 2‬המשך)‪:‬‬
‫‪X1‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬
‫‪serial adder‬‬ ‫‪z‬‬
‫‪X2‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬

‫היציאה תלויה לא רק בכניסות‪ ,‬אלא גם בזיכרון‪ :‬למשל‪ ,‬בזמנים ‪ t 5 , t1‬נקבל עבור אותן‬
‫כניסות יציאות שונות‪ .‬כנ"ל בזמנים ‪ t 3‬ו‪ . t 4 -‬מדוע? כי היציאה בזמן ‪ ti‬תלויה גם‬
‫בכניסה בזמן ‪ t i‬וגם בנשא מזמן ‪ . ti  1‬למערכת העקיבה יהיו לפיכך שני מצבים‬
‫שיתאימו לנשא ‪ 0‬ו‪ 1 -‬בהתאמה‪ .‬בדוגמה שלנו‪ A ,‬יציין נשא ‪ 0‬ו‪ B-‬יציין נשא ‪.1‬‬
‫דיאגרמת המצבים (מסוג ‪ )Mealy‬של המסכם הבינרי הטורי היא‪:‬‬

‫‪00/0‬‬ ‫‪11/1‬‬

‫‪11/0‬‬
‫‪A‬‬ ‫‪B‬‬
‫‪00/1‬‬

‫‪01,10/1‬‬ ‫‪01,10/0‬‬

‫החיצים מתארים את המעברים האפשריים‪ ,‬כאשר הסימון על החיצים הינו‬

‫‪  X 1 X 2 / z‬סיביות ‪ X 1‬ו ‪X 2 ‬‬


‫יציאה ‪‬‬
‫כניסות הגורמות‬ ‫מתאימה‬ ‫‪8‬‬
‫למעברהמתאים‬
‫‪0 0 /0‬‬ ‫‪1 1 /1‬‬

‫‪A‬‬
‫‪1 1 /0‬‬

‫‪0 0 /1‬‬
‫‪B‬‬
‫טבלת מצבים‬
‫‪0 1 ,1 0 /1‬‬ ‫‪0 1 ,1 0 /0‬‬

‫פעולת המערכת (מכונת המצבים) ניתנת לתיאור גם באמצעות טבלת מצבים‪:‬‬

‫)‪NS (Next State), z (Output‬‬

‫‪Input‬‬
‫)‪PS (Present State‬‬
‫‪00‬‬ ‫‪01‬‬ ‫‪11‬‬ ‫‪10‬‬

‫‪A‬‬ ‫‪A,0‬‬ ‫‪A,1‬‬ ‫‪B,0‬‬ ‫‪A,1‬‬

‫‪B‬‬ ‫‪A,1‬‬ ‫‪B,0‬‬ ‫‪B,1‬‬ ‫‪B,0‬‬

‫‪ ‬כל שורה מתאימה למצב בו המערכת יכולה להימצא‪.‬‬


‫‪ ‬כל עמודה מתאימה לצירוף מסוים של משתני כניסה‪.‬‬
‫‪ ‬זוג הערכים בטבלה הינו המצב הבא והיציאה הנוכחית המתקבלים מהמצב הנוכחי‬
‫עם הכניסות המתאימות‪.‬‬
‫‪9‬‬
‫)‪NS (Next State), z (Output‬‬

‫הקצאת מצבים‬
‫)‪PS (Present State‬‬ ‫‪00‬‬ ‫‪01‬‬ ‫‪11‬‬ ‫‪10‬‬

‫‪A‬‬ ‫‪A,0‬‬ ‫‪A,1‬‬ ‫‪B,0‬‬ ‫‪A,1‬‬

‫‪B‬‬ ‫‪A,1‬‬ ‫‪B,0‬‬ ‫‪B,1‬‬ ‫‪B,0‬‬

‫לצורך מימוש נקצה לכל מצב צירוף סיביות (במקום השמות ‪ .)… ,B ,A‬כאן מספיקה‬
‫סיבית אחת‪ . B  1 A  0 :‬סיבית זו תצוין ב‪ . y -‬ערכה החדש יהיה ‪:Y‬‬

‫‪PS‬‬ ‫‪Next State Y‬‬ ‫‪Output z‬‬

‫‪y‬‬ ‫‪00‬‬ ‫‪01‬‬ ‫‪11‬‬ ‫‪10‬‬ ‫‪00‬‬ ‫‪01‬‬ ‫‪11‬‬ ‫‪10‬‬

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

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

‫טבלת מעברים‬ ‫טבלת יציאה‬


‫‪X‬‬ ‫‪Z‬‬

‫‪yti  1   Y ti ‬‬ ‫‪ y‬ייקרא משתנה מצב ומתקיים‪:‬‬


‫‪y‬‬ ‫‪Y‬‬
‫‪10‬‬
‫‪PS‬‬ ‫‪Next State Y‬‬ ‫‪Output z‬‬

‫הקצאת מצבים (המשך)‬


‫‪y‬‬ ‫‪00‬‬ ‫‪01‬‬ ‫‪11‬‬ ‫‪10‬‬ ‫‪00‬‬ ‫‪01‬‬ ‫‪11‬‬ ‫‪10‬‬

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

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

‫טבלת מעברים‬ ‫טבלת יציאה‬

‫כלומר‪ ,‬ערכו של ‪ Y‬עתה הינו ערכו של ‪ y‬בצעד הבא (במצב הבא)‪.‬‬


‫‪X‬‬ ‫‪Z‬‬
‫עם הקצאת המצבים‪ ,‬נוכל לבטא את ‪ z‬ואת ‪ Y‬כפונקציה של‬
‫הכניסות ושל ‪:y‬‬
‫‪y‬‬ ‫‪Y‬‬

‫‪Y    y , x1 , x2 ‬‬ ‫פונקציית המעבר‪:‬‬


‫‪z    y, x1 , x2 ‬‬ ‫פונקציית היציאה‪:‬‬
‫בדוגמה‪:‬‬
‫‪x1, x2‬‬ ‫‪x1, x2‬‬
‫‪00‬‬ ‫‪01‬‬ ‫‪11‬‬ ‫‪10‬‬ ‫‪00‬‬ ‫‪01‬‬ ‫‪11‬‬ ‫‪10‬‬
‫‪y‬‬ ‫‪y‬‬
‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬
‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬

‫‪Y  y x1  y x2  x1 x2‬‬ ‫‪z  y  x1  x2‬‬


‫‪11‬‬
‫דוגמה ‪( 2‬המשך)‪:‬‬
‫פונקציות המעבר והיציאה שהתקבלו בדוגמה מתאימות ל‪ .Full Adder -‬לכן‬
‫המערכת תמומש כדלקמן‪:‬‬
‫‪z‬‬
‫‪x1‬‬ ‫‪A‬‬
‫‪x2‬‬ ‫‪Full S‬‬
‫‪B‬‬ ‫‪Adder‬‬
‫‪Cin‬‬ ‫‪Co‬‬

‫‪Combinational‬‬
‫‪Logic‬‬

‫‪y‬‬ ‫‪Y‬‬
‫‪D-FF‬‬

‫‪Clock‬‬

‫ערכו ההתחלתי של ‪( D‬או ‪ )y‬הינו ‪ .0‬בדרך כלל נשמיט את ציור כניסת השעון לאלמנט‬
‫ההשהיה‪ .‬קצב הגעת הכניסות ‪ x1‬ו‪ x2 -‬צריך להיות מתואם עם השעון‪.‬‬

‫‪12‬‬
‫‪X‬‬ ‫‪Z‬‬
‫‪CL‬‬
‫‪y‬‬ ‫‪Y‬‬
‫הגדרת ‪FSM‬‬
‫‪R‬‬
‫מערכת העקיבה ממומשת ע"י מכונת מצבים סופית‬ ‫‪‬‬
‫)‪ .(Finite State-Machine, FSM‬מערכת כזו מוגדרת באמצעות מרכיביה הבאים‪:‬‬
‫קבוצה סופית של מצבים }‪ .S={s1,s2,…,sk‬אחד מהם נקבע כמצב ההתחלתי‪ .‬ניתן‬ ‫‪‬‬
‫לייצג ‪ k‬מצבים ע"י ‪ K=log2(k)‬משתני מצב בינאריים‪.‬‬

‫קבוצה סופית של כניסות בינאריות }‪X={x1,x2,…,xL‬‬ ‫‪‬‬

‫קבוצה סופית של יציאות בינאריות }‪Z={z1,z2,…,zM‬‬ ‫‪‬‬

‫פונקציית מעבר )‪ (SXS‬המגדירה לכל צירוף של מצב נוכחי ‪ si‬וערכי הכניסות‬ ‫‪‬‬
‫‪ x1,x2,…,xL‬את המצב הבא *‪.si‬‬

‫פונקציית יציאה )‪ MEALY(SXZ‬המגדירה לכל צירוף של מצב נוכחי ‪ si‬וערכי הכניסות‬ ‫‪‬‬
‫‪ x1,x2,…,xL‬את ערכי היציאות ‪.z1,z2,…,zM‬‬

‫תזמוני כניסה ‪ tS, tH‬ותזמוני יציאה ‪.tcC-Q, tpC-Q‬‬ ‫‪‬‬

‫מכונת מצבים כזו קרויה ע"ש ‪ .Mealy‬לעומתה‪ ,‬במכונת ‪ Moore‬שונה פונקציית‬ ‫‪‬‬
‫היציאה והיא תלויה במצב הנוכחי בלבד‪.MOORE(SZ) :‬‬
‫‪13‬‬
‫מכונת מצבים – סכימה כללית‬
‫‪X1‬‬ ‫‪Z1‬‬
‫‪XL‬‬ ‫‪ZM‬‬
‫‪Combinational Logic‬‬

‫‪ -‬משתני כניסה;‬ ‫‪x1 ....x L‬‬

‫‪y1‬‬ ‫‪Y1‬‬ ‫‪ -‬משתני יציאה;‬ ‫‪z1 ...z M‬‬


‫‪D‬‬
‫‪ -‬משתני מצב‪.‬‬ ‫‪y1... yK‬‬
‫‪y2‬‬ ‫‪Y2‬‬
‫‪D‬‬ ‫‪ -‬ערכי המצב הבא‪.‬‬ ‫‪Y1...YK‬‬

‫‪yK‬‬ ‫‪YK‬‬
‫‪D‬‬

‫‪14‬‬
?Mealy ‫ או‬Moore – ‫מכונת מצבים‬
COMBINATIONAL
INPUTS LOGIC
(OUT)
OUTPUTS
=F(PS, IN)
COMBINATIONAL
LOGIC
(NEXT STATE)
MEALY
PRESENT NEXT STATE
STATE FSM
FLIP FLOPS

COMBINATIONAL
INPUTS LOGIC OUTPUTS
(OUT)
=F(PS)
COMBINATIONAL
LOGIC
(NEXT STATE)
MOORE
PRESENT NEXT
STATE STATE FSM
FLIP
FLOPS 15
‫ זמן המחזור‬:‫תזמון במכונת מצבים‬

INPUTS COMBINATIONAL
OUTPUTS
LOGIC

tpd

PRESENT NEXT
STATE STATE

FLIP
FLOPS
tpC-Q ts

:T ‫משך מחזור השעון‬ CLOCK


T  tpC-Q+tpd(CL)+ts(R) 16
‫ של כניסות‬SETUP ‫ זמן‬:‫תזמון במכונת מצבים‬

INPUTS COMBINATIONAL
OUTPUTS
LOGIC

PRESENT NEXT
STATE STATE

FLIP
FLOPS
ts
ts(input)  tpd(CL)+ts(R)
CLOCK
17
‫‪INPUTS‬‬ ‫‪COMBINATIONAL‬‬
‫‪OUTPUTS‬‬
‫‪LOGIC‬‬

‫‪PRESENT‬‬
‫‪STATE‬‬

‫‪FLIP‬‬
‫‪FLOPS‬‬
‫‪NEXT‬‬
‫‪STATE‬‬
‫כללי התזמון‬
‫‪CLOCK‬‬

‫בכדי להבטיח פעולה תקינה של מערכת עקיבה יש‬ ‫‪‬‬

‫להקפיד על‪:‬‬
‫משך מחזור השעון ‪:T‬‬ ‫‪‬‬

‫)‪T  tpC-Q+tpd(CL)+tS(R‬‬
‫הכניסות למערכת הצירופית צריכות להיות תקפות‬ ‫‪‬‬

‫בערכים הנכונים במשך )‪:tS(input‬‬


‫)‪tS(input)  tpd(CL)+ tS(R‬‬
‫‪ tcd‬במערכת הצירופית צריך להיות ארוך מ‪ tH-‬של‬ ‫‪‬‬

‫הזיכרונות‪.‬‬

‫‪18‬‬
‫‪lsb‬‬

‫דוגמה ‪( 2‬המשך)‪:‬‬
‫‪X1‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬
‫‪serial adder‬‬ ‫‪z‬‬
‫‪X2‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬

‫דיאגרמת המצבים של מימוש המסכם הבינרי הטורי כמכונת ‪ MOORE‬תיראה כך‪:‬‬

‫‪10, 01‬‬
‫‪00‬‬
‫)‪A(c=0‬‬ ‫‪11‬‬ ‫)‪D(c=1‬‬
‫‪z=0‬‬ ‫‪z=0‬‬

‫‪01 , 10‬‬ ‫‪11‬‬


‫‪00‬‬ ‫‪00‬‬ ‫‪11‬‬ ‫‪10,0 1‬‬

‫)‪B(c=0‬‬ ‫)‪C(c=1‬‬
‫‪z=1‬‬ ‫‪00‬‬ ‫‪z=1‬‬

‫‪10, 01‬‬ ‫‪11‬‬

‫לכאורה‪ 4 ,‬מצבים יצריכו ‪ 2‬משתני מצב‪ .‬נסו לממש את המכונה ותגלו הפתעה!‬
‫‪19‬‬

You might also like