Menu
Coddy logo textTech

If - Else

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

La sentencia if-else te permite elegir entre dos acciones diferentes según una condición. Si la condición es verdadera, se ejecuta un bloque. Si es falsa, se ejecuta el otro bloque.

La sentencia if-else proporciona a tu código un punto de decisión: haz una cosa si la condición es verdadera y otra si la condición es falsa.

Sintaxis:

if (condition) begin
  // Se ejecuta cuando la condición es verdadera (1)
end else begin
  // Se ejecuta cuando la condición es falsa (0)
end

Ejemplo sencillo

if (reset) begin
  count = 0;
end else begin
  count = count + 1;
end
  • Si reset es 1 → count se convierte en 0
  • Si reset es 0 → count aumenta en 1

Múltiples instrucciones

Usa begin y end cuando tengas más de una instrucción:

if (enable) begin
  out = data_in;
  valid = 1;
end else begin
  out = 0;
  valid = 0;
end

If-Else con múltiples condiciones

Puedes encadenar sentencias if-else:

if (a > b) begin
  max = a;
end else if (b > a) begin
  max = b;
end else begin
  max = a;  // a y b son iguales
end

Reglas importantes

ReglaExplicación
else es opcionalPuedes usar if sin else
else pertenece al if más cercanoTen cuidado con la anidación
Usa begin/end para varias instruccionesEs necesario para más de una línea
challenge icon

Desafío

Qué hacer:

  1. Añade la instrucción if-else que falta para que esto funcione.
  2. Cuando enable sea 1, out debe ser igual a a & b.
  3. Cuando enable sea 0, out debe ser igual a a | b.

Pruébalo tú mismo

module ifelse_challenge;
  reg a, b, enable;
  reg out;
  
  initial begin
    a = 1;
    b = 0;
    enable = 1;
    
    // TODO: Añade la sentencia if-else
    // Si enable es 1: out = a & b
    // Else: out = a | b
    
    $display("out = %d (should be 0 because 1&0=0)", out);
    $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