ATF1504AS: Questions about this CPLD
- BigDumbDinosaur
- Posts: 9428
- Joined: 28 May 2009
- Location: Midwestern USA (JB Pritzker’s dystopia)
- Contact:
Re: ATF1504AS: Questions about this CPLD
deanclaxton wrote:
I've discovered some useful information about the ISP versions of these devices as I've been using them for my ROM X product (http://www.theromexchange.com)...Now, if in your design you ensure that you can isolate the OE1 pin on the CPLD from any other circuitry (so that you can safely apply +12V to the OE1 pin without blowing the crap out of anything attached to it!) then you can re-enable the JTAG port in this manner. Applying +12V to the OE1 pin through a resistor (1k8 is fine) whilst attemting to reprogram the chip in ATMISP should yield results. I initially get a verify error, but after that the JTAG is unlocked again and usable 
x86? We ain't got no x86. We don't NEED no stinking x86!
Re: ATF1504AS: Questions about this CPLD
deanclaxton wrote:
I've discovered some useful information about the ISP versions of these devices as I've been using them for my ROM X product (http://www.theromexchange.com).
It IS possible to use the JTAG pins as general I/O by adding the following property to your source :
PROPERTY ATMEL {JTAG=OFF};
With that in there, the code should compile, the fitter should then re-use the JTAG pins as you intend, and create a .JED file for programming. Once programmed (you'll be prompted to set the JTAG Port Check Override option in the ATMISP options menu), the JTAG will be locked out, but you've got 4 more pins to play with!
Now, if in your design you ensure that you can isolate the OE1 pin on the CPLD from any other circuitry (so that you can safely apply +12V to the OE1 pin without blowing the crap out of anything attached to it!) then you can re-enable the JTAG port in this manner. Applying +12V to the OE1 pin through a resistor (1k8 is fine) whilst attemting to reprogram the chip in ATMISP should yield results. I initially get a verify error, but after that the JTAG is unlocked again and usable
I suppose you also best ensure that nothing is going to be driving the JTAG pins while you are programming the thing else include links (jumpers or smd resistors etc) to disconnect other circuitry from the JTAG pins.
Anyway, this may possibly free up some pins for you.
Secondly, it is also possible to develop for these devices in VHDL or Verilog using Altera's Quartus software (web editiion 13.0sp1 is the last one to support the MAX 7000 series chips on which the ATF1500 series devices are based) - you select the equivalent Altera device :
EPM7032 = ATF1502
EPM7064 = ATF1504
EPM7128 = ATF1508
Once you have compiled your design (.POF file generated) you can use Microchips POF2JED utility to convert it to a .JED file for programming via ATMISP
It IS possible to use the JTAG pins as general I/O by adding the following property to your source :
PROPERTY ATMEL {JTAG=OFF};
With that in there, the code should compile, the fitter should then re-use the JTAG pins as you intend, and create a .JED file for programming. Once programmed (you'll be prompted to set the JTAG Port Check Override option in the ATMISP options menu), the JTAG will be locked out, but you've got 4 more pins to play with!
Now, if in your design you ensure that you can isolate the OE1 pin on the CPLD from any other circuitry (so that you can safely apply +12V to the OE1 pin without blowing the crap out of anything attached to it!) then you can re-enable the JTAG port in this manner. Applying +12V to the OE1 pin through a resistor (1k8 is fine) whilst attemting to reprogram the chip in ATMISP should yield results. I initially get a verify error, but after that the JTAG is unlocked again and usable
I suppose you also best ensure that nothing is going to be driving the JTAG pins while you are programming the thing else include links (jumpers or smd resistors etc) to disconnect other circuitry from the JTAG pins.
Anyway, this may possibly free up some pins for you.
Secondly, it is also possible to develop for these devices in VHDL or Verilog using Altera's Quartus software (web editiion 13.0sp1 is the last one to support the MAX 7000 series chips on which the ATF1500 series devices are based) - you select the equivalent Altera device :
EPM7032 = ATF1502
EPM7064 = ATF1504
EPM7128 = ATF1508
Once you have compiled your design (.POF file generated) you can use Microchips POF2JED utility to convert it to a .JED file for programming via ATMISP
I wonder this trick can be use on the MAX7000S CPLD. I currently have 4 used EPM7128S with the JTAG disabled. Really would like to factory reset them. From searching on the Internet, it mentioned that the only way is to use a Parallel Programmer (which is almost impossible to find).
Re: ATF1504AS: Questions about this CPLD
maded2 wrote:
I wonder this trick can be use on the MAX7000S CPLD. I currently have 4 used EPM7128S with the JTAG disabled. Really would like to factory reset them. From searching on the Internet, it mentioned that the only way is to use a Parallel Programmer (which is almost impossible to find).
Re: ATF1504AS: Questions about this CPLD
maded2 wrote:
deanclaxton wrote:
I've discovered some useful information about the ISP versions of these devices as I've been using them for my ROM X product (http://www.theromexchange.com).
It IS possible to use the JTAG pins as general I/O by adding the following property to your source :
PROPERTY ATMEL {JTAG=OFF};
With that in there, the code should compile, the fitter should then re-use the JTAG pins as you intend, and create a .JED file for programming. Once programmed (you'll be prompted to set the JTAG Port Check Override option in the ATMISP options menu), the JTAG will be locked out, but you've got 4 more pins to play with!
Now, if in your design you ensure that you can isolate the OE1 pin on the CPLD from any other circuitry (so that you can safely apply +12V to the OE1 pin without blowing the crap out of anything attached to it!) then you can re-enable the JTAG port in this manner. Applying +12V to the OE1 pin through a resistor (1k8 is fine) whilst attemting to reprogram the chip in ATMISP should yield results. I initially get a verify error, but after that the JTAG is unlocked again and usable
I suppose you also best ensure that nothing is going to be driving the JTAG pins while you are programming the thing else include links (jumpers or smd resistors etc) to disconnect other circuitry from the JTAG pins.
Anyway, this may possibly free up some pins for you.
Secondly, it is also possible to develop for these devices in VHDL or Verilog using Altera's Quartus software (web editiion 13.0sp1 is the last one to support the MAX 7000 series chips on which the ATF1500 series devices are based) - you select the equivalent Altera device :
EPM7032 = ATF1502
EPM7064 = ATF1504
EPM7128 = ATF1508
Once you have compiled your design (.POF file generated) you can use Microchips POF2JED utility to convert it to a .JED file for programming via ATMISP
It IS possible to use the JTAG pins as general I/O by adding the following property to your source :
PROPERTY ATMEL {JTAG=OFF};
With that in there, the code should compile, the fitter should then re-use the JTAG pins as you intend, and create a .JED file for programming. Once programmed (you'll be prompted to set the JTAG Port Check Override option in the ATMISP options menu), the JTAG will be locked out, but you've got 4 more pins to play with!
Now, if in your design you ensure that you can isolate the OE1 pin on the CPLD from any other circuitry (so that you can safely apply +12V to the OE1 pin without blowing the crap out of anything attached to it!) then you can re-enable the JTAG port in this manner. Applying +12V to the OE1 pin through a resistor (1k8 is fine) whilst attemting to reprogram the chip in ATMISP should yield results. I initially get a verify error, but after that the JTAG is unlocked again and usable
I suppose you also best ensure that nothing is going to be driving the JTAG pins while you are programming the thing else include links (jumpers or smd resistors etc) to disconnect other circuitry from the JTAG pins.
Anyway, this may possibly free up some pins for you.
Secondly, it is also possible to develop for these devices in VHDL or Verilog using Altera's Quartus software (web editiion 13.0sp1 is the last one to support the MAX 7000 series chips on which the ATF1500 series devices are based) - you select the equivalent Altera device :
EPM7032 = ATF1502
EPM7064 = ATF1504
EPM7128 = ATF1508
Once you have compiled your design (.POF file generated) you can use Microchips POF2JED utility to convert it to a .JED file for programming via ATMISP
I wonder this trick can be use on the MAX7000S CPLD. I currently have 4 used EPM7128S with the JTAG disabled. Really would like to factory reset them. From searching on the Internet, it mentioned that the only way is to use a Parallel Programmer (which is almost impossible to find).
I bought 10pcs EPM7064S on eBay and only 4 can be recognized by the USB blaster. I set the non working EPM7064S aside but tried them again after reading this thread. I used a board with no other connections other than the JTAG connections. I connected a 1.8K resistor to OE (pin 44) and apply 5V first and then 12V. JTAG programmer still does not recognize the device, but I went through the motion of programming it anyway with 12V applied. For few parts need to be programmed with 12V several times. Eventually (with 12V removed), the JTAG will recognize the device and proceed to program and verify OK. I put the "reconditioned" EPM7064S in a functioning board and they all worked correctly. This is great trick!
Bill
Re: ATF1504AS: Questions about this CPLD
plasmo wrote:
maded2 wrote:
deanclaxton wrote:
I've discovered some useful information about the ISP versions of these devices as I've been using them for my ROM X product (http://www.theromexchange.com).
It IS possible to use the JTAG pins as general I/O by adding the following property to your source :
PROPERTY ATMEL {JTAG=OFF};
With that in there, the code should compile, the fitter should then re-use the JTAG pins as you intend, and create a .JED file for programming. Once programmed (you'll be prompted to set the JTAG Port Check Override option in the ATMISP options menu), the JTAG will be locked out, but you've got 4 more pins to play with!
Now, if in your design you ensure that you can isolate the OE1 pin on the CPLD from any other circuitry (so that you can safely apply +12V to the OE1 pin without blowing the crap out of anything attached to it!) then you can re-enable the JTAG port in this manner. Applying +12V to the OE1 pin through a resistor (1k8 is fine) whilst attemting to reprogram the chip in ATMISP should yield results. I initially get a verify error, but after that the JTAG is unlocked again and usable
I suppose you also best ensure that nothing is going to be driving the JTAG pins while you are programming the thing else include links (jumpers or smd resistors etc) to disconnect other circuitry from the JTAG pins.
Anyway, this may possibly free up some pins for you.
Secondly, it is also possible to develop for these devices in VHDL or Verilog using Altera's Quartus software (web editiion 13.0sp1 is the last one to support the MAX 7000 series chips on which the ATF1500 series devices are based) - you select the equivalent Altera device :
EPM7032 = ATF1502
EPM7064 = ATF1504
EPM7128 = ATF1508
Once you have compiled your design (.POF file generated) you can use Microchips POF2JED utility to convert it to a .JED file for programming via ATMISP
It IS possible to use the JTAG pins as general I/O by adding the following property to your source :
PROPERTY ATMEL {JTAG=OFF};
With that in there, the code should compile, the fitter should then re-use the JTAG pins as you intend, and create a .JED file for programming. Once programmed (you'll be prompted to set the JTAG Port Check Override option in the ATMISP options menu), the JTAG will be locked out, but you've got 4 more pins to play with!
Now, if in your design you ensure that you can isolate the OE1 pin on the CPLD from any other circuitry (so that you can safely apply +12V to the OE1 pin without blowing the crap out of anything attached to it!) then you can re-enable the JTAG port in this manner. Applying +12V to the OE1 pin through a resistor (1k8 is fine) whilst attemting to reprogram the chip in ATMISP should yield results. I initially get a verify error, but after that the JTAG is unlocked again and usable
I suppose you also best ensure that nothing is going to be driving the JTAG pins while you are programming the thing else include links (jumpers or smd resistors etc) to disconnect other circuitry from the JTAG pins.
Anyway, this may possibly free up some pins for you.
Secondly, it is also possible to develop for these devices in VHDL or Verilog using Altera's Quartus software (web editiion 13.0sp1 is the last one to support the MAX 7000 series chips on which the ATF1500 series devices are based) - you select the equivalent Altera device :
EPM7032 = ATF1502
EPM7064 = ATF1504
EPM7128 = ATF1508
Once you have compiled your design (.POF file generated) you can use Microchips POF2JED utility to convert it to a .JED file for programming via ATMISP
I wonder this trick can be use on the MAX7000S CPLD. I currently have 4 used EPM7128S with the JTAG disabled. Really would like to factory reset them. From searching on the Internet, it mentioned that the only way is to use a Parallel Programmer (which is almost impossible to find).
I bought 10pcs EPM7064S on eBay and only 4 can be recognized by the USB blaster. I set the non working EPM7064S aside but tried them again after reading this thread. I used a board with no other connections other than the JTAG connections. I connected a 1.8K resistor to OE (pin 44) and apply 5V first and then 12V. JTAG programmer still does not recognize the device, but I went through the motion of programming it anyway with 12V applied. For few parts need to be programmed with 12V several times. Eventually (with 12V removed), the JTAG will recognize the device and proceed to program and verify OK. I put the "reconditioned" EPM7064S in a functioning board and they all worked correctly. This is great trick!
Bill
wow, thanks for that info. I will give it a try on the EPM7128SLC that I got from Aliexpress (which has the JTAG disabled). I also managed to get a ByteBlasterMV from eBay which suppose to be able to program the JTAG disabled CPLD, but I don't have a PC with parallel port to try.
If this works, it will be amazing trick for the EPM7128S as there are tons of these chip around in the used market and they are very cheap.
I will report back with findings over the next few days.
eddie
Re: ATF1504AS: Questions about this CPLD
maded2 wrote:
plasmo wrote:
I'm happy to report that the "12V to OE" trick also restore JTAG function to Altera EPM7064S.
About 7 years ago I bought a bunch of EPM7032STC44 that turned out to be remarked EPM7032TC44. Non-S cannot be JTAG programmed. They need the dedicated Altera programmer. And nobody seems to know anything about the programming protocol Altera thought up for them.
maded2 wrote:
I also managed to get a ByteBlasterMV from eBay which suppose to be able to program the JTAG disabled CPLD, but I don't have a PC with parallel port to try.
maded2 wrote:
If this works, it will be amazing trick for the EPM7128S as there are tons of these chip around in the used market and they are very cheap.
Re: ATF1504AS: Questions about this CPLD
Windfall wrote:
maded2 wrote:
plasmo wrote:
I'm happy to report that the "12V to OE" trick also restore JTAG function to Altera EPM7064S.
About 7 years ago I bought a bunch of EPM7032STC44 that turned out to be remarked EPM7032TC44. Non-S cannot be JTAG programmed. They need the dedicated Altera programmer. And nobody seems to know anything about the programming protocol Altera thought up for them.
maded2 wrote:
I also managed to get a ByteBlasterMV from eBay which suppose to be able to program the JTAG disabled CPLD, but I don't have a PC with parallel port to try.
maded2 wrote:
If this works, it will be amazing trick for the EPM7128S as there are tons of these chip around in the used market and they are very cheap.
thanks, this could be the case. But of the 2 batch of chips I got from the same vendor, I got 2 out of 14 chips to JTAG scan and programmed.
I started the 12V OE tests, but currently without success. I measured 8.4V at the OE pin (with the 1.8k resistor). I planned to change the resistor to 1k to allow higher voltage to see if that works.
Re: ATF1504AS: Questions about this CPLD
There are two OE pins on 7128S. I believe OE1 (pin 84 on the PLCC84 package) is the pin that needs 12V to re-enable JTAG.
Re: ATF1504AS: Questions about this CPLD
plasmo wrote:
There are two OE pins on 7128S. I believe OE1 (pin 84 on the PLCC84 package) is the pin that needs 12V to re-enable JTAG.
@plasmo, what messages did you get from the programmer software when you say "JTAG programmer still does not recognize the device, but I went through the motion of programming it anyway with 12V applied". All I get is unrecognized device and stop.
thanks,
eddie
Log Messages I get when I try to program the CPLD
Code: Select all
Info (209060): Started Programmer operation at Thu Dec 24 21:20:47 2020
Info (209006): Unrecognized device
Error (209001): JTAG ID code specified in JEDEC STAPL Format File does not match any valid JTAG ID codes for device
Error (209012): Operation failed
Info (209061): Ended Programmer operation at Thu Dec 24 21:20:48 2020Re: ATF1504AS: Questions about this CPLD
maded2 wrote:
plasmo wrote:
There are two OE pins on 7128S. I believe OE1 (pin 84 on the PLCC84 package) is the pin that needs 12V to re-enable JTAG.
@plasmo, what messages did you get from the programmer software when you say "JTAG programmer still does not recognize the device, but I went through the motion of programming it anyway with 12V applied". All I get is unrecognized device and stop.
thanks,
eddie
Log Messages I get when I try to program the CPLD
Code: Select all
Info (209060): Started Programmer operation at Thu Dec 24 21:20:47 2020
Info (209006): Unrecognized device
Error (209001): JTAG ID code specified in JEDEC STAPL Format File does not match any valid JTAG ID codes for device
Error (209012): Operation failed
Info (209061): Ended Programmer operation at Thu Dec 24 21:20:48 2020Unfortunately I was successful in restoring JTAG function to all my EPM7064S, so I can not repeat my tests. I recall the USB blaster was complaining that JTAG is not working (like your error message) while I was programming it with 12V to OE1 applied, but the program must have entered the device. Few devices I have to try multiple times.
Bill
Re: ATF1504AS: Questions about this CPLD
plasmo wrote:
maded2 wrote:
plasmo wrote:
There are two OE pins on 7128S. I believe OE1 (pin 84 on the PLCC84 package) is the pin that needs 12V to re-enable JTAG.
@plasmo, what messages did you get from the programmer software when you say "JTAG programmer still does not recognize the device, but I went through the motion of programming it anyway with 12V applied". All I get is unrecognized device and stop.
thanks,
eddie
Log Messages I get when I try to program the CPLD
Code: Select all
Info (209060): Started Programmer operation at Thu Dec 24 21:20:47 2020
Info (209006): Unrecognized device
Error (209001): JTAG ID code specified in JEDEC STAPL Format File does not match any valid JTAG ID codes for device
Error (209012): Operation failed
Info (209061): Ended Programmer operation at Thu Dec 24 21:20:48 2020Unfortunately I was successful in restoring JTAG function to all my EPM7064S, so I can not repeat my tests. I recall the USB blaster was complaining that JTAG is not working (like your error message) while I was programming it with 12V to OE1 applied, but the program must have entered the device. Few devices I have to try multiple times.
Bill
I followed your steps but still not successful
btw, is your USB Blaster the official one or a clone? (I am using a USB Blaster clone) I just get the keep getting
Code: Select all
Error (209001): JTAG ID code specified in JEDEC STAPL Format File does not match any valid JTAG ID codes for device
Error (209012): Operation failedRe: ATF1504AS: Questions about this CPLD
Mine USB blaster is just a cheap $5 clone.
Maybe 7128S is different than 7064S regarding the JTAG enabling. Or perhaps the 7128S you have are something else. I'm interested to try the JTAG enabling method on 7128S. Did you buy yours from eBay?
Maybe 7128S is different than 7064S regarding the JTAG enabling. Or perhaps the 7128S you have are something else. I'm interested to try the JTAG enabling method on 7128S. Did you buy yours from eBay?
Re: ATF1504AS: Questions about this CPLD
plasmo wrote:
Mine USB blaster is just a cheap $5 clone.
Maybe 7128S is different than 7064S regarding the JTAG enabling. Or perhaps the 7128S you have are something else. I'm interested to try the JTAG enabling method on 7128S. Did you buy yours from eBay?
Maybe 7128S is different than 7064S regarding the JTAG enabling. Or perhaps the 7128S you have are something else. I'm interested to try the JTAG enabling method on 7128S. Did you buy yours from eBay?
thanks,
eddie
Re: ATF1504AS: Questions about this CPLD
maded2 wrote:
plasmo wrote:
Mine USB blaster is just a cheap $5 clone.
Maybe 7128S is different than 7064S regarding the JTAG enabling. Or perhaps the 7128S you have are something else. I'm interested to try the JTAG enabling method on 7128S. Did you buy yours from eBay?
Maybe 7128S is different than 7064S regarding the JTAG enabling. Or perhaps the 7128S you have are something else. I'm interested to try the JTAG enabling method on 7128S. Did you buy yours from eBay?
thanks,
eddie
Bill
Re: ATF1504AS: Questions about this CPLD
maded2 wrote:
plasmo wrote:
Mine USB blaster is just a cheap $5 clone.
Maybe 7128S is different than 7064S regarding the JTAG enabling. Or perhaps the 7128S you have are something else. I'm interested to try the JTAG enabling method on 7128S. Did you buy yours from eBay?
Maybe 7128S is different than 7064S regarding the JTAG enabling. Or perhaps the 7128S you have are something else. I'm interested to try the JTAG enabling method on 7128S. Did you buy yours from eBay?
thanks,
eddie
I received 4 pcs EPM7128SLC84. I verify their JTAG ports are locked. Three of the 4 parts draw fairly high current, 200-300mA; one draws about 100mA. I have a proven programming fixture for EPM7128SLC84. Only signals hooked up in the programming fixture are power/ground and 4 JTAG signals. I added a 1K resistor to OE1 (pin84) where 12.5V can be applied through the 1K resistor. I apply 5V first and 12.5V next. I was able to erase the JTAG lock for the part with low current. Once JTAG is re-enabled, it programmed normally. However, with the three high-current parts, I was not successful in erasing the JTAG lock. I've tried many times, but failed every time.
Here is what I've observed with the successful part: I programmed with a working EPM7128SLC84 POF file. The programmer reported unsuccessful JTAG connection and programming appeared to have failed, but once I removed 12V and recycled 5V, I'm able to establish JTAG connection and program the part normally.
So there is a small success, but more works are needed to reliably erase the JTAG lock.
Bill