VERILOG2075: Connections between external net and internal net port should have consistent net types

Summary

Count: 1

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

Description

A connection (or part of a connection) between an external net and an internal net port has inconsistent net types. The SystemVerilog standard defines which combinations of net types are inconsistent and should produce a warning. See SystemVerilog Standard: 23.3.3.7 - Port connections with dissimilar net types (net and port collapsing) for more detail.

Noncompliant code example

module fly (input .a({b, {c[1:0], d}}));
  wand b;
  wand [3:0] c;
  supply0 d;
endmodule

module top;
  wand a;
  wor b;
  trireg [1:0] c;

  // net type 'wor' of connection bits [2:2] is inconsistent with net type 'wand' of corresponding port range
  // net type 'trireg' of connection bits [1:1] is inconsistent with net type 'wand' of corresponding port range
  fly fly1({a, b, c});
endmodule

Parameters

No parameters.