2進数の加算を行う回路です。
全加算器と半加算器があります。
どちらも1桁の加算を行う回路ですが、半加算器は、下位桁からの繰り上がりを考慮しません。全加算器は考慮します。
複数桁の加算を行う際には、最下位桁に半加算器を使用し、2桁目以上に全加算器を使用します。
半加算器
2進数の同じ桁どうしの演算をして、演算結果(S:Sum)と桁上がり(C:Carry)を出力します。
真理値表は以下の通りです。
![](https://assets.st-note.com/img/1660627701618-faAceDfyom.jpg)
SはAとBの値が異なる場合に1になりますから、排他的論理和、CはAとBが1の場合にだけ1になるので、論理積になります。
論理式は以下の通りです。
![](https://assets.st-note.com/img/1660627749869-vdhVp9rJFa.jpg)
論理回路は以下の通りです。
![](https://assets.st-note.com/img/1660627785091-pc6zIWf0aC.jpg)
全加算器
全加算器は、2進数の同じ桁どうしの演算をして、下位からの演算結果(S:Sum)と桁上がり(C:Carry)を出力します。
全加算器は、同じ桁どうしの加算を行い、その演算結果と下位桁からの桁上がりを加算します。
真理値表は以下の通りです。
![](https://assets.st-note.com/img/1660627891722-JFrNglkUdo.jpg)
論理式は以下の通りです。
![](https://assets.st-note.com/img/1660627932873-Id8olVF7IK.jpg)
論理回路は以下の通りです。
![](https://assets.st-note.com/img/1660628001365-QqPpxAVJZQ.jpg)
複数桁の加算回路
加算は同じ桁どうしで行います。
最下位の桁は下からの桁上がりが無いので、半加算器を使用します。
最下位以外の桁は下位桁からの桁上がりが必要になるため、全加算器を使用します。
回路を簡略化するため、すべての桁に全加算器を使用し、最下位桁の桁上がり入力を常に0にする場合もあります。
下の図の右の回路と左の回路は同じ動作をします。
![](https://assets.st-note.com/img/1660628087927-KiVgowLzCZ.jpg)
全加算器の改良
全加算器の論理式が複雑なので簡単にできないか考えます。
まずは、カルノー図を使って式を簡略化できないか試します。
Sの式のカルノー図は以下の通りとなりますが、グループ化できるとこがありません。
入力が3個のときは、2個と1個に分けて表を作ります。
![](https://assets.st-note.com/img/1660628175827-w0h622SRE3.jpg)
Sの式は、カルノー図を使って簡略化することができませんので、別の方法で式を簡単にします。
![](https://assets.st-note.com/img/1660628231938-Acn4yo8GR7.jpg?width=800)
簡略化した式から回路を設計します。
Sを出力する回路は以下のようになります。
![](https://assets.st-note.com/img/1660628387605-8zI0qdQqOo.jpg)
この回路にCを計算する回路を追加します。
![](https://assets.st-note.com/img/1660628419912-M6x94lHL0G.jpg)
完成した回路を見ると、下の図のように半加算器を2段に接続したものであることが分かります。
![](https://assets.st-note.com/img/1660628443530-oivmeY5Tdt.jpg)
ここから先は
¥ 100
この記事が気に入ったらサポートをしてみませんか?