Once again another poster that doesn't know how to count out 3000 clocks starting from 0.
0-2999-0-2999-0 etc cycles for 3000 clocks each time.
if CountCLK = 3000 then
cycles for 0-3000-0-3000-0 etc.
Since you have to reach 3000 before you can make CountCLK 0 again.
What is up with so many posters having problems with simple counting? So if I say count out ten numbers from 20: so 20,21,22,23,24,25,26,27,28,29,30 is the answer? Well here is a hint: It's not!.
- - - Updated - - -
Looking at your code you don't seem to have an idea how to approach the problem. Your FSM should be controlling what the counters are doing. e.g. I'm in the 50us reset phase. I'm in the 480 pulse phase. The FSM would monitor that there have been 480 pulses then return to the reset state.
I see there is a 0-2999 counter that could be used to both count the 0-2999 50us reset and the 0-74 pulse period. Determining which way you are counting is signaled by the FSM. e.g. do_reset and do_pulse.
If the FSM is in do_reset you count from 0-2999 and when you are in do_pulse you count from 0-74 repeatedly. Another counter monitors that you've output 480 pulses. Not 483 like you have in your code now. 0111100010 is 482 and since you start from 0 you generate 483 pulses. When you reach the end of pulse 481. i.e pulse_cnt = 481 and CountCLK = 74 then you go back to the reset state.