(***************************************************************************)
(*                                                                         *)
(*                         Copyright (C) 1987-1990                         *)
(*                      by Gogesch Micro Systems, INC.                     *)
(*                                                                         *)
(*                           All rights reserved.                          *)
(*                                                                         *)
(***************************************************************************)


%StartModel
%Manufacturer:SGS
%Type:16V8
%PartNumber:SGS'GAL16V8-15
%LastNode ? ?
%NumPins: 20
%FDF AND 0 P2 ~P2 N1 ~N1 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5 N4 ~N4 P6 ~P6
     N5 ~N5 P7 ~P7 N6 ~N6 P8 ~P8 N7 ~N7 P9 ~P9 N8 ~N8 *

%MACRO V8MAC(S0:%SF, XorFuse:%SF, FeedBack:%TEXT, LorOutput:%TEXT, InFuse:%FF,
             OutPin:%TEXT, TNode:%TEXT, EnableFuse:%SF, TLNode:%TEXT,
	     TSNode:%TEXT, NextPin:%TEXT, PrevPin:%TEXT);

 %CASE %SF2192,%SF2193,%S0
   2:
     LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
         %InFuse+192,%InFuse+224;LorOutput);
     %IF %XorFuse=0 %THEN
      LINV(LorOutput;TLNode);
      DQFFC(TLNode, P1, IPL; TNode; 10,10,12,0,10,10,1,1,1,1,12,12,12,0,10,10,1,1,1,1);
     %ELSE
      DQFFC(LorOutput, P1, IPL; TNode; 10,10,12,0,10,10,1,1,1,1,12,12,12,0,10,10,1,1,1,1);
     %END;
     TSB(TNode, L17; OutPin; 13,13,13,13,15,15,15,15);
     BUF(TNode; FeedBack; 0,0,0,0);
  |3:
     LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
         %InFuse+192,%InFuse+224;LorOutput);
     %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
      %IF %XorFuse = 0 %THEN
       INV(LorOutput; OutPin; 13,13,15,15);
      %ELSE
       BUF(LorOutput; OutPin; 13,13,15,15);
      %END;
     %ELSE
      %IF %XorFuse = 0 %THEN
       INV(LorOutput; TNode; 13,13,15,15);
      %ELSE
       BUF(LorOutput; TNode; 13,13,15,15);
      %END;
      TSB(TNode, %InFuse; OutPin; 13,13,13,13,15,15,15,15);
     %END;
     BUF(OutPin; FeedBack; 0,0,0,0);
  |4:
     LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
         %InFuse+192,%InFuse+224;LorOutput);
     %IF %XorFuse = 0 %THEN
      INV(LorOutput; OutPin; 13,13,15,15);
     %ELSE
      BUF(LorOutput; OutPin; 13,13,15,15);
     %END;
     BUF(ZERO; FeedBack; 0,0,0,0);
  |5:
     TSB(TSNode, ZERO; OutPin; 13,13,13,13,15,15,15,15);
     BUF(NextPin; FeedBack; 0,0,0,0);
  |7:
     LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
         %InFuse+192,%InFuse+224;LorOutput);
     %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
      %IF %XorFuse = 0 %THEN
       INV(LorOutput; OutPin; 13,13,15,15);
      %ELSE
       BUF(LorOutput; OutPin; 13,13,15,15);
      %END;
     %ELSE
      %IF %XorFuse = 0 %THEN
       INV(LorOutput; TNode; 13,13,15,15);
      %ELSE
       BUF(LorOutput; TNode; 13,13,15,15);
      %END;
      TSB(TNode, %InFuse; OutPin; 13,13,13,13,15,15,15,15);
     %END;
     BUF(PrevPin; FeedBack; 0,0,0,0);
 %END;
%MACEND;

LINV(P11;L17);

V8MAC(%SF2120, %SF2048, N1, L1, %FF00, P19, N9, %SF00, L9, N17, P1, P1);
V8MAC(%SF2121, %SF2049, N2, L2, %FF256, P18, N10, %SF256, L10, N18, P19, P18);
V8MAC(%SF2122, %SF2050, N3, L3, %FF512, P17, N11, %SF512, L11, N19, P18, P17);
V8MAC(%SF2123, %SF2051, N4, L4, %FF768, P16, N12, %SF768, L12, N20, P17, P16);
V8MAC(%SF2124, %SF2052, N5, L5, %FF1024, P15, N13, %SF1024, L13, N21, P14, P15);
V8MAC(%SF2125, %SF2053, N6, L6, %FF1280, P14, N14, %SF1280, L14, N22, P13, P14);
V8MAC(%SF2126, %SF2054, N7, L7, %FF1536, P13, N15, %SF1536, L15, N23, P12, P13);
V8MAC(%SF2127, %SF2055, N8, L8, %FF1792, P12, N16, %SF1792, L16, N24, P11, P11);
%EndModel

