Tutorials

Learn More

if statement in Verilog

Verilog supports if, else if, else same as other programming languages. 

The ‘If’ statement is a conditional statement based on which decision is made whether to execute lines inside if block or not.

The begin and end are required in case of multiple lines present in if block. For single-line inside if statement may not require ‘begin..end

The if statement returns true if the expression calculates its value as 1 otherwise, for 0, x, z values if block will not be executed.

Syntax:

if(<condition>) begin
  ...
end

The else if or else statement

In case if statement does not hold true, else if or else will be executed. For any condition hold true in else if statement, subsequent else if or else statement will not be checked.

Syntax: else if and else condition


if(<condition>) begin
  ...
end
else if(<condition>) begin
  ...
end 
else if(<condition>) begin
  ...
end
else begin
  ...
end


Syntax: if and else condition
if(<condition>) begin
  ...
end
else begin
  ...
end

Example:

module if_example;  
  initial begin
    int a, b;
    a = 10;
    b = 20;
    if(a>b)
      $display("a is greater than b");
    else if(a<b)
      $display("a is less than b");
    else 
      $display("a is equal to b");
  end
endmodule

Output:

a is less than b