Programming SPLDs / CPLDs

Go To Last Post
8 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hello,

 

I'm experimenting with the ATF1502 series and I'm surprising myself about programming them:

  • If I limit myself to 32 I/O pins I can use JTAG and use a dirt cheap USB Blaster from AliExpress
  • If I want to use all 36 pins you suddenly need an astromically expensive programmer (?)

 

Also:

  • The ATF22V10C is really amateur friendly, you can use the affordable TL866 programmer from Autoelectric to program it
  • But should you want to upgrade to an ATF750, the more powerful drop-in replacement, you again need an astronomically expensive programmer (?)

 

As I understand the programming algorithm is top-secret, so no way that you can design your own programmer as an amateur.

 

Do I view this correct?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I have programmed the Atmel CPLD's in the past and I used to use a simple programmer that plugged into the parallel port of my PC (remember parallel ports!!).  TEH schematics for it were on teh interwebs, not sure if they still are.

 

I think I have the software laying around somewhere as well.

 

Dumb question(s)

Do you REALLY need a CPLD?  Or is this merely educational?

 

If you think you need a CPLD, couldn't you use an AVR instead?  Tats what I do as much of my stuff does not go above 16Mhz these days.

 

 

Jim

I would rather attempt something great and fail, than attempt nothing and succeed - Fortune Cookie

 

"The critical shortage here is not stuff, but time." - Johan Ekdahl

 

"Step N is required before you can do step N+1!" - ka7ehk

 

"If you want a career with a known path - become an undertaker. Dead people don't sue!" - Kartman

"Why is there a "Highway to Hell" and only a "Stairway to Heaven"? A prediction of the expected traffic load?"  - Lee "theusch"

 

Speak sweetly. It makes your words easier to digest when at a later date you have to eat them ;-)  - Source Unknown

Please Read: Code-of-Conduct

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB, RSLogix user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

dmantione wrote:

Hello,

 

I'm experimenting with the ATF1502 series and I'm surprising myself about programming them:

  • If I limit myself to 32 I/O pins I can use JTAG and use a dirt cheap USB Blaster from AliExpress
  • If I want to use all 36 pins you suddenly need an astromically expensive programmer (?)

 

Also:

  • The ATF22V10C is really amateur friendly, you can use the affordable TL866 programmer from Autoelectric to program it
  • But should you want to upgrade to an ATF750, the more powerful drop-in replacement, you again need an astronomically expensive programmer (?)

 

As I understand the programming algorithm is top-secret, so no way that you can design your own programmer as an amateur.

 

Do I view this correct?

 

It is a lot of work to create a programmer. 

If you need ATF750, you could request the TL866 supplier add that ?

I have requested they add Vector Testing to their PLD support, and I'm told it is in their queue...

 

For the ATF1502, there is a Vpp pin that unlocks the JTAG, and FWIR, you can just apply 10~12V to that, to enable JTAG, if you want those 36 pins.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I'm active with retrocomputers and one project I'm currently working on is wether I can to build my own bank switched cartridge for a Commodore 64. The traditional method is to use a 74LSXX flipflop as a bank switch register and use some more 74LSXX chips for the address decoding. A SPLD/CPLD could integrate this functionality into a single chip, and spare capacity of the PLD can be used for additional features. For example, ayou could implement write access to a page of an EEPROM to implement on-cartridge save game functionality. If you would do this with discrete chips, the higher component count will quickly make the cartridge uneconomical.

 

So... I'm interfacing with a CPU bus. Interfacing microcontrollers to the Commodore 64 CPU bus has been done, for example the SwinSID uses an overclocked Atmega88 programmed in AVR machine code to replicate the sound chip. Nevertheless a CPU bus is much better suited to a S/CPLD than a microcontroller, so I do think I'm looking at the PLDs for the right reason.

 

I found ATFBLAST on the internet, which is a tool to program the ATF16V8 and ATF22V10 SPLDs using a parallel port. I'm not sure if this is the code you are referring to? ATFBLAST is on one hand interresting as it does give some insights in the programming algorithm, on the other hand, the ATF16V8 and ATF22V10 are supported by the TL866, so I can already program them.

 

