ตัวบวกแบบเลือกตัวทด
| ส่วนหนึ่งของชุดบทความเกี่ยวกับ | |||||||
| วงจรตรรกะทางคณิตศาสตร์ | |||||||
|---|---|---|---|---|---|---|---|
| การนำทางอย่างรวดเร็ว | |||||||
ส่วนประกอบ
| |||||||
หมวดหมู่
| |||||||
ดูเพิ่มเติม | |||||||
ในทางอิเล็กทรอนิกส์ วงจรบวกแบบเลือกตัวทด (carry-select adder)เป็นวิธีการเฉพาะในการสร้างวงจรบวกซึ่งเป็นองค์ประกอบตรรกะที่คำนวณค่าผลรวมบิตของสองตัวเลข -บิต วงจรบวกแบบเลือกตัวทดนั้นเรียบง่ายแต่ค่อนข้างเร็ว โดยมีความลึกระดับเกตอยู่ที่.
การก่อสร้าง
วงจรบวกแบบเลือกตัวทด (carry-select adder) โดยทั่วไปประกอบด้วยวงจรบวกแบบริปเปิลแครี่ (ripple-carry adder) และมัลติเพล็กเซอร์ การบวกเลขสองจำนวน n บิตด้วยวงจรบวกแบบเลือกตัวทดจะทำโดยใช้ตัวบวกสองตัว (ดังนั้นจึงใช้ตัวบวกแบบริปเปิลแครี่สองตัว) เพื่อทำการคำนวณสองครั้ง ครั้งหนึ่งโดยสมมติว่าตัวทดเข้าเป็นศูนย์ และอีกครั้งโดยสมมติว่าจะเป็นหนึ่ง หลังจากคำนวณผลลัพธ์ทั้งสองแล้ว ผลรวมที่ถูกต้อง รวมถึงตัวทดออกที่ถูกต้อง จะถูกเลือกด้วยมัลติเพล็กเซอร์เมื่อทราบค่าตัวทดเข้าที่ถูกต้องแล้ว
จำนวนบิตในแต่ละบล็อกการเลือกตัวทดสามารถเท่ากันหรือแปรผันได้ ความล่าช้าที่เหมาะสมที่สุดจะเกิดขึ้นเมื่อใช้ขนาดบล็อกที่แปรผันได้[ 1 ]เมื่อขนาดบล็อกเปลี่ยนแปลงได้ ควรมีช่วงเวลาหน่วงตั้งแต่การบวกอินพุต A และ B ไปจนถึงตัวทดออก เท่ากับช่วงเวลาหน่วงของวงจรมัลติเพล็กเซอร์ที่เชื่อมต่อเข้ามา เพื่อให้การคำนวณตัวทดออกเสร็จสิ้นทันเวลาความล่าช้าเกิดจากการกำหนดขนาดที่สม่ำเสมอ โดยจำนวนองค์ประกอบฟูลแอดเดอร์ที่เหมาะสมต่อบล็อกจะเท่ากับรากที่สองของจำนวนบิตที่กำลังบวกกัน เนื่องจากจะทำให้จำนวนความล่าช้าของ MUX เท่ากัน
ส่วนประกอบพื้นฐาน
ด้านบนคือส่วนประกอบพื้นฐานของตัวบวกแบบเลือกตัวทด (carry-select adder) โดยมีขนาดบล็อก 4 บิต ตัวบวกแบบริปเปิลแครี่ (ripple-carry adder) 4 บิตสองตัวถูกมัลติเพล็กซ์เข้าด้วยกัน โดยบิตตัวทดและบิตผลรวมที่ได้จะถูกเลือกจากบิตตัวทดขาเข้า (carry-in) เนื่องจากตัวบวกแบบริปเปิลแครี่ตัวหนึ่งสมมติว่าบิตตัวทดขาเข้าเป็น 0 และอีกตัวหนึ่งสมมติว่าบิตตัวทดขาเข้าเป็น 1 การเลือกตัวบวกที่มีสมมติฐานที่ถูกต้องผ่านบิตตัวทดขาเข้าจริงจะให้ผลลัพธ์ที่ต้องการ
ตัวบวกขนาดสม่ำเสมอ
สามารถสร้างวงจรบวกแบบเลือกตัวทด (carry-select adder) ขนาด 16 บิต ที่มีขนาดบล็อกสม่ำเสมอ 4 ได้โดยใช้บล็อกเหล่านี้ 3 บล็อก และวงจรบวกแบบทดต่อเนื่อง (ripple-carry adder) ขนาด 4 บิต เนื่องจากทราบค่าตัวทดเข้า (carry-in) ตั้งแต่เริ่มต้นการคำนวณ จึงไม่จำเป็นต้องใช้บล็อกเลือกตัวทดสำหรับ 4 บิตแรก เวลาหน่วงของวงจรบวกนี้จะเท่ากับเวลาหน่วงของวงจรบวกเต็มรูปแบบ 4 เท่า บวกกับเวลาหน่วงของ MUX อีก 3 เท่า
ตัวบวกขนาดแปรผัน
สามารถสร้างตัวบวกแบบเลือกตัวทด 16 บิตที่มีขนาดแปรผันได้ในทำนองเดียวกัน ที่นี่เราแสดงตัวบวกที่มีขนาดบล็อก 2-2-3-4-5 ซึ่งเป็นตัวบวกแบบเลือกตัวทดที่มีขนาดแปรผันได้ชนิดพิเศษ เรียกว่าตัวบวกแบบเลือกตัวทดรากที่สอง[ 2 ]การแบ่งส่วนนี้เหมาะสมที่สุดเมื่อความล่าช้าของตัวบวกเต็มเท่ากับความล่าช้าของ MUX ซึ่งเป็นไปได้ยาก ความล่าช้าทั้งหมดคือความล่าช้าของตัวบวกเต็มสองเท่า และความล่าช้าของ MUX สี่เท่า เราพยายามทำให้ความล่าช้าผ่านโซ่ทดสองเส้นและความล่าช้าของตัวทดในขั้นตอนก่อนหน้าเท่ากัน
ตัวบวกผลรวมแบบมีเงื่อนไข
ตัวบวกผลรวม แบบมีเงื่อนไข[ 3 ]เป็นโครงสร้างแบบเรียกซ้ำตามตัวบวกแบบเลือกตัวทด ในตัวบวกผลรวมแบบมีเงื่อนไข ระดับ MUX จะเลือกระหว่าง อินพุต n/2บิตสองตัวที่สร้างขึ้นเป็นตัวบวกผลรวมแบบมีเงื่อนไข ระดับล่างสุดของต้นไม้ประกอบด้วยคู่ของตัวบวก 2 บิต (ตัวบวกครึ่งตัว 1 ตัวและตัวบวกเต็มตัว 3 ตัว) บวกกับมัลติเพล็กเซอร์บิตเดียว 2 ตัว
วงจรบวกผลรวมแบบมีเงื่อนไขประสบปัญหาการกระจายตัวของเอาต์พุตตัวทดระดับกลางที่กว้างมาก การกระจายตัวนี้อาจสูงถึงn/2ในระดับสุดท้าย ซึ่งขับเคลื่อนมัลติเพล็กเซอร์ทั้งหมดจากถึง.
เมื่อนำไปรวมกับโครงสร้างตัวบวกอื่นๆ
การออกแบบวงจรบวกแบบเลือกตัวทดสามารถเสริมด้วย โครงสร้าง วงจรบวกแบบมองล่วงหน้าตัวทดเพื่อสร้างอินพุต MUX ซึ่งจะช่วยเพิ่มประสิทธิภาพให้ดียิ่งขึ้นในฐานะวงจรบวกแบบขนานในขณะที่อาจลดพื้นที่ลงได้
ตัวอย่างหนึ่งแสดงอยู่ในบทความเกี่ยวกับงูพิษ Kogge–Stone
อ่านเพิ่มเติม
- Savard, John JG (2018) [2006]. "เทคนิคเลขคณิตขั้นสูง" . quadibloc . เก็บถาวรจากต้นฉบับเมื่อ 2018-07-03 . สืบค้นเมื่อ 2018-07-16 .