Professional Documents
Culture Documents
מערכות ספרתיות שיעור 8
מערכות ספרתיות שיעור 8
מפות קרנו
מפת קרנו היא שיטה גרפית להצגת טבלת האמת של פונקציה בוליאנית .כאשר
השימוש במפה זו נעשה בד"כ עבור מכסימום של שישה משתנים .עבור nמשתנים
יש למפת קרנו 2nתאים .הרעיון העומד מאחורי מפה זו הוא שאיברים קרובים
אלגברית נראים בצורה כזו כך שניתן לבצע מינמיזציה ע"י גילוי תבניות מסוימות .
לכל תא במפת קרנו מוצמד מספר עם nביטים המתאים לאיבר מינמלי עם n
ליטרלים .שני תאים הם " קרובים " במפה אם המספרים הבינארים שלהם שונים
בביט אחד בלבד .אם נתונה פונקציה Fב SOP -קנוני אזי אנחנו משלימים את
מפת קרנו ע"י סימון 1באותם תאים שהקואורדינאטות שלהם מתאימות לאיברים
מינימליים המופיעות בצורה הקנונית הנ"ל .והשלמת 0בשאר התאים .במקרה של
POSקנוני 0בתאים המתאימים ו 1בשאר .כאשר המצאות של אחדים בשני
תאים סמוכים מעידה מיד על אפשרות לצמצום .ארבעה אחדים סמוכים מעידים על
אפשרות של צמצום של שני משתנים .
1 0
m1 m0
X’+X=1
פונקציה קבועה .
שני משתנים .
X1
X2 1 0
m2 m0 0
F=(2,3)=X1
יש לחשוב על המפה כצילינדר הצד הרחוק הימני קרוב לצד השמאלי .
כל איבר במפה קרוב לשני איברים .עבור שלושה משתנים נראה שכל איבר קרוב
לשלושה איברים ,וכן הלאה .בהכללה כל תא במפת קרנו ל nמשתנים קרוב ל n
תאים אחרים .
שלושה משתנים
X2X3
10 11 01 00 X1
m2 m3 m1 m0 0
)F=(0,3,5,7 דוגמא
ארבעה משתנים
שם לב שהצד הימני ביותר והשמאלי ביותר נחשבים קרובים כך גם הצד העליון
ביותר והתחתון ביותר .
דוגמא :
)F(X1,X2,X3,X4)= (1,6,7,9,12,15
מינימיזציה בעזרת מפות קרנו
: דוגמא
F(X1,X2,X3) =(2,3,4,5) .1
x2x3
10 11 01 00 X1
1 1 0 0 0
0 0 1 1 1
’F=X1’X2+X1X2
: הסבר
m2 + m3=X1’X2X3’+X1’X2X3=X1’X2(X3+X3’)=X1’X2
’m4 + m5=X1X2’X3’+X1X2’X3=X1X2
F=(0,2,4,5,6) .2
X2X3
10 11 01 00 X1
1 0 0 1 0
1 0 1 1 1
’F=X3’+X1X2
F= )1,3,8,10,12,13,14,15(.3
X1’X2’X4
X3X4
10 11 01 X1X2
0 1 1 0 00
0 0 0 0 01
1 1 1 1 ’X1X4 11
1 0 0 1 10
X1X2
’F=X1’X2’X4+X1X2+X1X4
דוגמא :
)F(X1,X2,X3,X4)= (1,3,7,8,9,10,12,13,14,15)+ d(4,5,11
X3X4
10 11 01 x1x2 X1X2
0 1 1 0 00
0 1 X X 01
1 1 1 1
1 X 1 1 10
F= X1+X4
פישוט של מכפלה של גורמים ()POS
דוגמא :
)F(X1,X2,X3,X4)= (5,6,7,9,10,11,13,14,15
X
3X4
10 11 01 00 X1X2
0 0 0 0 00
1 1 1 0 01
1 1 1 0 11
1 1 1 0 10
SOP ל : F =X2X4+X2X3+X1X4+X1X3
ל )POS : F =(X1+X2)(X3+X4
F=X1X2+X2’X3
כאשר כל הכניסות הם : 1היציאה של שער 1היא 1 :
היציאה של שער 2היא 0 :
היציאה של שער 3היא 1 :
ו X2 -משתנה מ 1-ל 0 -יציאה של שער 3צריכה מעבר לזה אם X1=X3=1
להישאר במצב קבוע . 1אבל יציאת המעגל יכולה להשתנות זמנית ל 0 -אם זמן
השהיה של שער 1קטן מזמני השהיה של המהפך ושער . 2
במקרה זה אם X2משתנה ל 0 -היציאה של שער 1תשתנה ל , 0-בזמן ששער 2לא
יראה שינוי עד לזמן מאוחר יותר .לכן יציאת שער 2תישאר , 0זמנית ,ויציאת שער
3תהיה 0למשך זמן זה .לאחר השהיה ,יציאת שער 2תשתנה ל 1 -ותגרום ליציאת
שער 3להשתנות חזרה ל. 1 -
במקרה הכללי :
" סיכון 1סטטי" – קורה כאשר המעגל נותן 0זמנית כאשר היה צריך לתת 1קבוע.
" סיכון 0סטטי " -קורה כאשר המעגל נותן 1זמנית כאשר היה צריך לתת 0קבוע
סוג נוסף הוא הסיכון הדינמי :קורה כאשר הפלט אמור להשתנות מ 1ל ( 0 -או מ
0ל )1 -אך למעשה משתנה שלוש או יותר פעמים :
X
2X3
10 11 01 00 X1
0 0 1 0 0
1 1 1 0 1
אם שני תאים סמוכים מכוסים ע"י אותו צובר cluster -שינוי כניסה למעגל בין
שני מצבי תגובה אינה יכולה לגרום ל"סיכון" .
לדוגמא שינוי מצב הכניסה מ 001 -ל 101 -אינה יכולה לגרום לסיכון 1סטטי מכיוון
שכיסינו את ה 1-במפה ע"י הביטוי X2’X3לכן כאשר X1ישתנה .הביטוי X2’X3
ישאר קבוע 1והיציאה לא תשתנה .
לעומת זאת אם שני תאים סמוכים של 1לא יכוסו ע"י אותו "צבר " יקרה מצב של
סיכון סטטי . 1למשל המעבר מ 101 -ל. 111 -
ניתן למנוע את ה"סיכון " הזה ע"י הוספת הביטוי X1X3
דוגמא :
)F(X1,X2,X3,X4)= (0,1,2,3,5,6,8,11
שלבי פתרון :
. 1הופכים את כל האינדקסים של האיברים המינמלים להצגה הבינארית שלהם .
מחלקים
את הקבוצות למחלקות עפ"י מספר האחדים בכל הצגה .
ויוצרים את הטבלה הבאה :
.2יחסי קרבות יכולים להיות רק בין קומבינציות שמספר ה" " 1ים בהם שונה
באחד בלבד
( הסימן √ מציין שניתן שללב בין שניים קרובים )
חוזרים על התהליך רק אם יש שוני בין איברים בביט אחד וה" " -חופפים . .3
התהליך מסתיים כאשר אין אפשרות לשלב יותר .
מספר ה"– " 1ים הצגה אינדקס דצימלי
בינארית
נקראים " גוררים כאשר מסיימים את התהליך האיברים שלא סומנו ב√-
ראשונים " או קלסטרים במפת קרנו .הסיבה לשם גוררים הוא שנכונות הביטויים
גוררת " נכונות " הפונקציה .
בשלב זה ניתן לרשום את כל האיברים הראשונים (הבלתי מסומנים) בטבלאות
הקודמות בטבלה חדשה :
אינדקס דצימלי הצגה בינארית ביטוי ראשוני
0,1,2,3 00-- ’X2’X1
0,8 -000 ’X4’X3’X2
1,5 01-0 X4 ’X3’X1
2,6 10-0 ’X3 X4’X1
3,11 -011 X3 X4 ’X2
בצורה דומה יכולנו לקבל את התוצאה ע"י מפת קרנו ,היות וישנם 4משתנים .
רואים שביטוי אחד כבר מכוסה ע"י ביטוים קודמים :כיצד ניתן לפתור את
הבעיה ?
בשיטת קווין – מקולסקי פוטרים את הבעיה ע"י יצירת הטבלה הבאה :
את הטבלה מתחילים בגורר הראשוני שמכיל את הכמות הגדולה ביותר של איברים
מינימלים .גוררים ראשונים " הכרחים " אפשר למצוא בטבלה ע"י מציאת
העמודות עם xאחד בלבד .העמודות אלו מתאימות לאיבר מינימלי המכוסה ע"י
גורר ראשוני אחד בלבד ! מסמנים את הגורר הראשוני ע"י כוכבית (*) המעידה על
היותו "הכרחי "
כעת אנו יכולים למחוק את כל העמודות המכוסות ע"י גוררים הכרחים .וכן את כל
השורות של אותם גוררים הכרחים ומה שנשאר לנו במקרה הנוכחי :
F= X2’X3’X4’+X1’X3’X4+X1’X3X4’+ X2’X3X4
קיימות שתי דרכים נוספות לצמצמם את טבלת הגורמים הראשונים .מצצום
שורות נשלטות וצמצום של עמודים שולטים .
דוגמא :
)F(X1,X2,X3,X4,X5)= Σ(1,3,4,5,6,7,10,11,12,13,14,15,18,19,20,21,22,23,25,26,27
Minterms
26 19 18 11 10
X X X (X1 X3’ X4 )3
X X (X1 X2’ X4 )4
X X X (X2 X3’ X4 )5
X X (X1’ X2 X4 )6
X X (X3’ X4 X5 )7
X (X2 X2’ X4 X5 )8
X (X1’ X4 X5 )9
Minterms
26 19 18 11 10
X X X **(X1 X3’ X4 )3
X X X **(X2 X3’ X4 )5
X X (X3’ X4 X5 )7
בטבלה זו שני עמודות "חשובות " ולכן שורה ( )3ו ( )5הן ( הכרחיות ) הם נקראות שורות
הכרחיות משניות (.הערה :אין הכרח שבכל סכום מינמלי יהיו גוררים ראשונים משניים) .
לאחר צמצום העמודות החשובות והשורות הכרחיות מקבלים טבלה ריקה והתהליך נגמר .
Fמינמלי הוא סכום של השורות ההכרחיות הראשיות + 1,2,10,11השורות ההכרחיות
המשניות : 3,5
F= X2’ X3 + X1’ X3+ X1’ X2’ X5 + X1 X2 X3’ X5 + X1 X3’X4 + X2 X3’X4
ראשוניים משניים
התהליך של מחיקת שורות הכרחיות ,שורות נשלטות ,עמודים שולטים מפשט את החיפוש
אחר סיכון מינמלי ,אך אינו נותן את כל הסכומים המינמלים ולא מוליך לבחירה חד משמעית
של גוררים ראשונים לסכום מינמלי .
טבלאת גוררים ראשונים ציקליים – זוהי טבלת גוררים ראשונים מסוימת ,כך שבכל עמודה יש
לפחות שני – Xים ,בצורה כזאת שאין גורם ראשוני הכרחי.
בוחרים שורה עם מספר ליטרלים נמוך ביותר על מנת להכלילה בתוך סכום מינמלי ,מוחקים
את אותה שורה מהטבלה ואז מפעילים את טכניקת ה"מחיקות" לטבלה הנשארת .
יש צורך לחזור על התהליך לכל שורה שיכולה להחליף את השורה שנבחרה .יש לבחור את
הסכום המינמלי ביותר נבחר בסוף כל התהליכים של המחיקות .
דוגמא :
)F(X1, X2,X3,X4)= Σ(0,2,5,6,7,8,9,12,13,15
שלב: )a( 1
מחרוזת תווית עשרונית מספר ה"-"1ים
√ 0000 0 0
√ 0010 2
1
√ 1000 8
√ 0101 5
√
√ 0110 6
√
2
1001 9
1100 12
√ 0111 7
3
√ 1101 13
1111 15 4
שלב : ) c ( 3
מחרוזת תוית עשרונית מספר ה"-"1ים
0-1- 8,9,12,13 1
-1-1 5,7,13,15 2
הטבלה שבשלב ( ) 5שיטת השורה השולטת נותנת סכום מינמלי אחד ,אך שני סכומים
מינמלים יכולים להתקבל גם בשיטות אחרות .
על כל פנים יש משהו שניתן לבצע על מנת לקבל סכום מינמלי .מכיוון שכל השורות אותו מספר
ליטרלים ,ניתן למחוק שורה כלשהי בצורה אקראית מכיוון שכל איבר מינמלי חייב להיות
מכוסה ע"י גורם ראשוני .
אם נבחר אחת מהשורות ( ) 3ו ) 3 (, ) 5 ( -ו , ) 6 ( -או ( ) 3ו ) 6 ( -אז כל העמודות
( איברים מינמלים ) מכוסות .יותר מזה כל הבחירות הללו מעורב בהם אותו מספר ליטרלים .
העמודות מכוסות .בכל מקרה בחרנו אותו מספר של ליטרלים ולכן בחירה אחת אינה יותר
טובה מבחירה אחרת .
לכן ,ע"י הוספת בחירות אלו לגוררים ראשונים מובילים בהתאם לשלושה סכומים מינמלים :
כאלטרנטיבה ניתן להשתמש בשיטת הענפים כדי לטפל בטבלת טבלת גוררים ראשוניים
ציקליים .בשיטת הענפים זו לוקחים עמודה עם מספר מינמלי של - Xים .מכיוון שבטבלה
בשלב . )e( 5יש שני Xבכל עמודה .ניתן לבחור כל עמודה ,נבחר למשל ב . m6 -כדי להבטיח
ש m6 -יהיה
מכוסה ע"י גורם ראשוני יש לבחור את שורה 5או שורה . 6ולכן מתקבלות הטבלאות הבאות
המתארות את שיטת הענפים :
בוחרים שורה 6ומוחקים אותה וכל עמודה שיש לה Xבשורה זאת : א.
נשים לב ששורה( ) 2שולטת בשורה ( .) 5ע"י מחיקת שורה( ) 5מקבלים את הטבלה הבאה :
Minterms
13 8 7 6 2
X X (X2 X4 )1
X X **(’X1 X3 )2
X X (X1’ X2 X3 )3
X X (’X1’ X3 X4 )4
X (’X1’ X2’ X4 )5
שורה( ) 2בטבלה זו היא הכרחית משנית מכיוון ששורה ( ) 8בעלת Xאחד .אם נמחק את
שורה ( ) 2ועמודות ( ) 8 ( , ) 13נקבל את טבלת גוררים ראשונים ציקלית .
Minterms
7 6 2
X (X2 X4 )1
X X (X1’ X2 X3 )3
X X (’X1’ X3 X4 )4
X (’X1’ X2’ X4 )6
ניתן לבצע את שיטת הענפים עבור הטבלה האחרונה ,אך ניתן לראות ששורה
ראשונה ושלישית נותנות את הסכום המינמלי היחיד :
’F= X1 X3’+ X2X4+ X1’ X3X4
מעגלי AND-ORבעלי שתי רמות מומרים בקלות למעגל מורכב של שערי NANDאו
, NORנשתמש בעובדה ’ (’ =F ) Fעבור כל פונקציה , Fובזהויות דה מורגן
()8.1 (’F1’ F2’…Fn=’)F1+F2+…+Fn
מעגלי NAND
מעגל המממש את הפונקציה בהצגת : SOP
()8.3 F= L1 + L2 +…+Lm+ P1 + P2 +…+Pk
דוגמא :