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!
I don't know if the ID is valid and parts are genuine but Silicon Storage Technology (SST) is part of Microchip.
Very strange that IDs are different. I suspect some flaw in JTAG circuitry on your board.
Do you have oscilloscope? Check all JTAG signals.
check if your jtag lines are not affected by circuit parts, if not your jtag intarface and software could be wrong
ATF 1504 02 etc .. programmer is offered by Kanda, and use the official microchip protocol / software, just icon change in it ... the programmer as FTDI ic in it
if not mmmm not sure if you have some fake, played lots with 1504 never had ID problems
(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?
It's not 'normal' in the sense that original, brand new parts should have correct ID's
However, it
can happen as the ID is factory programmed, using hidden commands.
You are best to take a JED file you know is proven good, simple, and easily testable, and confirmed using your current programming chain on a known good part, then check your suspect devices.
Thanks for the answers.
The JTAG circuit is fairly trivial - just the pin header for the USB blaster [clone], and the ATF1502ASL, nothing else. Pinouts was double-checked against both the datasheets and for the ATF1502ASL the original design (it has a different connector). SVF file for basic stuff like erase, and for programming+verify, all work with no issue provided they are changed to the actual ID of the chip.
Preliminary tests with a much simplified code in the CPLD designed purely for testing suggests the chip works as advertised, at least with this simplified design. So it's likely the chip are actually ATF1502ASL (or clone thereof), and probably close enough for my hobbyist use case.
But still wonder why those JTAG IDs are 'wrong'...
Just hard to find Printer Port on PC now 😕
Just hard to find Printer Port on PC now 😕
Just buy on 'old&cheap' desktop for offices (like those HP ones...)
Or steal it from museum - there is hard to find such PC in a shop now 😉
Here down under, plenty of cheap computers with parallel port on eBay. Can easily buy relatively modern one (not more than 10 years old) for under $50 AUD
Parallel port options from cheapest to most expensive:
1. Old computer(curbside find is an option).
2. Add-on card(PCI-E available from Star-tech and others).
3. New motherboard with on-board header(such as MSI B450-A PRO MAX).
4. Legacy motherboard/computer(new) from NIXSYS(and maybe others?).
Preliminary tests with a much simplified code in the CPLD designed purely for testing suggests the chip works as advertised, at least with this simplified design. So it's likely the chip are actually ATF1502ASL (or clone thereof), and probably close enough for my hobbyist use case.
But still wonder why those JTAG IDs are 'wrong'...
Well, I was able to make my design work, as the primary issue turned out to be mis-soldered oscillator on the test board - for some reason, on that one, it was rotated 90"at the assembly house. Just bad luck I picked this one out of the 5 prototypes board.
The ATF1502ASL with 'wrong' IDs of either kind appear to work fine otherwise.