%StartModel
%Manufacturer:SGS
%Type:16V8
%PartNumber:SGS'GAL16V8-20
%LastNode ? ?
%NumPins: 20
%FDF AND 0 P2 ~P2 N1 ~N1 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5 N4 ~N4 P6 ~P6
     N5 ~N5 P7 ~P7 N6 ~N6 P8 ~P8 N7 ~N7 P9 ~P9 N8 ~N8 *

%MACRO V8MAC(S0:%SF, XorFuse:%SF, FeedBack:%TEXT, LorOutput:%TEXT, InFuse:%FF,
             OutPin:%TEXT, TNode:%TEXT, EnableFuse:%SF, TLNode:%TEXT,
	     TSNode:%TEXT, NextPin:%TEXT, PrevPin:%TEXT);

 %CASE %SF2192,%SF2193,%S0
   2:
     LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
         %InFuse+192,%InFuse+224;LorOutput);
     %IF %XorFuse=0 %THEN
      LINV(LorOutput;TLNode);
      DQFFC(TLNode, P1, IPL; TNode; 13,13,15,0,12,12,1,1,1,1,15,15,15,0,12,12,1,1,1,1);
     %ELSE
      DQFFC(LorOutput, P1, IPL; TNode; 13,13,15,0,12,12,1,1,1,1,15,15,15,0,12,12,1,1,1,1);
     %END;
     TSB(TNode, L17; OutPin; 16,16,16,16,18,18,18,18);
     BUF(TNode; FeedBack; 0,0,0,0);
  |3:
     LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
         %InFuse+192,%InFuse+224;LorOutput);
     %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
      %IF %XorFuse = 0 %THEN
       INV(LorOutput; OutPin; 18,18,20,20);
      %ELSE
       BUF(LorOutput; OutPin; 18,18,20,20);
      %END;
     %ELSE
      %IF %XorFuse = 0 %THEN
       INV(LorOutput; TNode; 18,18,20,20);
      %ELSE
       BUF(LorOutput; TNode; 18,18,20,20);
      %END;
      TSB(TNode, %InFuse; OutPin; 18,18,18,18,20,20,20,20);
     %END;
     BUF(OutPin; FeedBack; 0,0,0,0);
  |4:
     LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
         %InFuse+192,%InFuse+224;LorOutput);
     %IF %XorFuse = 0 %THEN
      INV(LorOutput; OutPin; 18,18,20,20);
     %ELSE
      BUF(LorOutput; OutPin; 18,18,20,20);
     %END;
     BUF(ZERO; FeedBack; 0,0,0,0);
  |5:
     TSB(TSNode, ZERO; OutPin; 16,16,16,16,18,18,18,18);
     BUF(NextPin; FeedBack; 0,0,0,0);
  |7:
     LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
         %InFuse+192,%InFuse+224;LorOutput);
     %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
      %IF %XorFuse = 0 %THEN
       INV(LorOutput; OutPin; 18,18,20,20);
      %ELSE
       BUF(LorOutput; OutPin; 18,18,20,20);
      %END;
     %ELSE
      %IF %XorFuse = 0 %THEN
       INV(LorOutput; TNode; 18,18,20,20);
      %ELSE
       BUF(LorOutput; TNode; 18,18,20,20);
      %END;
      TSB(TNode, %InFuse; OutPin; 18,18,18,18,20,20,20,20);
     %END;
     BUF(PrevPin; FeedBack; 0,0,0,0);
 %END;
%MACEND;

LINV(P11;L17);

V8MAC(%SF2120, %SF2048, N1, L1, %FF00, P19, N9, %SF00, L9, N17, P1, P1);
V8MAC(%SF2121, %SF2049, N2, L2, %FF256, P18, N10, %SF256, L10, N18, P19, P18);
V8MAC(%SF2122, %SF2050, N3, L3, %FF512, P17, N11, %SF512, L11, N19, P18, P17);
V8MAC(%SF2123, %SF2051, N4, L4, %FF768, P16, N12, %SF768, L12, N20, P17, P16);
V8MAC(%SF2124, %SF2052, N5, L5, %FF1024, P15, N13, %SF1024, L13, N21, P14, P15);
V8MAC(%SF2125, %SF2053, N6, L6, %FF1280, P14, N14, %SF1280, L14, N22, P13, P14);
V8MAC(%SF2126, %SF2054, N7, L7, %FF1536, P13, N15, %SF1536, L15, N23, P12, P13);
V8MAC(%SF2127, %SF2055, N8, L8, %FF1792, P12, N16, %SF1792, L16, N24, P11, P11);
%EndModel

%StartModel
%Manufacturer:SGS
%Type:16V8
%PartNumber:SGS'GAL16V8-25
%LastNode ? ?
%NumPins: 20
%FDF AND 0 P2 ~P2 N1 ~N1 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5 N4 ~N4 P6 ~P6
     N5 ~N5 P7 ~P7 N6 ~N6 P8 ~P8 N7 ~N7 P9 ~P9 N8 ~N8 *

