Page 1

Boolean Algebra


Boolean Algebra Boolean Algebra Theory

ถ้าเกตราคาต ัวละ 5 บาทต้องใชเ้ งิน 15 บาท ถ้าเวลาในการทำางานแต่ละต ัว 20 ns ต้องใชเ้ วลา 60 ns ต้องใชพ ้ น ื้ ทีว่ างอุปกรณ์ 3 ต ัว

ี ง ย พ เ ไฟ ว!! ย า ี ส ้ เด ย น เส


พีชคณิตของบูลน ี (Boolean

Algebra)

 เลข “1” เป็ นสญ ั ลักษณ์แทนค่า “จริง”  เลข “0” เป็ นสญ ั ลักษณ์แทนค่า “เท็จ”  และ “x” แทนข ้อความหรือเหตุการณ์ทอ ี่ าจมีสภาวะลอจิกเป็ น

“จริง” หรือ “เท็จ” ก็ได ้


ทฤษฎีบท Axiom  ทฤษฎีบทที่ 1  ทฤษฎีบทที่ 2  ทฤษฎีบทที่ 3  ทฤษฎีบทที่ 4  ทฤษฎีบทที่ 5  ทฤษฎีบทที่ 6  ทฤษฎีบทที่ 7  ทฤษฎีบทที่ 8

 ทฤษฎีบทที่ 9  ทฤษฎีบทที่ 10

0•0 = 0 0•1 = 0 1•0 = 0 1•1 = 1 0+0 = 0 0+1 = 1 1+0 = 1 1+1 = 1 1 = 0 0= 1


ทฤษฎีการสล ับที่ (Commulative Theorem) A+B = B+A

A.B = B.A A

B

A.B

0 0 1 1

0 1 0 1

0 0 0 1

=

B.A

A

B

0 0 0 1

0 0 1 1

0 1 0 1

A+B B+A 0 1 1 1

=

0 1 1 1


ทฤษฎีการจ ัดกลุม ่ (Associative Theorem) (A+B)+C = A+ (B+C)

(A.B).C = A. (B.C) A B C 0 0 0 0 1 1 1 1

0 0 1 1 0 0 1 1

0 1 0 1 0 1 0 1

(A.B).C 0 0 0 0 0 0 0 1

A.(B.C) 0 0 0 0 0 0 0 1

A B C (A+B)+C A+(B+C) 0 0 0 0 1 1 1 1

0 0 1 1 0 0 1 1

0 1 0 1 0 1 0 1

0 1 1 1 1 1 1 1

0 1 1 1 1 1 1 1


ทฤษฎีการกระจาย (Distributive Theorem) A.(B+C) = A.B+A.C A B C A 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1 1

C 0 1 0 1 0 1 0 1

B+C 0+0 =0

Y = A(B+C)

0 +1= 1 1+ 0 = 1 1+ 1 = 1

0⋅0 = 0 0 ⋅1 = 0 0 ⋅1 = 0 0 ⋅1 = 0

0+0 =0

1⋅ 0 = 0

0 +1= 1 1+ 0 = 1

1⋅ 1 = 1 1⋅ 1 = 1 1⋅ 1 = 1

1+ 1 = 1

B A C

=

A 0 0 0 0 1 1 1 1

Y B 0 0 1 1 0 0 1 1

C 0 1 0 1 0 1 0 1

AB 0 ⋅0 = 0 0 ⋅0 = 0 0 ⋅1 = 0 0 ⋅1 = 0

1⋅0 = 0 1⋅0 = 0

1 ⋅1 = 1 1 ⋅1 = 1

AC

AB+AC

0⋅0 = 0 0 ⋅1 = 0 0⋅0 = 0 0 ⋅1 = 0

0+0 =0 0+0 =0 0+0 =0 0+0 =0

1⋅ 0 = 0 1⋅ 1 = 1 1⋅ 0 = 0

0+0 =0 0 +1= 1 1+ 0 = 1

1⋅ 1 = 1

1+ 1 = 1


ทฤษฎีไอเดมโพเทนท์ (Idempotent Properties)

A

A.A =

A

A+A =

ทฤษฎีเอกล ักษณ์ (Identity Theory)

A

A.1 =

A+1 = 1


