jdgabbard Posted December 9, 2015 Share Posted December 9, 2015 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? Quote Link to comment Share on other sites More sharing options...
jdgabbard Posted December 9, 2015 Author Share Posted December 9, 2015 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... Quote Link to comment Share on other sites More sharing options...
+5-11under Posted December 9, 2015 Share Posted December 9, 2015 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. Quote Link to comment Share on other sites More sharing options...
jdgabbard Posted December 9, 2015 Author Share Posted December 9, 2015 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? Quote Link to comment Share on other sites More sharing options...
+5-11under Posted December 9, 2015 Share Posted December 9, 2015 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. Quote Link to comment Share on other sites More sharing options...
jdgabbard Posted December 9, 2015 Author Share Posted December 9, 2015 Makes sense, counterfeit products are more substitute standard. But they're cheap... Quote Link to comment Share on other sites More sharing options...
jdgabbard Posted December 18, 2015 Author Share Posted December 18, 2015 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. Quote Link to comment Share on other sites More sharing options...
santosp Posted February 19, 2016 Share Posted February 19, 2016 (edited) 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. MiniProV650_setup.rar Edited February 19, 2016 by santosp 1 Quote Link to comment Share on other sites More sharing options...
Shawn Posted February 24, 2016 Share Posted February 24, 2016 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. MiniProV650_setup.rar Thank YOU!!! Quote Link to comment Share on other sites More sharing options...
Shawn Posted March 7, 2016 Share Posted March 7, 2016 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. MiniProV650_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. Quote Link to comment Share on other sites More sharing options...
jdgabbard Posted March 19, 2016 Author Share Posted March 19, 2016 (edited) 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 March 19, 2016 by jdgabbard 1 Quote Link to comment Share on other sites More sharing options...
ziggystar Posted June 15, 2016 Share Posted June 15, 2016 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/haynie/cpumods/a2620/pals/u504.pld Thanks Quote Link to comment Share on other sites More sharing options...
ziggystar Posted June 15, 2016 Share Posted June 15, 2016 http://www.thule.no/haynie/cpumods/a2620/pals/u504.pld Quote Link to comment Share on other sites More sharing options...
jdgabbard Posted July 21, 2016 Author Share Posted July 21, 2016 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/haynie/cpumods/a2620/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. Quote Link to comment Share on other sites More sharing options...
ziggystar Posted July 22, 2016 Share Posted July 22, 2016 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 Quote Link to comment Share on other sites More sharing options...
jdgabbard Posted July 25, 2016 Author Share Posted July 25, 2016 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/forums/topic/254989-dual-bcd-to-hex-7-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... Quote Link to comment Share on other sites More sharing options...
ziggystar Posted August 2, 2016 Share Posted August 2, 2016 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 Quote Link to comment Share on other sites More sharing options...
jdgabbard Posted August 11, 2016 Author Share Posted August 11, 2016 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. Quote Link to comment Share on other sites More sharing options...
ziggystar Posted August 11, 2016 Share Posted August 11, 2016 Ahh and these are pal20v8 so i bought gal20v8. Sent from my iPhone using Tapatalk Quote Link to comment Share on other sites More sharing options...
ziggystar Posted August 11, 2016 Share Posted August 11, 2016 Maybe should try 22v10? Sent from my iPhone using Tapatalk Quote Link to comment Share on other sites More sharing options...
jdgabbard Posted August 11, 2016 Author Share Posted August 11, 2016 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/ulk/itm/230505069621 Quote Link to comment Share on other sites More sharing options...
ziggystar Posted August 22, 2016 Share Posted August 22, 2016 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 Quote Link to comment Share on other sites More sharing options...
Shawn Posted August 28, 2018 Share Posted August 28, 2018 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.com/downloads/dl/file/id/1489/getting_started_with_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 Quote Link to comment Share on other sites More sharing options...
+5-11under Posted August 28, 2018 Share Posted August 28, 2018 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. 1 Quote Link to comment Share on other sites More sharing options...
Shawn Posted August 29, 2018 Share Posted August 29, 2018 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. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.