Writing The Module
CoddyのVerilogジャーニー「基礎」セクションの一部。レッスン 43/90。
チャレンジ
半加算器はtwo 単一ビットを加算し、次のことを知らせる回路です。
- 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 を加算すると、結果は 1 のキャリー付きで 0 になります(10進数で 5 + 5 = 0、キャリーが 1 になるのと同じです)。
Logic を追加する前に、module コンテナを Create する必要があります。これは、半加算器回路を保持する will 空のシェルです。
半加算器では、次のタスクを行います。
- half_adder という module を Create する
- two inputs を Add する:
aとb - two outputs を Add する:
sumとcarry
自分で試してみよう
// タスク 1: half_adder という名前のモジュールを作成する
// タスク 2: 2つの入力 a と b を追加する
// タスク 3: 2つの出力 sum と carry を追加する
// ロジックは後で追加されます
基礎のすべてのレッスン
4Operators Part 1
Arithmetic OperatorsModulo OperatorComparison OperatorsRecap - Simple MathBitwise Operators7Assign And Gates
Continuous AssignmentAssign With OperatorsBuilt In Gate PrimitivesAND OR NOT GatesXOR XNOR GatesRecap - Logic Gate Circuit10Decision Making
If StatementIf - ElseRecap - Simple ComparatorCase StatementCasex And CasezRecap - ALU Design5Operators Part 2
Logical OperatorsReduction OperatorsShift OperatorsConcatenation OperatorConditional OperatorRecap - Operator Challenge3Number System
Binary RepresentationSized NumbersUnsized NumbersNegative NumbersSpecial Values X And ZRecap - Number Formats6Modules
Module StructureInput And Output PortsInout PortsModule InstantiationPort Mapping By NamePort Mapping By OrderRecap - Build A Module9Procedural Blocks
Always BlockInitial BlockSensitivity ListBlocking AssignmentNon Blocking AssignmentRecap - Always vs Initial15Traffic Light Controller
Defining The StatesState Machine Logic自分で練習してみよう: Verilogオンラインコンパイラ