– © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT Tutorial #7 Preventing combinatorial loops
מילי / מור L1L1 next state Moore FSM L2L2 STATESTATE OutIn L next_state Mealy FSM STATESTATE In STATE מכיל את המצב הנוכחי של ה FSM. L, L 1, ו L 2 הן לוגיקות צירופיות לאו דווקא ROM. משטר התזמון הבו-זמני – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT
Mealy vs Moore OutIn L next_state Mealy FSM STATESTATE DataPath חסרונות Mealy לא בטוחים במסלולים צירופיים. הם יכולים לעבור בצורה כלשהי זה עלול להאריך זמן מחזור מעגלים צירופיים! – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT יתרונות Mealy פחות מצבים משתמשים לשם הפחתת זמן חישוב
מסלולים צירופיים ב FSM מילי/מור L1L1 next state Moore FSM L2L2 STATESTATE OutIn L next_state Mealy FSM STATESTATE In DataPath – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT
מסלולים צירופיים ב FSM מילי/מור L1L1 next state Moore FSM L2L2 STATESTATE OutIn L next_state Mealy FSM STATESTATE In DataPath – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT
מעגלים צירופיים ZERO x x y y M4M4 M4=1 ZERO Somewhere in the DP… Somewhere in the Control’s flow chart… במערכת יש בודאות מעגל צירופי: המוצא M4 של הבקר תלוי בערך הנוכחי של הכניסה ZERO חייב להיות בבקר מסלול צירופי מ- ZERO ל 4M. ב-DP יש מסלול צירופי מכניסת הבקרה של M4 למוצא ZERO. שני מסלולים אלו מהווים ביחד מעגל צירופי – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT
מעגלים צירופיים ZERO x x y y M4M4 M4=1 everywhere in the Control’s flow chart… הנחה חדשה: הבקר אמנם מסוג Mealy אבל אין לו את המצב הנ"ל, ואות הפלט M4 שלו כלל לא מותנה בקלט. האם יש בבקר מסלול צירופי מ- ZERO ל- M4? O I L STATESTATE – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT
דוגמא: אותות סטטוס ה-DP הם: a, b ו-c אותות הבקרה הם: y y = f(a, b, c) = a Λ b אין מסלול ב-DP מסוגים y ← a או y ← b שאלה: האם יש מעגל צירופי אם מממשים את הבקר כ-Mealy? – © Dima Elenbogen 2009 Technion - IIT
דוגמא: אותות סטטוס ה-DP הם: a, b ו-c אותות הבקרה הם: y y = f(a, b, c) = a Λ b אין מסלול ב- DPמסוגים y ← a או y ← b האם יש מעגל צירופי אם מממשים את הבקר כ-Mealy? ROM a b c y a b y c – © Dima Elenbogen 2009 Technion - IIT
מניעת מעגלים ברמה של יחידות אנו מעונינים לתאר את המערכת כרשת מכוונת של יחידות (תת- מערכות), ולא של שערים ו-FF-ים. מסיבת הסתרת מידע, אנו רוצים לדעת כמה שפחות על יחידות אלו. בעיה: מצד אחד, מעגל צירופי הוא מעגל מכוון של שערים ומצד שני אנו לא רוצים לתאר את המערכת ברמה של שערים. כלומר, אנו מעונינים ש: 1.לא יהיה מעגל צירופי במערכת 2.עובדה זו תובטח מתאור המערכת ברמה של יחידות – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT
יחידות מילי ויחידות מור יחידות חישוביות סדרתיות מסווגות כדלקמן: סוג Moore = מובטח שאין מסלול צירופי בין קלט לפלט ובפרט: רגיסטר הוא מסוג Moore. סוג Mealy = לא מובטח שלא קיים מסלול צירופי בין קלט לפלט ובפרט: לוגיקה צירופית היא מסוג Mealy נתייחס למבנה המערכת ברמת יחידות כגרף מכוון G. הגדרות: מסלול Mealy – מסלול מכוון ב-G שכל הצמתים שלו מסוג Mealy. מעגל Mealy – מעגל מכוון ב-G שכל הצמתים שלו מסוג Mealy. גרף G מקיים את קריטריון Mealy אם"ם ב-G אין מעגל Mealy – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT
קריטריון מילי תמיד נניח (ונדאג לכך) שבכל יחידה בנפרד אין מעגל צירופי. במקום לוודא שאין במערכת מעגל צירופי, נוודא שאין ב- G מעגל Mealy כי אם מערכת מקיימת את הקריטריון אזי אין בה מעגל צירופי. שימו לב: ההפך אינו נכון – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT
קריטריון מילי תמיד נניח (ונדאג לכך) שבכל יחידה בנפרד אין מעגל צירופי. במקום לוודא שאין במערכת מעגל צירופי, נוודא שאין ב- G מעגל Mealy. אם מערכת מקיימת את הקריטריון אזי אין בה מעגל צירופי. שימו לב: ההפך אינו בהכרח נכון – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT
קריטריון מילי תמיד נניח (ונדאג לכך) שבכל יחידה בנפרד אין מעגל צירופי. במקום לוודא שאין במערכת מעגל צירופי, נוודא שאין ב- G מעגל Mealy. אם מערכת מקיימת את הקריטריון אזי אין בה מעגל צירופי. שימו לב: ההפך אינו בהכרח נכון.
קריטריון מילי תמיד נניח (ונדאג לכך) שבכל יחידה בנפרד אין מעגל צירופי. במקום לוודא שאין במערכת מעגל צירופי, נוודא שאין ב- G מעגל Mealy. אם מערכת מקיימת את הקריטריון אזי אין בה מעגל צירופי. שימו לב: ההפך אינו בהכרח נכון.
– © Yohai Devir 2007 Technion - IIT פרוק הבקר ליחידות קריטריון Mealy תלוי באופן החלוקה של המערכת ליחידות. יתכן שאותה מערכת: תקיים את הקריטריון עבור חלוקה מסוימת. לא תקיים אותו עבור חלוקה אחרת.
– © Yohai Devir 2007 Technion - IIT פרוק הבקר ליחידות קריטריון Mealy תלוי באופן החלוקה של המערכת ליחידות. יתכן שאותה מערכת: תקיים את הקריטריון עבור חלוקה מסוימת. לא תקיים אותו עבור חלוקה אחרת.
– © Yohai Devir 2007 Technion - IIT פרוק הבקר ליחידות קריטריון Mealy תלוי באופן החלוקה של המערכת ליחידות. יתכן שאותה מערכת: תקיים את הקריטריון עבור חלוקה מסוימת. לא תקיים אותו עבור חלוקה אחרת. עבור מערכת בקר ומסלול נתונים: לפעמים ניתן לקיים את הקריטריון רק ע"י שינוי מבנה הבקר, בלי שינוי תוכנית הפעולה ודיאגרמת המצבים של הבקר.
דוגמא נתונה מערכת של בקר (מסוג Mealy ) ו- DP. למערכת אותות STATUS והוראה רבים. ב - DP יש מסלולים צירופיים מרוב כניסות הבקרה לרוב יציאות הבקרה. כאשר הבקר הוא יחידה אחת, הקריטריון לא מתקיים. הנחות: לבקר יש רק שני פלטים מותנים: a ו- b. a מותנה רק בקלט x ו- b רק בקלט y. ב- DP אין מעגל Mealy, ב- DP אין מסלולי Mealy מהסוגים הבאים: a x, b x, b y – © Dima Elenbogen 2009 Technion - IIT
– © Yohai Devir 2007 Technion - IIT דוגמא הנחות: לבקר יש רק שני פלטים מותנים: a ו- b. a מותנה רק בקלט x ו- b רק בקלט y. ב- DP אין מעגל Mealy, ב- DP אין מסלולי Mealy מהסוגים הבאים: a x, b x, b y x L Other Control signals STATESTATE C.S. y Other status b a
– © Yohai Devir 2007 Technion - IIT דוגמא הנחות: לבקר יש רק שני פלטים מותנים: a ו- b. a מותנה רק בקלט x ו- b רק בקלט y. ב- DP אין מעגל Mealy, ב- DP אין מסלולי Mealy מהסוגים הבאים: a x, b x, b y x L Other Control signals STATESTATE C.S. y Other status b a אם הבקר הוא יחידה אחת – אז הוא יחידת...
– © Yohai Devir 2007 Technion - IIT דוגמא הנחות: לבקר יש רק שני פלטים מותנים: a ו- b. a מותנה רק בקלט x ו- b רק בקלט y. ב- DP אין מעגל Mealy, ב- DP אין מסלולי Mealy מהסוגים הבאים: a x, b x, b y x L Other Control signals STATESTATE C.S. y Other status b a
– © Yohai Devir 2007 Technion - IIT דוגמא הנחות: לבקר יש רק שני פלטים מותנים: a ו- b. a מותנה רק בקלט x ו- b רק בקלט y. ב- DP אין מעגל Mealy, ב- DP אין מסלולי Mealy מהסוגים הבאים: a x, b x, b y x L Other Control signals STATESTATE C.S. y Other status b a
– © Yohai Devir 2007 Technion - IIT דוגמא הנחות: לבקר יש רק שני פלטים מותנים: a ו- b. a מותנה רק בקלט x ו- b רק בקלט y. ב- DP אין מעגל Mealy, ב- DP אין מסלולי Mealy מהסוגים הבאים: a x, b x, b y x L Other Control signals STATESTATE C.S. y Other status b a
– © Yohai Devir 2007 Technion - IIT דוגמא הנחות: לבקר יש רק שני פלטים מותנים: a ו- b. a מותנה רק בקלט x ו- b רק בקלט y. ב- DP אין מעגל Mealy, ב- DP אין מסלולי Mealy מהסוגים הבאים: a x, b x, b y x L Other Control signals STATESTATE C.S. y Other status b a
– © Yohai Devir 2007 Technion - IIT דוגמא הנחות: לבקר יש רק שני פלטים מותנים: a ו- b. a מותנה רק בקלט x ו- b רק בקלט y. ב- DP אין מעגל Mealy, ב- DP אין מסלולי Mealy מהסוגים הבאים: a x, b x, b y x DP Other Control signals y Other status b a
– © Yohai Devir 2007 Technion - IIT דוגמא נפרק את הבקר לשלושה חלקים x L Other Control signals C.S. y Other status b a STATESTATE C1 STATUS כולל x ו - y הוראה פרט ל a ו- b
– © Yohai Devir 2007 Technion - IIT דוגמא נפרק את הבקר לשלושה חלקים x L Other Control signals C.S. y Other status b a STATESTATE C1 STATE x C2 a STATUS כולל x ו - y הוראה פרט ל a ו- b
– © Yohai Devir 2007 Technion - IIT דוגמא נפרק את הבקר לשלושה חלקים x L Other Control signals C.S. y Other status b a STATESTATE C1 STATE x C2 a STATUS כולל x ו - y הוראה פרט ל a ו- b y C3 b
– © Yohai Devir 2007 Technion - IIT דוגמא C1 STATE x C2 a STATUS כולל x ו - y הוראה פרט ל a ו- b y C3 b x DP Other Control signals y Other status b a עם מבנה זה המערכת מקימת את קריטריון Mealy, כי: אין מעגל העובר דרך C3 אין מעגל העובר דרך.C2
– © Yohai Devir 2007 Technion - IIT דוגמא – מסלולים אחרים C1 STATE x C2 a STATUS כולל x ו - y הוראה פרט ל a ו- b y C3 b x DP Other Control signals y Other status b a
– © Yohai Devir 2007 Technion - IIT דוגמא – מסלולים אחרים C1 STATE x C2 a STATUS כולל x ו - y הוראה פרט ל a ו- b y C3 b x DP Other Control signals y Other status b a
– © Yohai Devir 2007 Technion - IIT דוגמא – מסלולים אחרים C1 STATE x C2 a STATUS כולל x ו - y הוראה פרט ל a ו- b y C3 b x DP Other Control signals y Other status b a ?
דוגמא שניה לפניכם חלק מ- DP וחלק מתרשים הזרימה של בקר מילי: b תלוי ב- x c תלוי ב- x וב- yx תלוי ב- a y תלוי ב- b – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT
דוגמא שנייה ניסיון
a → x → control → a – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT
דוגמא שנייה ניסיון ב' נשים לב שהאות a שהבקר מוציא הוא לא פלט מותנה – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT
דוגמא שנייה ניסיון ב' נשים לב שהאות a שהבקר מוציא הוא לא פלט מותנה b → y → c1 → b – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT
דוגמא שנייה ניסיון ג' – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT