This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DAC3164: IO Test Clarification

Part Number: DAC3164
Other Parts Discussed in Thread: DAC3154

Hello,

I am trying to use the IO test feature of the DAC3164 to verify that the digital interface with an FPGA is functioning properly. I read this thread, which provides some information about using the IO test feature, but I need some additional information.

How are the iotest_pattern0-7 fields in the SIF registers are used for the IO test when the digital interface is used in dual channel DDR mode? Are all the patterns in iotest_pattern0-7 compared to both channel A and channel B? Or are some of the patterns compared to only channel A and some of the patterns compared to only channel B? 

Thanks,

Royce

  • Hi Royce,

    We are taking a look into this and will be back with you soon.

    Regards,

    Dan
  • Hello Dan,

    Any update on this?

    Thanks,

    Royce

  • Hi Royce,

    In the thread that you pointed to, there is a power point included that helps to describe how the input pattern file should be formatted to address both channels.

    4540.DAC3174 Pattern Test Feature.pptx

    If you read the notes in the last slide, it mentions that the first column (of the input data pattern file) will map to channel A, and the second column will map to channel B.

    Additionally, whether you are operating in SDR or DDR, based on the data clock, should not impact the operation of the pattern test since the DAC is a single sample bus device that uses de-interleaving to break out channel A/B from the input data pattern. The pattern test does require that sample0 of the input pattern be aligned with the rising edge of SYNC, but does not required the data clock. From the data sheet schematic shown below, you can see that the pattern test occurrs before the de-interleaving.

    Regards,

    Dan

  • Hi Dan,

    Based on what you are saying, the pattern should be applied as shown below for Dual Channel DDR mode (setup/hold times are not accurately depicted). Can you please confirm?

    You said:

    The pattern test does require that sample0 of the input pattern be aligned with the rising edge of SYNC, but does not required the data clock.

    Can you elaborate on what you mean by "does not require the data clock"? It looks like the test pattern circuitry runs in the data clock domain and therefore would require the data clock to be running.

    Thanks,

    Royce

  • Please see my reply to this post.
  • Hi Royce,

    Sorry for the confusion. I was attempting to quote the DAC3154 datasheet, and meant to say that the Sync needed to be aligned to sample 0, but the data clock does not.

    Also, could you share with me where you got the Data Clock, SYNC and Data diagram? I think this would be helpful if it were in the data sheet.

    Regards,

    Dan

  • Hi Dan,

    I created the timing diagram using a free tool called WaveDrom, with the JSON below. Does the diagram correctly depict how the test pattern should be applied?

    {
      head: {text: "DAC3164 IO Test Pattern Timing - Dual Channel DDR Mode"},
      signal: [
        {name: 'DATACLKP/N' , wave: 'n....', period: 2 },
        {name: 'SYNC', wave: '01xxxxxx01x', period: 1, phase: 1},
        {name: 'DATA[11:0]', wave: '==========', phase: 1,data: ['PATT_7', 'PATT_0', 'PATT_1', 'PATT_2', 'PATT_3', 'PATT_4', 'PATT_5', 'PATT_6', 'PATT_7', 'PATT_0'],},
    ],
      config: { hscale: 2 }
    }

    Thanks,

    Royce

  • Hi Royce,

    Thank you for sharing how you created the timing diagram! Yes, this is a great description of how the iotest patterns should be applied to the DAC

    Regards,

    Dan.