Hello,
Tl;DR: are my ATF1502ASL fake, pre-programmed, or did I misunderstood?
I have a (hobbyist) design that involves an ATF1502ASL CPLD. Long story short, I have some assembled PCBs back from JLCPCB (they sourced the parts), and I'm now trying to program the ATF1502ASL using JTAG. I have a known-to-work SVF file (I'm reworking an existing design in a different from factor, SVF is from the original designer), a USB blaster clone seen by 'openocd', and the appropriate JTAG header on the board.
However, out of 5 boards:
* On three of them I see a single 'tap' with 'expected-id' of 0x03a1407f
* On two of them I see a single 'tap' with 'expected-id' of 0x0151203f
As far as I understand from the SVF file I got, the ATF1502ASL should be 0x0150203f. The first variant ID doesn't even show up as Atmel but as Silicon Storage Technology...
I did try to program one of those ATF1502ASL (type 0x03a1407f, as that's the board I finished assembling with THT parts) with the known-good SVF file; openocd stopped as one of the early step is:
SIR 10 TDI (059);
SDR 32 TDI (ffffffff)
TDO (0150203f)
MASK (ffffffff);
And the output doesn't match, as the ID is wrong.
So I patched the ID in the SVF file to 03a1407f in the SVF, and then openocd was happy - the programming went fine. There's some more TDO checks later in the file, but I'm not sure that's enough to say it's at least ATF1502ASL-compatible... anyway, the design doesn't appear to work for now, but that could be for a number of reasons so it's not definitive.
So my questions...
(a) Is that normal to have such JTAG IDs in the parts? Am I paranoid or did I misunderstood something?
(b) If it's not normal, are they fake, pre-programmed, ... ? Is there a way for me to tell? Should I complain to JLCPCB?
(c) Is there some way to tell what the parts really are from the JTAG ID?
Thanks in advance!