%MACRO V8MAC(S0:%SF, XorFuse:%SF, FeedBack:%TEXT, LorOutput:%TEXT, InFuse:%FF,
             OutPin:%TEXT, TNode:%TEXT, EnableFuse:%SF, TLNode:%TEXT,
	     TSNode:%TEXT, NextPin:%TEXT, PrevPin:%TEXT);

 %CASE %SF2192,%SF2193,%S0
   2:
     LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
         %InFuse+192,%InFuse+224;LorOutput);
     %IF %XorFuse=0 %THEN
      LINV(LorOutput;TLNode);
      DQFFC(TLNode, P1, IPL; TNode; 13,13,20,0,15,15,1,1,1,1,15,15,20,0,15,15,1,1,1,1);
     %ELSE
      DQFFC(LorOutput, P1, IPL; TNode; 13,13,20,0,15,15,1,1,1,1,15,15,20,0,15,15,1,1,1,1);
     %END;
     TSB(TNode, L17; OutPin; 18,18,18,18,20,20,20,20);
     BUF(TNode; FeedBack; 0,0,0,0);
  |3:
     LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
         %InFuse+192,%InFuse+224;LorOutput);
     %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
      %IF %XorFuse = 0 %THEN
       INV(LorOutput; OutPin; 23,23,25,25);
      %ELSE
       BUF(LorOutput; OutPin; 23,23,25,25);
      %END;
     %ELSE
      %IF %XorFuse = 0 %THEN
       INV(LorOutput; TNode; 23,23,25,25);
      %ELSE
       BUF(LorOutput; TNode; 23,23,25,25);
      %END;
      TSB(TNode, %InFuse; OutPin; 23,23,23,23,25,25,25,25);
     %END;
     BUF(OutPin; FeedBack; 0,0,0,0);
  |4:
     LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
         %InFuse+192,%InFuse+224;LorOutput);
     %IF %XorFuse = 0 %THEN
      INV(LorOutput; OutPin; 23,23,25,25);
     %ELSE
      BUF(LorOutput; OutPin; 23,23,25,25);
     %END;
     BUF(ZERO; FeedBack; 0,0,0,0);
  |5:
     TSB(TSNode, ZERO; OutPin; 18,18,18,18,20,20,20,20);
     BUF(NextPin; FeedBack; 0,0,0,0);
  |7:
     LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
         %InFuse+192,%InFuse+224;LorOutput);
     %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
      %IF %XorFuse = 0 %THEN
       INV(LorOutput; OutPin; 23,23,25,25);
      %ELSE
       BUF(LorOutput; OutPin; 23,23,25,25);
      %END;
     %ELSE
      %IF %XorFuse = 0 %THEN
       INV(LorOutput; TNode; 23,23,25,25);
      %ELSE
       BUF(LorOutput; TNode; 23,23,25,25);
      %END;
      TSB(TNode, %InFuse; OutPin; 23,23,23,23,25,25,25,25);
     %END;
     BUF(PrevPin; FeedBack; 0,0,0,0);
 %END;
%MACEND;

LINV(P11;L17);

V8MAC(%SF2120, %SF2048, N1, L1, %FF00, P19, N9, %SF00, L9, N17, P1, P1);
V8MAC(%SF2121, %SF2049, N2, L2, %FF256, P18, N10, %SF256, L10, N18, P19, P18);
V8MAC(%SF2122, %SF2050, N3, L3, %FF512, P17, N11, %SF512, L11, N19, P18, P17);
V8MAC(%SF2123, %SF2051, N4, L4, %FF768, P16, N12, %SF768, L12, N20, P17, P16);
V8MAC(%SF2124, %SF2052, N5, L5, %FF1024, P15, N13, %SF1024, L13, N21, P14, P15);
V8MAC(%SF2125, %SF2053, N6, L6, %FF1280, P14, N14, %SF1280, L14, N22, P13, P14);
V8MAC(%SF2126, %SF2054, N7, L7, %FF1536, P13, N15, %SF1536, L15, N23, P12, P13);
V8MAC(%SF2127, %SF2055, N8, L8, %FF1792, P12, N16, %SF1792, L16, N24, P11, P11);
%EndModel

%StartModel
%Manufacturer:SGS
%Type:16V8
%PartNumber:SGS'GAL16V8-35
%LastNode ? ?
%NumPins: 20
%FDF AND 0 P2 ~P2 N1 ~N1 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5 N4 ~N4 P6 ~P6
     N5 ~N5 P7 ~P7 N6 ~N6 P8 ~P8 N7 ~N7 P9 ~P9 N8 ~N8 *

