เรียนรู้วิธีที่ตัวเปรียบเทียบขนาดกำหนดความสัมพันธ์ระหว่างอินพุตไบนารีด้วยความแม่นยำ
วงจรเปรียบเทียบขนาด (Magnitude Comparator) เป็นวงจรเชิงผสมชนิดหนึ่งที่ทำหน้าที่เปรียบเทียบเลขฐานสองสองจำนวนและหาค่าขนาดสัมพัทธ์ โดยจะแสดงผลว่าจำนวนหนึ่งมากกว่าอีกจำนวนหนึ่ง หรือน้อยกว่าหรือเท่ากับอีกจำนวนหนึ่ง วงจรเปรียบเทียบเหล่านี้ใช้ในระบบดิจิทัล เช่น ในเครือข่ายจำแนกประเภทและวงจรตัดสินใจ เพื่อจัดการการเปรียบเทียบตัวเลขได้อย่างแม่นยำโดยปราศจากข้อผิดพลาด

วงจรนี้ทำงานโดยการเปรียบเทียบบิตของตัวเลขสองตัว โดยเริ่มจากบิตที่มีค่ามากที่สุด (MSB) ไปจนถึงบิตที่มีค่าน้อยที่สุด (LSB) ในแต่ละตำแหน่งบิต จะมีการเปรียบเทียบบิตที่สอดคล้องกันของตัวเลข หากบิตในตัวเลขตัวแรกมากกว่าบิตที่สอดคล้องกันในตัวเลขตัวที่สอง เอาต์พุต A% 3EB จะถูกตั้งค่าเป็น 1 และวงจรจะสรุปได้ทันทีว่าตัวเลขตัวแรกมากกว่าตัวเลขตัวที่สอง ในทำนองเดียวกัน หากบิตในตัวเลขตัวที่สองมากกว่าบิตที่สอดคล้องกันในตัวเลขตัวแรก เอาต์พุต A<B จะถูกตั้งค่าเป็น 1 และวงจรจะสรุปได้ทันทีว่าตัวเลขตัวแรกน้อยกว่าตัวเลขตัวที่สอง
ถ้าบิตที่ตรงกันสองบิตเท่ากัน วงจรจะเลื่อนไปยังตำแหน่งบิตถัดไปและเปรียบเทียบคู่บิตถัดไป กระบวนการนี้จะดำเนินต่อไปจนกว่าจะเปรียบเทียบทุกบิตเสร็จสิ้น หากในระหว่างกระบวนการเปรียบเทียบ วงจรพบว่าตัวเลขแรกมากกว่าหรือน้อยกว่าตัวเลขที่สอง กระบวนการเปรียบเทียบจะสิ้นสุดลงและสร้างเอาต์พุตที่เหมาะสม
ถ้าบิตทั้งหมดเท่ากัน วงจรจะสร้างเอาต์พุต A = B ซึ่งแสดงว่าตัวเลขทั้งสองเท่ากัน
มีหลายวิธีในการสร้างวงจรเปรียบเทียบขนาด เช่น การใช้เกต XOR, AND และ OR ร่วมกัน หรือการใช้ตัวบวกเต็มแบบเรียงต่อกัน การเลือกวิธีการสร้างขึ้นอยู่กับปัจจัยต่างๆ เช่น ความเร็ว ความซับซ้อน และการใช้พลังงาน
ตัวเปรียบเทียบที่ใช้เปรียบเทียบสองบิตเรียกว่าตัวเปรียบเทียบบิตเดี่ยว ประกอบด้วยอินพุตสองตัว แต่ละตัวแทนตัวเลขบิตเดี่ยวสองตัว และเอาต์พุตสามตัวเพื่อสร้างค่า น้อยกว่า เท่ากับ และมากกว่า ระหว่างตัวเลขไบนารีสองตัว
ตารางความจริงสำหรับตัวเปรียบเทียบ 1 บิตแสดงอยู่ด้านล่าง

จากตารางความจริงข้างต้น นิพจน์ตรรกะสำหรับแต่ละเอาต์พุตสามารถแสดงได้ดังต่อไปนี้
A>B: AB' A<B: A'B A=B: A'B' + AB
จากนิพจน์ข้างต้น เราสามารถอนุมานสูตรต่อไปนี้ได้

โดยใช้การแสดงออกเชิงบูลีนเหล่านี้ เราสามารถสร้างวงจรตรรกะสำหรับตัวเปรียบเทียบนี้ได้ดังที่แสดงด้านล่าง

ตัวเปรียบเทียบที่ใช้เปรียบเทียบเลขฐานสองสองจำนวน ซึ่งแต่ละจำนวนมีสองบิต เรียกว่า ตัวเปรียบเทียบขนาด 2 บิต ประกอบด้วยอินพุตสี่ตัวและเอาต์พุตสามตัว เพื่อสร้างค่า น้อยกว่า เท่ากับ และมากกว่า ระหว่างเลขฐานสองสองจำนวน
ตารางความจริงสำหรับตัวเปรียบเทียบ 2 บิตแสดงอยู่ด้านล่าง

