Jump to content

Photo

Question about programming GAL/PLDs


24 replies to this topic

#1 jdgabbard OFFLINE  

jdgabbard

    Moonsweeper

  • 256 posts
  • Location:Tulsa, OK

Posted Wed Dec 9, 2015 8:01 AM

I have been using discrete logic for most of my projects, or a micro when I needed something more akin to LSI. However, in an effort to cut down on consumed real estate I have recently decided to make a move into some of the smaller PLDs. I'm specifically looking at the 16V8 and 22V10 series of PLDs.

I have written an equation file that would do my logic functions for a GAL22v10, only to discover that my programmer that supports PLDs (TL866) has a software bug where that specific PLD is concerned. However, I'm under the impression that 16v8 and Atmel variants program and verify without problems. This is kind of a pain considering that I had purchased 20 of the 22v10...

My question had to do with software. I have been writing my equations in a standard text file and compiling it in OpalJr. This isn't a big deal, as my Win98 machine has USB. However, my programmer doesn't work on this machine, and I'm forced to transfer the file to my modern machine to burn.

So I have been looking at other software packages that I can run on a Win7 machine without the need for DOS Box. Apparently WinCUPL is about the only one that is simplified enough for my needs. I'm not really interested in learning Verilog or VHDL at the moment, as I'm already busy learning two variants of Assembly.

However, what I'm not clear about is whether WinCUPL's JEDEC files are compatible with both Lattice and Atmel chips (I'm aware of the differences in programming algorithms). Essentially, what I'm getting from this, is the code should be compatible, but there are different algorithms for burning to the PLD. And I correct? Will the same JEDEC file work equally well for a GAL16v8 as it would for a ATF16v8?

#2 jdgabbard OFFLINE  

jdgabbard

    Moonsweeper

  • Topic Starter
  • 256 posts
  • Location:Tulsa, OK

Posted Wed Dec 9, 2015 8:04 AM

I guess if I REALLY have two I could simply use a ROM as a logic devic, like some of he old guys did back in the day. But I bet propagation delay would be a headache...

#3 5-11under ONLINE  

5-11under

    River Patroller

  • 3,373 posts
  • Location:Ontario, Canada

Posted Wed Dec 9, 2015 8:24 AM

I've found the Lattice GAL20V8B usually works with the TL866. I can't get any Atmel GAL/PLD chips to program on any new or old programmer.



#4 jdgabbard OFFLINE  

jdgabbard

    Moonsweeper

  • Topic Starter
  • 256 posts
  • Location:Tulsa, OK

Posted Wed Dec 9, 2015 8:45 AM

Yeah, they're somewhat finicky from what I gather. But my biggest concern is if the compiled JEDEC is cross compatible.

As for the 20v8, I may have to look at it. I don't necessarily need something with 20-22 inputs, and certainly 8 outputs is enough, but it may be useful for larger projects that require a significant about of decoding.

I wish the TL866 actually burned the 22V10 since I bought them under the impression that it worked (I only found out there was a bug after it failing to verify my compiled code). I also have a GQ-4X, but it doesn't work with PLDs. Since I have decided that 16v8s would probably be an alternative that would suit most of my needs. And I could always use two if I had to.

You imply that you've had a few issues with the 20v8, what were they?

#5 5-11under ONLINE  

5-11under

    River Patroller

  • 3,373 posts
  • Location:Ontario, Canada

Posted Wed Dec 9, 2015 11:14 AM

You imply that you've had a few issues with the 20v8, what were they?

 

I think most of my Lattice GAL20V8B issues have been product related. The specific product isn't being made by Lattice anymore, so any parts bought are either old stock or counterfeit or perhaps even were binned by Lattice. I also suspect the TL866CS doesn't work as well as the old PLD programmer I'm currently using.



#6 jdgabbard OFFLINE  

jdgabbard

    Moonsweeper

  • Topic Starter
  • 256 posts
  • Location:Tulsa, OK

Posted Wed Dec 9, 2015 2:36 PM

Makes sense, counterfeit products are more substitute standard. But they're cheap...

#7 jdgabbard OFFLINE  

jdgabbard

    Moonsweeper

  • Topic Starter
  • 256 posts
  • Location:Tulsa, OK

Posted Fri Dec 18, 2015 3:31 PM

Tried some GAL16V8s today. They took a little while to come in the mail. I wrote an equation file in Opal Jr (it's too bad the Windows version doesn't seem to work on my PC). I was unable to compile with the in program module. However, I had no problem compiling with the EQN2JED executable. Afterwards I transfer the compiled JEDEC file over to my Win7 machine and uploaded the code without error. After a short time building a circuit on a breadboard o confirmed that the circuit worked well. These were gray-market Lattice chips. So I can speak for the Atmel variants, or WinCUPL. But at least I have a working method for burning PLDs.

#8 santosp OFFLINE  

santosp

    Dragonstomper

  • 786 posts
  • Location:Athens - Greece

Posted Fri Feb 19, 2016 3:13 PM

I have written an equation file that would do my logic functions for a GAL22v10, only to discover that my programmer that supports PLDs (TL866) has a software bug where that specific PLD is concerned. However, I'm under the impression that 16v8 and Atmel variants program and verify without problems. This is kind of a pain considering that I had purchased 20 of the 22v10...

 

 

This is past from the latest firmware upgrade  v6.50. I confirm cause now I can program any Lattice 22V10 A/B/C/D without any problem. I have try also the same (no original support by programmer) on PLCC form, with fully success! :)

