VERILOG2126: All conditions should be different within the same “if / else if” conditional statement

Summary

Count: 1

ReliabilitySecurityMaintainabilityCode attributeEffort to fixTags
HIGH--Intentionality | Logical20minsynthesis, vscode, linter, simulation

Description

Having two identical conditions within an if / else if conditional statement is likely a bug (coming, for instance, from a copy/paste).

Noncompliant code example

if (s1 == 0 && s2 == 1) // Noncompliant: The last condition is the same
  q <= 1;
else if (s1 == 0 && s2 == 0)
  q <= 0;
else if (s1 == 0 && s2 == 1)
  q <= 0;

Compliant solution

if (s1 == 1 && s2 == 1)
  q <= 1;
else if (s1 == 0 && s2 == 0)
  q <= 0;
else if (s1 == 0 && s2 == 1)
  q <= 0;

Parameters

No parameters.