PAL = PROGRAMMABLE ARRAY LOGIC, se nao me engano, desenvolvido pela AMD.
Bem...eu aconselho dares uma olhada nos GAL da ATMEL, se nao me engano, tem alguns pino a pino compativeis (DIP)
Podes programar com ABEL ou PALASM ou CUPL, gerando arquivo .JED
Isto é o que eu lembro...faz muito tempo que nao mexo mais
TCPIPCHIP
Abaixo um exemplo....
Name CHEQ_PRE_7404_LESS;
Partno 000;
Date 05/05/1997;
Revision 00;
Designer Miguel Alexandre Wisintainer;
Company robot
Assembly None;
Location None;
Device V750C;
$DEFINE Y4 !((!A13 & !A14 & A15) & ENABLE_138)
$DEFINE Y5 !((A13 & !A14 & A15) & ENABLE_138)
$DEFINE Y6 !((!A13 & A14 & A15) & ENABLE_138)
$DEFINE Y7 !((A13 & A14 & A15) & ENABLE_138)
/****************************************************************/
/* FOR REDUCE SIZE OF CHEQUE-PRE/NETMACHINE */
/****************************************************************/
/** Inputs **/
PIN 1 = clock;
PIN [2,3,4,5] = [A12..A15];
PIN 10 = WR;
PIN 11 = RD;
PIN 13 = PSEN;
PIN 14 = ALE;
PIN 22 = EA;
/** Outputs **/
PIN 15 = ENABLE_WR_RAMTRON;
PIN 16 = ENABLE_RAM;
PIN 17 = ENABLE_ROM;
PIN 18 = ENABLE_LCD;
PIN 19 = READ_RAM_ROM;
PIN 20 = ENABLE_138;
PIN 21 = CLOCK_SEIKO;
/** Temporary variables **/
NODE Q0;
NODE Q1;
NODE Q2;
NODE Q3;
NODE Q4;
NODE Q5;
NODE Q6;
/** Logic Equations **/
ENABLE_WR_RAMTRON= !EA # WR;
ENABLE_RAM = (A12 & A13 & A14 & A15) # (Y4 & Y5 & Y6 & Y7);
ENABLE_ROM = A15 # ALE;
ENABLE_LCD = ( !((!(! WR)) & (!(!RD))) ) & ( (!(!A12)) & (!(!A13)) & (!(!A14)) & (!(!A15)) ) ;
READ_RAM_ROM = (RD & PSEN);
ENABLE_138 = !(RD & WR & PSEN);
/** FOR SEIKO - CLOCK GENERATOR **/
Q6.SP='b'0;
Q5.SP='b'0;
Q4.SP='b'0;
Q3.SP='b'0;
Q2.SP='b'0;
Q1.SP='b'0;
Q0.SP='b'0;
Q6.AR='b'0;
Q5.AR='b'0;
Q4.AR='b'0;
Q3.AR='b'0;
Q2.AR='b'0;
Q1.AR='b'0;
Q0.AR='b'0;
Q6.T='b'1;
Q5.T='b'1;
Q4.T='b'1;
Q3.T='b'1;
Q2.T='b'1;
Q1.T='b'1;
Q0.T='b'1;
Q0.CK = clock;
Q1.CK = !Q0;
Q2.CK = !Q1;
Q3.CK = !Q2;
Q4.CK = !Q3;
Q5.CK = !Q4;
Q6.CK = !Q5;
CLOCK_SEIKO = Q6;