Thank you David and Dan. The information you gave is very useful. I see that I need to plan for my two ADC's to be out of sync by as much as four nanoseconds when I run an ADC at 2 GHz. The good feature is that the difference in phase should stay constant during a run if I use the same oscillator to clock both ADC boards. That may be all I need.
> Hi, Ron, > > On May 6, 2013, at 2:28 PM, [email protected] wrote: > >> Having one ADC filling the FIFO with >> its own clock would cause one signal to have a >> delay relative to the other. Are you suggesting >> the FIFO in the FPGA corrects this problem by >> cancelling the delay? > > I don't know how/whether the ADC yellow blocks account for this (very > shallow) ADC1 FIFO delay by delaying the ADC0 data accordingly. I have > never thought about what portion of the measured relative delay was due to > clock demux ambiguity vs unaccounted for clock-domain-crossing FIFO > latency. > > When comparing the output of two ADCs, the relative delays need to be > measured after every programming of an associated FPGA. Between > programmings, the relative delay due to the clock demux ambiguity and > clock-domain-crossing FIFO latency (if any) is very stable. Maybe you > could get away with measuring it every power cycle on the ROACH/ROACH2 > rather than every time you program the FPGA. > > I've only dealt with this on multi-iBob systems where the FPGA has a > built-in PPC that boots every time the FPGA is reprogrammed. As I > mentioned in earlier emails, the iBob startup code would reset (both!) the > ADCs until they came up in sync with each other. This was actually > detrimental because resetting ADC0 made the FPGA clock go away and come > back which caused clocking havoc. It also meant that the ADC clock delay > ambiguity relative to other iBobs was not constant across reprogramming > the FPGA even though it would have been had the ADCs not been reset by the > startup code. I think it was a well intentioned "feature" that had some > unintended side effects. > > We typically measure the relative delays by injecting correlated noise or > observing a broadband calibrator (e.g. a quasar), correlating the inputs, > and then fitting a phase slope across the cross correlation frequency > spectrum. This also measures other sources of relative delay such as > mismatched cable lengths. > > Dave > > >

