UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
578 Views
Registered: ‎04-17-2018

JTAG TDO Error Code?

Jump to solution

I am building up an application to program the PL eFuses on a Zynq Z-7030 via the JTAG interface. I am starting with simply verifying the functionality of the JTAG interface by trying to read the IDCODE registers of the DAP and TAP within the Zynq. I start by resetting the JTAG state machine to the Test-Logic-Reset state by pulsing TCK 5 times with TMS held high. I then try to transition into the SHIFT-DR state by sending a 0-1-0-0 stream on TMS.

In the screenshots I have attached, you can see on the final transition cycle to go from the CAPTURE-DR to the SHIFT-DR state, the TDO line pulses low while the TCK pulses high. It does this a few more times, before it begins shifting out a 5 clock-cycle delayed version of the TDI input, instead of the IDCODE register as I would expect. I am wondering if these TDO pulses are some sort of error code or some indication of a bad transition. What I will add is I have been able to successfully ID the Zynq using XSCT via a Digilent JTAG-HS3 USB adapter.

Any help is greatly appreciated!

Thanks,

Tanner

Image1.png
Image2.png
0 Kudos
1 Solution

Accepted Solutions
428 Views
Registered: ‎04-17-2018

Re: JTAG TDO Error Code?

Jump to solution

For any users watching this post, we were able to determine that the cause of our issue was signal reflections on the TCK line. After lowering the drive strength and the slew rate, we were able to successfully ID all TAPs on the chain.

3 Replies
Xilinx Employee
Xilinx Employee
527 Views
Registered: ‎03-07-2018

Re: JTAG TDO Error Code?

Jump to solution

Hello @tanner_breisch

I believe your method of programming eFUSE of Zynq PL is not recommended or supported.

The PL eFUSEs can be programmed either with iMPACT or the Secure Key Driver. 

You can check for XAPP1175 (v2.0) for getting more details on eFUSE programming of PL with iMPACT or the Secure Key Driver.

Their is alternate method of using the Secure Key Driver is to create a SVF and use iMPACT to play the SVF. You can check Appendix E of XAPP1175 (v2.0) for the same.

Regards,
Bhushan

-------------------------------------------------------------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.
Give Kudos to a post which you think is helpful and reply oriented.
-------------------------------------------------------------------------------------------------------------------------------------------------
508 Views
Registered: ‎04-17-2018

Re: JTAG TDO Error Code?

Jump to solution

Hi Bhushan,

Thanks for the info, I was actually beginning to look through XAPP1175. I should've mentioned, the application I'm building is actually an extension of the Secure Key Driver code that adapts to my specific design. The issue I have captured with the JTAG data occurs when running the XilSKey_EfusePl_Program function. Specifically, it is failing to complete the JtagServerInit because it does not find the ARM DAP idcode.

0 Kudos
429 Views
Registered: ‎04-17-2018

Re: JTAG TDO Error Code?

Jump to solution

For any users watching this post, we were able to determine that the cause of our issue was signal reflections on the TCK line. After lowering the drive strength and the slew rate, we were able to successfully ID all TAPs on the chain.