ทฤษฎีวา ่ งโพเทนท์ (Non Theorem)

A.0 = 0

A

A+0 =

ทฤษฎีการนิเสธ (Negative Theory)


ั้ (Double Negative Theory) ทฤษฎีการนิเสธ 2 ชน


ทฤษฎีการดูดกลืน (Absorption Theorem) A+AB=A A(A+B)=A A+AB=A+B

A+AB=A(1+B) =A.1 =A

A(A+B)=AA+AB =A+AB =A

A+AB =A+AB+AB =A+(AB+AB) =A+B(A+A) =A+B(1) =A+B


ทฤษฎีของดีมอร์แกน (Demorgan’s Theorem)

A B

AB

=

A B

A+B

A B

A+B

=

A B

A B


รูปแบบของสมการบูลน ี แบบมาตรฐาน Sum-of-Products Output = product1 + product2 + product3 + product4

Y = A BC + A BC + A BC + A BC Product term

+

Product term

+

Product term

SUM กัน นำำมำ OR

+

Product term


รูปแบบของสมการบูลน ี แบบมาตรฐาน Product -of-Sums Output =

(sum1) (sum2) (sum3) (sum4) •

Y = ( A + B + C) ( A + B + C) ( A + B + C) ( A + B + C)

Sum term

Sum term

Sum term

นำำมำ Product AND กัน

Sum term


รูปแบบของสมการบูลน ี แบบมาตรฐาน Product term = เทอมของการ AND ก ัน

Y = A BC + A BC + A BC + A BC Product term

Product term

Product term

Product term

Sum term = เทอมของการ OR ก ัน Y = ( A + B + C) ( A + B + C) ( A + B + C) ( A + B + C) Sum term

Sum term

Sum term

Sum term


วิธก ี ารเขียนสมการบูลน ี แบบ Sum of Product 1.

พิจารณาเฉพาะ Output ทีเ่ ป็น “1”

2. เขียน Product term 3. นำา Product term มา Sum ก ัน A=0 B =1 A =1 B =1

=> A B => A B

Y = AB + AB


วิธก ี ารเขียนสมการบูลน ี แบบ Product of Sum 1.

พิจารณาเฉพาะ Output ทีเ่ ป็น “0” 2. เขียน Sum term 3. นำา Sum term มา Product ก ัน

Y = ( A + B) ( A + B) A=0 B=0 A =1 B=0

=> ( A + B )

=> ( A + B )


ผลของสมการบูลน ี ทงสองแบบ ั้ Sum of Product

Y = AB + AB Y = B ( A + A) Y = B (1) Y =B

Product of Sum

Y = ( A + B )( A + B ) Y = A A + AB + A B + BB Y = 0 + AB + AB + B Y = AB + AB + B Y = B( A + A + 1)

Y = B (1) Y =B

ลดรูปแล้ วได้ สมการเป็ น Y = B เหมือนกัน


ต ัวอย่างการเขียนสมการลอจิกจาก ตารางความจริง ตารางความจริง A 0 0 0 0 1 1 1 1

I/P B 0 0 1 1 0 0 1 1

C 0 1 0 1 0 1 0 1

O/P Y 0 1 0 1 0 1 0 1

แบบ Sum of Product A BC

พิจารณาเฉพาะ Output ทีเ่ ป็น “1”

ABC A BC ABC

Y = A BC + ABC + A BC + ABC


ต ัวอย่างการเขียนสมการลอจิกจาก ตารางความจริง ตารางความจริง A

I/P B

C

O/P Y

0

0

0

0

A + B+ C

0 0

0 1

1 0

1 0

A + B+ C

0

1

1

1

1 1

0 0

0 1

0 1

A + B+ C

1

1

0

0

A + B+ C

1

1

1

1

(

แบบ Product of Sum พิจารณาเฉพาะ Output ทีเ่ ป็น “0”

)(

)(

Y = ( A + B + C) ⋅ A + B + C ⋅ A + B + C ⋅ A + B + C

)


แบบฝึ กห ัด จงเขียนสมการบูลน ี แบบ Sum-of-Product และ Product of Sum จากตารางความจริงนี้ แล้วใช ้ Boolean Algebra ลดรูปสมการให้เล็กทีส ่ ด ุ

