ビットカウントコンパレータ(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
です)。
あなたの仕事は、2入力NANDゲートのみを使用し、できるだけ少ないNANDゲートを使用して、合計16 A
入力と4 B
入力(から1
までのビットを表す8
)を取るビットカウントコンパレータを作成することです。物事を単純化するために、ダイアグラムでAND、OR、NOT、およびXORゲートを使用し、以下の対応するスコアを使用できます。
NOT: 1
AND: 2
OR: 3
XOR: 4
これらの各スコアは、対応するゲートを構築するために必要なNANDゲートの数に対応しています。
正しい構造を生成するために最少のNANDゲートを使用する論理回路が勝ちます。
AND
== 2NAND