// DESCRIPTION: Verilator: Functionally demonstrate an array of interfaces // // This file ONLY is placed under the Creative Commons Public Domain. // SPDX-FileCopyrightText: 2017 Mike Popoloski // SPDX-License-Identifier: CC0-1.0 interface foo_intf ( input x ); endinterface module foo_subm ( input x ); endmodule module t; localparam N = 3; wire [2:0] X = 3'b110; // Will cause ASCRANGE warning? foo_intf foos[N] (.x(X)); // bad foo_intf fool[1:3] (.x(X)); // bad foo_intf foom[3:1] (.x(X)); // ok foo_subm subs[N] (.x(X)); // bad foo_subm subl[1:3] (.x(X)); // bad foo_subm subm[3:1] (.x(X)); // ok endmodule