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

Broken JTAG on TE0701-03 / TE0720

Started by Leon, March 10, 2014, 02:21:13 PM

Previous topic - Next topic

Leon

Hi,

I was able to use iMpact and and a USB cable to access the JTAG on the Zynq. I could see both ARM DAP and the FPGA PL. However, after fiddling with the DIP switch S3 on the base board, I cannot get this again. Instead I get a chip 'unknown'':
INFO:iMPACT - Digilent Plugin: Plugin Version: 2.4.4
INFO:iMPACT - Digilent Plugin: found 1 device(s).
INFO:iMPACT - Digilent Plugin: opening device: "TE0701-03", SN:251633000091
INFO:iMPACT - Digilent Plugin: User Name: TE0701-03
INFO:iMPACT - Digilent Plugin: Product Name: JTAG-ONB4
INFO:iMPACT - Digilent Plugin: Serial Number: 251633000091
INFO:iMPACT - Digilent Plugin: Product ID: 50800157
INFO:iMPACT - Digilent Plugin: Firmware Version: 0109
INFO:iMPACT - Digilent Plugin: JTAG Port Number: 0
INFO:iMPACT - Digilent Plugin: JTAG Clock Frequency: 10000000 Hz
INFO:iMPACT - Digilent Plugin: Plugin Version: 2.4.4
INFO:iMPACT - Digilent Plugin: Opening device : "SN:251633000091".
INFO:iMPACT - Digilent Plugin: User Name: TE0701-03
INFO:iMPACT - Digilent Plugin: Product Name: JTAG-ONB4
INFO:iMPACT - Digilent Plugin: Serial Number: 251633000091
INFO:iMPACT - Digilent Plugin: Product ID: 50800157
INFO:iMPACT - Digilent Plugin: Firmware Version: 0109
INFO:iMPACT - Digilent Plugin: JTAG Port Number: 0
INFO:iMPACT - Digilent Plugin: JTAG Clock Frequency: 10000000 Hz
Attempting to identify devices in the boundary-scan chain configuration...
INFO:iMPACT - Current time: 10/03/2014 13:19:36
PROGRESS_START - Starting Operation.
Identifying chain contents...INFO:iMPACT:1588 - '0':The part does not appear to be Xilinx Part.
'0': : Manufacturer's ID =Unknown , Version : 0
INFO:iMPACT:501 - '1': Added Device UNKNOWN successfully.


Am I now getting the baseboard CPLD? How do I get it back to seeing the Zynq?

Thanks
Leon


Oleksandr Kiyenko

Hello Leon,

Please put DIP switch  S3, switch "C" back, it will enable JTAG.

Best regards
Alex

Leon

Hi,

I should have said that I had already put the DIP switch SW3 back to its original position:
1 ON CM1
2 ON CM2
3 OFF JTAGEN
4 OFF user

It still does not work.
Regards
Leon

Antti Lukats

please drop me a short email or support@
I can send internal test tool that will show the CPLD revision, etc ...

SW.3 does either FORCE CPLD to be in chain, or restores the FTDI-JTAG pins to be user IO in the CPLD, so CPLD can re-assign the JTAG from FTDI to module JTAG.
If CPLD is erased, then SW.3 has no effect and JTAG scan would always show CPLD in chain.

br
Antti

indar

Hi,

I also have the same problem. Even I don't start doing anything till now (the boards are new and I didn't play with any switch nor jumper), in fact, I just follow the step-by-step tutorial on using vivado here:
https://wiki.trenz-electronic.de/pages/viewpage.action?pageId=10625459

And when I run impact, the tools says:
Identifying chain contents...INFO:iMPACT:1588 - '0':The part does not appear to be Xilinx Part.
'0': : Manufacturer's ID =Unknown , Version : 0
INFO:iMPACT:501 - '1': Added Device UNKNOWN successfully.

Any clues?

Thanks!
Indar

Antti Lukats

Hi

maybe it was still not clear from my previous posting:

DIP SW.3 must be in ON position to access module JTAG.

in our download area there is internal tool released, in ToolZ folder, if you run it and click detect it will scan the chain and show CPLD revision if the switch is in wrong position.

br
Antti

Leon

Hi,

I am now using a different board and am trying to program the FLASH over JTAG. I have managed to do this on one board once in the past.

The board I am using is has the DIP switches in the position as delivered. With the board oriented such that he switch S3 is in the bottom right corner:
   4: right
   3 right     (JTAGEN)
   2: left
   1: left
I cannot find any documentation that says which way is ON.

I brought up the SDK 2013.4 and selected Xilinx Tools-> Program Flash. This  ran in a couple of seconds, reported IDCODE 0x12ba043 and then closed the connection 'successfully' - but without programming any flash.

