I would like to better understand the term "phase accumulator" as used in the phaser docs as well as the phase relationship of multiple frequencies on a phaser oscillator channel. In the use case where multiple tones are set and turned on, for example:

# Set two oscillators frequencies to two different frequencies
phaser.channel[0].oscillator[0].set_frequency(0.0 * MHz)  # output is 222 MHz
delay(10 * ns)  # account for latency in changing phaser parameters
phaser.channel[0].oscillator[1].set_frequency(1 * MHz) # output is 223 MHz
delay(10 * ns)  # account for latency in changing phaser parameters
# Turn on oscillators
phaser.channel[0].oscillator[0].set_amplitude_phase(0.05, 0, clr=0)
delay(10 * ns)  # account for latency in changing phaser parameters
phaser.channel[0].oscillator[1].set_amplitude_phase(0.05, 0, clr=0)
delay(10 * ns)  # account for latency in changing phaser parameters

From measurements we've done, we don't see a phase difference between oscillator 0 and oscillator 1. But the frequencies and amplitudes are set with 10ns spacing, so one might expect an n * 10ns phase shift between the two tones. Is there no phase difference because the phase accumulator is set to crl=0? If we set clr=1 would there be a 10 ns phase between the two frequencies in the output? This is why I'd like to learn more about the phase accumulator and how it operates. Thank you.

5 days later

Your response is very unhelpful. I've read all threads, github wikis, and github issues related to the phaser which is why I am here asking for more information. This thread is close to my question but does not answer it.

Your own statement that you don't sufficiently understand what phase accumulator is let me believe that pointers to existing information would help you sort out the basic concepts first before embarking on more advanced things. But as you say, you have already read and digested all the available information and I don't intend to repeat here that's already available elsewhere.
You may want to review your two questions. The only answers I can give you are unfortunately of very limited usefulness due to lack of any context, sufficiently complete code, description of what you want to achieve, accurate and understandable observation, and accurate description of expectations.

Is there no phase difference because the phase accumulator is set to crl=0?

I can't tell you why there is no phase difference because I don't know what you mean by the phrase. Please define what "phase difference" means for you. The two oscillators differ by 1 MHz and therefore (when running) their phase difference should increase by one turn per µs.

If we set clr=1 would there be a 10 ns phase between the two frequencies in the output?

"10 ns" is not a meaningful quantity for "phase difference" for any definition of the phrase that I am aware of.
As long as clr=1 the phase accumulators will stay at 0. Only when deasserting clr the accumulators start accumulating.

Maybe this is the answer that helps you understand things: "because one of the oscillator frequencies is 0".

2 months later

For future readers, I've resolved my question mentioned initially after a long discussion with graduate students from the Oxford trapped ion group.
The main hurdle I had was a misunderstanding of what phase means in artiq speech. When physicists (such as myself) say phase, we often mean a phase offset phi_0 of some sinusoidal sin(w * t + phi_0). In the artiq documentation, phase includes the frequency, time, and phase offset of the sinusoidal argument: phi(t) = w * t + phi_0 (where w is the angular frequency and t is time).

To learn more about how phase accumulates in different phase modes and generally thinking in terms of phase accumulation, read the Urukul and sawg docs which have nice information on that. Then come back to the phaser docs to understand how to correctly use the phase accumulator clear argument to get the type of phase coherence you want between tones.

There is no difference between the meaning of phase in EE, physics, or ARTIQ.