ציר ופ י ת מפות קרנ ו ולוגיקה z` f=z` + xy xy

Transcription

ציר ופ י ת מפות קרנ ו ולוגיקה z` f=z` + xy xy
‫פישוט פונקציות ע"י מפות קרנו‪:‬‬
‫‪y‬‬
‫• ‪E. Veitch, 1952 ; M. Karnaugh 1953‬‬
‫‪0‬‬
‫‪1‬‬
‫• טבלה של שני משתנים‪:‬‬
‫ייצוג ערכים‪:‬‬
‫‪m1‬‬
‫‪m0‬‬
‫‪0‬‬
‫‪x’y’ x’y‬‬
‫‪m3‬‬
‫‪m2‬‬
‫‪1‬‬
‫‪xy’ xy‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪y‬‬
‫‪10‬‬
‫‪m2‬‬
‫‪m6‬‬
‫‪11‬‬
‫‪m3‬‬
‫‪m7‬‬
‫‪m1‬‬
‫‪m5‬‬
‫‪z‬‬
‫‪10‬‬
‫‪0‬‬
‫‪x‬‬
‫יהודה אפק‪ ,‬נתן אינטרטור‬
‫אוניברסיטת תל אביב‬
‫‪f = x+y‬‬
‫‪x‬‬
‫• טבלה של שלושה משתנים‪:‬‬
‫‪01‬‬
‫‪x‬‬
‫מפות קרנו ולוגיקה צירופית‬
‫‪f = m1+m2+m3‬‬
‫‪x‬‬
‫‪00‬‬
‫‪m0‬‬
‫‪m4‬‬
‫‪1‬‬
‫‪0‬‬
‫‪y‬‬
‫‪y‬‬
‫‪0‬‬
‫‪y‬‬
‫‪x‬‬
‫‪01‬‬
‫‪11‬‬
‫‪00‬‬
‫‪yz‬‬
‫‪0‬‬
‫מבוסס על הרצאות של‬
‫יורם זינגר‪ ,‬האוניברסיטה העברית י"ם‬
‫‪x‬‬
‫’‪x’y’z’ x’y’z x’yz x’yz‬‬
‫’‪x 1 xy’z’ xy’z xyz xyz‬‬
‫‪y‬‬
‫‪1‬‬
‫** כל שני ריבועים סמוכים במפה נבדלים במשתנה אחד בלבד‪.‬‬
‫’‪m2 + m6 ≡ x’yz’ + xyz’ ≡ yz‬‬
‫‪y‬‬
‫דוגמא נוספת‪:‬‬
‫)‪f(x,y,z) = Σ(0,1,5,6,7‬‬
‫‪y‬‬
‫‪10‬‬
‫‪2‬‬
‫‪6‬‬
‫‪1‬‬
‫‪01‬‬
‫‪11‬‬
‫‪3‬‬
‫‪1‬‬
‫‪7‬‬
‫‪5‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪10‬‬
‫‪1‬‬
‫‪1‬‬
‫‪00‬‬
‫‪0‬‬
‫‪4‬‬
‫‪z‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪x‬‬
‫)‪x(y + z‬‬
‫‪f = x’y’ + y’z + xy‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪z’ .1‬‬
‫‪xy .2‬‬
‫‪x‬‬
‫‪f=z’ + xy‬‬
‫’‪f = x’y’z’ + xy’z’ + xyz + xyz’ + x’yz‬‬
‫כדי לפשט את הפונקציה נחפש ריבועים "מוכללים" גדולים‬
‫שיכסו את ה"‪"1‬‬
‫פונקציה "פשוטה"‬
‫)‪y’(x’+z‬‬
‫לא ניתן לפישוט ע"י מפת קרנו‪.‬‬
‫‪01‬‬
‫‪z‬‬
‫‪f = x’y’ + xz + xy‬‬
‫לא ניתן לפישוט ע"י מפת קרנו‪.‬‬
‫‪11‬‬
‫‪00‬‬
‫ריבועים גדולים‬
‫• הפישוט המינימלי לא תמיד יחיד‬
‫מפה של ארבעה משתנים‪:‬‬
‫‪y‬‬
‫‪10‬‬
‫מפה של חמישה משתנים‪ :‬מושג השכנות‬
‫‪x‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪00‬‬
‫’‪f=x’z’ + w’z‬‬
‫‪01‬‬
‫‪w‬‬
‫‪10‬‬
‫‪z‬‬
‫מפה של חמישה משתנים‪:‬‬
‫‪C‬‬
‫‪C‬‬
‫‪1‬‬
‫‪AB CDE‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪E‬‬
‫‪1‬‬
‫‪11‬‬
‫‪11‬‬
‫‪f = A’BD’E + AB’DE‬‬
‫‪B‬‬
‫‪01‬‬
‫‪00‬‬
‫‪yz‬‬
‫‪wx‬‬
‫‪D‬‬
‫‪B‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪E‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪AB CDE‬‬
‫‪A‬‬
‫‪E‬‬
‫‪D‬‬
‫’‪f = AC’ + AD’E’ + CDE’ + B’D’E‬‬
‫חובר בספטמבר ‪2001‬‬
‫איברים ‪ /‬צירופים אדישים‪:‬‬
‫דוגמאות‪:‬‬
‫‪y‬‬
‫‪10‬‬
‫‪x‬‬
‫‪11‬‬
‫‪00‬‬
‫‪01‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫∅‬
‫‪00‬‬
‫‪0‬‬
‫∅‬
‫∅‬
‫‪0‬‬
‫‪01‬‬
‫∅‬
‫∅‬
‫‪1‬‬
‫‪1‬‬
‫‪11‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪10‬‬
‫‪w‬‬
‫‪z‬‬
‫∅ ≡ ”‪ “Don’t Care‬ניתן להשים ל"‪ "1‬או "‪“0‬‬
‫)לאו דווקא בעקביות(‬
‫סכום מכפלות ‪f = z’w + zx‬‬
‫‪Product of sum design‬‬
‫לוגיקה צרופית‬
‫‪Product of sum design‬‬
‫‪Combinatorial Logic‬‬
‫‪m‬‬
‫משתני יציאה‬
‫מעגל‬
‫צירופי לוגי‬
‫דוגמאות‪:‬‬
‫‪n‬‬
‫משתני כניסה‬
‫נוהל תכנון‪:‬‬
‫‪Design Principles‬‬
‫‪ .1‬תאור הבעיה‪.‬‬
‫‪ .2‬קביעת מספר משתני הכניסה הקיימים ומספר משתני היציאה‬
‫הנדרשים‪.‬‬
‫‪ .3‬התאמת סמלים למשתני הכניסה והיציאה‪.‬‬
‫‪ .4‬בניית טבלת אמת המגדירה את היחסים הנדרשים בין הכניסות‬
‫ליציאות‪.‬‬
‫‪ .5‬פישוט הפונקציה הבוליאנית עבור כל יציאה‪.‬‬
‫‪" .6‬קיבוץ" ופישוט של הפונקציה הכוללת‪.‬‬
‫‪2‬‬
‫חובר בספטמבר ‪2001‬‬
:BCD → 7 Seg ⇐ ‫טבלת אמת‬
BCD => Seven -Segment - Decoder
n
a
Seven Segment
f
g
b
e
d
c
0
1
2
3
4
5
6
7
8
9
other
BCD – ‫ ביטים ב‬4 ‫ מספר בן‬:‫קלט‬
‫" אמ"מ‬1" ‫ פונקציות בוליאניות כך שכל פונקציה הינה‬7 :‫פלט‬
.‫ המתאים צריך לדלוק‬Segment -‫ה‬
00
01
.‫• נבנה את טבלת האמת‬
11
.‫ ע"י מפות קרנו‬a…g ‫• נחשב את‬
A
10
AB
CD
.‫• נצמצמם את המעגלים ע"י חיפוש שערים חוזרים‬
1
0
∅
1
0
1
∅
1
00
01
11
A
01
0
1
0
0
0
1
∅
∅
∅
∅
AB
0
a
b
c
0
1
0
1
0
1
0
1
0
1
∅
1
0
1
1
0
1
1
1
1
1
∅
1
1
1
1
1
0
0
1
1
1
∅
1
1
0
1
1
1
1
1
1
1
∅
D
0
0
1
1
0
0
1
1
0
0
∅
7 Seg Out
d
e
1
0
1
1
0
1
1
0
1
1
∅
1
0
1
0
0
0
1
0
1
0
∅
f
g
1
0
0
0
1
1
1
0
1
1
∅
0
0
1
1
1
1
1
0
1
1
∅
a
1
1
∅
∅
1
1
∅
∅
(A,B,C,D)=>a
a = B’D’ + C + A + BD
a =(B’+D+C) (A+B+C+D’)
B
f
g
e
d
b
c
‫( ואת‬mod 2) ‫ סיביות ומחזיר את סכומן‬2 ‫ מקבל‬:‫חצי מחבר‬
a0 b 0
.‫הנשא‬
10
0
1
D
0
0
0
0
1
1
1
1
0
0
∅
Half Adder – ‫חצי מחבר‬
11
1
10
BCD IN
B
C
0
0
0
0
0
0
0
0
1
1
∅
C
D
00
A
∅
S
∅
a
g
f
CD
HA
C
B
C
e
(A,B,C,D) =>e
d
b
c
a
b
s
c
0
1
0
1
0
0
1
1
0
1
1
0
0
0
0
1
A
B
e = D’B’ + CD’ = D’(B’+C)
a
e = (B’+C)D’
b
S = X ⊕ Y (a ⊕ b)
C = X • Y (a • b)
S
C
(a+b)’=a’b’
(ab)’
ab
S
C
(a’b’ + c)’=
=(a’b’)’•(a•b)’
=(a+b)•(a’+b’)
=aa’ + ab’ + ba’ +bb’
Full Adder – ‫מחבר מלא‬
an b n
FA
Cn
Cn-1
Sn
x,y,z ‫ סימטריות ב‬s,c ‫הפונקציות‬
x
y
z
c
s
0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
1
0
0
0
0
1
1
1
1
0
0
0
1
0
1
1
1
0
1
1
0
1
0
0
1
Ripple Carry Adder
‫ הינם זהים‬x,y,z "‫ "תפקידי‬S = x’y’z + x’yz’ + xy’z’ + xyz
C = xy + yz + xz
Y
Y
1
X
1
1
S
2001 ‫חובר בספטמבר‬
1
X
Z
1
C
1
1
1
Z
3
‫ מחסר‬/ ‫מחבר‬
4-Bit Adder
0
1
Decoders
Comparator - ‫משווה גודל‬
1
Multiplexor
•
•
“1”
A<0
B≥0
No Overflow
“1”
A≥0
B<0
.Connects one of many inputs to one output
.inputs n2n select lines for
A<>B ‫ ו‬MSB=0 A-B>0 overflow ‫ אין‬: A>B
A>=0,B<0 MSB=1 overflow ‫יש‬
MSB=1 A-B<0 overflow ‫ אין‬: A <B
A<0,B>=0 MSB=0 overflow ‫יש‬
c4 XOR c3 :Overflow
Decoders: Multiplexer
4:1 Multiplexer
2001 ‫חובר בספטמבר‬
4
Multiplexer: Binary function
2001 ‫חובר בספטמבר‬
5