I then tried running Impact. This only showed an unknown device as described by another poster as well.

I then tried your ToolZ program. That told me that the CPLD was in programming mode - I can't remember the exact wording. I then changed the switch S3.4 and tried again. ToolZ now gives "INFO: ToolZ - FTDI with empty User EEPROM" when I "Open" the cable. Putting the switch back and it does the same. Windows reports "USB device not recognized..."

Is this board now broken? Why would it not program the flash in the first place?

Please can you give definitive instructions on how to program flash on a new board and also how to debug and fix the possibly broken boards.

There is a limit to the number of board I can try this on.

Regards
Leon



   

Antti Lukats

Quote from: Leon on May 02, 2014, 04:28:56 PM
Hi,

I am now using a different board and am trying to program the FLASH over JTAG. I have managed to do this on one board once in the past.

The board I am using is has the DIP switches in the position as delivered. With the board oriented such that he switch S3 is in the bottom right corner:
   4: right
   3 right     (JTAGEN)
   2: left
   1: left
I cannot find any documentation that says which way is ON.

I brought up the SDK 2013.4 and selected Xilinx Tools-> Program Flash. This  ran in a couple of seconds, reported IDCODE 0x12ba043 and then closed the connection 'successfully' - but without programming any flash.

I then tried running Impact. This only showed an unknown device as described by another poster as well.

I then tried your ToolZ program. That told me that the CPLD was in programming mode - I can't remember the exact wording. I then changed the switch S3.4 and tried again. ToolZ now gives "INFO: ToolZ - FTDI with empty User EEPROM" when I "Open" the cable. Putting the switch back and it does the same. Windows reports "USB device not recognized..."

Is this board now broken? Why would it not program the flash in the first place?

Please can you give definitive instructions on how to program flash on a new board and also how to debug and fix the possibly broken boards.

There is a limit to the number of board I can try this on.

Regards
Leon

Hi Leon,

it should JUST work, the switch S2.3 should be in position ON. The word "ON" is written on the black switch so there can be no mistake what position is on. ON is towards "inside" or middle of the PCB.

When S2.3 is on, then TE0720 JTAG is accessible via FTDI USB JTAG.

ToolZ should show 2 JTAG devices detected when you click "Detect". Similarly Impact should detect Zynq in chain.

If you repeatedly see this: INFO: ToolZ - FTDI with empty User EEPROM

Then it means that some application has erased the FTDI user EEPROM, if that is the case then Xilinx tools will no longer detect the USB JTAG Cable. But as you earlier did see Xilinx tools to at least try then this is weird.

So instruction are simple:

1 power OFF
2 S2.3 to ON (towards middle of PCB)
3 power ON
4 try with impact, MUST see 2 devices in chain, zynq PS(ARM) and PL FPGA
5 SDK > Program Flash

If you have S2.3 ON and Impact detects 1 unknown device then CPLD has been erased by some means
If impact does not detect USB JTAG cable, but ToolZ still does, then FTDI user EEPROM has been erased by some means


br
Antti Lukats

Leon

HI,

I just followed the instructions and it worked fine. One point to note is that the switch S3.3 is delivered OFF rather than ON, so need to be changed before trying to program the flash.

Cheers
Leon

Pierucci

Hi,

We bought TE0703+TE0720 boards, but we are failing to program them or to run any of the examples. When I run Impact, the program is unable to detect the cable (yes, I tried with both S2.3=ON and S2.3=Off). So I decided to update the CPLD following the steps given in the wiki.

1) Setting S2.3=OFF I was able to program the CPLD from the TE0703 board using "Lattice Diamond Programmer" and "CC703_Special_for_4x5_SC_update.jed".
2) Using Toolz I see IDCODE=012BA043 and USERCODE=CC032000.
3) The problem comes when I try to program the CLDP from the TE0720 board. First I set S2.3=ON, then in "Diamond Programmer" I select FTUSB-0, Device=MachXO2 LCMXO2-1200HC and File=SC0720_04_1AF.JED. When I press program, I receive an error:
Device#1 LCMXO2-1200HC: Failed to verify the ID
(Expected: 0x012BA043 Read: 0xFFFFFFFF).

ERROR - Check configuration setup: Unsuccessful.

ERROR - Programming failed.


4) If I open ToolZ with S2.3=ON and press detect, I get "No devices detected".

Is there something wrong with the hardware? How can I solve my problem?

Thanx in advance,

Bruno

Antti Lukats

the "special" cpld JED enables selection between FPGA or CLPD on the modules and uses one more switch to choose between those.

S2.2 i used to enable CPLD on the module, in module-CPLD update both LEDs on TE0703 would be lit.

But it is weird that you get no ID readback, either FPGA or CPLD should be visible in the chain no matter s2.2 position

