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.

ADC12J4000EVM: Cannot capture data from ADC12J4000EVM using KCU105

Part Number: ADC12J4000EVM
Other Parts Discussed in Thread: ADC12J4000, LMK04828, ADS42JB69

A few days ago, TI released High Speed Data Converter Pro GUI Installer, v4.50 (Rev. Q) which supposedly includes support for reading ADC data from a ADC12J4000EVM using the Xilinx KCU105 Eval board.

There is also a rough draft of a manual( e2e.ti.com/.../3073.KCU105-User_2700_s-Guide-rough-DRAFT.pdf ) it in another thread: e2e.ti.com/.../523947
I have not yet managed to get this working. Here is my procedure:

0) Connect the ADC12J4000EVM directly to the FMC HPC as seen in all pictures

1) Close the jumper on the ADC12J4000EVM labeled KC705 JTAG (otherwise you cannot use the KCU105 JTAG because it gets forwarded over FMC)

2) Flash the bitstream C:\Program Files (x86)\Texas Instruments\High Speed Data Converter Pro\KCU105 Details\Firmware\KCU105_TI_DHCP.bit to the KCU105 using Vivado's Hardware Manager

3) Launch ADC12J4000EVM GUI and click "Program Clocks and ADC" (do I have to make extra settings on the Low Level View here?)

4) Check the DHCP IP using the KCU105 UART (or looking at the firewall)

5) Launch HSDC Pro GUI 4.50, connect to the IP

6) Select ADC12J4000_BYPASS in the ADC dropdown

7) In the field ADC Output Rate type 4G and click somewhere else. A message pops up: "New lane rate is 8G due to ADC Output Data Range change. JESD reference clock from Device EVM to KCU105 needs to be set at 200M"

8) In the Analysis Window dropdown, I select 32768

9) Click capture. Error Window pops up: "Read DDR to file <linebreak> TIMED_OUT_ERROR <linebreak> Time out error"

The leds show the following state:
0 on, 1 off, 2 on, 3 blinking slowly, 4-6 blinking fast, 7 on


My questions are:
A) Has the software been tested with the combination of KCU105 and ADC12J4000EVM?
B) If so, what am I doing wrong?
C) Are there any additional tricks I can do to get more debug information?
D) Is the KCU105 firmware that is bundled with HSDC 4.50 identical (design and SDK code) to the JESD204B Hardware Demo from Xilinx's JESD Lounge (JESD204B_UltraScale_Hardware_Demo_2016_1_v1.3.zip)? If not, where can I get it?
E) From what I read, LED 0 being on signifies JESD RX Sync. This is on. LED1 should signify JESD TX Sync, that is off. Is it normal in this configuration that only RX syncs, not TX? (presumable because the ADC12J4000 does not really receive data using JESD?)
F) After completing the steps outlined above, should ADC be already flowing towards the FPGA? Or does that have to be initialized by the PC software? (I am thinking about going around the TI GUI and using the Xilinx Python functions to get data from the DDR memory)
G) From my understanding, ADC12J4000EVM by default uses a clock of 2GHz which gets divided by the factors that you can set in the "Low Level View"-Tab, LMK04828 registers 0x100 and 0x110. Currently I am leaving both at their default values, 0xA for 0x100 and 0xA for 0x110.
For my previous experiments using VC707, I had to use 0x5 in the 0x110 register. Am I correct in not changing these?

Thanks in advance, Max

Some additional debug information:
Platform info:
Windows 10 x64 10.0.14393
Vivado 2016.1

UART Output:

------------------------------------------------
-----UltraScale Hardware Demo for JESD204B------
------------------------------------------------
SW Version 2.1.006
HW VERSION = 1.5.3
For board KCU105 built with TI EVM support

