電源状態式半加算器
電源ありを1、電源なしを0として、1bitの足し算を行う。
| 項目 | 内容 |
|---|---|
| 分類 | 演算回路 |
| 難易度 | ★★★★★ |
| 主な用途 | 半加算・入力数判定 |
| 状態保持 | あり |
| リセット | 必要 |
できること
2つの電源状態A・Bを入力ビットとして扱い、下位桁にA XOR B、上位桁にA AND Bを出力します。0+0、1+0、0+1、1+1の4通りを処理できます。
仕組み
通常は出力1=A OR B、出力2=A AND Bになります。出力1側へ「2回に1回出力する」性質を組み込むと、A=B=1のときだけ出力1が表向き0へ戻り、XORになります。
回路例
参考動画・画像は、確認できたものから追加します。
真理値表
| A | B | 下位桁(XOR) | 上位桁(AND) | 計算結果 |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 + 0 = 0 |
| 1 | 0 | 1 | 0 | 1 + 0 = 1 |
| 0 | 1 | 1 | 0 | 0 + 1 = 1 |
| 1 | 1 | 0 | 1 | 1 + 1 = 10 |
この回路の本質
この回路が見ているのは、瞬間的な信号の同時入力ではありません。
電源あり=1、電源なし=0として保持された状態を入力ビットとして扱います。
通常の電源状態判定では、
- 出力1:A OR B
- 出力2:A AND B
になります。
出力1側へ「2回に1回出力する」性質を組み込むことで、AとBが両方1のときだけ出力1が表向き0へ戻り、結果として A XOR B になります。
並列化した場合
半加算器を2つ並列化すると、4入力中のON個数を2進数へ圧縮する基本形として使えます。
例:A=1、B=1、C=1、D=0
- A+B → 10
- C+D → 01
- ONは合計3個 → 2進数では11
4個すべてがONの場合は、2つの繰り上がりをさらに上位段で加算する必要があります。
作るときのポイント
- 瞬間信号ではなく保持された電源状態を見ている
- 入力1個なら下位桁、入力2個なら上位桁へ出る
- 複数並列にするとON個数の2進数圧縮へ拡張できる
応用
- 1bit半加算器
- 複数入力の個数カウンタ
- 高速電気式2進数変換
学習ルート
| 前に読む | 次に進む |
|---|---|
| 少し早いAND回路 | 2進数加算回路 |