Pierucci

Quote from: Antti Lukats on July 21, 2015, 12:57:47 PM
the "special" cpld JED enables selection between FPGA or CLPD on the modules and uses one more switch to choose between those.

S2.2 i used to enable CPLD on the module, in module-CPLD update both LEDs on TE0703 would be lit.

But it is weird that you get no ID readback, either FPGA or CPLD should be visible in the chain no matter s2.2 position

All leds in the TE0720 board are turned on (no blinking) and in the TE0703 board, red led is turned on and green led is slightly on.
If I set S2.3=ON and S2.2=ON, when I try to program the CPLD in the TE0720 I get the same error in "Diamond Programer" and the ID stays empty.

Any suggestions?

Antti Lukats

it seems something has to be wrong with the CPLD flashing on TE0703, if ALL module LEDS are on then it must be that the TE0703 pulls reset low.

if TE0703 update correct then

S2.2 OFF, D1, D2 on TE0703 ON, this confirms the special mode

there must be a difference on the LEDs on the module if you press Reset button, if all module leds are on then the TE0703 cpld must have something wrong programmed in

Pierucci

Quote from: Antti Lukats on July 21, 2015, 01:31:15 PM
it seems something has to be wrong with the CPLD flashing on TE0703, if ALL module LEDS are on then it must be that the TE0703 pulls reset low.

if TE0703 update correct then

S2.2 OFF, D1, D2 on TE0703 ON, this confirms the special mode

there must be a difference on the LEDs on the module if you press Reset button, if all module leds are on then the TE0703 cpld must have something wrong programmed in

There is no reset button in this board. If I press S1 nothing happens with the leds.

Antti Lukats

S1 is configured as reset button.

and there should be some difference when you press it. If not then TE0703 has  wrong CPLD design flashed.

Pierucci

Quote from: Antti Lukats on July 21, 2015, 01:54:44 PM
S1 is configured as reset button.

and there should be some difference when you press it. If not then TE0703 has  wrong CPLD design flashed.

There is only one CPLD design available for the TE0703 and is the one I found here http://www.trenz-electronic.de/de/download/d0/Trenz_Electronic/d1/carrier_boards/d2/TE0703/d3/CPLD.html


Antti Lukats

#16
this is correct. Maybe I was not precise enough, I did mean:

if TE0703 is correctly flashed with correct design file, then..

S1 is configured as Reset button and it MUST make a difference in the module leds when you press S1.

But it seems that may be we have not understood your problem, first of all you are writing in thread titled:

"Re: Broken JTAG on TE0701-03 / TE0720"

but you have TE0703, so this is at least confusing, because the topic was about TE0701 and you talk about TE0703.

All our boards are tested and configured so that they can be used without the need to immediately reprogram the CPLDs on them.

So if you got our boards, and had JTAG issue, then you should address it as such to our support and NOT try to reprogram the CPLD on TE0703, there was no reason for you to-do so.

If I understand the issue correctly. If you had problems BEFORE reflashin the CPLD you would have same issues AFTER also. there would be no change.









Pierucci

Quote from: Antti Lukats on July 21, 2015, 09:14:36 PM
this is correct. Maybe I was not precise enough, I did mean:

if TE0703 is correctly flashed with correct design file, then..

S1 is configured as Reset button and it MUST make a difference in the module leds when you press S1.

But it seems that may be we have not understood your problem, first of all you are writing in thread titled:

"Re: Broken JTAG on TE0701-03 / TE0720"

but you have TE0703, so this is at least confusing, because the topic was about TE0701 and you talk about TE0703.

All our boards are tested and configured so that they can be used without the need to immediately reprogram the CPLDs on them.

So if you got our boards, and had JTAG issue, then you should address it as such to our support and NOT try to reprogram the CPLD on TE0703, there was no reason for you to-do so.

If I understand the issue correctly. If you had problems BEFORE reflashin the CPLD you would have same issues AFTER also. there would be no change.

Sorry for the confusion, but I also got confused with the name of the treath. Anyways, I tought the forum was a mean for support, but I guess I was wrong. Can you point me in the right direction? Should I return the boards to you?

Thanks,

Bruno

Antti Lukats

This is support forum yes. But we can help better if we know exactly what is the primary issue.

If you never had luck with JTAG then it may as well be hardware problem. In that case it is good to contact per email.

mrtn

If the XMOD EEPROM is erased and you are getting the No devices detected, you can reprogram using a free Xilinx/AMD license.
The procedure for TE0790 XMOD is a bit complicated but here are all the steps:


The XMOD and board should show up in Vivado's Hardware Manger now.

Initially only seeing connection with DIP 1, 3, 4 all ON and no external power, but in principle only DIP 1 ON, and supplying 3.3v to carrier should work.

JH