วงจรทางคณิตศาสตร์
<< 11.1 วงจรบวกไม่คิดตัวทด (Half Adder Circuit) << 11.2 วงจรบวกคิดตัวทด (Full Adder Circuit) << 11.3 การออกแบบวงจร Adder ด้วย VHDL << 11.4 วงจรลบไม่คิดตัวยืม (Half Subtractor Circuit) << 11.5 วงจรลบคิดตัวยืม (Full Subtractor Circuit) << 1.6 การออกแบบวงจร ด้วย Subtractor VHDL
<< กลับหน้าหลัก
วงจรลอจิกที่ทำหน้าที่คำนวณในทางคณิตศาสตร์ เช่น วงจรบวก (Adder) วงจรลบ (Subtractor) ฯลฯ สร้างจากลอจิกเกต
เป็นส่วนหนึ่งของลอจิกเชิงจัดหมู่ (Combination) ใช้กันอย่างแพร่หลายในเครื่องคำนวณอิเล็กทรอนิกส์ ผู้ที่ศึกษาควรทำความ
เข้าใจกับการบวก/ลบเลขฐานสองวิธีต่างๆ การสร้างและออกแบบวงจรบวก/ลบ เลขฐานสองที่เหมาะสม ซึ่งสามารถประยุกต์ใช้งาน
ร่วมกับส่วนของวงจรเข้ารหัส วงจรถอดรหัส วงจรเลื่อนข้อมูลและการแสดงผล เพื่อออกแบบเป็นเครื่องบวก/ลบเลขฐานสิบได้
|
|
11.1 วงจรบวกไม่คิดตัวทด (Half Adder Circuit)
วงจรบวกไม่คิดตัวทด คือวงจรที่ใช้ในการบวกเลขฐานสอง 2 บิต เข้าด้วยกัน เราสามารถที่จะสร้างตารางความจริงสำหรับวงจรบวก
แบบไม่คิดตัวทด โดยมีอินพุตเป็นเลขฐานสอง 2 บิต และเอาต์พุตมี 2 ตัวเช่นเดียวกัน
เมื่อสร้างวงจรลอจิกที่ทำหน้าที่บวก โดยไม่คิดตัวทด (Carry) จะได้วงจรที่มีอินพุต 2 อินพุต และมีเอาต์พุต 2 เอาต์พุต คือ ผลรวม
( ) และตัวทดออก เมื่อเขียนแผนภาพกรอบของวงจรบวกไม่คิดตัวทดได้ดังรูปที่ 11.1
|
|
รูปที่ 11.1 แผนภาพกรอบวงจรบวกไม่คิดตัวทด
ตารางที่ 11.1 ตารางความจริงวงจรบวกแบบไม่คิดตัวทด
|
|
ดังนั้นเมื่อนำสมการทั้งสองสมการมาเขียนวงจรลอจิกเพื่อทำการบวกไม่คิดตัวทด จะได้ดังรูปที่ 11.2 (ก) และ 11.2 (ข)
ใช้เอกซ์คลูซีฟออร์ และใช้แอนด์เกต มาสร้างแทนวงจรรูปที่ 11.2 (ก) เมื่อป้อนลอจิกที่อินพุตของ A B ตามตารางที่ 11.1 จะได้ผลลัพธ์ที่
และ ดังตารางเช่นกัน
|
|
(ก) จากสมการที่ 10.1 a และ 10.2 (ข) จากสมการที่ 10.1 b และ 10.2
รูปที่ 11.2 วงจรบวกแบบไม่คิดตัวทด
<< Go To Top
|
|
11.2 วงจรบวกคิดตัวทด (Full Adder Circuit)
วงจรบวกคิดตัวทด คือวงจรที่ใช้บวกเลขฐานสอง 2 บิต และตัวทดอีก 1 บิต รวมเป็น 3 บิต เข้าด้วยกัน เราสามารถสร้างตาราง
ความจริงสำรับวงจรบวกคิดตัวทด โดยมีอินพุตเป็นเลขฐานสอง 2 ตัว และตัวทดเข้า (Carry in : Ci) อีก 1 ตัว ส่วนเอาต์พุต มี 2 ตัว
คือผลบวก (Sum) และ ตัวทดออก (Carry out :) ดังนั้นจึงมีอินพุต 3 ตัว คือ A, B และ Cin เมื่อ A = ตัวตั้ง, B = ตัวบวก,
C = ตัวทดเข้า ลักษณะของแผนภาพกรอบวงจรบวกคิดตัวทดแสดงในรูปที่ 11.3 และตารางความจริงแสดงผลการบวกเลขฐานสอง
ด้วยวงจรบวกคิดตัวทดแสดงในตารางที่ 11.2
|
|
รูปที่ 11.3 แผนภาพกรอบวงจรบวกคิดตัวทด
ตารางที่ 11.2 ตารางความจริงวงจรบวกแบบคิดตัวทด
เมื่อพิจารณาจากสมการ และ จากตารางที่ 11.2 จะได้ว่า
|
|
ดังนั้นวงจรลอจิกเกตของวงจรบวกคิดตัวทดจะแสดงดังรูปที่ 11.4 (ก) และ (ข) เขียนมาจากสมการ และ ที่ลดรูปได้ดังกล่าว
ซึ่งจะเห็นว่าวงจรบวกคิดตัวทดจะมีโครงสร้างลอจิกเกตเหมือนวงจรบวกไม่คิดตัวทด 2 วงจร และนำตัวทดออกทั้ง 2 วงจรต่อผ่านออร์เกต
1 ตัว เพื่อแสดงตัวทดออกรวมของวงจรบวกคิดตัวทดดังรูปที่ 11.4 (ข)
|
|
รูปที่ 11.4 จากสมการที่ 10.3 วงจรบวกคิดตัวทด เมื่อยังไม่ได้ทำการลดทอนสมการ
รูปที่ 10.5 จากสมการที่ 10.4 วงจรบวกคิดตัวทด เมื่อทำการลดทอนสมการแล้ว
รูปที่ 11.6 วงจรบวกเลขฐานสองขนาด 3 บิต ที่ใช้วงจรบวกคิดตัวทดและไม่คิดตัวทดร่วมกัน
รูปที่ 11.7 วงจรบวกเลขฐานสองขนาด 3 บิต ที่ใช้วงจรบวกคิดตัวทด 3 วงจร
<< Go To Top
|
|
11.3 การออกแบบวงจร Adder ด้วย VHDL
จากวงจร Adder สามารถเขียนเป็นภาษา VHDL ได้ดังนี้
รูปที่ 11.8 แสดงการออกแบบวงจร Adder ด้วย VHDL << Go To Top |
|
11.4 วงจรลบไม่คิดตัวยืม (Half Subtractor Circuit)
วงจรลบไม่คิดตัวยืม คือวงจรลบเลขฐานสอง 2 บิต เราเขียนตารางความจริงของวงจรลบไม่คิดตัวทด โดยมีอินพุตเป็นเลขฐานสอง
2 ตัว และเอาต์พุตก็มี 2 ตัว คือ ผลต่าง (Difference) และ ตัวยืม (Borrow) กฎของการลบเลขฐานสองคล้อยกฎของการลบเลขฐานสิบ
คือ ถ้าตัวตั้งน้อยกว่าตัวลบ ต้องยืมหลักที่สูงกว่ามา 1 สำหรับเลขฐานสองเมื่อยืมหลักที่สูงกว่ามา 1 และนำไปใช้ในหลักต่ำกว่าจะมีค่าเป็น 2
กฎของการลบเลขฐานสองจากที่ได้ศึกษามาแล้วในเรื่องของการลบเลขฐานสอง จะพบว่ากรณีที่ 0-1 จะมีค่าเป็น 1 และมีการยืม
(Borrow) จากบิตสูงกว่ามา 1 ดังนั้น 0-1 = 1 และ Borrow = 1 โดยตัวตั้ง คือ A ตัวลบ คือ B ผลของการลบเรียกว่าผลต่างคือ
(Difference) ตัวยืมคือ Borrow out = ดังนั้นเมื่อนำมาเขียนตารางความจริงแสดงการลบเลขฐานสองขนาด 1 บิต โดยใช้วงจรลบ
ไม่คิดตัวยืม เขียนแผนภาพกรอบได้ดังรูปที่ 10.8 สรุปเป็นตารางความจริงได้ดังตารางที่ 11.3 และเขียนวงจรจากสมการได้ดังรูปที่ 10.9
|
|
รูปที่ 10.9 แผนภาพกรอบวงจรลบไม่คิดตัวยืม
ตารางที่ 11.3 ตารางความจริงวงจรลบแบบไม่คิดตัวยืม
เมื่อนำเอาต์พุต และ จากตารางที่ 11.3 มาเขียนสมการพีชคณิตบูลีนจะได้ว่า
รูปที่ 11.10 (ก) จากสมการที่ 11.5 a และ 11.6
รูปที่ 11.10 (ข) จากสมการที่ 11.5 b และ 11.6
<< Go To Top
|
|
11.5 วงจรลบคิดตัวยืม (Full Subtractor Circuit)
วงจรลบคิดตัวยืม คือ วงจรลบเลขฐานสอง 2 บิต และ ลบด้วยตัวยืมอีก 1 บิต เราสามารถเขียนตารางความจริงของวงจรลบคิดตัวยืม
โดยมีอินพุตเป็นเลขฐานสอง 2 บิต และตัวยืม (Borrow in : ) ส่วนเอาต์พุตก็มี 2 ตัว คือ ผลต่าง (Difference) และ ตัวยืม (Borrow out
: ) เมื่อทำการลบเลขมากกว่า 1 บิต นอกจากจะต้องลบตัวตั้ง (A) และตัวลบ (B) แล้ว เมื่อมีการยืมออกมาจากบิตที่สูงกว่า () ข้อมูลที่ถูกยืม
ออกมาต้องป้อนเข้าเพื่อลบกับ A และ B ในบิตที่ต่ำกว่า ดังนั้นข้อมูลตัวยืมที่ต้องป้อนเข้าวงจรลบดังกล่าวเรียกว่า ตัวยืมเข้า () วงจรลบที่คิดตัวยืม
(Full Subtractor Circuit) หมายถึงวงจรลบที่นำข้อมูลตัวตั้ง (A) ตัวลบ (B) และตัวยืมเข้า () มาลบกันได้พร้อมกัน จึงมี 3 อินพุต เอาต์พุต
ของวงจรจะมี 2 เอาต์พุต คือ ผลต่าง () และตัวยืมออก () เมื่อนำการลบด้วยวงจรลบคิดตัวยืม มาเขียนแผนภาพกรอบได้ดังรูปที่
10.10 ตารางความจริงแสดงการลบ จะได้ดังตารางที่ 11.4 และวงจรที่ได้จากสมการแสดงในรูปที่ 10.11
|
|
รูปที่ 11.11 แผนภาพกรอบวงจรลบคิดตัวยืม
ตารางที่ 11.4 ตารางความจริงวงจรลบแบบคิดตัวยืม
เมื่อนำเอาต์พุต และ จากตารางที่ 11.4 มาเขียนสมการพีชคณิตบูลีนจะได้ว่า
รูปที่ 11.12 (ก) วงจรลบคิดตัวยืม จากสมการที่ 11.7
รูปที่ 11.12 (ข) วงจรลบคิดตัวยืม จากสมการที่ 11.8
รูปที่ 11.13 วงจรลบเลข 4 บิตแบบขนาน
<< Go To Top
|
|
11.6 การออกแบบวงจร ด้วย Subtractor VHDL
จากวงจร Subtractor สามารถเขียนเป็นภาษา VHDL ได้ดังน
|
มองไม่เห็นรูปเลยครับ
ตอบลบ