K
karl schrunk
Guest
I'm troubleshooting the first rev of my first Spartan 6 PCB design;
this is sort of a learn-by-making-all-the-mistakes process, but I
could sure use a hint or two here from the gurus.
Obviously there are a million things that can lead to a board not
coming up, but my understanding is that very few things can lead to
the situation where the JTAG interface won't even shift (i.e. TDO
stuck at zero).
For example, the JTAG interface doesn't rely on any of the clock
inputs, nor the I/O banks. Basically, if Vcore (1.2v) and Vccaux
(3.3v) are supplied, and there are no shorts, then the JTAG ought to
work, right? Even mis-configured mode pins (M0, M1) shouldn't affect
this.
Designing a good power distribution network (bypass caps) is tricky,
but even getting that wrong shouldn't matter for something running at
the JTAG TCK rate (dozens of khz), right? FWIW, I tried the board
without any of the bypass caps -- nothing soldered down but the two
voltage regulators and the Spartan chip -- still no luck.
Current draw is around 11mA from the 6V supply, so I doubt there's a
short. I think that sounds right for an unconfigured device with no
pins toggling, right? I'm only powering one of the four I/O banks
(same supply as Vccaux); the others are unconnected.
Thanks for any ideas or suggestions or ideas on what to try next (or
pointers on which M to RTF)!
(PS: this board doesn't use any high speed I/Os or anything fancy like
that.. in fact, unbelievably, the design clock input is the *only*
user I/O pin! All communication with the device is via
BSCAN_SPARTAN6. For that reason and others this is probably the
simplest Spartan6 board ever designed, which is the only reason I
attempted it!)
this is sort of a learn-by-making-all-the-mistakes process, but I
could sure use a hint or two here from the gurus.
Obviously there are a million things that can lead to a board not
coming up, but my understanding is that very few things can lead to
the situation where the JTAG interface won't even shift (i.e. TDO
stuck at zero).
For example, the JTAG interface doesn't rely on any of the clock
inputs, nor the I/O banks. Basically, if Vcore (1.2v) and Vccaux
(3.3v) are supplied, and there are no shorts, then the JTAG ought to
work, right? Even mis-configured mode pins (M0, M1) shouldn't affect
this.
Designing a good power distribution network (bypass caps) is tricky,
but even getting that wrong shouldn't matter for something running at
the JTAG TCK rate (dozens of khz), right? FWIW, I tried the board
without any of the bypass caps -- nothing soldered down but the two
voltage regulators and the Spartan chip -- still no luck.
Current draw is around 11mA from the 6V supply, so I doubt there's a
short. I think that sounds right for an unconfigured device with no
pins toggling, right? I'm only powering one of the four I/O banks
(same supply as Vccaux); the others are unconnected.
Thanks for any ideas or suggestions or ideas on what to try next (or
pointers on which M to RTF)!
(PS: this board doesn't use any high speed I/Os or anything fancy like
that.. in fact, unbelievably, the design clock input is the *only*
user I/O pin! All communication with the device is via
BSCAN_SPARTAN6. For that reason and others this is probably the
simplest Spartan6 board ever designed, which is the only reason I
attempted it!)