In previous versions I could program to 20V8 in Lattice, and 22V10 in National.

 

Attached File  MiniProV650_setup.rar   6.55MB   436 downloads


Edited by santosp, Fri Feb 19, 2016 3:17 PM.


#9 Shawn OFFLINE  

Shawn

    The Kraken

  • 18,198 posts

Posted Tue Feb 23, 2016 6:51 PM

 

This is past from the latest firmware upgrade  v6.50. I confirm cause now I can program any Lattice 22V10 A/B/C/D without any problem. I have try also the same (no original support by programmer) on PLCC form, with fully success! :)

In previous versions I could program to 20V8 in Lattice, and 22V10 in National.

 

attachicon.gifMiniProV650_setup.rar

 

Thank YOU!!! 



#10 Shawn OFFLINE  

Shawn

    The Kraken

  • 18,198 posts

Posted Sun Mar 6, 2016 6:02 PM

 

This is past from the latest firmware upgrade  v6.50. I confirm cause now I can program any Lattice 22V10 A/B/C/D without any problem. I have try also the same (no original support by programmer) on PLCC form, with fully success! :)

In previous versions I could program to 20V8 in Lattice, and 22V10 in National.

 

attachicon.gifMiniProV650_setup.rar

 

I might have to get more chips as  I only had one 22v10b on hand but I'm still getting programming failures even with this new 6.5 version of the software. I did the firmware update as well. :(



#11 jdgabbard OFFLINE  

jdgabbard

    Moonsweeper

  • Topic Starter
  • 256 posts
  • Location:Tulsa, OK

Posted Sat Mar 19, 2016 5:13 PM

I've been meaning to test this and verify one way or the other for some time.  I had a chance today, so I broke out my MiniPro and some GAL22v10, Lattice brand.

 

I wrote a short equation file that used 4 inputs and two outputs.  After test burning a ported version on a 16v8 I verified that my equation work.  So I proceeded to test a 22v10.  No luck.  Error at memory location 32 during verify.

 

I tried a second chip, and it was the same.

 

I tried a third chip....it programmed and verified successfully.  In disbelief, I broke out my breadboard and checked the circuit.  It works.  I tried the remainder of the 20 chips that I had, only 5 would verify.

 

These chips were new, however, were purchased from the asian market.  Not to mention that this type of PLD is quite old.  This leads me to suspect that these are refurbished, or counterfeit. I suppose a small chance there may be of the algorithm not being solid enough to program EVERY IC.  But I find that extremely hard to believe.

 

If someone want to attempt to program these 22V10Ds with a 'known good' programmer, I'd be happy to mail some to you.

 

