`timescale 1ns/1ps module robot_tb(); logic clk; logic reset; logic sensor_l; logic sensor_m; logic sensor_r; logic [2:0] sensors; logic motor_l_pwm, motor_r_pwm; logic [20:0] count; logic count_reset; logic motor_l_reset, motor_r_reset; robot test (clk, reset, sensor_l, sensor_m, sensor_r, motor_l_pwm, motor_r_pwm, count, count_reset, motor_l_reset, motor_r_reset); assign {sensor_l, sensor_m, sensor_r} = sensors; always #5ns clk = ~clk; // period 10ns (100 MHz) initial clk = 0; initial begin #0ms; reset = 1; #40ms; reset = 0; end initial begin $dumpfile("output.vcd"); $dumpvars; #0ms; sensors = 3'b000; // Forward #70ms; sensors = 3'b001; // Gentle left #40ms; sensors = 3'b010; // Forward #40ms; sensors = 3'b011; // Sharp left #40ms; sensors = 3'b100; // Gentle right #40ms; sensors = 3'b101; // Forward #40ms; sensors = 3'b110; // Sharp right #40ms; sensors = 3'b111; // Forward #40ms; $finish; end endmodule