100 likes | 385 Views
מערכות שלמות - Universal Systems. ראינו שכל פונקציה בוליאנית ניתנת למימוש ע"י סכום מכפלות ו/או מכפלת סכומים. לכן כל פונקציה בוליאנית ניתנת למימוש ע"י קבוצת האופרטורים {NOT, AND, OR} .
E N D
מערכות שלמות-UniversalSystems • ראינו שכל פונקציה בוליאנית ניתנת למימוש ע"י סכום מכפלות ו/או מכפלת סכומים. לכן כל פונקציה בוליאנית ניתנת למימוש ע"י קבוצת האופרטורים {NOT, AND, OR}. • הגדרה: קבוצת אופרטורים הנה שלמה אם כל פונקציה בוליאנית ניתנת למימוש בעזרת הפעלות של אופרטורים מהקבוצה בלבד על משתני הפונקציה. • מסקנה: {NOT,AND,OR} היא קבוצה שלמה. • טענה:א. {NOT, OR} היא שלמה. • ב. {NOT, AND}היא שלמה. • הוכחה: (של א) • תהי F פונקציה כלשהי. ראשית נציג את F בעזרת *,+,' (המהווים מערכת שלמה) בלבד. כעת נמיר כל שימוש באופרטור * בשימוש ב- +,' בלבד, באופן הבא: • אם F מכילה ביטויים מהצורה G*Q נחליף אותם ב- • G*Q = ((G*Q)’)’ = (G’+Q’)’ . • (הוכחת ב נעשית באופן דומה).
NOR ו- NAND מערכות שלמות X’ = (X • X)’ = NAND(X,X) NAND: מכיוון ש - {NOT, AND} היא שלמה מספיק להראות כי ניתן לממש את AND ו-NOTע"י NAND בלבד: A • B = ((A • B)’)’ = )NAND)A,B))’= NAND(NAND(A,B),NAND(A,B)) מסקנה: {NAND} היא מערכת שלמה. NOR: מכיוון ש - {NOT, OR} היא שלמה מספיק להראות כי ניתן לממש את OR ו-NOTע"י NOR בלבד: X’ = (X + X)’ = NOR(X,X) A + B = ((A + B)’)’ = )NOR)A,B))’= NOR(NOR(A,B),NOR(A,B)) מסקנה: {NOR}היא מערכת שלמה.
פישוט מעגלי NOR/NAND A 1 B 3 AB + BC 2 C מימוש ע"י Nand: T1’ A AB 1 3 5 T1+T2=AB+BC B T2’ BC 2 4 6 C שערים 5+3 מבטלים זה את זה, וכן גם 6+4. ניתן להגיע לאותה דרגת פישוט גם בדרך הבאה: A A 1 1 3 B B 3 2 2 C C
פישוט פונקציות בעזרת מפות קרנו(Karnaugh) y טבלה של שני משתנים: y x f = m1+m2+m3דוגמה: x y y x x f = x+yמסקנה מהטבלה: z טבלה של שלושה משתנים: yz x x y * כל שני ריבועים סמוכים במפה נבדלים במשתנה אחד בלבד. m2 + m6 x’yz’ + xyz’ yz’
y 1.z’ f=z’ + xy 2.xy דוגמה: x z • )f = x’y’z’ + xy’z’ + xyz + xyz’ + x’yz’(סכום מכפלות: • העיקרון: כדי לפשט את הפונקציה נחפש ריבועים מוכללים גדולים שיכסו את ה- 1ים. ריבועים גדולים פונקציה "פשוטה"
דוגמה נוספת: f = x’y’ + xz + xy 0 1 3 2 x(y + z) לא ניתן לפישוט ע"י מפת קרנו 4 5 7 6 f = x’y’ + y’z + xy y’(x’+z) לא ניתן לפישוט ע"י מפת קרנו הפישוט המינימלי לא תמיד יחיד y x z
מפה של ארבעה משתנים: y yz wx f=x’z’ + w’z’ x w z מפה של חמישה משתנים: C B A E D E f = AC’ + AD’E’ + CDE’+ B’D’E’
צירופים אדישים y x w z “Don’t Care” (ניתן להשים ל"1" או "0“, ואין הכרח שתהיה עקביות). f = z’w + zx סכום מכפלות: f = w(z’ + x) מכפלת סכומים:
מימוש ע"י שערי NOR/NAND x f y z z דוגמה: x y f = xy’ + yz’ + yx’ x f y z
מימוש ע"י שערי (II) NOR/NAND: z x y f = xy’ + yz’ + yx’ (x y) + yz’ y(x’ + z’) + xy’ II I x f y I z NAND x’+z’ x z f II y (xy’)’