Adding Bytes
前提
Double the Number
Full Adder
攻略
1byteの入力の足し算を行う回路を構成する問題です。
10進数の筆算と同様に、各桁に対して繰り上がりを考慮した足し算を行います。
2進数の場合、FAを用いることで1bit (桁) の加算を行うことができます。したがってFAをbit数分用意し、オペランド (加算される2つの値) のそれぞれ対応するbitと下の桁を担当するFAの繰り上がりを入力とすれば良いことがわかります。
このような回路は「桁上げ伝搬加算器」(ripple carry adder) と呼ばれます。
したがって、次のような回路を構成すればよいです。
最下位bitの桁上げ入力を回路の桁上げ入力に繋ぎ、最上位bitの桁上げ出力を回路の桁上げ出力につないでいます。
https://scrapbox.io/files/62403cf828fbd90020cfa682.png
おまけ
加算を高速に行うCLAについては NANDゲート・遅延を減らす のページをご覧ください。