ตัวเปรียบเทียบการนับบิต (BCC) เป็นวงจรลอจิกที่รับอินพุตจำนวนนับA1, A2, A3, ..., An
รวมทั้งอินพุตที่B1, B2, B4, B8, ...
เป็นตัวแทนของตัวเลข จากนั้นก็ให้ผลตอบแทน1
ถ้าจำนวนรวมของA
ปัจจัยการผลิตที่อยู่บนมากกว่าจำนวนที่แสดงในไบนารีโดยB
ปัจจัยการผลิต (เช่นB1
, B2
และB8
จะทำให้จำนวน11
) และ0
มิฉะนั้น
ตัวอย่างเช่นสำหรับเปรียบเทียบบิตนับที่ใช้5
ปัจจัยการผลิตซึ่งA2
, A4
, A5
และB2
มีการตั้งค่า1
จะกลับ1
เพราะมี 3 A
ปัจจัยการผลิตที่มีอยู่ซึ่งมากกว่า2
(หมายเลขที่แสดงโดยเฉพาะB2
การที่)
งานของคุณคือการสร้างตัวเปรียบเทียบการนับบิตที่รับทั้งหมด 16 A
อินพุตและ 4 B
อินพุต (แทนบิตจาก1
ถึง8
) โดยใช้ประตู NAND แบบอินพุตสองช่องเท่านั้นและใช้ประตู NAND น้อยที่สุดเท่าที่จะทำได้ เพื่อทำให้สิ่งต่าง ๆ ง่ายขึ้นคุณสามารถใช้ประตู AND, OR, NOT และ XOR ในแผนภาพของคุณด้วยคะแนนที่สอดคล้องกันดังต่อไปนี้:
NOT: 1
AND: 2
OR: 3
XOR: 4
แต่ละคะแนนเหล่านี้สอดคล้องกับจำนวนประตู NAND ที่ใช้ในการสร้างประตูที่สอดคล้องกัน
วงจรลอจิกที่ใช้ประตู NAND ที่น้อยที่สุดในการสร้างการก่อสร้างที่ถูกต้องชนะ
AND
== twoNAND