Menu
Coddy logo textTech

Operadores aritméticos

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

  • La división realiza una división de tipo integer (sin fractions)
  • Asegúrese de que el registro result sea lo suficientemente ancho para los resultados de la multiplicación
challenge icon

Desafío

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

Qué hacer:

  1. Calcular a + b y almacenar en add
  2. Calcular a - b y almacenar en sub
  3. Calcular a * b y almacenar en mul
  4. Calcular a / b y almacenar 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