# Using generic tools to program ATF150X series CPLDs from a JEDEC file (understanding JTAG details)

I have a number of ATF1504 44 pin PLCC CPLD devices. I can design for them without a problem to get a JEDEC file. I want to program them via the JTAG ISP interface which has the same pinout as the Atmel/Microchip AVR JTAG.

I have been previously using ATF750s (no JTAG) and programming them directly with a GALEP-5 universal programmer - but it doesn't support (parallel) programming of the larger devices.

I also possess the (older) Atmel AVR ICE (JTAGICE3), and Atmel SAM ICE JTAG programmers. I have also been using avrdude from the command line with various USB device programers for microcontrollers, and also using Atmel Studio which supports the above programmers for AVR/ARM.

Supposedly the GALEP-5 supports some native downloading of precompiled JTAG command files for which I have an adapter. I'm not sure how to make these files.

What I don't understand is whether anything I already have (plus free software) can be leveraged to flash the ATF150X devices from the JEDEC file. I don't understand enough about JTAG to know if there needs to be some special software that sends the right device specific commands to the CPLD device to program it with the JEDEC file or if some generic software can send the data via the 10-pin JTAG ISP to the chip via one of the hardware USB devices that I already own. Having spent \$100s on programmers I'd rather not buy another without necessity. (I'm also familiar with writing code to directly communicate with USB devices using python without drivers using libusb.)

It seems that I ought to be able to use the AVRICE3 USB programmer in JTAG mode to send the data, but I am not sure what software to use. I'd rather use it from a linux command line which makes it easy to automate via make files. Avrdude seems to require a specific device name (which are all microcontrollers) to "know" how to send the given data even though it supports JTAG programers. Is there something like avrdude that can send out JTAG data to flash these CPLDs, or more generally, FPGAs?