Transcript (A+B) = A

บทที่ 5
ตรรกวิทยา และ วงจรตรรกะ
เบื้องต้น
•
•
•
•
•
หลักวงจรเบือ้ งต้ น
พีชคณิตบูลเี บือ้ งต้ น
เกต และ ตารางค่ าความจริง
การเขียน Function จาก Truth table
การเขียนวงจรตรรกะ จาก Function
5-1
ตรรกวิทยา และ วงจรตรรกะเบือ้ งต้ น
• การเขียน Function จากวงจรตรรกะ
• การออกแบบวงจรตรรกะ
• ตัวอย่ างวงจรตรรกะ
5-2
หลักวงจรเบือ้ งต้ น
• Two-state Logic เป็ นตรรกะทีม่ คี ่ าตัวแปร 2 สภาวะ
– logic 0 แทน switch เปิ ด
– logic 1 แทน switch ปิ ด
สัญญาณเข้า
วงจรไฟฟ้ า
สัญญาณออก
5-3
หลักวงจรเบือ้ งต้ น
Positive logic
• ค่ า 1 แทนด้ วยสั ญญาณไฟฟ้ าแรงดัน สู ง
• ค่ า 0 แทนด้ วยสั ญญาณไฟฟ้าแรงดัน ตา่
Negative logic
• ค่ า 1 แทนด้ วยสั ญญาณไฟฟ้าแรงดัน ตา่
• ค่ า 0 แทนด้ วยสั ญญาณไฟฟ้ าแรงดัน สู ง
high volt 1
low 0
0
high 0
low
0
1
5-4
คานิยาม
•
•
•
•
•
•
ตัวคงที่ (Switching Constant)
ตัวแปร (Switching Variable)
เครื่องหมายการกระทา (Operators : and, or, not)
เทอมและนิพจน์ (Terms and Expression)
ฟังก์ ชั่น (Function)
ตารางค่ าความจริง (Truth Table)
5-5
พีชคณิตบูลนี เบือ้ งต้ น
• การกระทาเบือ้ งต้ น
• AND แทนด้ วย “.”
• OR แทนด้ วย “+”
• NOT แทนด้ วย “- ”
เรียกวงจร NOT ว่ า Invert
A A
1
0
0
1
วงจร AND
A
B
วงจร OR
A
B
5-6
ตารางแสดง Operator,Gate,Function,Truth
Table
• Operator Gate
Function
Truth table
A B
AND
F = A.B
0
In
F
0
0
0
1
0
5-7
ตารางแสดง Operator,Gate,Function,Truth
Table
• Operator Gate
Function
Truth table
A B
OR
F = A+B
0
In
F
0
0
5-8
ตารางแสดง Operator,Gate,Function,Truth
Table
• Operator Gate
Function
Truth table
NOT
F=A
A B F
0
-
NAND
F = A.B
0
0
Inp
1
1
5-9
ตารางแสดง Operator,Gate,Function,Truth
Table
• Operator Gate
Function
Truth table
In
A B
NOR
F = A+B
0
F
0
1
5-10
การเขียน Switching Function จาก Truth Table
• มี 2 วิธี คือ
– Positive logic
– Negative Logic
5-11
Positive Logic และ Negative Logic
• Positive Logic: วิธีนีน้ าเอาข้ อมูลเข้ าจากตารางความ
จริงทีม่ ผี ลลัพธ์ มีค่าเป็ น 1 ทุกตัวมา OR กัน
• Negative Logic: วิธีนีน้ าเอาข้ อมูลเข้ าจากตารางความ
จริงทีม่ ผี ลลัพธ์ เป็ น 0 ทุกตัวมา OR กันแล้ วทาการ
NOT ทั้งหมด
5-12
ตัวอย่ าง Positive Logic และ Negative Logic
• Truth Table
A B F
0 0
0 1
1 0
1 1
Positive Logic
1
0
0
1
F= AB+AB
Negative Logic
F=AB+AB
5-13
การลดทอนฟังก์ ชัน
• มี 2 วิธี คือ
– การใช้ ทฤษฎี หรือ สมมติฐานของพีชคณิตบูลนี
– การใช้ Kanaugh Map หรือ K-map
5-14
กฎของพีชคณิตบูลนี
• กฎการสลับที่ Commutative Law
ค A+B = B+A
ค A.B = B.A
• กฎการกระจาย Distributive Law
ค A.(B+C) = (A.B) + (A.C)
ค A+(B.C) = (A+B) . (A+C)
5-15
กฎของพีชคณิตบูลนี
• กฎการจัดกลุ่ม Association Law
ค (A+B) +C = A+(B+C)
ค (A.B).C = A.(B.C)
• กฎการระบุ Identity Law
ค A+A=A
ค A.A =A
5-16
กฎของพีชคณิตบูลนี
• กฎการนิเสธ Negative Law
ค (A )=A
ค A =A
• กฎความซ้าซ้ อน Redundance Law
ค A + AB = A
ค A. (A+B) = A
5-17
กฎของพีชคณิตบูลนี
• กฎการรวม/การตัดกัน Union and Intersection Law
ค 0+A=A
ค 1.A =A
ค 1+A= 1
ค 0.A = 0
• กฎส่ วนเติมเต็ม Complementary Theorem
ค A+A=1
ค A. A= 0
5-18
กฎของพีชคณิตบูลนี
• กฎการดูดซึม Absorption Law
ค A+A.B=A+B
A . (A + B) = A . B
• กฎดีมอแกน De Morgan’s Theorem
ค A+B=A.B
ค A.B = A+B
ค A+B=A.B
ค A.B = A+B
ค A B + AB = AB + AB
5-19
การลดทอนฟังก์ ชัน
• F = AB + AB
A ( B + B)
A.1
A
F = AB + AB + AB
B ( A +A) +AB
B (1) + AB
B + AB
( B + B) (B + A)
1 . (B + A)
A+B
5-20
การลดทอนฟังก์ ชัน
F = AB + ABC + AB (D+E)
AB + AB (D+E) + ABC
AB ( 1+ (D+E)) + ABC
AB .1 + ABC
AB + ABC
AB (1 +C)
AB
5-21
คุณลักษณะของ Karnaugh Map (K-Map)
• K-map สาหรับตัวแปร n ตัว ต้ องมี 2n ช่ อง
• รหัสประจาแถว แนวนอน/ตั้ง จัดแบบ Gray Code
00 01 11 10
• ช่ อง 2 ช่ องใดๆบนแผนผังทีอ่ ยู่ตดิ กัน มีรหัสไบนารี
ต่ างกันเพียงบิทเดียวเท่ า นั้น เรียกว่ า “บิทข้ างเคียง”
เช่ น 010 ข้ างเคียงกับ 011
5-22
คุณลักษณะของ Karnaugh Map (K-Map)
• คุณสมบัติ “ม้ วนโดยรอบ” ของ K-map
• 2 ช่ องทีอ่ ยู่ปลายสุ ดของแต่ ละข้ างในแต่ ละแถวของ
K-map จะข้ างเคียงกัน ดังนั้นจึงเสมือนหนึ่ง K-map
ม้ วนโดยรอบทั้ง บนลงล่ าง ซ้ ายไปขวา
5-23
การเขียน K-map
• K-map ชนิด 2
A0
1
B
00
10
0
AB AB
01
11
1
AB AB
ตัวแปร
ชนิด 3 ตัวแปร
AB
B 00
01
11
0 000 010 110
ABC ABC ABC ABC
011 11
1 001
ABC ABC ABC ABC
5-24
การเขียน K-map
AB
CD 0 0
0 0 0000
ABCD
0 1 0001
ABCD
1 1 0011
ABCD
1 0 0010
ABCD
01
0100
ABCD ABCD
0101
ABCD ABCD
0111
ABCD ABCD
0110
ABCD ABCD
ชนิด 4 ตัวแปร
11
1100
ABCD
1101
ABCD
1111
ABCD
1110
ABCD
10
100
100
101
1010
5-25
การแทนฟังก์ ชั่นลงบน K-map
• เปลีย่ นมินเทอมทุกเทอมเป็ นรหัสไบนารี
• แทนตัวเลขด้ วย 1 ลงในช่ องทีม่ รี หัสตรงกัน
• F = ABCD +ABCD+ABCD+ABCD+ABCD
AB
CD 00 01 11 10
00
01
1
11
1
10 1
1
1
5-26
การรวมเทอมบน K-map
• การยุบ 2 ช่ องเป็ น 1 เทอม
• ช่ องทีม่ เี ลข 1 ทีอ่ ยู่ตดิ กัน 2 ช่ อง สามารถยุบรวมกัน
โดยบิททีต่ ่ างกันไม่ ปรากฏในเทอมใหม่
• ถ้ ารหัสบิททีม่ คี ่ า 1 เทอมใหม่ อยู่ในรู ปปกติ(A) ถ้ า
รหัสบิททีม่ คี ่ า 0 เทอมใหม่ อยู่ในรู ป Invert (A)
5-27
ภาพการยุบแบบ 2 เทอม
• การยุบ 2 เทอมเป็ น 1 เทอม
0 1 00 01 11 1000 01 11
1 00 1
1
0 1 10 1
1
01
1 1
1
1
11
1 1
10
1
5-28
การยุบ 4 เทอม
• การรวมรหัสบิททีเ่ ป็ นหนึ่ง 4 บิทติดกันเข้ าด้ วยกัน
ทาให้ ตวั แปรหายไป 2 ตัวแปร
AB
CD 00 01
1
1
1
1
AB
11CD 10
00
1
1
AB
00 01 11
CD 10
01 11
1
1
1
1
1
1
5-29
การรวม 8 เทอม
• การรวม 8 เทอมเป็ น 1 เทอมลดตัวแปรได้ 3 ตัว
AB
CD 00
00 1
01 1
11
10
01
1
1
11
1
1
AB
10
CD
100
101
11
10
00 01 11
1 1 11
1
1
1
1
1
1
10
5-30
การลดทอนฟังชันด้ วย K-map
• F = AB +AB+AB+AB
B
0
1
A 0
1
1
1
1
1
F=1
5-31
การลดทอนฟังก์ ชัน
• F= ABC+ABC+ABC+ABC+ABC+ABC
AB
00
C
0
1
1
11
10
ABC
1
1
1
1
1
ABC
01
F=A +B
5-32
การลดทอนฟังก์ ชัน
• F= ABCD +ABCD +ABCD+ABCD
+ABCD+ABCD +ABCD+ABCD
AB
CD 00 01
00 1 1 1
01
11
10 1
11
1
1
1
10
F = AB + BD + CD
1
5-33
การเขียนวงจรตรรกะจาก Switching Function
• หลักการ
– ถ้ ามีวงเล็บทาเทอมทีอ่ ยู่ในวงเล็บก่ อน
– เทอมทีค่ ูณกันใช้ AND gate
– เทอมทีบ่ วกกันใช้ OR gate
– เทอมที่ Complement ใช้ NOT gate
5-34
การเขียนวงจรจากฟังก์ ชั่น
• F = AB +AB
A
B
A
B
B
A
AB
AB + AB
AB
5-35
การเขียนวงจรจากฟังก์ ชั่น
• F = AB + CD
A
B
C
D
AB
AB + CD
C
CD
5-36
เขียนฟังก์ ชั่นจากวงจรตรรกะ
• หลักการ เริ่มจาก gate ทีม่ ี input
A
2
1
B
1. A+B
3. B(A+B)
4
3
2. A(A=B)
4. A(A+B) + B(A=B)
5-37
การเขียนฟังก์ ชั่นจากวงจร
• ตัวอย่ าง
3
A
1
2
B
1. B
4. AB
5
6
4
2. A
3. AB
5. AB + AB 6. AB+AB
5-38
การออกแบบวงจรตรรกะ
• ขั้นตอนการสร้ างวงจรตรรกะ
– การออกแบบทางตรรกะวิทยาเพือ่ ให้ ได้ ฟังก์ ชันที่
เหมาะสม
– การเขียนวงจรตรรกะให้ ทางานตามฟังก์ ชันที่ออกแบบ
5-39
การออกแบบทางตรรกวิทยา
• สร้ างตารางค่ าความจริง
• เขียนฟังก์ ชันจากตารางค่ าความจริง
• ทาการลดทอนฟังก์ ชัน เพือ่ ให้ ได้ วงจรทีใ่ ช้ GATE
น้ อยทีส่ ุ ด
5-40
ตัวอย่ างการออกแบบทางตรรกะ
• วงจรการบวกเลขฐานสอง (Binary Adder)
• HALF ADDER เป็ นวงจรบวกโดยไม่ คานึงถึงตัวทด
จากหลักอืน่
A
B
HALF ADDER
S
C
5-41
HALF ADDER
• สร้ างตารางค่ าความจริงโดยอาศัยหลักการบวก
เลขฐานสอง
- เขียนฟังก์ ชันแบบ Positive จากตาราง
AB S
0 0
0 1
1 0
1 1
C
0
1
1
0
S= AB + AB C = AB
- ลดทอนฟังก์ ชัน
0
-เขียนวงจร
0
0
1
5-42
วงจร HALF ADDER
• วงจร
A
B
A
AB
B
A
AB+AB
AB
A
B
C=AB
5-43
วงจรตรรกะของ Parity bit
• วงจร Odd Parity (คี)่ สาหรับเลขฐานสอง 3 บิท
a
b
c
P
TRUTH TABLE
A B C
0 0
0 1
0 1
1 1
1 0
1 0
0 1
1 1
P
0
0
1
1
1
0
0
0
1
0
1
0
1
0
0
1
5-44
วงจรตรรกะ Odd Parity
• เขียนฟังก์ ชันแบบ Positive Logic
ABC +ABC +ABC+ABC
- ลดทอนฟังก์ ชัน
ab
01
c 00
0 1
1
1
1
11
1
10
P = ABC+ABC+ABC+ABC
5-45
วงจรตรรกะ Odd Parity
A
B
C
ABC
ABC
ABC+ABC+ABC
+ABC
ABC
ABC
5-46
ตรรกะเปรียบเทียบเลข
• วงจรเปรียบเทียบเลข 2 จานวนๆละ 1 บิท
• ตารางความจริง
เขียนฟังชันแบบ Positive
X Y < > =
0 0
0
1 0
1
0 1
0
1 1
0
0
0
1
0
< F1 = XY
>1F2 = XY
=0F3 = XY+XY
0
1
5-47
วงจรเปรียบเทียบเลข
• วงจรเปรียบเทียบเลข 2 จานวนๆละ 1 บิท
X
Y
XY
XY
F3= XY + XY
F2 = XY
F1 = XY
5-48
FULL ADDER
• เป็ นวงจรบวกทีค่ านึงถึงตัวทดจากหลักก่ อน
An
Bn
Cn-1
Full adder
Cn
An
Bn
Cn-1
Sn
H.A
H.A
Sn
Cn
5-49
วงจรเข้ ารหัส (Encoder)
• เป็ นวงจรการให้ รหัสกับข้ อมูลโดยรหัสทีไ่ ด้จะอยู่ใน
รู ป Binary เช่ น Keyboard ซึ่งเป็ น standard input
ของคอมพิวเตอร์ ตวั อักษรแต่ ละตัวเมือ่ ถูกกดจะส่ ง
สั ญญาณเข้ าสู่ ระบบคอมพิวเตอร์ ผ่านวงจรเข้ ารหัสได้
1
เป็ น รหัส 8 บิท 1
วงจร
n
m =< 2
2
M
Encoder
2
n
5-50
ตัวอย่ าง วงจรเข้ ารหัสแทนเลขฐาน 10
0
1
2
3
4
5
6
7
8
9
Bit 3
2
1
5-51
วงจรถอดรหัส (Decoder)
• เป็ นวงจรถอดรหัสหนึ่งเป็ นอีกรหัส เช่ น ถอดรหัสฐาน
สองในเครื่องให้ เป็ นเลขฐาน 10 วงจรถอดรหัสจะส่ ง
ผลลัพธ์ ออกมาเป็ น Active 0 หรือ Active 1นอกนั้น
เป็ นสั ญญาณตรงข้ ามแต่ ละผลลัพธ์ จะ แทนข้ อมูลที่
แน่ นอนอย่ างหนึ่ง
5-52
วงจรถอดรหัสเลขฐานสอง 2 บิทเป็ น ฐาน 10
•
•
•
•
•
รหัสฐานข้ อมูล
00
01
10
11
ความหมาย (ฐาน 10)
0
1
2
3
5-53
วงจรถอดรหัสแบบ Active 1
A
B
W
X
Y
Z
5-54