Using multiple LVDS ADC in a single Arria 10 GX IO bank
I want to use 8 LTC2271 16-bit ADC in an Arria 10 GX 320. They use serial LVDS and each one needs 4 LVDS pairs (bit clock, frame clock and 2 data lanes). The FPGA has 8 IO banks, so we could clearly put one per bank, but that consumes the whole chip. We use one ALTLVDS_RX core per ADC.
All the ADC will be clocked using the same source, so they will have the exact same frequency. Only the phase will vary.
Is there a way to use the "external PLL" mode to put more than one ADC in a given bank? Each bank has 24 LVDS pairs, so I would then just need two banks.
It seems like this should work, but I've seen other posts implying otherwise.
Each LVDS core should latch it's ADC using the given ADC's bit clock. Doesn't the PLL just generate clocks needed on the fabric side?
I don't know of any ADC that use 24 LVDS paris; seems like a waste to have that many in a bank if there is no way to use them.
Hi,
it's not generally necessary to connect DCO and FRAME clock of all ADCs. There are different choices to acquire the serial data.
- use individual DCO and FRAME clock but no RX PLL. At least DCO must use dedicated clock input.- use FRAME clock and PLL per ADC, generate bit clock internally. FRAME must use dedicated clock input
- if delay skew between individual ADC is small enough (e.g. no additional buffers and long traces involved), use common DCO and FRAME clock for all ADC
- if you are unsure about delay skew but want to avoid individual clock inputs for each ADC, you can use soft CDR with training pattern on startup. Need to connect ADC SPI interface