Menu
Coddy logo textTech

Arithmetic Operators

Parte de la sección Fundamentos del Journey de Verilog de Coddy. Lección 19 de 90.

Verilog proporciona operadores aritméticos básicos: + (suma), - (resta), * (multiplicación) y / (división).

Ejemplo de código:

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

Salida:

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

Notas importantes

  • Division realiza una división entera (sin fractions)
  • Asegúrate de que el registro result tenga el ancho suficiente para los resultados de la multiplicación
challenge icon

Desafío

En este desafío, debes escribir las expresiones aritméticas correctas usando los operadores +, -, * y /.

Qué hacer:

  1. Calcula a + b y almacena el resultado en add
  2. Calcula a - b y almacena el resultado en sub
  3. Calcula a * b y almacena el resultado en mul
  4. Calcula a / b y almacena el resultado en div

Pruébalo tú mismo

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 iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos

Practica por tu cuenta: Compilador de Verilog online