Hi Tejas,
You cannot get this short 'accurate' pulses with software! At least not with a compiled language like C. What's worse, you cannot even get accurate LONG pulses with software, unless the 'accuracy' means relative accuracy.
The processor is running at 96 MHz, but the interrupt on which the wait_us() is relying runs only at 1 MHz. Then there are varying delays associated with the interrupt calling and the wait_us() internal state after return from the interrupt. This gives you inaccuracy. If you want, you can probably increase the interrupt frequency a little bit, but this is by no means the solution.
The correct way to generate accurate pulses is with hardware timers. Then the pulses will be accurate to the crystal accuracy. It is not that hard to do, and a great way to learn more.
BTW, if you want to output regular pulses of some accurate duration, you could use the PwmOut object. It is likely to be based on hardware.
I want know that how to change the clock frequency to 100 Mhz from its default setting? To obtain high speed processing from this controller.