2 To 1 Mux Design
CoddyのVerilogジャーニー「基礎」セクションの一部。レッスン 64/90。
チャレンジ
マルチプレクサ (MUX)は、複数の入力のうち1つを選択し、選択信号に基づいて単一の出力へ転送するデジタル回路です。データセレクターのようなものだと考えてください。複数の入力があり、そのうちどれを出力へ送るかを選択します。
このプロジェクトでは、if-else文とcase文を使用して、さまざまなサイズのマルチプレクサを構築します。
2対1マルチプレクサ
2対1マルチプレクサは最も単純な形式です。2つのデータ入力(in0とin1)、1つの選択入力(sel)、そして1つの出力(out)があります。selが0の場合、出力はin0に従います。selが1の場合、出力はin1に従います。これをalways @(*)ブロック内のif-else文を使用して実装します。
例: in0 = 0、in1 = 1、sel = 1の場合、out = 1となります。
2対1マルチプレクサは、2つの入力のうち1つを選択し、選択信号に基づいて出力へ渡します。
真理値表
| sel | out |
|---|---|
| 0 | out = in0 |
| 1 | out = in1 |
selが0の場合、出力はin0に従います。selが1の場合、出力はin1に従います。
行うこと:
- Create
mux2to1という名前のmoduleを作成する - input
in0(1ビット)をAddする - input
in1(1ビット)をAddする - input
sel(1ビット)をAddする - output
out(1ビット、typereg)をAddする always @(*)blockをAddする- その中に
if-elsestatementをAddする:sel == 0の場合、out = in0を設定する- Else、
out = in1を設定する
endmoduleで閉じる
自分で試してみよう
// ステップ 1: mux2to1 という名前のモジュールを作成
// ステップ 2: 入力 in0 を追加
// ステップ 3: 入力 in1 を追加
// ステップ 4: 入力 sel を追加
// ステップ 5: 出力 out を追加 (reg 型)
// ステップ 6: always @(*) ブロックを追加
// ステップ 7: if-else 文を追加
// sel == 0 の場合、out = in0
// それ以外の場合、out = in1
// ステップ 8: Endmodule基礎のすべてのレッスン
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オンラインコンパイラ