News:

Attention: For security reasons,please choose a user name *different* from your login name.
Also make sure to choose a secure password and change it regularly.

Main Menu

TE0720 JTAG not functional on custom carrier board; TDO stuck high

Started by cbr2018, February 26, 2019, 05:51:35 PM

Previous topic - Next topic

cbr2018

I have constructed a custom carrier board for the TE0720-03-1CF, but I am unable to connect to the device over JTAG as the module seems to be holding X_TDO high (3.32 V). The JTAG adapter (Digilent HS2) thus does not detect any devices.  I have checked (after power is removed), yet none of the JTAG pins are shorted to ground or 3.3V. This does not appear to be a hardware problem with the carrier board.

I have verified the pinout of the JTAG connector on our custom board as correct in following the Xilinx standard. The boot switch is set to QSPI, and I assume it is booting from the factory-programmed image. The board also shows PGOOD, the green LED is lit, and the red LED is blinking slowly (every 1-2 seconds) which should indicate boot.

What other checks would you advise?

Oleksandr Kiyenko

Hello,

1. Did you try to boot this board with some of Trenz Electronic baseboards?
2. Please check that PROGMODE signal is set low on your baseboard.
3. Slow red LED blinking is an indication of SD boot mode.

Best regards
Oleksandr Kiyenko

cbr2018

Hello,

After changing to QSPI boot mode, the red LED blinks at 4 Hz as expected, but the issue persists. PROGMODE is connected directly to ground on the baseboard. We have not tried booting this board with any TE baseboards as of yet. Is there an alternative program we could use to debug this?


xsdb% jtag targets                                                             
  1  Digilent JTAG-HS2 xxxxxxxxxB (error DR shift through all ones)


EN1 is also pulled high.

Thank you!

cbr2018

After powering on the carrier board with no module installed, we find that TDO is floating. This would indicate that the issue must be with the TE0720; how do we return the module for service? It was purchased from Digi-Key.

Antti Lukats

Hi,

you did not answer our question about testing the module with some of our baseboards.
It is important to know if the module you have works on some baseboard from us, this would help to troubleshoot the issue.

TE0720 has pins named "MODE" and "JTAGMODE" - there is no pin named progmode, I assume you did mean JTAGMODE = GND?
Pin JTAGMODE if gnd or low logic level enables the ZYNQ JTAG to be visible on X_JTAG pins of the B2B connector (if JTAGMODE is logic high, pulled to 3.3Vin then JTAG in B2B would go to system controller CPLD and not ZYNQ)

X_TDO is output from TE0720, this output would be driven with logic high when TE0720 is powered. So logic high is expected, you seem to think it is somehow wrong? If there is no significant load the output would go pretty much up to the VCCIO level (3.3V +- x)

tools, if you have some digilent cable (hs2) you can also use ToolZ
https://shop.trenz-electronic.de/de/Download/?path=Trenz_Electronic/Software/ToolZ

to detect the JTAG chain, this is very much test-tool only, short
close all xilinx soft, make sure hw_server is not running (kill process if needed), make sure only one FTDI device is connected to PC, then, start
toolZ, click detect, it would then try to scan jtag chain.

Other troubleshooting, testing:
Please try booting from SD card, this would also show you that the TE0720 is alive!

As of returning, I think it is better to figure out why your baseboard can not see the JTAG chain first. It is technically IMPOSSIBLE that the TE0720 did go out from our factory with dead JTAG. We use JTAG to program the CPLD if the LED is blinking, this means the CPLD is programmed and that is only possible if the JTAG pins are alive and working. So JTAG was OK when the module left our factory.

As another test you can try to pullup JTAGEN to 3.3V, this would mux the JTAG to CPLD, then the complete Zynq subsystem would be excluded and you would see the Lattice JTAG ID being detected.

cbr2018

Hello,

As it turns out, this was an issue with our baseboard JTAG connector. It seems our TCK line was open/intermittent somewhere between the HS-2 and the TE0720, meaning the Zynq never saw TCK change state. The TE baseboard was able to help us diagnose this issue, and we have JTAG working now. Thank you for your assistance!


xsdb% jtag tar                                                                 
  1  Digilent JTAG-HS2 xxxxxxxB
     2  arm_dap (idcode 4baxxxxx irlen 4)
     3  xc7z020 (idcode 2xxxxxx irlen 6 fpga)