/* GAL for dummy exchange A.J. Fisher September 1995 */ DEVICE gal (gal16v8) #define ACTIVE_LOW XOR_0 #define ACTIVE_HIGH XOR_1 #define COMBINATORIAL SYN_0 AC0_1 AC1_1 #define REGISTERED SYN_0 AC0_1 AC1_0 PIN clk = 1 (CLOCK) /aoff = 2 (INPUT) /boff = 3 (INPUT) pin4 = 4 (INPUT) pin5 = 5 (INPUT) pin6 = 6 (INPUT) pin7 = 7 (INPUT) pin8 = 8 (INPUT) pin9 = 9 (INPUT) gnd = 10 (GND) vcc = 20 (VCC) aring = 19 (OUTPUT COMBINATORIAL ACTIVE_HIGH) bring = 18 (OUTPUT COMBINATORIAL ACTIVE_HIGH) la = 17 (OUTPUT COMBINATORIAL ACTIVE_LOW) lb = 16 (OUTPUT COMBINATORIAL ACTIVE_LOW) q2 = 15 (OUTPUT REGISTERED ACTIVE_HIGH) q1 = 14 (OUTPUT REGISTERED ACTIVE_HIGH) q0 = 13 (OUTPUT REGISTERED ACTIVE_HIGH) pin12 = 12 (OUTPUT REGISTERED ACTIVE_HIGH) /oe = 11 (CONTROL) pte1 = 21 (OUTPUT) pte2 = 22 (OUTPUT); BEGIN ENABLE(pte1, pte2); /* set PT enable bits */ ENABLE(la, lb, aring, bring); /* enable combinatorial o/ps */ /* cross-coupled latch */ la = (aoff * boff * /q2 * q1 * q0) + lb; /* really defines /la */ lb = (/aoff * /boff) + la; /* really defines /lb */ q2 = (q2 % q1*q0) + (/aoff * /boff); q1 = (q1 % q0) + (/aoff * /boff); q0 = (q0 % 1) + (/aoff * /boff); aring = /lb * /q2 * /q0 * boff * /aoff; /* (/q2 * /q0) is cadence */ bring = /lb * /q2 * /q0 * aoff * /boff; END.