סיכום קורס מערכות לוגיות ספרתיות

25
1 תתתתת תתתת תתתתתת תתתתתת תתתתתתת:1 . תתתת תתתתתת תתת' תתתתתתת: תתתתתת תתתתת תתתתת תת תתתתתת תתתתתתת:תתתת( תתתתתתת10 .) תתתת( תתתתתתת2 .) תתתת( תתתתתתתת8 .) תתתת( תתתתתתתתתתתת16 .) תתת תתתתת תתת תתתת תתתת תתתת תתתתת תת תתתתת. תתתתת תתת תתתתת תתתתתr תתתr-1 . תתתתת, תתתתת תתת תתתתת תתת' תתתתתתת תתת1 . תתת' תתתתתתתתתתתת16 תתתתת, תתתת,10 תתתתתתתת תתתת0 .. 9 , - תתתתת תתת תתתתת תA..F . תתתתתת תתתתתתתת תתת תת תתתתתת תתת תתתת תתתתתתת. תתתת תתתתת תת תתתת תתתתת תתתתת תתתתת תתתתת תת תתתת תתת. תתתתתת תתתתת תתתת תתתתתת: תתתת תתת תתתת תתתתת תתתתת תתתתת תתתתת תתתתתת. תתתת תתת תתתת תתתתת תתתתתת תתתתת תתתתת תתתתת. תתתת תתת תתתתתת תתתתת תתתתת תתת תת תתתת. תתתת תתת תתתת תתתתת תתתתת תתתתת תתתתתת: תתתת תתתתתr תתתתתת תתתתת תתתתתת תתת תתתת תתתתת תתתתתתת תתתתתת תת.... תת תתתת... תתתת תתת תתתת תתתתת תתתתתת תתתתת תתתתת תתתתת: תתתתת תתתתת תתתתתת תתתתתr , תתתתתת תתתת תת תתתתתתתתת תתת:N תתתתת תתתתת תתתתתת.1 . תתתתתת תתN - תr , תתתתת תת תתתתת. תתתתתת תתתתתתת תתתת תתתתתת תתת תתתת...

Upload: galone1235

Post on 08-Aug-2015

2.836 views

Category:

Documents


44 download

TRANSCRIPT

Page 1: סיכום קורס מערכות לוגיות ספרתיות

1

סיכום קורס מערכות לוגיות ספרתיות:

. הצגת מספרים במע' ספרתיות: 1

קיימים ארבעה סוגים של מערכות ספרתיות:(.10עשרונית )בסיס (.2בינארית )בסיס

(.8אוקטאלית )בסיס (.16הקסאדצימאלית )בסיס

. כלומר,r-1 היא rבכל מערכת כזו ניתן לתאר מספר כקובץ של ספרות. הספרה הכי גדולה בבסיס הראשונות10 ספרות, ולכן, 16. במע' הקסאדצימאלית 1הספרה הכי גדולה במע' בינארית היא

. המערכת העשרונית היא זו המוכרת לנו מחיי היומיום.A..F, ולאחר מכן נעבור ל- 9..0יהיו

ניתן להציג כל מספר הנתון בבסיס כלשהו בצורה של בסיס אחר. קיימים שלושה סוגי מעברים:מעבר בין מספר בבסיס כשלהו למספר בבסיס עשרוני.מעבר בין מספר בבסיס עשרוני למספר בבסיס כלשהו.

מעבר בין בסיסים שהינם חזקות אחד של השני.

מעבר בין מספר בבסיס כלשהו לבסיס עשרוני: המיוצג כאוסף הספרות הבאrמספר בבסיס

שקול למספר העשרוני המחושב כך...

.

כך למשל...

מעבר בין מספר בבסיס עשרוני למספר בבסיס כלשהו:, עליחנו לבצע את האלגוריתם הבא:rבמעבר מבסיס עשרוני לבסיס

N –.המספר בבסיס עשרוני וכן לשנייה , חילוק עם שארית. לשארית הראשונה נקרא r ב- N. מחלקים את 1

הלאה....N. למספר החדש שהתקבל מהחלוקה נקרא 2.N=0 עד אשר 1,2. נבצע את שלבים 3. יהיה: r. המספר בבסיס 4