%MACRO V8MAC(S0:%SF, XorFuse:%SF, FeedBack:%TEXT, LorOutput:%TEXT, InFuse:%FF,
             OutPin:%TEXT, TNode:%TEXT, EnableFuse:%SF, TLNode:%TEXT,
	     TSNode:%TEXT, NextPin:%TEXT, PrevPin:%TEXT);

 %CASE %SF2192,%SF2193,%S0
   2:
     LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
         %InFuse+192,%InFuse+224;LorOutput);
     %IF %XorFuse=0 %THEN
      LINV(LorOutput;TLNode);
      DQFFC(TLNode, P1, IPL; TNode; 23,23,30,0,20,20,1,1,1,1,25,25,30,0,20,20,1,1,1,1);
     %ELSE
      DQFFC(LorOutput, P1, IPL; TNode; 23,23,30,0,20,20,1,1,1,1,25,25,30,0,20,20,1,1,1,1);
     %END;
     TSB(TNode, L17; OutPin; 23,23,23,23,25,25,25,25);
     BUF(TNode; FeedBack; 0,0,0,0);
  |3:
     LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
         %InFuse+192,%InFuse+224;LorOutput);
     %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
      %IF %XorFuse = 0 %THEN
       INV(LorOutput; OutPin; 33,33,35,35);
      %ELSE
       BUF(LorOutput; OutPin; 33,33,35,35);
      %END;
     %ELSE
      %IF %XorFuse = 0 %THEN
       INV(LorOutput; TNode; 33,33,35,35);
      %ELSE
       BUF(LorOutput; TNode; 33,33,35,35);
      %END;
      TSB(TNode, %InFuse; OutPin; 33,33,33,33,35,35,35,35);
     %END;
     BUF(OutPin; FeedBack; 0,0,0,0);
  |4:
     LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
         %InFuse+192,%InFuse+224;LorOutput);
     %IF %XorFuse = 0 %THEN
      INV(LorOutput; OutPin; 33,33,35,35);
     %ELSE
      BUF(LorOutput; OutPin; 33,33,35,35);
     %END;
     BUF(ZERO; FeedBack; 0,0,0,0);
  |5:
     TSB(TSNode, ZERO; OutPin; 23,23,23,23,25,25,25,25);
     BUF(NextPin; FeedBack; 0,0,0,0);
  |7:
     LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
         %InFuse+192,%InFuse+224;LorOutput);
     %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
      %IF %XorFuse = 0 %THEN
       INV(LorOutput; OutPin; 33,33,35,35);
      %ELSE
       BUF(LorOutput; OutPin; 33,33,35,35);
      %END;
     %ELSE
      %IF %XorFuse = 0 %THEN
       INV(LorOutput; TNode; 33,33,35,35);
      %ELSE
       BUF(LorOutput; TNode; 33,33,35,35);
      %END;
      TSB(TNode, %InFuse; OutPin; 33,33,33,33,35,35,35,35);
     %END;
     BUF(PrevPin; FeedBack; 0,0,0,0);
 %END;
%MACEND;

LINV(P11;L17);

V8MAC(%SF2120, %SF2048, N1, L1, %FF00, P19, N9, %SF00, L9, N17, P1, P1);
V8MAC(%SF2121, %SF2049, N2, L2, %FF256, P18, N10, %SF256, L10, N18, P19, P18);
V8MAC(%SF2122, %SF2050, N3, L3, %FF512, P17, N11, %SF512, L11, N19, P18, P17);
V8MAC(%SF2123, %SF2051, N4, L4, %FF768, P16, N12, %SF768, L12, N20, P17, P16);
V8MAC(%SF2124, %SF2052, N5, L5, %FF1024, P15, N13, %SF1024, L13, N21, P14, P15);
V8MAC(%SF2125, %SF2053, N6, L6, %FF1280, P14, N14, %SF1280, L14, N22, P13, P14);
V8MAC(%SF2126, %SF2054, N7, L7, %FF1536, P13, N15, %SF1536, L15, N23, P12, P13);
V8MAC(%SF2127, %SF2055, N8, L8, %FF1792, P12, N16, %SF1792, L16, N24, P11, P11);
%EndModel

%StartModel
%Manufacturer:SGS
%Type:20V8
%PartNumber:SGS'GAL20V8-15
%LastNode ? ?
%NumPins: 24
%FDF AND 0 P2 ~P2 N1 ~N1 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5 N4 ~N4 P6 ~P6
     N5 ~N5 P7 ~P7 N6 ~N6 P8 ~P8 N7 ~N7 P9 ~P9 N8 ~N8 P10 ~P10 N9 ~N9
     P11 ~P11 N10 ~N10 *

%MACRO FEEDBACK(N1FeedBack: %TEXT, N10FeedBack: %TEXT);
 %IF %SF2704 = 1 %THEN
  BUF(P1; N1FeedBack; 0,0,0,0);
  BUF(P13; N10FeedBack; 0,0,0,0);
 %ELSE
  BUF(P23; N1FeedBack; 0,0,0,0);
  BUF(P14; N10FeedBack; 0,0,0,0);
 %END;
%MACEND;

