FPGARelated.com
Forums

Can't program Spartan3A with JTAG

Started by aleksa January 30, 2011
Impact reports something like "device not recognized" and then I point
it to the .bit file.
Reading ID / signature shows that all bits are zeros.

Using the scope I can see that all signals (TMS, TCK, TDI, TDO) change
states.
I have an old analog scope and the time period is very short (for me,
human),
but I can see that signals are valid (0 and 3V3, nothing strange
happening).

Can I make Impact talk to the fpga more often, so I can better see the
signals?
(If not, I could make a prog to toggle the port pins...)

I've used the same JTAG programming board for Spartan 2, and it works.
Spartan2, Spartan3A and parallel port JTAG boards were all done by me.

I have the PROG pin HIGH, the rest are floating.
Then I've connected M0-M2 and PUDC HIGH, but its the same.

Any thoughts?
On Jan 30, 10:06=A0pm, aleksa <aleks...@gmail.com> wrote:

> the rest are floating.
i.e. CCLK, DIN, CS, INIT, all clocks. Power pins are connected :)
VCCAUX is at 3V3, and constraint is in the UCF, also.
On Jan 30, 1:06=A0pm, aleksa <aleks...@gmail.com> wrote:
> Impact reports something like "device not recognized" and then I point > it to the .bit file. > Reading ID / signature shows that all bits are zeros. > > Using the scope I can see that all signals (TMS, TCK, TDI, TDO) change > states. > I have an old analog scope and the time period is very short (for me, > human), > but I can see that signals are valid (0 and 3V3, nothing strange > happening). > > Can I make Impact talk to the fpga more often, so I can better see the > signals? > (If not, I could make a prog to toggle the port pins...) > > I've used the same JTAG programming board for Spartan 2, and it works. > Spartan2, Spartan3A and parallel port JTAG boards were all done by me. > > I have the PROG pin HIGH, the rest are floating. > Then I've connected M0-M2 and PUDC HIGH, but its the same. > > Any thoughts?
Having the IDCODE reported as all zeros indicates that the JTAG is broken somewhere or the TAP controller is being held in reset. 1) You indicated the PROGRAM_B was high (was this measured?), but what about INIT_B? 2) Have you confirm that TCK is getting to the TCK pin of the Spartan-3A device? 3) Have you probed the TDO at the Spartan-3A device for any activity? Ed McGettigan -- Xilinx Inc.
On Jan 30, 11:31=A0pm, Ed McGettigan <ed.mcgetti...@xilinx.com> wrote:
> On Jan 30, 1:06=A0pm, aleksa <aleks...@gmail.com> wrote: > > > > > > > Impact reports something like "device not recognized" and then I point > > it to the .bit file. > > Reading ID / signature shows that all bits are zeros. > > > Using the scope I can see that all signals (TMS, TCK, TDI, TDO) change > > states. > > I have an old analog scope and the time period is very short (for me, > > human), > > but I can see that signals are valid (0 and 3V3, nothing strange > > happening). > > > Can I make Impact talk to the fpga more often, so I can better see the > > signals? > > (If not, I could make a prog to toggle the port pins...) > > > I've used the same JTAG programming board for Spartan 2, and it works. > > Spartan2, Spartan3A and parallel port JTAG boards were all done by me. > > > I have the PROG pin HIGH, the rest are floating. > > Then I've connected M0-M2 and PUDC HIGH, but its the same. > > > Any thoughts? > > Having the IDCODE reported as all zeros indicates that the JTAG is > broken somewhere or the TAP controller is being held in reset. > > 1) You indicated the PROGRAM_B was high (was this measured?), but what > about INIT_B? > 2) Have you confirm that TCK is getting to the TCK pin of the > Spartan-3A device? > 3) Have you probed the TDO at the Spartan-3A device for any activity? > > Ed McGettigan > -- > Xilinx Inc.
Yes, PROG is HIGH. INIT_B was floating. I've pulled it up now, but no change. TDO does show activity. I've made a prog to pulse (500 kHz) the TMS, TCK and TDI signals, and they all get to FPGA, nice and clean.
some tests I did:

1. started iMPACT.
2. double click on Boundary scan.
3. right click, Initialize Chain.

