วันพฤหัสบดีที่ 4 กันยายน พ.ศ. 2557

แผนผังคาร์นอจ์และวงจรคอมบิเนชั่น

แผนผังคาร์นอจ์และวงจรคอมบิเนชั่น

ในการลดรูปสมการบูลีนด้วยทฤษฎีบทต่าง ๆ นั้น ในสมการบางสมการเราสามารถลดรูปได้อย่างไม่ยากเย็นนัก แต่ในสมการบางลักษณะจำเป็นต้องใช้ประสบการณ์ในการมองสมการเนื่องจากอาจจะต้องมีการใช้เทอมต่าง ๆ ร่วมกัน หรืออาจต้องสร้างเทอมขึ้นมาเพิ่มเติม จึงจะลอรูปสมการให้สั้นที่สุดได้ จึงมีผู้คิดค้นวิธีการลดรูปสมการโดยการปรับปรุงตารางความจริงเป็นตารางลักษณะเฉพาะของตนขึ้นมาใหม่ ซึ่งผู้คิดค้นคนแรกคือ วิทช์ (Veitchและถูกดัดแปลงโดยคาร์นอจ์ (Karnaughซึ่งเรียกวิธีการนี้ว่า แผนภาพวิทช์ (Veitch diagram) หรือนิยมเรียกกันว่า คาร์นอจ์แม็พ (Karnaugh map)

คาร์นอจ์แม็พ (Karnaugh map)
                แผนผังคาร์นอจ์ จะเป็นรูปแบบหนึ่งของตารางความจริง โดยจะมีลักษณะของพื้นผิวลักษณะเป็นทรงกลม แต่ในการเขียนจะเขียนเป็นแผนภาพที่ประกอบด้วยสี่เหลี่ยมจัตุรัสหลาย ๆ ช่อง โดยมีจำนวนช่องเท่ากับ 2n ช่อง โดย คือจำนวนตัวแปรในฟังก์ชั่น สี่เหลี่ยมแต่ละช่องจะแทนตารางความจริงในหนึ่งแถว ซึ่งอาจจะเป็น mimterm หรือmaxterm หนึ่งเทอมก็ได้ แล้วแต่การพิจารณาของเรา ซึ่งค่าที่จะปรากฏอยู่ในช่องสี่เหลี่ยมต่าง ๆ ก็คือ ส่วนที่เป็น output ของวงจรลอจิกที่ต้องการนั่นเอง โดยมีการกำหนดค่า input ของตัวแปรในแนวต่าง ๆ บริเวณนอกตาราง

คาร์นอจ์แม็พ ตัวแปร
คาร์นอจ์แม็พ ตัวแปร จะประกอบด้วยช่องของสี่เหลี่ยมจัตุรัสต่าง ๆ จำนวน 22 ช่อง หรือ ช่อง แต่ละช่องจะแทนเทอมต่าง ๆ ในรูปแบบของ minterm  หรือ  maxterm  ซึ่งมีลักษณะของแผนภาพดังที่แสดงในรูปที่ 5.1 ซึ่งจะเห็นว่า แผนภาพคาร์นอจ์นั้น ในแนวคอลัมน์ (column) จะกำหนดค่าตัวแปร input ของ  A ส่วนในแนวของแถว(row) จะกำหนดค่าตัวแปร input ของ โดยในรูปที่ 5.2 จะแสดงการแทนค่าของตัวแปรในรูปแบบของ minterm  และ  maxterm

รูปที่ 5.1 คาร์นอจ์แม็พ 2  ตัวแปร

รูปที่ 5.2 แสดงค่าของตัวแปรในคาร์นอจ์แม็พ

คาร์นอจ์แม็พ ตัวแปร
คาร์นอจ์แม็พ ตัวแปร จะประกอบด้วยช่องของสี่เหลี่ยมจัตุรัสต่าง ๆ จำนวน 23 ช่อง หรือ ช่อง แต่ละช่องจะแทนเทอมต่าง ๆ ในรูปแบบของ minterm  หรือ  maxterm เช่นกัน ซึ่งมีลักษณะของแผนภาพดังที่แสดงในรูปที่ 5.3 แต่จะในส่วนของการกำหนดค่าตัวแปรในแนวคอลัมน์หรือแนวแถว จะมีหนึ่งแนวที่จะต้องแทนค่าของตัวแปรมากกว่า ตัวแปร ซึ่งจะสังเกตเห็นว่าแนวที่มีการแทนตัวแปรมากกว่า ตัวแปรจะมีการเรียงค่าที่ไม่เป็นไปตามเลขฐานสอง แต่จะเป็นการเรียงค่าในลักษณะของรหัสเกรย์ คือ 00, 01, 11, 10
รูปที่ 5.3 คาร์นอจ์แม็พ 3  ตัวแปร

คาร์นอจ์แม็พ ตัวแปร
คาร์นอจ์แม็พ ตัวแปร จะประกอบด้วยช่องของสี่เหลี่ยมจัตุรัสต่าง ๆ จำนวน 24 ช่อง หรือ 16 ช่อง แต่ละช่องจะแทนเทอมต่าง ๆ ในรูปแบบของ minterm  หรือ  maxterm เช่นกัน ซึ่งมีลักษณะของแผนภาพดังที่แสดงในรูปที่ 5.4 ซึ่งในส่วนของการกำหนดค่าตัวแปรในแนวคอลัมน์หรือแนวแถว จะต้องแทนค่าของตัวแปรมากกว่า ตัวแปร โดยจะมีการเรียงค่าของตัวแปรในแนวต่าง ๆ ตามลักษณะของรหัสเกรย์ คือ 00, 01, 11, 10 เช่นกัน
รูปที่ 5.4 คาร์นอจ์แม็พ 4  ตัวแปร

การใช้คาร์นอจ์แม็พในการลดรูปสมการบูลีน
                การใช้คาร์นอจ์แม็พในการลดรูปสมการบูลีนนั้น มีหลักสำคัญดังนี้
1)      เขียนตารางของคาร์นอจ์แม็พตามจำนวนของตัวแปร
2)      ตัดสินใจเลือกว่าจะใช้เทอมในลักษณะของ minterm หรือ maxterm
3)      ใส่ค่าของ output ลงในช่องต่าง ๆ ของคาร์นอจ์แม็พ โดยถ้าต้องการพิจารณาแบบ minterm ให้ใส่เฉพาะช่องที่เป็น แต่ถ้าต้องการพิจารณาแบบ maxterm ให้ใส่เฉพาะช่องที่เป็น 0
4)      จับกลุ่มช่องที่อยู่ติดกันในลักษณะประชิด (Looping) เฉพาะช่องที่เราสนใจ โดยในแต่ละกลุ่มจะต้องมีสมาชิกในกลุ่มที่ติดกันจำนวน n ช่อง คือ 1 , 2 , 4 , 8 , 16 ช่อง โดยพยายามให้ในแต่ละกลุ่มมีสมาชิกมากที่สุด สมาชิกของช่องใดที่เข้ากลุ่มแล้วสามารถเป็นสมาชิกของกลุ่มอื่นได้อีก
5)      ดำเนินการหาผลลัพธ์ของในแต่ละกลุ่ม โดยในกลุ่มให้พิจารณาตัวแปรของแต่ละช่องของสมาชิกว่ามีตัวแปรซ้ำกันทุกช่องหรือไม่ ตัวแปรใดที่มีซ้ำกันทุกช่องก็จะเป็นคำตอบของกลุ่มนั้น ๆ โดยกลุ่มยิ่งใหญ่จะเหลือตัวแปรน้อยกว่า นั่นคือ กลุ่มที่มีสมาชิกจำนวน 2n ช่อง ตัวแปรจะถูกตัดไป ตัว
ัวอย่างที่ จงลดรูปสมการต่อไปนี้
ก)                       
)
                


