You don't need an extra state to "give data to CPU."  Just do it under if (stateCounter = NUM_WAIT_CYCLES) and go straight  back to IDLE instead.