כך למשל...

מעבר בין בסיסים שהינם חזקות אחד של השני:

Page 2: סיכום קורס מערכות לוגיות ספרתיות

2

, ונתרגם כל קב' לספרה בבסיסLSB ביטים החל מה-n, נאגד קב' של לבסיס rבמעבר מבסיס החדש.

ביטים בבסיס החדש.n, נתרגם כל ספרה לקב' של r לבסיס במעבר ההפוך מבסיס כך למשל...

ולהיפך...

כאשר אנחנו מנסים לייצג מספר עשרוני )דהיינו, שבר( בבסיסים שונים, שיטת העבודה משתנה במעט. עבור מעבר בין מספר בבסיס כלשהו למספר בבסיס עשרוני, שיטת החישוב תהיה זהה, והחזקות יהיו שליליות. גם כאשר אנחנו עוברים בין בסיסים שאחד מהם הוא חזקה של השני,

השיטה תהיה דומה. ההבדל היחיד הוא בשיטת המעבר מבסיס עשרוני לבסיס כלשהו.

מעבר של מספר עשרוני מבסיס כלשהו לבסיס עשרוני:, עליחנו לבצע את האלגוריתם הבא:rבמעבר מבסיס עשרוני לבסיס

N.החלק העשרוני של המספר המקורי -.r ב- N. מכפילים את 1 )החלק השלם(. לחלק השלםradix point את הספרה שמשמאל ל- N. מסירים מ- 2

וכן הלאה... לשני הראשון נקרא . )או עד אשר נבחר להפסיק(.N=0 עד אשר 1,2. נבצע את שלבים 3. יהיה: r. המספר בבסיס 4

כך למשל...

קיימות דרכים נוספות להציג מספרים:

.BCDקוד קוד ממושקל.

.Excess-3קוד .grayקוד

: BCD קוד קוד זה מציג כל מספר בעזרת אפסים ואחדים בדומה לקוד בינארי, אולם כאן, כל ארבעה ביטים מייצגים ספרה בבסיס עשרוני. דהיינו, כל ארבעה ביטים הם מילה בבסיס בינארי המייצגת ספרה

אחת.כך למשל...

קוד ממושקל:

Page 3: סיכום קורס מערכות לוגיות ספרתיות

3

בקוד מסוג זה, לכל ספרה משקל בהתאם למיקומה.כך למשל...

: Excess-3 קוד בקוד זה, ניתן לייצג מספר הנתון בבסיס עשרוני באופן הבא:

.3מוסיפים לכל ספרה .1.BCDמעבירים את המספר ל .2

כיוון שע"י החלפת כל האחדים באפסים ולהיפך אנחנו מקבלים אתקוד משלים הוא 3קוד אקסס המספר המשלים למספר המקורי.

כך למשל...

קוד גריי: , דהיינו, כל מספר נבדל מאלו שלפניו ואחריו בביט אחד בדיוק. קוד זה נוצרקוד ציקליקוד זה הוא

המספרים הראשונים.8. להלן שיקוףבעזרת

,MSB 0 נוספים, נעתיק את הקיימים בסדר הפוך, נוסיף למספרים המקוריים 8בכדי ליצור ולחדשים

MSB 1.

ניתן לעבור מקוד גריי לקוד בינארי רגיל ולהיפך באופן הבא...

מעבר מקוד גריי לקוד בינארי:*.יתר הסיביות, משמאל לימין...*

. זוגי: משמאל ל- 1מספר ה- . אי-זוגי: משמאל ל- 1מספר ה-

כך למשל...

מעבר מקוד בינארי לקוד גריי:

Page 4: סיכום קורס מערכות לוגיות ספרתיות

4

*.יתר הסיביות, משמאל לימין...*

כך למשל...

כאשר אנו רוצים להציג בקוד כלשהו מספר שלילי, אנחנו יכולים לעשות זאת באחת משלוששיטות:

Sign-magnitude.[r-1 ]compliment.[r ]compliment.

נקראת סיבית הסימן, והיא משקפת את סימן המספר ללאMSBבכל השיטות הנ"ל, סיבית ה- התייחסות לגודלו. כמו כן, בכל השיטות הנ"ל, ההתייחסות לספרות לפני ואחרי הנקודה זהה.

: sign-magnitude הצגת מספר שלילי בשיטת בשיטה זו, כל מספר שלילי כתוב בערכו המוחלט עם סיבית סימן הפוכה. דהיינו...

כך למשל....

: compliment [ r-1 ] הצגת מספר שלילי בשיטת בשיטה זו כל מספר שלילי מורכב מאוסף הערכים המשלימים לערכו המוחלט. דהיינו...

כך למשל...

: compliment [ r ] הצגת מספר שלילי בשיטת המספר השלילי מורכב מתוך המספר החיובי באופן הבא:

מימין לשמאל משאירים את כל האפסים עד שמגיעים לביט שונה מאפס, ומשלימים.1.rאותו ל

.r-1את יתר הספרות משלימים ל .2כך למשל...

Page 5: סיכום קורס מערכות לוגיות ספרתיות

5

. ביצוע פעולות אריתמטיות במע' ספרתיות: 2

נדון בארבע בפעולות האריתמטיות הפשוטות:חיבור וחיסור.

כפל.חילוק.

חיבור וחיסור:חיסור הוא למעשה חיבור של מספר שלילי, ובאופן זה נתייחס אליו.

נתייחס לשני מקרים נפרדים...C(r-1)חיבור מספרים ב- C(r)חיבור מספרים ב-

.sign-magnitudeלא נבצע חיבור\חיסור בשיטת

:C(r-1)חיבור מספרים ב- בתוצאה.LSB ל- end carryמחברים את המספרים כרגיל, ומוסיפים את ה-

כך למשל...

:C(r)חיבור מספרים ב- . יש לוודא, כאשר מחברים שני מספריםend carryמחברים את המספרים כרגיל, ומתעלמים מה-

בעלי אותו סימן שלא קרתה גלישה במהלך פעולת החיבור. גלישה זו תקרה כאשר התוצאה גדולהמדי )בערך מוחלט( בכדי להיות מיוצגת במספר הביטים הדרוש.

כך למשל...

כפל: בכל שיטות ההצגה של מספרים שליליים, נקח את המספרים בערך מוחלט ונבצע כפל כרגיל. אם

התוצאה המתקבלת צריכה להיות שלילית נבצע השלמה של התוצאה.כך למשל…

Page 6: סיכום קורס מערכות לוגיות ספרתיות

6

חילוק:גם כאן, נתייחס לכל המספרים בערך מוחלט. החילוק מתבצע בשיטה של חילוק ארוך.

Page 7: סיכום קורס מערכות לוגיות ספרתיות

7

. אלגברת מיתוג: 3ענף זה של המתימטיקה מתייחס לאפסים ואחדים בלבד ולפעולות האריתמטיות ביניהם:

(andכפל )(orחיבור )

(notניגוד )להלן מספר אקסיומות הנוגעות לאלגברת מיתוג:

בסיסים שלמים: , אולם חלק מהפעולות הנ"ל ניתן להציגכל פונ' מיתוג ניתן להציג כאוסף של הפעולות

. למשל...NAND ו- NORבאמצעות פעולות אחרות כגון

צורות קנוניות:קיימות שתי צורות קנוניות:

מינתרמים.מקסתרמים.

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

:x,y,zכך למשל, המינתרמים של המשתנים .

מקסתרמים הינם כל פונ' הסכימה שניתן לבצע על מספר מסויים של משתנים, כך שבכל סכוםחייבים להופיע כל המשתנים, כפי שהם או בשלילה.

:x,y,zכך למשל, המקסתרמים של המשתנים .

( או כמכפלה שלsum of products – SOPניתן להציג כל פונ' מיתוג כסכום של מינתרמים ) (. כל מינתרם ומקסתרם מגדירים מצב ספציפי שלproduct of sums – POSמקסתרמים )

', ורק מקסתרם אחד1המשתנים )עבור מצב משתנים נתון, רק מינתרם אחד מקבל את הערך ''(. 0מקבל את הערך '

', ונחבר את כל המניתרמים1נבחר אם כן את כל מצבי המשתנים שבהם נרצה תוצאה 'המתאימים. לחלופין, ניתן להכפיל את כל המקסתרמים המתאימים למצבים שבהם נרצה תוצאה '

0.'

:f=x+yzכך למשל, ניתן להגדיר את הפונ'

Page 8: סיכום קורס מערכות לוגיות ספרתיות

8

או בעזרת מקסתרמים...

גם כך...SOP ו- POSניתן לסמן

Page 9: סיכום קורס מערכות לוגיות ספרתיות

9

. מימוש פונ' מיתוג באמצעות שערים לוגיים: 4,ANDקיימים סוגים רבים של שערים, אולם ניתן לממש כל פונ' מיתוג באמצעות אוסף של שערי

OR-ו NOT שער .OR מבצע פעולת חיבור שער AND .מבצע פעולת כפל

, עשויות להתקבל פונ' ארוכות ומסורבלות.POS או SOPכאשר אנו מציגים פונ' כלשהי באמצעות עלינו להעביר את הפונ' שאנו מקבלים תהליך של מינימיזציה, באחת משתי שיטות:

מפות קרנו.קווין-מקלוסקי.

צמצום פונ' בעזרת מפות קרנו: מפת קרנו היא טבלה המייצגת את כל מצבי הנתונים האפשריים, ואת תוצאת הפונ' בכל אחד

, כאשר המצבים4X4ממצבים אלו. מפת קרנו במקרה של ארבעה משתנים למשל תהיה טבלה האפשריים רשומים בקוד גריי, כלומר...

10110100

011100

011001

011011

111010

. גושים אלו הינם אוסף של תאים הנמצאים בשכנותclustersלאחר רישום המפה, עלינו לחפש תאים(. נשים לב כי1,2,4,8 )2אחד לשני ומסודרים במלבן או בריבוע שאורך צלעותיו חזקה של

התאים בקצה השמאלי של המפה שכנים לתאים בקצה הימני, התאים בקצה העליון לתאים בקצההתחתון, וכל הפינות שכנות.

. אימפליקנטים המכילים אחדים שאינםאימפליקנטיםגושים המכילים אחדים בלבד נקראים .אימפליקנטים ראשונייםמוכלים באף אימפליקנט אחר נקראים

נמצא קב' מינימאלית של גורמים ראשוניים המכסים את כל האחדים במפה. ניתן לכל אימפליקנט. במקרה שלנו... SOPשסימנו ביטוי לוגי כלשהו, ונציג את כל הביטויים כ-

Page 10: סיכום קורס מערכות לוגיות ספרתיות

10

10110100

011100

011001

011011

111010

במקרה של חמישה או שישה משתנים נבנה טבלת קרנו תלת מימדית בעלת שתיים או ארבע לא ניתן במצב זה נעדיף להשתמש בשיטות צמצום אחרות. עבור שבעה משתנים ומעלה –קומות

להשתמש במפות קרנו.

צמצום בשיטת קווין-מקלוסקי: נמיין את המינתרמים המרכיבים את הפונ' בטבלה לפי המשקל שלהם )מס' האחדים(, באופן

הבא...

מס' מינתרםווקטורמשקל000000

1000110010210008

2001130101501106

3101111

כעת ננסה לאחד זוגות של ווקטורים השונים זה מזה בביט אחד בלבד. נרשום טבלה חדשה בהנמצאים כל הווקטורים המצומצמים, ונסמן בטבלה המקורית את כל הווקט' שלא הצלחנו לצמצם.

הערות:ניתן להשתמש בווקט' כמה פעמים שנרצה בכדי לצמצם ווקט' אחרים..1עלינו לרשום בטבלה את כל הדרכים הקיימות לצמצם כל ווקט'..2 הווקט' הנוצר משני ווקט' מקוריים יהיה זהה להם בכל הביטים בהם הם זהים ויקבל ערך '-'.3

בביט בו הם שונים. וקט' יכולים לצמצם אחד את השני רק אם הם בעלי משקלים שונים באחד בדיוק. )ווקט'.4

(.1 לא יוכל לצמצם ווקטור בעל משקל 3בעל משקל

Page 11: סיכום קורס מערכות לוגיות ספרתיות

11

להלן הטבלה המתקבלת במקרה שלנו...מס' מינתרםווקטורמשקל

0000-0,100-00,2-0000,8

1

00-11,30-011,5001-2,30-102,6

2-0113,11

ממשיכים לצמצם באופן דומה תוך סימון אימפליקנטים שאינם ניתנים לצמצום בשלב כלשהו '1נשים לב כי אנחנו מצמצמים רק ווקטורים השונים ביניהם בביט אחד בלבד, בו לווקט' אחד יש '

', ולא '-'. כאשר לא ניתן לצמצם יותר, ניקח את הגורמים שנותרו וביחד עם הגורמים0ולשני 'שסימנו בדרך נרשום לכ"א ביטוי לוגי, ונחבר את כל הביטויים, באופן הבא...

Page 12: סיכום קורס מערכות לוגיות ספרתיות

12

. מעגלים אריתמטיים: 5נדון במעגלים האריתמטיים הבאים:Half Adder / Full Adder

ComparatorMultiplexer

Decoder / DeMuxEncoder / Priority Encoder

Half Adder / Full Adder:רכיבים אלו מבצעים פעולה של סכימה על שני משתנים בוליאנים.

Half Adder הינו בעל כניסות ,a,b ויציאות carry out -ו sum:להלן מימוש בצורת פונ' מיתוג .

carry, המאפשרת להתחשב ב- carry in פעולה זהה, אולם יש לו כניסה נוספת Full Adderל- מחישוב קודם. במקרה זה, המימוש הוא...

שנכנסcarry in-ים כך שה- x FA, נשרשר xאם ברצוננו לחבר שני מספרים בבסיס בוליאני באורך שלפניהם.FA של ה-carry out-ים האחרים הוא ה- FA של כל ה- carry in', וה- 0לראשון הוא '

ביט.4-ים הסוכמים מספרים בוליאניים באורך FAקיימים

Comparator: ביט, ואומר לנו האם המספר הראשון גדול יותר, השני גדול4רכיב זה משווה בין שתי מלים באורך

יותר או שהם שווים. '1לרכיב זה יש שמונה כניסות )ארבע עבור כל מלה( ושלוש יציאות שרק אחת מהן מקבלת '

)מקבלת 'L( ו- ' כאשר 1 )מקבלת 'E(, ' כאשר 1 )מקבלת 'G'. היציאות הן 0והשאר '(' כאשר 1

ביט, רכיב אחר יבדוק8שרשור רכיבים כאלו הוא פשוט במיוחד. אם ברצוננו לבחון מלים באורך את ארבעת הביטים הראשונים, ואחר את האחרונים. בתוצאת הרכיב השני נתעניין רק אם

, כלומר ארבעת הביטים הראשונים שווים.

Multiplexer:רכיב זה מקבל ככניסה כתובת של כניסה אחרת ומעתיק אותה למוצא.

(, משקף אתF כניסות. המוצא היחיד של הרכיב ) כניסות בקרה )כתובת( ו- n ישנן MUXל , שכתובתה נתונה ע"י המספר הבוליאני שנתון בכניסות הכתובת.Iהכניסה

, אשר עבור ערך מסויים שלה, הרכיב מוציא אפס ללא תלותenable כניסה נוספת MUXל .0-ים שעבורם ערך זה הינו MUXבכתובת ובכניסות. אנחנו נעבוד בד"כ עם

כרגיל,, נכניס את כניסות הכתובת MUX 8X1, וברצוננו לבנות MUX 4X1אם ברשותנו שני הראשון.enable של הרכיב השני ואת אותה כניסה בשלילה ל- enable ל- את כניסת הכתובת

Page 13: סיכום קורס מערכות לוגיות ספרתיות

13

לשני. כל שנשאר לעשות הוא להכניס לרכיב הראשון, ואת כעת נכניס את הכניסות .ORאת שני המוצאים לשער

פונ' מיתוג, אם אנחנו מכניסים את המשתנים לכתובת, ושמיםMUXניתן לממש באמצעות '. ניתן להכניס לכניסות הרכיב גם כניסות0' ובאחרות '1בכניסות שהינן המינתרמים המתאימים '

', אלא תלוייות במשתנים נוספים, ובאופן זה לפשט מעגל מורכב הממש0' ו- '1שאינן הקבועים 'פונ' של משתנים רבים.

Decoder / DeMux:'.1מפענחים אלו מקבלים ככניסה כתובת של יציאה מסויימת, ודרכה בלבד מוציאים '

, שמנטרלת את פעולת המפענח כשערכה אפס. בעזרת כניסה זוenableלחלק מהמפענחים כניסת אחד, ניתן לבנות מפענח בגודל כפול משני מפענחים קטנים.NOTושער

DeMuxהוא למעשה מפענח שאנו מתייחסים אליו באופן שונה. נתייחס לרכיב זה כאילו כניסת ה enable היא input.וכניסות הכתובת מורות לרכיב דרך איזו יציאה להוציא את הערך הנכנס ,

Encoder / Priority Encoder: ', ומחזיר את1מקודד הוא רכיב הפוך למפענח. הוא מקבל מספר כניסות שרק אחת מהן ערכה '

', ולמעשה1הכתובת של הכניסה. ברכיב זה נוצרת בעייה אם יותר מכניסה אחת מקבלת ערך ' priority'. לכן קיים רכיב שנקרא 0המוצא עלול להראות כתובת של כניסה שערכה בכלל '

encoder כלומר אם הכניסותהמשמעותית ביותר, והוא מחזיר את הכתובת של הכניסה המופעלת , .6 פועלות, הוא יתעלם לחלוטין מכניסה 6 ו- 1

Page 14: סיכום קורס מערכות לוגיות ספרתיות

14

. מערכי זכרון: 6קיימים שלושה סוגי מערכי זכרון:

ROMPLAPAL

Read-Only Memory (ROM): ,fusible links בעלי ORמערך זה מורכב מכניסות כתובת העוברות דרך מפענח לשורה של רכיבי

יתנהג באופן מוגדר עבורOR. כל רכיב ORכלומר לא כל יציאות המפענח נכנסות לכל רכיב כתובת מסויימת.

Programmable Logic Arrays (PLA): שיציאותיהם מהווים למעשה מינתרמים, ומשםANDכל משתני הכתובת עוברים דרך שערי

שכל אחד 'בוחר' באילו מינתרמים להשתמש. בצורה זו, מתקבלת, עבור כתובתORלמספר שערי .ORקבועה, מילה שאורכה נקבע ע"י מספר שערי ה-

PAL: שיציאותיהםOR, כל משתני הכתובת עוברים דרך שערי PLAמערך זכרון זה פועל באופן הפוך ל-

שכל אחד 'בוחר' באילו מקסתרמיםANDמהווים למעשה מקסתרמים, ומשם למספר שערי להשתמש. בצורה זו, מתקבלת, עבור כתובת קבועה, מילה שאורכה נקבע ע"י מספר שערי ה-

AND.

Page 15: סיכום קורס מערכות לוגיות ספרתיות

15

. רכיבי זכרון: 7:Latch רכיבי זכרון מסוג 3אנחנו מכירים

SR-LatchGated SR-Latch

Transparent Latch )D-Latch(שבהם, הערך הנשמר בזכרון תלוי בערכי הכניסות ובערך השמור הקודם.

:Flip-Flop רכיבי זכרון מסוג 4 ו-SR-FFJK-FFT-FFD-FF

, הערך השמור בזכרון משתנה רק בזמנים קבועים כלהם כפיLatchשבהם, בשונה מרכיבי שנקבעים ע"י כניסת שעון.

Page 16: סיכום קורס מערכות לוגיות ספרתיות

16

. שימוש ברכיבי זכרון: מערכת סדרתית סינכרונית: 8 מערכת סדרתית סנכרונית היא מכונה המווסתת ע"י שעון. למכונה זו כניסות בינאריות יציאות

בינאריות וזכרון.תכנון מערכת סדרתית מתבצע בשלבים באים:

סיפור המעשה.בניית דיאגרמת מצבים.

בניית טבלת מצבים.צמצום טבלת המצבים.

הקצאת מצבים ובחירת רכיבי זכרון.בניית טבלת מעברים ויציאה.

מציאת פונ' ערור ויציאה.שרטוט המעגל המממש את המע'.

סיפור המעשה: בשלב זה אנחנו מקבלים את דרישות הלקוח ו"עושים בהן סדר" כך שנקבל תיאור פשוט של פעולת

המערכת.

בניית דיאגרמת מצבים: נקרא לכל מצב זכרון אפשרי באות, ונרשום את תגובת המע' בכל מצב לכניסה אפשרית, דהיינו מה

יהיה המצב הבא עבור כניסה זו, ומה יהיה המוצא...

עבור מעבר זה. input/outputנסמן בחיצים את המצב הבא ועל כל חץ נרשום את ה-

בניית טבלת מצבים: מעבירים את דיאגרמת המצבים לטבלה שבה רשום, עבור כל כניסה אפשרית, מהו המוצא הדרוש

.state,outputומה המצב הבא. בצורה

צמצום טבלת המצבים: ייתכן שבמכונה מסויימת, לשני מצבים את אותה ההתנההגות בדיוק. עלינו להפעיל את אלגוריתם

.mooreהצמצום של

הגדרה: נקראים בני הפרדה אם קיימת סדרת כניסה אחת לפחות שמספקתשני מצבים .1

מוצא שונה עבור שני המצבים ההתחלתיים..K- בני הפרדה אם קיימת עבורם סדרת הפרדה באורך K נקראים שני מצבים .2 אוK- שקולים אם לא קיימת עבורם סדרת הפרדה באורך K נקראים שני מצבים .3

פחות.

Page 17: סיכום קורס מערכות לוגיות ספרתיות

17

: Moore האלגוריתם של )כולם(.-שקולים 0נפתח בקב' המצבים שהינם .1.-שקולים )עפ"י מוצא בלבד(. מתקבל 1 למצבים נבצע חלוקה של .2 עבור כל כניסה אפשרית ונחלק אותם למצבים שהםנמצא את המצבים העוקבים ל- .3

-שקולים.2 - חלוקת המצבים לקב' מצבים -שקולים. מתקבל 1 ע"י מציאת המצבים העוקבים וחלוקתם את . נמצא מתוך עד אשר .4

עפ"י n.שקילות-

אם לאחר עצירה נמצאו מצבים שאינם בני הפרדה, ניתן לקרוא להם עפ"י אותה אות.

הקצאת מצבים ובחירת רכיבי זכרון: נבחר את רכיבי הזכרון שבהם ברצוננו להשתמש, ונקרא לכל מצב שהוגדר עפ"י אות בקוד בינארי

כלשהו.... נרשום את טבלת הערור של רכיב הזכרון שבחרנו להשתמש בו.A=001למשל...

בניית טבלת מעברים ויציאה: , ושנייה המתארת אתnext stateנחלק את טבלת המצבים לשתי טבלאות, אחת המתארת את ה-

המוצא. בטבלאות אלו לא נתאר את המצבים עפ"י אותיות אלא עפ"י הקוד הבינארי המתאראותם.

מציאת פונ' ערור ויציאה: המתארים את המצב הנוכחי כפי שהוא שמור בזכרון, ובעזרת משתנה הכניסה נמצאמתוך

הדרוש, ואתnext state )המבוא לרכיב הזכרון כך שהוא יזכור את ה- את פונ' הערור עבור הפונ' עבור המוצא.