จากตารางความจริงข้างต้น สามารถวาดแผนที่ K สำหรับแต่ละเอาต์พุตได้ดังนี้
ตารางความจริงของเอาต์พุต A>B

ตารางความจริงของเอาต์พุต A = B

ตารางความจริงของเอาต์พุต A<B

จากแผนผัง K ด้านบน นิพจน์ตรรกะสำหรับแต่ละเอาต์พุตสามารถแสดงได้ดังต่อไปนี้
A>B:A1B1' + A0B1'B0' + A1A0B0'A=B: A1'A0'B1'B0' + A1'A0B1'B0 + A1A0B1B0 + A1A0'B1B0' : A1'B1' (A0'B0' + A0B0) + A1B1 (A0B0 + A0'B0') : (A0B0 + A0'B0') (A1B1 + A1'B1') : (A0 อดีต-Nor B0) (A1 อดีต-Nor B1)A<B:A1'B1 + A0'B1B0 + A1'A0'B0
โดยใช้การแสดงออกเชิงบูลีนเหล่านี้ เราสามารถสร้างวงจรตรรกะสำหรับตัวเปรียบเทียบนี้ได้ดังที่แสดงด้านล่าง

ตัวเปรียบเทียบที่ใช้เปรียบเทียบเลขฐานสองสองจำนวน ซึ่งแต่ละจำนวนมีสี่บิต เรียกว่า ตัวเปรียบเทียบขนาด 4 บิต ประกอบด้วยอินพุตแปดตัว แต่ละตัวแทนเลขสี่บิตสองตัว และเอาต์พุตสามตัวเพื่อแสดงค่า น้อยกว่า เท่ากับ และมากกว่า ระหว่างเลขฐานสองทั้งสอง
ในตัวเปรียบเทียบ 4 บิต เงื่อนไข A > B สามารถเกิดขึ้นได้ในสี่กรณีต่อไปนี้
ในทำนองเดียวกัน เงื่อนไข A<B สามารถเกิดขึ้นได้ในสี่กรณีต่อไปนี้
เงื่อนไข A = B จะเกิดขึ้นได้ก็ต่อเมื่อบิตทั้งหมดของจำนวนหนึ่งตรงกับบิตที่สอดคล้องกันของอีกจำนวนหนึ่งอย่างแม่นยำเท่านั้น
จากข้อความข้างต้น สามารถแสดงนิพจน์ตรรกะสำหรับแต่ละผลลัพธ์ได้ดังต่อไปนี้
AA, 831331 r: (A3 Ex-Nor 33) A2132 'a (A3 Ex-Nor 133) (A2 Ex-Nor 132) A131 'a (A3 Ex-Nor 33) (A2 ENor132) (Al Ex-Nor 31) A01301
,13: A3'03 a (A3 Ex-Nor 33)A211:12 a (A3 Ex-Nor 83) (A2 Ex-Nor 132)Ar131 a (A3 Ex-Nor 33) (A2 Ex-Nor32) (Al Ex-Nor 131)A0N30
A = B: (A3 Ex-Nor B3) (A2 Ex-Nor 82) (Al Ex-Nor BI) (AO Ex-Nor BO)
โดยใช้การแสดงออกเชิงบูลีนเหล่านี้ เราสามารถสร้างวงจรตรรกะสำหรับตัวเปรียบเทียบนี้ได้ดังที่แสดงด้านล่าง

หมายเหตุ: สำหรับตัวเปรียบเทียบแบบ n บิต จำนวนชุดค่าผสมมีดังนี้: ชุดค่าผสมทั้งหมด = 2²ⁿ, ชุดค่าผสมที่เท่ากัน (A = B) = 2ⁿ, ชุดค่าผสมที่ไม่เท่ากัน = 2²ⁿ - 2ⁿ, ชุดค่าผสมที่มากกว่า (A > B) = ชุดค่าผสมที่น้อยกว่า (A < B) = (2²ⁿ - 2ⁿ) / 2
ตัวเปรียบเทียบที่ทำการเปรียบเทียบมากกว่าสี่บิตโดยการต่อตัวเปรียบเทียบ 4 บิตสองตัวขึ้นไปเข้าด้วยกัน เรียกว่า ตัวเปรียบเทียบแบบเรียงต่อกัน (cascaded comparator) เมื่อต่อตัวเปรียบเทียบสองตัวเข้าด้วยกัน เอาต์พุตของตัวเปรียบเทียบที่มีลำดับต่ำกว่าจะเชื่อมต่อกับอินพุตที่สอดคล้องกันของตัวเปรียบเทียบที่มีลำดับสูงกว่า