Initialising platform
..DRAM capture buffer..
Max Buffer Size = 0x20000000 bytes..
..IIC and SI570..
Set SI570 frequency to =156250000 Hz
..Jesd204 PHY..
TX freq=6250, xMult=4, PLLtype=0, band=0
RX freq=6250, xMult=4, PLLtype=0, band=0
..Data IF..
..INTERRUPTS..
..SW register interface..
..Ethernet Interface..
Start PHY autonegotiation
Waiting for PHY to complete autonegotiation
Autonegotiation complete
Waiting for Link to be up; Polling for SGMII core Reg
auto-negotiated link speed: 1000
Board IP: 192.168.100.179
Netmask : 255.255.255.0
Gateway : 192.168.100.100
UHWD Jesd IP server started @ port 80
..Eyescan SW..
Platform Ready
------------------------------------------------
freeing arg...
closing tcpb...
Set speed for TX, PLL=0, xMultReal=40, xMultIdx=4, freq=8000MHz pllBand=0
Set speed for RX, PLL=0, xMultReal=40, xMultIdx=4, freq=8000MHz pllBand=0
Writing LPMEN = 0

  • Update: I tried to use some of the Xilinx provided files. They have various hardware and software versions, I am not sure which ones are worth putting time into.

    Original Bitstream provided with HSDC 4.5:
    SW Version 2.1.006
    HW VERSION = 1.5.3

    JESD204B_UltraScale_Hardware_Demo_2016_1_v1.3.zip (from Xilinx JESD Lounge)
    SW Version 2.1.003
    Vivado 2016.1
    HW VERSION = 1.5.3

    uhwd_2016_3_v1_0.zip (from Xilinx JESD Lounge):
    SW Version 3.0.000
    For Vivado 2016.3
    HW VERSION = 2.0.0

    Please note that none of these versions allows me to capture data from the ADC12J4000 using the procedure above. Most likely I am doing something wrong.
  • Max,

    There is a jumper on the ADC12J4000EVM that will prevent the firmware from downloading if it is not shorted. By default, this board ships with this jumper open. You will need to add a shunt to the jumper labeled "KC705 JTAG". It is on the top of the board near the FMC connector. I was having the same trouble as you with a new board I was using. As soon as I added this jumper, everything worked fine using HSDC Pro v4.5. This will be added to the user's guide.

    Regards,

    Jim 

  • I am confused, is this not what I described under:
    1) Close the jumper on the ADC12J4000EVM labeled KC705 JTAG (otherwise you cannot use the KCU105 JTAG because it gets forwarded over FMC)

    I can get the firmware flashed without a problem, but HSDC Pro is not working with it.
  • Max,

    I downloaded the last version of HSDC Pro and used the firmware that came with it and had no trouble getting captures from the board. What exactly is not working? Please send any screen shots if you think this will be me.

    Regards,

    Jim

  • I wrote my exact steps in the original post, did you try it by following these (maybe you are doing something different)?

    To sumarize: 

    - I can speak to the board using JTAG (jumper is set)

    - I can flash the firmware that is included with HSDC (exact path in original post)

    - I can see the microblaze running in the UART (exact output in original post)

    - I am setting the ADC using the ADC12J4000EVM GUI

    - I am trying to capture (see screenshots) but not receiving any data. In the the following error message occurs:

  • Hi Max

    I am looking into this.

    In the mean time, have you tried loading the firmware that is labeled KCU105_TI_DHCP_Hugh_Aug17.bit. It is possible that the latest bitsream was built for the latest version of the Xilinx tool (Viviado 2016.3) and is not backwards compatible. 

    Also, did you adjust the FPGA FMC VADJ to 1.8V with UART? This should be done in the Enhanced COM port.

  • Oh my god, yes, it works! You are the best! I was able to use the official firmware , that was not the problem, I was not aware that I have to adjust the VADJ for my EVM. In your draft that was mentioned for the ADS42JB69/49 EVM but not for the ADC12J4000. To be honest I didn't even look into that section but I am not sure I would have played with voltages without knowing that it is necessary. I am sure when I look into the documentation I will find that somewhere.
    Please add that info to your draft so others have it a bit easier.
    Anyways, who cares, you cannot believe how happy this makes me!
    Very happy with TI support right now :)