%MACRO V8MAC(S0:%SF, XorFuse:%SF, FeedBack:%TEXT, LorOutput:%TEXT, InFuse:%FF,
             OutPin:%TEXT, TNode:%TEXT, EnableFuse:%SF, TLNode:%TEXT,
	     TSNode:%TEXT, NextPin:%TEXT, PrevPin:%TEXT);
 %CASE %SF2704,%SF2705,%S0
   2:
     LOR(%InFuse,%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,
         %InFuse+240,%InFuse+280;LorOutput);
     %IF %XorFuse=0 %THEN
      LINV(LorOutput;TLNode);
      DQFFC(TLNode, P1, IPL; TNode; 10,10,12,0,10,10,1,1,1,1,12,12,12,0,10,10,1,1,1,1);
     %ELSE
      DQFFC(LorOutput, P1, IPL; TNode; 10,10,12,0,10,10,1,1,1,1,12,12,12,0,10,10,1,1,1,1);
     %END;
     TSB(TNode, L17; OutPin; 13,13,13,13,15,15,15,15);
     BUF(TNode; FeedBack; 0,0,0,0);
  |3:
     LOR(%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,%InFuse+240,
         %InFuse+280;LorOutput);
     %IF %EnableFuse..%EnableFuse+39 = 1 %THEN
      %IF %XorFuse = 0 %THEN
       INV(LorOutput; OutPin; 13,13,15,15);
      %ELSE
       BUF(LorOutput; OutPin; 13,13,15,15);
      %END;
     %ELSE
      %IF %XorFuse = 0 %THEN
       INV(LorOutput; TNode; 13,13,15,15);
      %ELSE
       BUF(LorOutput; TNode; 13,13,15,15);
      %END;
      TSB(TNode, %InFuse; OutPin; 13,13,13,13,15,15,15,15);
     %END;
     BUF(OutPin; FeedBack; 0,0,0,0);
  |4:
     LOR(%InFuse,%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,
         %InFuse+240,%InFuse+280;LorOutput);
     %IF %XorFuse = 0 %THEN
      INV(LorOutput; OutPin; 13,13,15,15);
     %ELSE
      BUF(LorOutput; OutPin; 13,13,15,15);
     %END;
     BUF(ZERO; FeedBack; 0,0,0,0);
  |5:
     TSB(TSNode, ZERO; OutPin; 13,13,13,13,15,15,15,15);
     BUF(NextPin; FeedBack; 0,0,0,0);
  |7:
   LOR(%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,%InFuse+240,
       %InFuse+280;LorOutput);
     %IF %EnableFuse..%EnableFuse+39 = 1 %THEN
      %IF %XorFuse = 0 %THEN
       INV(LorOutput; OutPin; 13,13,15,15);
      %ELSE
       BUF(LorOutput; OutPin; 13,13,15,15);
      %END;
     %ELSE
      %IF %XorFuse = 0 %THEN
       INV(LorOutput; TNode; 13,13,15,15);
      %ELSE
       BUF(LorOutput; TNode; 13,13,15,15);
      %END;
      TSB(TNode, %InFuse; OutPin; 13,13,13,13,15,15,15,15);
     %END;
     BUF(PrevPin; FeedBack; 0,0,0,0);
 %END;
%MACEND;

FEEDBACK(N1, N10);

LINV(P13;L17);

V8MAC(%SF2632, %SF2560, N2, L1, %FF00, P22, N11, %SF00, L9, N17, P23, P23);
V8MAC(%SF2633, %SF2561, N3, L2, %FF320, P21, N12, %SF320, L10, N18, P22, P21);
V8MAC(%SF2634, %SF2562, N4, L3, %FF640, P20, N13, %SF640, L11, N19, P21, P20);
V8MAC(%SF2635, %SF2563, N5, L4, %FF960, P19, N14, %SF960, L12, N20, P20, P19);
V8MAC(%SF2636, %SF2564, N6, L5, %FF1280, P18, N15, %SF1280, L13, N21, P17, P18);
V8MAC(%SF2637, %SF2565, N7, L6, %FF1600, P17, N16, %SF1600, L14, N22, P16, P17);
V8MAC(%SF2638, %SF2566, N8, L7, %FF1920, P16, N17, %SF1920, L15, N23, P15, P16);
V8MAC(%SF2639, %SF2567, N9, L8, %FF2240, P15, N18, %SF2240, L16, N24, P14, P14);
%EndModel

%StartModel
%Manufacturer:SGS
%Type:20V8
%PartNumber:SGS'GAL20V8-20
%LastNode ? ?
%NumPins: 24
%FDF AND 0 P2 ~P2 N1 ~N1 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5 N4 ~N4 P6 ~P6
     N5 ~N5 P7 ~P7 N6 ~N6 P8 ~P8 N7 ~N7 P9 ~P9 N8 ~N8 P10 ~P10 N9 ~N9
     P11 ~P11 N10 ~N10 *

%MACRO FEEDBACK(N1FeedBack: %TEXT, N10FeedBack: %TEXT);
 %IF %SF2704 = 1 %THEN
  BUF(P1; N1FeedBack; 0,0,0,0);
  BUF(P13; N10FeedBack; 0,0,0,0);
 %ELSE
  BUF(P23; N1FeedBack; 0,0,0,0);
  BUF(P14; N10FeedBack; 0,0,0,0);
 %END;
%MACEND;

