วันพุธที่ 3 มกราคม พ.ศ. 2561

พีชคณิตบูลีน (Boolean Algebra) เป็นส่วนหนึ่งในเรื่องทางคณิตศาสตร์ที่ใช้วิเคราะห์ปัญหาทางตรรก ถูกคิคค้นพัฒนาโดยนักคณิตศาสตร์ชาวอังกฤษ ชื่อ จอร์จ บูล (George Boole) ต่อมามีผู้พัฒนาให้สมบูรณ์ขึ้นอีกหลายคน ปัจจุบันเราใช้พีชคณิตบูลีนในการออกบบวงจรลอจิก ซึ่งตัวแปรแต่ละตัวจะแทนสภาวะเพียงสองอย่าง คือ 0 หรือ 1 เท่านั้น ซึ่งการนำทฤษฎีบูลีนมาใช้จะทำให้ลดความยุ่งยากของวงจรลอจิกลง ทำให้ประหยัดในการสร้าง และลดความผิดพลาดในการประกอบวงจรได้ นอกจากนี้พีชคณิตบูลีนยังเป็นพื้นฐานในการคิดค้นวิธีการลดรูปของสมการลอจิกให้สั้นลงอีกหลายวิธี ทำให้เราสามารถทำงานได้ถูกต้อง แม่นยำ และง่ายยิ่งขึ้น





6.1 เกตพื้นฐาน

AND Gate การกระทำ AND จะให้เอาท์พุทออกมาเป็นลอจิก 1 หรือแรงดัน H เมื่อตัวแปรอินพุทมีสถานะเป็น ลอจิก 1 หรือมีแรงดัน H ทั้งหมด การ AND แสดงด้วยสัญลักษณ์ ระหว่างตัวแปรลอจิก การ AND ระหว่างตัวแปร A และ B แสดงด้วยสมการลอจิกเป็น Y = f(A, B ) = AB เมื่อ Y คือ เอาท์พุทที่ได้จากการ AND และการกระทำ AND แสดงได้ดังบล็อกไดอะแกรม (ภาพที่ 2)



OR Gate การกระทำ OR จะให้เอาท์พุทออกมาเป็นลอจิก 0 หรือแรงดัน L เมื่อตัวแปรอินพุทมีสถานะเป็น ลอจิก 0 หรือมีแรงดัน L ทั้งหมด การกระทำ OR แสดงด้วยสัญลักษณ์ + ระหว่างตัวแปรลอจิก การ OR ระหว่างตัวแปร A และ B แสดงด้วยสมการลอจิกเป็น Y = f (A, B) = A+B เมื่อ Y คือ เอาท์พุทที่ได้จากการ OR และการกระทำ OR แสดงได้ดังบล็อกไดอะแกรม (ภาพที่ 3)

NOT Gate (Inverters) การกระทำ NOT จะให้เอาท์พุทออกมาเป็นลอจิกที่มีสถานะตรงข้ามกับสถานะลอจิกของตัวแปร อินพุทการ NOT แสดงด้วยสัญลักษณ์ ¯ เหนือตัวแปรลอจิกอินพุท เรียกว่าเครื่องหมาย complement หรือ Bar การกระทำ NOT ของตัวแปร A แสดงด้วยสมการลอจิกเป็น Y = f (A) = A เมื่อ Y คือ เอาท์พุทที่ได้จากการ NOT และ การกระทำ NOT แสดงได้ดังบล็อกไดอะแกรม (ภาพที่ 4)

 NAND Gate การกระทำ NAND เกิดจากการนำตัวแปรด้านเอาท์พุทที่ได้จากการกระทำ AND มาผ่านการกระทำ NOT ท าให้ผลลัพธ์ของตัวแปรที่ได้จากการกระทำ NAND มีสถานะตรงข้ามกับการกระทำ AND นั่นคือ การกระท า NAND จะท าให้ตัวแปรลอจิกทางด้านเอาท์พุทมีสถานะเป็น 0 เมื่อตัวแปรลอจิกทางด้าน อินพุทที่เข้าสู่การกระทำ NAND มีสถานะเป็น 1 ทั้งหมด เราสามารถอธิบายการกระทำ NAND โดยใช้สมการลอจิกดังนี้ 
