Hi Joe

2) Can multiple clock rates be set/used in the ROACH2 board? For example, can we use the ADC clock for ADC captures and a (much) faster clock for the data processing portion of the algorithm?


Multiple clock rates do normally run on a ROACH/ROACH2, but only in yellow blocks. As an example, the DRAM yellow block internally normally runs at a higher clock rate than the rest of the data processing logic. An asynchronous (one clock domain on the write interface, a potentially different clock domain on the other) FIFO is used to bring data in from the clock domain our signal processing is happening at, and translating it to the DRAM clock rate.

In theory we could build little yellow blocks containing resources that are scarce (e.g multipliers) and then run them at multiples of the clock rate of the rest of the system. In practice this would be tricky as logic to cross the clock domains would have to be designed. This would be resource hungry and a potential source of timing problems. Also, you would actually have to get the logic internal to the yellow block to run at the multiple of the clock rate you are targeting, and we already have issues making certain resources run at the lower clock rate.

Regards
Andrew


Reply via email to