module pro_dec5 (clk, reset, initial_speed, ref_speed, out_speed); input clk; input reset; input [15:0] initial_speed; // speed yang kene ikut ref input [15:0] ref_speed; // speed apa yang kita nak output [15:0] out_speed; reg [15:0] out_speed; reg [15:0] sig_speed; always @(reset or initial_speed) begin if (reset == 1'b0) out_speed = 16'b0000000000000000; else sig_speed = initial_speed; end always @ (clk or reset) begin if (reset == 1'b0) begin out_speed = 16'b0000000000000000; end else begin if (sig_speed == ref_speed) begin out_speed <= sig_speed; //out_speed <= initial_speed end else if (sig_speed < ref_speed) begin out_speed <= sig_speed; //sig_speed = 16'b0000000000000000; end else sig_speed <= sig_speed - 1; end end endmodule