home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 13 / 13.iso / p / p070 / 9.ddi / MLIB.PLB / SGS.DEF < prev    next >
Encoding:
Text File  |  1990-12-10  |  27.0 KB  |  762 lines

  1. (***************************************************************************)
  2. (*                                                                         *)
  3. (*                         Copyright (C) 1987-1990                         *)
  4. (*                      by Gogesch Micro Systems, INC.                     *)
  5. (*                                                                         *)
  6. (*                           All rights reserved.                          *)
  7. (*                                                                         *)
  8. (***************************************************************************)
  9.  
  10.  
  11. %StartModel
  12. %Manufacturer:SGS
  13. %Type:16V8
  14. %PartNumber:SGS'GAL16V8-15
  15. %LastNode ? ?
  16. %NumPins: 20
  17. %FDF AND 0 P2 ~P2 N1 ~N1 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5 N4 ~N4 P6 ~P6
  18.      N5 ~N5 P7 ~P7 N6 ~N6 P8 ~P8 N7 ~N7 P9 ~P9 N8 ~N8 *
  19.  
  20. %MACRO V8MAC(S0:%SF, XorFuse:%SF, FeedBack:%TEXT, LorOutput:%TEXT, InFuse:%FF,
  21.              OutPin:%TEXT, TNode:%TEXT, EnableFuse:%SF, TLNode:%TEXT,
  22.          TSNode:%TEXT, NextPin:%TEXT, PrevPin:%TEXT);
  23.  
  24.  %CASE %SF2192,%SF2193,%S0
  25.    2:
  26.      LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  27.          %InFuse+192,%InFuse+224;LorOutput);
  28.      %IF %XorFuse=0 %THEN
  29.       LINV(LorOutput;TLNode);
  30.       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);
  31.      %ELSE
  32.       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);
  33.      %END;
  34.      TSB(TNode, L17; OutPin; 13,13,13,13,15,15,15,15);
  35.      BUF(TNode; FeedBack; 0,0,0,0);
  36.   |3:
  37.      LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  38.          %InFuse+192,%InFuse+224;LorOutput);
  39.      %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
  40.       %IF %XorFuse = 0 %THEN
  41.        INV(LorOutput; OutPin; 13,13,15,15);
  42.       %ELSE
  43.        BUF(LorOutput; OutPin; 13,13,15,15);
  44.       %END;
  45.      %ELSE
  46.       %IF %XorFuse = 0 %THEN
  47.        INV(LorOutput; TNode; 13,13,15,15);
  48.       %ELSE
  49.        BUF(LorOutput; TNode; 13,13,15,15);
  50.       %END;
  51.       TSB(TNode, %InFuse; OutPin; 13,13,13,13,15,15,15,15);
  52.      %END;
  53.      BUF(OutPin; FeedBack; 0,0,0,0);
  54.   |4:
  55.      LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  56.          %InFuse+192,%InFuse+224;LorOutput);
  57.      %IF %XorFuse = 0 %THEN
  58.       INV(LorOutput; OutPin; 13,13,15,15);
  59.      %ELSE
  60.       BUF(LorOutput; OutPin; 13,13,15,15);
  61.      %END;
  62.      BUF(ZERO; FeedBack; 0,0,0,0);
  63.   |5:
  64.      TSB(TSNode, ZERO; OutPin; 13,13,13,13,15,15,15,15);
  65.      BUF(NextPin; FeedBack; 0,0,0,0);
  66.   |7:
  67.      LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  68.          %InFuse+192,%InFuse+224;LorOutput);
  69.      %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
  70.       %IF %XorFuse = 0 %THEN
  71.        INV(LorOutput; OutPin; 13,13,15,15);
  72.       %ELSE
  73.        BUF(LorOutput; OutPin; 13,13,15,15);
  74.       %END;
  75.      %ELSE
  76.       %IF %XorFuse = 0 %THEN
  77.        INV(LorOutput; TNode; 13,13,15,15);
  78.       %ELSE
  79.        BUF(LorOutput; TNode; 13,13,15,15);
  80.       %END;
  81.       TSB(TNode, %InFuse; OutPin; 13,13,13,13,15,15,15,15);
  82.      %END;
  83.      BUF(PrevPin; FeedBack; 0,0,0,0);
  84.  %END;
  85. %MACEND;
  86.  
  87. LINV(P11;L17);
  88.  
  89. V8MAC(%SF2120, %SF2048, N1, L1, %FF00, P19, N9, %SF00, L9, N17, P1, P1);
  90. V8MAC(%SF2121, %SF2049, N2, L2, %FF256, P18, N10, %SF256, L10, N18, P19, P18);
  91. V8MAC(%SF2122, %SF2050, N3, L3, %FF512, P17, N11, %SF512, L11, N19, P18, P17);
  92. V8MAC(%SF2123, %SF2051, N4, L4, %FF768, P16, N12, %SF768, L12, N20, P17, P16);
  93. V8MAC(%SF2124, %SF2052, N5, L5, %FF1024, P15, N13, %SF1024, L13, N21, P14, P15);
  94. V8MAC(%SF2125, %SF2053, N6, L6, %FF1280, P14, N14, %SF1280, L14, N22, P13, P14);
  95. V8MAC(%SF2126, %SF2054, N7, L7, %FF1536, P13, N15, %SF1536, L15, N23, P12, P13);
  96. V8MAC(%SF2127, %SF2055, N8, L8, %FF1792, P12, N16, %SF1792, L16, N24, P11, P11);
  97. %EndModel
  98.  
  99. %StartModel
  100. %Manufacturer:SGS
  101. %Type:16V8
  102. %PartNumber:SGS'GAL16V8-20
  103. %LastNode ? ?
  104. %NumPins: 20
  105. %FDF AND 0 P2 ~P2 N1 ~N1 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5 N4 ~N4 P6 ~P6
  106.      N5 ~N5 P7 ~P7 N6 ~N6 P8 ~P8 N7 ~N7 P9 ~P9 N8 ~N8 *
  107.  
  108. %MACRO V8MAC(S0:%SF, XorFuse:%SF, FeedBack:%TEXT, LorOutput:%TEXT, InFuse:%FF,
  109.              OutPin:%TEXT, TNode:%TEXT, EnableFuse:%SF, TLNode:%TEXT,
  110.          TSNode:%TEXT, NextPin:%TEXT, PrevPin:%TEXT);
  111.  
  112.  %CASE %SF2192,%SF2193,%S0
  113.    2:
  114.      LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  115.          %InFuse+192,%InFuse+224;LorOutput);
  116.      %IF %XorFuse=0 %THEN
  117.       LINV(LorOutput;TLNode);
  118.       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);
  119.      %ELSE
  120.       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);
  121.      %END;
  122.      TSB(TNode, L17; OutPin; 16,16,16,16,18,18,18,18);
  123.      BUF(TNode; FeedBack; 0,0,0,0);
  124.   |3:
  125.      LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  126.          %InFuse+192,%InFuse+224;LorOutput);
  127.      %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
  128.       %IF %XorFuse = 0 %THEN
  129.        INV(LorOutput; OutPin; 18,18,20,20);
  130.       %ELSE
  131.        BUF(LorOutput; OutPin; 18,18,20,20);
  132.       %END;
  133.      %ELSE
  134.       %IF %XorFuse = 0 %THEN
  135.        INV(LorOutput; TNode; 18,18,20,20);
  136.       %ELSE
  137.        BUF(LorOutput; TNode; 18,18,20,20);
  138.       %END;
  139.       TSB(TNode, %InFuse; OutPin; 18,18,18,18,20,20,20,20);
  140.      %END;
  141.      BUF(OutPin; FeedBack; 0,0,0,0);
  142.   |4:
  143.      LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  144.          %InFuse+192,%InFuse+224;LorOutput);
  145.      %IF %XorFuse = 0 %THEN
  146.       INV(LorOutput; OutPin; 18,18,20,20);
  147.      %ELSE
  148.       BUF(LorOutput; OutPin; 18,18,20,20);
  149.      %END;
  150.      BUF(ZERO; FeedBack; 0,0,0,0);
  151.   |5:
  152.      TSB(TSNode, ZERO; OutPin; 16,16,16,16,18,18,18,18);
  153.      BUF(NextPin; FeedBack; 0,0,0,0);
  154.   |7:
  155.      LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  156.          %InFuse+192,%InFuse+224;LorOutput);
  157.      %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
  158.       %IF %XorFuse = 0 %THEN
  159.        INV(LorOutput; OutPin; 18,18,20,20);
  160.       %ELSE
  161.        BUF(LorOutput; OutPin; 18,18,20,20);
  162.       %END;
  163.      %ELSE
  164.       %IF %XorFuse = 0 %THEN
  165.        INV(LorOutput; TNode; 18,18,20,20);
  166.       %ELSE
  167.        BUF(LorOutput; TNode; 18,18,20,20);
  168.       %END;
  169.       TSB(TNode, %InFuse; OutPin; 18,18,18,18,20,20,20,20);
  170.      %END;
  171.      BUF(PrevPin; FeedBack; 0,0,0,0);
  172.  %END;
  173. %MACEND;
  174.  
  175. LINV(P11;L17);
  176.  
  177. V8MAC(%SF2120, %SF2048, N1, L1, %FF00, P19, N9, %SF00, L9, N17, P1, P1);
  178. V8MAC(%SF2121, %SF2049, N2, L2, %FF256, P18, N10, %SF256, L10, N18, P19, P18);
  179. V8MAC(%SF2122, %SF2050, N3, L3, %FF512, P17, N11, %SF512, L11, N19, P18, P17);
  180. V8MAC(%SF2123, %SF2051, N4, L4, %FF768, P16, N12, %SF768, L12, N20, P17, P16);
  181. V8MAC(%SF2124, %SF2052, N5, L5, %FF1024, P15, N13, %SF1024, L13, N21, P14, P15);
  182. V8MAC(%SF2125, %SF2053, N6, L6, %FF1280, P14, N14, %SF1280, L14, N22, P13, P14);
  183. V8MAC(%SF2126, %SF2054, N7, L7, %FF1536, P13, N15, %SF1536, L15, N23, P12, P13);
  184. V8MAC(%SF2127, %SF2055, N8, L8, %FF1792, P12, N16, %SF1792, L16, N24, P11, P11);
  185. %EndModel
  186.  
  187. %StartModel
  188. %Manufacturer:SGS
  189. %Type:16V8
  190. %PartNumber:SGS'GAL16V8-25
  191. %LastNode ? ?
  192. %NumPins: 20
  193. %FDF AND 0 P2 ~P2 N1 ~N1 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5 N4 ~N4 P6 ~P6
  194.      N5 ~N5 P7 ~P7 N6 ~N6 P8 ~P8 N7 ~N7 P9 ~P9 N8 ~N8 *
  195.  
  196. %MACRO V8MAC(S0:%SF, XorFuse:%SF, FeedBack:%TEXT, LorOutput:%TEXT, InFuse:%FF,
  197.              OutPin:%TEXT, TNode:%TEXT, EnableFuse:%SF, TLNode:%TEXT,
  198.          TSNode:%TEXT, NextPin:%TEXT, PrevPin:%TEXT);
  199.  
  200.  %CASE %SF2192,%SF2193,%S0
  201.    2:
  202.      LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  203.          %InFuse+192,%InFuse+224;LorOutput);
  204.      %IF %XorFuse=0 %THEN
  205.       LINV(LorOutput;TLNode);
  206.       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);
  207.      %ELSE
  208.       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);
  209.      %END;
  210.      TSB(TNode, L17; OutPin; 18,18,18,18,20,20,20,20);
  211.      BUF(TNode; FeedBack; 0,0,0,0);
  212.   |3:
  213.      LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  214.          %InFuse+192,%InFuse+224;LorOutput);
  215.      %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
  216.       %IF %XorFuse = 0 %THEN
  217.        INV(LorOutput; OutPin; 23,23,25,25);
  218.       %ELSE
  219.        BUF(LorOutput; OutPin; 23,23,25,25);
  220.       %END;
  221.      %ELSE
  222.       %IF %XorFuse = 0 %THEN
  223.        INV(LorOutput; TNode; 23,23,25,25);
  224.       %ELSE
  225.        BUF(LorOutput; TNode; 23,23,25,25);
  226.       %END;
  227.       TSB(TNode, %InFuse; OutPin; 23,23,23,23,25,25,25,25);
  228.      %END;
  229.      BUF(OutPin; FeedBack; 0,0,0,0);
  230.   |4:
  231.      LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  232.          %InFuse+192,%InFuse+224;LorOutput);
  233.      %IF %XorFuse = 0 %THEN
  234.       INV(LorOutput; OutPin; 23,23,25,25);
  235.      %ELSE
  236.       BUF(LorOutput; OutPin; 23,23,25,25);
  237.      %END;
  238.      BUF(ZERO; FeedBack; 0,0,0,0);
  239.   |5:
  240.      TSB(TSNode, ZERO; OutPin; 18,18,18,18,20,20,20,20);
  241.      BUF(NextPin; FeedBack; 0,0,0,0);
  242.   |7:
  243.      LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  244.          %InFuse+192,%InFuse+224;LorOutput);
  245.      %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
  246.       %IF %XorFuse = 0 %THEN
  247.        INV(LorOutput; OutPin; 23,23,25,25);
  248.       %ELSE
  249.        BUF(LorOutput; OutPin; 23,23,25,25);
  250.       %END;
  251.      %ELSE
  252.       %IF %XorFuse = 0 %THEN
  253.        INV(LorOutput; TNode; 23,23,25,25);
  254.       %ELSE
  255.        BUF(LorOutput; TNode; 23,23,25,25);
  256.       %END;
  257.       TSB(TNode, %InFuse; OutPin; 23,23,23,23,25,25,25,25);
  258.      %END;
  259.      BUF(PrevPin; FeedBack; 0,0,0,0);
  260.  %END;
  261. %MACEND;
  262.  
  263. LINV(P11;L17);
  264.  
  265. V8MAC(%SF2120, %SF2048, N1, L1, %FF00, P19, N9, %SF00, L9, N17, P1, P1);
  266. V8MAC(%SF2121, %SF2049, N2, L2, %FF256, P18, N10, %SF256, L10, N18, P19, P18);
  267. V8MAC(%SF2122, %SF2050, N3, L3, %FF512, P17, N11, %SF512, L11, N19, P18, P17);
  268. V8MAC(%SF2123, %SF2051, N4, L4, %FF768, P16, N12, %SF768, L12, N20, P17, P16);
  269. V8MAC(%SF2124, %SF2052, N5, L5, %FF1024, P15, N13, %SF1024, L13, N21, P14, P15);
  270. V8MAC(%SF2125, %SF2053, N6, L6, %FF1280, P14, N14, %SF1280, L14, N22, P13, P14);
  271. V8MAC(%SF2126, %SF2054, N7, L7, %FF1536, P13, N15, %SF1536, L15, N23, P12, P13);
  272. V8MAC(%SF2127, %SF2055, N8, L8, %FF1792, P12, N16, %SF1792, L16, N24, P11, P11);
  273. %EndModel
  274.  
  275. %StartModel
  276. %Manufacturer:SGS
  277. %Type:16V8
  278. %PartNumber:SGS'GAL16V8-35
  279. %LastNode ? ?
  280. %NumPins: 20
  281. %FDF AND 0 P2 ~P2 N1 ~N1 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5 N4 ~N4 P6 ~P6
  282.      N5 ~N5 P7 ~P7 N6 ~N6 P8 ~P8 N7 ~N7 P9 ~P9 N8 ~N8 *
  283.  
  284. %MACRO V8MAC(S0:%SF, XorFuse:%SF, FeedBack:%TEXT, LorOutput:%TEXT, InFuse:%FF,
  285.              OutPin:%TEXT, TNode:%TEXT, EnableFuse:%SF, TLNode:%TEXT,
  286.          TSNode:%TEXT, NextPin:%TEXT, PrevPin:%TEXT);
  287.  
  288.  %CASE %SF2192,%SF2193,%S0
  289.    2:
  290.      LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  291.          %InFuse+192,%InFuse+224;LorOutput);
  292.      %IF %XorFuse=0 %THEN
  293.       LINV(LorOutput;TLNode);
  294.       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);
  295.      %ELSE
  296.       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);
  297.      %END;
  298.      TSB(TNode, L17; OutPin; 23,23,23,23,25,25,25,25);
  299.      BUF(TNode; FeedBack; 0,0,0,0);
  300.   |3:
  301.      LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  302.          %InFuse+192,%InFuse+224;LorOutput);
  303.      %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
  304.       %IF %XorFuse = 0 %THEN
  305.        INV(LorOutput; OutPin; 33,33,35,35);
  306.       %ELSE
  307.        BUF(LorOutput; OutPin; 33,33,35,35);
  308.       %END;
  309.      %ELSE
  310.       %IF %XorFuse = 0 %THEN
  311.        INV(LorOutput; TNode; 33,33,35,35);
  312.       %ELSE
  313.        BUF(LorOutput; TNode; 33,33,35,35);
  314.       %END;
  315.       TSB(TNode, %InFuse; OutPin; 33,33,33,33,35,35,35,35);
  316.      %END;
  317.      BUF(OutPin; FeedBack; 0,0,0,0);
  318.   |4:
  319.      LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  320.          %InFuse+192,%InFuse+224;LorOutput);
  321.      %IF %XorFuse = 0 %THEN
  322.       INV(LorOutput; OutPin; 33,33,35,35);
  323.      %ELSE
  324.       BUF(LorOutput; OutPin; 33,33,35,35);
  325.      %END;
  326.      BUF(ZERO; FeedBack; 0,0,0,0);
  327.   |5:
  328.      TSB(TSNode, ZERO; OutPin; 23,23,23,23,25,25,25,25);
  329.      BUF(NextPin; FeedBack; 0,0,0,0);
  330.   |7:
  331.      LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  332.          %InFuse+192,%InFuse+224;LorOutput);
  333.      %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
  334.       %IF %XorFuse = 0 %THEN
  335.        INV(LorOutput; OutPin; 33,33,35,35);
  336.       %ELSE
  337.        BUF(LorOutput; OutPin; 33,33,35,35);
  338.       %END;
  339.      %ELSE
  340.       %IF %XorFuse = 0 %THEN
  341.        INV(LorOutput; TNode; 33,33,35,35);
  342.       %ELSE
  343.        BUF(LorOutput; TNode; 33,33,35,35);
  344.       %END;
  345.       TSB(TNode, %InFuse; OutPin; 33,33,33,33,35,35,35,35);
  346.      %END;
  347.      BUF(PrevPin; FeedBack; 0,0,0,0);
  348.  %END;
  349. %MACEND;
  350.  
  351. LINV(P11;L17);
  352.  
  353. V8MAC(%SF2120, %SF2048, N1, L1, %FF00, P19, N9, %SF00, L9, N17, P1, P1);
  354. V8MAC(%SF2121, %SF2049, N2, L2, %FF256, P18, N10, %SF256, L10, N18, P19, P18);
  355. V8MAC(%SF2122, %SF2050, N3, L3, %FF512, P17, N11, %SF512, L11, N19, P18, P17);
  356. V8MAC(%SF2123, %SF2051, N4, L4, %FF768, P16, N12, %SF768, L12, N20, P17, P16);
  357. V8MAC(%SF2124, %SF2052, N5, L5, %FF1024, P15, N13, %SF1024, L13, N21, P14, P15);
  358. V8MAC(%SF2125, %SF2053, N6, L6, %FF1280, P14, N14, %SF1280, L14, N22, P13, P14);
  359. V8MAC(%SF2126, %SF2054, N7, L7, %FF1536, P13, N15, %SF1536, L15, N23, P12, P13);
  360. V8MAC(%SF2127, %SF2055, N8, L8, %FF1792, P12, N16, %SF1792, L16, N24, P11, P11);
  361. %EndModel
  362.  
  363. %StartModel
  364. %Manufacturer:SGS
  365. %Type:20V8
  366. %PartNumber:SGS'GAL20V8-15
  367. %LastNode ? ?
  368. %NumPins: 24
  369. %FDF AND 0 P2 ~P2 N1 ~N1 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5 N4 ~N4 P6 ~P6
  370.      N5 ~N5 P7 ~P7 N6 ~N6 P8 ~P8 N7 ~N7 P9 ~P9 N8 ~N8 P10 ~P10 N9 ~N9
  371.      P11 ~P11 N10 ~N10 *
  372.  
  373. %MACRO FEEDBACK(N1FeedBack: %TEXT, N10FeedBack: %TEXT);
  374.  %IF %SF2704 = 1 %THEN
  375.   BUF(P1; N1FeedBack; 0,0,0,0);
  376.   BUF(P13; N10FeedBack; 0,0,0,0);
  377.  %ELSE
  378.   BUF(P23; N1FeedBack; 0,0,0,0);
  379.   BUF(P14; N10FeedBack; 0,0,0,0);
  380.  %END;
  381. %MACEND;
  382.  
  383. %MACRO V8MAC(S0:%SF, XorFuse:%SF, FeedBack:%TEXT, LorOutput:%TEXT, InFuse:%FF,
  384.              OutPin:%TEXT, TNode:%TEXT, EnableFuse:%SF, TLNode:%TEXT,
  385.          TSNode:%TEXT, NextPin:%TEXT, PrevPin:%TEXT);
  386.  %CASE %SF2704,%SF2705,%S0
  387.    2:
  388.      LOR(%InFuse,%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,
  389.          %InFuse+240,%InFuse+280;LorOutput);
  390.      %IF %XorFuse=0 %THEN
  391.       LINV(LorOutput;TLNode);
  392.       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);
  393.      %ELSE
  394.       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);
  395.      %END;
  396.      TSB(TNode, L17; OutPin; 13,13,13,13,15,15,15,15);
  397.      BUF(TNode; FeedBack; 0,0,0,0);
  398.   |3:
  399.      LOR(%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,%InFuse+240,
  400.          %InFuse+280;LorOutput);
  401.      %IF %EnableFuse..%EnableFuse+39 = 1 %THEN
  402.       %IF %XorFuse = 0 %THEN
  403.        INV(LorOutput; OutPin; 13,13,15,15);
  404.       %ELSE
  405.        BUF(LorOutput; OutPin; 13,13,15,15);
  406.       %END;
  407.      %ELSE
  408.       %IF %XorFuse = 0 %THEN
  409.        INV(LorOutput; TNode; 13,13,15,15);
  410.       %ELSE
  411.        BUF(LorOutput; TNode; 13,13,15,15);
  412.       %END;
  413.       TSB(TNode, %InFuse; OutPin; 13,13,13,13,15,15,15,15);
  414.      %END;
  415.      BUF(OutPin; FeedBack; 0,0,0,0);
  416.   |4:
  417.      LOR(%InFuse,%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,
  418.          %InFuse+240,%InFuse+280;LorOutput);
  419.      %IF %XorFuse = 0 %THEN
  420.       INV(LorOutput; OutPin; 13,13,15,15);
  421.      %ELSE
  422.       BUF(LorOutput; OutPin; 13,13,15,15);
  423.      %END;
  424.      BUF(ZERO; FeedBack; 0,0,0,0);
  425.   |5:
  426.      TSB(TSNode, ZERO; OutPin; 13,13,13,13,15,15,15,15);
  427.      BUF(NextPin; FeedBack; 0,0,0,0);
  428.   |7:
  429.    LOR(%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,%InFuse+240,
  430.        %InFuse+280;LorOutput);
  431.      %IF %EnableFuse..%EnableFuse+39 = 1 %THEN
  432.       %IF %XorFuse = 0 %THEN
  433.        INV(LorOutput; OutPin; 13,13,15,15);
  434.       %ELSE
  435.        BUF(LorOutput; OutPin; 13,13,15,15);
  436.       %END;
  437.      %ELSE
  438.       %IF %XorFuse = 0 %THEN
  439.        INV(LorOutput; TNode; 13,13,15,15);
  440.       %ELSE
  441.        BUF(LorOutput; TNode; 13,13,15,15);
  442.       %END;
  443.       TSB(TNode, %InFuse; OutPin; 13,13,13,13,15,15,15,15);
  444.      %END;
  445.      BUF(PrevPin; FeedBack; 0,0,0,0);
  446.  %END;
  447. %MACEND;
  448.  
  449. FEEDBACK(N1, N10);
  450.  
  451. LINV(P13;L17);
  452.  
  453. V8MAC(%SF2632, %SF2560, N2, L1, %FF00, P22, N11, %SF00, L9, N17, P23, P23);
  454. V8MAC(%SF2633, %SF2561, N3, L2, %FF320, P21, N12, %SF320, L10, N18, P22, P21);
  455. V8MAC(%SF2634, %SF2562, N4, L3, %FF640, P20, N13, %SF640, L11, N19, P21, P20);
  456. V8MAC(%SF2635, %SF2563, N5, L4, %FF960, P19, N14, %SF960, L12, N20, P20, P19);
  457. V8MAC(%SF2636, %SF2564, N6, L5, %FF1280, P18, N15, %SF1280, L13, N21, P17, P18);
  458. V8MAC(%SF2637, %SF2565, N7, L6, %FF1600, P17, N16, %SF1600, L14, N22, P16, P17);
  459. V8MAC(%SF2638, %SF2566, N8, L7, %FF1920, P16, N17, %SF1920, L15, N23, P15, P16);
  460. V8MAC(%SF2639, %SF2567, N9, L8, %FF2240, P15, N18, %SF2240, L16, N24, P14, P14);
  461. %EndModel
  462.  
  463. %StartModel
  464. %Manufacturer:SGS
  465. %Type:20V8
  466. %PartNumber:SGS'GAL20V8-20
  467. %LastNode ? ?
  468. %NumPins: 24
  469. %FDF AND 0 P2 ~P2 N1 ~N1 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5 N4 ~N4 P6 ~P6
  470.      N5 ~N5 P7 ~P7 N6 ~N6 P8 ~P8 N7 ~N7 P9 ~P9 N8 ~N8 P10 ~P10 N9 ~N9
  471.      P11 ~P11 N10 ~N10 *
  472.  
  473. %MACRO FEEDBACK(N1FeedBack: %TEXT, N10FeedBack: %TEXT);
  474.  %IF %SF2704 = 1 %THEN
  475.   BUF(P1; N1FeedBack; 0,0,0,0);
  476.   BUF(P13; N10FeedBack; 0,0,0,0);
  477.  %ELSE
  478.   BUF(P23; N1FeedBack; 0,0,0,0);
  479.   BUF(P14; N10FeedBack; 0,0,0,0);
  480.  %END;
  481. %MACEND;
  482.  
  483. %MACRO V8MAC(S0:%SF, XorFuse:%SF, FeedBack:%TEXT, LorOutput:%TEXT, InFuse:%FF,
  484.              OutPin:%TEXT, TNode:%TEXT, EnableFuse:%SF, TLNode:%TEXT,
  485.          TSNode:%TEXT, NextPin:%TEXT, PrevPin:%TEXT);
  486.  %CASE %SF2704,%SF2705,%S0
  487.    2:
  488.      LOR(%InFuse,%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,
  489.          %InFuse+240,%InFuse+280;LorOutput);
  490.      %IF %XorFuse=0 %THEN
  491.       LINV(LorOutput;TLNode);
  492.       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);
  493.      %ELSE
  494.       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);
  495.      %END;
  496.      TSB(TNode, L17; OutPin; 16,16,16,16,18,18,18,18);
  497.      BUF(TNode; FeedBack; 0,0,0,0);
  498.   |3:
  499.      LOR(%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,%InFuse+240,
  500.          %InFuse+280;LorOutput);
  501.      %IF %EnableFuse..%EnableFuse+39 = 1 %THEN
  502.       %IF %XorFuse = 0 %THEN
  503.        INV(LorOutput; OutPin; 18,18,20,20);
  504.       %ELSE
  505.        BUF(LorOutput; OutPin; 18,18,20,20);
  506.       %END;
  507.      %ELSE
  508.       %IF %XorFuse = 0 %THEN
  509.        INV(LorOutput; TNode; 18,18,20,20);
  510.       %ELSE
  511.        BUF(LorOutput; TNode; 18,18,20,20);
  512.       %END;
  513.       TSB(TNode, %InFuse; OutPin; 18,18,18,18,20,20,20,20);
  514.      %END;
  515.      BUF(OutPin; FeedBack; 0,0,0,0);
  516.   |4:
  517.      LOR(%InFuse,%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,
  518.          %InFuse+240,%InFuse+280;LorOutput);
  519.      %IF %XorFuse = 0 %THEN
  520.       INV(LorOutput; OutPin; 18,18,20,20);
  521.      %ELSE
  522.       BUF(LorOutput; OutPin; 18,18,20,20);
  523.      %END;
  524.      BUF(ZERO; FeedBack; 0,0,0,0);
  525.   |5:
  526.      TSB(TSNode, ZERO; OutPin; 16,16,16,16,18,18,18,18);
  527.      BUF(NextPin; FeedBack; 0,0,0,0);
  528.   |7:
  529.    LOR(%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,%InFuse+240,
  530.        %InFuse+280;LorOutput);
  531.      %IF %EnableFuse..%EnableFuse+39 = 1 %THEN
  532.       %IF %XorFuse = 0 %THEN
  533.        INV(LorOutput; OutPin; 18,18,20,20);
  534.       %ELSE
  535.        BUF(LorOutput; OutPin; 18,18,20,20);
  536.       %END;
  537.      %ELSE
  538.       %IF %XorFuse = 0 %THEN
  539.        INV(LorOutput; TNode; 18,18,20,20);
  540.       %ELSE
  541.        BUF(LorOutput; TNode; 18,18,20,20);
  542.       %END;
  543.       TSB(TNode, %InFuse; OutPin; 18,18,18,18,20,20,20,20);
  544.      %END;
  545.      BUF(PrevPin; FeedBack; 0,0,0,0);
  546.  %END;
  547. %MACEND;
  548.  
  549. FEEDBACK(N1, N10);
  550.  
  551. LINV(P13;L17);
  552.  
  553. V8MAC(%SF2632, %SF2560, N2, L1, %FF00, P22, N11, %SF00, L9, N17, P23, P23);
  554. V8MAC(%SF2633, %SF2561, N3, L2, %FF320, P21, N12, %SF320, L10, N18, P22, P21);
  555. V8MAC(%SF2634, %SF2562, N4, L3, %FF640, P20, N13, %SF640, L11, N19, P21, P20);
  556. V8MAC(%SF2635, %SF2563, N5, L4, %FF960, P19, N14, %SF960, L12, N20, P20, P19);
  557. V8MAC(%SF2636, %SF2564, N6, L5, %FF1280, P18, N15, %SF1280, L13, N21, P17, P18);
  558. V8MAC(%SF2637, %SF2565, N7, L6, %FF1600, P17, N16, %SF1600, L14, N22, P16, P17);
  559. V8MAC(%SF2638, %SF2566, N8, L7, %FF1920, P16, N17, %SF1920, L15, N23, P15, P16);
  560. V8MAC(%SF2639, %SF2567, N9, L8, %FF2240, P15, N18, %SF2240, L16, N24, P14, P14);
  561. %EndModel
  562.  
  563. %StartModel
  564. %Manufacturer:SGS
  565. %Type:20V8
  566. %PartNumber:SGS'GAL20V8-25
  567. %LastNode ? ?
  568. %NumPins: 24
  569. %FDF AND 0 P2 ~P2 N1 ~N1 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5 N4 ~N4 P6 ~P6
  570.      N5 ~N5 P7 ~P7 N6 ~N6 P8 ~P8 N7 ~N7 P9 ~P9 N8 ~N8 P10 ~P10 N9 ~N9
  571.      P11 ~P11 N10 ~N10 *
  572.  
  573. %MACRO FEEDBACK(N1FeedBack: %TEXT, N10FeedBack: %TEXT);
  574.  %IF %SF2704 = 1 %THEN
  575.   BUF(P1; N1FeedBack; 0,0,0,0);
  576.   BUF(P13; N10FeedBack; 0,0,0,0);
  577.  %ELSE
  578.   BUF(P23; N1FeedBack; 0,0,0,0);
  579.   BUF(P14; N10FeedBack; 0,0,0,0);
  580.  %END;
  581. %MACEND;
  582.  
  583. %MACRO V8MAC(S0:%SF, XorFuse:%SF, FeedBack:%TEXT, LorOutput:%TEXT, InFuse:%FF,
  584.              OutPin:%TEXT, TNode:%TEXT, EnableFuse:%SF, TLNode:%TEXT,
  585.          TSNode:%TEXT, NextPin:%TEXT, PrevPin:%TEXT);
  586.  %CASE %SF2704,%SF2705,%S0
  587.    2:
  588.      LOR(%InFuse,%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,
  589.          %InFuse+240,%InFuse+280;LorOutput);
  590.      %IF %XorFuse=0 %THEN
  591.       LINV(LorOutput;TLNode);
  592.       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);
  593.      %ELSE
  594.       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);
  595.      %END;
  596.      TSB(TNode, L17; OutPin; 18,18,18,18,20,20,20,20);
  597.      BUF(TNode; FeedBack; 0,0,0,0);
  598.   |3:
  599.      LOR(%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,%InFuse+240,
  600.          %InFuse+280;LorOutput);
  601.      %IF %EnableFuse..%EnableFuse+39 = 1 %THEN
  602.       %IF %XorFuse = 0 %THEN
  603.        INV(LorOutput; OutPin; 23,23,25,25);
  604.       %ELSE
  605.        BUF(LorOutput; OutPin; 23,23,25,25);
  606.       %END;
  607.      %ELSE
  608.       %IF %XorFuse = 0 %THEN
  609.        INV(LorOutput; TNode; 23,23,25,25);
  610.       %ELSE
  611.        BUF(LorOutput; TNode; 23,23,25,25);
  612.       %END;
  613.       TSB(TNode, %InFuse; OutPin; 23,23,23,23,25,25,25,25);
  614.      %END;
  615.      BUF(OutPin; FeedBack; 0,0,0,0);
  616.   |4:
  617.      LOR(%InFuse,%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,
  618.          %InFuse+240,%InFuse+280;LorOutput);
  619.      %IF %XorFuse = 0 %THEN
  620.       INV(LorOutput; OutPin; 23,23,25,25);
  621.      %ELSE
  622.       BUF(LorOutput; OutPin; 23,23,25,25);
  623.      %END;
  624.      BUF(ZERO; FeedBack; 0,0,0,0);
  625.   |5:
  626.      TSB(TSNode, ZERO; OutPin; 18,18,18,18,20,20,20,20);
  627.      BUF(NextPin; FeedBack; 0,0,0,0);
  628.   |7:
  629.    LOR(%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,%InFuse+240,
  630.        %InFuse+280;LorOutput);
  631.      %IF %EnableFuse..%EnableFuse+39 = 1 %THEN
  632.       %IF %XorFuse = 0 %THEN
  633.        INV(LorOutput; OutPin; 23,23,25,25);
  634.       %ELSE
  635.        BUF(LorOutput; OutPin; 23,23,25,25);
  636.       %END;
  637.      %ELSE
  638.       %IF %XorFuse = 0 %THEN
  639.        INV(LorOutput; TNode; 23,23,25,25);
  640.       %ELSE
  641.        BUF(LorOutput; TNode; 23,23,25,25);
  642.       %END;
  643.       TSB(TNode, %InFuse; OutPin; 23,23,23,23,25,25,25,25);
  644.      %END;
  645.      BUF(PrevPin; FeedBack; 0,0,0,0);
  646.  %END;
  647. %MACEND;
  648.  
  649. FEEDBACK(N1, N10);
  650.  
  651. LINV(P13;L17);
  652.  
  653. V8MAC(%SF2632, %SF2560, N2, L1, %FF00, P22, N11, %SF00, L9, N17, P23, P23);
  654. V8MAC(%SF2633, %SF2561, N3, L2, %FF320, P21, N12, %SF320, L10, N18, P22, P21);
  655. V8MAC(%SF2634, %SF2562, N4, L3, %FF640, P20, N13, %SF640, L11, N19, P21, P20);
  656. V8MAC(%SF2635, %SF2563, N5, L4, %FF960, P19, N14, %SF960, L12, N20, P20, P19);
  657. V8MAC(%SF2636, %SF2564, N6, L5, %FF1280, P18, N15, %SF1280, L13, N21, P17, P18);
  658. V8MAC(%SF2637, %SF2565, N7, L6, %FF1600, P17, N16, %SF1600, L14, N22, P16, P17);
  659. V8MAC(%SF2638, %SF2566, N8, L7, %FF1920, P16, N17, %SF1920, L15, N23, P15, P16);
  660. V8MAC(%SF2639, %SF2567, N9, L8, %FF2240, P15, N18, %SF2240, L16, N24, P14, P14);
  661. %EndModel
  662.  
  663. %StartModel
  664. %Manufacturer:SGS
  665. %Type:20V8
  666. %PartNumber:SGS'GAL20V8-35
  667. %LastNode ? ?
  668. %NumPins: 24
  669. %FDF AND 0 P2 ~P2 N1 ~N1 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5 N4 ~N4 P6 ~P6
  670.      N5 ~N5 P7 ~P7 N6 ~N6 P8 ~P8 N7 ~N7 P9 ~P9 N8 ~N8 P10 ~P10 N9 ~N9
  671.      P11 ~P11 N10 ~N10 *
  672.  
  673. %MACRO FEEDBACK(N1FeedBack: %TEXT, N10FeedBack: %TEXT);
  674.  %IF %SF2704 = 1 %THEN
  675.   BUF(P1; N1FeedBack; 0,0,0,0);
  676.   BUF(P13; N10FeedBack; 0,0,0,0);
  677.  %ELSE
  678.   BUF(P23; N1FeedBack; 0,0,0,0);
  679.   BUF(P14; N10FeedBack; 0,0,0,0);
  680.  %END;
  681. %MACEND;
  682.  
  683. %MACRO V8MAC(S0:%SF, XorFuse:%SF, FeedBack:%TEXT, LorOutput:%TEXT, InFuse:%FF,
  684.              OutPin:%TEXT, TNode:%TEXT, EnableFuse:%SF, TLNode:%TEXT,
  685.          TSNode:%TEXT, NextPin:%TEXT, PrevPin:%TEXT);
  686.  %CASE %SF2704,%SF2705,%S0
  687.    2:
  688.      LOR(%InFuse,%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,
  689.          %InFuse+240,%InFuse+280;LorOutput);
  690.      %IF %XorFuse=0 %THEN
  691.       LINV(LorOutput;TLNode);
  692.       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);
  693.      %ELSE
  694.       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);
  695.      %END;
  696.      TSB(TNode, L17; OutPin; 23,23,23,23,25,25,25,25);
  697.      BUF(TNode; FeedBack; 0,0,0,0);
  698.   |3:
  699.      LOR(%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,%InFuse+240,
  700.          %InFuse+280;LorOutput);
  701.      %IF %EnableFuse..%EnableFuse+39 = 1 %THEN
  702.       %IF %XorFuse = 0 %THEN
  703.        INV(LorOutput; OutPin; 33,33,35,35);
  704.       %ELSE
  705.        BUF(LorOutput; OutPin; 33,33,35,35);
  706.       %END;
  707.      %ELSE
  708.       %IF %XorFuse = 0 %THEN
  709.        INV(LorOutput; TNode; 33,33,35,35);
  710.       %ELSE
  711.        BUF(LorOutput; TNode; 33,33,35,35);
  712.       %END;
  713.       TSB(TNode, %InFuse; OutPin; 33,33,33,33,35,35,35,35);
  714.      %END;
  715.      BUF(OutPin; FeedBack; 0,0,0,0);
  716.   |4:
  717.      LOR(%InFuse,%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,
  718.          %InFuse+240,%InFuse+280;LorOutput);
  719.      %IF %XorFuse = 0 %THEN
  720.       INV(LorOutput; OutPin; 33,33,35,35);
  721.      %ELSE
  722.       BUF(LorOutput; OutPin; 33,33,35,35);
  723.      %END;
  724.      BUF(ZERO; FeedBack; 0,0,0,0);
  725.   |5:
  726.      TSB(TSNode, ZERO; OutPin; 23,23,23,23,25,25,25,25);
  727.      BUF(NextPin; FeedBack; 0,0,0,0);
  728.   |7:
  729.    LOR(%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,%InFuse+240,
  730.        %InFuse+280;LorOutput);
  731.      %IF %EnableFuse..%EnableFuse+39 = 1 %THEN
  732.       %IF %XorFuse = 0 %THEN
  733.        INV(LorOutput; OutPin; 33,33,35,35);
  734.       %ELSE
  735.        BUF(LorOutput; OutPin; 33,33,35,35);
  736.       %END;
  737.      %ELSE
  738.       %IF %XorFuse = 0 %THEN
  739.        INV(LorOutput; TNode; 33,33,35,35);
  740.       %ELSE
  741.        BUF(LorOutput; TNode; 33,33,35,35);
  742.       %END;
  743.       TSB(TNode, %InFuse; OutPin; 33,33,33,33,35,35,35,35);
  744.      %END;
  745.      BUF(PrevPin; FeedBack; 0,0,0,0);
  746.  %END;
  747. %MACEND;
  748.  
  749. FEEDBACK(N1, N10);
  750.  
  751. LINV(P13;L17);
  752.  
  753. V8MAC(%SF2632, %SF2560, N2, L1, %FF00, P22, N11, %SF00, L9, N17, P23, P23);
  754. V8MAC(%SF2633, %SF2561, N3, L2, %FF320, P21, N12, %SF320, L10, N18, P22, P21);
  755. V8MAC(%SF2634, %SF2562, N4, L3, %FF640, P20, N13, %SF640, L11, N19, P21, P20);
  756. V8MAC(%SF2635, %SF2563, N5, L4, %FF960, P19, N14, %SF960, L12, N20, P20, P19);
  757. V8MAC(%SF2636, %SF2564, N6, L5, %FF1280, P18, N15, %SF1280, L13, N21, P17, P18);
  758. V8MAC(%SF2637, %SF2565, N7, L6, %FF1600, P17, N16, %SF1600, L14, N22, P16, P17);
  759. V8MAC(%SF2638, %SF2566, N8, L7, %FF1920, P16, N17, %SF1920, L15, N23, P15, P16);
  760. V8MAC(%SF2639, %SF2567, N9, L8, %FF2240, P15, N18, %SF2240, L16, N24, P14, P14);
  761. %EndModel
  762.