I'm working on capturing ADC data from an ADA4355 using a Spartan-6 LX9 FPGA. According to the ADC datasheet, it can output data in several modes, such as:
16-Bit DDR/Single Data Rate (SDR), Two-Lane, 1× Frame Mode
Wordwise DDR, One-Lane, 1× Frame, 16-Bit Output Mode
I want to know the best way to capture this data correctly inside the Spartan-6, especially considering the ISERDES limitations (up to 8-bit deserialization per master/slave pair).
My main questions are:
How should I configure the ISERDES (and possibly IDELAY or BUFIO/BUFR) blocks to handle the 16-bit DDR data correctly?
Do I need to use multiple ISERDES blocks (e.g., master/slave configuration) for one data lane, and how should they be connected?
Is there an example or reference design for a 16-bit DDR data capture from an ADC on Spartan-6?
Between the “two-lane DDR” and “wordwise DDR one-lane” modes, which is more practical for a Spartan-6 implementation?