VERILOG2024: Arithmetic operators should have operands of same type

Summary

Count: 1

ReliabilitySecurityMaintainabilityCode attributeEffort to fixTags
LOW--Intentionality | Logical10minsynthesis, vscode, simulation, linter

Description

Noncompliant code example

module fly;
  logic [7:0] a;
  struct packed { logic [7:0] x; } b;
  initial a += b;
endmodule

Compliant solution

module fly;
  logic [7:0] a;
  logic [7:0] b;
  initial a += b;
endmodule

Arithmetic operators should have operands of same type. If not, one or both will be converted before the operation is performed. This is not necessarily a problem but the issue can be helpful if you prefer to be strict about disallowing implicit conversions.

Parameters

No parameters.