A B C

Y

0

0

0

0

0

0

1

0

1

0

Sum term

A

B

C

Y

0

0

0

0

0

0

0

1

0

0

0

0

1

0

0

1

1

1

0

1

1

1

1

0

0

0

1

0

0

0

1

0

1

1

1

0

1

1

1

1

0

1

1

1

0

1

1

1

1

1

1

1

1

1

Product term


Y = ABC + ABC + ABC + ABC Sum term

Y = ABC + ABC + AB (C + C )

A B

C

Y

0

0

0

0

0

0

1

0

0

1

0

0

0

1

1

1

1

0

0

0

1

0

1

1

1

1

0

1

Y = ( AB + A)C + AB

1

1

1

1

Y = ( B + A)C + AB

Y = ABC + A BC + AB Y = ABC + A( BC + B ) Y = ABC + A(C + B ) Y = ABC + AC + AB

Y = BC + AC + AB


A

B

C

Y

0

0

0

0

0

0

1

0

0

1

0

0

0

1

1

1

1

0

0

0

1

0

1

1

1

1

0

1

1

1

1

1

Product term


ปัญหาหลัก ของการลดรูปสมการ โดยใช้ Boolean Algebra คือ

อะไร

จึงได้ มกี ารคิดวิธีลดรู ปสมการ ลอจิกอีกวิธีเรียกว่ า Karnaugh Map (แผนภาพคาร์ นอร์ )

Y = ABC + A BC + ABC + A B C + A B C + ABC

ไม่รูจ้ ะใช้ทฤษฎีใดในการลดรูป

ลอง พิจารณา สมการ ยาว ๆ แบบนี้ ดู


แผนภาพคาร์นอร์ (Karnaugh map) o o o o o

แผนภาพคาร์นอร์เป็ นวิธีการลดรูปสมการเพื่อให้ได้วงจรที่เล็กลง ทำาให้ลดค่าใช้จ่ายและเพิ่มความเร็วในการทำางาน สมการที่ได้นี้สามารถเขียนในรูปของ Sum-of-Products หรือ Product-of-Sums ก็ได้ มักจะใช้กบั สมการที่มีตวั แปรอินพุทไม่เกิน 4 ตัว ประกอบด้วยตารางซึ่งเรียกว่า Cell จำานวนเท่ากับ 2n เมื่อ n คือจำานวนตัวแปร อินพุท

2 อินพุท 4 อินพุท 3 อินพุท


แผนภาพคาร์นอร์ 2 อินพุท


แผนภาพคาร์นอร์ 3 อินพุท


แผนภาพคาร์นอร์ 4 อินพุท


ความหมายของแผนภาพคาร์นอร์แต่ละช่องสำาหรับ 2 อินพุท

A=0 A=1 B=0 B=1


ความหมายของแผนภาพคาร์นอร์แต่ละช่องสำาหรับ 3 อินพุท

A=0

0 1 2 3 4 5 6 7

A=1 B=0 B=0

B=1 B=1

C=0 C=1

C=1 C=0

0

1

3

2

4

5

7

6


ความหมายของแผนภาพคาร์นอร์แต่ละช่องสำาหรับ 4 อินพุท


การเลือกOutputใส่ลงใน K-Map สำาหรับ 2 อินพุท

0 1 0 1

A=0 B=0


การเลือกOutputใส่ลงใน K-Map สำาหรับ 3 อินพุท

0 1 2 3 4 5 6 7

0 1 0 1 0 1 0 1

0

1

3

2

4

5

7

6


การวงเพื่อลดรูปสมการ สมการแบบ Sum

of Products

Y = A B + AB Y = B( A + A ) => A B

Y = B •1

=> A B

Y =B

1

วงเฉพาะ “1” Y =B

วงเฉพาะแนวตัง้ หรือแนวนอน ตัวแปรใดเปลี่ยนค่า ให้ตดั ทิ้ง


การวงเพือ่ ลดรู ปสมการ

วงเฉพาะ “1” วงเฉพาะแนวตั้ง A=0 B=1 A=1 B=1

สมการแบบ

Sum of Product

Y = A B + AB Y =B

