Which clock are you using in the device? If you are using ILO the drift in the time period is expected because the ILO in PSoC 4 devices have high tolerance value.
In this case you have to compensate the ILO frequently using the IMO. Please refer PSoC 4000S/4100S Watch dog timer code example which uses ILO comensation. I am attaching the code example with this email.
In case if you are not using ILO but still getting the drift, please attach your project once. We will check it and provide you our feedback.
What accuracy do you want?
The error ratio of 12 seconds to 10 minutes (600 seconds) is 2%. As described in the datasheet as follows, the maximum error of the IMO internal oscillator is +/-2%.
So, it is not expected to have more accurate internal clock than you experienced.
There is another internal clock ILO and its error is very big as follows.
The maximum error for 10 minutes is -5/+10 minutes.
The PSoC 4100S has Watch Clock Oscillator (WCO) block to generate a LFCLK with a resonator.
It is recommended to add a 32kHz external crystal to have more accurate clock that is available for a timer.
now I set 10 second I measure real timer of 12 second, so error is + 2 second on 10 second, it's 20%
Can you please attach the PSoC Creator project that you are using (only the timer part)? We would like to test the settings of your project.
Thanks and regards