モジュールの記述
CoddyのVerilogジャーニー「基礎」セクションの一部 — レッスン 43/90。
チャレンジ
半加算器(half adder)は、2つの単一ビットを足し合わせ、以下の出力を行う回路です:
- sum — 加算結果(0 または 1)
- carry — 桁上がりがあるかどうか(両方の入力が 1 のときに 1)
例
| a | b | sum | carry |
|---|---|---|---|
| 0 | 0 | 0 | 桁上がりなし |
| 0 | 1 | 1 | 桁上がりなし |
| 1 | 0 | 1 | 桁上がりなし |
| 1 | 1 | 0 | 桁上がり (carry = 1) |
2進数で 1 + 1 を計算すると、結果は 0 で 1 が桁上がりします(10進数の 5 + 5 = 0 で 1 が桁上がりするのと同じです)。
ロジックを追加する前に、半加算器回路を保持するための空のシェルである module コンテナを作成する必要があります。
半加算器の場合、以下のタスクを行います:
half_adderという名前の module を作成する- 2つの inputs、
aとbを追加する - 2つの outputs、
sumとcarryを追加する
自分で試してみよう
// タスク1: half_adderという名前のモジュールを作成する
// タスク2: 2つの入力を追加する: a と b
// タスク3: 2つの出力を追加する: sum と carry
// ロジックは後で追加されます