I’m struggling with a synchronization issue on my equipment (Signal Generator + Oscilloscope) that makes the Sync Output practically useless for precision work.
Firmware version: "6.01.01.38R3"
Hardware version: "03-00-00-81-41"
I am feeding a 20ns pulse and the Sync Output from the generator into an oscilloscope. I am monitoring the time interval between the sync edge and the pulse edge using a trend plot. I see a constant linear phase drift. The offset "ramps" from -550ps to 3ns. While this technically stays within the manufacturer's jitter specification (3.5ns), it is clearly not random jitter but a deterministic drift.
(Attachment Link)
The speed of this drift is highly dependent on the output frequency:
At 10 MHz: the timing is perfectly stable.
At 2.5 MHz: the drift is very slow; a full cycle (~3.5ns) takes approximately 12 hours.
At 250 kHz: the drift period from minimum to maximum is about 45 minutes (one division on my trend's X-axis is 10 min).At non-multiple frequencies: the drift accelerates significantly.
At 20 kHz, a full cycle takes 3 minutes; at 1 kHz, the phase "rolls over" every 20 seconds.
It seems like the Sync signal and the Main Output are derived from different clock domains or there is an accumulated rounding error in the NCO/Phase Accumulator that isn't being reset. For non-integer ratios, the error builds up rapidly, causing the phase to "crawl" relative to the trigger.Has anyone else encountered this? Is this a known firmware bug that might be fixed, or is it a fundamental architecture flaw in the FPGA/DDS implementation? In its current state, the Sync Output is completely unreliable for any time-domain measurements
That kind of behavior is not unexpected from an AWG.
To keep things even weirder, my Rigol DG4000 AWG sync output is a BNC with TTL output, which means that it will never output more than 20-25MHz (don't recall the exact frequency), even if it should. It's a quirk mentioned somewhere in the Rigol AWG's manual, but I didn't notice it.
Took me half a day of "debugging" my DUT, until I realized the TTL sync out of the AWG doesn't really follow the channel output signal, but it is limited to the max frequency supported by a normal TTL gate. There was nothing wrong with my DUT design, it was the weird AWG sync out suddenly halving when going above 25MHz, and thus making the DUT to fail the tests!

I don't know the exact algorithm they are using for capping the sync out at 25MHz while still keeping it synchronous with the channel output. My guess is, that is why you see different "jitter" at different frequencies, and at certain F values there is no jitter: because of this Fmax capping algorithm (for the sync output only).
As a workaround, if your AWG has 2 channels, you may try putting the 2 channels in sync, and using the channel 2 out (Ch2 out, not Sync2 out) as a sync output, in the hope that that will get rid of the "jitter" or rolling phase errors, however you want to call them.
Another known quirk for AWGs (no matter the model), is that they synthesize the signal period digitally, which means the half period edge might "dance" around the expected edge location, because AWGs are using an internal table and a rolling phase as NCO. When the ratio between internal clock and the requested frequency is not an integer, it will be some "jitter"
Even weirder is the situation when you use your own table, where for example you replace a sin function with some sequence of 0 and 1's, and try to change the frequency of that sequence. Because of the rolling phase between the table and the FPGA clock, you may get a very different train of 0's and 1's than the one that you put in your signal waveform table.

AWG are not like the analog signal generators, where all the oscillations have precisely the same duration, and the jitter is random. That is why, it is not unusual to need in the lab both an AWG and an RF Generator.