מכונת מצבים סופית תרגול מס' 4 1
מכונת מצבים סופית Finite State Machine (FSM) מודל למערכת ספרתית מכונת מצבים סופית: קלט: סדרה אינסופית של אותיות...,I3,I1,I2 בא"ב input out פלט: סדרה אינסופית של אותיות O בא"ב 1, O2, O3,... O i במחזור ה- i, מתקבלת אות הקלט I i ומשודרת אות הפלט I I 1, 2,..., Ii 1 I1, I2,..., I i במכונה מסוג מור,)Moore( במכונה מסוג מילי,)Meally( נקבע ע"י נקבע ע"י O i O i מכונת מצבים מוגדרת ע"י דיאגרמת מצבים: גרף מכוון, עם סימון על הקשתות והצמתים. 2
דוגמה ל- FSM א"ב קלט: {A,B,C,D} B A C א"ב פלט {X,Y,Z} A Out = X A Out = Y Out = (IN == B)? X : Z A B,D B,C,D C,D מצב התחלתי יסומן כך: מכונה היא מסוג מילי אם ורק אם יש בה מצב אחד או יותר עם פלט מותנה Out = X B,C,D 3
מכונה מצומצמת שתי מכונות מצבים סופיות ת קר אנה שקולות אם עבור כל סדרת קלט הן מוציאות את אותה סדרת פלט מכונת מצבים סופית תקרא מצומצמת אם יש לה מספר מינימלי של מצבים מבין כל המכונות השקולות לה. משפט: עבור כל מכונה M, קיימת בדיוק מכונה מצומצמת אחת השקולה ל- M. 4
דוגמה למכונה מצומצמת 1 0 Out = 0 1 0 Out = 1-IN המכונה הבאה שקולה למכונה הנ"ל, ומכילה מספר גדול יותר של מצבים: 1 0 Out = 0 0 Out = 1-IN 0 Out = 1-N 1 1 5
דוגמא 1 לבניית מכונת מצבים - ABC א"ב קלט: {A,B,C,D} א"ב פלט: {X,Y,Z} הפלט הוא Z אם "המילה האחרונה" שהתקבלה היא ABC הפלט הוא Y אם "המילה האחרונה" שהתקבלה היא AB הפלט הוא X בכל מקרה אחר למשימה שתי גרסאות: בגרסת מור, המילה האחרונה לא כוללת את אות הקלט הנוכחית. בגרסת מילי, המילה האחרונה כוללת את אות הקלט הנוכחית. אנו נפתור את גרסת מור. 6
דיאגרמת המצבים 7
דוגמא 2 מחלק ב- 3 המשימה: המערכת מקבלת מספר טבעי y x ומשדרת מספר טבעי y, כך ש-,x הקלט והפלט בינאריים. בכל מחזור נקלט ונפלט ביט אחד, החל מה- MSB למשימה שתי גרסאות בגרסת מילי, ה- LSB של y משודרת באותו מחזור שעון שבו נקלטת ה- LSB של x בגרסת מור, ה- LSB של y משודרת מחזור אחד לאחר מחזור השעון שבו נקלטת ה- LSB של x נפתור את גרסת מילי. 3 8
בדרך כלל למשימה חישובית יש שתי גרסאות. בהמשך נראה שיטה כללית לעבור מפתרון אחד למשנהו. 9
סימונים: דוגמא 2 מחלק ב- 3 : : : I i O i x i y i ביט הקלט הנוכחי ביט הפלט הנוכחי )במחזור ה- i ( : ערכו של המספר שנקלט עד ערכו של המספר ששודר עד )וכולל( המחזור ה- i )וכולל( המחזור ה- i מתברר שהמערכת צריכה לזכור רק את נובע מעובדה שנוכיח בהמשך: מ- r i ו- I i בלבד ניתן לחשב את ו- i+1.r r i O i def x i mod3 יש שלושה ערכים אפשריים ל- r, i 3 מצבים. ולכן ל- FSM יהיו 10
.r i+1 ו- O i הוכחת הטענה: מ- r i ו- I i בלבד ניתן לחשב את מההגדרה, r. x 3y לכן : i i i x 2x I 6y 2r I i 1 i i 1 i i i 1 r 2r I mod3 i 1 i i 1 O i 1 2ri I 3 i 1 11
דיאגרמת המצבים שלושה מצבים בהתאם לערך של r r =0 r=1 r=2 0 1 0 Out = 0 Out = In Out = 1 1 0 1 Moshe Malka 12
שלבי יישום מערכת ספרתית מדיאגרמת המצבים.1.2.3.1.2.3.4.5 13 קידוד א"ב של הקלט כמילים בינאריות ברוחב אחיד קידוד א"ב של הפלט כמילים בינאריות ברוחב אחיד קידוד המצבים כמילים בינאריות ברוחב אחיד. אופן פעולת המערכת: המערכת תפעל במשטר התזמון הבו-זמני המצב הנוכחי יאוחסן ברגיסטר לא-מותנה אשר נקרא רגיסטר מצב. אין רגיסטרים נוספים. לוגיקות צירופיות יחשבו את הפלט ואת המצב הבא. תיאור פונקצית המעברים ופונקצית הפלט כטבלאות אמת. בניית לוגיקות צירופיות )או )ROM לחישוב הפונקציות.
יישום סטנדרטי של FSM ע"י מערכת ספרתית מכונת מור הפלט תלוי רק במצב In N.S Comb. Logic State Register Output Comb. Logic Out מכונת מילי הפלט תלוי במצב ובקלט In N.S + Output Comb. Logic Out State Register 14
תזכורת: דיאגרמת המצבים של דוגמא 1 15
קידוד המכונה קידוד הקלט: א"ב קלט A B C D קידוד 00 01 10 11 קידוד הפלט: א"ב פלט קידוד 00 X 01 Y 10 Z 16
תיאור פונקציית המעברים ופונקציית הפלט כטבלת אמת פונקציית מעבר בין מצבים: פונקציית הפלט: output 00 (X) 01(Y) 10(Z) 00(X) מצב נוכחי 00 00 00 קלט 00 01 10 מצב הבא 00 01 11 מצב 00 01 10 11 17
םי- כל מערכת ספרתית במשטר התזמון הבו-זמני אפשר לפרש כ- FSM. מספר ה- FF -ים במערכת חוסם את מספר המצבים במכונה: במערכת עם, FF n מספר המצבים קטן מ- 2 n אם אין במערכת מסלול צירופי מהכניסה ליציאה אזי ה- FSM הוא מסוג מור. אם קיים מסלול צירופי כזה, ה- FSM מסוג מור או מילי. עשוי להיות 18
שיטה לתרגום בין פתרונות מור ומילי של "אותה" משימה עבור שתי מכונות מקדימה את M, M ו- M )מסוגים כלשהם(, ו- M מפגרת אחר M אם: ו- M ל- M 1. יש אותו א"ב קלט ואותו א"ב פלט. נאמר ש- M 2. לכל סדרת קלט, סדרת הפלט של M מקדימה את זו של M במחזור אחד, ופרט לכך הן זהות. טענה 1: לכל מכונה M )מכל סוג( יש מכונת מור M שמפגרת אחריה. טענה 2: לכל מכונה M מסוג מור יש מכונה M שמקדימה אותה. M. לפעמים מסוג מור ולפעמים מסוג מילי. הסוג נקבע ע"י M 19
:M המכונה M מפגרת אחר In Out M In Out M 20
:M המכונה M מקדימה את M In N.S Comb. Logic State Register Output Comb. Logic Out M In N.S Comb. Logic State Register Output Comb. Logic Out 21