שרטוט המעגל המממש את המע':יש לזכור לסמן כניסת שעון, ולרשום באיזה רכיב זכרון מדובר.

מגבלה משמעותית אחת. היא חייבת להפיק פלט מחזורי תחת פלט מחזורי. לכן, אםFSMל- כאשר מצטבר מספר אחדים בכניסה שהוא ריבוע שלם, נאמר1נידרש לבנות מכונה שמוציאה

נקבל פלט לא מחזורי1111111111שלא ניתן לבנות מכונה כזו, כיוון שעבו הכניסה המחזורית 01001000010.

Page 18: סיכום קורס מערכות לוגיות ספרתיות

18

. שימוש ברכיבי זכרון: מערכת סדרתית א-סינכרונית: 9 מערכת סדרתית א-סינכרונית פועלת ללא שעון ומה שגורם לשינוי בה הוא שינוי במצב הכניסה.

נשתמש ברכיבים שנקרא להם "רכיבי השהייה". סינתזה של מכונה א-סינכרונית מתבצעתבשלבים הבאים:

הגדרת מצבים יציבים.רישום טבלת זרימה פרימיטיבית.

צמצום טבלת הזרימה.הקצאת מצבים.

קביעת היציאות במצבים הלא-יציבים.תכנון המע' הקומבינטורית.