%MACRO V8MAC(S0:%SF, XorFuse:%SF, FeedBack:%TEXT, LorOutput:%TEXT, InFuse:%FF,
             OutPin:%TEXT, TNode:%TEXT, EnableFuse:%SF, TLNode:%TEXT,
	     TSNode:%TEXT, NextPin:%TEXT, PrevPin:%TEXT);
 %CASE %SF2704,%SF2705,%S0
   2:
     LOR(%InFuse,%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,
         %InFuse+240,%InFuse+280;LorOutput);
     %IF %XorFuse=0 %THEN
      LINV(LorOutput;TLNode);
      DQFFC(TLNode, P1, IPL; TNode; 13,13,15,0,12,12,1,1,1,1,15,15,15,0,12,12,1,1,1,1);
     %ELSE
      DQFFC(LorOutput, P1, IPL; TNode; 13,13,15,0,12,12,1,1,1,1,15,15,15,0,12,12,1,1,1,1);
     %END;
     TSB(TNode, L17; OutPin; 16,16,16,16,18,18,18,18);
     BUF(TNode; FeedBack; 0,0,0,0);
  |3:
     LOR(%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,%InFuse+240,
         %InFuse+280;LorOutput);
     %IF %EnableFuse..%EnableFuse+39 = 1 %THEN
      %IF %XorFuse = 0 %THEN
       INV(LorOutput; OutPin; 18,18,20,20);
      %ELSE
       BUF(LorOutput; OutPin; 18,18,20,20);
      %END;
     %ELSE
      %IF %XorFuse = 0 %THEN
       INV(LorOutput; TNode; 18,18,20,20);
      %ELSE
       BUF(LorOutput; TNode; 18,18,20,20);
      %END;
      TSB(TNode, %InFuse; OutPin; 18,18,18,18,20,20,20,20);
     %END;
     BUF(OutPin; FeedBack; 0,0,0,0);
  |4:
     LOR(%InFuse,%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,
         %InFuse+240,%InFuse+280;LorOutput);
     %IF %XorFuse = 0 %THEN
      INV(LorOutput; OutPin; 18,18,20,20);
     %ELSE
      BUF(LorOutput; OutPin; 18,18,20,20);
     %END;
     BUF(ZERO; FeedBack; 0,0,0,0);
  |5:
     TSB(TSNode, ZERO; OutPin; 16,16,16,16,18,18,18,18);
     BUF(NextPin; FeedBack; 0,0,0,0);
  |7:
   LOR(%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,%InFuse+240,
       %InFuse+280;LorOutput);
     %IF %EnableFuse..%EnableFuse+39 = 1 %THEN
      %IF %XorFuse = 0 %THEN
       INV(LorOutput; OutPin; 18,18,20,20);
      %ELSE
       BUF(LorOutput; OutPin; 18,18,20,20);
      %END;
     %ELSE
      %IF %XorFuse = 0 %THEN
       INV(LorOutput; TNode; 18,18,20,20);
      %ELSE
       BUF(LorOutput; TNode; 18,18,20,20);
      %END;
      TSB(TNode, %InFuse; OutPin; 18,18,18,18,20,20,20,20);
     %END;
     BUF(PrevPin; FeedBack; 0,0,0,0);
 %END;
%MACEND;

FEEDBACK(N1, N10);

LINV(P13;L17);

V8MAC(%SF2632, %SF2560, N2, L1, %FF00, P22, N11, %SF00, L9, N17, P23, P23);
V8MAC(%SF2633, %SF2561, N3, L2, %FF320, P21, N12, %SF320, L10, N18, P22, P21);
V8MAC(%SF2634, %SF2562, N4, L3, %FF640, P20, N13, %SF640, L11, N19, P21, P20);
V8MAC(%SF2635, %SF2563, N5, L4, %FF960, P19, N14, %SF960, L12, N20, P20, P19);
V8MAC(%SF2636, %SF2564, N6, L5, %FF1280, P18, N15, %SF1280, L13, N21, P17, P18);
V8MAC(%SF2637, %SF2565, N7, L6, %FF1600, P17, N16, %SF1600, L14, N22, P16, P17);
V8MAC(%SF2638, %SF2566, N8, L7, %FF1920, P16, N17, %SF1920, L15, N23, P15, P16);
V8MAC(%SF2639, %SF2567, N9, L8, %FF2240, P15, N18, %SF2240, L16, N24, P14, P14);
%EndModel

%StartModel
%Manufacturer:SGS
%Type:20V8
%PartNumber:SGS'GAL20V8-25
%LastNode ? ?
%NumPins: 24
%FDF AND 0 P2 ~P2 N1 ~N1 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5 N4 ~N4 P6 ~P6
     N5 ~N5 P7 ~P7 N6 ~N6 P8 ~P8 N7 ~N7 P9 ~P9 N8 ~N8 P10 ~P10 N9 ~N9
     P11 ~P11 N10 ~N10 *

%MACRO FEEDBACK(N1FeedBack: %TEXT, N10FeedBack: %TEXT);
 %IF %SF2704 = 1 %THEN
  BUF(P1; N1FeedBack; 0,0,0,0);
  BUF(P13; N10FeedBack; 0,0,0,0);
 %ELSE
  BUF(P23; N1FeedBack; 0,0,0,0);
  BUF(P14; N10FeedBack; 0,0,0,0);
 %END;
