mirror of
https://github.com/verilator/verilator.git
synced 2025-01-05 22:27:35 +00:00
36 lines
855 B
Systemverilog
36 lines
855 B
Systemverilog
// Copyright 2003 by Wilson Snyder. This program is free software; you
|
|
// can redistribute it and/or modify it under the terms of either the GNU
|
|
// Lesser General Public License Version 3 or the Perl Artistic License
|
|
// Version 2.0.
|
|
// SPDX-License-Identifier: LGPL-3.0-only OR Artistic-2.0
|
|
class ExampleClass;
|
|
localparam NUM_TXNS = 10;
|
|
protected virtual example_if v_if;
|
|
|
|
task run();
|
|
v_if.x();
|
|
endtask: run
|
|
|
|
function void bind_if(virtual example_if v_if);
|
|
this.v_if = v_if;
|
|
endfunction: bind_if
|
|
endclass: ExampleClass
|
|
|
|
interface example_if();
|
|
logic clk;
|
|
logic rstn;
|
|
logic[7:0] x;
|
|
endinterface: example_if
|
|
|
|
module t(/*AUTOARG*/);
|
|
|
|
example_if example_if_inst();
|
|
|
|
initial begin: main
|
|
ExampleClass exampleClass = new();
|
|
|
|
exampleClass.bind_if(example_if_inst);
|
|
exampleClass.run();
|
|
end: main
|
|
endmodule: t
|