module testbench (AXLES, VEHICLE, TOLL_PAID, CLOCK, CLK, RESET, TOLL, GO, STOP, BCD_DOLLARS, BCD_CENTS_MSB, BCD_CENTS_LSB); input [0:15] TOLL; input GO, STOP; input [0:3] BCD_DOLLARS; input [0:3] BCD_CENTS_MSB; input [0:3] BCD_CENTS_LSB; output CLK, RESET, [0:2] AXLES, VEHICLE, TOLL_PAID; reg CLK, RESET, [0:2] AXLES, VEHICLE, TOLL_PAID; output [0:12] CLOCK; reg [0:12] CLOCK; initial begin $dumpvars; $dumpfile ("toll"); AXLES = 0; VEHICLE = 0; TOLL_PAID = 0; CLOCK = 2; CLK = 0; RESET = 0; // Reset the machine #10 RESET = 1; AXLES = 2; VEHICLE = 1; TOLL_PAID = 0; #10 TOLL_PAID = 1; #10 AXLES = 3; VEHICLE = 1; TOLL_PAID = 0; #10 TOLL_PAID = 1; #10 AXLES = 4; VEHICLE = 1; TOLL_PAID = 0; #10 TOLL_PAID = 1; #10 AXLES = 2; VEHICLE = 1; TOLL_PAID = 0; CLOCK = 480; #10 TOLL_PAID = 1; #10 AXLES = 3; VEHICLE = 1; TOLL_PAID = 0; #10 TOLL_PAID = 1; #10 AXLES = 4; VEHICLE = 1; TOLL_PAID = 0; #10 TOLL_PAID = 1; #10 AXLES = 2; VEHICLE = 1; TOLL_PAID = 0; CLOCK = 660; #10 TOLL_PAID = 1; #10 AXLES = 3; VEHICLE = 1; TOLL_PAID = 0; #10 TOLL_PAID = 1; #10 AXLES = 4; VEHICLE = 1; TOLL_PAID = 0; #10 TOLL_PAID = 1; #10 AXLES = 2; VEHICLE = 1; TOLL_PAID = 0; CLOCK = 960; #10 TOLL_PAID = 1; #10 AXLES = 3; VEHICLE = 1; TOLL_PAID = 0; #10 TOLL_PAID = 1; #10 AXLES = 4; VEHICLE = 1; TOLL_PAID = 0; #10 TOLL_PAID = 1; #10 TOLL_PAID = 0; #10 $finish; end always #10 CLK = ~CLK; endmodule