• Please review our updated Terms and Rules here

GAL compilers?

cj7hawk

Veteran Member
Joined
Jan 25, 2022
Messages
1,090
Location
Perth, Western Australia.
Hi All,

Just wondering what GAL compilers are still around... At the moment I'm using GALASM, but that only runs under Linux so I run WSL to use it. Are there any Windows native compilers anymore, and any that can program the GAL22V10? Also would love to find a compiler for the GAL26V12 - I've always wanted to try using them... And speaking of which, are there any programmers that do the 26v12?
 
First of all, 26V12 or 26CV12? They are absolutely not the same. I actually have a few Lattice 26CV12 chips that I scavenged from something, but the 26V12 has 2 extra fuses per macrocell for a second clock and a buried feedback mode. But they're full-on obsolete now, so it's not a good idea to try to use them. And I just checked my EMP-31 (from 2001 or so, just before Needhams got gobbled up), it doesn't have support for them, just the usual three Lattice chips, so I can't use the chips I have anyhow.

This may not help you, but I wrote my own many years ago because I was tired of DOS-only closed-source GAL compilers, and wanted something that I could run under Linux, and OS X too. I decided to not try to use the usual syntax, which I kind of regret. But anyhow, I did add a 26CV12 configuration to it. You'll probably get better info from the 26CV12 data sheet, though.

 
Thanks @Bruce Tomlin ,

The main issue I've had with trying to locate 26CV12 and similar is a lack of decent information, compilers and burners.

What kind of burner did you use to burn them? The current low-cost burners just don't support anything above 22(?)v10 as an option?
 
I didn't, these were just salvage chips from junk. I simply extrapolated the fuse map from 22V10. But I did notice that the copyright on the 26CV12 document is 2000, so it was still a relatively new chip compared to my programmer. But I checked, and my EMP31 software is v1.7sp1 from 2006 (I didn't realize it was supported that long!), so there must be another reason why it didn't get supported. Perhaps the reason it disappeared so quickly was larger CPLDs and FPGAs made it immediately redundant.
 
That's a shame - Did the extra input from the gate allow both the latch to operate and act as a combinatorial input to a logic gate? Thats always the big "missing" item for GALs. Some PALs could do this, but there are times when I'd like to latch a value and use it as a combinatorial input without sacrificing an output pin.
 
I have used Lattice ispLEVER Classic for 22V10 devices. I think it probably has support for 26V12 devices. I don't seem to have the software currently installed on the system I am using at the moment. I'd have to get it installed again to verify the 26V12 device support.

https://www.latticesemi.com/ispleverclassic

My BP Micro device programmers support programming some 26V12 devices.
 
… wow, $600 a year license cost. That’s a bit steep.

In the past, you could request a free license which expired in one year, at which point you could request another free license for the next year. Unfortunately they discontinued issuing one year free licenses.

Hypothetically speaking only, someone could alter a license to remove the expiration date, but the first rule of FlexLM Club is Don't talk about FlexLM Club. ;)
 
Are there any Windows native compilers anymore, and any that can program the GAL22V10?

… I guess I missed this; it’s already been mentioned, but WINCUPL exists. And it’s free, and you can still download it from Microchip. The main problem with it is it was last updated around the time Windows 2000 was the bleeding edge of Microsoft technology and it’s very, very old and cranky. Like I said, I run it under WINE because I can’t get it to do anything but instantly crash under Windows 10. Even under the best of circumstances, though, it’s flaky and will just decide to go *poof* in response to user error.

On the plus side, if you can get over the hump with it it has some really useful features, like the simulation function.


Is there a reason you want to muck around with this instead of the ATF750? If you’re looking for something midway between a 22v10 and a small CPLD it’s the somewhat better supported and much more available solution. (Although I say that with a grain of salt because new stocks are perennially low.) It has buried registers, each flip-flop can have its own clock, etc, and WINCUPL supports programming it. The only bummer is you still only have a max of ten outputs.

Unfortunately it looks like the cheap TL866-type programmers won’t program it; the $150-ish T56 will. If the TL866 would handle them I probably would have tried some out by now.
 
… I guess I missed this; it’s already been mentioned, but WINCUPL exists.
Which doesn't play nice with Windows 10, as you noted :(
Is there a reason you want to muck around with this instead of the ATF750? If you’re looking for something midway between a 22v10 and a small CPLD it’s the somewhat better supported and much more available solution. (Although I say that with a grain of salt because new stocks are perennially low.) It has buried registers, each flip-flop can have its own clock, etc, and WINCUPL supports programming it. The only bummer is you still only have a max of ten outputs.

Unfortunately it looks like the cheap TL866-type programmers won’t program it; the $150-ish T56 will. If the TL866 would handle them I probably would have tried some out by now.

Another burner would be a pain - I only recently got the T48... But it's not out of the question.

Supply issues, cost and programming tools are a problem though. I could wear that for buried registers, but I didn't see mention of any in the datasheet? are you thinking of the 40 pin GALs that came out and had buried registers?
 
Which doesn't play nice with Windows 10, as you noted :(
I'm running the DOS version under an emulator in W10 without any problem. I used WINCUPL once under W7-32, but I couldn't see any advantage using it instead of the DOS version. I'm using PSPad as editor and with Ctrl-F9 I can run a batch file that compiles the source of that moment for me. And it works fine under W7-32. With W10 I have to use a trick.
 
I'm running the DOS version under an emulator in W10 without any problem. I used WINCUPL once under W7-32, but I couldn't see any advantage using it instead of the DOS version. I'm using PSPad as editor and with Ctrl-F9 I can run a batch file that compiles the source of that moment for me. And it works fine under W7-32. With W10 I have to use a trick.
One thing that really frustrates me is having to run emulators to run software. Which is ironic. It was the lack of z80 assemblers that led me to write one under Windows 10 ( Command line, but works fine under Windows 10 ) which led me to writing an emulator to test the code, which didn't work because it needed an operating system for the emulator, which was where I wanted to head in the first place so I wrote an operating system for the emulator, which all occured because I hate running software under emulators.

It's kind of sad nothing exists between SPLDs and CPLDs. Well, there nearly were, some 40 pin monsters with around 80 registers and a lot of connections, but they don't exist anymore. I guess I should be grateful that 22v10s are so cheap and I can still compile them under WSL at least and program them easily. But there are times I just want a couple more pins.
 
Supply issues, cost and programming tools are a problem though. I could wear that for buried registers, but I didn't see mention of any in the datasheet? are you thinking of the 40 pin GALs that came out and had buried registers?

It’s right there on the bullet point list on the datasheet for the ATF750C? It has 20 registers instead of ten; only 10 have their output pins exposed like the 22v10, but the others are fully interconnected on the feedback grid and can be used for buried state machines. Later in the datasheet it discusses other enhancements, like each flip flop can be defined as either D or T type, you can use product terms as clocks instead of the main clock pin, etc, etc.

To oversimplify, it’s *basically* two 22v10s piggybacked on top of each other with their feedbacks fully interconnected; it’s still only 20 registers, but the “neural net” is complete and would let you do things you couldn’t do with just two 22v10s sitting next to each other. (You’d be wasting all the I/O pins passing product terms between them.)
 
Last edited:
ispLEVER Classic 2.1 does support GAL26V12C, GAL26CV12B, GAL26CV12C (DIP, PLCC) and GAL26CLV12D (PLCC) devices.

ispLeverSelectDevice.png
 
Back
Top