Hi, Jeff,

Matt pointed out to me that the crystals on the ROACH2 are pretty nice (100 MHz 
+/- 25 ppm).  Maybe this one misbehaving ROACH2 has a bad crystal (or a badly 
soldered crystal)?

FWIW, when the PAPER correlator used FPGA-based X engines, the X engines ran 
asynchronously from the F engines at 5% faster than the F engines (210 MHz vs 
200 MHz).  I don't really understand why they ran asynchronously.  IMHO, it 
would have made things far simpler if the F engines fed a clock to the X 
engines so that they could run synchronously.

Dave

On Jul 8, 2013, at 1:20 PM, Haoxuan Zheng wrote:

> Hi Casper,
> Is there any way to find out the FPGA clock rate precisely? We are suspecting 
> that our ROACH2s are not running at the frequency (202MHz) as we specified in 
> the design. We tried the python function in katcp, but it does not look 
> reliable enough. We hacked that function and increased the time between 
> counter reads to 30 seconds (instead of 2 seconds), and the reading is still 
> not that reliable. They all read roughly around 200.2MHz, and if that's the 
> case, then we must be doing something wrong regarding the clocks and our 
> 202MHz did not go into the design. We are using internal FPGA clocks with no 
> ADC or anything.
> 
> Background:
> We are testing 4 ROACH1 F-engine to 4 ROACH2 X-engine 10GBE set up, 16 
> connections in between. Each F-engine is sending to all 4 X-engines, and each 
> X-engine is receiving from all 4 F-engines. We have a very simple sending and 
> receiving FIFO buffer logic. The thing we see is that one particular X-engine 
> always has all 4 buffers filled up in a fixed amount of time (32K buffer 
> fills up in ~270 seconds). We swapped a lot of thing around to test which 
> part is wrong in the system, and we nailed it down to something physical in 
> that X-engine, and the fact that it fills up indicate that X-engine clock is 
> running slower than we set it to, because we set X-engine clock to be 202MHz 
> vs 200MHz on F-engine. Therefore we would like an definitive measurement of 
> the actual X-engine clock that is running.
> 
> Plot explanation:
> It's plotting one of the four FIFO buffer filling up over 270 seconds. The 
> vertical axis is the literal number of numbers currently stored in the FIFO. 
> This FIFO should on average get 1 number every 8 clocks from the F-engine 
> (200MHz) receiver, and should get 1 number pumped out every 8 clocks on 
> X-engine (202MHz), so this long term build up definitely suggest that the 
> clocks are not what we think.
> 
> 
> Thanks a lot and sorry for the long email!
> 
> Jeff
> <for_email.png>


Reply via email to