`timescale 1ns / 1ps module blinky_tb; reg clk = 1'b0, rst = 1'b0; reg [7:0] ctr_gold = 8'h00; wire [7:0] ctr_gate; top dut_i(.clk(clk), .rst(rst), .leds(ctr_gate)); task oneclk; begin clk = 1'b1; #10; clk = 1'b0; #10; end endtask initial begin $dumpfile("blinky_simtest.vcd"); $dumpvars(0, blinky_tb); #100; rst = 1'b1; repeat (5) oneclk; #5 rst = 1'b0; #5 repeat (500) begin if (ctr_gold !== ctr_gate) begin $display("mismatch gold=%b gate=%b", ctr_gold, ctr_gate); $stop; end oneclk; ctr_gold = ctr_gold + 1'b1; end $finish; end endmodule