1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
// DESCRIPTION: Verilator: Demonstrate deferred linking error messages
//
// This file ONLY is placed into the Public Domain, for any use,
// without warranty, 2015 by Todd Strader.
// SPDX-License-Identifier: CC0-1.0
interface foo_intf;
logic a;
endinterface
function integer the_other_func (input integer val);
return val;
endfunction
module t (/*AUTOARG*/);
localparam N = 4;
foo_intf foos [N-1:0] ();
logic [ 7 : 0 ] bar;
// Non-constant dotted select is not allowed
assign foos[bar].a = 1'b1;
baz baz_inst ();
// Unsure how to produce V3Param AstCellRef visitor errors
//assign baz_inst.x = 1'b1;
//assign baz_inst.N = 1'b1;
//assign baz_inst.7 = 1'b1;
//assign baz_inst.qux_t = 1'b1;
//assign baz_inst.the_func = 1'b1;
//assign baz_inst.the_lp = 1'b1;
//assign bar.x = 1'b1;
//assign fake_inst.x = 1'b1;
//assign the_other_func.x = 1'b1;
initial begin
$write("*-* All Finished *-*\n");
$finish;
end
endmodule
module baz;
typedef integer qux_t;
function integer the_func (input integer val);
return val;
endfunction
localparam the_lp = 5;
endmodule
|