วันพุธที่ 15 พฤษภาคม พ.ศ. 2562

การลดรูปสมการลอจิกโดยใช้ตาราง


          แผนผังคาโนห์ (Karnaugh Map) หรือเรียกสั้น ๆ ว่า เคแม็พ (K - Map) เป็นวิธีการที่ใช้เพื่อการลดรูปสมการลอจิกในลักษณะของตาราง ซึ่งทำได้สะดวกรวดเร็วกว่าการลดรูปสมการด้วยการใช้พีชคณิตบูลีน (Boolean Algebra) ที่นิยมใช้ทั่วไปจะไม่เกิน 4 ตัวแปร
แผนผังคาโนห์แบบ 2 ตัวแปร
แผนผังคาโนห์จะเป็นช่องตาราง มีจำนวน 2n เมื่อ คือจำนวนตัวแปรหรือจำนวนอินพุต รหัสประจำแถวจะเรียงแบบรหัสเกรย์ (Gray Code) ในกรณีที่มีตัวแปร 2 ตัว ดังนั้น ในตารางจะได้เท่ากัน 22 = 4 ช่อง
แผนผังคาโนห์แบบ 3 ตัวแปร
แผนผังคาโนห์แบบ 3 ตัวแปร จะมีจำนวนช่องเท่ากับ 23 8 ช่อง ในตารางจะแบ่งออกเป็น 2 แนว คือ แนวนอนแทนด้วยตัวแปร (หรืออินพุต C) แนวตั้งแทนด้วยตัวแปร และ (อินพุต และ B) สำหรับการเขียนค่าประจำช่อง จะมีลักษณะคล้ายกับแผนผังคาร์โนแบบ 2 ตัวแปร
แผนผังคาโนห์แบบ 4 ตัวแปร
แผนผังคาโนห์แบบ 4 ตัวแปร จะมีจำนวนช่องเท่ากับ 24 16 ช่อง แนวนอนแทนด้วยตัวแปร C และ (หรืออินพุต C และ อินพุตD) แนวตั้งแทนด้วยตัวแปร และ (อินพุต และ อินพุต B) สำหรับการเขียนค่าประจำช่อง จะมีลักษณะคล้ายกับแผนผังคาร์โนแบบ 2 ตัวแปร และ 3 ตัวแปร  
การเขียนฟังก์ชันลงในแผนผังคาโนห์
1. มินเทิร์มเขียนแทนด้วย 1 ส่วนแมกซ์เทิร์มเขียนแทนด้วย 0
2. ในกรณีมีหลายตัวแปร ต้องขยายฟังก์ชันให้อยู่ในรูปเต็มเสมอ
การใช้แผนผังคาโนห์ลดรูปสมการ
การใช้แผนผังคาโนห์ลดรูปสมการพีชคณิตบูลีน จะใช้วิธีการรวมกลุ่มกันของสมาชิก (0 หรือ 1) แต่จำนวนสมาชิกจะเท่ากับ 2m เมื่อ m = 0, 1, 2, 3,… ดังนั้น จำนวนสมาชิกแต่ละกลุ่มเท่ากับ 1, 2, 4, 8,… ตัว สมาชิก 1 ตัว อาจจะอยู่ในหลายกลุ่มก็ได้
ขั้นตอนการหาคำตอบด้วยแผนผังคาร์โน สรุปได้ดังนี้
1. คำตอบในรูปการบวกของผลคูณ (Sum of Product)
     1.1 รวมกลุ่มของสมาชิกที่เป็น 1
     1.2 ในกลุ่มเดียวกันให้เขียนในรูปของผลคูณ (AND) โดยเขียนเฉพาะตัวที่ซ้ำกันหรือไม่มีการเปลี่ยนแปลง ถ้าเป็น 1 ให้เขียนในรูปปกติ ถ้าเป็น 0 ให้แทนด้วยคอมพลีเมนต์
     1.3 นำคำตอบแต่ละกลุ่มมาบวกกัน (OR) ก็จะได้ผลลัพธ์
2. คำตอบในรูปการคูณของผลบวก (Product of Sum)
     2.1 รวมกลุ่มของสมาชิกที่เป็น 0
     2.2 ในกลุ่มเดียวกันให้เขียนในรูปของผลบวก (OR) โดยเขียนเฉพาะตัวที่ซ้ำกันหรือไม่มีการเปลี่ยนแปลง ถ้าเป็น 1 ให้แทนด้วยคอมพลีเมนต์ ถ้าเป็น 0 ให้เขียนในรูปปกติ
     2.3 นำคำตอบแต่ละกลุ่มมาคูณกัน (AND) ก็จะได้ผลลัพธ์  
การลดรูปฟังก์ชันที่มีหลายเอาต์พุต
กรณีที่มีเอาต์พุตหลายเอาต์พุต (Multiple Output) เพื่อเป็นการประหยัด การออกแบบจะใช้เกตร่วมกัน โดยพิจารณาจากแผนผังคาร์โน
เทิร์มไม่สน
เทิร์มไม่สน (Don’t care Term) เป็นเทิร์มที่กำหนดขึ้นมาช่วยลดรูปสมการให้เหลือน้อยลงและใช้เกตน้อยที่สุด กล่าวคือ ในกรณีการออกแบบวงจรหลายตัวแปร บางสภาวะจะไม่สนใจต่อค่าเอาต์พุต เรียกว่า เทิร์มไม่สน เขียนแทนด้วยอักษร หรือ การพิจารณาเทิร์มไม่สนจะต้องใช้ประโยชน์ให้มากที่สุด