fastest pulse?

I need to produce 2 separate pulses, simultaneously, both pulses variable in both rep rate and pulse width. max frequency is about 1000 Hertz. Pulse width should be from 5% to 100%. What is the minimum time between 2 digital writes? I know I can time with milli's, but I am not sure what the timing is on writes themselves. I can't use PWM as rep rate never changes. I also unsure how I handle keeping width a constant % as rep rate changes. Is this possible with an Uno?

Jim

Would this be better done with a 556?

Jim

1000 Hz has a period of 1mS, 1000uS.
Make yourself a blink without delay sketch, every 50uS check the state of your width and on/offtime, do your digitallwrites as needed.

... do your digitallwrites as needed

Agree with CrossRoads,

I know I can time with milli's,

Use micros() instead => a 1000 Hz signal needs 2000 switches

optionally use direct port manipulation - Arduino Reference - Arduino Reference - to optimize accuracy.

I can't use PWM as rep rate never changes.

Yes you can change the rate of PWM.
Just google:-
arduino pwm frequency change