วิธีทำ

                )
                \          
                )
 
\                                

 Don’t care term
                ในการออกแบบวงจรลอจิกจากตารางความจริงที่ต้องการในบางครั้ง อาจจะมีการใช้อินพุตไม่ครบทุกแถวของตารางความจริง เช่นในกรณีที่อินพุตเป็นรหัส BCD ที่ใช้แทนเลขฐานสิบ จะเห็นง่าจำเป็นต้องใช้อินพุตจำนวน บิต ซึ่งสามารถแทนจำนวนแถวทั้งหมดได้ 16 แถว แต่ในกรณีนี้เป็นรหัส BCD จะต้องการอินพุตที่เป็นได้เพียง 10แถวนั่นเอง ฉะนั้นอินพุตอื่น ๆ ที่ไม่เป็นรหัส BCD จะต้องควบคุมไม่ให้เกิดขึ้นซึ่งจะได้ศึกษากันต่อไป ส่วนเอาท์พุตของสถานะอินพุตที่ไม่ต้องการให้เกิดขึ้น เราสามารถนำมาใช้ช่วยในการลดรูปสมการบูลีนได้ โดยจะช่วยในการจับกลุ่มของสมาชิกในลูปต่าง ๆ ของคาร์นอจ์แม็พให้ใหญ่ขึ้นได้ เนื่องจากเอาท์พุตต่าง ๆ เหล่านี้ จะให้เป็นลอจิก “0”หรือ “1” ก็ได้ไม่มีผลต่อภาพโดยรวมซึ่งเป็นงานที่ต้องการ ซึ่งเอาท์พุตที่เป็นเอาท์พุตในลักษณะนี้เราเรียกว่า Don’t care term ซึ่งสามารถเขียนแทนด้วย หรือ x

ตัวอย่างที่ 5.2 จงเขียน Logic Diagram จาก Truth table ต่อไปนี้
INPUT
BCD-8421
OUTPUT
A
B
C
D
F
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
1
0
0
1
0
1
0
1
0
0
1
1
0
1
0
1
1
1
1
1
0
0
0
1
1
0
0
1
1

วิธีทำ
                นำค่าต่าง ๆ จากตารางความจริงมาเขียนแผนผังคาร์นอจ์ได้ดังนี้


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

   BY
             http://kampol.htc.ac.th/web1/subject/digital_tech/sheet/digit5.htm

ไม่มีความคิดเห็น:

แสดงความคิดเห็น