Recap - Operator Challenge
Fait partie de la section Fondamentaux du Journey Verilog de Coddy. Leçon 29 sur 90.
Défi
Complétez le code en écrivant les expressions correctes pour chaque tâche. Ce défi couvre tous les opérateurs de ce chapitre.
À faire :
- Logical : Vérifiez si both
value1etvalue2sont non nuls, puis stockez le résultat danslogic_out - Reduction : Vérifiez si all les bits de
vectorvalent 1, puis stockez le résultat dansreduction_out - Shift : Décalez
datade 2 bits vers la gauche, puis stockez le résultat dansshift_out - Concatenation : Combinez
highetlowinto une valeur de 8 bits, puis stockez le résultat dansconcat_out - Conditional : Stockez larger de `a` et `b` dans
cond_out
Essayez vous-même
module operator_challenge;
reg [3:0] value1, value2;
reg logic_out;
reg [3:0] vector;
reg reduction_out;
reg [7:0] data;
reg [7:0] shift_out;
reg [3:0] high, low;
reg [7:0] concat_out;
reg [3:0] a, b;
reg [3:0] cond_out;
initial begin
// Logique
value1 = 4'd6;
value2 = 4'd0;
logic_out = ______; // Vérifie si value1 et value2 sont tous les deux non nuls
// Réduction
vector = 4'b1111;
reduction_out = ______; // Check if all bits of vector are 1
// Shift
data = 8'b00001111;
shift_out = ______; // Décale data de 2 bits vers la gauche
// Concaténation
high = 4'b1010;
low = 4'b1100;
concat_out = ______; // Combine high et low en une valeur de 8 bits
// Conditionnel
a = 4'd7;
b = 4'd12;
cond_out = ______; // Stocke le plus grand de `a` et `b`
$display("6 && 0 = %d", logic_out);
$display("&4'b1111 = %d", reduction_out);
$display("00001111 << 2 = %b", shift_out);
$display("{1010, 1100} = %b", concat_out);
$display("max(7, 12) = %d", cond_out);
$finish;
end
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