EDIT:  If you are interested in trying to program these, send me a PM.  I'll cover the shipping to you.  But you have to post the results.


Edited by jdgabbard, Sat Mar 19, 2016 5:28 PM.


#12 ziggystar OFFLINE  

ziggystar

    Dragonstomper

  • 565 posts
  • Location:Spokane Washington

Posted Tue Jun 14, 2016 9:09 PM

I am trying to get into gal programming. I have a Amiga accelerator card with a bad pal. I downloaded wincupl and compiled the code. I uploaded to a gal20v8 but it doesn't work. Can anyone help? Does the code need to be changed to support gal? Or is wincupl not compatible with my gals? NSC brand.

http://www.thule.no/...0/pals/u504.pld

Thanks

#13 ziggystar OFFLINE  

ziggystar

    Dragonstomper

  • 565 posts
  • Location:Spokane Washington

Posted Tue Jun 14, 2016 9:48 PM

http://www.thule.no/...0/pals/u504.pld

#14 jdgabbard OFFLINE  

jdgabbard

    Moonsweeper

  • Topic Starter
  • 256 posts
  • Location:Tulsa, OK

Posted Wed Jul 20, 2016 11:05 PM

I am trying to get into gal programming. I have a Amiga accelerator card with a bad pal. I downloaded wincupl and compiled the code. I uploaded to a gal20v8 but it doesn't work. Can anyone help? Does the code need to be changed to support gal? Or is wincupl not compatible with my gals? NSC brand.

http://www.thule.no/...0/pals/u504.pld

Thanks

Ziggy, I apologize that I'm just seeing this. It's hard to say...  I could probably try compiling and test that it works on a similar chip (22v8).  But whether that is the code that is supposed to go onto your particular board or not is a whole other story, and I don't have that machine to work with.  So it's probably of no use to you..  I've still been messing with GALs.  I just posted a link to an instructable I wrote on one last night.  But I know nothing of Amigas.  One thing to note is that the chip it calls for is different from what your link calls for.  However, I'm sure its only a different variation that is pin compatible.  So as long as your used the proper chip selection for compiling and burning the JEDEC I would assume it would work.  At a glance it looks like the code would work, and that it is simply combinational logic.



#15 ziggystar OFFLINE  

ziggystar

    Dragonstomper

  • 565 posts
  • Location:Spokane Washington

Posted Fri Jul 22, 2016 8:14 AM

I eventually installed wincupl and the code compiled correctly. It also is the right code for the Amiga and I found atmel brand gals. I burned successfully but it doesn't work in the board. I have lattice gals also, but the wincupl code doesn't seem to work on the lattice gals at all. I have had no success compiling the code in anything but wincupl and that is where I might need help.


Sent from my iPad using Tapatalk

#16 jdgabbard OFFLINE  

jdgabbard

    Moonsweeper

  • Topic Starter
  • 256 posts
  • Location:Tulsa, OK

Posted Sun Jul 24, 2016 8:41 PM

My recent experience proves that Lattice gals work fine with WinCUPL.  My guess, you have something wrong somewhere else on the board. If the code compiles correctly it should burn to a Atmel or Lattice fine.  My recent research shows that the JEDEC files produced are pretty much universal within the variants of a particular chip.

 

Here is an example of a Lattice chip that is running a JEDEC that was written and compiled using WinCUPL:  http://atariage.com/...segment-driver/

 

Now, they do have different programming protocols, so you'd have to program them with the specific chip setting.  However, barring that, the only other issue I could say would prevent it from working is it not being correct for your version of the board.  If it is for your version, you have a different hardware issue.  Faulty capacitors are notorious for causing problems...



#17 ziggystar OFFLINE  

ziggystar

    Dragonstomper

  • 565 posts
  • Location:Spokane Washington

Posted Tue Aug 2, 2016 3:40 PM

That must be my problem then. I have a working pal so I know it's my chip that's not working. What would I do to the above code I posted for a pal to make it work for a gal?


Sent from my iPhone using Tapatalk

