// DESCRIPTION: Verilator: Verilog Test module // // This file ONLY is placed under the Creative Commons Public Domain. // SPDX-FileCopyrightText: 2017 Wilson Snyder // SPDX-License-Identifier: CC0-1.0 module t ( input clk ); integer cyc = 1; counter_io c_data (); counter_ansi c1 ( .clk, .* ); counter_ansi c2 ( .clk, .c_data ); always @(posedge clk) begin cyc <= cyc + 1; if (cyc == 20) begin if (c_data.value != 12345) $stop; $write("*-* All Finished *-*\n"); $finish; end end endmodule interface counter_io; integer value; endinterface module counter_ansi ( input clk, counter_io c_data ); always_ff @(posedge clk) begin c_data.value <= 12345; end endmodule : counter_ansi