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 entera (sin fracciones)
  • Asegúrate de que el registro de resultados tenga suficiente ancho 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