Menu
Coddy logo textTech

Operatory arytmetyczne

Część sekcji Podstawy ścieżki Verilog w Coddy. Lekcja 19 z 90.

Verilog udostępnia podstawowe operatory arytmetyczne: + (dodawanie), - (odejmowanie), * (mnożenie) i / (dzielenie).

Przykład kodu:

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

Wynik:

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

Ważne uwagi

  • Dzielenie wykonuje dzielenie całkowite (bez ułamków)
  • Upewnij się, że rejestr wynikowy jest wystarczająco szeroki, aby pomieścić wyniki mnożenia
challenge icon

Wyzwanie

W tym wyzwaniu musisz zapisać poprawne wyrażenia arytmetyczne za pomocą operatorów +, -, * i /.

Co zrobić:

  1. Oblicz a + b i zapisz wynik w add
  2. Oblicz a - b i zapisz wynik w sub
  3. Oblicz a * b i zapisz wynik w mul
  4. Oblicz a / b i zapisz wynik w div

Spróbuj swoich sił

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 iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator Verilog online