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.

DAC38J84: Which clock does sample the SYSREF? DACCLK or JESD clk

Part Number: DAC38J84
Other Parts Discussed in Thread: LMK04828,

I'm using FMC144 mezzanine board from Abaco which has DAC38J84 IC on it. I'm also using Xilinx JESD204B core for setting up the interface. The clocks(Dclk and Sysref) are distributed over LMK04828 IC. The DACCLK is 1200MHz and SYSREF is 10MHz. The lane rate is 12Gbps and I'm using LMF:421.

Other settings are;

no interpolation, PA protect off, nco off, comlex multiplier off, qmc off, filters off,  and using only 2 channels

On Xilinx JESD204 core side, it is the IP coreclk (1/40th of serial lane rate=300MHz by default) which samples the SYSREF. However, I don't know which clock samples the SYSREF on DAC38J84 side(no information in the datasheet). I assume it is DACCLK however there is also a divided jesd clock which is set by config37 register (@address 0x25). There is no information on jesd clock in the datasheet.

If it is the jesd clock which samples the SYSREF in DAC38J84, then I could divide 1200MHz DACCLK by 4 to get 300MHZ jesd clock that is equal to fpga JESD204 coreclk.(Thus LMFC alignment can occur properly) 

If it is the DACCLK which samples the SYSREF in DAC38J84, then how could I align LMFCs on each side? There are 1200MHZ DACCLK and 300MHZ Xilinx JESD204 core clk which sample SYSREF on both sides. Shall I use different SYSREF values for each side in this case? 

  • Kubilay,

    The DAC38J84 samples the SYSREF through the DACCLK. The setup/hold time is specified under digital timing in section 6.8 of the datasheet.

    The JESD204B specification do not require the perfect alignment of the LMFCs between the JESD204B TX logic device and JESD204B RX DAC converter device. This is the whole reason for LMFC such that the logic clocks are running locally, but at a deterministic delay with respect to each other (i.e. the LMFC stands for local multi-frame clock).

    The SYSREF is designed such that they can be common between the FPGA logic device and the converter device with the K (or multiframe) set to be the same such that the multi-frame clock are running at the same rate.

    The release buffer will handle the determinstic delay between the FPGA and DAC. You may refer to the JESD204B standard for more detail on the JEDEC website.

    -Kang

  • Dear Kang,

    Thank you for your reply. 

    Now my question is that : What value shall I set  for jesd_clock which is configured via config37 register @address 0x25? Why is it needed and what is the effect of its value?

  • Hi

    The JESDCLK is used to the clock the JESD204B core inside of the DAC38J84. The JESD clock divider (JESDCLK_DIV) is a function of the DAC interpolation, the number of lanes (L) and the number of DACs (M). The JESDCLK divider can be calculated using the equation below:

    JESDCLK_DIV = interpolation*L/M

    Register CONFIG37 should be programmed for the calculated JESDCLK divider per the table below.

    Calculated JESDCLK Divider (JESDCLK_DIV)

    CONFIG37[15:0]

    1

    0x0000

    2

    0x2000

    4

    0x4000

    8

    0x6000

    16

    0x8000

    32

    0xA000

  • Thank you for your reply.

    In the datasheet it says "This controls the amount of dividing down the DACCLK gets to generate the JESD clock. It is independent of the interpolation because of the different JESD interfaces."

    but you say that it depends on interpolation and in this case there is a contradiction to this in the datasheet page 78. Can you confirm if there is a mistake?

  • Hi,

    The calculated value is used as an index to a lookup table to retrieve the actual JESDCLK_DIV value. But I agree that the statement in the datasheet is not clear enough. This will be corrected in a future revision.

    Thanks,
    Eben.