I need 8 inputs and 2 outputs... I consider the ATF15xx chip an upgrade and even that is overkill.
Indeed, an ATF16V8 could do that with room to spare.
For what you are doing I think WinCUPL will be fine. Compared to VHDL or Verilog, CUPL is much simpler. Just give each pin a name, provide a logic equation for each output, and you're done!
Here's an example of an address decoder (taken from one of my Z80 projects). '&' means AND, '#' means OR, pins which are active low have a '!' in front of the name (eg. when pin 7 is low WR will be TRUE, and when RAME becomes TRUE pin 17 will be low). A pin becomes an output when it is the result of a logic equation.
/* ***************** INPUT PINS ************************/
PIN 3 = A14 ; /* Z80 A14 */
PIN 4 = A15 ; /* Z80 A15 */
PIN 5 = !MREQ ; /* Z80 /MREQ */
PIN 6 = !RD ; /* Z80 /RD */
PIN 7 = !WR ; /* Z80 /WR */
/* ***************** OUTPUT PINS ***********************/
PIN 17 = !RAME ; /* 32k static RAM /CS */
PIN 14 = !ROME ; /* 16k ROM /CS */
RAME = MREQ&(RD#WR)&((A15&!A14)#(!A15&A14));
ROME = MREQ&RD&A15&A14;
Just one thing to watch for with WinCUPL. If you view an output file, close the window before recompiling - otherwise it will fail because your window has a lock on the file!
CUPL tutorialThe one chip solution looks very nice.
Yes. What's the point of using a CPLD if you need a bunch of regulators and level shifters to support it? However if you intend to interface to 3.3V logic (eg. SD Card) then a 3.3V regulator will be required anyway so it's not so onerous.
I was not aware that CPLDs were obsolete in general. That changes the discussion.
Atmel seems to be the only manufacturer still making SPLDs and 5V CPLDs. Now that they are owned by Microchip, hopefully they will continue to provide them.