verilator/test_regress/t/t_interface_mp_func.v
Johan Bjork c7e0f2e196 Fix function calls on arrayed interface, bug994.
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2015-11-11 20:40:24 -05:00

35 lines
812 B
Verilog

// DESCRIPTION: Verilator: Verilog Test module
//
// This file ONLY is placed into the Public Domain, for any use,
// without warranty, 2014 by Wilson Snyder.
interface pads_if();
modport mp_dig(
import fIn,
import fOut );
integer exists[8];
function automatic integer fIn (integer i);
fIn = exists[i];
endfunction
task automatic fOut (integer i);
exists[i] = 33;
endtask
endinterface
module t();
pads_if padsif[1:0]();
pads_if padsif_arr[1:0]();
initial begin
padsif[0].fOut(3);
if (padsif[0].fIn(3) != 33) $stop;
padsif_arr[0].fOut(3);
if (padsif_arr[0].fIn(3) != 33) $stop;
padsif_arr[1].fOut(3);
if (padsif_arr[1].fIn(3) != 33) $stop;
$write("*-* All Finished *-*\n");
$finish;
end
endmodule