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.

DAC37J84EVM: JESD Interface

Part Number: DAC37J84EVM
Other Parts Discussed in Thread: DAC38RF82EVM, TSW14J57EVM

Hi All,

I am trying to interface DAC37J84EVM with the Zynq Ultrascale + and I need help

My approach & initial setup:

L = 8
M = 4
F = 1
K = 20
S = 1
Line rate = 7.3728Gbps
Reference clk = 184.32

1) Vivado block Diagram is shown below:

data for all signals / samples:

assign signal0_sampl0 = 'h7530;
assign signal0_sampl1 = 16'h0001;

2) I configure JESD interface in microblaze by programming registors via AXI as follows:

Xil_Out32(ADDR_start+0x004, 0x1); //RESET IPCORE
Xil_Out32(ADDR_start+0x008, 0x1); // Support ILA - ON
Xil_Out32(ADDR_start+0x00C, 0x0);// Scrambling - OFF
Xil_Out32(ADDR_start+0x010, 0x1);// Sysref - ALWAYS
Xil_Out32(ADDR_start+0x014, 0x3);// Multiframes in ILA = 4
Xil_Out32(ADDR_start+0x018, 0x0);// Test mode = Normal operation
Xil_Out32(ADDR_start+0x020, 0x0);// Octets per Frame F=1
Xil_Out32(ADDR_start+0x024, 0x13);// Frames per Multiframe K=20
Xil_Out32(ADDR_start+0x028, 0xFF);// Lanes in use = 8
Xil_Out32(ADDR_start+0x02C, 0x01);// Device subclass 1
Xil_Out32(ADDR_start+0x80C, (L << 24));// L = 7 (Number_of_lanes -1), DID = 0, BID = 0
Xil_Out32(ADDR_start+0x810, (CS << 24) |(N1 << 16) | (N << 8)| M );// CS = 0, N' = 16-1, N = 16-1, M = 4-1 
Xil_Out32(ADDR_start+0x814, (HD << 16) );// CF = 0, HD = 1, S = 0, SCR = 0
Xil_Out32(ADDR_start+0x818, 0x0);// 0x818: RES1 = 0, RES2 = 0
Xil_Out32(ADDR_start+0x004, 0x1); //RESET IP CORE

NOTE: I read the regisrets back to make sure that they are correct.

3) I program the FPGA and Microblaze
4) I program DAC via USB (DAC EVM GUI) 
5) I reset JESD & trigger sysref

6) In the alarm window only DAC PLL is not locked. I don't see any other alarms and I cant see anything on the (oscilloscope / spectrum analyser). 

I connected clocks to LEDs. They blink as expected (after clock divider).

I am not sure how to start debugging the DAC37J84EVM JESD interface.

Any suggestions?

  • Hi Anton,

    One of our device experts is looking into this, and will be back with you soon.

    Best Regards,

    Dan

  • Anton,

    We do not have an example project with a Zynq Ultrascale+ but we have one using our DAC38RF82EVM with a KCU105 development kit. The setup file for this is attached. The source code can be downloaded from the link below. See if this helps. You may also find example projects on the Xilinx website.

    In your setup, make sure the LMK is providing the correct frequency to the FPGA. The divider may not be setup properly after configuring the EVM. Are you using the DAC with internal clock or external? Please send screen shots of the GUI if you are still having issues after looking at this info I am sending.

    Regards,

    Jim

    KCU105 DAC38RF82 841 JESD Reference Design User Guide.pdf

     

  • Hi Jim,

    Thanks for help! 
    I solved my problem and now I can send samples from the FPGA and see the output.
    My design works for 9.8304 Gb/s.

    However, when I try to run it at 12.288 Gbps,  data is rubbish.

    I am using default settings for from the GUI (default settings work for  9.8304 Gbps)

    I have a feeling that this is happening because I am using a long FMC connector. I tried connecting the DAC EVM to the TSW14J57EVM with this cable and it works for 12Gb line rate.  I tried using different SYSREF modes (continuous, pulse (1,4,8)) and different clock dividers.

    Any Ideas?

  • Hi Anton,

    I will go ahead and close this thread, but please feel free to make a new post if you are still facing issues.

    Best Regards,

    Dan