Menu
Coddy logo textTech

Opérateurs arithmétiques

Fait partie de la section Fondamentaux du Journey Verilog de Coddy — leçon 19 sur 90.

Verilog fournit des opérateurs arithmétiques de base : + (addition), - (soustraction), * (multiplication) et / (division).

Exemple de code :

module arithmetic_demo;
  reg [3:0] a, b;
  reg [7:0] add, sub, mul, div;
  
  initial begin
    a = 4'd9;
    b = 4'd4;
    
    add = a + b;    // 9 + 4 = 13
    sub = a - b;    // 9 - 4 = 5
    mul = a * b;    // 9 * 4 = 36
    div = a / b;    // 9 / 4 = 2
    
    $display("9 + 4 = %d", add);
    $display("9 - 4 = %d", sub);
    $display("9 * 4 = %d", mul);
    $display("9 / 4 = %d", div);
    $finish;
  end
endmodule

Sortie :

9 + 4 = 13 9 - 4 = 5 9 * 4 = 36 9 / 4 = 2 

Remarques importantes

  • La division effectue une division entière (pas de fractions)
  • Assurez-vous que le registre de résultat soit suffisamment large pour les résultats de multiplication
challenge icon

Défi

Dans ce défi, vous devez écrire les bonnes expressions arithmétiques en utilisant les opérateurs +, -, * et /.

Ce qu'il faut faire :

  1. Calculez a + b et stockez le résultat dans add
  2. Calculez a - b et stockez le résultat dans sub
  3. Calculez a * b et stockez le résultat dans mul
  4. Calculez a / b et stockez le résultat dans div

Essayez vous-même

module arithmetic_challenge;
  reg [3:0] a, b;
  reg [7:0] add, sub, mul, div;
  
  initial begin
    a = 4'd12;
    b = 4'd5;
    
    add = ______;   // a + b
    sub = ______;   // a - b
    mul = ______;   // a * b
    div = ______;   // a / b
    
    $display("12 + 5 = %d", add);
    $display("12 - 5 = %d", sub);
    $display("12 * 5 = %d", mul);
    $display("12 / 5 = %d", div);
    $finish;
  end
endmodule
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fondamentaux