# -*- mode: snippet -*- # name: testbench # key: tb # -- `timescale 1 ns/1 ns // `timescale 10 ps/10 ps module $1_tb(); logic clk, clr; // Instantiate UUT $1 UUT (.clk(clk), .reset(clr), //add more custom signals here ); // Clock definition initial begin clk = 0; forever #25 clk = ~clk; // 20MHz end // reset signal definition initial begin clr = 0; repeat(100)@(posedge clk); // wait 100 clock periods clr = 1; end initial begin repeat(120)@(posedge clk); // wait 120 clock periods (reset + a bit more) // do useful things here repeat(10)@(posedge clk); $stop; end endmodule