Decoder Design
Fait partie de la section Fondamentaux du Journey Verilog de Coddy. Leçon 85 sur 90.
Défi
Un decoder prend un nombre binaire comme input et active exactement one output en fonction de ce nombre. L'output qui s'active est appelé "one-hot", car un seul bit est actif (1) et tous les others sont inactifs (0).
Table de vérité (decoder 2 vers 4)
| Input (in) | out0 | out1 | out2 | out3 |
|---|---|---|---|---|
| 00 | 1 | 0 | 0 | 0 |
| 01 | 0 | 1 | 0 | 0 |
| 10 | 0 | 0 | 1 | 0 |
| 11 | 0 | 0 | 0 | 1 |
Interface du module
| Port | Direction | Largeur | Description |
|---|---|---|---|
in | input | 2 bits | Entrée binaire (0 à 3) |
out0 | output | 1 bit | Actif lorsque in = 00 |
out1 | output | 1 bit | Actif lorsque in = 01 |
out2 | output | 1 bit | Actif lorsque in = 10 |
out3 | output | 1 bit | Actif lorsque in = 11 |
Ta tâche consiste à compléter le module ci-dessous à l'aide d'une instruction case.
À faire :
- Lorsque
in = 2'b00,out0 = 1, tous les others à 0 - Lorsque
in = 2'b01,out1 = 1, tous les others à 0 - Lorsque
in = 2'b10,out2 = 1, tous les others à 0 - Lorsque
in = 2'b11,out3 = 1, tous les others à 0
Essayez vous-même
module decoder (
input [1:0] in,
output reg out0,
output reg out1,
output reg out2,
output reg out3
);
// TODO: Ajouter un bloc always @(*) avec case (in)
// 2'b00: out0=1, les autres à 0
// 2'b01: out1=1, les autres à 0
// 2'b10: out2=1, les autres à 0
// 2'b11: out3=1, les autres à 0
endmoduleToutes les leçons de Fondamentaux
1Introduction
Qu’est-ce que VerilogMatériel vs logicielVotre premier moduleCommentairesNiveaux d’abstraction de conception4Operators 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 LogicEntraînez-vous par vous-même : Compilateur Verilog en ligne