verilator/test_regress/t/t_interface_array_bad.v
2015-10-22 20:13:49 -04:00

54 lines
1.1 KiB
Verilog

// 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.
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