However, in case you have information or software that allows to program other PLD's, this would be gold and I would be very interrested to have a look at that.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Who-me wrote:

It is a lot of work to create a programmer. 

If you need ATF750, you could request the TL866 supplier add that ?

I have requested they add Vector Testing to their PLD support, and I'm told it is in their queue...

 

Well, I'm looking at ATFBLAST and its source and building something like that, and hacking on its source code to add support for a certain PLD, certainly does look feasible to me, I see much more challenge in finding the right programming algorithm, than building such a device and doing a little bit of coding. You are completely right that I should also ask the question to Autoelectric, but I wanted to ask the question here to people who know a lot about Atmeld devices in order to check if I have the right view on the situation.

 

Quote:

For the ATF1502, there is a Vpp pin that unlocks the JTAG, and FWIR, you can just apply 10~12V to that, to enable JTAG, if you want those 36 pins.

 

That is very interresting information! You just apply the voltage to Vpp and JTAG is active again? Do you have some more info on this procedure? For now I'm even in the dark which pin would be the Vpp...

Last Edited: Wed. Jul 3, 2019 - 08:15 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

dmantione wrote:

Quote:

For the ATF1502, there is a Vpp pin that unlocks the JTAG, and FWIR, you can just apply 10~12V to that, to enable JTAG, if you want those 36 pins.

 

That is very interresting information! You just apply the voltage to Vpp and JTAG is active again? Do you have some more info on this procedure? For now I'm even in the dark which pin would be the Vpp...

 

FWIR OE1 is Vpp, but it should be easy enough to check, as I think all other IP pins have clamp diodes on them :) ( ie apply 12V thru 2k2 and check OE1 voltage)

Something like ST662 charge pump regulator should give you the Vpp voltage, enable it only when needed. I think that pin is just an enable, so has no significant current demands, because all the necessary charge pumps etc work on 5V

 

The ATF1502/ATF1504 is smarter and cheaper than ATF750, & you can also use ATF150xASV parts on 5V  (sometimes the ASV parts are cheaper, as there is more competition at 3v3 CPLDs ;)  )

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
FWIR OE1 is Vpp, but it should be easy enough to check, as I think all other IP pins have clamp diodes on them :) ( ie apply 12V thru 2k2 and check OE1 voltage)

 

That sounds like a plan! I guess the JTAG interface is temporarily active during the Vpp voltage? Or will it reset the chip to a state where JTAG is continuously active?

 

Quote:

The ATF1502/ATF1504 is smarter and cheaper than ATF750, & you can also use ATF150xASV parts on 5V  (sometimes the ASV parts are cheaper, as there is more competition at 3v3 CPLDs ;)  )

 

Yes, the ATF1502 is for sure the superior part, but at €7.55 a piece on their website, looks like Microchip is discouraging the ASV. The ASL seems to be the most economical variant at €1.23, which looks suitable to me.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

dmantione wrote:

Quote:
FWIR OE1 is Vpp, but it should be easy enough to check, as I think all other IP pins have clamp diodes on them :) ( ie apply 12V thru 2k2 and check OE1 voltage)

That sounds like a plan! I guess the JTAG interface is temporarily active during the Vpp voltage? Or will it reset the chip to a state where JTAG is continuously active?

Yes, remove Vpp and JTAG is disabled. (unless you erased the part while it was high) 

Suggested flow would probably be to apply 5V, then Vpp, then erase the part and then you can remove Vpp as JTAG fuse is enabled, until you pgm another JED file that disables JTAG.

 

 

dmantione wrote:

Yes, the ATF1502 is for sure the superior part, but at €7.55 a piece on their website, looks like Microchip is discouraging the ASV. The ASL seems to be the most economical variant at €1.23, which looks suitable to me.

Prices bounce around a little. 

I see Digikey has  ATF1504ASV-15JU44 for $1.65 / 1   ( & ATF1502ASV-15JU44 us $1.76/1 )  - right now, the larger part is cheaper :)