מפות קרנו ולוגיקה צירופית יהודה אפק, נתן אינטרטור אוניברסיטת תל אביב מפות קרנו ולוגיקה צירופית יהודה אפק, נתן אינטרטור אוניברסיטת תל אביב מבוסס על הרצאות של יורם זינגר, האוניברסיטה העברית י"ם חובר בספטמבר 2001
פישוט פונקציות ע"י מפות קרנו: y E. Veitch, 1952 ; M. Karnaugh 1953 טבלה של שני משתנים: y 1 m0 m1 m2 m3 x 1 x’y’ x’y xy’ xy x y ייצוג ערכים: y 1 x f = m1+m2+m3 y f = x+y x x z טבלה של שלושה משתנים: yz 00 01 11 10 x’y’z’ x’y’z x’yz x’yz’ 1 xy’z’ xy’z xyz xyz’ 00 01 11 10 m0 m1 m3 m2 1 m4 m5 m7 m6 x x y ** כל שני ריבועים סמוכים במפה נבדלים במשתנה אחד בלבד. m2 + m6 x’yz’ + xyz’ yz’ חובר בספטמבר 2001
f=z’ + xy 1. z’ 2. xy פונקציה "פשוטה" ריבועים גדולים y 1 x z 00 01 11 10 1 1. z’ x 2. xy f=z’ + xy z f = x’y’z’ + xy’z’ + xyz + xyz’ + x’yz’ כדי לפשט את הפונקציה נחפש ריבועים "מוכללים" גדולים שיכסו את ה"1" פונקציה "פשוטה" ריבועים גדולים חובר בספטמבר 2001
דוגמא נוספת: f(x,y,z) = (0,1,5,6,7) y 1 x z f = x’y’ + xz + xy 00 01 11 10 1 f = x’y’ + y’z + xy y’(x’+z) לא ניתן לפישוט ע"י מפת קרנו. הפישוט המינימלי לא תמיד יחיד 2 3 1 6 7 5 4 f = x’y’ + xz + xy לא ניתן לפישוט ע"י מפת קרנו. x(y + z) x z חובר בספטמבר 2001
מפה של ארבעה משתנים: מפה של חמישה משתנים: f=x’z’ + w’z’ 1 1 y yz wx x 00 01 11 10 1 f=x’z’ + w’z’ x w z מפה של חמישה משתנים: C 1 AB CDE B A E D E f = AC’ + AD’E’ + CDE’ + B’D’E’ חובר בספטמבר 2001
מפה של חמישה משתנים: מושג השכנות f = A’BDE + ABD’E C 1 AB CDE B D E חובר בספטמבר 2001
איברים / צירופים אדישים: yz y 00 01 11 10 1 wx x w z “Don’t Care” ניתן להשים ל"1" או "0“ (לאו דווקא בעקביות) f = z’w + zx סכום מכפלות חובר בספטמבר 2001
דוגמאות: חובר בספטמבר 2001
דוגמאות: חובר בספטמבר 2001
צורות קנוניות: x’y’z’+x’yz’+x’yz+xy’z’+xyz’+xyz (x+y+z’) (x’+y+z’) • כל פונקציה בוליאנית ניתנת לכתיבה כסכום מכפלות: x’y’z’+x’yz’+x’yz+xy’z’+xyz’+xyz (x+y+z’) (x’+y+z’) ומכפלת סכומים: • מכפלות סכומים סימון גורם z y x M0 x+y+z m0 x’y’z’ M1 x+y+z’ m1 x’y’z 1 M2 x+y’+z m2 x’yz’ M3 x+y’+z’ m3 x’yz M4 x’+y+z m4 xy’z’ M5 x’+y+z’ m5 xy’z M6 x’+y’+z m6 xyz’ M7 x’+y’+z’ m7 xyz בהינתן טבלת אמת של פונקציה f: נרשום את f כמכפלת סכומים ע"י לקיחת Mi עבורם f=0. או: 2) נרשום את f כסכום מכפלות ע"י לקיחת mi עבורם f=1. minterm (x+y+z’) (x’+y+z’) x’y’z’+x’yz’+… חובר בספטמבר 2001
Product of sum design חובר בספטמבר 2001
Product of sum design חובר בספטמבר 2001
איברים / צירופים אדישים: yz y 00 01 11 10 1 wx x w z “Don’t Care” ניתן להשים ל"1" או "0“ (לאו דווקא בעקביות) f = z’w + zx סכום מכפלות חובר בספטמבר 2001
לוגיקה צרופית Combinatorial Logic מעגל צירופי לוגי n m משתני כניסה m משתני יציאה נוהל תכנון: Design Principles תאור הבעיה. קביעת מספר משתני הכניסה הקיימים ומספר משתני היציאה הנדרשים. התאמת סמלים למשתני הכניסה והיציאה. בניית טבלת אמת המגדירה את היחסים הנדרשים בין הכניסות ליציאות. פישוט הפונקציה הבוליאנית עבור כל יציאה. "קיבוץ" ופישוט של הפונקציה הכוללת. תיאור וכתיבת הדיאגרמה הלוגית. חובר בספטמבר 2001
BCD => Seven -Segment - Decoder a Seven Segment f g b e c d קלט: מספר בן 4 ביטים ב –BCD פלט: 7 פונקציות בוליאניות כך שכל פונקציה הינה "1" אמ"מ ה- Segment המתאים צריך לדלוק. נבנה את טבלת האמת. נחשב את a…g ע"י מפות קרנו. נצמצמם את המעגלים ע"י חיפוש שערים חוזרים. חובר בספטמבר 2001
טבלת אמת :BCD 7 Seg 1 D a a = B’D’ + C + A + BD f b g n BCD IN 7 Seg Out A B C D a b c d e f g 1 2 3 4 5 6 7 8 9 other D a 00 a = B’D’ + C + A + BD f b 1 g a =(B’+D+C) (A+B+C+D’) (A,B,C,D)=>a c 01 e d B 11 A 10 AB CD C חובר בספטמבר 2001
1 e = D’B’ + CD’ = D’(B’+C) e = (B’+C)D’ B A D C AB CD a f b g c e d B A D C AB CD 00 01 11 10 e = D’B’ + CD’ = D’(B’+C) e = (B’+C)D’ a f b g c e d (A,B,C,D) =>e חובר בספטמבר 2001
חצי מחבר – Half Adder HA S = X Y (a b) C = X • Y (a • b) חצי מחבר: מקבל 2 סיביות ומחזיר את סכומן (mod 2) ואת הנשא. HA b0 a0 C S a b s c 1 S = X Y (a b) C = X • Y (a • b) A B S C (a+b)’=a’b’ (a’b’ + c)’= =(a’b’)’•(a•b)’ =(a+b)•(a’+b’) =aa’ + ab’ + ba’ +bb’ a S b C (ab)’ ab חובר בספטמבר 2001
1 1 מחבר מלא – Full Adder FA S C bn an Sn Cn Cn-1 x y z c s 1 הפונקציות s,c סימטריות ב x,y,z "תפקידי" x,y,z הינם זהים S = x’y’z + x’yz’ + xy’z’ + xyz C = xy + yz + xz Y Y 1 1 X X S C Z Z חובר בספטמבר 2001
Ripple Carry Adder חובר בספטמבר 2001
4-Bit Adder חובר בספטמבר 2001
מחבר / מחסר 1 חובר בספטמבר 2001
בדיקת גלישה – מימוש: מספר בין n=4 ביטים a3 b3 a2 b2 a1 b1 a0 b0 C3 Adder C2 Adder C1 Adder C0 Adder "0" נשא סופי נשא לתוך סיביות הסימן S3 S2 S1 S0 מספר בין n=4 ביטים Overflow: Cn-1 Cn-2 = 1 בדוגמא (5+7): 1 = C3 C2 אם ו - חיוביים לא צריך להיות נשא לתוך המסכם האחרון ולא יכול להיות נשא סופי. אם ו - שליליים חייב להיות נשא סופי וכדי שהמספר יהיה שלילי צריך נשא לתוך המסכם האחרון. חובר בספטמבר 2001
Full Adder with Overflow check 1 חובר בספטמבר 2001
משווה גודל - Comparator 1 “1” A<0 B0 A>B : אין overflow A<0,B>=0 A-B>0 0=MSB ו A<>B יש overflow MSB=1 A>=0,B<0 B>A : אין overflow A-B<0 MSB=1 יש overflow MSB=0 c4 XOR c3 :Overflow No Overflow “1” A0 B<0 חובר בספטמבר 2001
Decoders Multiplexor Connects one of many inputs to one output. n select lines for 2n inputs. חובר בספטמבר 2001
Decoders: Multiplexer חובר בספטמבר 2001
4:1 Multiplexer חובר בספטמבר 2001
Multiplexer: Binary function חובר בספטמבר 2001