หรือแนวนอน ตัวแปรใดเปลีย่ นค่ า ให้ ตดั ทิง้ A เปลีย่ นค่ า ตัด A ทิง้

A=0 B=1 A=1 B=1

เหลือ B=1 ได้ สมการเป็ น

เท่ ากับสมการทีไ่ ด้ จาก Boolean

Y =B


การวงเพือ่ ลดรู ปสมการ

วงเฉพาะ “1” วงเฉพาะแนวตั้ง หรือแนวนอน ตัวแปรใดเปลีย่ นค่ า A=1 B=0

สมการแบบ

Sum of Product

Y = A B + AB Y =A

A=1 B=1

ให้ ตดั ทิง้ B เปลีย่ นค่ า ตัด B ทิง้

A=1 B=0 A=1 B=1

เหลือ A=1 ได้ สมการเป็ น

เท่ ากับสมการทีไ่ ด้ จาก Boolean

Y =A


การวงเพือ่ ลดรู ปสมการ

วงเฉพาะ “1” วงเฉพาะแนวตั้ง หรือแนวนอน

A=0 B=0 A=1 B=0

สมการแบบ

Sum of Product

Y = AB + AB Y =B

ตัวแปรใดเปลีย่ นค่ า ให้ ตดั ทิง้ A เปลีย่ นค่ า ตัด A ทิง้ A=0 B=0 A=1 B=0

เหลือ B=0 ได้ สมการเป็ น

เท่ ากับสมการทีไ่ ด้ จาก Boolean

Y =B


การวงเพือ่ ลดรู ปสมการ

สมการแบบ

Sum of Product

Y = AB + AB + AB Y =( AB + AB ) + AB + AB

Y =( AB + AB)+( AB + AB)

Y = A ( B + B ) + B ( A + A)

Y = A+B


การวงเพือ่ ลดรู ปสมการ

A=0 B=0 A=0 B=1

B เปลีย่ นค่ า ตัด B ทิง้ A=0 B=0 A=1 B=0

สมการแบบ

Sum of Product

Y = AB + AB + AB

Y = A+B

มี 2 วง ได้ 2 Product term

A=0 B=1

เหลือ A=0 ได้ สมการ

A A เปลีย่ นค่ า ตัด A ทิง้

A=0 B=0 A=1 B=0

เหลือ B=0 ได้ สมการเป็ น

B


การวงเพือ่ ลดรู ปสมการ B

B

A

1

0

A

1

0

B

B

A

0

1

A

1

1

Y =B

B

B

A

1

1

A

1

1

Y = B+A B C

B C

B C

B C

A

1

1

0

0

A

0

0

1

1

A B

Y=1 B C

B C

B C

B C

A

0

0

1

1

A

0

0

1

1 B

A B

B C

B C

B C

B C

A

1

1

1

1

A

0

0

1

1

A

B


3 วง 3 Product term

การวงเพือ่ ลดรู ปสมการ

#1

ลองดูตัวอย่ างนี้ ว่ าจะวงยังไง

ข้ อคิดที่ 1 วงให้ มีจำานวนวงน้ อยทีส่ ุ ด เพือ่ ให้ มจี ำานวน Product Y = B C + A B + AC term น้ อยทีส่ ุ ด 2 วง 2 Product term #2

แบบใดลดรู ปได้ มากกว่ ากัน ! ลองคิดดู

Y = B C + AC


การวงเพือ่ ลดรู ปสมการ ลองดูอกี ตัวอย่ าง ว่ าจะวงยังไง

#1

ข้ อคิดที่ 2 วงให้ มีสมาชิกในวงมากทีส่ ุ ด เพือ่ ให้ ตัดตัวแปรได้ มากทีส่ ุ ด = B0Cตัว+ B C มี “1” อยู่ 1 ตัว ตัดตัวYแปรได้ มี “1” อยู่ 2 ตัว ตัดตัวแปรได้ 1 ตัว มี “1” อยู่ 4 ตัว ตัดตัวแปรได้ 2 ตัว มี “1” อยู่ 8 ตัว#2 ตัดตัวแปรได้ 3 ตัว มี “1” อยู่ 16 ตัว ตัดตัวแปรได้ 4 ตัว แบบใดลดรู ปได้ มากกว่ ากัน ! ลองคิดดู Y =B