%MACEND;

%MACRO V8MAC(S0:%SF, XorFuse:%SF, FeedBack:%TEXT, LorOutput:%TEXT, InFuse:%FF,
             OutPin:%TEXT, TNode:%TEXT, EnableFuse:%SF, TLNode:%TEXT,
	     TSNode:%TEXT, NextPin:%TEXT, PrevPin:%TEXT);
 %CASE %SF2704,%SF2705,%S0
   2:
     LOR(%InFuse,%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,
         %InFuse+240,%InFuse+280;LorOutput);
     %IF %XorFuse=0 %THEN
      LINV(LorOutput;TLNode);
      DQFFC(TLNode, P1, IPL; TNode; 13,13,20,0,15,15,1,1,1,1,15,15,20,0,15,15,1,1,1,1);
     %ELSE
      DQFFC(LorOutput, P1, IPL; TNode; 13,13,20,0,15,15,1,1,1,1,15,15,20,0,15,15,1,1,1,1);
     %END;
     TSB(TNode, L17; OutPin; 18,18,18,18,20,20,20,20);
     BUF(TNode; FeedBack; 0,0,0,0);
  |3:
     LOR(%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,%InFuse+240,
         %InFuse+280;LorOutput);
     %IF %EnableFuse..%EnableFuse+39 = 1 %THEN
      %IF %XorFuse = 0 %THEN
       INV(LorOutput; OutPin; 23,23,25,25);
      %ELSE
       BUF(LorOutput; OutPin; 23,23,25,25);
      %END;
     %ELSE
      %IF %XorFuse = 0 %THEN
       INV(LorOutput; TNode; 23,23,25,25);
      %ELSE
       BUF(LorOutput; TNode; 23,23,25,25);
      %END;
      TSB(TNode, %InFuse; OutPin; 23,23,23,23,25,25,25,25);
     %END;
     BUF(OutPin; FeedBack; 0,0,0,0);
  |4:
     LOR(%InFuse,%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,
         %InFuse+240,%InFuse+280;LorOutput);
     %IF %XorFuse = 0 %THEN
      INV(LorOutput; OutPin; 23,23,25,25);
     %ELSE
      BUF(LorOutput; OutPin; 23,23,25,25);
     %END;
     BUF(ZERO; FeedBack; 0,0,0,0);
  |5:
     TSB(TSNode, ZERO; OutPin; 18,18,18,18,20,20,20,20);
     BUF(NextPin; FeedBack; 0,0,0,0);
  |7:
   LOR(%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,%InFuse+240,
       %InFuse+280;LorOutput);
     %IF %EnableFuse..%EnableFuse+39 = 1 %THEN
      %IF %XorFuse = 0 %THEN
       INV(LorOutput; OutPin; 23,23,25,25);
      %ELSE
       BUF(LorOutput; OutPin; 23,23,25,25);
      %END;
     %ELSE
      %IF %XorFuse = 0 %THEN
       INV(LorOutput; TNode; 23,23,25,25);
      %ELSE
       BUF(LorOutput; TNode; 23,23,25,25);
      %END;
      TSB(TNode, %InFuse; OutPin; 23,23,23,23,25,25,25,25);
     %END;
     BUF(PrevPin; FeedBack; 0,0,0,0);
 %END;
%MACEND;

FEEDBACK(N1, N10);

LINV(P13;L17);

V8MAC(%SF2632, %SF2560, N2, L1, %FF00, P22, N11, %SF00, L9, N17, P23, P23);
V8MAC(%SF2633, %SF2561, N3, L2, %FF320, P21, N12, %SF320, L10, N18, P22, P21);
V8MAC(%SF2634, %SF2562, N4, L3, %FF640, P20, N13, %SF640, L11, N19, P21, P20);
V8MAC(%SF2635, %SF2563, N5, L4, %FF960, P19, N14, %SF960, L12, N20, P20, P19);
V8MAC(%SF2636, %SF2564, N6, L5, %FF1280, P18, N15, %SF1280, L13, N21, P17, P18);
V8MAC(%SF2637, %SF2565, N7, L6, %FF1600, P17, N16, %SF1600, L14, N22, P16, P17);
V8MAC(%SF2638, %SF2566, N8, L7, %FF1920, P16, N17, %SF1920, L15, N23, P15, P16);
V8MAC(%SF2639, %SF2567, N9, L8, %FF2240, P15, N18, %SF2240, L16, N24, P14, P14);
%EndModel

%StartModel
%Manufacturer:SGS
%Type:20V8
%PartNumber:SGS'GAL20V8-35
%LastNode ? ?
%NumPins: 24
%FDF AND 0 P2 ~P2 N1 ~N1 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5 N4 ~N4 P6 ~P6
     N5 ~N5 P7 ~P7 N6 ~N6 P8 ~P8 N7 ~N7 P9 ~P9 N8 ~N8 P10 ~P10 N9 ~N9
     P11 ~P11 N10 ~N10 *

