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

Download Report

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

‫לוגיקה צירופית‬
‫יהודה אפק‪ ,‬יוסי מטיאס‬
‫אוניברסיטת תל אביב‬
‫מבוסס על הרצאות של‬
‫יורם זינגר‪ ,‬האוניברסיטה העברית י"ם‬
‫לוגיקה צרופית‬
‫‪Combinatorial Logic‬‬
‫‪m‬‬
‫משתני יציאה‬
‫מעגל‬
‫צירופי לוגי‬
‫‪n‬‬
‫משתני כניסה‬
‫נוהל תכנון‪:‬‬
‫‪Design Principles‬‬
‫‪ .1‬תאור הבעיה‪.‬‬
‫‪ .2‬קביעת מספר משתני הכניסה הקיימים ומספר משתני היציאה‬
‫הנדרשים‪.‬‬
‫‪ .3‬התאמת סמלים למשתני הכניסה והיציאה‪.‬‬
‫‪ .4‬בניית טבלת אמת המגדירה את היחסים הנדרשים בין הכניסות‬
‫ליציאות‪.‬‬
‫‪ .5‬פישוט הפונקציה הבוליאנית עבור כל יציאה‪.‬‬
‫‪" .6‬קיבוץ" ופישוט של הפונקציה הכוללת‪.‬‬
‫‪BCD => Seven -Segment - Decoder‬‬
‫‪a‬‬
‫‪b‬‬
‫‪g‬‬
‫‪f‬‬
‫‪c‬‬
‫‪d‬‬
‫‪e‬‬
‫‪Seven Segment‬‬
‫קלט‪ :‬מספר בן ‪ 4‬ביטים ב – ‪BCD‬‬
‫פלט‪ 7 :‬פונקציות בוליאניות כך שכל פונקציה הינה "‪"1‬‬
‫אמ"מ ה‪ Segment -‬המתאים צריך לדלוק‪.‬‬
‫• נבנה את טבלת האמת‪.‬‬
‫• נחשב את ‪ a…g‬ע"י מפות קרנו‪.‬‬
‫• נצמצמם את המעגלים ע"י חיפוש שערים חוזרים‪.‬‬
:BCD  7 Seg  ‫טבלת אמת‬
n
0
1
2
3
4
5
6
7
8
9
other
A
BCD IN
B
C
D
a
0
0
0
0
0
0
0
0
1
1

0
0
0
0
1
1
1
1
0
0

0
1
0
1
0
1
0
1
0
1

1
0
1
1
0
1
1
1
1
1

0
0
1
1
0
0
1
1
0
0

b
7 Seg Out
c
d
e
f
g
1
1
1
1
1
0
0
1
1
1

1
1
0
1
1
1
1
1
1
1

1
0
0
0
1
1
1
0
1
1

0
0
1
1
1
1
1
0
1
1

1
0
1
1
0
1
1
0
1
1

1
0
1
0
0
0
1
0
1
0

D
00
01
11
A
10
AB
CD
1
0

1
0
1

1
1
1


1
1


C
(A,B,C,D)=>a
B
a = B’D’ + C + A + BD
a =(B’+D+C) (A+B+C+D’)
f
a
g
b
e
d
c
D
00
01
11
10
00
1
0
0
1
0
0
0
1




1
0


01
11
A
AB
10
CD
C
(A,B,C,D) =>e
B
f
a
g
b
e
d
c
e = D’B’ + CD’ = D’(B’+C)
e = (B’+C)D’
Half Adder – ‫חצי מחבר‬
‫( ואת‬mod 2) ‫ סיביות ומחזיר את סכומן‬2 ‫ מקבל‬:‫חצי מחבר‬
a0 b0
.‫הנשא‬
C
HA
S
a
b
s
c
0
1
0
1
0
0
1
1
0
1
1
0
0
0
0
1
A
B
S
C
(a+b)’=a’b’
a
b
S = X  Y (a  b)
C = X • Y (a • b)
(ab)’
ab
S
C
(a’b’ + c)’=
=(a’b’)’•(a•b)’
=(a+b)•(a’+b’)
=aa’ + ab’ + ba’ +bb’
Full Adder – ‫מחבר מלא‬
an bn
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
‫ הינם זהים‬x,y,z "‫ "תפקידי‬S = x’y’z + x’yz’ + xy’z’ + xyz
C = xy + yz + xz
Y
Y
1
X
1
1
1
S
X
Z
1
C
1
1
1
Z
Ripple Carry Adder
4-Bit Adder
‫מחבר ‪ /‬מחסר‬
‫‪0‬‬
‫‪1‬‬
Comparator - ‫משווה גודל‬
1
“1”
A<0
B0
No Overflow
“1”
A0
B<0
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