I used to use PALs, like GAL22V10, ages ago. I don't even remember what software was used anymore.State machines too, like Philips PLUS405 type partshttp://noel.feld.cvut.cz/hw/philips/acrobat/8043.pdf"I was thinking about seeing if it is possible to make a 2 package 7 bit to 16 segment CA decoder. "Why? Why why why? Why?You're going to need an array to store your fonts. Just make it an int array and shift it out to two TPIC6B585 (or 6C595 or 6D595, check prices & current requirements) open drain shift registers. Use SPI.transfer to shift it out fast.
Part like this?http://www.ti.com/lit/ds/symlink/pal16r8am.pdf
Good for current sink - 24mANot so good for current source - 3.2mA
Name Example4;Partno example4.pld;Date 06/01/98;Revision 01;Designer Bruce Hoeppner;Company EECE143;Assembly PLD Source Code;Location EN365;Device G16V8;/*******************************************************//* Example program to implement the sequential circuit*//* in CUPL programming language using State Machines *//* *//* *//*******************************************************//* Allowable Target Device Types: *//*******************************************************//** Inputs **/Pin 1 = clock;Pin 2 = s; /* combinational data input */Pin 11 = !enable;/** Outputs **/Pin [14..15] =[Q1..0];Pin 19 = found; /* combinational output*//** Declarations and Intermediate Variable Definitions **/field state = [Q1..0];$define S0 'b'00$define S1 'b'01$define S2 'b'10$define S3 'b'11/** State Machine **/SEQUENCE state {present S0 if s next S0;default next S1;present S1 if s next S2;default next S1;present S2 if s next S3;default next S1;present S3 if s next S0 out found;default next S0;}/** End of example4.pld source code **/
CUPL(WM) 5.0a Serial# 60008009Device g16v8ms Library DLIB-h-40-11Created Thu Sep 06 10:09:06 2012Name Example4Partno example4.pldRevision 01Date 06/01/98Designer Bruce HoeppnerCompany EECE143Assembly PLD Source CodeLocation EN365*QP20 *QF2194 *G0 *F0 *L00000 01111111111111111101110111111111*L01024 11111111111111111110110111111111*L01056 10111111111111111111111011111111*L01280 01111111111111111110110111111111*L01312 01111111111111111101111011111111*L02048 10001100011001010111100001100001*L02080 01101101011100000110110001100101*L02112 00110100011100111111111111111111*L02144 11111111111111111111111111111111*L02176 111111111111111101*C1E1E*A5D1