%MACRO FEEDBACK(N1FeedBack: %TEXT, N10FeedBack: %TEXT);
 %IF %SF2704 = 1 %THEN
  BUF(P1; N1FeedBack; 0,0,0,0);
  BUF(P13; N10FeedBack; 0,0,0,0);
 %ELSE
  BUF(P23; N1FeedBack; 0,0,0,0);
  BUF(P14; N10FeedBack; 0,0,0,0);
 %END;
%MACEND;

%MACRO V8MAC(S0:%SF, XorFuse:%SF, FeedBack:%TEXT, LorOutput:%TEXT, InFuse:%FF,
             OutPin:%TEXT, TNode:%TEXT, EnableFuse:%SF, TLNode:%TEXT,
	     TSNode:%TEXT, NextPin:%TEXT, PrevPin:%TEXT);
 %CASE %SF2704,%SF2705,%S0
   2:
     LOR(%InFuse,%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,
         %InFuse+240,%InFuse+280;LorOutput);
     %IF %XorFuse=0 %THEN
      LINV(LorOutput;TLNode);
      DQFFC(TLNode, P1, IPL; TNode; 23,23,30,0,20,20,1,1,1,1,25,25,30,0,20,20,1,1,1,1);
     %ELSE
      DQFFC(LorOutput, P1, IPL; TNode; 23,23,30,0,20,20,1,1,1,1,25,25,30,0,20,20,1,1,1,1);
     %END;
     TSB(TNode, L17; OutPin; 23,23,23,23,25,25,25,25);
     BUF(TNode; FeedBack; 0,0,0,0);
  |3:
     LOR(%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,%InFuse+240,
         %InFuse+280;LorOutput);
     %IF %EnableFuse..%EnableFuse+39 = 1 %THEN
      %IF %XorFuse = 0 %THEN
       INV(LorOutput; OutPin; 33,33,35,35);
      %ELSE
       BUF(LorOutput; OutPin; 33,33,35,35);
      %END;
     %ELSE
      %IF %XorFuse = 0 %THEN
       INV(LorOutput; TNode; 33,33,35,35);
      %ELSE
       BUF(LorOutput; TNode; 33,33,35,35);
      %END;
      TSB(TNode, %InFuse; OutPin; 33,33,33,33,35,35,35,35);
     %END;
     BUF(OutPin; FeedBack; 0,0,0,0);
  |4:
     LOR(%InFuse,%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,
         %InFuse+240,%InFuse+280;LorOutput);
     %IF %XorFuse = 0 %THEN
      INV(LorOutput; OutPin; 33,33,35,35);
     %ELSE
      BUF(LorOutput; OutPin; 33,33,35,35);
     %END;
     BUF(ZERO; FeedBack; 0,0,0,0);
  |5:
     TSB(TSNode, ZERO; OutPin; 23,23,23,23,25,25,25,25);
     BUF(NextPin; FeedBack; 0,0,0,0);
  |7:
   LOR(%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,%InFuse+240,
       %InFuse+280;LorOutput);
     %IF %EnableFuse..%EnableFuse+39 = 1 %THEN
      %IF %XorFuse = 0 %THEN
       INV(LorOutput; OutPin; 33,33,35,35);
      %ELSE
       BUF(LorOutput; OutPin; 33,33,35,35);
      %END;
     %ELSE
      %IF %XorFuse = 0 %THEN
       INV(LorOutput; TNode; 33,33,35,35);
      %ELSE
       BUF(LorOutput; TNode; 33,33,35,35);
      %END;
      TSB(TNode, %InFuse; OutPin; 33,33,33,33,35,35,35,35);
     %END;
     BUF(PrevPin; FeedBack; 0,0,0,0);
 %END;
%MACEND;

FEEDBACK(N1, N10);

LINV(P13;L17);

V8MAC(%SF2632, %SF2560, N2, L1, %FF00, P22, N11, %SF00, L9, N17, P23, P23);
V8MAC(%SF2633, %SF2561, N3, L2, %FF320, P21, N12, %SF320, L10, N18, P22, P21);
V8MAC(%SF2634, %SF2562, N4, L3, %FF640, P20, N13, %SF640, L11, N19, P21, P20);
V8MAC(%SF2635, %SF2563, N5, L4, %FF960, P19, N14, %SF960, L12, N20, P20, P19);
V8MAC(%SF2636, %SF2564, N6, L5, %FF1280, P18, N15, %SF1280, L13, N21, P17, P18);
V8MAC(%SF2637, %SF2565, N7, L6, %FF1600, P17, N16, %SF1600, L14, N22, P16, P17);
V8MAC(%SF2638, %SF2566, N8, L7, %FF1920, P16, N17, %SF1920, L15, N23, P15, P16);
V8MAC(%SF2639, %SF2567, N9, L8, %FF2240, P15, N18, %SF2240, L16, N24, P14, P14);
%EndModel