#18 jdgabbard OFFLINE  

jdgabbard

    Moonsweeper

  • Topic Starter
  • 256 posts
  • Location:Tulsa, OK

Posted Thu Aug 11, 2016 9:48 AM

That must be my problem then. I have a working pal so I know it's my chip that's not working. What would I do to the above code I posted for a pal to make it work for a gal?


Sent from my iPhone using Tapatalk


The JEDEC created SHOULD be compatible. There may be an issue with the routine used by the programmer to write the fuse map. An example is that the TL-866 supports GAL16V8 and 22V10, but doesn't mention any PAL versions that I'm aware of.

The PAL family is reprogrammable, however, the chip may have been written to many times. Hard to say.

#19 ziggystar OFFLINE  

ziggystar

    Dragonstomper

  • 565 posts
  • Location:Spokane Washington

Posted Thu Aug 11, 2016 9:53 AM

Ahh and these are pal20v8 so i bought gal20v8.


Sent from my iPhone using Tapatalk

#20 ziggystar OFFLINE  

ziggystar

    Dragonstomper

  • 565 posts
  • Location:Spokane Washington

Posted Thu Aug 11, 2016 11:39 AM

Maybe should try 22v10?


Sent from my iPhone using Tapatalk

#21 jdgabbard OFFLINE  

jdgabbard

    Moonsweeper

  • Topic Starter
  • 256 posts
  • Location:Tulsa, OK

Posted Thu Aug 11, 2016 5:44 PM

Well, if the code is for a 20v8 it likely would compile and work on a 22v8 with minor changes to the code. However, you would likely soon fine it didn't work (depending on pins used...I haven't looked at the code in a while and I'm on my phone). It depends on the features used.

Alternatively, you could buy this and have a few to experiment with...

https://www.ebay.com...tm/230505069621

#22 ziggystar OFFLINE  

ziggystar

    Dragonstomper

  • 565 posts
  • Location:Spokane Washington

Posted Sun Aug 21, 2016 8:08 PM

I ended up with some lattice brand 20v8s like those in the listing. The code I linked earlier compiled and I was able to burn the compiled code with no issue but the chip still won't work in the slot to replace a known working chip. Odd.


Sent from my iPhone using Tapatalk

#23 Shawn OFFLINE  

Shawn

    The Kraken

  • 18,198 posts

Posted Mon Aug 27, 2018 9:56 PM

Anyone have any experience programming AVR chips with the tl866? Mainly looking for info on how to program a ATTINY85. I have no clue how to program the program hex and the fuse hex. I've only ever used PIC's so this whole AVR chip thing is new and totally foreign to me. I found this quick start guide and it's got me a whole load of nowhere. 

 

https://www.elektor....the_minipro.pdf

 

Does the program hex go to the code or the data?

 

Does the fuse hex go to the config?

 

Hoping someone can point me in the right direction. One thing is for sure, PIC's are much easier to work with than AVR's :(



#24 5-11under ONLINE  

5-11under

    River Patroller

  • 3,373 posts
  • Location:Ontario, Canada

Posted Tue Aug 28, 2018 7:13 AM

Program hex goes to the code.

 

I've only programmed existing files, so haven't seen a use for data. Probably good for customisations where you want the code to stay exactly the same each time, but want some other numbers changed.

 

Fuse data goes to the config. I think fuse information called out in the code will update the config (can't remember). Otherwise, update it manually. Take a screen shot when you've got it the way you need it.



#25 Shawn OFFLINE  

Shawn

    The Kraken

  • 18,198 posts

Posted Wed Aug 29, 2018 1:10 AM

Program hex goes to the code.

 

I've only programmed existing files, so haven't seen a use for data. Probably good for customisations where you want the code to stay exactly the same each time, but want some other numbers changed.

 

Fuse data goes to the config. I think fuse information called out in the code will update the config (can't remember). Otherwise, update it manually. Take a screen shot when you've got it the way you need it.

 

Yep, that exactly it. program hex goes to the code, fuse hex goes to the config. :)






0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users