Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
12 years ago

Multiple High Speed ADCs via serial LVDS

Hi everybody,

for a new system there is the need to digitize data with 12 Bit/80Msps from up to 20 channels.

To date the idea would be using multiple Quad ADCs with serial LVDS links source synchronous to e.g. a Cyclone V FPGA.

The ADCs could be LT2173-12 (8 data links @ 560 MBit/s each, data frame and clock output available).

All devices are running at the same speed.

I would be very happy to get some insight and comments on the idea, especially the following aspects:

I would use one altlvds_rx instanciation for data reception from each of the ADCs.

Therefore I'd route the data, frame and clock links of each device to a seperate altlvds_rx.

The problem I now see is that when I instanciate one megacore function for each ADC interface, I run out of PLLs (each altlvds_rx consumes 3 generic_pll blocks). Right?

There is the option to share PLLs between multiple receivers. But in this case I think the timing of all devices must be very closely matched as I can not compensate each receiver individually. Am I right?

One solution I was thinking about is driving the input clock to each ADC from a seperate FPGA internal PLL output and use the shared pll approach provided by altpll_rx for data capture.

I could then at least compensate general routing delays between different devices, right?

There may be other solutions by using external PLL devices, perhaps somebody has some good ideas on that.

If I share the plls, are the clock / data outputs on the altpll_rx outputs in sync?

Or do I have to resync them to an additional 80 MHz internal clock?

Is anybody here in this forum who has done such things (maybe with less but also multiple ADC devices :rolleyes:) in the past?

Is the idea completely non sense and simply impossible to get all that data into a single device?

Using multiple single channel ADCs with parallel or DDR interface is no option due to the amount of user IO necessary (there will be other things connected to the FPGA in addition).

Of course I could use several FPGAs but this will blow up board space, power requirements and simply COGS.

Thanks a lot in advance for any comments,

Volker

14 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    I guess that when you have two sets of DCO and FCO that the octal ADC is split up in two quadruple ADC with different timing. The picture you show implies that you use the FCO as the inclock. And so you need a PLL for every FCO or 2 per octal ADC in the case you refer to. It would have been nice if you had given a part-number so I can find a data-sheet.

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Yes, FCO is sampled as data. You then use the appropriate level change to validate the shifted-in data.

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    The ADC can output the data over 2 lanes, halving the speed requirements to only 480 MBit/s which can be handled, hands down, by a simple deserialiser, using the DCO as the main clock. In a project, a couple of years back now, I deserialised 4 octal ADCs running 50 MHz or 600 MBit/s on an EP2C8F256-C6N. No need for calibration.

    --- Quote End ---

    Yes. Phase calibration was suggested for the case that no FCO or DCO output from the ADC is available in the design.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    I guess that when you have two sets of DCO and FCO that the octal ADC is split up in two quadruple ADC with different timing. The picture you show implies that you use the FCO as the inclock. And so you need a PLL for every FCO or 2 per octal ADC in the case you refer to. It would have been nice if you had given a part-number so I can find a data-sheet.

    --- Quote End ---

    The part numbers that we are evaluating are from Linear Tech. They are LTM9010 and LTM9012, the first one has 8 channel and the second one has 4 channels but with amplifier circuit insid the ADC chip.