การวงเพือ่ ลดรู ปสมการ ลองดูตัวอย่ าง แล้ วหาข้ อสรุป

K-map นี้ มีอนิ พุท 3 ตัว คือ A B C

ตัวแปร C ถูกตัดออกไป วงแบบนีม้ ี “1” ในวง 2 ตัว จึงตัดตัวแปรได้ 1 ตัว ได้ สมการเป็ น Y = A B


การวงเพือ่ ลดรู ปสมการ ลองดูตัวอย่ าง แล้ วหาข้ อสรุป

วงแบบนีม้ ี “1” ในวง 4 ตัว จึงตัดตัวแปรได้ 2 ตัว ได้ สมการเป็ น Y = B

K-map นี้ มีอนิ พุท 3 ตัว คือ A B C

ตัวแปร A กับ C ถูก ตัดออกไป


การวงเพือ่ ลดรู ปสมการ ลองดูตัวอย่ าง แล้ วหาข้ อสรุป

วงแบบนีม้ ี “1” ในวง 8 ตัว จึงตัดตัวแปรได้ 3 ตัว ได้ สมการเป็ น Y = 1

K-map นี้ มีอนิ พุท 3 ตัว คือ A B C

ตัวแปร A B และ C ถูกตัดออกไป


ข้ อควรจำา 2 ข้ อ เกีย่ วกับการวง เพือ่ ให้ ได้ สมการทีเ่ ล็กทีส่ ุ ด ข้ อคิดที่ 1 วงให้ มจี ำานวนวงน้ อยทีส่ ุ ด เพือ่ ให้ มจี ำานวน Product term น้ อยทีส่ ุ ด

ข้ อคิดที่ 2 วงให้ มสี มาชิกในวงมากทีส่ ุ ด เพือ่ ให้ ตัดตัวแปรได้ มากทีส่ ุ ด มี “1” อยู่ 1 ตัว ตัดตัวแปรได้ 0 ตัว มี “1” อยู่ 2 ตัว ตัดตัวแปรได้ 1 ตัว มี “1” อยู่ 4 ตัว ตัดตัวแปรได้ 2 ตัว มี “1” อยู่ 8 ตัว ตัดตัวแปรได้ 3 ตัว มี “1” อยู่ 16 ตัว ตัดตัวแปรได้ 4 ตัว


ตัวอย่ าง การวงเพือ่ ลดรู ปสมการ B

B

A

1

0

A

1

0

B

B

A

0

1

A

1

1

Y =B

B

B

A

1

1

A

1

1

Y = B+A B C

B C

B C

B C

A

1

1

0

0

A

0

0

1

1

A B

Y=1 B C

B C

B C

B C

A

0

0

1

1

A

0

0

1

1 B

A B

B C

B C

B C

B C

A

1

1

1

1

A

0

0

1

1

A

B


การใช้ งานสภาวะ Don’t Care Don’t Care คือสภาวะของเอาท์ พุททีเ่ ป็ น “0” หรือ “1” ก็ได้ โดยทัว่ ไปใช้ ตัวย่ อเป็ น X หรือ d การใช้ งานสภาวะ Don’t Care กับ K-map มีหลักอยู่ 2 ข้ อ 1. ถ้ า Don’t Care ตัวนั้น ทำาให้ วงใหญ่ ขนึ้ ให้ คดิ ว่ าเป็ น “1” แต่ ท้งั นีต้ ้ องไม่ ทาำ ให้ จำานวนวง เพิม่ ขึน้ 2. นอกนั้นให้ คดิ ว่ าเป็ น “0”


ตัวอย่ าง การใช้ งานสภาวะ Don’t Care ถ้ าคิดว่ า Don’t Care เป็ น “0” จะได้ d ถ้ าคิดว่ า Don’t Care เป็ น “1” จะได้

0

Y = BC + AB 1

Y =B


ตัวอย่ าง การใช้ งานสภาวะ Don’t Care ถ้ าคิดว่ า Don’t Care เป็ น “0” จะได้

0

Y = BC + AB d ถ้ าคิดว่ า Don’t Care เป็ น “1” จะได้

1

Y = B C + A B + AC

Digital4boolean  
Read more
Read more
Similar to
Popular now
Just for you