שרטוט המעגל.

הגדרת המצבים היציבים:שקול לחלוטין למצבים שהגדרנו עבור מע' סדרתית סנכרונית.

רישום טבלת זרימה פרימיטיבית: מצבי כניסה אפשריים.–עמודות מצב יציב אחרון.–שורות

נמצא עבור כל מצב יציב את הכניסה המגדירה אותו, ובתא בו הם מצטלבים נרשום את המצבהיציב )נסמן מצבים יציבים ע"י הקפתם בעיגול( ואת המוצא הדרוש.

עבור כל מצב יציב נתייחס לשינוי באחד ממשתני הכניסה )הם אינם משתנים יחד!(, ונרשום את המצב )בינתיים לא יציב( שאליו אנחנו עוברים. בשלב זה לא נרשום מוצא עבור המצבים הלא

יציבים. להלן טבלה לדוגמא...101101004-2)1(,0(1)-3)2(,01(2)4)3(,12-(3)

)4(,05-1(4)4)5(,02-(5)

צמצום טבלת הזרימה:

Page 19: סיכום קורס מערכות לוגיות ספרתיות

19

נבצע זאת באמצעות גרף מיזוג.

הן שורות שעמודותיהן זהות, ללא התחשבות ביציבות המצבים אושורות שאין בהן סתירה הגדרה:ב '-'.

גרף המיזוג הוא גרף שצמתיו הן המצבים בטבלת הזרימה הפרימיטיבית, וקיימת קשת בין שנימצבים שאינם סותרים.

נחפש בגרף כיסוי מלא וזר ע"י תת-גרפים מלאים עפ"י ההגדרות:הגדרות:

.כיסוי מלאאם כל הצמתים נמצאים בתת-גרף אחד לפחות נאצר שזהו .1.שהכיסוי זראם כל צומת נמצא בתת-גרף אחד לכל היותר נאמר .2 הוא תת-גרף שבו כל הצמתים קשורים זה לזה.תת-גרף מלא.3

הקצאת מצבים:שני מצבים הנמצאים לאחר חלוקה בתת-גרף כלשהו שקולים וניתן להגדירם ע"י מצב יחיד.

קביעת היציאות במצבים הלא יציבים: glitchבטבלת הזרימה המצומצמת, נרשום את המוצא עבור כל מצב שאינו יציב בצורה כזו שנמנע

' או להיפך.1' דרך '0' ל '0כלומר מוצא שעובר מ '

תכנון המע' הקומבינטורית:מציאת פונ' ערור ומוצא בדומה למע' סנכרונית.

שרטוט המעגל:אין הפתעות.

מירוצים ומירוץ קריטי: כאשר יותר ממשתנה מצב אחד צריך להשתנות ע"מ להגיע למצב חדש נוצר מצב שבו אנחנו

נימצא בשלב כלשהו במצב ביניים שאינו המצב ההתחלתי ואינו המצב הסופי. אם קיימת תלות . אם אנו עלולים להגיע למצב יציב שונה מכפי שתכננו בגללמירוץבסדר השתנות המשתנים, זהו

.מירוץ קריטיסדר השתנות משתני הזכרון זהו

מניעת מירוץ קריטי:ניתן לבצע זאת בשתי דרכים:

(.cycleחוג )הקצאת מצבים שונה.

מניעת מירוץ קריטי ע"י חוג, היא העברת המע' דרך סדרה מוגדרת היטב של מצבי ביניים, דהיינושיני טבלת הזרימה.

ניתן למנוע מירוץ קריטי ע"ע הקצאת מצבים שונה, כך שלא יווצר מצב של שינוי בשני משתניהמצב בו זמנית.

בהצלחה.