Menu
Coddy logo textTech

Arithmetische Operatoren

Teil des Abschnitts Grundlagen der Verilog-Journey von Coddy — Lektion 19 von 90.

Verilog bietet grundlegende arithmetische Operatoren: + (Addition), - (Subtraktion), * (Multiplikation) und / (Division).

Code-Beispiel:

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

Ausgabe:

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

Wichtige Hinweise

  • Division führt eine Ganzzahldivision durch (keine Brüche)
  • Stellen Sie sicher, dass das Ergebnisregister breit genug für Multiplikationsergebnisse ist
challenge icon

Aufgabe

In dieser Herausforderung müssen Sie die richtigen arithmetischen Ausdrücke unter Verwendung der Operatoren +, -, * und / schreiben.

Was zu tun ist:

  1. Berechnen Sie a + b und speichern Sie das Ergebnis in add
  2. Berechnen Sie a - b und speichern Sie das Ergebnis in sub
  3. Berechnen Sie a * b und speichern Sie das Ergebnis in mul
  4. Berechnen Sie a / b und speichern Sie das Ergebnis in div

Spickzettel

Verilog arithmetische Operatoren: +, -, *, /

reg [3:0] a, b;
reg [7:0] add, sub, mul, div;

add = a + b;
sub = a - b;
mul = a * b;
div = a / b; // integer division (no fractions)

Hinweis: Stellen Sie sicher, dass das Ergebnisregister breit genug ist, insbesondere bei Multiplikationen.

Probier es selbst

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 iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen