I am trying to interface an FPGA to a DAC device. The DAC has a JESD204B interface so the data clock is embedded in the serial data lane (it uses the 8B/10B encoding).

The DAC still needs a clock input, CLK, (LVDS) to drive the DAC sample rate clock. It can actually be a lower clock rate as the DAC has an internal clock multiplier. I think the lowest clock rate I am required to achieve would be about 65 MHz. Obvious the FPGA needs the same root clock to generate the samples at the same/correct rate.

I am trying to decide if I can simply use an FPGA pin to generate this 65 MHz clock. I'm generally not sure if this is a good idea or not (would jitter be particularly bad?). Also, I'm not sure what is the best method to achieve this. Do FPGAs have internal constructs specific to generating clocks on output pins, would I utilizes a simple DDR output block, or would it be best to consume a SERDES or GTX?

I guess the alternative is to use an external clock synthesis chip. Two output clocks can be generated, and one is sent to the FPGA for DAC sample production, and the other is sent to the DAC for sample consumption. I don't think the phase relationship between the two is critical.

  • \$\begingroup\$ I know you shouldn't send a clock into an FPGA only through a pin connected to a clock distribution network rather than any old pin. I'm not so sure about getting any old pin to output a clock though... \$\endgroup\$ – DKNguyen Apr 21 '20 at 22:06
  • \$\begingroup\$ Don't use an FPGA pin as a clock output for a high-frequency DAC. It's not gonna be low-jitter. \$\endgroup\$ – Ben Apr 21 '20 at 22:19
  • \$\begingroup\$ @Ben, is there an evidence to verify this claim? \$\endgroup\$ – Quantum0xE7 Oct 5 '20 at 14:58
  • \$\begingroup\$ forums.xilinx.com/t5/Other-FPGA-Architecture/… \$\endgroup\$ – Ben Oct 5 '20 at 18:32

One way or another your FPGA will need some kind of reference clock to work. The DAC performance will of course be influenced by the quality of its own clock.

If you use a good, low-jitter reference, the FPGA can make very good clocks using its internal PLL synthesizer block (verify this with your specific FPGA.)

However, if carefully-controlled clock spectrum is paramount (and it can be for some RF applications), you can use an external clock synth that has the spectral profile your DAC needs to achieve its performance. Choose a synth with two outputs: one for the FPGA, and one for the DAC. TI makes some good ones.

  • \$\begingroup\$ if the clock is output by an FPGA, it's not gonna be low-jitter \$\endgroup\$ – Ben Apr 21 '20 at 22:13
  • \$\begingroup\$ Your last paragraph, is a good solution though, \$\endgroup\$ – Ben Apr 21 '20 at 22:14
  • 1
    \$\begingroup\$ It depends on the FPGA. But, yes, for RF work the clock should come from a synth, or can be cleaned up with a ‘jitter cleaner’ PLL. TI makes those, too. \$\endgroup\$ – hacktastical Apr 21 '20 at 23:45
  • \$\begingroup\$ How can we find out how much jitter would exist on a clock output by the FPGA and if this is a problem? \$\endgroup\$ – Quantum0xE7 Oct 5 '20 at 14:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.