I get blue text "Identify succeeded"
The part is already shown as unknown.

I'm asked "Do you want to cont. and assign conf. files?" YES
"Do you have a BSDL or BIT file?" YES (xc3s50a.bsd)

4. Debug, Chain integrity test = OK.

Everything else fails.
On Jan 31, 4:46=A0am, aleksa <aleks...@gmail.com> wrote:
> some tests I did: > > 1. started iMPACT. > 2. double click on Boundary scan. > 3. right click, Initialize Chain. > > I get blue text "Identify succeeded" > The part is already shown as unknown. > > I'm asked "Do you want to cont. and assign conf. files?" YES > "Do you have a BSDL or BIT file?" YES (xc3s50a.bsd) > > 4. Debug, Chain integrity test =3D OK. > > Everything else fails.
What was the IDCODE reported by iMPACT? When you put the oscilloscope on the TDO output what voltage levels did you see? Is the TDO of the part connected to the TDO of the cable? Are there any other devices in the JTAG chain? Ed McGettigan -- Xilinx Inc.
On Jan 31, 4:25=A0pm, Ed McGettigan <ed.mcgetti...@xilinx.com> wrote:
> On Jan 31, 4:46=A0am, aleksa <aleks...@gmail.com> wrote: > > > some tests I did: > > > 1. started iMPACT. > > 2. double click on Boundary scan. > > 3. right click, Initialize Chain. > > > I get blue text "Identify succeeded" > > The part is already shown as unknown. > > > I'm asked "Do you want to cont. and assign conf. files?" YES > > "Do you have a BSDL or BIT file?" YES (xc3s50a.bsd) > > > 4. Debug, Chain integrity test =3D OK. > > > Everything else fails. > > What was the IDCODE reported by iMPACT?
IDCODE =3D all zeros
> When you put the oscilloscope on the TDO output what voltage levels > did you see?
0 and 3.2V
> Is the TDO of the part connected to the TDO of the cable?
Yes, I've placed a JTAG gif here http://www60.zippyshare.com/v/18748688/file.html
> Are there any other devices in the JTAG chain?
No
On Jan 31, 7:44=A0am, aleksa <aleks...@gmail.com> wrote:
> On Jan 31, 4:25=A0pm, Ed McGettigan <ed.mcgetti...@xilinx.com> wrote: > > > > > > > On Jan 31, 4:46=A0am, aleksa <aleks...@gmail.com> wrote: > > > > some tests I did: > > > > 1. started iMPACT. > > > 2. double click on Boundary scan. > > > 3. right click, Initialize Chain. > > > > I get blue text "Identify succeeded" > > > The part is already shown as unknown. > > > > I'm asked "Do you want to cont. and assign conf. files?" YES > > > "Do you have a BSDL or BIT file?" YES (xc3s50a.bsd) > > > > 4. Debug, Chain integrity test =3D OK. > > > > Everything else fails. > > > What was the IDCODE reported by iMPACT? > > IDCODE =3D all zeros > > > When you put the oscilloscope on the TDO output what voltage levels > > did you see? > > 0 and 3.2V > > > Is the TDO of the part connected to the TDO of the cable? > > Yes, I've placed a JTAG gif herehttp://www60.zippyshare.com/v/18748688/fi=
le.html
> > > Are there any other devices in the JTAG chain? > > No- Hide quoted text - > > - Show quoted text -
Ok, so the TDO is outputing a waveform in the right range of 0 to 3.2V, but the not showing up in the impact software. This means that the problem is in your custom cable. I can't tell exactly how the cable was constructed from the circuit that you posted as the part numbers are not complete and there are no VCC connections of any type. Have you put a scope on the TDO output of the "LVC25" and the "HCT08" devices? Ed McGettigan -- Xilinx Inc.
On 01/30/2011 03:06 PM, aleksa wrote:

> I've used the same JTAG programming board for Spartan 2, and it works. > Spartan2, Spartan3A and parallel port JTAG boards were all done by me.
Have you tested this cable with the Spartan 2 TODAY? I have blown out my parallel programming pod several times from ESD and bad power outlet grounds on a couple occasions. Jon