verilator/test_regress/t/t_srandom_class_dep.v

51 lines
831 B
Systemverilog

// DESCRIPTION: Verilator: Verilog Test module
//
// This file ONLY is placed under the Creative Commons Public Domain, for
// any use, without warranty, 2023 by Antmicro Ltd.
// SPDX-License-Identifier: CC0-1.0
typedef class Cls;
class A;
extern function void method();
endclass
class B;
extern function void method();
endclass
class C;
extern function void method();
endclass
class D;
extern function void method();
endclass
function void A::method();
B obj = new;
obj.method();
endfunction
function void B::method();
this.srandom(0);
endfunction
function void C::method();
this.srandom(0);
endfunction
function void D::method();
C obj = new;
obj.method();
endfunction
module t;
A obj1 = new;
D obj2 = new;
initial begin
obj1.method();
obj2.method();
end
endmodule