Y = f(A,B ) = AB เมื่อ AB คือ ผลลัพธ์ที่ได้จากการกระทำ AND และ การกระทำ NAND แสดงได้ดัง บล็อกไดอะแกรม (ภาพที่ 5)


 NOR Gate เกิดจากการนำ inverter มาต่อกับเกต “AND” ทำให้ค่าผลลัพธ์ที่ได้จากเกตชนิดนี้มีค่าตรงกันข้าม กับเกต “AND” และการกระทำ NOR Gate แสดงได้ดังบล็อกไดอะแกรม (ภาพที่ 6)


 Exclusive - OR Gate เป็นการนำเกตพื้นฐานมาประยุกต์ใช้งาน จะให้ผลลัพธ์เป็น “1” เมื่ออินพุตมีค่าตรงกันข้ามกัน และการกระทำ OR Gate แสดงได้ดังบล็อกไดอะแกรม (ภาพที่ 7)

Exclusive – NOR Gate (XNOR Gate) เกิดจากการนำ Inverter มาต่อกับ XOR Gate ทำให้ค่าผลลัพธ์ที่ได้เกตชนิดนี้ มีค่าตรงกันข้ามกับ XOR Gate ทันที ดังนั้น เกตชนิดนี้จึงมีชื่อเรียกอีกอย่างหนึ่งว่า “Comparator” และการกระทำ OR Gate แสดงได้ดังบล็อกไดอะแกรม (ภาพที่ 8)





6.2 การเขียนประพจน์บูลีนจากวงจรลอจิก


การเขียนสมการพีชณิตจากวงจรลอจิกจะใช้หลักการพิจารณารูปวงจรลอจิกทีละส่วน 
โดยเริ่มจาก ด้านอินพุต แล้วพิจารณาไปทางเอาต์พุตตามลำดับ แล้วนำสมการในแต่ละเกตมารวมกันตามคุณสมบัติของ เกตนั้น ๆ ดังตัวอย่าง 
ตัวอย่างที่ 1 ให้เขียนสมการพีชคณิตของวงจรลอจิกต่อไปนี้




6.3 การเขียนวงจรลอจิกจากประพจน์บูลีน 

การออกแบบวงจรลอจิกนั้น ส่วนใหญ่จะพยายามออกแบบให้ใช้เกทน้อยที่สุดเพื่อลดเวลาหน่วงของเกทในการทำงาน ซึ่งจะต้องลดรูป Boolean Expression ให้สั้นที่สุดและในการออกแบบวงจรลอจิก สิ่งที่ต้องคิดเป็นอันดับแรกคือ ต้องการงานอะไร ในลักษณะไหน นั่นคือเราจะต้องสร้างตารางความจริงให้ได้ก่อน จากนั้นจึงนำตารางความจริงที่ได้ผ่านลำดับขั้นตอนต่าง ๆ จนได้เป็นลอจิกไดอะแกรม ซึ่งขั้นตอนในการออกแบบวงจรลอจิก มีขั้นตอนที่พอสรุปได้ดังนี้
1) วิเคราะห์งานหรือความต้องการออกมาเป็นตารางความจริง (Truth table)
2) นำตารางความจริงที่ได้มาเขียนเป็น Boolean Expression โดยลดรูปให้สั้นที่สุด
3) นำ Boolean Expression ที่ลดรูปได้มาเขียนเป็น Logic Diagram
ซึ่งขั้นตอนในการเขียน Boolean Expression จากตารางความจริงนั้น จะต้องอาศัยความรู้จากเรื่องของ Sum Of Product (minterm) และ Product Of Sum (maxterm) มาช่วย โดยมีขั้นตอนในการเขียน Boolean Expression จากตารางความจริง คือ
1) ตัดสินใจว่าจะเลือกใช้รูปแบบของ Sum Of Product (minterm) หรือ Product Of Sum (maxterm) เพียงอย่างใดอย่างหนึ่ง
2) ถ้าเลือกเขียนแบบ Sum Of Product (minterm) ให้พิจารณาเฉพาะตารางความจริงแถวที่มีเอาท์พุทเป็น “1” เท่านั้น และ ถ้าเลือกเขียนแบบ Product Of Sum (maxterm) ให้พิจารณาเฉพาะตารางความจริงแถวที่มีเอาท์พุทเป็น “0”เท่านั้น
3) เขียน Boolean Expression เฉพาะเทอมที่พิจารณาในรูปแบบที่เลือกไว้ แล้วทำการลดรูปให้สั้นที่สุด




