แผนผังคาร์โนห์ Karnaugh map - E

Download Report

Transcript แผนผังคาร์โนห์ Karnaugh map - E

แผนผังคาร์โนห์
Karnaugh map
แผนผังคาร์ โนห์
Karnaugh map
การลดรู ป Boolean expression หรื อ Switching function ให้ส้ นั ที่สุดนั้น
เราสามารถทาได้โดยใช้ทฤษฎีของBoolean ดังกล่าวแล้ว แต่ดูเหมือนจะเป็ น
การอยากในกรณี ที่มีตวั แปรหลาย ๆ ตัวการใช้แผนผังคาร์ โนห์ (Karnaugh
map) จะช่วยในการแก้ปัญหาจะเป็ นการง่ายกว่า และจะมีขอ้ ผดพลาดน้อยกว่า
วิธีการใช้เทคนิคของ Karnaugh map
แผนผังคาร์ โนห์ ชนิด 2 ตัวแปร (2- Variable Karnagh map)
Karnagh map ชนิด 2 ตัวแปร ประกอบด้ วยช่ องซึ่งแทนด้ วยค่ าของตัวแปรนั้น ๆ
จานวน 22 = 4 ช่ อง (ค่ ายกกาลัง คือจานวนของตัวแปร
B
0
A
0
0
1
1
1
A
0
2
3
B
A=0 , B=0 0
1
A=0 , B=1
1
B
0 AB AB
1 AB AB
ค่าของตัวแปรในรู ปของ Maxterm
A
0
0
1
1
A
0
2
3
A=1 , B=0
A=1 , B=1
1
B
0 A+B A+B
1 A+B A+B
ค่าของตัวแปรในรู ปของ Maxterm
แผนผังคาร์ โนห์ ชนิด 3 ตัวแปร (3- Variable Karnagh map)
Karnagh map ชนิด 3 ตัวแปร ประกอบด้ วยช่ องซึ่งแทนด้ วยค่ าของตัวแปรนั้น ๆ
จานวน 23 = 8 ช่ อง
C
AB
0
1
1
C
00 01 11
0 2 6
AB
00
3
10
4
7
01 11
C
5
10
0 ABC ABC ABC ABC
1 ABC ABC ABC ABC
ค่าของตัวแปรในรู ปของ Maxterm
AB
00 01 11 10
0 000 010 110 100
1 001 011 111 101
C
AB
00
01 11
10
0
A+B+C A+B+C A+B+C A+B+C
1
A+B+C A+B+C A+B+C A+B+C
ค่าของตัวแปรในรู ปของ Maxterm
แผนผังคาร์ โนห์ ชนิด 4 ตัวแปร (4 - Variable Karnagh map)
Karnagh map ชนิด 4 ตัวแปร ประกอบด้วยช่องซึ่งแทนด้วยค่าของตัว
แปรนั้น ๆ จานวน 24 = 16 ช่อง
CD
AB
00 01 11 10
00 0 4 12 8
01 1 5 13 9
11
3
7
15
11
10
2
6
14
10
AB 00
CD
0000
00
01
11
10
0
ABCD
A+B+C+D
0001 1
ABCD
A+B+C+D
0011 3
ABCD
A+B+C+D
0010 2
ABCD
A+B+C+D
01
11
0100 4 1100 12
ABCD
ABCD
A+B+C+D A+B+C+D
0101 5
1101 13
ABCD
ABCD
A+B+C+D A+B+C+D
1111 15
0111 7
ABCD
ABCD
A+B+C+D
A+B+C+D
0110 6 1110 14
ABCD
ABCD
A+B+C+D A+B+C+D
10
1000 8
ABCD
A+B+C+D
1001 9
ABCD
A+B+C+D
1011 11
ABCD
A+B+C+D
1010 10
ABCD
A+B+C+D
การลดรูป Boolean expression หรือ Switching function โดยใช้ Karnaugh map
การลดรู ป Boolean expression หรื อ Switching function โดยใช้ Karnaugh
map มีวิธีการดังนี้
1. ใส่ Minterm (logical 1) หรื อ Maxterm (logical 0) ลงใน Karaugh map ตามช่อง
ของค่าของมัน
2. จับคู่ที่อยูต่ ิดกัน โดยมีหลักเกณฑ์ที่ว่า จับคู่ได้ครั้งละ 2n ตัว คือ 1 ตัว , 2 ตัว 4 ตัว
, 8 ตัว และ 16 ตัว
3. การจับคู่จะต้องจับคู่ให้มากที่สุด เช่น ถ้าจับคู่ได้ 8 ตัว ก็อย่าไปจับคู่แบบ 4 ตัว 2
ครั้ง เพราะจะทาให้ผลลัพธ์ที่ได้มีค่าไม่นอ้ ยที่สุด
4. ตัวที่ถูกจับคู่ไปแล้ว ก็สามารถนาไปจับคู่กบั ตัวอื่นอีกก็ได้ถา้ จาเป็ น
5. เมื่อจับคู่ได้แล้วก็ดาเนิ นการหาผลลัพธ์ วิธีการหาผลลัพธ์ทาได้โดย นาตัวที่จบั คู่
นั้นมองดูค่าทางด้านบนและด้านข้าง ค่าที่ซ้ ากันคือผลลัพธ์ที่ตอ้ งการ
ตัวอย่าง จงลดรู ป Switching function ต่อไปนี้โดยใช้ Karnaugh map
ก. f (A,B) = AB +AB
A
0
B
0 AB
1 AB
1
A
B
0
1
A
0
1
1
A
1
(Minterm ที่ช่อง 0 และ 1 เมื่อมองไปทางด้านบนเห็น 0 ทั้งคู่ คือค่าของ A และเมื่อ
มองไปด้านข้างจะเห็น 0 และ 1 ซึ่งไม่ซ้ ากันจึงตัดทิ้งไป)
ก. f (A,B) = AB +AB
=A
ข. f (A,B) = AB +AB
B
0
1
A
0
1
ค. f (A,B) = AB +AB
B
0
1
A
0
1
ง. f (A,B) = AB +AB
B
0
1
A
0
1
จ. f (A,B) = AB +AB + AB
B
0
1
A
0
1
ฉ. f (A,B) = AB +AB + AB
B
0
1
A
0
1
ช. f (A,B) = AB +AB + AB
B
0
1
A
0
1
ช. f (A,B) = AB +AB + AB + AB
B
0
1
A
0
1
ตัวอย่าง จงลดรู ป Switching function ต่อไปนี้โดยใช้ Karnaugh map
ก. f (A,B) = (A+B)(A+B)
B
0
A
0
0
1
0
B
ข. f (A,B) = (A+B)(A+B)
B
0
1
1
f (A,B) = (A+B)(A+B)
=B
A
0
1
ค. f (A,B) = (A+B)(A+B)
B
0
1
A
0
1
ง. f (A,B) = (A+B)(A+B)
B
0
1
A
0
1
จ. f (A,B) = (A+B )(A+B)(A+B)
B
0
1
A
0
1
ฉ. f (A,B) = (A+B)(A+B)(A+B)
B
0
1
A
0
1
ช. f (A,B) = (A+B )(A+B)(A+B)
B
0
1
A
0
1
ซ. f (A,B) = (A+B)(A+B)(A+B)(A+B)
B
0
1
A
0
1
ตัวอย่าง จงลดรู ป Switching function ต่อไปนี้โดยใช้ Karnaugh map
ก. f (A,B,C) = ABC+ABC+ABC+ABC+ABC+ABC
AB
C 00
0 1
1
1
A
01
1
11
1
1
1
10
B
f (A,B,C) = ABC+ABC+ABC+ABC+ABC+ABC
=A+B
ข. f (A,B,C) = ABC+ABC+ABC+ABC+ABC+ABC
AB
C 00 01 11 10
0
1
ค.f (A,B,C) = ABC+ABC+ABC+ABC+ABC
AB
C 00 01
0
1
11
10
ง. f (A,B,C) = ABC+ABC+ABC+ABC+ABC+ABC
AB
C 00 01 11 10
0
1
จ. f (A,B,C) = ABC+ABC+ABC+ABC+ABC
AB
C 00 01
0
1
11
10
ฉ. f (A,B,C) = ABC+ABC+ABC+ABC+ABC
AB
C 00 01 11 10
0
1
ช. f (A,B,C) = ABC+ABC+ABC+ABC
AB
C 00 01
0
1
11
10
ตัวอย่าง จงลดรู ป Switching function ต่อไปนี้โดยใช้ Karnaugh map
ก. f (A ,B ,C ) = m(1 ,3 ,6 ,7)
AB
C 00 012 11 10
0
6
0
1
AC
1
1
1
1
3
f (A ,B ,C ) = m(1 ,3 ,6 ,7)
= AC+AB
1
7
4
5
AB
ข. f (A ,B ,C ) = m(0 ,2 ,3 ,4 ,5 ,6)
AB
C 00 012 11 10
0
6
4
0
1
3
1
7
5
ค. f (A ,B ,C ) = m(0 ,3 ,5 ,6 ,7)
AB
C 00 012 11 10
0
6
4
0
1
1
3
7
5
ง. f (A ,B ,C) = πm(0 ,2 ,3 ,4 ,6)
AB
C 00 012 11 10
0
6
4
0
1
3
1
7
5
จ. f (A ,B ,C ) = πm(0 ,1 ,2 ,3 ,4)
AB
C 00 012 11 10
0
6
4
0
1
1
3
7
5
ฉ. f (A ,B ,C) = πm(0 ,2 ,5 ,6 ,7)
AB
C 00 012 11 10
0
6
4
0
1
3
1
7
5
ช. f (A ,B ,C ) = πm(1 ,2 ,5 ,6)
AB
C 00 012 11 10
0
6
4
0
1
1
3
7
5
ตัวอย่าง จงลดรู ป Switching function ต่อไปนี้โดยใช้ Karnaugh map
ก. f (A,B,C,D) = ABCD+ABCD+ABCD+ABCD+ABCD+ABCD+ABCD+
ABCD+ABCD+ABCD
AB
00 01 11 10
CD
00 1 1
01
1
1
11
1
1
10
1
1
1
= A+CD
1
CD
A
ข. f (A,B,C,D) = ABCD+ABCD+ABCD+ABCD+ABCD+ABCD+
ABCD+ABCD+ABCD+ABCD
AB
00 01 11 10
CD
00
01
11
10
ค. f (A,B,C,D) = ABCD+ABCD+ABCD+ABCD+ABCD+ABCD+
ABCD+ABCD+ABCD+ABCD
AB
00 01 11 10
CD
00
01
11
10
ง. f (A,B,C,D) = ABCD+ABCD+ABCD+ABCD+ABCD+ABCD+
ABCD+ABCD+ABCD+ABCD+ABCD
AB
00 01 11 10
CD
00
01
11
10
จ. f (A,B,C,D) = ABCD+ABCD+ABCD+ABCD+ABCD+ABCD+
ABCD+ABCD
AB
00 01 11 10
CD
00
01
11
10
ฉ. f (A,B,C,D) = ABCD+ABCD+ABCD+ABCD+ABCD+ABCD+
ABCD+ABCD
AB
00 01 11 10
CD
00
01
11
10
ฉ. f (A,B,C,D) = ABCD+ABCD+ABCD+ABCD+ABCD+ABCD
CD
AB
00
01
11
10
00 01
11
10
ซ. f (A,B,C,D) = ABCD+ABCD+ABCD+ABCD+ABCD+ABCD+ABCD
CD
AB
00
01
11
10
00 01
11
10
ตัวอย่าง จงลดรู ป Switching function ต่อไปนี้โดยใช้ Karnaugh map
ก. f (A ,B ,C ,D ) = m(0 ,1 ,2 ,3 ,4 ,6 ,8 ,10 ,12 ,14)
AB
00 01 11 10
CD
0
4
12
8
D
00 1 1 1 1
1
5
13
9
01 1
11 1
3
7
15
11
10 1
2
6
14
10
=
1
D+AB
1
1
AB
ข. f (A ,B ,C ,D ) = m(1,3 ,4 ,6 ,9 ,11 ,12 ,14)
CD
AB
00 01
11
10
00
0
4
12
8
01
1
5
13
9
11
3
7
15
11
10
2
6
14
10
ค. f (A ,B ,C ,D ) = m(0 ,1 ,2 ,3 ,4 ,6 ,9 ,11
CD
AB
00 01
11
10
00
0
4
12
8
01
1
5
13
9
11
3
7
15
11
10
2
6
14
10
ง. f (A ,B ,C ,D ) = m(1 ,3 ,6 ,7 ,8 ,9 ,12 ,13)
CD
AB
00 01
11
10
00
0
4
12
8
01
1
5
13
9
11
3
7
15
11
10
2
6
14
10
จ. f (A ,B ,C ,D ) = m(1 ,8 ,10 ,12 ,13 ,14 ,15)
CD
AB
00 01
11
10
00
0
4
12
8
01
1
5
13
9
11
3
7
15
11
10
2
6
14
10
ฉ. f (A ,B ,C ,D ) = m(0 ,2 ,4 ,6 ,8 ,10)
CD
AB
00 01
11
10
00
0
4
12
8
01
1
5
13
9
11
3
7
15
11
10
2
6
14
10
ตัวอย่าง จงลดรู ป Switching function ต่อไปนี้โดยใช้ Karnaugh map
ก. f (A,B,C,D ) = πm(3 ,7 ,9 ,10 ,11 ,12 ,13 ,14 ,15)
CD
AB
00 01
11
00
0
4
01
1
5
11
3
7
10
0
2
0
6
= A(C+D)
0
0
12
13
15
10
0
0
0 0
14
0 0
8
9
11
10
A
C+D
ข. f (A,B,C,D ) = πm(0 ,2 ,4 ,5 ,7 ,12 ,13 ,14 ,15)
CD
AB
00 01
11
10
00
0
4
12
8
01
1
5
13
9
11
3
7
15
11
10
2
6
14
10
ค. f (A,B,C,D ) = πm(0 ,1 ,2 ,3 ,8 ,9 ,10 ,11,13 ,15)
CD
AB
00 01
11
10
00
0
4
12
8
01
1
5
13
9
11
3
7
15
11
10
2
6
14
10
ง. f (A,B,C,D ) = πm(1 ,3 ,5 ,7 ,9 ,10 ,11 ,13 ,14 ,15)
CD
AB
00 01
11
10
00
0
4
12
8
01
1
5
13
9
11
3
7
15
11
10
2
6
14
10
จ. f (A,B,C,D ) = πm(0 ,1 ,2 ,4 ,7 ,8 ,10)
CD
AB
00 01
11
10
00
0
4
12
8
01
1
5
13
9
11
3
7
15
11
10
2
6
14
10
ฉ. f (A,B,C,D ) = πm(0 ,1 ,2 ,4 ,6 ,8 ,9)
CD
AB
00 01
11
10
00
0
4
12
8
01
1
5
13
9
11
3
7
15
11
10
2
6
14
10
ช. f (A,B,C,D ) = πm(0 ,4 ,5 ,7 ,9 ,11,13 ,14 )
CD
AB
00 01
11
10
00
0
4
12
8
01
1
5
13
9
11
3
7
15
11
10
2
6
14
10
ซ. f (A,B,C,D ) = πm(1 ,3 ,5 ,7 ,9 ,14)
CD
AB
00 01
11
10
00
0
4
12
8
01
1
5
13
9
11
3
7
15
11
10
2
6
14
10
input
ตัวอย่ าง จงออกแบบวงจร Logic จาก
Truth table ต่อไปนี้
ก. วงจรประกอบด้วย NAND
gateเพียงอย่างเดียว
ข. วงจรประกอบด้วย NOR
gateเพียงอย่างเดียว
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
output
Y
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
ก. วงจรประกอบด้วย NAND gateเพียงอย่างเดียว
f (A,B,C,D ) = m(5 ,7 ,8 ,10 ,12 ,13 ,14 ,15)
AB
00 01 11 10
CD
0
4
12
8
00
1 1
AD
1
5
13
9
01
1 1
11
3
10
2
1
7
6
1
1
15
11
14
10
1
BD
Y = AD + BD
= AD + BD
= AD . BD
B
D
A
Y
ข. วงจรประกอบด้วย NOR gateเพียงอย่างเดียว
f (A,B,C,D ) = πm(0 ,1 ,2 ,3 ,4 ,5 ,6 ,9 ,11)
AB
00 01 11 10
CD
0
4
12
8
00
01
1
5
13
9
11
3
7
15
11
10
2
6
14
10
A
D
B
Y
ตัวอย่ าง จงออกแบบวงจร logic จาก Switching function ต่อไปนี้
ก. f (A,B,C,D ) = m(3 ,4 ,5 ,7 ,8 ,10 ,12 ,14)
AB
00 01 11 10
CD
0
4
12
8
ABC
00
1 1 1
1
5
13
9
ACD
01
1
11
10
1
3
2
1
7
15
11
6
14
10
1
1
f (A,B,C,D ) = ABC+ACD+AD
AD
A
A BC
CD D
Y
ข. f (A,B,C,D ) = πm(2 ,3 ,4 ,6 ,10 ,11 ,13)
AB
00 01 11 10
CD
0
4
12
8
00
01
1
5
13
9
11
3
7
15
11
10
2
6
14
10
A AB B C
CD D
Y
ตั ว อย่ า ง จงออกแบบวงจร
logic ที่ให้ output เป็ น logical
1เมื่อ input อย่างน้อย 2 ตัวจาก
input 4 ตัว เป็ น logical 1 โดย
ใช้ NOR gate
input
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
output
Y
CD
AB
00 01
11
10
00
0
4
12
8
01
1
5
13
9
11
3
7
15
11
10
2
6
14
10
การเขียน canonical form โดยใช้แผนผังคาร์โนห์
การลดรู ป Boolean expression หรื อ Switching function เราสามารถใช้
Karnaugh map ช่วยในการแก้ปัญหาได้ แต่ในบางครั้ง Boolean expression
หรื อ Switching function ที่ไม่ได้อยูใ่ นรู ปของ canonical form เสี ยก่อน แล้ว
จึงลดรู ปโดยใช้ Karnaugh map
การเขียน canonical Sum of Product form หรื อ canonical Product of
Sum โดยใช้ Karnaugh map มีวิธีการคือ ใส่ logical 1 หรื อ 0 จาก
Combination ของตัวแปรลงใน Karaugh map logical 1 หรื อ 0 ที่ซ้ ากันให้
ตัดทิ้ง
ตัวอย่ าง จงเขียน canonical Sum of Product form จาก Switching function ที่
กาหนดให้ต่อไปนี้
ก. f (A,B,C ) = A
AB
C 00 012 11 10
0
6
0
1 1
3
7
1
1
1 1
4
5
A
f (A,B,C ) = A
= m(4 ,5 ,6 ,7)
= ABC+ABC+ABC+ABC
ข. f (A,B,C ) = B + C
AB
C 00 012 11 10
0
6
0
1
1
3
7
4
5
ค. f (A,B,C ) = A + BC
AB
C 00 012 11 10
0
6
0
1
1
3
7
4
5
ง. f (A,B,C,D ) = D + ABD
CD
AB
00 01
11
10
00
0
4
12
8
01
1
5
13
9
11
3
7
15
11
10
2
6
14
10
จ. f (A,B,C,D ) = AB + AD
CD
AB
00 01
11
10
00
0
4
12
8
01
1
5
13
9
11
3
7
15
11
10
2
6
14
10
ฉ. f (A,B,C,D ) = ABC+ABC+BCD+ACD+BCD
CD
AB
00 01
11
10
00
0
4
12
8
01
1
5
13
9
11
3
7
15
11
10
2
6
14
10
ช. f (A,B,C,D ) = CD+AC+ABC+ACD
CD
AB
00 01
11
10
00
0
4
12
8
01
1
5
13
9
11
3
7
15
11
10
2
6
14
10
ตัวอย่ าง จงเขียน canonical Product of Sum form จาก Switching function ที่
กาหนดให้ต่อไปนี้
ก. f (A,B,C ) = B
AB
C 00 012 11 10
0
6
0
0 0
3
7
1
1
0 0
4
5
A
f (A,B,C ) = B
= πm(2 ,3 ,6 ,7)
= (A+B+C)(A+B+C)(A+B+C)(A+B+C)
ข. f (A,B,C ) = A(B+C)
AB
C 00 012 11 10
0
6
0
1
1
3
7
4
5
ค. f (A,B,C ) = (A+B)(B+C)(A+B)
AB
C 00 012 11 10
0
6
0
1
1
3
7
4
5
ง. f (A,B,C,D ) = A+B
CD
AB
00 01
11
10
00
0
4
12
8
01
1
5
13
9
11
3
7
15
11
10
2
6
14
10
จ. f (A,B,C,D ) = (A+B)(A+C+D)
CD
AB
00 01
11
10
00
0
4
12
8
01
1
5
13
9
11
3
7
15
11
10
2
6
14
10
ฉ. f (A,B,C,D ) = (A+B+C)(A+B+C)(A+C+D)
CD
AB
00 01
11
10
00
0
4
12
8
01
1
5
13
9
11
3
7
15
11
10
2
6
14
10
ตัวอย่ าง จงลดรู ป Switching function ต่อไปนี้โดยใช้ Karnaugh map
ก. f (A,B,C,D ) = (ABC)+(ABD)+(BCD)+(ABCD)
CD
AB
00 01
00
0
01
1
11
3
10
2
1
1
1
1
11
10
4
12
8
5
13
9
7
6
1
1
1
(ABC)
CD
(ABD)
15
11
14
10
(ABCD)
(BCD)
AB
00 01
10
00
0
4
12
8
01
1
5
13
9
11
3
7
15
11
10
2
6
14
10
f (A,B,C,D ) = (ABC)+(ABD)+(BCD)+(ABCD)
= (AB+(BC)+(BD)
11
ข. f (A,B,C,D ) = (A+C+D)(A+C+D)(A+B+C)(A+B+C+D)
CD
AB
00 01
11
10
00
0
4
12
8
01
1
5
13
9
11
3
7
15
11
10
2
6
14
CD
AB
00 01
11
10
00
0
4
12
8
01
1
5
13
9
11
3
7
15
11
10
10
2
6
14
10
=
(B+C)(C+D)
วงจร Half Adder
วงจร Half Adder คือวงจรที่ใช้ในการบวกเลข Binary 2 bits เข้าด้วยกัน เรา
สามารถสร้าง Truth table สาหรับวงจร Half Adder โดยมี Input เป็ นเลข Binary
2 ตัว และ Output มี 2 ตัวเช่นเดียวกันคือ ผลบวก(Sum) และตัวทด (Carry) ได้
ดังนี้
Output
Input
A B Sum Carry
Sum = (AB)+(AB)
0
0
0
0
0+0= 0 ทด 0
0
1
0
0
0+1= 1 ทด 0
1
0
1
1
1
1
1
1
1+0= 1 ทด 0
1+1= 0 ทด 1
= A+ B
Carry = AB
A
A B
B
Sum
Carry
A
B
Sum
Carry
รู ป วงจร Half adder
วงจร Full Adder
วงจร Full Adder คื อ วงจรที่ ใ ช้ใ นการ
บวกเลข Binary 2 bits และตัวทดอีก 1
รวมเป็ น 3 bits เข้าด้วยกัน เราสามารถ
สร้าง Truth table สาหรับวงจร Full
Adder โดยมี Input เป็ นเลข Binary 2 ตัว
และ Carry in (Ci) อีก 1 ตัว ส่ วน Output
มี 2 ตัวเช่น เดียวกันคือ ผลบวก(Sum)
และตัวทด (Carry out Co) ได้ดงั นี้
Output
Input
A B Ci Sum Co
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
Sum = m(1 ,2 ,4 ,8 )
AB
Ci 00 01 2 11 10
0
6
0
1
1
3
7
1
1 1
1
4
Sum = (ABCi)+(ABCi)+(ABCi)+(ABCi)
5
Carry = m(3 ,6 ,7 ,8 )
AB
Ci 00
0
1
01
2
0
1
11
1
1
3
1
10
6
4
7
5
1
Sum = (AB)+(ACi)+(BCi)
A
A B
B
Ci
Ci
Sum
Carry
วงจร Full Adder
วงจร Half Subtractor
วงจร Half Subtractor คือวงจรที่ใช้ในการลบเลข Binary 2 bits เข้าด้วยกัน
เราสามารถสร้าง Truth table สาหรับวงจร Half Subtractor โดยมี Input เป็ นเลข
Binary 2 ตัว และ Output มี 2 ตัวเช่นเดียวกันคือ ผลต่าง(Difference) และตัวยืม
(Borrow) ได้ดงั นี้
Output
Input
A B Diiff Bor
Difference = (AB)+(AB)
0
0
0
0
0-0= 0 ยืม 0
0
1
1
1
0-1= 1 ยืม 1
1
0
1
0
1
1
1
0
1-0= 1 ยืม 0
1-1= 0 ยืม 0
= A+ B
Borrow = AB
A
A B
B
Difference
Borrow
A
B
Difference
Borrow
รู ป วงจร Half Subtractor
วงจร Full Subtractor
วงจร Full Subtractor คื อ วงจรที่ ใ ช้ใ น
การลบเลข Binary 2 bits และตัวยืมอีก 1
bits เราสามารถสร้ าง Truth table
สาหรั บวงจร Full Subtractor โดยมี
Input เป็ นเลข Binary 2 ตัวและ ตัวยืม
(Borrow in,Bi) ส่ วน Output มี 2 ตัวเช่น
เดียวกันคือ ผลต่าง(Difference) และตัว
ตัวยืม (Borrow out ,Bo) ได้ดงั นี้
Output
Input
A B Ci Sum Co
0
0
0
0
0
0
0
1
1
1
0
1
0
1
1
0
1
1
0
1
1
0
0
1
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
Diff = m(1 ,2 ,4 ,8 )
AB
Bi 00 01 2 11 10
0
6
0
1
1
3
7
1
1 1
1
4
5
Diff = (ABBi)+(ABBi)+(ABBi)+(ABBi)
Carry = m(1 ,2 ,3 ,7)
AB
Bi 00
0
1 1
01
0
1
1
1
11
2
3
1
10
6
4
7
5
Bo = (AB)+(ABi)+(BBi)
A
A B
B
Bi
Bi
Diff
Bo
วงจร Full Subtractor
Don’t care term
ดังที่ กล่าวมาแล้วว่า รหัสเลขฐานสองซึ่ งสร้ างขึ้นมาเลี ยนแบเลขฐานสิ บ
เช่น BCD code ,excess-3 ฯลฯ จะมีจานวนเท่ากับจานวนของเลขฐานสิ บ คือ 10
รหัส เมื่อเราเปรี ยบเทียบกับ Karnaugh map ชนิ ด 4 ตัวแปรซึ่งมีอยู่ 16 ช่อง จะ
เห็นว่า มีจานวนช่องมากกว่าจานวนรหัสอยู่ 6 ช่องนัน่ คือ จานวน 6 ช่องที่
มากกว่าอยูน่ ้ ี เราสามารถที่จะให้มนั เป็ น logic 0 หรื อ 1 ก็ได้ ซึ่งเราเรี ยกว่า Don’t
care term ใช้ตวั ตัวย่อว่า d
เรามีความจาเป็ นที่เราต้องใส่ Don’t care term ลงใน Karnaugh mapในช่อง
ที่ว่างอยู่ และกาหนดให้มนั เป็ น logic 0 หรื อ 1 ค่าใดค่าหนึ่ ง ค่าใดค่าหนึ่ งที่เรา
ต้องการ ทั้งนี้ เพื่อประโยชน์ในการทาให้การการออกแบบวงจร logic จาก
function ของ output มีจานวน gate น้อยที่สุด
ตัวอย่าง จงหา Function ของ output จาก Truth table ต่อไปนี้
Input BCD-8421
output
A B C D Y
0 0
0 0 0
0 0
0 1 0
0 0
1 0 0
0 0
1 1 1
0 1
0 0 1
0 1
0 1 1
0 1
1 0 0
0 1
1 1 1
1 0
0 0 0
1 0
0 1 0
CD
AB
00 01
00
0
01
1
11 1
10
3
2
Y
1
1
1
4
5
7
6
11 10
12
8
d
d
d
d
13
9
15
11
14
d
d
10
CD
AB
00 01
00
0
01
1
11 1
10
3
2
1
1
1
11
4
5
7
6
1
1
1
12
8
13
9
15
11
14
= m(3 ,4 ,5 ,7) +d(10 ,11 ,12 ,13 ,14 ,15)
= BC+CD
10
1
10
BC
CD
ตัวอย่าง จงออกแบบวงจร logic ที่ใช้สาหรับเปลี่ยนรหัสจากรหัส BCD-8421 เป็ น
*
รหัส BCD 2421
*
Input BCD-8421
Output BCD-2421
A B C D W X Y Z
0 0
0 0 0 0 0 0
0 0
0 1 0 0 0 1
0 0
1 0 0 0 1 0
0 0
1 1 0 0 1 1
0 1
0 0 0 1 0 0
0 1
0 1 1 0 1 1
0 1
1 0 1 1 0 0
0 1
1 1 1 1 0 1
1 0
0 0 1 1 1 0
1 0
0 1 1 1 1 1
CD
AB
00 01
11
10
00
0
4
12
8
01
1
5
13
9
11
3
7
15
11
10
2
6
14
10
CD
AB
00 01
11
10
00
0
4
12
8
01
1
5
13
9
11
3
7
15
11
10
2
6
14
10
W = A + BC + BD
CD
AB
00 01
11
10
00
0
4
12
8
01
1
5
13
9
11
3
7
15
11
10
2
6
14
10
CD
AB
00 01
11
10
00
0
4
12
8
01
1
5
13
9
11
3
7
15
11
10
2
6
14
10
X = A + BC + BD
CD
AB
00 01
11
10
00
0
4
12
8
01
1
5
13
9
11
3
7
15
11
10
2
6
14
10
CD
AB
00 01
11
10
00
0
4
12
8
01
1
5
13
9
11
3
7
15
11
10
2
6
14
10
Y = A + BC + BCD
CD
AB
00 01
11
10
00
0
4
12
8
01
1
5
13
9
11
3
7
15
11
10
2
6
14
10
CD
AB
00 01
11
10
00
0
4
12
8
01
1
5
13
9
11
3
7
15
11
10
2
6
14
10
Z = D
A
B
B C
C
D
D
W
X
Y
Z
ของฝาก
1.จงลดรู ป Switching function ต่อไปนี้
ก.f (A,B,C) = m(2,3,5,6)
ข.f (A,B,C) = m(0,1,4,7)
ค.f (A,B,C,D) = m(0,1,4,6,913,14,15)
ง.f (A,B,C,D) = m(0,1,2,8,9,10,11,12,13,14,15)
จ.f (A,B,C,D) = m(0,1,2,3,5,7,8,9,10,11,12,13,14,15)
ฉ.f (A,B,C,D) = m(2,4,5,9,11,12,15)
2.จงลดรู ป Switching function ต่อไปนี้
ก. f (A,B,C ) = πm(2 ,3 ,5 ,6 ,7)
ข. f (A,B,C) = πm(0,1,4,7)
ค. f (A,B,C,D) = πm(0,1,4,6,9,13,14,15)
ง. f (A,B,C,D) = πm(0,1,2,8,9,10,11,12,13,14,15)
จ. f (A,B,C,D) =
πm(0,1,2,3,5,7,8,9,10,11,12,13,14,15)
ฉ. f (A,B,C,D) = πm(2,4,5,9,11,12,15)
3 จงเขียน canonical Sum of Product form จาก Switching
function ที่กาหนดให้ต่อไปนี้
ก. f (A,B,C ) = AB + BC + AC
ข. f (A,B,C,D) = BCD + ABC + ABD
ค. f (A,B,C,D) = BC + BC + CD + ABC + ABCD
4. จงเขียน canonical Product of Sum form จาก Switching
function ที่กาหนดให้ต่อไปนี้
ก. f (A,B,C ) = (A+B)(B+C)(A+C)
ข. f (A,B,C,D) = (B+C+D)(A+B+C)(A+B+D)
ค. f (A,B,C,D) = (B+C)(B+C)(C+D)(A+B+C)(A+B+C+D)
5. จงออกแบบวงจร Logic จาก
f (A,B,C,D) = A(B+C(D+A))+(ABD)
ก. วงจรประกอบด้วย NAND gateเพียงอย่างเดียว
ข. วงจรประกอบด้วย NOR gateเพียงอย่างเดียว
6. จาก Timing Diagram ที่กาหนดให้ จงออกแบบวงจร
Logic ที่ใช้
ก. วงจรประกอบด้วย NAND gateเพียงอย่างเดียว
ข. วงจรประกอบด้วย NOR gateเพียงอย่างเดียว
A
8.จงลดรู ป Switching function ต่อไปนี้
ก. f (A,B,C,D) = πm(2,9,10,12,13) +
d(1,5,14)
ข. f (A,B,C,D) = πm(1,3,6,7) + d(4,9,11)
ค. f (A,B,C,D) = π m(0,6,9,10,13) + d(1,3,8)
ง. f (A,B,C,D) = π m(1,4,7,10,13) + d(5,14,15)
9. จงออกแบบวงจร Logic ที่มี Input เป็ น BCD-8421 ซึ่ง
แทนด้วยเลข Decimal 0 ถึง 9 และจะให้ Output เป็ น logic 1
ก็ต่อเมื่อ Input เป็ นเลขคี่เท่านั้น
B
C
D
Y
7.จงลดรู ป Switching function ต่อไปนี้
ก.f (A,B,C,D) = m(2,9,10,12,13)+ d(1,5,14)
ข.f (A,B,C,D) = m(1,3,6,7) + d(4,9,11)
ค.f (A,B,C,D) = m(0,6,9,10,13) + d(1,3,8)
ง.f (A,B,C,D) = m(1,4,7,10,13) + d(5,14,15)
10. จงออกแบบวงจร Logic ที่มี Input เป็ น Excess-3 code
ซึ่งแทนด้วยเลข Decimal 0 ถึง 9 และจะให้ Output เป็ น logic
1 ก็ต่อเมื่อ Input หารด้วย 3 ลงตัวพอดี (ยกเว้น 0) โดยใช้
NOR gate เพียงอย่างเดียว
*
11.จงออกแบบวงจร Logic ที่ใช้สาหรับเปลี่ยนจาก BCD-2421
เป็ น Excess-3 code
12.จงออกแบบวงจร Logic ที่ใช้สาหรับเปลี่ยนจาก Excess-3
code เป็ น BCD-8421 code โดยใช้ NAND gate เพียงอย่าง
เดียว