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 55 56 57 58 59
|
// DESCRIPTION: Verilator: Verilog Test module
//
// This file ONLY is placed under the Creative Commons Public Domain, for
// any use, without warranty, 2025 by Wilson Snyder
// SPDX-License-Identifier: CC0-1.0
interface A;
endinterface
typedef virtual A a_t;
typedef a_t a_array_t[6];
class B;
function new(virtual A va);
endfunction
endclass
class C;
a_array_t vif;
function void set(int index, a_t iface);
vif[index] = iface;
endfunction
endclass
module tb_top();
A a[6]();
C c, d, e;
a_array_t g;
initial begin
static a_t aa = a[0];
B b = new(a[0]);
c = new();
c.vif = a;
d = new();
d.set(0, a[0]);
d.vif[1] = a[1];
g[0] = a[0];
g = a;
d.vif[0] = g[0];
d.vif = g;
e = new();
for (int i = 0; i < 6; ++i) begin
e.vif[i] = g[i];
end
$write("*-* All Finished *-*\n");
$finish;
end
endmodule
|