6.4 การหาค่าผลลัพธ์ของประพจน์บูลีน


การเขียนตารางค่าความจริงของสมการลอจิกนั้น ต้องพิจารณาจำนวนตัวแปรอินพุต โดยกำหนด สถานะของอินพุตเพียง 2 สถานะเท่านั้น คือ “0” และ “1” ดังนั้น ตารางค่าความจริงจะมีจำนวนเอาต์พุตเป็นเท่าใดขึ้นอยู่กับจำนวนอินพุต คือ จะได้ทั้งหมด 2n เมื่อ n คือ จำนวนอินพุต 
ตัวอย่างที่ 1 ให้เขียนตารางค่าความจริงของสมการพีชคณิตต่อไปนี้ (1) Y = AB + AB โดยที่มีตัวแปรอินพุต 2 ตัว ดังนั้น จึงมีเอาต์พุตทั้งหมด 22 = 4 กรณี




6.5 ทฤษฎีบทของพีชคณิตบูลีน


เป็นพีชคณิตที่ใช้อธิบายความสัมพันธ์ของตัวแปรแบบลอจิก โดยอาศัยตัวดำเนินการทางลอจิกต่าง ๆ ค้นพบโดยนักคณิตศาสตร์ชาวอังกฤษ จอร์ช บลู (George Boole, 1815-1864) กฎของพีชคณิตบูลีน (Law of Boolean Algebra) ที่สำคัญได้แก่ 
1. กฎการตรงกันข้าม (Complement Law) A A = 0 A + A =1 
2. คุณสมบัติของศูนย์ 0 A = 0 0 + A = A 
3. คุณสมบัติของหนึ่ง 1 A =1 1+ A =1 
4. กฎการสลับที่ (Commutative Laws) A + B = B + A AB = BA 
5. กฎการจัดหมู่ (Associative Laws) A + (B + C) = (A + B) + C A(BC) = (AB)C 
6. กฎการกระจาย (Distributive Law) A(B + C) = AB + AC A+ (BC) = (A+ B)(A+C) 
7. กฎของเอกลักษณ์ (Identify Law) A+ A+.... = A AA.... = A 
8. กฎการลบล้าง (Negation) A = A A = A 
9. กฎการลดทอน (Redundancy Law) A+ AB = A A+ AB = A+ B A(A+ B) = A A(A+ B)= AB 10. ทฤษฎีของดีมอร์แกน (Demorgan’s Theorems) A+ B = AB AB = A+ B 
จากกฎพื้นฐานของพีชคณิตเหล่านี้ เราสามารถนำไปช่วยในการลดรูปของสมการลอจิกได้ทำให้ วงจรลอจิกที่ได้มีขนาดเล็กลง และต้นทุนในการผลิตต่ำทั้งยังส่งผลให้สามารถทำงานได้รวดเร็วขึ้น เนื่องจากสัญญาณอินพุตผ่านลอจิกเกตจำนวนน้อยก่อนการเกิดเป็นสัญญาณเอาท์พุต ตัวอย่างการใช้ Boolean Algebra เพื่อหาวงจรไฟฟ้าที่เหมือนกัน แต่ใช้จำนวนเกตน้อยกว่า พิจารณาตารางค่าความจริงสำหรับสมการลอจิก AB + BC ในภาพ a และสมการลอจิก A(B + C) ในภาพ b ซึ่งได้จากการลดรูปสมการลอกจิกโดยใช้ Boolean Algebra