i am using pic 18f46j11 microcontroller. my controller gives 5 times delay. i used 20mhz crystal. now if i delay particular port to 1 instruction than it gives 1us instead of 200ns. (20mhz/4=5 mhz=200ns).
If you're only getting 1uS delay for a nop instruction, it sounds like your PIC doesn't know that it has a crystal on its pins. How did you set up your configuration words?
How are you measuring the output pulse width? You should also try to measure the actual instruction clock frequency by setting up your OSC to output the instruction clock (fosc/4) on one of the PIC pins.