verilator/test_regress/t/t_interface_mp_func.v

34 lines
800 B
Systemverilog
Raw Normal View History

// DESCRIPTION: Verilator: Verilog Test module
//
// This file ONLY is placed under the Creative Commons Public Domain.
// SPDX-FileCopyrightText: 2014 Wilson Snyder
// SPDX-License-Identifier: CC0-1.0
2026-03-08 23:26:40 +01:00
interface pads_if ();
modport mp_dig(import fIn, import fOut);
2026-03-08 23:26:40 +01:00
integer exists[8];
function automatic integer fIn(integer i);
fIn = exists[i];
endfunction
task automatic fOut(integer i);
exists[i] = 33;
endtask
endinterface
2026-03-03 13:21:24 +01:00
module t;
2026-03-08 23:26:40 +01:00
pads_if padsif[1:0] ();
pads_if padsif_arr[1:0] ();
initial begin
padsif[0].fOut(3);
if (padsif[0].fIn(3) != 33) $stop;
2026-03-08 23:26:40 +01:00
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