home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 13 / 13.iso / p / p070 / 9.ddi / MLIB.PLB / LATTICE.DEF < prev    next >
Encoding:
Text File  |  1991-02-21  |  129.5 KB  |  3,686 lines

  1. (***************************************************************************)
  2. (*                                                                         *)
  3. (*                         Copyright (C) 1987-1990                         *)
  4. (*                      by Gogesch Micro Systems, INC.                     *)
  5. (*                                                                         *)
  6. (*                           All rights reserved.                          *)
  7. (*                                                                         *)
  8. (***************************************************************************)
  9.  
  10.  
  11. ;DELAYS FOR THE FOLLOWING LIBRARY PARTS TAKEN FROM THE 1989 
  12. ;LATTICE GAL DATA BOOK
  13.  
  14. %StartModel
  15. %Manufacturer:Lattice
  16. %Type:16V8
  17. %PartNumber:LATTICE'GAL16V8-15L
  18. %LastNode ? ?
  19. %NumPins: 20
  20. %FDF AND 0 P2 ~P2 N1 ~N1 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5 N4 ~N4 P6 ~P6
  21.      N5 ~N5 P7 ~P7 N6 ~N6 P8 ~P8 N7 ~N7 P9 ~P9 N8 ~N8 *
  22.      
  23. %MACRO V8MAC(S0:%SF, XorFuse:%SF, FeedBack:%TEXT, LorOutput:%TEXT, InFuse:%FF, 
  24.              OutPin:%TEXT, TNode:%TEXT, EnableFuse:%SF, TLNode:%TEXT, 
  25.          TSNode:%TEXT, NextPin:%TEXT, PrevPin:%TEXT);
  26.  
  27.  %CASE %SF2192,%SF2193,%S0
  28.    2:
  29.      LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  30.          %InFuse+192,%InFuse+224;LorOutput);
  31.      %IF %XorFuse=0 %THEN
  32.       LINV(LorOutput;TLNode);
  33.       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);
  34.      %ELSE         
  35.       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);
  36.      %END;
  37.      TSB(TNode, L17; OutPin; 13,13,13,13,15,15,15,15);
  38.      BUF(TNode; FeedBack; 0,0,0,0);
  39.   |3:
  40.      LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  41.          %InFuse+192,%InFuse+224;LorOutput);
  42.      %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
  43.       %IF %XorFuse = 0 %THEN
  44.        INV(LorOutput; OutPin; 13,13,15,15);
  45.       %ELSE
  46.        BUF(LorOutput; OutPin; 13,13,15,15);
  47.       %END;
  48.      %ELSE
  49.       %IF %XorFuse = 0 %THEN
  50.        INV(LorOutput; TNode; 13,13,15,15);
  51.       %ELSE
  52.        BUF(LorOutput; TNode; 13,13,15,15);
  53.       %END;
  54.       TSB(TNode, %InFuse; OutPin; 13,13,13,13,15,15,15,15);
  55.      %END;
  56.      BUF(OutPin; FeedBack; 0,0,0,0);
  57.   |4:
  58.      LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  59.          %InFuse+192,%InFuse+224;LorOutput);
  60.      %IF %XorFuse = 0 %THEN
  61.       INV(LorOutput; OutPin; 13,13,15,15);
  62.      %ELSE
  63.       BUF(LorOutput; OutPin; 13,13,15,15);
  64.      %END;
  65.      BUF(ZERO; FeedBack; 0,0,0,0);
  66.   |5:
  67.      TSB(TSNode, ZERO; OutPin; 13,13,13,13,15,15,15,15); 
  68.      BUF(NextPin; FeedBack; 0,0,0,0);    
  69.   |7:
  70.      LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  71.          %InFuse+192,%InFuse+224;LorOutput);
  72.      %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
  73.       %IF %XorFuse = 0 %THEN
  74.        INV(LorOutput; OutPin; 13,13,15,15);
  75.       %ELSE
  76.        BUF(LorOutput; OutPin; 13,13,15,15);
  77.       %END;
  78.      %ELSE
  79.       %IF %XorFuse = 0 %THEN
  80.        INV(LorOutput; TNode; 13,13,15,15);
  81.       %ELSE
  82.        BUF(LorOutput; TNode; 13,13,15,15);
  83.       %END;
  84.       TSB(TNode, %InFuse; OutPin; 13,13,13,13,15,15,15,15);
  85.      %END;
  86.      BUF(PrevPin; FeedBack; 0,0,0,0);
  87.  %END;
  88. %MACEND;
  89.  
  90. LINV(P11;L17);
  91.      
  92. V8MAC(%SF2120, %SF2048, N1, L1, %FF00, P19, N9, %SF00, L9, N17, P1, P1);
  93. V8MAC(%SF2121, %SF2049, N2, L2, %FF256, P18, N10, %SF256, L10, N18, P19, P18);
  94. V8MAC(%SF2122, %SF2050, N3, L3, %FF512, P17, N11, %SF512, L11, N19, P18, P17);
  95. V8MAC(%SF2123, %SF2051, N4, L4, %FF768, P16, N12, %SF768, L12, N20, P17, P16);
  96. V8MAC(%SF2124, %SF2052, N5, L5, %FF1024, P15, N13, %SF1024, L13, N21, P14, P15);
  97. V8MAC(%SF2125, %SF2053, N6, L6, %FF1280, P14, N14, %SF1280, L14, N22, P13, P14);
  98. V8MAC(%SF2126, %SF2054, N7, L7, %FF1536, P13, N15, %SF1536, L15, N23, P12, P13);
  99. V8MAC(%SF2127, %SF2055, N8, L8, %FF1792, P12, N16, %SF1792, L16, N24, P11, P11);
  100. %EndModel
  101.  
  102. %StartModel
  103. %Manufacturer:Lattice
  104. %Type:16V8
  105. %PartNumber:LATTICE'GAL16V8-20Q
  106. %LastNode ? ?
  107. %NumPins: 20
  108. %FDF AND 0 P2 ~P2 N1 ~N1 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5 N4 ~N4 P6 ~P6
  109.      N5 ~N5 P7 ~P7 N6 ~N6 P8 ~P8 N7 ~N7 P9 ~P9 N8 ~N8 *
  110.      
  111. %MACRO V8MAC(S0:%SF, XorFuse:%SF, FeedBack:%TEXT, LorOutput:%TEXT, InFuse:%FF, 
  112.              OutPin:%TEXT, TNode:%TEXT, EnableFuse:%SF, TLNode:%TEXT, 
  113.          TSNode:%TEXT, NextPin:%TEXT, PrevPin:%TEXT);
  114.  
  115.  %CASE %SF2192,%SF2193,%S0
  116.    2:
  117.      LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  118.          %InFuse+192,%InFuse+224;LorOutput);
  119.      %IF %XorFuse=0 %THEN
  120.       LINV(LorOutput;TLNode);
  121.       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);
  122.      %ELSE         
  123.       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);
  124.      %END;
  125.      TSB(TNode, L17; OutPin; 16,16,16,16,18,18,18,18);
  126.      BUF(TNode; FeedBack; 0,0,0,0);
  127.   |3:
  128.      LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  129.          %InFuse+192,%InFuse+224;LorOutput);
  130.      %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
  131.       %IF %XorFuse = 0 %THEN
  132.        INV(LorOutput; OutPin; 18,18,20,20);
  133.       %ELSE
  134.        BUF(LorOutput; OutPin; 18,18,20,20);
  135.       %END;
  136.      %ELSE
  137.       %IF %XorFuse = 0 %THEN
  138.        INV(LorOutput; TNode; 18,18,20,20);
  139.       %ELSE
  140.        BUF(LorOutput; TNode; 18,18,20,20);
  141.       %END;
  142.       TSB(TNode, %InFuse; OutPin; 18,18,18,18,20,20,20,20);
  143.      %END;
  144.      BUF(OutPin; FeedBack; 0,0,0,0);
  145.   |4:
  146.      LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  147.          %InFuse+192,%InFuse+224;LorOutput);
  148.      %IF %XorFuse = 0 %THEN
  149.       INV(LorOutput; OutPin; 18,18,20,20);
  150.      %ELSE
  151.       BUF(LorOutput; OutPin; 18,18,20,20);
  152.      %END;
  153.      BUF(ZERO; FeedBack; 0,0,0,0);
  154.   |5:
  155.      TSB(TSNode, ZERO; OutPin; 16,16,16,16,18,18,18,18); 
  156.      BUF(NextPin; FeedBack; 0,0,0,0);    
  157.   |7:
  158.      LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  159.          %InFuse+192,%InFuse+224;LorOutput);
  160.      %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
  161.       %IF %XorFuse = 0 %THEN
  162.        INV(LorOutput; OutPin; 18,18,20,20);
  163.       %ELSE
  164.        BUF(LorOutput; OutPin; 18,18,20,20);
  165.       %END;
  166.      %ELSE
  167.       %IF %XorFuse = 0 %THEN
  168.        INV(LorOutput; TNode; 18,18,20,20);
  169.       %ELSE
  170.        BUF(LorOutput; TNode; 18,18,20,20);
  171.       %END;
  172.       TSB(TNode, %InFuse; OutPin; 18,18,18,18,20,20,20,20);
  173.      %END;
  174.      BUF(PrevPin; FeedBack; 0,0,0,0);
  175.  %END;
  176. %MACEND;
  177.  
  178. LINV(P11;L17);
  179.      
  180. V8MAC(%SF2120, %SF2048, N1, L1, %FF00, P19, N9, %SF00, L9, N17, P1, P1);
  181. V8MAC(%SF2121, %SF2049, N2, L2, %FF256, P18, N10, %SF256, L10, N18, P19, P18);
  182. V8MAC(%SF2122, %SF2050, N3, L3, %FF512, P17, N11, %SF512, L11, N19, P18, P17);
  183. V8MAC(%SF2123, %SF2051, N4, L4, %FF768, P16, N12, %SF768, L12, N20, P17, P16);
  184. V8MAC(%SF2124, %SF2052, N5, L5, %FF1024, P15, N13, %SF1024, L13, N21, P14, P15);
  185. V8MAC(%SF2125, %SF2053, N6, L6, %FF1280, P14, N14, %SF1280, L14, N22, P13, P14);
  186. V8MAC(%SF2126, %SF2054, N7, L7, %FF1536, P13, N15, %SF1536, L15, N23, P12, P13);
  187. V8MAC(%SF2127, %SF2055, N8, L8, %FF1792, P12, N16, %SF1792, L16, N24, P11, P11);
  188. %EndModel
  189.  
  190. %StartModel
  191. %Manufacturer:Lattice
  192. %Type:16V8
  193. %PartNumber:LATTICE'GAL16V8-25L
  194. %LastNode ? ?
  195. %NumPins: 20
  196. %FDF AND 0 P2 ~P2 N1 ~N1 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5 N4 ~N4 P6 ~P6
  197.      N5 ~N5 P7 ~P7 N6 ~N6 P8 ~P8 N7 ~N7 P9 ~P9 N8 ~N8 *
  198.      
  199. %MACRO V8MAC(S0:%SF, XorFuse:%SF, FeedBack:%TEXT, LorOutput:%TEXT, InFuse:%FF, 
  200.              OutPin:%TEXT, TNode:%TEXT, EnableFuse:%SF, TLNode:%TEXT, 
  201.          TSNode:%TEXT, NextPin:%TEXT, PrevPin:%TEXT);
  202.  
  203.  %CASE %SF2192,%SF2193,%S0
  204.    2:
  205.      LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  206.          %InFuse+192,%InFuse+224;LorOutput);
  207.      %IF %XorFuse=0 %THEN
  208.       LINV(LorOutput;TLNode);
  209.       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);
  210.      %ELSE         
  211.       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);
  212.      %END;
  213.      TSB(TNode, L17; OutPin; 18,18,18,18,20,20,20,20);
  214.      BUF(TNode; FeedBack; 0,0,0,0);
  215.   |3:
  216.      LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  217.          %InFuse+192,%InFuse+224;LorOutput);
  218.      %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
  219.       %IF %XorFuse = 0 %THEN
  220.        INV(LorOutput; OutPin; 23,23,25,25);
  221.       %ELSE
  222.        BUF(LorOutput; OutPin; 23,23,25,25);
  223.       %END;
  224.      %ELSE
  225.       %IF %XorFuse = 0 %THEN
  226.        INV(LorOutput; TNode; 23,23,25,25);
  227.       %ELSE
  228.        BUF(LorOutput; TNode; 23,23,25,25);
  229.       %END;
  230.       TSB(TNode, %InFuse; OutPin; 23,23,23,23,25,25,25,25);
  231.      %END;
  232.      BUF(OutPin; FeedBack; 0,0,0,0);
  233.   |4:
  234.      LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  235.          %InFuse+192,%InFuse+224;LorOutput);
  236.      %IF %XorFuse = 0 %THEN
  237.       INV(LorOutput; OutPin; 23,23,25,25);
  238.      %ELSE
  239.       BUF(LorOutput; OutPin; 23,23,25,25);
  240.      %END;
  241.      BUF(ZERO; FeedBack; 0,0,0,0);
  242.   |5:
  243.      TSB(TSNode, ZERO; OutPin; 18,18,18,18,20,20,20,20); 
  244.      BUF(NextPin; FeedBack; 0,0,0,0);    
  245.   |7:
  246.      LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  247.          %InFuse+192,%InFuse+224;LorOutput);
  248.      %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
  249.       %IF %XorFuse = 0 %THEN
  250.        INV(LorOutput; OutPin; 23,23,25,25);
  251.       %ELSE
  252.        BUF(LorOutput; OutPin; 23,23,25,25);
  253.       %END;
  254.      %ELSE
  255.       %IF %XorFuse = 0 %THEN
  256.        INV(LorOutput; TNode; 23,23,25,25);
  257.       %ELSE
  258.        BUF(LorOutput; TNode; 23,23,25,25);
  259.       %END;
  260.       TSB(TNode, %InFuse; OutPin; 23,23,23,23,25,25,25,25);
  261.      %END;
  262.      BUF(PrevPin; FeedBack; 0,0,0,0);
  263.  %END;
  264. %MACEND;
  265.  
  266. LINV(P11;L17);
  267.      
  268. V8MAC(%SF2120, %SF2048, N1, L1, %FF00, P19, N9, %SF00, L9, N17, P1, P1);
  269. V8MAC(%SF2121, %SF2049, N2, L2, %FF256, P18, N10, %SF256, L10, N18, P19, P18);
  270. V8MAC(%SF2122, %SF2050, N3, L3, %FF512, P17, N11, %SF512, L11, N19, P18, P17);
  271. V8MAC(%SF2123, %SF2051, N4, L4, %FF768, P16, N12, %SF768, L12, N20, P17, P16);
  272. V8MAC(%SF2124, %SF2052, N5, L5, %FF1024, P15, N13, %SF1024, L13, N21, P14, P15);
  273. V8MAC(%SF2125, %SF2053, N6, L6, %FF1280, P14, N14, %SF1280, L14, N22, P13, P14);
  274. V8MAC(%SF2126, %SF2054, N7, L7, %FF1536, P13, N15, %SF1536, L15, N23, P12, P13);
  275. V8MAC(%SF2127, %SF2055, N8, L8, %FF1792, P12, N16, %SF1792, L16, N24, P11, P11);
  276. %EndModel
  277.  
  278. %StartModel
  279. %Manufacturer:Lattice
  280. %Type:16V8
  281. %PartNumber:LATTICE'GAL16V8-25Q
  282. %LastNode ? ?
  283. %NumPins: 20
  284. %FDF AND 0 P2 ~P2 N1 ~N1 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5 N4 ~N4 P6 ~P6
  285.      N5 ~N5 P7 ~P7 N6 ~N6 P8 ~P8 N7 ~N7 P9 ~P9 N8 ~N8 *
  286.      
  287. %MACRO V8MAC(S0:%SF, XorFuse:%SF, FeedBack:%TEXT, LorOutput:%TEXT, InFuse:%FF, 
  288.              OutPin:%TEXT, TNode:%TEXT, EnableFuse:%SF, TLNode:%TEXT, 
  289.          TSNode:%TEXT, NextPin:%TEXT, PrevPin:%TEXT);
  290.  
  291.  %CASE %SF2192,%SF2193,%S0
  292.    2:
  293.      LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  294.          %InFuse+192,%InFuse+224;LorOutput);
  295.      %IF %XorFuse=0 %THEN
  296.       LINV(LorOutput;TLNode);
  297.       DQFFC(TLNode, P1, IPL; TNode; 8,8,10,0,8,8,1,1,1,1,10,10,10,0,8,8,1,1,1,1);
  298.      %ELSE         
  299.       DQFFC(LorOutput, P1, IPL; TNode; 8,8,10,0,8,8,1,1,1,1,10,10,10,0,8,8,1,1,1,1);
  300.      %END;
  301.      TSB(TNode, L17; OutPin; 18,18,18,18,20,20,20,20);
  302.      BUF(TNode; FeedBack; 0,0,0,0);
  303.   |3:
  304.      LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  305.          %InFuse+192,%InFuse+224;LorOutput);
  306.      %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
  307.       %IF %XorFuse = 0 %THEN
  308.        INV(LorOutput; OutPin; 23,23,25,25);
  309.       %ELSE
  310.        BUF(LorOutput; OutPin; 23,23,25,25);
  311.       %END;
  312.      %ELSE
  313.       %IF %XorFuse = 0 %THEN
  314.        INV(LorOutput; TNode; 23,23,25,25);
  315.       %ELSE
  316.        BUF(LorOutput; TNode; 23,23,25,25);
  317.       %END;
  318.       TSB(TNode, %InFuse; OutPin; 23,23,23,23,25,25,25,25);
  319.      %END;
  320.      BUF(OutPin; FeedBack; 0,0,0,0);
  321.   |4:
  322.      LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  323.          %InFuse+192,%InFuse+224;LorOutput);
  324.      %IF %XorFuse = 0 %THEN
  325.       INV(LorOutput; OutPin; 23,23,25,25);
  326.      %ELSE
  327.       BUF(LorOutput; OutPin; 23,23,25,25);
  328.      %END;
  329.      BUF(ZERO; FeedBack; 0,0,0,0);
  330.   |5:
  331.      TSB(TSNode, ZERO; OutPin; 18,18,18,18,20,20,20,20); 
  332.      BUF(NextPin; FeedBack; 0,0,0,0);    
  333.   |7:
  334.      LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  335.          %InFuse+192,%InFuse+224;LorOutput);
  336.      %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
  337.       %IF %XorFuse = 0 %THEN
  338.        INV(LorOutput; OutPin; 23,23,25,25);
  339.       %ELSE
  340.        BUF(LorOutput; OutPin; 23,23,25,25);
  341.       %END;
  342.      %ELSE
  343.       %IF %XorFuse = 0 %THEN
  344.        INV(LorOutput; TNode; 23,23,25,25);
  345.       %ELSE
  346.        BUF(LorOutput; TNode; 23,23,25,25);
  347.       %END;
  348.       TSB(TNode, %InFuse; OutPin; 23,23,23,23,25,25,25,25);
  349.      %END;
  350.      BUF(PrevPin; FeedBack; 0,0,0,0);
  351.  %END;
  352. %MACEND;
  353.  
  354. LINV(P11;L17);
  355.      
  356. V8MAC(%SF2120, %SF2048, N1, L1, %FF00, P19, N9, %SF00, L9, N17, P1, P1);
  357. V8MAC(%SF2121, %SF2049, N2, L2, %FF256, P18, N10, %SF256, L10, N18, P19, P18);
  358. V8MAC(%SF2122, %SF2050, N3, L3, %FF512, P17, N11, %SF512, L11, N19, P18, P17);
  359. V8MAC(%SF2123, %SF2051, N4, L4, %FF768, P16, N12, %SF768, L12, N20, P17, P16);
  360. V8MAC(%SF2124, %SF2052, N5, L5, %FF1024, P15, N13, %SF1024, L13, N21, P14, P15);
  361. V8MAC(%SF2125, %SF2053, N6, L6, %FF1280, P14, N14, %SF1280, L14, N22, P13, P14);
  362. V8MAC(%SF2126, %SF2054, N7, L7, %FF1536, P13, N15, %SF1536, L15, N23, P12, P13);
  363. V8MAC(%SF2127, %SF2055, N8, L8, %FF1792, P12, N16, %SF1792, L16, N24, P11, P11);
  364. %EndModel
  365.  
  366. %StartModel
  367. %Manufacturer:Lattice
  368. %Type:16V8A
  369. %PartNumber:LATTICE'GAL16V8A-10L
  370. %LastNode ? ?
  371. %NumPins: 20
  372. %FDF AND 0 P2 ~P2 N1 ~N1 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5 N4 ~N4 P6 ~P6
  373.      N5 ~N5 P7 ~P7 N6 ~N6 P8 ~P8 N7 ~N7 P9 ~P9 N8 ~N8 *
  374.      
  375. %MACRO V8MAC(S0:%SF, XorFuse:%SF, FeedBack:%TEXT, LorOutput:%TEXT, InFuse:%FF, 
  376.              OutPin:%TEXT, TNode:%TEXT, EnableFuse:%SF, TLNode:%TEXT, 
  377.          TSNode:%TEXT, NextPin:%TEXT, PrevPin:%TEXT);
  378.  
  379.  %CASE %SF2192,%SF2193,%S0
  380.    2:
  381.      LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  382.          %InFuse+192,%InFuse+224;LorOutput);
  383.      %IF %XorFuse=0 %THEN
  384.       LINV(LorOutput;TLNode);
  385.       DQFFC(TLNode, P1, IPL; TNode; 6,6,10,0,8,8,1,1,1,1,8,8,10,0,8,8,1,1,1,1);
  386.      %ELSE         
  387.       DQFFC(LorOutput, P1, IPL; TNode; 6,6,10,0,8,8,1,1,1,1,8,8,10,0,8,8,1,1,1,1);
  388.      %END;
  389.      TSB(TNode, L17; OutPin; 8,8,8,8,10,10,10,10);
  390.      BUF(TNode; FeedBack; 0,0,0,0);
  391.   |3:
  392.      LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  393.          %InFuse+192,%InFuse+224;LorOutput);
  394.      %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
  395.       %IF %XorFuse = 0 %THEN
  396.        INV(LorOutput; OutPin; 8,8,10,10);
  397.       %ELSE
  398.        BUF(LorOutput; OutPin; 8,8,10,10);
  399.       %END;
  400.      %ELSE
  401.       %IF %XorFuse = 0 %THEN
  402.        INV(LorOutput; TNode; 8,8,10,10);
  403.       %ELSE
  404.        BUF(LorOutput; TNode; 8,8,10,10);
  405.       %END;
  406.       TSB(TNode, %InFuse; OutPin; 8,8,8,8,10,10,10,10);
  407.      %END;
  408.      BUF(OutPin; FeedBack; 0,0,0,0);
  409.   |4:
  410.      LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  411.          %InFuse+192,%InFuse+224;LorOutput);
  412.      %IF %XorFuse = 0 %THEN
  413.       INV(LorOutput; OutPin; 8,8,10,10);
  414.      %ELSE
  415.       BUF(LorOutput; OutPin; 8,8,10,10);
  416.      %END;
  417.      BUF(NextPin; FeedBack; 0,0,0,0);
  418.   |5:
  419.      TSB(TSNode, ZERO; OutPin; 8,8,8,8,10,10,10,10); 
  420.      BUF(NextPin; FeedBack; 0,0,0,0);    
  421.   |7:
  422.      LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  423.          %InFuse+192,%InFuse+224;LorOutput);
  424.      %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
  425.       %IF %XorFuse = 0 %THEN
  426.        INV(LorOutput; OutPin; 8,8,10,10);
  427.       %ELSE
  428.        BUF(LorOutput; OutPin; 8,8,10,10);
  429.       %END;
  430.      %ELSE
  431.       %IF %XorFuse = 0 %THEN
  432.        INV(LorOutput; TNode; 8,8,10,10);
  433.       %ELSE
  434.        BUF(LorOutput; TNode; 8,8,10,10);
  435.       %END;
  436.       TSB(TNode, %InFuse; OutPin; 8,8,8,8,10,10,10,10);
  437.      %END;
  438.      BUF(PrevPin; FeedBack; 0,0,0,0);
  439.  %END;
  440. %MACEND;
  441.  
  442. LINV(P11;L17);
  443.      
  444. V8MAC(%SF2120, %SF2048, N1, L1, %FF00, P19, N9, %SF00, L9, N17, P1, P1);
  445. V8MAC(%SF2121, %SF2049, N2, L2, %FF256, P18, N10, %SF256, L10, N18, P19, P18);
  446. V8MAC(%SF2122, %SF2050, N3, L3, %FF512, P17, N11, %SF512, L11, N19, P18, P17);
  447. V8MAC(%SF2123, %SF2051, N4, L4, %FF768, P16, N12, %SF768, L12, N20, P17, P16);
  448. V8MAC(%SF2124, %SF2052, N5, L5, %FF1024, P15, N13, %SF1024, L13, N21, P14, P15);
  449. V8MAC(%SF2125, %SF2053, N6, L6, %FF1280, P14, N14, %SF1280, L14, N22, P13, P14);
  450. V8MAC(%SF2126, %SF2054, N7, L7, %FF1536, P13, N15, %SF1536, L15, N23, P12, P13);
  451. V8MAC(%SF2127, %SF2055, N8, L8, %FF1792, P12, N16, %SF1792, L16, N24, P11, P11);
  452. %EndModel
  453.  
  454. %StartModel
  455. %Manufacturer:Lattice
  456. %Type:16V8A
  457. %PartNumber:LATTICE'GAL16V8A-12L
  458. %LastNode ? ?
  459. %NumPins: 20
  460. %FDF AND 0 P2 ~P2 N1 ~N1 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5 N4 ~N4 P6 ~P6
  461.      N5 ~N5 P7 ~P7 N6 ~N6 P8 ~P8 N7 ~N7 P9 ~P9 N8 ~N8 *
  462.      
  463. %MACRO V8MAC(S0:%SF, XorFuse:%SF, FeedBack:%TEXT, LorOutput:%TEXT, InFuse:%FF, 
  464.              OutPin:%TEXT, TNode:%TEXT, EnableFuse:%SF, TLNode:%TEXT, 
  465.          TSNode:%TEXT, NextPin:%TEXT, PrevPin:%TEXT);
  466.  
  467.  %CASE %SF2192,%SF2193,%S0
  468.    2:
  469.      LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  470.          %InFuse+192,%InFuse+224;LorOutput);
  471.      %IF %XorFuse=0 %THEN
  472.       LINV(LorOutput;TLNode);
  473.       DQFFC(TLNode, P1, IPL; TNode; 8,8,10,0,8,8,1,1,1,1,10,10,10,0,8,8,1,1,1,1);
  474.      %ELSE         
  475.       DQFFC(LorOutput, P1, IPL; TNode; 8,8,10,0,8,8,1,1,1,1,10,10,10,0,8,8,1,1,1,1);
  476.      %END;
  477.      TSB(TNode, L17; OutPin; 8,8,8,8,10,10,10,10);
  478.      BUF(TNode; FeedBack; 0,0,0,0);
  479.   |3:
  480.      LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  481.          %InFuse+192,%InFuse+224;LorOutput);
  482.      %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
  483.       %IF %XorFuse = 0 %THEN
  484.        INV(LorOutput; OutPin; 10,10,12,12);
  485.       %ELSE
  486.        BUF(LorOutput; OutPin; 10,10,12,12);
  487.       %END;
  488.      %ELSE
  489.       %IF %XorFuse = 0 %THEN
  490.        INV(LorOutput; TNode; 10,10,12,12);
  491.       %ELSE
  492.        BUF(LorOutput; TNode; 10,10,12,12);
  493.       %END;
  494.       TSB(TNode, %InFuse; OutPin; 10,10,10,10,12,12,12,12);
  495.      %END;
  496.      BUF(OutPin; FeedBack; 0,0,0,0);
  497.   |4:
  498.      LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  499.          %InFuse+192,%InFuse+224;LorOutput);
  500.      %IF %XorFuse = 0 %THEN
  501.       INV(LorOutput; OutPin; 10,10,12,12);
  502.      %ELSE
  503.       BUF(LorOutput; OutPin; 10,10,12,12);
  504.      %END;
  505.      BUF(NextPin; FeedBack; 0,0,0,0);
  506.   |5:
  507.      TSB(TSNode, ZERO; OutPin; 8,8,8,8,10,10,10,10); 
  508.      BUF(NextPin; FeedBack; 0,0,0,0);    
  509.   |7:
  510.      LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  511.          %InFuse+192,%InFuse+224;LorOutput);
  512.      %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
  513.       %IF %XorFuse = 0 %THEN
  514.        INV(LorOutput; OutPin; 10,10,12,12);
  515.       %ELSE
  516.        BUF(LorOutput; OutPin; 10,10,12,12);
  517.       %END;
  518.      %ELSE
  519.       %IF %XorFuse = 0 %THEN
  520.        INV(LorOutput; TNode; 10,10,12,12);
  521.       %ELSE
  522.        BUF(LorOutput; TNode; 10,10,12,12);
  523.       %END;
  524.       TSB(TNode, %InFuse; OutPin; 10,10,10,10,12,12,12,12);
  525.      %END;
  526.      BUF(PrevPin; FeedBack; 0,0,0,0);
  527.  %END;
  528. %MACEND;
  529.  
  530. LINV(P11;L17);
  531.      
  532. V8MAC(%SF2120, %SF2048, N1, L1, %FF00, P19, N9, %SF00, L9, N17, P1, P1);
  533. V8MAC(%SF2121, %SF2049, N2, L2, %FF256, P18, N10, %SF256, L10, N18, P19, P18);
  534. V8MAC(%SF2122, %SF2050, N3, L3, %FF512, P17, N11, %SF512, L11, N19, P18, P17);
  535. V8MAC(%SF2123, %SF2051, N4, L4, %FF768, P16, N12, %SF768, L12, N20, P17, P16);
  536. V8MAC(%SF2124, %SF2052, N5, L5, %FF1024, P15, N13, %SF1024, L13, N21, P14, P15);
  537. V8MAC(%SF2125, %SF2053, N6, L6, %FF1280, P14, N14, %SF1280, L14, N22, P13, P14);
  538. V8MAC(%SF2126, %SF2054, N7, L7, %FF1536, P13, N15, %SF1536, L15, N23, P12, P13);
  539. V8MAC(%SF2127, %SF2055, N8, L8, %FF1792, P12, N16, %SF1792, L16, N24, P11, P11);
  540. %EndModel
  541.  
  542. %StartModel
  543. %Manufacturer:Lattice
  544. %Type:16V8A
  545. %PartNumber:LATTICE'GAL16V8A-15L
  546. %LastNode ? ?
  547. %NumPins: 20
  548. %FDF AND 0 P2 ~P2 N1 ~N1 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5 N4 ~N4 P6 ~P6
  549.      N5 ~N5 P7 ~P7 N6 ~N6 P8 ~P8 N7 ~N7 P9 ~P9 N8 ~N8 *
  550.      
  551. %MACRO V8MAC(S0:%SF, XorFuse:%SF, FeedBack:%TEXT, LorOutput:%TEXT, InFuse:%FF, 
  552.              OutPin:%TEXT, TNode:%TEXT, EnableFuse:%SF, TLNode:%TEXT, 
  553.          TSNode:%TEXT, NextPin:%TEXT, PrevPin:%TEXT);
  554.  
  555.  %CASE %SF2192,%SF2193,%S0
  556.    2:
  557.      LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  558.          %InFuse+192,%InFuse+224;LorOutput);
  559.      %IF %XorFuse=0 %THEN
  560.       LINV(LorOutput;TLNode);
  561.       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);
  562.      %ELSE         
  563.       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);
  564.      %END;
  565.      TSB(TNode, L17; OutPin; 13,13,13,13,15,15,15,15);
  566.      BUF(TNode; FeedBack; 0,0,0,0);
  567.   |3:
  568.      LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  569.          %InFuse+192,%InFuse+224;LorOutput);
  570.      %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
  571.       %IF %XorFuse = 0 %THEN
  572.        INV(LorOutput; OutPin; 13,13,15,15);
  573.       %ELSE
  574.        BUF(LorOutput; OutPin; 13,13,15,15);
  575.       %END;
  576.      %ELSE
  577.       %IF %XorFuse = 0 %THEN
  578.        INV(LorOutput; TNode; 13,13,15,15);
  579.       %ELSE
  580.        BUF(LorOutput; TNode; 13,13,15,15);
  581.       %END;
  582.       TSB(TNode, %InFuse; OutPin; 13,13,13,13,15,15,15,15);
  583.      %END;
  584.      BUF(OutPin; FeedBack; 0,0,0,0);
  585.   |4:
  586.      LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  587.          %InFuse+192,%InFuse+224;LorOutput);
  588.      %IF %XorFuse = 0 %THEN
  589.       INV(LorOutput; OutPin; 13,13,15,15);
  590.      %ELSE
  591.       BUF(LorOutput; OutPin; 13,13,15,15);
  592.      %END;
  593.      BUF(NextPin; FeedBack; 0,0,0,0);
  594.   |5:
  595.      TSB(TSNode, ZERO; OutPin; 13,13,13,13,15,15,15,15);
  596.      BUF(NextPin; FeedBack; 0,0,0,0);    
  597.   |7:
  598.      LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  599.          %InFuse+192,%InFuse+224;LorOutput);
  600.      %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
  601.       %IF %XorFuse = 0 %THEN
  602.        INV(LorOutput; OutPin; 13,13,15,15);
  603.       %ELSE
  604.        BUF(LorOutput; OutPin; 13,13,15,15);
  605.       %END;
  606.      %ELSE
  607.       %IF %XorFuse = 0 %THEN
  608.        INV(LorOutput; TNode; 13,13,15,15);
  609.       %ELSE
  610.        BUF(LorOutput; TNode; 13,13,15,15);
  611.       %END;
  612.       TSB(TNode, %InFuse; OutPin; 13,13,13,13,15,15,15,15);
  613.      %END;
  614.      BUF(PrevPin; FeedBack; 0,0,0,0);
  615.  %END;
  616. %MACEND;
  617.  
  618. LINV(P11;L17);
  619.      
  620. V8MAC(%SF2120, %SF2048, N1, L1, %FF00, P19, N9, %SF00, L9, N17, P1, P1);
  621. V8MAC(%SF2121, %SF2049, N2, L2, %FF256, P18, N10, %SF256, L10, N18, P19, P18);
  622. V8MAC(%SF2122, %SF2050, N3, L3, %FF512, P17, N11, %SF512, L11, N19, P18, P17);
  623. V8MAC(%SF2123, %SF2051, N4, L4, %FF768, P16, N12, %SF768, L12, N20, P17, P16);
  624. V8MAC(%SF2124, %SF2052, N5, L5, %FF1024, P15, N13, %SF1024, L13, N21, P14, P15);
  625. V8MAC(%SF2125, %SF2053, N6, L6, %FF1280, P14, N14, %SF1280, L14, N22, P13, P14);
  626. V8MAC(%SF2126, %SF2054, N7, L7, %FF1536, P13, N15, %SF1536, L15, N23, P12, P13);
  627. V8MAC(%SF2127, %SF2055, N8, L8, %FF1792, P12, N16, %SF1792, L16, N24, P11, P11);
  628. %EndModel
  629.  
  630. ;THE FOLLOWING MODEL DELAYS WERE TAKEN FROM ADVANCED INFORMATION
  631. %StartModel
  632. %Manufacturer:Lattice
  633. %Type:16V8A
  634. %PartNumber:LATTICE'GAL16V8A-15Q
  635. %LastNode ? ?
  636. %NumPins: 20
  637. %FDF AND 0 P2 ~P2 N1 ~N1 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5 N4 ~N4 P6 ~P6
  638.      N5 ~N5 P7 ~P7 N6 ~N6 P8 ~P8 N7 ~N7 P9 ~P9 N8 ~N8 *
  639.      
  640. %MACRO V8MAC(S0:%SF, XorFuse:%SF, FeedBack:%TEXT, LorOutput:%TEXT, InFuse:%FF, 
  641.              OutPin:%TEXT, TNode:%TEXT, EnableFuse:%SF, TLNode:%TEXT, 
  642.          TSNode:%TEXT, NextPin:%TEXT, PrevPin:%TEXT);
  643.  
  644.  %CASE %SF2192,%SF2193,%S0
  645.    2:
  646.      LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  647.          %InFuse+192,%InFuse+224;LorOutput);
  648.      %IF %XorFuse=0 %THEN
  649.       LINV(LorOutput;TLNode);
  650.       DQFFC(TLNode, P1, IPL; TNode; 10,10,15,0,10,10,1,1,1,1,12,12,15,0,10,10,1,1,1,1);
  651.      %ELSE         
  652.       DQFFC(LorOutput, P1, IPL; TNode; 10,10,15,0,10,10,1,1,1,1,12,12,15,0,10,10,1,1,1,1);
  653.      %END;
  654.      TSB(TNode, L17; OutPin; 13,13,13,13,15,15,15,15);
  655.      BUF(TNode; FeedBack; 0,0,0,0);
  656.   |3:
  657.      LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  658.          %InFuse+192,%InFuse+224;LorOutput);
  659.      %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
  660.       %IF %XorFuse = 0 %THEN
  661.        INV(LorOutput; OutPin; 13,13,15,15);
  662.       %ELSE
  663.        BUF(LorOutput; OutPin; 13,13,15,15);
  664.       %END;
  665.      %ELSE
  666.       %IF %XorFuse = 0 %THEN
  667.        INV(LorOutput; TNode; 13,13,15,15);
  668.       %ELSE
  669.        BUF(LorOutput; TNode; 13,13,15,15);
  670.       %END;
  671.       TSB(TNode, %InFuse; OutPin; 13,13,13,13,15,15,15,15);
  672.      %END;
  673.      BUF(OutPin; FeedBack; 0,0,0,0);
  674.   |4:
  675.      LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  676.          %InFuse+192,%InFuse+224;LorOutput);
  677.      %IF %XorFuse = 0 %THEN
  678.       INV(LorOutput; OutPin; 13,13,15,15);
  679.      %ELSE
  680.       BUF(LorOutput; OutPin; 13,13,15,15);
  681.      %END;
  682.      BUF(NextPin; FeedBack; 0,0,0,0);
  683.   |5:
  684.      TSB(TSNode, ZERO; OutPin; 13,13,13,13,15,15,15,15); 
  685.      BUF(NextPin; FeedBack; 0,0,0,0);    
  686.   |7:
  687.      LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  688.          %InFuse+192,%InFuse+224;LorOutput);
  689.      %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
  690.       %IF %XorFuse = 0 %THEN
  691.        INV(LorOutput; OutPin; 13,13,15,15);
  692.       %ELSE
  693.        BUF(LorOutput; OutPin; 13,13,15,15);
  694.       %END;
  695.      %ELSE
  696.       %IF %XorFuse = 0 %THEN
  697.        INV(LorOutput; TNode; 13,13,15,15);
  698.       %ELSE
  699.        BUF(LorOutput; TNode; 13,13,15,15);
  700.       %END;
  701.       TSB(TNode, %InFuse; OutPin; 13,13,13,13,15,15,15,15);
  702.      %END;
  703.      BUF(PrevPin; FeedBack; 0,0,0,0);
  704.  %END;
  705. %MACEND;
  706.  
  707. LINV(P11;L17);
  708.      
  709. V8MAC(%SF2120, %SF2048, N1, L1, %FF00, P19, N9, %SF00, L9, N17, P1, P1);
  710. V8MAC(%SF2121, %SF2049, N2, L2, %FF256, P18, N10, %SF256, L10, N18, P19, P18);
  711. V8MAC(%SF2122, %SF2050, N3, L3, %FF512, P17, N11, %SF512, L11, N19, P18, P17);
  712. V8MAC(%SF2123, %SF2051, N4, L4, %FF768, P16, N12, %SF768, L12, N20, P17, P16);
  713. V8MAC(%SF2124, %SF2052, N5, L5, %FF1024, P15, N13, %SF1024, L13, N21, P14, P15);
  714. V8MAC(%SF2125, %SF2053, N6, L6, %FF1280, P14, N14, %SF1280, L14, N22, P13, P14);
  715. V8MAC(%SF2126, %SF2054, N7, L7, %FF1536, P13, N15, %SF1536, L15, N23, P12, P13);
  716. V8MAC(%SF2127, %SF2055, N8, L8, %FF1792, P12, N16, %SF1792, L16, N24, P11, P11);
  717. %EndModel
  718.  
  719. %StartModel
  720. %Manufacturer:Lattice
  721. %Type:16V8A
  722. %PartNumber:LATTICE'GAL16V8A-25L
  723. %LastNode ? ?
  724. %NumPins: 20
  725. %FDF AND 0 P2 ~P2 N1 ~N1 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5 N4 ~N4 P6 ~P6
  726.      N5 ~N5 P7 ~P7 N6 ~N6 P8 ~P8 N7 ~N7 P9 ~P9 N8 ~N8 *
  727.      
  728. %MACRO V8MAC(S0:%SF, XorFuse:%SF, FeedBack:%TEXT, LorOutput:%TEXT, InFuse:%FF, 
  729.              OutPin:%TEXT, TNode:%TEXT, EnableFuse:%SF, TLNode:%TEXT, 
  730.          TSNode:%TEXT, NextPin:%TEXT, PrevPin:%TEXT);
  731.  
  732.  %CASE %SF2192,%SF2193,%S0
  733.    2:
  734.      LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  735.          %InFuse+192,%InFuse+224;LorOutput);
  736.      %IF %XorFuse=0 %THEN
  737.       LINV(LorOutput;TLNode);
  738.       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);
  739.      %ELSE         
  740.       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);
  741.      %END;
  742.      TSB(TNode, L17; OutPin; 18,18,18,18,20,20,20,20);
  743.      BUF(TNode; FeedBack; 0,0,0,0);
  744.   |3:
  745.      LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  746.          %InFuse+192,%InFuse+224;LorOutput);
  747.      %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
  748.       %IF %XorFuse = 0 %THEN
  749.        INV(LorOutput; OutPin; 23,23,25,25);
  750.       %ELSE
  751.        BUF(LorOutput; OutPin; 23,23,25,25);
  752.       %END;
  753.      %ELSE
  754.       %IF %XorFuse = 0 %THEN
  755.        INV(LorOutput; TNode; 23,23,25,25);
  756.       %ELSE
  757.        BUF(LorOutput; TNode; 23,23,25,25);
  758.       %END;
  759.       TSB(TNode, %InFuse; OutPin; 23,23,23,23,25,25,25,25);
  760.      %END;
  761.      BUF(OutPin; FeedBack; 0,0,0,0);
  762.   |4:
  763.      LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  764.          %InFuse+192,%InFuse+224;LorOutput);
  765.      %IF %XorFuse = 0 %THEN
  766.       INV(LorOutput; OutPin; 23,23,25,25);
  767.      %ELSE
  768.       BUF(LorOutput; OutPin; 23,23,25,25);
  769.      %END;
  770.      BUF(NextPin; FeedBack; 0,0,0,0);
  771.   |5:
  772.      TSB(TSNode, ZERO; OutPin; 18,18,18,18,20,20,20,20); 
  773.      BUF(NextPin; FeedBack; 0,0,0,0);    
  774.   |7:
  775.      LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  776.          %InFuse+192,%InFuse+224;LorOutput);
  777.      %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
  778.       %IF %XorFuse = 0 %THEN
  779.        INV(LorOutput; OutPin; 23,23,25,25);
  780.       %ELSE
  781.        BUF(LorOutput; OutPin; 23,23,25,25);
  782.       %END;
  783.      %ELSE
  784.       %IF %XorFuse = 0 %THEN
  785.        INV(LorOutput; TNode; 23,23,25,25);
  786.       %ELSE
  787.        BUF(LorOutput; TNode; 23,23,25,25);
  788.       %END;
  789.       TSB(TNode, %InFuse; OutPin; 23,23,23,23,25,25,25,25);
  790.      %END;
  791.      BUF(PrevPin; FeedBack; 0,0,0,0);
  792.  %END;
  793. %MACEND;
  794.  
  795. LINV(P11;L17);
  796.      
  797. V8MAC(%SF2120, %SF2048, N1, L1, %FF00, P19, N9, %SF00, L9, N17, P1, P1);
  798. V8MAC(%SF2121, %SF2049, N2, L2, %FF256, P18, N10, %SF256, L10, N18, P19, P18);
  799. V8MAC(%SF2122, %SF2050, N3, L3, %FF512, P17, N11, %SF512, L11, N19, P18, P17);
  800. V8MAC(%SF2123, %SF2051, N4, L4, %FF768, P16, N12, %SF768, L12, N20, P17, P16);
  801. V8MAC(%SF2124, %SF2052, N5, L5, %FF1024, P15, N13, %SF1024, L13, N21, P14, P15);
  802. V8MAC(%SF2125, %SF2053, N6, L6, %FF1280, P14, N14, %SF1280, L14, N22, P13, P14);
  803. V8MAC(%SF2126, %SF2054, N7, L7, %FF1536, P13, N15, %SF1536, L15, N23, P12, P13);
  804. V8MAC(%SF2127, %SF2055, N8, L8, %FF1792, P12, N16, %SF1792, L16, N24, P11, P11);
  805. %EndModel
  806.  
  807. %StartModel
  808. %Manufacturer:Lattice
  809. %Type:16V8A
  810. %PartNumber:LATTICE'GAL16V8A-15LI
  811. %LastNode ? ?
  812. %NumPins: 20
  813. %FDF AND 0 P2 ~P2 N1 ~N1 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5 N4 ~N4 P6 ~P6
  814.      N5 ~N5 P7 ~P7 N6 ~N6 P8 ~P8 N7 ~N7 P9 ~P9 N8 ~N8 *
  815.      
  816. %MACRO V8MAC(S0:%SF, XorFuse:%SF, FeedBack:%TEXT, LorOutput:%TEXT, InFuse:%FF, 
  817.              OutPin:%TEXT, TNode:%TEXT, EnableFuse:%SF, TLNode:%TEXT, 
  818.          TSNode:%TEXT, NextPin:%TEXT, PrevPin:%TEXT);
  819.  
  820.  %CASE %SF2192,%SF2193,%S0
  821.    2:
  822.      LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  823.          %InFuse+192,%InFuse+224;LorOutput);
  824.      %IF %XorFuse=0 %THEN
  825.       LINV(LorOutput;TLNode);
  826.       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);
  827.      %ELSE         
  828.       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);
  829.      %END;
  830.      TSB(TNode, L17; OutPin; 13,13,13,13,15,15,15,15);
  831.      BUF(TNode; FeedBack; 0,0,0,0);
  832.   |3:
  833.      LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  834.          %InFuse+192,%InFuse+224;LorOutput);
  835.      %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
  836.       %IF %XorFuse = 0 %THEN
  837.        INV(LorOutput; OutPin; 23,23,25,25);
  838.       %ELSE
  839.        BUF(LorOutput; OutPin; 23,23,25,25);
  840.       %END;
  841.      %ELSE
  842.       %IF %XorFuse = 0 %THEN
  843.        INV(LorOutput; TNode; 23,23,25,25);
  844.       %ELSE
  845.        BUF(LorOutput; TNode; 23,23,25,25);
  846.       %END;
  847.       TSB(TNode, %InFuse; OutPin; 13,13,13,13,15,15,15,15);
  848.      %END;
  849.      BUF(OutPin; FeedBack; 0,0,0,0);
  850.   |4:
  851.      LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  852.          %InFuse+192,%InFuse+224;LorOutput);
  853.      %IF %XorFuse = 0 %THEN
  854.       INV(LorOutput; OutPin; 23,23,25,25);
  855.      %ELSE
  856.       BUF(LorOutput; OutPin; 23,23,25,25);
  857.      %END;
  858.      BUF(NextPin; FeedBack; 0,0,0,0);
  859.   |5:
  860.      TSB(TSNode, ZERO; OutPin; 13,13,13,13,15,15,15,15);
  861.      BUF(NextPin; FeedBack; 0,0,0,0);    
  862.   |7:
  863.      LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  864.          %InFuse+192,%InFuse+224;LorOutput);
  865.      %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
  866.       %IF %XorFuse = 0 %THEN
  867.        INV(LorOutput; OutPin; 23,23,25,25);
  868.       %ELSE
  869.        BUF(LorOutput; OutPin; 23,23,25,25);
  870.       %END;
  871.      %ELSE
  872.       %IF %XorFuse = 0 %THEN
  873.        INV(LorOutput; TNode; 23,23,25,25);
  874.       %ELSE
  875.        BUF(LorOutput; TNode; 23,23,25,25);
  876.       %END;
  877.       TSB(TNode, %InFuse; OutPin; 13,13,13,13,15,15,15,15);
  878.      %END;
  879.      BUF(PrevPin; FeedBack; 0,0,0,0);
  880.  %END;
  881. %MACEND;
  882.  
  883. LINV(P11;L17);
  884.      
  885. V8MAC(%SF2120, %SF2048, N1, L1, %FF00, P19, N9, %SF00, L9, N17, P1, P1);
  886. V8MAC(%SF2121, %SF2049, N2, L2, %FF256, P18, N10, %SF256, L10, N18, P19, P18);
  887. V8MAC(%SF2122, %SF2050, N3, L3, %FF512, P17, N11, %SF512, L11, N19, P18, P17);
  888. V8MAC(%SF2123, %SF2051, N4, L4, %FF768, P16, N12, %SF768, L12, N20, P17, P16);
  889. V8MAC(%SF2124, %SF2052, N5, L5, %FF1024, P15, N13, %SF1024, L13, N21, P14, P15);
  890. V8MAC(%SF2125, %SF2053, N6, L6, %FF1280, P14, N14, %SF1280, L14, N22, P13, P14);
  891. V8MAC(%SF2126, %SF2054, N7, L7, %FF1536, P13, N15, %SF1536, L15, N23, P12, P13);
  892. V8MAC(%SF2127, %SF2055, N8, L8, %FF1792, P12, N16, %SF1792, L16, N24, P11, P11);
  893. %EndModel
  894.  
  895. %StartModel
  896. %Manufacturer:Lattice
  897. %Type:16V8A
  898. %PartNumber:LATTICE'GAL16V8A-20LI
  899. %LastNode ? ?
  900. %NumPins: 20
  901. %FDF AND 0 P2 ~P2 N1 ~N1 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5 N4 ~N4 P6 ~P6
  902.      N5 ~N5 P7 ~P7 N6 ~N6 P8 ~P8 N7 ~N7 P9 ~P9 N8 ~N8 *
  903.      
  904. %MACRO V8MAC(S0:%SF, XorFuse:%SF, FeedBack:%TEXT, LorOutput:%TEXT, InFuse:%FF, 
  905.              OutPin:%TEXT, TNode:%TEXT, EnableFuse:%SF, TLNode:%TEXT, 
  906.          TSNode:%TEXT, NextPin:%TEXT, PrevPin:%TEXT);
  907.  
  908.  %CASE %SF2192,%SF2193,%S0
  909.    2:
  910.      LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  911.          %InFuse+192,%InFuse+224;LorOutput);
  912.      %IF %XorFuse=0 %THEN
  913.       LINV(LorOutput;TLNode);
  914.       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);
  915.      %ELSE         
  916.       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);
  917.      %END;
  918.      TSB(TNode, L17; OutPin; 16,16,16,16,18,18,18,18);
  919.      BUF(TNode; FeedBack; 0,0,0,0);
  920.   |3:
  921.      LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  922.          %InFuse+192,%InFuse+224;LorOutput);
  923.      %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
  924.       %IF %XorFuse = 0 %THEN
  925.        INV(LorOutput; OutPin; 18,18,20,20);
  926.       %ELSE
  927.        BUF(LorOutput; OutPin; 18,18,20,20);
  928.       %END;
  929.      %ELSE
  930.       %IF %XorFuse = 0 %THEN
  931.        INV(LorOutput; TNode; 18,18,20,20);
  932.       %ELSE
  933.        BUF(LorOutput; TNode; 18,18,20,20);
  934.       %END;
  935.       TSB(TNode, %InFuse; OutPin; 18,18,18,18,20,20,20,20);
  936.      %END;
  937.      BUF(OutPin; FeedBack; 0,0,0,0);
  938.   |4:
  939.      LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  940.          %InFuse+192,%InFuse+224;LorOutput);
  941.      %IF %XorFuse = 0 %THEN
  942.       INV(LorOutput; OutPin; 18,18,20,20);
  943.      %ELSE
  944.       BUF(LorOutput; OutPin; 18,18,20,20);
  945.      %END;
  946.      BUF(NextPin; FeedBack; 0,0,0,0);
  947.   |5:
  948.      TSB(TSNode, ZERO; OutPin; 16,16,16,16,18,18,18,18); 
  949.      BUF(NextPin; FeedBack; 0,0,0,0);    
  950.   |7:
  951.      LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  952.          %InFuse+192,%InFuse+224;LorOutput);
  953.      %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
  954.       %IF %XorFuse = 0 %THEN
  955.        INV(LorOutput; OutPin; 18,18,20,20);
  956.       %ELSE
  957.        BUF(LorOutput; OutPin; 18,18,20,20);
  958.       %END;
  959.      %ELSE
  960.       %IF %XorFuse = 0 %THEN
  961.        INV(LorOutput; TNode; 18,18,20,20);
  962.       %ELSE
  963.        BUF(LorOutput; TNode; 18,18,20,20);
  964.       %END;
  965.       TSB(TNode, %InFuse; OutPin; 18,18,18,18,20,20,20,20);
  966.      %END;
  967.      BUF(PrevPin; FeedBack; 0,0,0,0);
  968.  %END;
  969. %MACEND;
  970.  
  971. LINV(P11;L17);
  972.      
  973. V8MAC(%SF2120, %SF2048, N1, L1, %FF00, P19, N9, %SF00, L9, N17, P1, P1);
  974. V8MAC(%SF2121, %SF2049, N2, L2, %FF256, P18, N10, %SF256, L10, N18, P19, P18);
  975. V8MAC(%SF2122, %SF2050, N3, L3, %FF512, P17, N11, %SF512, L11, N19, P18, P17);
  976. V8MAC(%SF2123, %SF2051, N4, L4, %FF768, P16, N12, %SF768, L12, N20, P17, P16);
  977. V8MAC(%SF2124, %SF2052, N5, L5, %FF1024, P15, N13, %SF1024, L13, N21, P14, P15);
  978. V8MAC(%SF2125, %SF2053, N6, L6, %FF1280, P14, N14, %SF1280, L14, N22, P13, P14);
  979. V8MAC(%SF2126, %SF2054, N7, L7, %FF1536, P13, N15, %SF1536, L15, N23, P12, P13);
  980. V8MAC(%SF2127, %SF2055, N8, L8, %FF1792, P12, N16, %SF1792, L16, N24, P11, P11);
  981. %EndModel
  982.  
  983. %StartModel
  984. %Manufacturer:Lattice
  985. %Type:16V8A
  986. %PartNumber:LATTICE'GAL16V8A-25LI
  987. %LastNode ? ?
  988. %NumPins: 20
  989. %FDF AND 0 P2 ~P2 N1 ~N1 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5 N4 ~N4 P6 ~P6
  990.      N5 ~N5 P7 ~P7 N6 ~N6 P8 ~P8 N7 ~N7 P9 ~P9 N8 ~N8 *
  991.      
  992. %MACRO V8MAC(S0:%SF, XorFuse:%SF, FeedBack:%TEXT, LorOutput:%TEXT, InFuse:%FF, 
  993.              OutPin:%TEXT, TNode:%TEXT, EnableFuse:%SF, TLNode:%TEXT, 
  994.          TSNode:%TEXT, NextPin:%TEXT, PrevPin:%TEXT);
  995.  
  996.  %CASE %SF2192,%SF2193,%S0
  997.    2:
  998.      LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  999.          %InFuse+192,%InFuse+224;LorOutput);
  1000.      %IF %XorFuse=0 %THEN
  1001.       LINV(LorOutput;TLNode);
  1002.       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);
  1003.      %ELSE         
  1004.       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);
  1005.      %END;
  1006.      TSB(TNode, L17; OutPin; 23,23,23,23,25,25,25,25);
  1007.      BUF(TNode; FeedBack; 0,0,0,0);
  1008.   |3:
  1009.      LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  1010.          %InFuse+192,%InFuse+224;LorOutput);
  1011.      %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
  1012.       %IF %XorFuse = 0 %THEN
  1013.        INV(LorOutput; OutPin; 23,23,25,25);
  1014.       %ELSE
  1015.        BUF(LorOutput; OutPin; 23,23,25,25);
  1016.       %END;
  1017.      %ELSE
  1018.       %IF %XorFuse = 0 %THEN
  1019.        INV(LorOutput; TNode; 23,23,25,25);
  1020.       %ELSE
  1021.        BUF(LorOutput; TNode; 23,23,25,25);
  1022.       %END;
  1023.       TSB(TNode, %InFuse; OutPin; 23,23,23,23,25,25,25,25);
  1024.      %END;
  1025.      BUF(OutPin; FeedBack; 0,0,0,0);
  1026.   |4:
  1027.      LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  1028.          %InFuse+192,%InFuse+224;LorOutput);
  1029.      %IF %XorFuse = 0 %THEN
  1030.       INV(LorOutput; OutPin; 23,23,25,25);
  1031.      %ELSE
  1032.       BUF(LorOutput; OutPin; 23,23,25,25);
  1033.      %END;
  1034.      BUF(NextPin; FeedBack; 0,0,0,0);
  1035.   |5:
  1036.      TSB(TSNode, ZERO; OutPin; 23,23,23,23,25,25,25,25); 
  1037.      BUF(NextPin; FeedBack; 0,0,0,0);    
  1038.   |7:
  1039.      LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  1040.          %InFuse+192,%InFuse+224;LorOutput);
  1041.      %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
  1042.       %IF %XorFuse = 0 %THEN
  1043.        INV(LorOutput; OutPin; 23,23,25,25);
  1044.       %ELSE
  1045.        BUF(LorOutput; OutPin; 23,23,25,25);
  1046.       %END;
  1047.      %ELSE
  1048.       %IF %XorFuse = 0 %THEN
  1049.        INV(LorOutput; TNode; 23,23,25,25);
  1050.       %ELSE
  1051.        BUF(LorOutput; TNode; 23,23,25,25);
  1052.       %END;
  1053.       TSB(TNode, %InFuse; OutPin; 23,23,23,23,25,25,25,25);
  1054.      %END;
  1055.      BUF(PrevPin; FeedBack; 0,0,0,0);
  1056.  %END;
  1057. %MACEND;
  1058.  
  1059. LINV(P11;L17);
  1060.      
  1061. V8MAC(%SF2120, %SF2048, N1, L1, %FF00, P19, N9, %SF00, L9, N17, P1, P1);
  1062. V8MAC(%SF2121, %SF2049, N2, L2, %FF256, P18, N10, %SF256, L10, N18, P19, P18);
  1063. V8MAC(%SF2122, %SF2050, N3, L3, %FF512, P17, N11, %SF512, L11, N19, P18, P17);
  1064. V8MAC(%SF2123, %SF2051, N4, L4, %FF768, P16, N12, %SF768, L12, N20, P17, P16);
  1065. V8MAC(%SF2124, %SF2052, N5, L5, %FF1024, P15, N13, %SF1024, L13, N21, P14, P15);
  1066. V8MAC(%SF2125, %SF2053, N6, L6, %FF1280, P14, N14, %SF1280, L14, N22, P13, P14);
  1067. V8MAC(%SF2126, %SF2054, N7, L7, %FF1536, P13, N15, %SF1536, L15, N23, P12, P13);
  1068. V8MAC(%SF2127, %SF2055, N8, L8, %FF1792, P12, N16, %SF1792, L16, N24, P11, P11);
  1069. %EndModel
  1070.  
  1071. %StartModel
  1072. %Manufacturer:Lattice
  1073. %Type:16Z8
  1074. %PartNumber:LATTICE'ispGAL16Z8-20L
  1075. %LastNode ? ?
  1076. %NumPins: 24
  1077. %FDF AND 0 P3 ~P3 N1 ~N1 P4 ~P4 N2 ~N2 P5 ~P5 N3 ~N3 P6 ~P6 N4 ~N4 P7 ~P7
  1078.      N5 ~N5 P8 ~P8 N6 ~N6 P9 ~P9 N7 ~N7 P10 ~P10 N8 ~N8 *
  1079.      
  1080. %MACRO Z8MAC(S0:%SF, XorFuse:%SF, FeedBack:%TEXT, LorOutput:%TEXT, InFuse:%FF, 
  1081.              OutPin:%TEXT, TNode:%TEXT, EnableFuse:%SF, TLNode:%TEXT, 
  1082.          TSNode:%TEXT, NextPin:%TEXT, PrevPin:%TEXT);
  1083.  
  1084.  %CASE %SF2192,%SF2193,%S0
  1085.    2:
  1086.      LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  1087.          %InFuse+192,%InFuse+224;LorOutput);
  1088.      %IF %XorFuse=0 %THEN
  1089.       LINV(LorOutput;TLNode);
  1090.       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);
  1091.      %ELSE         
  1092.       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);
  1093.      %END;
  1094.      TSB(TNode, L17; OutPin; 16,16,16,16,18,18,18,18);
  1095.      BUF(TNode; FeedBack; 0,0,0,0);
  1096.   |3:
  1097.      LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  1098.          %InFuse+192,%InFuse+224;LorOutput);
  1099.      %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
  1100.       %IF %XorFuse = 0 %THEN
  1101.        INV(LorOutput; OutPin; 18,18,20,20);
  1102.       %ELSE
  1103.        BUF(LorOutput; OutPin; 18,18,20,20);
  1104.       %END;
  1105.      %ELSE
  1106.       %IF %XorFuse = 0 %THEN
  1107.        INV(LorOutput; TNode; 18,18,20,20);
  1108.       %ELSE
  1109.        BUF(LorOutput; TNode; 18,18,20,20);
  1110.       %END;
  1111.       TSB(TNode, %InFuse; OutPin; 18,18,18,18,20,20,20,20);
  1112.      %END;
  1113.      BUF(OutPin; FeedBack; 0,0,0,0);
  1114.   |4:
  1115.      LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  1116.          %InFuse+192,%InFuse+224;LorOutput);
  1117.      %IF %XorFuse = 0 %THEN
  1118.       INV(LorOutput; OutPin; 18,18,20,20);
  1119.      %ELSE
  1120.       BUF(LorOutput; OutPin; 18,18,20,20);
  1121.      %END;
  1122.      BUF(ZERO; FeedBack; 0,0,0,0);
  1123.   |5:
  1124.      TSB(TSNode, ZERO; OutPin; 16,16,16,16,18,18,18,18); 
  1125.      BUF(NextPin; FeedBack; 0,0,0,0);    
  1126.   |7:
  1127.      LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  1128.          %InFuse+192,%InFuse+224;LorOutput);
  1129.      %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
  1130.       %IF %XorFuse = 0 %THEN
  1131.        INV(LorOutput; OutPin; 18,18,20,20);
  1132.       %ELSE
  1133.        BUF(LorOutput; OutPin; 18,18,20,20);
  1134.       %END;
  1135.      %ELSE
  1136.       %IF %XorFuse = 0 %THEN
  1137.        INV(LorOutput; TNode; 18,18,20,20);
  1138.       %ELSE
  1139.        BUF(LorOutput; TNode; 18,18,20,20);
  1140.       %END;
  1141.       TSB(TNode, %InFuse; OutPin; 18,18,18,18,20,20,20,20);
  1142.      %END;
  1143.      BUF(PrevPin; FeedBack; 0,0,0,0);
  1144.  %END;
  1145. %MACEND;
  1146.  
  1147. LINV(P13;L17);
  1148.  
  1149.      
  1150. Z8MAC(%SF2120, %SF2048, N1, L1, %FF00, P22, N9, %SF00, L9, N17, P1, P1);
  1151. Z8MAC(%SF2121, %SF2049, N2, L2, %FF256, P21, N10, %SF256, L10, N18, P22, P21);
  1152. Z8MAC(%SF2122, %SF2050, N3, L3, %FF512, P20, N11, %SF512, L11, N19, P21, P20);
  1153. Z8MAC(%SF2123, %SF2051, N4, L4, %FF768, P19, N12, %SF768, L12, N20, P20, P19);
  1154. Z8MAC(%SF2124, %SF2052, N5, L5, %FF1024, P18, N13, %SF1024, L13, N21, P17, P18);
  1155. Z8MAC(%SF2125, %SF2053, N6, L6, %FF1280, P17, N14, %SF1280, L14, N22, P16, P17);
  1156. Z8MAC(%SF2126, %SF2054, N7, L7, %FF1536, P16, N15, %SF1536, L15, N23, P15, P16);
  1157. Z8MAC(%SF2127, %SF2055, N8, L8, %FF1792, P15, N16, %SF1792, L16, N24, P13, P13);
  1158. %EndModel
  1159.  
  1160.      
  1161. %StartModel
  1162. %Manufacturer:Lattice
  1163. %Type:16Z8
  1164. %PartNumber:LATTICE'IspGAL16Z8-25L
  1165. %LastNode ? ?
  1166. %NumPins: 24
  1167. %FDF AND 0 P3 ~P3 N1 ~N1 P4 ~P4 N2 ~N2 P5 ~P5 N3 ~N3 P6 ~P6 N4 ~N4 P7 ~P7
  1168.      N5 ~N5 P8 ~P8 N6 ~N6 P9 ~P9 N7 ~N7 P10 ~P10 N8 ~N8 *
  1169.      
  1170. %MACRO Z8MAC(S0:%SF, XorFuse:%SF, FeedBack:%TEXT, LorOutput:%TEXT, InFuse:%FF, 
  1171.              OutPin:%TEXT, TNode:%TEXT, EnableFuse:%SF, TLNode:%TEXT, 
  1172.          TSNode:%TEXT, NextPin:%TEXT, PrevPin:%TEXT);
  1173.  
  1174.  %CASE %SF2192,%SF2193,%S0
  1175.    2:
  1176.      LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  1177.          %InFuse+192,%InFuse+224;LorOutput);
  1178.      %IF %XorFuse=0 %THEN
  1179.       LINV(LorOutput;TLNode);
  1180.       DQFFC(TLNode, P1, IPL; TNode; 13,13,20,0,15,15,1,1,1,1,15,15,20,15,15,1,1,1,1);
  1181.      %ELSE         
  1182.       DQFFC(LorOutput, P1, IPL; TNode; 13,13,20,0,15,15,1,1,1,1,15,15,20,15,15,1,1,1,1);
  1183.      %END;
  1184.      TSB(TNode, L17; OutPin; 18,18,18,18,20,20,20,20);
  1185.      BUF(TNode; FeedBack; 0,0,0,0);
  1186.   |3:
  1187.      LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  1188.          %InFuse+192,%InFuse+224;LorOutput);
  1189.      %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
  1190.       %IF %XorFuse = 0 %THEN
  1191.        INV(LorOutput; OutPin; 23,23,25,25);
  1192.       %ELSE
  1193.        BUF(LorOutput; OutPin; 23,23,25,25);
  1194.       %END;
  1195.      %ELSE
  1196.       %IF %XorFuse = 0 %THEN
  1197.        INV(LorOutput; TNode; 23,23,25,25);
  1198.       %ELSE
  1199.        BUF(LorOutput; TNode; 23,23,25,25);
  1200.       %END;
  1201.       TSB(TNode, %InFuse; OutPin; 23,23,23,23,25,25,25,25);
  1202.      %END;
  1203.      BUF(OutPin; FeedBack; 0,0,0,0);
  1204.   |4:
  1205.      LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  1206.          %InFuse+192,%InFuse+224;LorOutput);
  1207.      %IF %XorFuse = 0 %THEN
  1208.       INV(LorOutput; OutPin; 23,23,25,25);
  1209.      %ELSE
  1210.       BUF(LorOutput; OutPin; 23,23,25,25);
  1211.      %END;
  1212.      BUF(ZERO; FeedBack; 0,0,0,0);
  1213.   |5:
  1214.      TSB(TSNode, ZERO; OutPin; 18,18,18,18,20,20,20,20); 
  1215.      BUF(NextPin; FeedBack; 0,0,0,0);    
  1216.   |7:
  1217.      LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  1218.          %InFuse+192,%InFuse+224;LorOutput);
  1219.      %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
  1220.       %IF %XorFuse = 0 %THEN
  1221.        INV(LorOutput; OutPin; 23,23,25,25);
  1222.       %ELSE
  1223.        BUF(LorOutput; OutPin; 23,23,25,25);
  1224.       %END;
  1225.      %ELSE
  1226.       %IF %XorFuse = 0 %THEN
  1227.        INV(LorOutput; TNode; 23,23,25,25);
  1228.       %ELSE
  1229.        BUF(LorOutput; TNode; 23,23,25,25);
  1230.       %END;
  1231.       TSB(TNode, %InFuse; OutPin; 23,23,23,23,25,25,25,25);
  1232.      %END;
  1233.      BUF(PrevPin; FeedBack; 0,0,0,0);
  1234.  %END;
  1235. %MACEND;
  1236.  
  1237. LINV(P13;L17);
  1238.      
  1239. Z8MAC(%SF2120, %SF2048, N1, L1, %FF00, P22, N9, %SF00, L9, N17, P1, P1);
  1240. Z8MAC(%SF2121, %SF2049, N2, L2, %FF256, P21, N10, %SF256, L10, N18, P22, P21);
  1241. Z8MAC(%SF2122, %SF2050, N3, L3, %FF512, P20, N11, %SF512, L11, N19, P21, P20);
  1242. Z8MAC(%SF2123, %SF2051, N4, L4, %FF768, P19, N12, %SF768, L12, N20, P20, P19);
  1243. Z8MAC(%SF2124, %SF2052, N5, L5, %FF1024, P18, N13, %SF1024, L13, N21, P17, P18);
  1244. Z8MAC(%SF2125, %SF2053, N6, L6, %FF1280, P17, N14, %SF1280, L14, N22, P16, P17);
  1245. Z8MAC(%SF2126, %SF2054, N7, L7, %FF1536, P16, N15, %SF1536, L15, N23, P15, P16);
  1246. Z8MAC(%SF2127, %SF2055, N8, L8, %FF1792, P15, N16, %SF1792, L16, N24, P13, P13);
  1247. %EndModel
  1248.      
  1249.  
  1250. %StartModel
  1251. %Manufacturer:Lattice
  1252. %Type:16Z8
  1253. %PartNumber:LATTICE'IspGAL16Z8-25LI
  1254. %LastNode ? ?
  1255. %NumPins: 24
  1256. %FDF AND 0 P3 ~P3 N1 ~N1 P4 ~P4 N2 ~N2 P5 ~P5 N3 ~N3 P6 ~P6 N4 ~N4 P7 ~P7
  1257.      N5 ~N5 P8 ~P8 N6 ~N6 P9 ~P9 N7 ~N7 P10 ~P10 N8 ~N8 *
  1258.      
  1259. %MACRO Z8MAC(S0:%SF, XorFuse:%SF, FeedBack:%TEXT, LorOutput:%TEXT, InFuse:%FF, 
  1260.              OutPin:%TEXT, TNode:%TEXT, EnableFuse:%SF, TLNode:%TEXT, 
  1261.          TSNode:%TEXT, NextPin:%TEXT, PrevPin:%TEXT);
  1262.  
  1263.  %CASE %SF2192,%SF2193,%S0
  1264.    2:
  1265.      LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  1266.          %InFuse+192,%InFuse+224;LorOutput);
  1267.      %IF %XorFuse=0 %THEN
  1268.       LINV(LorOutput;TLNode);
  1269.       DQFFC(TLNode, P1, IPL; TNode; 13,13,20,0,15,15,1,1,1,1,15,15,20,15,15,1,1,1,1);
  1270.      %ELSE         
  1271.       DQFFC(LorOutput, P1, IPL; TNode; 13,13,20,0,15,15,1,1,1,1,15,15,20,15,15,1,1,1,1);
  1272.      %END;
  1273.      TSB(TNode, L17; OutPin; 18,18,18,18,20,20,20,20);
  1274.      BUF(TNode; FeedBack; 0,0,0,0);
  1275.   |3:
  1276.      LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  1277.          %InFuse+192,%InFuse+224;LorOutput);
  1278.      %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
  1279.       %IF %XorFuse = 0 %THEN
  1280.        INV(LorOutput; OutPin; 23,23,25,25);
  1281.       %ELSE
  1282.        BUF(LorOutput; OutPin; 23,23,25,25);
  1283.       %END;
  1284.      %ELSE
  1285.       %IF %XorFuse = 0 %THEN
  1286.        INV(LorOutput; TNode; 23,23,25,25);
  1287.       %ELSE
  1288.        BUF(LorOutput; TNode; 23,23,25,25);
  1289.       %END;
  1290.       TSB(TNode, %InFuse; OutPin; 23,23,23,23,25,25,25,25);
  1291.      %END;
  1292.      BUF(OutPin; FeedBack; 0,0,0,0);
  1293.   |4:
  1294.      LOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  1295.          %InFuse+192,%InFuse+224;LorOutput);
  1296.      %IF %XorFuse = 0 %THEN
  1297.       INV(LorOutput; OutPin; 23,23,25,25);
  1298.      %ELSE
  1299.       BUF(LorOutput; OutPin; 23,23,25,25);
  1300.      %END;
  1301.      BUF(ZERO; FeedBack; 0,0,0,0);
  1302.   |5:
  1303.      TSB(TSNode, ZERO; OutPin; 18,18,18,18,20,20,20,20); 
  1304.      BUF(NextPin; FeedBack; 0,0,0,0);    
  1305.   |7:
  1306.      LOR(%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,
  1307.          %InFuse+192,%InFuse+224;LorOutput);
  1308.      %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
  1309.       %IF %XorFuse = 0 %THEN
  1310.        INV(LorOutput; OutPin; 23,23,25,25);
  1311.       %ELSE
  1312.        BUF(LorOutput; OutPin; 23,23,25,25);
  1313.       %END;
  1314.      %ELSE
  1315.       %IF %XorFuse = 0 %THEN
  1316.        INV(LorOutput; TNode; 23,23,25,25);
  1317.       %ELSE
  1318.        BUF(LorOutput; TNode; 23,23,25,25);
  1319.       %END;
  1320.       TSB(TNode, %InFuse; OutPin; 23,23,23,23,25,25,25,25);
  1321.      %END;
  1322.      BUF(PrevPin; FeedBack; 0,0,0,0);
  1323.  %END;
  1324. %MACEND;
  1325.  
  1326. LINV(P13;L17);
  1327.  
  1328. Z8MAC(%SF2120, %SF2048, N1, L1, %FF00, P22, N9, %SF00, L9, N17, P1, P1);
  1329. Z8MAC(%SF2121, %SF2049, N2, L2, %FF256, P21, N10, %SF256, L10, N18, P22, P21);
  1330. Z8MAC(%SF2122, %SF2050, N3, L3, %FF512, P20, N11, %SF512, L11, N19, P21, P20);
  1331. Z8MAC(%SF2123, %SF2051, N4, L4, %FF768, P19, N12, %SF768, L12, N20, P20, P19);
  1332. Z8MAC(%SF2124, %SF2052, N5, L5, %FF1024, P18, N13, %SF1024, L13, N21, P17, P18);
  1333. Z8MAC(%SF2125, %SF2053, N6, L6, %FF1280, P17, N14, %SF1280, L14, N22, P16, P17);
  1334. Z8MAC(%SF2126, %SF2054, N7, L7, %FF1536, P16, N15, %SF1536, L15, N23, P15, P16);
  1335. Z8MAC(%SF2127, %SF2055, N8, L8, %FF1792, P15, N16, %SF1792, L16, N24, P13, P13);
  1336. %EndModel
  1337.      
  1338.  
  1339. %StartModel
  1340. %Manufacturer:Lattice
  1341. %Type:20V8
  1342. %PartNumber:LATTICE'GAL20V8-15L
  1343. %LastNode ? ?
  1344. %NumPins: 24
  1345. %FDF AND 0 P2 ~P2 N1 ~N1 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5 N4 ~N4 P6 ~P6
  1346.      N5 ~N5 P7 ~P7 N6 ~N6 P8 ~P8 N7 ~N7 P9 ~P9 N8 ~N8 P10 ~P10 N9 ~N9 
  1347.      P11 ~P11 N10 ~N10 *
  1348.  
  1349. %MACRO FEEDBACK(N1FeedBack: %TEXT, N10FeedBack: %TEXT);
  1350.  %IF %SF2704 = 1 %THEN
  1351.   BUF(P1; N1FeedBack; 0,0,0,0);
  1352.   BUF(P13; N10FeedBack; 0,0,0,0);
  1353.  %ELSE
  1354.   BUF(P23; N1FeedBack; 0,0,0,0);
  1355.   BUF(P14; N10FeedBack; 0,0,0,0);
  1356.  %END;
  1357. %MACEND;
  1358.      
  1359. %MACRO V8MAC(S0:%SF, XorFuse:%SF, FeedBack:%TEXT, LorOutput:%TEXT, InFuse:%FF, 
  1360.              OutPin:%TEXT, TNode:%TEXT, EnableFuse:%SF, TLNode:%TEXT, 
  1361.          TSNode:%TEXT, NextPin:%TEXT, PrevPin:%TEXT);
  1362.  %CASE %SF2704,%SF2705,%S0
  1363.    2:
  1364.      LOR(%InFuse,%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,
  1365.          %InFuse+240,%InFuse+280;LorOutput);
  1366.      %IF %XorFuse=0 %THEN
  1367.       LINV(LorOutput;TLNode);
  1368.       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);
  1369.      %ELSE         
  1370.       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);
  1371.      %END;
  1372.      TSB(TNode, L17; OutPin; 13,13,13,13,15,15,15,15);
  1373.      BUF(TNode; FeedBack; 0,0,0,0);
  1374.   |3:
  1375.      LOR(%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,%InFuse+240,
  1376.          %InFuse+280;LorOutput);
  1377.      %IF %EnableFuse..%EnableFuse+39 = 1 %THEN
  1378.       %IF %XorFuse = 0 %THEN
  1379.        INV(LorOutput; OutPin; 13,13,15,15);
  1380.       %ELSE
  1381.        BUF(LorOutput; OutPin; 13,13,15,15);
  1382.       %END;
  1383.      %ELSE
  1384.       %IF %XorFuse = 0 %THEN
  1385.        INV(LorOutput; TNode; 13,13,15,15);
  1386.       %ELSE
  1387.        BUF(LorOutput; TNode; 13,13,15,15);
  1388.       %END;
  1389.       TSB(TNode, %InFuse; OutPin; 13,13,13,13,15,15,15,15);
  1390.      %END;
  1391.      BUF(OutPin; FeedBack; 0,0,0,0);
  1392.   |4:
  1393.      LOR(%InFuse,%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,
  1394.          %InFuse+240,%InFuse+280;LorOutput);
  1395.      %IF %XorFuse = 0 %THEN
  1396.       INV(LorOutput; OutPin; 13,13,15,15);
  1397.      %ELSE
  1398.       BUF(LorOutput; OutPin; 13,13,15,15);
  1399.      %END;
  1400.      BUF(ZERO; FeedBack; 0,0,0,0);
  1401.   |5:
  1402.      TSB(TSNode, ZERO; OutPin; 13,13,13,13,15,15,15,15); 
  1403.      BUF(NextPin; FeedBack; 0,0,0,0);    
  1404.   |7:
  1405.    LOR(%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,%InFuse+240,
  1406.        %InFuse+280;LorOutput);
  1407.      %IF %EnableFuse..%EnableFuse+39 = 1 %THEN
  1408.       %IF %XorFuse = 0 %THEN
  1409.        INV(LorOutput; OutPin; 13,13,15,15);
  1410.       %ELSE
  1411.        BUF(LorOutput; OutPin; 13,13,15,15);
  1412.       %END;
  1413.      %ELSE
  1414.       %IF %XorFuse = 0 %THEN
  1415.        INV(LorOutput; TNode; 13,13,15,15);
  1416.       %ELSE
  1417.        BUF(LorOutput; TNode; 13,13,15,15);
  1418.       %END;
  1419.       TSB(TNode, %InFuse; OutPin; 13,13,13,13,15,15,15,15);
  1420.      %END;
  1421.      BUF(PrevPin; FeedBack; 0,0,0,0);
  1422.  %END;
  1423. %MACEND;
  1424.      
  1425. FEEDBACK(N1, N10);
  1426.  
  1427. LINV(P13;L17);
  1428.  
  1429. V8MAC(%SF2632, %SF2560, N2, L1, %FF00, P22, N11, %SF00, L9, N17, P23, P23);
  1430. V8MAC(%SF2633, %SF2561, N3, L2, %FF320, P21, N12, %SF320, L10, N18, P22, P21);
  1431. V8MAC(%SF2634, %SF2562, N4, L3, %FF640, P20, N13, %SF640, L11, N19, P21, P20);
  1432. V8MAC(%SF2635, %SF2563, N5, L4, %FF960, P19, N14, %SF960, L12, N20, P20, P19);
  1433. V8MAC(%SF2636, %SF2564, N6, L5, %FF1280, P18, N15, %SF1280, L13, N21, P17, P18);
  1434. V8MAC(%SF2637, %SF2565, N7, L6, %FF1600, P17, N16, %SF1600, L14, N22, P16, P17);
  1435. V8MAC(%SF2638, %SF2566, N8, L7, %FF1920, P16, N17, %SF1920, L15, N23, P15, P16);
  1436. V8MAC(%SF2639, %SF2567, N9, L8, %FF2240, P15, N18, %SF2240, L16, N24, P14, P14);
  1437. %EndModel
  1438.  
  1439. %StartModel
  1440. %Manufacturer:Lattice
  1441. %Type:20V8
  1442. %PartNumber:LATTICE'GAL20V8-20Q
  1443. %LastNode ? ?
  1444. %NumPins: 24
  1445. %FDF AND 0 P2 ~P2 N1 ~N1 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5 N4 ~N4 P6 ~P6
  1446.      N5 ~N5 P7 ~P7 N6 ~N6 P8 ~P8 N7 ~N7 P9 ~P9 N8 ~N8 P10 ~P10 N9 ~N9 
  1447.      P11 ~P11 N10 ~N10 *
  1448.  
  1449. %MACRO FEEDBACK(N1FeedBack: %TEXT, N10FeedBack: %TEXT);
  1450.  %IF %SF2704 = 1 %THEN
  1451.   BUF(P1; N1FeedBack; 0,0,0,0);
  1452.   BUF(P13; N10FeedBack; 0,0,0,0);
  1453.  %ELSE
  1454.   BUF(P23; N1FeedBack; 0,0,0,0);
  1455.   BUF(P14; N10FeedBack; 0,0,0,0);
  1456.  %END;
  1457. %MACEND;
  1458.      
  1459. %MACRO V8MAC(S0:%SF, XorFuse:%SF, FeedBack:%TEXT, LorOutput:%TEXT, InFuse:%FF, 
  1460.              OutPin:%TEXT, TNode:%TEXT, EnableFuse:%SF, TLNode:%TEXT, 
  1461.          TSNode:%TEXT, NextPin:%TEXT, PrevPin:%TEXT);
  1462.  %CASE %SF2704,%SF2705,%S0
  1463.    2:
  1464.      LOR(%InFuse,%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,
  1465.          %InFuse+240,%InFuse+280;LorOutput);
  1466.      %IF %XorFuse=0 %THEN
  1467.       LINV(LorOutput;TLNode);
  1468.       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);
  1469.      %ELSE         
  1470.       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);
  1471.      %END;
  1472.      TSB(TNode, L17; OutPin; 16,16,16,16,18,18,18,18);
  1473.      BUF(TNode; FeedBack; 0,0,0,0);
  1474.   |3:
  1475.      LOR(%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,%InFuse+240,
  1476.          %InFuse+280;LorOutput);
  1477.      %IF %EnableFuse..%EnableFuse+39 = 1 %THEN
  1478.       %IF %XorFuse = 0 %THEN
  1479.        INV(LorOutput; OutPin; 18,18,20,20);
  1480.       %ELSE
  1481.        BUF(LorOutput; OutPin; 18,18,20,20);
  1482.       %END;
  1483.      %ELSE
  1484.       %IF %XorFuse = 0 %THEN
  1485.        INV(LorOutput; TNode; 18,18,20,20);
  1486.       %ELSE
  1487.        BUF(LorOutput; TNode; 18,18,20,20);
  1488.       %END;
  1489.       TSB(TNode, %InFuse; OutPin; 18,18,18,18,20,20,20,20);
  1490.      %END;
  1491.      BUF(OutPin; FeedBack; 0,0,0,0);
  1492.   |4:
  1493.      LOR(%InFuse,%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,
  1494.          %InFuse+240,%InFuse+280;LorOutput);
  1495.      %IF %XorFuse = 0 %THEN
  1496.       INV(LorOutput; OutPin; 18,18,20,20);
  1497.      %ELSE
  1498.       BUF(LorOutput; OutPin; 18,18,20,20);
  1499.      %END;
  1500.      BUF(ZERO; FeedBack; 0,0,0,0);
  1501.   |5:
  1502.      TSB(TSNode, ZERO; OutPin; 16,16,16,16,18,18,18,18); 
  1503.      BUF(NextPin; FeedBack; 0,0,0,0);    
  1504.   |7:
  1505.    LOR(%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,%InFuse+240,
  1506.        %InFuse+280;LorOutput);
  1507.      %IF %EnableFuse..%EnableFuse+39 = 1 %THEN
  1508.       %IF %XorFuse = 0 %THEN
  1509.        INV(LorOutput; OutPin; 18,18,20,20);
  1510.       %ELSE
  1511.        BUF(LorOutput; OutPin; 18,18,20,20);
  1512.       %END;
  1513.      %ELSE
  1514.       %IF %XorFuse = 0 %THEN
  1515.        INV(LorOutput; TNode; 18,18,20,20);
  1516.       %ELSE
  1517.        BUF(LorOutput; TNode; 18,18,20,20);
  1518.       %END;
  1519.       TSB(TNode, %InFuse; OutPin; 18,18,18,18,20,20,20,20);
  1520.      %END;
  1521.      BUF(PrevPin; FeedBack; 0,0,0,0);
  1522.  %END;
  1523. %MACEND;
  1524.      
  1525. FEEDBACK(N1, N10);
  1526.  
  1527. LINV(P13;L17);
  1528.  
  1529. V8MAC(%SF2632, %SF2560, N2, L1, %FF00, P22, N11, %SF00, L9, N17, P23, P23);
  1530. V8MAC(%SF2633, %SF2561, N3, L2, %FF320, P21, N12, %SF320, L10, N18, P22, P21);
  1531. V8MAC(%SF2634, %SF2562, N4, L3, %FF640, P20, N13, %SF640, L11, N19, P21, P20);
  1532. V8MAC(%SF2635, %SF2563, N5, L4, %FF960, P19, N14, %SF960, L12, N20, P20, P19);
  1533. V8MAC(%SF2636, %SF2564, N6, L5, %FF1280, P18, N15, %SF1280, L13, N21, P17, P18);
  1534. V8MAC(%SF2637, %SF2565, N7, L6, %FF1600, P17, N16, %SF1600, L14, N22, P16, P17);
  1535. V8MAC(%SF2638, %SF2566, N8, L7, %FF1920, P16, N17, %SF1920, L15, N23, P15, P16);
  1536. V8MAC(%SF2639, %SF2567, N9, L8, %FF2240, P15, N18, %SF2240, L16, N24, P14, P14);
  1537. %EndModel
  1538.  
  1539. %StartModel
  1540. %Manufacturer:Lattice
  1541. %Type:20V8
  1542. %PartNumber:LATTICE'GAL20V8-25L
  1543. %LastNode ? ?
  1544. %NumPins: 24
  1545. %FDF AND 0 P2 ~P2 N1 ~N1 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5 N4 ~N4 P6 ~P6
  1546.      N5 ~N5 P7 ~P7 N6 ~N6 P8 ~P8 N7 ~N7 P9 ~P9 N8 ~N8 P10 ~P10 N9 ~N9 
  1547.      P11 ~P11 N10 ~N10 *
  1548.  
  1549. %MACRO FEEDBACK(N1FeedBack: %TEXT, N10FeedBack: %TEXT);
  1550.  %IF %SF2704 = 1 %THEN
  1551.   BUF(P1; N1FeedBack; 0,0,0,0);
  1552.   BUF(P13; N10FeedBack; 0,0,0,0);
  1553.  %ELSE
  1554.   BUF(P23; N1FeedBack; 0,0,0,0);
  1555.   BUF(P14; N10FeedBack; 0,0,0,0);
  1556.  %END;
  1557. %MACEND;
  1558.      
  1559. %MACRO V8MAC(S0:%SF, XorFuse:%SF, FeedBack:%TEXT, LorOutput:%TEXT, InFuse:%FF, 
  1560.              OutPin:%TEXT, TNode:%TEXT, EnableFuse:%SF, TLNode:%TEXT, 
  1561.          TSNode:%TEXT, NextPin:%TEXT, PrevPin:%TEXT);
  1562.  %CASE %SF2704,%SF2705,%S0
  1563.    2:
  1564.      LOR(%InFuse,%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,
  1565.          %InFuse+240,%InFuse+280;LorOutput);
  1566.      %IF %XorFuse=0 %THEN
  1567.       LINV(LorOutput;TLNode);
  1568.       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);
  1569.      %ELSE         
  1570.       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);
  1571.      %END;
  1572.      TSB(TNode, L17; OutPin; 18,18,18,18,20,20,20,20);
  1573.      BUF(TNode; FeedBack; 0,0,0,0);
  1574.   |3:
  1575.      LOR(%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,%InFuse+240,
  1576.          %InFuse+280;LorOutput);
  1577.      %IF %EnableFuse..%EnableFuse+39 = 1 %THEN
  1578.       %IF %XorFuse = 0 %THEN
  1579.        INV(LorOutput; OutPin; 23,23,25,25);
  1580.       %ELSE
  1581.        BUF(LorOutput; OutPin; 23,23,25,25);
  1582.       %END;
  1583.      %ELSE
  1584.       %IF %XorFuse = 0 %THEN
  1585.        INV(LorOutput; TNode; 23,23,25,25);
  1586.       %ELSE
  1587.        BUF(LorOutput; TNode; 23,23,25,25);
  1588.       %END;
  1589.       TSB(TNode, %InFuse; OutPin; 23,23,23,23,25,25,25,25);
  1590.      %END;
  1591.      BUF(OutPin; FeedBack; 0,0,0,0);
  1592.   |4:
  1593.      LOR(%InFuse,%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,
  1594.          %InFuse+240,%InFuse+280;LorOutput);
  1595.      %IF %XorFuse = 0 %THEN
  1596.       INV(LorOutput; OutPin; 23,23,25,25);
  1597.      %ELSE
  1598.       BUF(LorOutput; OutPin; 23,23,25,25);
  1599.      %END;
  1600.      BUF(ZERO; FeedBack; 0,0,0,0);
  1601.   |5:
  1602.      TSB(TSNode, ZERO; OutPin; 18,18,18,18,20,20,20,20); 
  1603.      BUF(NextPin; FeedBack; 0,0,0,0);    
  1604.   |7:
  1605.    LOR(%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,%InFuse+240,
  1606.        %InFuse+280;LorOutput);
  1607.      %IF %EnableFuse..%EnableFuse+39 = 1 %THEN
  1608.       %IF %XorFuse = 0 %THEN
  1609.        INV(LorOutput; OutPin; 23,23,25,25);
  1610.       %ELSE
  1611.        BUF(LorOutput; OutPin; 23,23,25,25);
  1612.       %END;
  1613.      %ELSE
  1614.       %IF %XorFuse = 0 %THEN
  1615.        INV(LorOutput; TNode; 23,23,25,25);
  1616.       %ELSE
  1617.        BUF(LorOutput; TNode; 23,23,25,25);
  1618.       %END;
  1619.       TSB(TNode, %InFuse; OutPin; 23,23,23,23,25,25,25,25);
  1620.      %END;
  1621.      BUF(PrevPin; FeedBack; 0,0,0,0);
  1622.  %END;
  1623. %MACEND;
  1624.      
  1625. FEEDBACK(N1, N10);
  1626.  
  1627. LINV(P13;L17);
  1628.  
  1629. V8MAC(%SF2632, %SF2560, N2, L1, %FF00, P22, N11, %SF00, L9, N17, P23, P23);
  1630. V8MAC(%SF2633, %SF2561, N3, L2, %FF320, P21, N12, %SF320, L10, N18, P22, P21);
  1631. V8MAC(%SF2634, %SF2562, N4, L3, %FF640, P20, N13, %SF640, L11, N19, P21, P20);
  1632. V8MAC(%SF2635, %SF2563, N5, L4, %FF960, P19, N14, %SF960, L12, N20, P20, P19);
  1633. V8MAC(%SF2636, %SF2564, N6, L5, %FF1280, P18, N15, %SF1280, L13, N21, P17, P18);
  1634. V8MAC(%SF2637, %SF2565, N7, L6, %FF1600, P17, N16, %SF1600, L14, N22, P16, P17);
  1635. V8MAC(%SF2638, %SF2566, N8, L7, %FF1920, P16, N17, %SF1920, L15, N23, P15, P16);
  1636. V8MAC(%SF2639, %SF2567, N9, L8, %FF2240, P15, N18, %SF2240, L16, N24, P14, P14);
  1637. %EndModel
  1638.  
  1639. %StartModel
  1640. %Manufacturer:Lattice
  1641. %Type:20V8
  1642. %PartNumber:LATTICE'GAL20V8-25Q
  1643. %LastNode ? ?
  1644. %NumPins: 24
  1645. %FDF AND 0 P2 ~P2 N1 ~N1 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5 N4 ~N4 P6 ~P6
  1646.      N5 ~N5 P7 ~P7 N6 ~N6 P8 ~P8 N7 ~N7 P9 ~P9 N8 ~N8 P10 ~P10 N9 ~N9 
  1647.      P11 ~P11 N10 ~N10 *
  1648.  
  1649. %MACRO FEEDBACK(N1FeedBack: %TEXT, N10FeedBack: %TEXT);
  1650.  %IF %SF2704 = 1 %THEN
  1651.   BUF(P1; N1FeedBack; 0,0,0,0);
  1652.   BUF(P13; N10FeedBack; 0,0,0,0);
  1653.  %ELSE
  1654.   BUF(P23; N1FeedBack; 0,0,0,0);
  1655.   BUF(P14; N10FeedBack; 0,0,0,0);
  1656.  %END;
  1657. %MACEND;
  1658.      
  1659. %MACRO V8MAC(S0:%SF, XorFuse:%SF, FeedBack:%TEXT, LorOutput:%TEXT, InFuse:%FF, 
  1660.              OutPin:%TEXT, TNode:%TEXT, EnableFuse:%SF, TLNode:%TEXT, 
  1661.          TSNode:%TEXT, NextPin:%TEXT, PrevPin:%TEXT);
  1662.  %CASE %SF2704,%SF2705,%S0
  1663.    2:
  1664.      LOR(%InFuse,%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,
  1665.          %InFuse+240,%InFuse+280;LorOutput);
  1666.      %IF %XorFuse=0 %THEN
  1667.       LINV(LorOutput;TLNode);
  1668.       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);
  1669.      %ELSE         
  1670.       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);
  1671.      %END;
  1672.      TSB(TNode, L17; OutPin; 18,18,18,18,20,20,20,20);
  1673.      BUF(TNode; FeedBack; 0,0,0,0);
  1674.   |3:
  1675.      LOR(%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,%InFuse+240,
  1676.          %InFuse+280;LorOutput);
  1677.      %IF %EnableFuse..%EnableFuse+39 = 1 %THEN
  1678.       %IF %XorFuse = 0 %THEN
  1679.        INV(LorOutput; OutPin; 23,23,25,25);
  1680.       %ELSE
  1681.        BUF(LorOutput; OutPin; 23,23,25,25);
  1682.       %END;
  1683.      %ELSE
  1684.       %IF %XorFuse = 0 %THEN
  1685.        INV(LorOutput; TNode; 23,23,25,25);
  1686.       %ELSE
  1687.        BUF(LorOutput; TNode; 23,23,25,25);
  1688.       %END;
  1689.       TSB(TNode, %InFuse; OutPin; 23,23,23,23,25,25,25,25);
  1690.      %END;
  1691.      BUF(OutPin; FeedBack; 0,0,0,0);
  1692.   |4:
  1693.      LOR(%InFuse,%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,
  1694.          %InFuse+240,%InFuse+280;LorOutput);
  1695.      %IF %XorFuse = 0 %THEN
  1696.       INV(LorOutput; OutPin; 23,23,25,25);
  1697.      %ELSE
  1698.       BUF(LorOutput; OutPin; 23,23,25,25);
  1699.      %END;
  1700.      BUF(ZERO; FeedBack; 0,0,0,0);
  1701.   |5:
  1702.      TSB(TSNode, ZERO; OutPin; 18,18,18,18,20,20,20,20); 
  1703.      BUF(NextPin; FeedBack; 0,0,0,0);    
  1704.   |7:
  1705.    LOR(%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,%InFuse+240,
  1706.        %InFuse+280;LorOutput);
  1707.      %IF %EnableFuse..%EnableFuse+39 = 1 %THEN
  1708.       %IF %XorFuse = 0 %THEN
  1709.        INV(LorOutput; OutPin; 23,23,25,25);
  1710.       %ELSE
  1711.        BUF(LorOutput; OutPin; 23,23,25,25);
  1712.       %END;
  1713.      %ELSE
  1714.       %IF %XorFuse = 0 %THEN
  1715.        INV(LorOutput; TNode; 23,23,25,25);
  1716.       %ELSE
  1717.        BUF(LorOutput; TNode; 23,23,25,25);
  1718.       %END;
  1719.       TSB(TNode, %InFuse; OutPin; 23,23,23,23,25,25,25,25);
  1720.      %END;
  1721.      BUF(PrevPin; FeedBack; 0,0,0,0);
  1722.  %END;
  1723. %MACEND;
  1724.      
  1725. FEEDBACK(N1, N10);
  1726.  
  1727. LINV(P13;L17);
  1728.  
  1729. V8MAC(%SF2632, %SF2560, N2, L1, %FF00, P22, N11, %SF00, L9, N17, P23, P23);
  1730. V8MAC(%SF2633, %SF2561, N3, L2, %FF320, P21, N12, %SF320, L10, N18, P22, P21);
  1731. V8MAC(%SF2634, %SF2562, N4, L3, %FF640, P20, N13, %SF640, L11, N19, P21, P20);
  1732. V8MAC(%SF2635, %SF2563, N5, L4, %FF960, P19, N14, %SF960, L12, N20, P20, P19);
  1733. V8MAC(%SF2636, %SF2564, N6, L5, %FF1280, P18, N15, %SF1280, L13, N21, P17, P18);
  1734. V8MAC(%SF2637, %SF2565, N7, L6, %FF1600, P17, N16, %SF1600, L14, N22, P16, P17);
  1735. V8MAC(%SF2638, %SF2566, N8, L7, %FF1920, P16, N17, %SF1920, L15, N23, P15, P16);
  1736. V8MAC(%SF2639, %SF2567, N9, L8, %FF2240, P15, N18, %SF2240, L16, N24, P14, P14);
  1737. %EndModel
  1738.  
  1739. %StartModel
  1740. %Manufacturer:Lattice
  1741. %Type:20V8A
  1742. %PartNumber:LATTICE'GAL20V8A-10L
  1743. %LastNode ? ?
  1744. %NumPins: 24
  1745. %FDF AND 0 P2 ~P2 N1 ~N1 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5 N4 ~N4 P6 ~P6
  1746.      N5 ~N5 P7 ~P7 N6 ~N6 P8 ~P8 N7 ~N7 P9 ~P9 N8 ~N8 P10 ~P10 N9 ~N9 
  1747.      P11 ~P11 N10 ~N10 *
  1748.  
  1749. %MACRO FEEDBACK(N1FeedBack: %TEXT, N10FeedBack: %TEXT);
  1750.  %IF %SF2704 = 1 %THEN
  1751.   BUF(P1; N1FeedBack; 0,0,0,0);
  1752.   BUF(P13; N10FeedBack; 0,0,0,0);
  1753.  %ELSE
  1754.   BUF(P23; N1FeedBack; 0,0,0,0);
  1755.   BUF(P14; N10FeedBack; 0,0,0,0);
  1756.  %END;
  1757. %MACEND;
  1758.      
  1759. %MACRO V8MAC(S0:%SF, XorFuse:%SF, FeedBack:%TEXT, LorOutput:%TEXT, InFuse:%FF, 
  1760.              OutPin:%TEXT, TNode:%TEXT, EnableFuse:%SF, TLNode:%TEXT, 
  1761.          TSNode:%TEXT, NextPin:%TEXT, PrevPin:%TEXT);
  1762.  %CASE %SF2704,%SF2705,%S0
  1763.    2:
  1764.      LOR(%InFuse,%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,
  1765.          %InFuse+240,%InFuse+280;LorOutput);
  1766.      %IF %XorFuse=0 %THEN
  1767.       LINV(LorOutput;TLNode);
  1768.       DQFFC(TLNode, P1, IPL; TNode; 6,6,10,0,8,8,1,1,1,1,6,6,10,0,8,8,1,1,1,1);
  1769.      %ELSE         
  1770.       DQFFC(LorOutput, P1, IPL; TNode; 6,6,10,0,8,8,1,1,1,1,6,6,10,0,8,8,1,1,1,1);
  1771.      %END;
  1772.      TSB(TNode, L17; OutPin; 8,8,8,8,10,10,10,10);
  1773.      BUF(TNode; FeedBack; 0,0,0,0);
  1774.   |3:
  1775.      LOR(%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,%InFuse+240,
  1776.          %InFuse+280;LorOutput);
  1777.      %IF %EnableFuse..%EnableFuse+39 = 1 %THEN
  1778.       %IF %XorFuse = 0 %THEN
  1779.        INV(LorOutput; OutPin; 8,8,10,10);
  1780.       %ELSE
  1781.        BUF(LorOutput; OutPin; 8,8,10,10);
  1782.       %END;
  1783.      %ELSE
  1784.       %IF %XorFuse = 0 %THEN
  1785.        INV(LorOutput; TNode; 8,8,10,10);
  1786.       %ELSE
  1787.        BUF(LorOutput; TNode; 8,8,10,10);
  1788.       %END;
  1789.       TSB(TNode, %InFuse; OutPin; 8,8,8,8,10,10,10,10);
  1790.      %END;
  1791.      BUF(OutPin; FeedBack; 0,0,0,0);
  1792.   |4:
  1793.      LOR(%InFuse,%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,
  1794.          %InFuse+240,%InFuse+280;LorOutput);
  1795.      %IF %XorFuse = 0 %THEN
  1796.       INV(LorOutput; OutPin; 8,8,10,10);
  1797.      %ELSE
  1798.       BUF(LorOutput; OutPin; 8,8,10,10);
  1799.      %END;
  1800.      BUF(NextPin; FeedBack; 0,0,0,0);
  1801.   |5:
  1802.      TSB(TSNode, ZERO; OutPin; 8,8,8,8,10,10,10,10); 
  1803.      BUF(NextPin; FeedBack; 0,0,0,0);    
  1804.   |7:
  1805.    LOR(%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,%InFuse+240,
  1806.        %InFuse+280;LorOutput);
  1807.      %IF %EnableFuse..%EnableFuse+39 = 1 %THEN
  1808.       %IF %XorFuse = 0 %THEN
  1809.        INV(LorOutput; OutPin; 8,8,10,10);
  1810.       %ELSE
  1811.        BUF(LorOutput; OutPin; 8,8,10,10);
  1812.       %END;
  1813.      %ELSE
  1814.       %IF %XorFuse = 0 %THEN
  1815.        INV(LorOutput; TNode; 8,8,10,10);
  1816.       %ELSE
  1817.        BUF(LorOutput; TNode; 8,8,10,10);
  1818.       %END;
  1819.       TSB(TNode, %InFuse; OutPin; 8,8,8,8,10,10,10,10);
  1820.      %END;
  1821.      BUF(PrevPin; FeedBack; 0,0,0,0);
  1822.  %END;
  1823. %MACEND;
  1824.      
  1825. FEEDBACK(N1, N10);
  1826.  
  1827. LINV(P13;L17);
  1828.  
  1829. V8MAC(%SF2632, %SF2560, N2, L1, %FF00, P22, N11, %SF00, L9, N17, P23, P23);
  1830. V8MAC(%SF2633, %SF2561, N3, L2, %FF320, P21, N12, %SF320, L10, N18, P22, P21);
  1831. V8MAC(%SF2634, %SF2562, N4, L3, %FF640, P20, N13, %SF640, L11, N19, P21, P20);
  1832. V8MAC(%SF2635, %SF2563, N5, L4, %FF960, P19, N14, %SF960, L12, N20, P20, P19);
  1833. V8MAC(%SF2636, %SF2564, N6, L5, %FF1280, P18, N15, %SF1280, L13, N21, P17, P18);
  1834. V8MAC(%SF2637, %SF2565, N7, L6, %FF1600, P17, N16, %SF1600, L14, N22, P16, P17);
  1835. V8MAC(%SF2638, %SF2566, N8, L7, %FF1920, P16, N17, %SF1920, L15, N23, P15, P16);
  1836. V8MAC(%SF2639, %SF2567, N9, L8, %FF2240, P15, N18, %SF2240, L16, N24, P14, P14);
  1837. %EndModel
  1838.  
  1839. %StartModel
  1840. %Manufacturer:Lattice
  1841. %Type:20V8A
  1842. %PartNumber:LATTICE'GAL20V8A-12L
  1843. %LastNode ? ?
  1844. %NumPins: 24
  1845. %FDF AND 0 P2 ~P2 N1 ~N1 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5 N4 ~N4 P6 ~P6
  1846.      N5 ~N5 P7 ~P7 N6 ~N6 P8 ~P8 N7 ~N7 P9 ~P9 N8 ~N8 P10 ~P10 N9 ~N9 
  1847.      P11 ~P11 N10 ~N10 *
  1848.  
  1849. %MACRO FEEDBACK(N1FeedBack: %TEXT, N10FeedBack: %TEXT);
  1850.  %IF %SF2704 = 1 %THEN
  1851.   BUF(P1; N1FeedBack; 0,0,0,0);
  1852.   BUF(P13; N10FeedBack; 0,0,0,0);
  1853.  %ELSE
  1854.   BUF(P23; N1FeedBack; 0,0,0,0);
  1855.   BUF(P14; N10FeedBack; 0,0,0,0);
  1856.  %END;
  1857. %MACEND;
  1858.      
  1859. %MACRO V8MAC(S0:%SF, XorFuse:%SF, FeedBack:%TEXT, LorOutput:%TEXT, InFuse:%FF, 
  1860.              OutPin:%TEXT, TNode:%TEXT, EnableFuse:%SF, TLNode:%TEXT, 
  1861.          TSNode:%TEXT, NextPin:%TEXT, PrevPin:%TEXT);
  1862.  %CASE %SF2704,%SF2705,%S0
  1863.    2:
  1864.      LOR(%InFuse,%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,
  1865.          %InFuse+240,%InFuse+280;LorOutput);
  1866.      %IF %XorFuse=0 %THEN
  1867.       LINV(LorOutput;TLNode);
  1868.       DQFFC(TLNode, P1, IPL; TNode; 8,8,10,0,8,8,1,1,1,1,10,10,10,0,8,8,1,1,1,1);
  1869.      %ELSE         
  1870.       DQFFC(LorOutput, P1, IPL; TNode; 8,8,10,0,8,8,1,1,1,1,10,10,10,0,8,8,1,1,1,1);
  1871.      %END;
  1872.      TSB(TNode, L17; OutPin; 8,8,8,8,10,10,10,10);
  1873.      BUF(TNode; FeedBack; 0,0,0,0);
  1874.   |3:
  1875.      LOR(%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,%InFuse+240,
  1876.          %InFuse+280;LorOutput);
  1877.      %IF %EnableFuse..%EnableFuse+39 = 1 %THEN
  1878.       %IF %XorFuse = 0 %THEN
  1879.        INV(LorOutput; OutPin; 10,10,12,12);
  1880.       %ELSE
  1881.        BUF(LorOutput; OutPin; 10,10,12,12);
  1882.       %END;
  1883.      %ELSE
  1884.       %IF %XorFuse = 0 %THEN
  1885.        INV(LorOutput; TNode; 10,10,12,12);
  1886.       %ELSE
  1887.        BUF(LorOutput; TNode; 10,10,12,12);
  1888.       %END;
  1889.       TSB(TNode, %InFuse; OutPin; 10,10,10,10,12,12,12,12);
  1890.      %END;
  1891.      BUF(OutPin; FeedBack; 0,0,0,0);
  1892.   |4:
  1893.      LOR(%InFuse,%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,
  1894.          %InFuse+240,%InFuse+280;LorOutput);
  1895.      %IF %XorFuse = 0 %THEN
  1896.       INV(LorOutput; OutPin; 10,10,12,12);
  1897.      %ELSE
  1898.       BUF(LorOutput; OutPin; 10,10,12,12);
  1899.      %END;
  1900.      BUF(NextPin; FeedBack; 0,0,0,0);
  1901.   |5:
  1902.      TSB(TSNode, ZERO; OutPin; 8,8,8,8,10,10,10,10); 
  1903.      BUF(NextPin; FeedBack; 0,0,0,0);    
  1904.   |7:
  1905.    LOR(%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,%InFuse+240,
  1906.        %InFuse+280;LorOutput);
  1907.      %IF %EnableFuse..%EnableFuse+39 = 1 %THEN
  1908.       %IF %XorFuse = 0 %THEN
  1909.        INV(LorOutput; OutPin; 10,10,12,12);
  1910.       %ELSE
  1911.        BUF(LorOutput; OutPin; 10,10,12,12);
  1912.       %END;
  1913.      %ELSE
  1914.       %IF %XorFuse = 0 %THEN
  1915.        INV(LorOutput; TNode; 10,10,12,12);
  1916.       %ELSE
  1917.        BUF(LorOutput; TNode; 10,10,12,12);
  1918.       %END;
  1919.       TSB(TNode, %InFuse; OutPin; 10,10,10,10,12,12,12,12);
  1920.      %END;
  1921.      BUF(PrevPin; FeedBack; 0,0,0,0);
  1922.  %END;
  1923. %MACEND;
  1924.      
  1925. FEEDBACK(N1, N10);
  1926.  
  1927. LINV(P13;L17);
  1928.  
  1929. V8MAC(%SF2632, %SF2560, N2, L1, %FF00, P22, N11, %SF00, L9, N17, P23, P23);
  1930. V8MAC(%SF2633, %SF2561, N3, L2, %FF320, P21, N12, %SF320, L10, N18, P22, P21);
  1931. V8MAC(%SF2634, %SF2562, N4, L3, %FF640, P20, N13, %SF640, L11, N19, P21, P20);
  1932. V8MAC(%SF2635, %SF2563, N5, L4, %FF960, P19, N14, %SF960, L12, N20, P20, P19);
  1933. V8MAC(%SF2636, %SF2564, N6, L5, %FF1280, P18, N15, %SF1280, L13, N21, P17, P18);
  1934. V8MAC(%SF2637, %SF2565, N7, L6, %FF1600, P17, N16, %SF1600, L14, N22, P16, P17);
  1935. V8MAC(%SF2638, %SF2566, N8, L7, %FF1920, P16, N17, %SF1920, L15, N23, P15, P16);
  1936. V8MAC(%SF2639, %SF2567, N9, L8, %FF2240, P15, N18, %SF2240, L16, N24, P14, P14);
  1937. %EndModel
  1938.  
  1939. %StartModel
  1940. %Manufacturer:Lattice
  1941. %Type:20V8A
  1942. %PartNumber:LATTICE'GAL20V8A-15L
  1943. %LastNode ? ?
  1944. %NumPins: 24
  1945. %FDF AND 0 P2 ~P2 N1 ~N1 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5 N4 ~N4 P6 ~P6
  1946.      N5 ~N5 P7 ~P7 N6 ~N6 P8 ~P8 N7 ~N7 P9 ~P9 N8 ~N8 P10 ~P10 N9 ~N9 
  1947.      P11 ~P11 N10 ~N10 *
  1948.  
  1949. %MACRO FEEDBACK(N1FeedBack: %TEXT, N10FeedBack: %TEXT);
  1950.  %IF %SF2704 = 1 %THEN
  1951.   BUF(P1; N1FeedBack; 0,0,0,0);
  1952.   BUF(P13; N10FeedBack; 0,0,0,0);
  1953.  %ELSE
  1954.   BUF(P23; N1FeedBack; 0,0,0,0);
  1955.   BUF(P14; N10FeedBack; 0,0,0,0);
  1956.  %END;
  1957. %MACEND;
  1958.      
  1959. %MACRO V8MAC(S0:%SF, XorFuse:%SF, FeedBack:%TEXT, LorOutput:%TEXT, InFuse:%FF, 
  1960.              OutPin:%TEXT, TNode:%TEXT, EnableFuse:%SF, TLNode:%TEXT, 
  1961.          TSNode:%TEXT, NextPin:%TEXT, PrevPin:%TEXT);
  1962.  %CASE %SF2704,%SF2705,%S0
  1963.    2:
  1964.      LOR(%InFuse,%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,
  1965.          %InFuse+240,%InFuse+280;LorOutput);
  1966.      %IF %XorFuse=0 %THEN
  1967.       LINV(LorOutput;TLNode);
  1968.       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);
  1969.      %ELSE         
  1970.       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);
  1971.      %END;
  1972.      TSB(TNode, L17; OutPin; 13,13,13,13,15,15,15,15);
  1973.      BUF(TNode; FeedBack; 0,0,0,0);
  1974.   |3:
  1975.      LOR(%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,%InFuse+240,
  1976.          %InFuse+280;LorOutput);
  1977.      %IF %EnableFuse..%EnableFuse+39 = 1 %THEN
  1978.       %IF %XorFuse = 0 %THEN
  1979.        INV(LorOutput; OutPin; 13,13,15,15);
  1980.       %ELSE
  1981.        BUF(LorOutput; OutPin; 13,13,15,15);
  1982.       %END;
  1983.      %ELSE
  1984.       %IF %XorFuse = 0 %THEN
  1985.        INV(LorOutput; TNode; 13,13,15,15);
  1986.       %ELSE
  1987.        BUF(LorOutput; TNode; 13,13,15,15);
  1988.       %END;
  1989.       TSB(TNode, %InFuse; OutPin; 13,13,13,13,15,15,15,15);
  1990.      %END;
  1991.      BUF(OutPin; FeedBack; 0,0,0,0);
  1992.   |4:
  1993.      LOR(%InFuse,%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,
  1994.          %InFuse+240,%InFuse+280;LorOutput);
  1995.      %IF %XorFuse = 0 %THEN
  1996.       INV(LorOutput; OutPin; 13,13,15,15);
  1997.      %ELSE
  1998.       BUF(LorOutput; OutPin; 13,13,15,15);
  1999.      %END;
  2000.      BUF(NextPin; FeedBack; 0,0,0,0);
  2001.   |5:
  2002.      TSB(TSNode, ZERO; OutPin; 13,13,13,13,15,15,15,15); 
  2003.      BUF(NextPin; FeedBack; 0,0,0,0);    
  2004.   |7:
  2005.    LOR(%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,%InFuse+240,
  2006.        %InFuse+280;LorOutput);
  2007.      %IF %EnableFuse..%EnableFuse+39 = 1 %THEN
  2008.       %IF %XorFuse = 0 %THEN
  2009.        INV(LorOutput; OutPin; 13,13,15,15);
  2010.       %ELSE
  2011.        BUF(LorOutput; OutPin; 13,13,15,15);
  2012.       %END;
  2013.      %ELSE
  2014.       %IF %XorFuse = 0 %THEN
  2015.        INV(LorOutput; TNode; 13,13,15,15);
  2016.       %ELSE
  2017.        BUF(LorOutput; TNode; 13,13,15,15);
  2018.       %END;
  2019.       TSB(TNode, %InFuse; OutPin; 13,13,13,13,15,15,15,15);
  2020.      %END;
  2021.      BUF(PrevPin; FeedBack; 0,0,0,0);
  2022.  %END;
  2023. %MACEND;
  2024.      
  2025. FEEDBACK(N1, N10);
  2026.  
  2027. LINV(P13;L17);
  2028.  
  2029. V8MAC(%SF2632, %SF2560, N2, L1, %FF00, P22, N11, %SF00, L9, N17, P23, P23);
  2030. V8MAC(%SF2633, %SF2561, N3, L2, %FF320, P21, N12, %SF320, L10, N18, P22, P21);
  2031. V8MAC(%SF2634, %SF2562, N4, L3, %FF640, P20, N13, %SF640, L11, N19, P21, P20);
  2032. V8MAC(%SF2635, %SF2563, N5, L4, %FF960, P19, N14, %SF960, L12, N20, P20, P19);
  2033. V8MAC(%SF2636, %SF2564, N6, L5, %FF1280, P18, N15, %SF1280, L13, N21, P17, P18);
  2034. V8MAC(%SF2637, %SF2565, N7, L6, %FF1600, P17, N16, %SF1600, L14, N22, P16, P17);
  2035. V8MAC(%SF2638, %SF2566, N8, L7, %FF1920, P16, N17, %SF1920, L15, N23, P15, P16);
  2036. V8MAC(%SF2639, %SF2567, N9, L8, %FF2240, P15, N18, %SF2240, L16, N24, P14, P14);
  2037. %EndModel
  2038.  
  2039. %StartModel
  2040. %Manufacturer:Lattice
  2041. %Type:20V8A
  2042. %PartNumber:LATTICE'GAL20V8A-15Q
  2043. %LastNode ? ?
  2044. %NumPins: 24
  2045. %FDF AND 0 P2 ~P2 N1 ~N1 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5 N4 ~N4 P6 ~P6
  2046.      N5 ~N5 P7 ~P7 N6 ~N6 P8 ~P8 N7 ~N7 P9 ~P9 N8 ~N8 P10 ~P10 N9 ~N9 
  2047.      P11 ~P11 N10 ~N10 *
  2048.  
  2049. %MACRO FEEDBACK(N1FeedBack: %TEXT, N10FeedBack: %TEXT);
  2050.  %IF %SF2704 = 1 %THEN
  2051.   BUF(P1; N1FeedBack; 0,0,0,0);
  2052.   BUF(P13; N10FeedBack; 0,0,0,0);
  2053.  %ELSE
  2054.   BUF(P23; N1FeedBack; 0,0,0,0);
  2055.   BUF(P14; N10FeedBack; 0,0,0,0);
  2056.  %END;
  2057. %MACEND;
  2058.      
  2059. %MACRO V8MAC(S0:%SF, XorFuse:%SF, FeedBack:%TEXT, LorOutput:%TEXT, InFuse:%FF, 
  2060.              OutPin:%TEXT, TNode:%TEXT, EnableFuse:%SF, TLNode:%TEXT, 
  2061.          TSNode:%TEXT, NextPin:%TEXT, PrevPin:%TEXT);
  2062.  %CASE %SF2704,%SF2705,%S0
  2063.    2:
  2064.      LOR(%InFuse,%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,
  2065.          %InFuse+240,%InFuse+280;LorOutput);
  2066.      %IF %XorFuse=0 %THEN
  2067.       LINV(LorOutput;TLNode);
  2068.       DQFFC(TLNode, P1, IPL; TNode; 10,10,15,0,10,10,1,1,1,1,12,12,15,0,10,10,1,1,1,1);
  2069.      %ELSE         
  2070.       DQFFC(LorOutput, P1, IPL; TNode; 10,10,15,0,10,10,1,1,1,1,12,12,15,0,10,10,1,1,1,1);
  2071.      %END;
  2072.      TSB(TNode, L17; OutPin; 13,13,13,13,15,15,15,15);
  2073.      BUF(TNode; FeedBack; 0,0,0,0);
  2074.   |3:
  2075.      LOR(%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,%InFuse+240,
  2076.          %InFuse+280;LorOutput);
  2077.      %IF %EnableFuse..%EnableFuse+39 = 1 %THEN
  2078.       %IF %XorFuse = 0 %THEN
  2079.        INV(LorOutput; OutPin; 13,13,15,15);
  2080.       %ELSE
  2081.        BUF(LorOutput; OutPin; 13,13,15,15);
  2082.       %END;
  2083.      %ELSE
  2084.       %IF %XorFuse = 0 %THEN
  2085.        INV(LorOutput; TNode; 13,13,15,15);
  2086.       %ELSE
  2087.        BUF(LorOutput; TNode; 13,13,15,15);
  2088.       %END;
  2089.       TSB(TNode, %InFuse; OutPin; 13,13,13,13,15,15,15,15);
  2090.      %END;
  2091.      BUF(OutPin; FeedBack; 0,0,0,0);
  2092.   |4:
  2093.      LOR(%InFuse,%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,
  2094.          %InFuse+240,%InFuse+280;LorOutput);
  2095.      %IF %XorFuse = 0 %THEN
  2096.       INV(LorOutput; OutPin; 13,13,15,15);
  2097.      %ELSE
  2098.       BUF(LorOutput; OutPin; 13,13,15,15);
  2099.      %END;
  2100.      BUF(NextPin; FeedBack; 0,0,0,0);
  2101.   |5:
  2102.      TSB(TSNode, ZERO; OutPin; 13,13,13,13,15,15,15,15); 
  2103.      BUF(NextPin; FeedBack; 0,0,0,0);    
  2104.   |7:
  2105.    LOR(%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,%InFuse+240,
  2106.        %InFuse+280;LorOutput);
  2107.      %IF %EnableFuse..%EnableFuse+39 = 1 %THEN
  2108.       %IF %XorFuse = 0 %THEN
  2109.        INV(LorOutput; OutPin; 13,13,15,15);
  2110.       %ELSE
  2111.        BUF(LorOutput; OutPin; 13,13,15,15);
  2112.       %END;
  2113.      %ELSE
  2114.       %IF %XorFuse = 0 %THEN
  2115.        INV(LorOutput; TNode; 13,13,15,15);
  2116.       %ELSE
  2117.        BUF(LorOutput; TNode; 13,13,15,15);
  2118.       %END;
  2119.       TSB(TNode, %InFuse; OutPin; 13,13,13,13,15,15,15,15);
  2120.      %END;
  2121.      BUF(PrevPin; FeedBack; 0,0,0,0);
  2122.  %END;
  2123. %MACEND;
  2124.      
  2125. FEEDBACK(N1, N10);
  2126.  
  2127. LINV(P13;L17);
  2128.  
  2129. V8MAC(%SF2632, %SF2560, N2, L1, %FF00, P22, N11, %SF00, L9, N17, P23, P23);
  2130. V8MAC(%SF2633, %SF2561, N3, L2, %FF320, P21, N12, %SF320, L10, N18, P22, P21);
  2131. V8MAC(%SF2634, %SF2562, N4, L3, %FF640, P20, N13, %SF640, L11, N19, P21, P20);
  2132. V8MAC(%SF2635, %SF2563, N5, L4, %FF960, P19, N14, %SF960, L12, N20, P20, P19);
  2133. V8MAC(%SF2636, %SF2564, N6, L5, %FF1280, P18, N15, %SF1280, L13, N21, P17, P18);
  2134. V8MAC(%SF2637, %SF2565, N7, L6, %FF1600, P17, N16, %SF1600, L14, N22, P16, P17);
  2135. V8MAC(%SF2638, %SF2566, N8, L7, %FF1920, P16, N17, %SF1920, L15, N23, P15, P16);
  2136. V8MAC(%SF2639, %SF2567, N9, L8, %FF2240, P15, N18, %SF2240, L16, N24, P14, P14);
  2137. %EndModel
  2138.  
  2139. %StartModel
  2140. %Manufacturer:Lattice
  2141. %Type:20V8A
  2142. %PartNumber:LATTICE'GAL20V8A-25L
  2143. %LastNode ? ?
  2144. %NumPins: 24
  2145. %FDF AND 0 P2 ~P2 N1 ~N1 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5 N4 ~N4 P6 ~P6
  2146.      N5 ~N5 P7 ~P7 N6 ~N6 P8 ~P8 N7 ~N7 P9 ~P9 N8 ~N8 P10 ~P10 N9 ~N9 
  2147.      P11 ~P11 N10 ~N10 *
  2148.  
  2149. %MACRO FEEDBACK(N1FeedBack: %TEXT, N10FeedBack: %TEXT);
  2150.  %IF %SF2704 = 1 %THEN
  2151.   BUF(P1; N1FeedBack; 0,0,0,0);
  2152.   BUF(P13; N10FeedBack; 0,0,0,0);
  2153.  %ELSE
  2154.   BUF(P23; N1FeedBack; 0,0,0,0);
  2155.   BUF(P14; N10FeedBack; 0,0,0,0);
  2156.  %END;
  2157. %MACEND;
  2158.      
  2159. %MACRO V8MAC(S0:%SF, XorFuse:%SF, FeedBack:%TEXT, LorOutput:%TEXT, InFuse:%FF, 
  2160.              OutPin:%TEXT, TNode:%TEXT, EnableFuse:%SF, TLNode:%TEXT, 
  2161.          TSNode:%TEXT, NextPin:%TEXT, PrevPin:%TEXT);
  2162.  %CASE %SF2704,%SF2705,%S0
  2163.    2:
  2164.      LOR(%InFuse,%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,
  2165.          %InFuse+240,%InFuse+280;LorOutput);
  2166.      %IF %XorFuse=0 %THEN
  2167.       LINV(LorOutput;TLNode);
  2168.       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);
  2169.      %ELSE         
  2170.       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);
  2171.      %END;
  2172.      TSB(TNode, L17; OutPin; 18,18,18,18,20,20,20,20);
  2173.      BUF(TNode; FeedBack; 0,0,0,0);
  2174.   |3:
  2175.      LOR(%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,%InFuse+240,
  2176.          %InFuse+280;LorOutput);
  2177.      %IF %EnableFuse..%EnableFuse+39 = 1 %THEN
  2178.       %IF %XorFuse = 0 %THEN
  2179.        INV(LorOutput; OutPin; 23,23,25,25);
  2180.       %ELSE
  2181.        BUF(LorOutput; OutPin; 23,23,25,25);
  2182.       %END;
  2183.      %ELSE
  2184.       %IF %XorFuse = 0 %THEN
  2185.        INV(LorOutput; TNode; 23,23,25,25);
  2186.       %ELSE
  2187.        BUF(LorOutput; TNode; 23,23,25,25);
  2188.       %END;
  2189.       TSB(TNode, %InFuse; OutPin; 23,23,23,23,25,25,25,25);
  2190.      %END;
  2191.      BUF(OutPin; FeedBack; 0,0,0,0);
  2192.   |4:
  2193.      LOR(%InFuse,%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,
  2194.          %InFuse+240,%InFuse+280;LorOutput);
  2195.      %IF %XorFuse = 0 %THEN
  2196.       INV(LorOutput; OutPin; 23,23,25,25);
  2197.      %ELSE
  2198.       BUF(LorOutput; OutPin; 23,23,25,25);
  2199.      %END;
  2200.      BUF(NextPin; FeedBack; 0,0,0,0);
  2201.   |5:
  2202.      TSB(TSNode, ZERO; OutPin; 18,18,18,18,20,20,20,20); 
  2203.      BUF(NextPin; FeedBack; 0,0,0,0);    
  2204.   |7:
  2205.    LOR(%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,%InFuse+240,
  2206.        %InFuse+280;LorOutput);
  2207.      %IF %EnableFuse..%EnableFuse+39 = 1 %THEN
  2208.       %IF %XorFuse = 0 %THEN
  2209.        INV(LorOutput; OutPin; 23,23,25,25);
  2210.       %ELSE
  2211.        BUF(LorOutput; OutPin; 23,23,25,25);
  2212.       %END;
  2213.      %ELSE
  2214.       %IF %XorFuse = 0 %THEN
  2215.        INV(LorOutput; TNode; 23,23,25,25);
  2216.       %ELSE
  2217.        BUF(LorOutput; TNode; 23,23,25,25);
  2218.       %END;
  2219.       TSB(TNode, %InFuse; OutPin; 23,23,23,23,25,25,25,25);
  2220.      %END;
  2221.      BUF(PrevPin; FeedBack; 0,0,0,0);
  2222.  %END;
  2223. %MACEND;
  2224.      
  2225. FEEDBACK(N1, N10);
  2226.  
  2227. LINV(P13;L17);
  2228.  
  2229. V8MAC(%SF2632, %SF2560, N2, L1, %FF00, P22, N11, %SF00, L9, N17, P23, P23);
  2230. V8MAC(%SF2633, %SF2561, N3, L2, %FF320, P21, N12, %SF320, L10, N18, P22, P21);
  2231. V8MAC(%SF2634, %SF2562, N4, L3, %FF640, P20, N13, %SF640, L11, N19, P21, P20);
  2232. V8MAC(%SF2635, %SF2563, N5, L4, %FF960, P19, N14, %SF960, L12, N20, P20, P19);
  2233. V8MAC(%SF2636, %SF2564, N6, L5, %FF1280, P18, N15, %SF1280, L13, N21, P17, P18);
  2234. V8MAC(%SF2637, %SF2565, N7, L6, %FF1600, P17, N16, %SF1600, L14, N22, P16, P17);
  2235. V8MAC(%SF2638, %SF2566, N8, L7, %FF1920, P16, N17, %SF1920, L15, N23, P15, P16);
  2236. V8MAC(%SF2639, %SF2567, N9, L8, %FF2240, P15, N18, %SF2240, L16, N24, P14, P14);
  2237. %EndModel
  2238.  
  2239. %StartModel
  2240. %Manufacturer:Lattice
  2241. %Type:20V8A
  2242. %PartNumber:LATTICE'GAL20V8A-15LI
  2243. %LastNode ? ?
  2244. %NumPins: 24
  2245. %FDF AND 0 P2 ~P2 N1 ~N1 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5 N4 ~N4 P6 ~P6
  2246.      N5 ~N5 P7 ~P7 N6 ~N6 P8 ~P8 N7 ~N7 P9 ~P9 N8 ~N8 P10 ~P10 N9 ~N9 
  2247.      P11 ~P11 N10 ~N10 *
  2248.  
  2249. %MACRO FEEDBACK(N1FeedBack: %TEXT, N10FeedBack: %TEXT);
  2250.  %IF %SF2704 = 1 %THEN
  2251.   BUF(P1; N1FeedBack; 0,0,0,0);
  2252.   BUF(P13; N10FeedBack; 0,0,0,0);
  2253.  %ELSE
  2254.   BUF(P23; N1FeedBack; 0,0,0,0);
  2255.   BUF(P14; N10FeedBack; 0,0,0,0);
  2256.  %END;
  2257. %MACEND;
  2258.      
  2259. %MACRO V8MAC(S0:%SF, XorFuse:%SF, FeedBack:%TEXT, LorOutput:%TEXT, InFuse:%FF, 
  2260.              OutPin:%TEXT, TNode:%TEXT, EnableFuse:%SF, TLNode:%TEXT, 
  2261.          TSNode:%TEXT, NextPin:%TEXT, PrevPin:%TEXT);
  2262.  %CASE %SF2704,%SF2705,%S0
  2263.    2:
  2264.      LOR(%InFuse,%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,
  2265.          %InFuse+240,%InFuse+280;LorOutput);
  2266.      %IF %XorFuse=0 %THEN
  2267.       LINV(LorOutput;TLNode);
  2268.       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);
  2269.      %ELSE         
  2270.       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);
  2271.      %END;
  2272.      TSB(TNode, L17; OutPin; 13,13,13,13,15,15,15,15);
  2273.      BUF(TNode; FeedBack; 0,0,0,0);
  2274.   |3:
  2275.      LOR(%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,%InFuse+240,
  2276.          %InFuse+280;LorOutput);
  2277.      %IF %EnableFuse..%EnableFuse+39 = 1 %THEN
  2278.       %IF %XorFuse = 0 %THEN
  2279.        INV(LorOutput; OutPin; 13,13,15,15);
  2280.       %ELSE
  2281.        BUF(LorOutput; OutPin; 13,13,15,15);
  2282.       %END;
  2283.      %ELSE
  2284.       %IF %XorFuse = 0 %THEN
  2285.        INV(LorOutput; TNode; 13,13,15,15);
  2286.       %ELSE
  2287.        BUF(LorOutput; TNode; 13,13,15,15);
  2288.       %END;
  2289.       TSB(TNode, %InFuse; OutPin; 13,13,13,13,15,15,15,15);
  2290.      %END;
  2291.      BUF(OutPin; FeedBack; 0,0,0,0);
  2292.   |4:
  2293.      LOR(%InFuse,%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,
  2294.          %InFuse+240,%InFuse+280;LorOutput);
  2295.      %IF %XorFuse = 0 %THEN
  2296.       INV(LorOutput; OutPin; 13,13,15,15);
  2297.      %ELSE
  2298.       BUF(LorOutput; OutPin; 13,13,15,15);
  2299.      %END;
  2300.      BUF(NextPin; FeedBack; 0,0,0,0);
  2301.   |5:
  2302.      TSB(TSNode, ZERO; OutPin; 13,13,13,13,15,15,15,15); 
  2303.      BUF(NextPin; FeedBack; 0,0,0,0);    
  2304.   |7:
  2305.    LOR(%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,%InFuse+240,
  2306.        %InFuse+280;LorOutput);
  2307.      %IF %EnableFuse..%EnableFuse+39 = 1 %THEN
  2308.       %IF %XorFuse = 0 %THEN
  2309.        INV(LorOutput; OutPin; 13,13,15,15);
  2310.       %ELSE
  2311.        BUF(LorOutput; OutPin; 13,13,15,15);
  2312.       %END;
  2313.      %ELSE
  2314.       %IF %XorFuse = 0 %THEN
  2315.        INV(LorOutput; TNode; 13,13,15,15);
  2316.       %ELSE
  2317.        BUF(LorOutput; TNode; 13,13,15,15);
  2318.       %END;
  2319.       TSB(TNode, %InFuse; OutPin; 13,13,13,13,15,15,15,15);
  2320.      %END;
  2321.      BUF(PrevPin; FeedBack; 0,0,0,0);
  2322.  %END;
  2323. %MACEND;
  2324.      
  2325. FEEDBACK(N1, N10);
  2326.  
  2327. LINV(P13;L17);
  2328.  
  2329. V8MAC(%SF2632, %SF2560, N2, L1, %FF00, P22, N11, %SF00, L9, N17, P23, P23);
  2330. V8MAC(%SF2633, %SF2561, N3, L2, %FF320, P21, N12, %SF320, L10, N18, P22, P21);
  2331. V8MAC(%SF2634, %SF2562, N4, L3, %FF640, P20, N13, %SF640, L11, N19, P21, P20);
  2332. V8MAC(%SF2635, %SF2563, N5, L4, %FF960, P19, N14, %SF960, L12, N20, P20, P19);
  2333. V8MAC(%SF2636, %SF2564, N6, L5, %FF1280, P18, N15, %SF1280, L13, N21, P17, P18);
  2334. V8MAC(%SF2637, %SF2565, N7, L6, %FF1600, P17, N16, %SF1600, L14, N22, P16, P17);
  2335. V8MAC(%SF2638, %SF2566, N8, L7, %FF1920, P16, N17, %SF1920, L15, N23, P15, P16);
  2336. V8MAC(%SF2639, %SF2567, N9, L8, %FF2240, P15, N18, %SF2240, L16, N24, P14, P14);
  2337. %EndModel
  2338.  
  2339. %StartModel
  2340. %Manufacturer:Lattice
  2341. %Type:20V8A
  2342. %PartNumber:LATTICE'GAL20V8A-20LI
  2343. %LastNode ? ?
  2344. %NumPins: 24
  2345. %FDF AND 0 P2 ~P2 N1 ~N1 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5 N4 ~N4 P6 ~P6
  2346.      N5 ~N5 P7 ~P7 N6 ~N6 P8 ~P8 N7 ~N7 P9 ~P9 N8 ~N8 P10 ~P10 N9 ~N9 
  2347.      P11 ~P11 N10 ~N10 *
  2348.  
  2349. %MACRO FEEDBACK(N1FeedBack: %TEXT, N10FeedBack: %TEXT);
  2350.  %IF %SF2704 = 1 %THEN
  2351.   BUF(P1; N1FeedBack; 0,0,0,0);
  2352.   BUF(P13; N10FeedBack; 0,0,0,0);
  2353.  %ELSE
  2354.   BUF(P23; N1FeedBack; 0,0,0,0);
  2355.   BUF(P14; N10FeedBack; 0,0,0,0);
  2356.  %END;
  2357. %MACEND;
  2358.      
  2359. %MACRO V8MAC(S0:%SF, XorFuse:%SF, FeedBack:%TEXT, LorOutput:%TEXT, InFuse:%FF, 
  2360.              OutPin:%TEXT, TNode:%TEXT, EnableFuse:%SF, TLNode:%TEXT, 
  2361.          TSNode:%TEXT, NextPin:%TEXT, PrevPin:%TEXT);
  2362.  %CASE %SF2704,%SF2705,%S0
  2363.    2:
  2364.      LOR(%InFuse,%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,
  2365.          %InFuse+240,%InFuse+280;LorOutput);
  2366.      %IF %XorFuse=0 %THEN
  2367.       LINV(LorOutput;TLNode);
  2368.       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);
  2369.      %ELSE         
  2370.       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);
  2371.      %END;
  2372.      TSB(TNode, L17; OutPin; 16,16,16,16,18,18,18,18);
  2373.      BUF(TNode; FeedBack; 0,0,0,0);
  2374.   |3:
  2375.      LOR(%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,%InFuse+240,
  2376.          %InFuse+280;LorOutput);
  2377.      %IF %EnableFuse..%EnableFuse+39 = 1 %THEN
  2378.       %IF %XorFuse = 0 %THEN
  2379.        INV(LorOutput; OutPin; 18,18,20,20);
  2380.       %ELSE
  2381.        BUF(LorOutput; OutPin; 18,18,20,20);
  2382.       %END;
  2383.      %ELSE
  2384.       %IF %XorFuse = 0 %THEN
  2385.        INV(LorOutput; TNode; 18,18,20,20);
  2386.       %ELSE
  2387.        BUF(LorOutput; TNode; 18,18,20,20);
  2388.       %END;
  2389.       TSB(TNode, %InFuse; OutPin; 18,18,18,18,20,20,20,20);
  2390.      %END;
  2391.      BUF(OutPin; FeedBack; 0,0,0,0);
  2392.   |4:
  2393.      LOR(%InFuse,%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,
  2394.          %InFuse+240,%InFuse+280;LorOutput);
  2395.      %IF %XorFuse = 0 %THEN
  2396.       INV(LorOutput; OutPin; 18,18,20,20);
  2397.      %ELSE
  2398.       BUF(LorOutput; OutPin; 18,18,20,20);
  2399.      %END;
  2400.      BUF(NextPin; FeedBack; 0,0,0,0);
  2401.   |5:
  2402.      TSB(TSNode, ZERO; OutPin; 16,16,16,16,18,18,18,18); 
  2403.      BUF(NextPin; FeedBack; 0,0,0,0);    
  2404.   |7:
  2405.    LOR(%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,%InFuse+240,
  2406.        %InFuse+280;LorOutput);
  2407.      %IF %EnableFuse..%EnableFuse+39 = 1 %THEN
  2408.       %IF %XorFuse = 0 %THEN
  2409.        INV(LorOutput; OutPin; 18,18,20,20);
  2410.       %ELSE
  2411.        BUF(LorOutput; OutPin; 18,18,20,20);
  2412.       %END;
  2413.      %ELSE
  2414.       %IF %XorFuse = 0 %THEN
  2415.        INV(LorOutput; TNode; 18,18,20,20);
  2416.       %ELSE
  2417.        BUF(LorOutput; TNode; 18,18,20,20);
  2418.       %END;
  2419.       TSB(TNode, %InFuse; OutPin; 18,18,18,18,20,20,20,20);
  2420.      %END;
  2421.      BUF(PrevPin; FeedBack; 0,0,0,0);
  2422.  %END;
  2423. %MACEND;
  2424.      
  2425. FEEDBACK(N1, N10);
  2426.  
  2427. LINV(P13;L17);
  2428.  
  2429. V8MAC(%SF2632, %SF2560, N2, L1, %FF00, P22, N11, %SF00, L9, N17, P23, P23);
  2430. V8MAC(%SF2633, %SF2561, N3, L2, %FF320, P21, N12, %SF320, L10, N18, P22, P21);
  2431. V8MAC(%SF2634, %SF2562, N4, L3, %FF640, P20, N13, %SF640, L11, N19, P21, P20);
  2432. V8MAC(%SF2635, %SF2563, N5, L4, %FF960, P19, N14, %SF960, L12, N20, P20, P19);
  2433. V8MAC(%SF2636, %SF2564, N6, L5, %FF1280, P18, N15, %SF1280, L13, N21, P17, P18);
  2434. V8MAC(%SF2637, %SF2565, N7, L6, %FF1600, P17, N16, %SF1600, L14, N22, P16, P17);
  2435. V8MAC(%SF2638, %SF2566, N8, L7, %FF1920, P16, N17, %SF1920, L15, N23, P15, P16);
  2436. V8MAC(%SF2639, %SF2567, N9, L8, %FF2240, P15, N18, %SF2240, L16, N24, P14, P14);
  2437. %EndModel
  2438.  
  2439. %StartModel
  2440. %Manufacturer:Lattice
  2441. %Type:20V8A
  2442. %PartNumber:LATTICE'GAL20V8A-25LI
  2443. %LastNode ? ?
  2444. %NumPins: 24
  2445. %FDF AND 0 P2 ~P2 N1 ~N1 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5 N4 ~N4 P6 ~P6
  2446.      N5 ~N5 P7 ~P7 N6 ~N6 P8 ~P8 N7 ~N7 P9 ~P9 N8 ~N8 P10 ~P10 N9 ~N9 
  2447.      P11 ~P11 N10 ~N10 *
  2448.  
  2449. %MACRO FEEDBACK(N1FeedBack: %TEXT, N10FeedBack: %TEXT);
  2450.  %IF %SF2704 = 1 %THEN
  2451.   BUF(P1; N1FeedBack; 0,0,0,0);
  2452.   BUF(P13; N10FeedBack; 0,0,0,0);
  2453.  %ELSE
  2454.   BUF(P23; N1FeedBack; 0,0,0,0);
  2455.   BUF(P14; N10FeedBack; 0,0,0,0);
  2456.  %END;
  2457. %MACEND;
  2458.      
  2459. %MACRO V8MAC(S0:%SF, XorFuse:%SF, FeedBack:%TEXT, LorOutput:%TEXT, InFuse:%FF, 
  2460.              OutPin:%TEXT, TNode:%TEXT, EnableFuse:%SF, TLNode:%TEXT, 
  2461.          TSNode:%TEXT, NextPin:%TEXT, PrevPin:%TEXT);
  2462.  %CASE %SF2704,%SF2705,%S0
  2463.    2:
  2464.      LOR(%InFuse,%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,
  2465.          %InFuse+240,%InFuse+280;LorOutput);
  2466.      %IF %XorFuse=0 %THEN
  2467.       LINV(LorOutput;TLNode);
  2468.       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);
  2469.      %ELSE         
  2470.       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);
  2471.      %END;
  2472.      TSB(TNode, L17; OutPin; 18,18,18,18,20,20,20,20);
  2473.      BUF(TNode; FeedBack; 0,0,0,0);
  2474.   |3:
  2475.      LOR(%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,%InFuse+240,
  2476.          %InFuse+280;LorOutput);
  2477.      %IF %EnableFuse..%EnableFuse+39 = 1 %THEN
  2478.       %IF %XorFuse = 0 %THEN
  2479.        INV(LorOutput; OutPin; 23,23,25,25);
  2480.       %ELSE
  2481.        BUF(LorOutput; OutPin; 23,23,25,25);
  2482.       %END;
  2483.      %ELSE
  2484.       %IF %XorFuse = 0 %THEN
  2485.        INV(LorOutput; TNode; 23,23,25,25);
  2486.       %ELSE
  2487.        BUF(LorOutput; TNode; 23,23,25,25);
  2488.       %END;
  2489.       TSB(TNode, %InFuse; OutPin; 23,23,23,23,25,25,25,25);
  2490.      %END;
  2491.      BUF(OutPin; FeedBack; 0,0,0,0);
  2492.   |4:
  2493.      LOR(%InFuse,%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,
  2494.          %InFuse+240,%InFuse+280;LorOutput);
  2495.      %IF %XorFuse = 0 %THEN
  2496.       INV(LorOutput; OutPin; 23,23,25,25);
  2497.      %ELSE
  2498.       BUF(LorOutput; OutPin; 23,23,25,25);
  2499.      %END;
  2500.      BUF(NextPin; FeedBack; 0,0,0,0);
  2501.   |5:
  2502.      TSB(TSNode, ZERO; OutPin; 18,18,18,18,20,20,20,20); 
  2503.      BUF(NextPin; FeedBack; 0,0,0,0);    
  2504.   |7:
  2505.    LOR(%InFuse+40,%InFuse+80,%InFuse+120,%InFuse+160,%InFuse+200,%InFuse+240,
  2506.        %InFuse+280;LorOutput);
  2507.      %IF %EnableFuse..%EnableFuse+39 = 1 %THEN
  2508.       %IF %XorFuse = 0 %THEN
  2509.        INV(LorOutput; OutPin; 23,23,25,25);
  2510.       %ELSE
  2511.        BUF(LorOutput; OutPin; 23,23,25,25);
  2512.       %END;
  2513.      %ELSE
  2514.       %IF %XorFuse = 0 %THEN
  2515.        INV(LorOutput; TNode; 23,23,25,25);
  2516.       %ELSE
  2517.        BUF(LorOutput; TNode; 23,23,25,25);
  2518.       %END;
  2519.       TSB(TNode, %InFuse; OutPin; 23,23,23,23,25,25,25,25);
  2520.      %END;
  2521.      BUF(PrevPin; FeedBack; 0,0,0,0);
  2522.  %END;
  2523. %MACEND;
  2524.      
  2525. FEEDBACK(N1, N10);
  2526.  
  2527. LINV(P13;L17);
  2528.  
  2529. V8MAC(%SF2632, %SF2560, N2, L1, %FF00, P22, N11, %SF00, L9, N17, P23, P23);
  2530. V8MAC(%SF2633, %SF2561, N3, L2, %FF320, P21, N12, %SF320, L10, N18, P22, P21);
  2531. V8MAC(%SF2634, %SF2562, N4, L3, %FF640, P20, N13, %SF640, L11, N19, P21, P20);
  2532. V8MAC(%SF2635, %SF2563, N5, L4, %FF960, P19, N14, %SF960, L12, N20, P20, P19);
  2533. V8MAC(%SF2636, %SF2564, N6, L5, %FF1280, P18, N15, %SF1280, L13, N21, P17, P18);
  2534. V8MAC(%SF2637, %SF2565, N7, L6, %FF1600, P17, N16, %SF1600, L14, N22, P16, P17);
  2535. V8MAC(%SF2638, %SF2566, N8, L7, %FF1920, P16, N17, %SF1920, L15, N23, P15, P16);
  2536. V8MAC(%SF2639, %SF2567, N9, L8, %FF2240, P15, N18, %SF2240, L16, N24, P14, P14);
  2537. %EndModel
  2538.  
  2539.  
  2540. %StartModel
  2541. %Manufacturer:Lattice
  2542. %Type:22V10
  2543. %PartNumber:LATTICE'GAL22V10-15L
  2544. %LastNode ? ?
  2545. %NumPins: 24
  2546. %FDF AND 0 P1 ~P1 N1 ~N1 P2 ~P2 N2 ~N2 P3 ~P3 N3 ~N3 P4 ~P4 N4 ~N4 P5 ~P5
  2547.      N5 ~N5 P6 ~P6 N6 ~N6 P7 ~P7 N7 ~N7 P8 ~P8 N8 ~N8 P9 ~P9 N9 ~N9
  2548.      P10 ~P10 N10 ~N10 P11 ~P11 P13 ~P13 *
  2549.  
  2550. %MACRO LOR16(InFuse:%FF, OutLNode:%TEXT);
  2551.  LOR(%InFuse,%InFuse+44,%InFuse+88,%InFuse+132,%InFuse+176,%InFuse+220,
  2552.      %InFuse+264,%InFuse+308,%InFuse+352,%InFuse+396,%InFuse+440,%InFuse+484,
  2553.      %InFuse+528,%InFuse+572,%InFuse+616,%InFuse+660; OutLNode);
  2554. %MACEND;
  2555.  
  2556. %MACRO LOR14(InFuse:%FF, OutLNode:%TEXT);
  2557.  LOR(%InFuse,%InFuse+44,%InFuse+88,%InFuse+132,%InFuse+176,%InFuse+220,
  2558.      %InFuse+264,%InFuse+308,%InFuse+352,%InFuse+396,%InFuse+440,%InFuse+484,
  2559.      %InFuse+528,%InFuse+572; OutLNode);
  2560. %MACEND;
  2561.  
  2562. %MACRO LOR12(InFuse:%FF, OutLNode:%TEXT);
  2563.  LOR(%InFuse,%InFuse+44,%InFuse+88,%InFuse+132,%InFuse+176,%InFuse+220,
  2564.      %InFuse+264,%InFuse+308,%InFuse+352,%InFuse+396,%InFuse+440,
  2565.      %InFuse+484; OutLNode);
  2566. %MACEND;
  2567.  
  2568. %MACRO LOR10(InFuse:%FF, OutLNode:%TEXT);
  2569.  LOR(%InFuse,%InFuse+44,%InFuse+88,%InFuse+132,%InFuse+176,%InFuse+220,
  2570.      %InFuse+264,%InFuse+308,%InFuse+352,%InFuse+396; OutLNode);
  2571. %MACEND;
  2572.  
  2573. %MACRO LOR8(InFuse:%FF, OutLNode:%TEXT);
  2574.  LOR(%InFuse,%InFuse+44,%InFuse+88,%InFuse+132,%InFuse+176,%InFuse+220,
  2575.      %InFuse+264,%InFuse+308; OutLNode);
  2576. %MACEND;
  2577.  
  2578. %MACRO V10Mac(S1:%SF, S0:%SF, FeedBack:%TEXT, OrOutput:%TEXT, TNode:%TEXT,
  2579.               OutPin:%TEXT, InFuse:%FF, EnableFuse:%SF, TLNode:%TEXT);
  2580.  %CASE %S1,%S0
  2581.    0:
  2582.      LOR(OrOutput, L21; TLNode);
  2583.      DQFFC(TLNode, P1, L22; TNode; 6,6,12,0,8,8,20,20,15,15,8,8,12,0,8,8,20,20,15,15);
  2584.     %IF %EnableFuse..%EnableFuse+43 = 1 %THEN
  2585.      INV(TNode; OutPin; 0,0,0,0);
  2586.     %ELSE
  2587.      ITSB(TNode, %InFuse; OutPin; 13,13,13,13,15,15,15,15);
  2588.     %END;
  2589.     INV(TNode; FeedBack; 0,0,0,0);
  2590.   |1:
  2591.      LOR(OrOutput, L21; TLNode);
  2592.      DQFFC(TLNode, P1, L22; TNode; 6,6,12,0,8,8,18,18,15,15,8,8,12,0,8,8,20,20,15,15);
  2593.     %IF %EnableFuse..%EnableFuse+43 = 1 %THEN
  2594.      BUF(TNode; OutPin; 0,0,0,0);
  2595.     %ELSE
  2596.      TSB(TNode, %InFuse; OutPin; 13,13,13,13,15,15,15,15);
  2597.     %END;
  2598.     INV(TNode; FeedBack; 0,0,0,0);
  2599.   |2:
  2600.     %IF %EnableFuse..%EnableFuse+43 = 1 %THEN
  2601.      INV(OrOutput; OutPin; 13,13,15,15);
  2602.     %ELSE
  2603.      INV(OrOutput; TNode; 13,13,15,15);
  2604.      TSB(TNode, %InFuse; OutPin; 13,13,13,13,15,15,15,15);
  2605.     %END;
  2606.     BUF(OutPin; FeedBack; 0,0,0,0);
  2607.   |3:
  2608.     %IF %EnableFuse..%EnableFuse+43 = 1 %THEN
  2609.      BUF(OrOutput; OutPin; 13,13,15,15);
  2610.     %ELSE
  2611.      BUF(OrOutput; TNode; 13,13,15,15);
  2612.      TSB(TNode, %InFuse; OutPin; 13,13,13,13,15,15,15,15);
  2613.     %END;
  2614.     BUF(OutPin; FeedBack; 0,0,0,0);
  2615.   %END;
  2616. %MACEND;
  2617.  
  2618. LAND(%FF5764; L21);
  2619. LNOR(%FF00, IPH; L22);
  2620.  
  2621. LOR8(%FF88, L1);
  2622. LOR10(%FF484, L2);
  2623. LOR12(%FF968, L3);
  2624. LOR14(%FF1540, L4);
  2625. LOR16(%FF2200, L5);
  2626. LOR16(%FF2948, L6);
  2627. LOR14(%FF3696, L7);
  2628. LOR12(%FF4356, L8);
  2629. LOR10(%FF4928, L9);
  2630. LOR8(%FF5412, L10);
  2631.  
  2632. V10Mac(%SF5809, %SF5808, N1, L1, N11, P23, %FF44, %SF44, L11);
  2633. V10Mac(%SF5811, %SF5810, N2, L2, N12, P22, %FF440, %SF440, L12);
  2634. V10Mac(%SF5813, %SF5812, N3, L3, N13, P21, %FF924, %SF924, L13);
  2635. V10Mac(%SF5815, %SF5814, N4, L4, N14, P20, %FF1496, %SF1496, L14);
  2636. V10Mac(%SF5817, %SF5816, N5, L5, N15, P19, %FF2156, %SF2156, L15);
  2637. V10Mac(%SF5819, %SF5818, N6, L6, N16, P18, %FF2904, %SF2904, L16);
  2638. V10Mac(%SF5821, %SF5820, N7, L7, N17, P17, %FF3652, %SF3652, L17);
  2639. V10Mac(%SF5823, %SF5822, N8, L8, N18, P16, %FF4312, %SF4312, L18);
  2640. V10Mac(%SF5825, %SF5824, N9, L9, N19, P15, %FF4884, %SF4884, L19);
  2641. V10Mac(%SF5827, %SF5826, N10, L10, N20, P14, %FF5368, %SF5368, L20);
  2642. %EndModel
  2643.  
  2644. %StartModel
  2645. %Manufacturer:Lattice
  2646. %Type:22V10
  2647. %PartNumber:LATTICE'GAL22V10-25L
  2648. %LastNode ? ?
  2649. %NumPins: 24
  2650. %FDF AND 0 P1 ~P1 N1 ~N1 P2 ~P2 N2 ~N2 P3 ~P3 N3 ~N3 P4 ~P4 N4 ~N4 P5 ~P5
  2651.      N5 ~N5 P6 ~P6 N6 ~N6 P7 ~P7 N7 ~N7 P8 ~P8 N8 ~N8 P9 ~P9 N9 ~N9
  2652.      P10 ~P10 N10 ~N10 P11 ~P11 P13 ~P13 *
  2653.  
  2654. %MACRO LOR16(InFuse:%FF, OutLNode:%TEXT);
  2655.  LOR(%InFuse,%InFuse+44,%InFuse+88,%InFuse+132,%InFuse+176,%InFuse+220,
  2656.      %InFuse+264,%InFuse+308,%InFuse+352,%InFuse+396,%InFuse+440,%InFuse+484,
  2657.      %InFuse+528,%InFuse+572,%InFuse+616,%InFuse+660; OutLNode);
  2658. %MACEND;
  2659.  
  2660. %MACRO LOR14(InFuse:%FF, OutLNode:%TEXT);
  2661.  LOR(%InFuse,%InFuse+44,%InFuse+88,%InFuse+132,%InFuse+176,%InFuse+220,
  2662.      %InFuse+264,%InFuse+308,%InFuse+352,%InFuse+396,%InFuse+440,%InFuse+484,
  2663.      %InFuse+528,%InFuse+572; OutLNode);
  2664. %MACEND;
  2665.  
  2666. %MACRO LOR12(InFuse:%FF, OutLNode:%TEXT);
  2667.  LOR(%InFuse,%InFuse+44,%InFuse+88,%InFuse+132,%InFuse+176,%InFuse+220,
  2668.      %InFuse+264,%InFuse+308,%InFuse+352,%InFuse+396,%InFuse+440,
  2669.      %InFuse+484; OutLNode);
  2670. %MACEND;
  2671.  
  2672. %MACRO LOR10(InFuse:%FF, OutLNode:%TEXT);
  2673.  LOR(%InFuse,%InFuse+44,%InFuse+88,%InFuse+132,%InFuse+176,%InFuse+220,
  2674.      %InFuse+264,%InFuse+308,%InFuse+352,%InFuse+396; OutLNode);
  2675. %MACEND;
  2676.  
  2677. %MACRO LOR8(InFuse:%FF, OutLNode:%TEXT);
  2678.  LOR(%InFuse,%InFuse+44,%InFuse+88,%InFuse+132,%InFuse+176,%InFuse+220,
  2679.      %InFuse+264,%InFuse+308; OutLNode);
  2680. %MACEND;
  2681.  
  2682. %MACRO V10Mac(S1:%SF, S0:%SF, FeedBack:%TEXT, OrOutput:%TEXT, TNode:%TEXT,
  2683.               OutPin:%TEXT, InFuse:%FF, EnableFuse:%SF, TLNode:%TEXT);
  2684.  %CASE %S1,%S0
  2685.    0:
  2686.      LOR(OrOutput, L21; TLNode);
  2687.      DQFFC(TLNode, P1, L22; TNode; 13,13,15,0,15,15,23,23,25,25,15,15,15,0,15,15,25,25,25,25);
  2688.     %IF %EnableFuse..%EnableFuse+43 = 1 %THEN
  2689.      INV(TNode; OutPin; 0,0,0,0);
  2690.     %ELSE
  2691.      ITSB(TNode, %InFuse; OutPin; 23,23,23,23,25,25,25,25);
  2692.     %END;
  2693.     INV(TNode; FeedBack; 0,0,0,0);
  2694.   |1:
  2695.      LOR(OrOutput, L21; TLNode);
  2696.      DQFFC(TLNode, P1, L22; TNode; 10,10,15,0,10,10,25,25,20,20,10,10,15,0,10,10,25,25,20,20);
  2697.     %IF %EnableFuse..%EnableFuse+43 = 1 %THEN
  2698.      BUF(TNode; OutPin; 0,0,0,0);
  2699.     %ELSE
  2700.      TSB(TNode, %InFuse; OutPin; 23,23,23,23,25,25,25,25);
  2701.     %END;
  2702.     INV(TNode; FeedBack; 0,0,0,0);
  2703.   |2:
  2704.     %IF %EnableFuse..%EnableFuse+43 = 1 %THEN
  2705.      INV(OrOutput; OutPin; 23,23,25,25);
  2706.     %ELSE
  2707.      INV(OrOutput; TNode; 23,23,25,25);
  2708.      TSB(TNode, %InFuse; OutPin; 23,23,23,23,25,25,25,25);
  2709.     %END;
  2710.     BUF(OutPin; FeedBack; 0,0,0,0);
  2711.   |3:
  2712.     %IF %EnableFuse..%EnableFuse+43 = 1 %THEN
  2713.      BUF(OrOutput; OutPin; 23,23,25,25);
  2714.     %ELSE
  2715.      BUF(OrOutput; TNode; 23,23,25,25);
  2716.      TSB(TNode, %InFuse; OutPin; 23,23,23,23,25,25,25,25);
  2717.     %END;
  2718.     BUF(OutPin; FeedBack; 0,0,0,0);
  2719.   %END;
  2720. %MACEND;
  2721.  
  2722. LAND(%FF5764; L21);
  2723. LNOR(%FF00, IPH; L22);
  2724.  
  2725. LOR8(%FF88, L1);
  2726. LOR10(%FF484, L2);
  2727. LOR12(%FF968, L3);
  2728. LOR14(%FF1540, L4);
  2729. LOR16(%FF2200, L5);
  2730. LOR16(%FF2948, L6);
  2731. LOR14(%FF3696, L7);
  2732. LOR12(%FF4356, L8);
  2733. LOR10(%FF4928, L9);
  2734. LOR8(%FF5412, L10);
  2735.  
  2736. V10Mac(%SF5809, %SF5808, N1, L1, N11, P23, %FF44, %SF44, L11);
  2737. V10Mac(%SF5811, %SF5810, N2, L2, N12, P22, %FF440, %SF440, L12);
  2738. V10Mac(%SF5813, %SF5812, N3, L3, N13, P21, %FF924, %SF924, L13);
  2739. V10Mac(%SF5815, %SF5814, N4, L4, N14, P20, %FF1496, %SF1496, L14);
  2740. V10Mac(%SF5817, %SF5816, N5, L5, N15, P19, %FF2156, %SF2156, L15);
  2741. V10Mac(%SF5819, %SF5818, N6, L6, N16, P18, %FF2904, %SF2904, L16);
  2742. V10Mac(%SF5821, %SF5820, N7, L7, N17, P17, %FF3652, %SF3652, L17);
  2743. V10Mac(%SF5823, %SF5822, N8, L8, N18, P16, %FF4312, %SF4312, L18);
  2744. V10Mac(%SF5825, %SF5824, N9, L9, N19, P15, %FF4884, %SF4884, L19);
  2745. V10Mac(%SF5827, %SF5826, N10, L10, N20, P14, %FF5368, %SF5368, L20);
  2746. %EndModel
  2747.  
  2748. %StartModel
  2749. %Manufacturer:Lattice
  2750. %Type:22V10
  2751. %PartNumber:LATTICE'GAL22V10-20LI
  2752. %LastNode ? ?
  2753. %NumPins: 24
  2754. %FDF AND 0 P1 ~P1 N1 ~N1 P2 ~P2 N2 ~N2 P3 ~P3 N3 ~N3 P4 ~P4 N4 ~N4 P5 ~P5
  2755.      N5 ~N5 P6 ~P6 N6 ~N6 P7 ~P7 N7 ~N7 P8 ~P8 N8 ~N8 P9 ~P9 N9 ~N9
  2756.      P10 ~P10 N10 ~N10 P11 ~P11 P13 ~P13 *
  2757.  
  2758. %MACRO LOR16(InFuse:%FF, OutLNode:%TEXT);
  2759.  LOR(%InFuse,%InFuse+44,%InFuse+88,%InFuse+132,%InFuse+176,%InFuse+220,
  2760.      %InFuse+264,%InFuse+308,%InFuse+352,%InFuse+396,%InFuse+440,%InFuse+484,
  2761.      %InFuse+528,%InFuse+572,%InFuse+616,%InFuse+660; OutLNode);
  2762. %MACEND;
  2763.  
  2764. %MACRO LOR14(InFuse:%FF, OutLNode:%TEXT);
  2765.  LOR(%InFuse,%InFuse+44,%InFuse+88,%InFuse+132,%InFuse+176,%InFuse+220,
  2766.      %InFuse+264,%InFuse+308,%InFuse+352,%InFuse+396,%InFuse+440,%InFuse+484,
  2767.      %InFuse+528,%InFuse+572; OutLNode);
  2768. %MACEND;
  2769.  
  2770. %MACRO LOR12(InFuse:%FF, OutLNode:%TEXT);
  2771.  LOR(%InFuse,%InFuse+44,%InFuse+88,%InFuse+132,%InFuse+176,%InFuse+220,
  2772.      %InFuse+264,%InFuse+308,%InFuse+352,%InFuse+396,%InFuse+440,
  2773.      %InFuse+484; OutLNode);
  2774. %MACEND;
  2775.  
  2776. %MACRO LOR10(InFuse:%FF, OutLNode:%TEXT);
  2777.  LOR(%InFuse,%InFuse+44,%InFuse+88,%InFuse+132,%InFuse+176,%InFuse+220,
  2778.      %InFuse+264,%InFuse+308,%InFuse+352,%InFuse+396; OutLNode);
  2779. %MACEND;
  2780.  
  2781. %MACRO LOR8(InFuse:%FF, OutLNode:%TEXT);
  2782.  LOR(%InFuse,%InFuse+44,%InFuse+88,%InFuse+132,%InFuse+176,%InFuse+220,
  2783.      %InFuse+264,%InFuse+308; OutLNode);
  2784. %MACEND;
  2785.  
  2786. %MACRO V10Mac(S1:%SF, S0:%SF, FeedBack:%TEXT, OrOutput:%TEXT, TNode:%TEXT,
  2787.               OutPin:%TEXT, InFuse:%FF, EnableFuse:%SF, TLNode:%TEXT);
  2788.  %CASE %S1,%S0
  2789.    0:
  2790.      LOR(OrOutput, L21; TLNode);
  2791.      DQFFC(TLNode, P1, L22; TNode; 8,8,15,0,10,10,23,23,20,20,10,10,15,0,10,10,25,25,20,20);
  2792.     %IF %EnableFuse..%EnableFuse+43 = 1 %THEN
  2793.      INV(TNode; OutPin; 0,0,0,0);
  2794.     %ELSE
  2795.      ITSB(TNode, %InFuse; OutPin; 18,18,18,18,20,20,20,20);
  2796.     %END;
  2797.     INV(TNode; FeedBack; 0,0,0,0);
  2798.   |1:
  2799.      LOR(OrOutput, L21; TLNode);
  2800.      DQFFC(TLNode, P1, L22; TNode; 8,8,15,0,10,10,23,23,20,20,10,10,15,0,10,10,25,25,20,20);
  2801.     %IF %EnableFuse..%EnableFuse+43 = 1 %THEN
  2802.      BUF(TNode; OutPin; 0,0,0,0);
  2803.     %ELSE
  2804.      TSB(TNode, %InFuse; OutPin; 18,18,18,18,20,20,20,20);
  2805.     %END;
  2806.     INV(TNode; FeedBack; 0,0,0,0);
  2807.   |2:
  2808.     %IF %EnableFuse..%EnableFuse+43 = 1 %THEN
  2809.      INV(OrOutput; OutPin; 18,18,20,20);
  2810.     %ELSE
  2811.      INV(OrOutput; TNode; 18,18,20,20);
  2812.      TSB(TNode, %InFuse; OutPin; 18,18,18,18,20,20,20,20);
  2813.     %END;
  2814.     BUF(OutPin; FeedBack; 0,0,0,0);
  2815.   |3:
  2816.     %IF %EnableFuse..%EnableFuse+43 = 1 %THEN
  2817.      BUF(OrOutput; OutPin; 18,18,20,20);
  2818.     %ELSE
  2819.      BUF(OrOutput; TNode; 18,18,20,20);
  2820.      TSB(TNode, %InFuse; OutPin; 18,18,18,18,20,20,20,20);
  2821.     %END;
  2822.     BUF(OutPin; FeedBack; 0,0,0,0);
  2823.   %END;
  2824. %MACEND;
  2825.  
  2826. LAND(%FF5764; L21);
  2827. LNOR(%FF00, IPH; L22);
  2828.  
  2829. LOR8(%FF88, L1);
  2830. LOR10(%FF484, L2);
  2831. LOR12(%FF968, L3);
  2832. LOR14(%FF1540, L4);
  2833. LOR16(%FF2200, L5);
  2834. LOR16(%FF2948, L6);
  2835. LOR14(%FF3696, L7);
  2836. LOR12(%FF4356, L8);
  2837. LOR10(%FF4928, L9);
  2838. LOR8(%FF5412, L10);
  2839.  
  2840. V10Mac(%SF5809, %SF5808, N1, L1, N11, P23, %FF44, %SF44, L11);
  2841. V10Mac(%SF5811, %SF5810, N2, L2, N12, P22, %FF440, %SF440, L12);
  2842. V10Mac(%SF5813, %SF5812, N3, L3, N13, P21, %FF924, %SF924, L13);
  2843. V10Mac(%SF5815, %SF5814, N4, L4, N14, P20, %FF1496, %SF1496, L14);
  2844. V10Mac(%SF5817, %SF5816, N5, L5, N15, P19, %FF2156, %SF2156, L15);
  2845. V10Mac(%SF5819, %SF5818, N6, L6, N16, P18, %FF2904, %SF2904, L16);
  2846. V10Mac(%SF5821, %SF5820, N7, L7, N17, P17, %FF3652, %SF3652, L17);
  2847. V10Mac(%SF5823, %SF5822, N8, L8, N18, P16, %FF4312, %SF4312, L18);
  2848. V10Mac(%SF5825, %SF5824, N9, L9, N19, P15, %FF4884, %SF4884, L19);
  2849. V10Mac(%SF5827, %SF5826, N10, L10, N20, P14, %FF5368, %SF5368, L20);
  2850. %EndModel
  2851.  
  2852. %StartModel
  2853. %Manufacturer:Lattice
  2854. %Type:22V10
  2855. %PartNumber:LATTICE'GAL22V10-25LI
  2856. %LastNode ? ?
  2857. %NumPins: 24
  2858. %FDF AND 0 P1 ~P1 N1 ~N1 P2 ~P2 N2 ~N2 P3 ~P3 N3 ~N3 P4 ~P4 N4 ~N4 P5 ~P5
  2859.      N5 ~N5 P6 ~P6 N6 ~N6 P7 ~P7 N7 ~N7 P8 ~P8 N8 ~N8 P9 ~P9 N9 ~N9
  2860.      P10 ~P10 N10 ~N10 P11 ~P11 P13 ~P13 *
  2861.  
  2862. %MACRO LOR16(InFuse:%FF, OutLNode:%TEXT);
  2863.  LOR(%InFuse,%InFuse+44,%InFuse+88,%InFuse+132,%InFuse+176,%InFuse+220,
  2864.      %InFuse+264,%InFuse+308,%InFuse+352,%InFuse+396,%InFuse+440,%InFuse+484,
  2865.      %InFuse+528,%InFuse+572,%InFuse+616,%InFuse+660; OutLNode);
  2866. %MACEND;
  2867.  
  2868. %MACRO LOR14(InFuse:%FF, OutLNode:%TEXT);
  2869.  LOR(%InFuse,%InFuse+44,%InFuse+88,%InFuse+132,%InFuse+176,%InFuse+220,
  2870.      %InFuse+264,%InFuse+308,%InFuse+352,%InFuse+396,%InFuse+440,%InFuse+484,
  2871.      %InFuse+528,%InFuse+572; OutLNode);
  2872. %MACEND;
  2873.  
  2874. %MACRO LOR12(InFuse:%FF, OutLNode:%TEXT);
  2875.  LOR(%InFuse,%InFuse+44,%InFuse+88,%InFuse+132,%InFuse+176,%InFuse+220,
  2876.      %InFuse+264,%InFuse+308,%InFuse+352,%InFuse+396,%InFuse+440,
  2877.      %InFuse+484; OutLNode);
  2878. %MACEND;
  2879.  
  2880. %MACRO LOR10(InFuse:%FF, OutLNode:%TEXT);
  2881.  LOR(%InFuse,%InFuse+44,%InFuse+88,%InFuse+132,%InFuse+176,%InFuse+220,
  2882.      %InFuse+264,%InFuse+308,%InFuse+352,%InFuse+396; OutLNode);
  2883. %MACEND;
  2884.  
  2885. %MACRO LOR8(InFuse:%FF, OutLNode:%TEXT);
  2886.  LOR(%InFuse,%InFuse+44,%InFuse+88,%InFuse+132,%InFuse+176,%InFuse+220,
  2887.      %InFuse+264,%InFuse+308; OutLNode);
  2888. %MACEND;
  2889.  
  2890. %MACRO V10Mac(S1:%SF, S0:%SF, FeedBack:%TEXT, OrOutput:%TEXT, TNode:%TEXT,
  2891.               OutPin:%TEXT, InFuse:%FF, EnableFuse:%SF, TLNode:%TEXT);
  2892.  %CASE %S1,%S0
  2893.    0:
  2894.      LOR(OrOutput, L21; TLNode);
  2895.      DQFFC(TLNode, P1, L22; TNode; 13,13,15,0,15,15,23,23,25,25,15,15,15,0,15,15,25,25,25,25);
  2896.     %IF %EnableFuse..%EnableFuse+43 = 1 %THEN
  2897.      INV(TNode; OutPin; 0,0,0,0);
  2898.     %ELSE
  2899.      ITSB(TNode, %InFuse; OutPin; 23,23,23,23,25,25,25,25);
  2900.     %END;
  2901.     INV(TNode; FeedBack; 0,0,0,0);
  2902.   |1:
  2903.      LOR(OrOutput, L21; TLNode);
  2904.      DQFFC(TLNode, P1, L22; TNode; 13,13,15,0,15,15,23,23,25,25,15,15,15,0,15,15,25,25,25,25);
  2905.     %IF %EnableFuse..%EnableFuse+43 = 1 %THEN
  2906.      BUF(TNode; OutPin; 0,0,0,0);
  2907.     %ELSE
  2908.      TSB(TNode, %InFuse; OutPin; 23,23,23,23,25,25,25,25);
  2909.     %END;
  2910.     INV(TNode; FeedBack; 0,0,0,0);
  2911.   |2:
  2912.     %IF %EnableFuse..%EnableFuse+43 = 1 %THEN
  2913.      INV(OrOutput; OutPin; 23,23,25,25);
  2914.     %ELSE
  2915.      INV(OrOutput; TNode; 23,23,25,25);
  2916.      TSB(TNode, %InFuse; OutPin; 23,23,23,23,25,25,25,25);
  2917.     %END;
  2918.     BUF(OutPin; FeedBack; 0,0,0,0);
  2919.   |3:
  2920.     %IF %EnableFuse..%EnableFuse+43 = 1 %THEN
  2921.      BUF(OrOutput; OutPin; 23,23,25,25);
  2922.     %ELSE
  2923.      BUF(OrOutput; TNode; 23,23,25,25);
  2924.      TSB(TNode, %InFuse; OutPin; 23,23,23,23,25,25,25,25);
  2925.     %END;
  2926.     BUF(OutPin; FeedBack; 0,0,0,0);
  2927.   %END;
  2928. %MACEND;
  2929.  
  2930. LAND(%FF5764; L21);
  2931. LNOR(%FF00, IPH; L22);
  2932.  
  2933. LOR8(%FF88, L1);
  2934. LOR10(%FF484, L2);
  2935. LOR12(%FF968, L3);
  2936. LOR14(%FF1540, L4);
  2937. LOR16(%FF2200, L5);
  2938. LOR16(%FF2948, L6);
  2939. LOR14(%FF3696, L7);
  2940. LOR12(%FF4356, L8);
  2941. LOR10(%FF4928, L9);
  2942. LOR8(%FF5412, L10);
  2943.  
  2944. V10Mac(%SF5809, %SF5808, N1, L1, N11, P23, %FF44, %SF44, L11);
  2945. V10Mac(%SF5811, %SF5810, N2, L2, N12, P22, %FF440, %SF440, L12);
  2946. V10Mac(%SF5813, %SF5812, N3, L3, N13, P21, %FF924, %SF924, L13);
  2947. V10Mac(%SF5815, %SF5814, N4, L4, N14, P20, %FF1496, %SF1496, L14);
  2948. V10Mac(%SF5817, %SF5816, N5, L5, N15, P19, %FF2156, %SF2156, L15);
  2949. V10Mac(%SF5819, %SF5818, N6, L6, N16, P18, %FF2904, %SF2904, L16);
  2950. V10Mac(%SF5821, %SF5820, N7, L7, N17, P17, %FF3652, %SF3652, L17);
  2951. V10Mac(%SF5823, %SF5822, N8, L8, N18, P16, %FF4312, %SF4312, L18);
  2952. V10Mac(%SF5825, %SF5824, N9, L9, N19, P15, %FF4884, %SF4884, L19);
  2953. V10Mac(%SF5827, %SF5826, N10, L10, N20, P14, %FF5368, %SF5368, L20);
  2954. %EndModel
  2955.  
  2956.  
  2957.  
  2958. %StartModel
  2959. %Manufacturer:Lattice
  2960. %Type:18V10
  2961. %PartNumber:LATTICE'GAL18V10-15LC
  2962. %LastNode ? ?
  2963. %NumPins: 20
  2964. %FDF AND 0 P1 ~P1 N1 ~N1 P2 ~P2 N2 ~N2 P3 ~P3 N3 ~N3 P4 ~P4 N4 ~N4 P5 ~P5
  2965.          N5 ~N5 P6 ~P6 N6 ~N6 P7 ~P7 N7 ~N7 P8 ~P8 N8 ~N8 N9 ~N9 N10 ~N10 *
  2966.  
  2967. %MACRO LOR10(InFuse:%FF, OutLNode:%TEXT);
  2968.  LOR(%InFuse,%InFuse+36,%InFuse+72,%InFuse+108,%InFuse+144,%InFuse+180,
  2969.      %InFuse+216,%InFuse+252,%InFuse+288,%InFuse+324; OutLNode);
  2970. %MACEND;
  2971.  
  2972. %MACRO LOR8(InFuse:%FF, OutLNode:%TEXT);
  2973.  LOR(%InFuse,%InFuse+36,%InFuse+72,%InFuse+108,%InFuse+144,%InFuse+180,
  2974.      %InFuse+216,%InFuse+252; OutLNode);
  2975. %MACEND;
  2976.  
  2977. %MACRO V10Mac(S1:%SF, S0:%SF, FeedBack:%TEXT, OrOutput:%TEXT, TNode:%TEXT,
  2978.               OutPin:%TEXT, InFuse:%FF, EnableFuse:%SF, TLNode:%TEXT);
  2979.  %CASE %S1,%S0
  2980.    0:
  2981.      LOR(OrOutput, L21; TLNode);
  2982.      DQFFC(TLNode, P1, L22; TNode; 10,10,10,0,8,8,20,20,10,15,10,10,10,0,8,8,20,20,10,15);
  2983.     %IF %EnableFuse..%EnableFuse+35 = 1 %THEN
  2984.      INV(TNode; OutPin; 0,0,0,0);
  2985.     %ELSE
  2986.      ITSB(TNode, %InFuse; OutPin; 15,15,15,15,15,15,15,15);
  2987.     %END;
  2988.     INV(TNode; FeedBack; 0,0,0,0);
  2989.   |1:
  2990.      LOR(OrOutput, L21; TLNode);
  2991.      DQFFC(TLNode, P1, L22; TNode; 10,10,10,0,8,8,20,20,10,15,10,10,10,0,8,8,20,20,10,15);
  2992.     %IF %EnableFuse..%EnableFuse+35 = 1 %THEN
  2993.      BUF(TNode; OutPin; 0,0,0,0);
  2994.     %ELSE
  2995.      TSB(TNode, %InFuse; OutPin; 15,15,15,15,15,15,15,15);
  2996.     %END;
  2997.     INV(TNode; FeedBack; 0,0,0,0);
  2998.   |2:
  2999.     %IF %EnableFuse..%EnableFuse+35 = 1 %THEN
  3000.      INV(OrOutput; OutPin; 15,15,15,15);
  3001.     %ELSE
  3002.      INV(OrOutput; TNode; 15,15,15,15);
  3003.      TSB(TNode, %InFuse; OutPin; 15,15,15,15,15,15,15,15);
  3004.     %END;
  3005.     BUF(OutPin; FeedBack; 0,0,0,0);
  3006.   |3:
  3007.     %IF %EnableFuse..%EnableFuse+35 = 1 %THEN
  3008.      BUF(OrOutput; OutPin; 15,15,15,15);
  3009.     %ELSE
  3010.      BUF(OrOutput; TNode; 15,15,15,15);
  3011.      TSB(TNode, %InFuse; OutPin; 15,15,15,15,15,15,15,15);
  3012.     %END;
  3013.     BUF(OutPin; FeedBack; 0,0,0,0);
  3014.   %END;
  3015. %MACEND;
  3016.  
  3017. LAND(%FF3420; L21);
  3018. LNOR(%FF00, IPH; L22);
  3019.  
  3020. LOR8(%FF72, L1);
  3021. LOR8(%FF396, L2);
  3022. LOR8(%FF720, L3);
  3023. LOR8(%FF1044, L4);
  3024. LOR10(%FF1368, L5);
  3025. LOR10(%FF1764, L6);
  3026. LOR8(%FF2160, L7);
  3027. LOR8(%FF2484, L8);
  3028. LOR8(%FF2808, L9);
  3029. LOR8(%FF3132, L10);
  3030.  
  3031. V10Mac(%SF3457, %SF3456, N1, L1, N11, P19, %FF36, %SF36, L11);
  3032. V10Mac(%SF3459, %SF3458, N2, L2, N12, P18, %FF360, %SF360, L12);
  3033. V10Mac(%SF3461, %SF3460, N3, L3, N13, P17, %FF684, %SF684, L13);
  3034. V10Mac(%SF3463, %SF3462, N4, L4, N14, P16, %FF1008, %SF1008, L14);
  3035. V10Mac(%SF3465, %SF3464, N5, L5, N15, P15, %FF1332, %SF1332, L15);
  3036. V10Mac(%SF3467, %SF3466, N6, L6, N16, P14, %FF1728, %SF1728, L16);
  3037. V10Mac(%SF3469, %SF3468, N7, L7, N17, P13, %FF2124, %SF2124, L17);
  3038. V10Mac(%SF3471, %SF3470, N8, L8, N18, P12, %FF2448, %SF2448, L18);
  3039. V10Mac(%SF3473, %SF3472, N9, L9, N19, P11, %FF2772, %SF2772, L19);
  3040. V10Mac(%SF3475, %SF3474, N10, L10, N20, P9, %FF3096, %SF3096, L20);
  3041. %EndModel
  3042.  
  3043. %StartModel
  3044. %Manufacturer:Lattice
  3045. %Type:18V10
  3046. %PartNumber:LATTICE'GAL18V10-20LC
  3047. %LastNode ? ?
  3048. %NumPins: 20
  3049. %FDF AND 0 P1 ~P1 N1 ~N1 P2 ~P2 N2 ~N2 P3 ~P3 N3 ~N3 P4 ~P4 N4 ~N4 P5 ~P5
  3050.          N5 ~N5 P6 ~P6 N6 ~N6 P7 ~P7 N7 ~N7 P8 ~P8 N8 ~N8 N9 ~N9 N10 ~N10 *
  3051.  
  3052. %MACRO LOR10(InFuse:%FF, OutLNode:%TEXT);
  3053.  LOR(%InFuse,%InFuse+36,%InFuse+72,%InFuse+108,%InFuse+144,%InFuse+180,
  3054.      %InFuse+216,%InFuse+252,%InFuse+288,%InFuse+324; OutLNode);
  3055. %MACEND;
  3056.  
  3057. %MACRO LOR8(InFuse:%FF, OutLNode:%TEXT);
  3058.  LOR(%InFuse,%InFuse+36,%InFuse+72,%InFuse+108,%InFuse+144,%InFuse+180,
  3059.      %InFuse+216,%InFuse+252; OutLNode);
  3060. %MACEND;
  3061.  
  3062. %MACRO V10Mac(S1:%SF, S0:%SF, FeedBack:%TEXT, OrOutput:%TEXT, TNode:%TEXT,
  3063.               OutPin:%TEXT, InFuse:%FF, EnableFuse:%SF, TLNode:%TEXT);
  3064.  %CASE %S1,%S0
  3065.    0:
  3066.      LOR(OrOutput, L21; TLNode);
  3067.      DQFFC(TLNode, P1, L22; TNode; 12,12,12,0,8,8,10,10,15,15,12,12,12,0,8,8,10,10,15,15);
  3068.     %IF %EnableFuse..%EnableFuse+35 = 1 %THEN
  3069.      INV(TNode; OutPin; 0,0,0,0);
  3070.     %ELSE
  3071.      ITSB(TNode, %InFuse; OutPin; 20,20,20,20,20,20,20,20);
  3072.     %END;
  3073.     INV(TNode; FeedBack; 0,0,0,0);
  3074.   |1:
  3075.      LOR(OrOutput, L21; TLNode);
  3076.      DQFFC(TLNode, P1, L22; TNode; 12,12,12,0,8,8,10,10,15,15,12,12,12,0,8,8,10,10,15,15);
  3077.     %IF %EnableFuse..%EnableFuse+35 = 1 %THEN
  3078.      BUF(TNode; OutPin; 0,0,0,0);
  3079.     %ELSE
  3080.      TSB(TNode, %InFuse; OutPin; 20,20,20,20,20,20,20,20);
  3081.     %END;
  3082.     INV(TNode; FeedBack; 0,0,0,0);
  3083.   |2:
  3084.     %IF %EnableFuse..%EnableFuse+35 = 1 %THEN
  3085.      INV(OrOutput; OutPin; 20,20,20,20);
  3086.     %ELSE
  3087.      INV(OrOutput; TNode; 20,20,20,20);
  3088.      TSB(TNode, %InFuse; OutPin; 20,20,20,20,20,20,20,20);
  3089.     %END;
  3090.     BUF(OutPin; FeedBack; 0,0,0,0);
  3091.   |3:
  3092.     %IF %EnableFuse..%EnableFuse+35 = 1 %THEN
  3093.      BUF(OrOutput; OutPin; 20,20,20,20);
  3094.     %ELSE
  3095.      BUF(OrOutput; TNode; 20,20,20,20);
  3096.      TSB(TNode, %InFuse; OutPin; 20,20,20,20,20,20,20,20);
  3097.     %END;
  3098.     BUF(OutPin; FeedBack; 0,0,0,0);
  3099.   %END;
  3100. %MACEND;
  3101.  
  3102. LAND(%FF3420; L21);
  3103. LNOR(%FF00, IPH; L22);
  3104.  
  3105. LOR8(%FF72, L1);
  3106. LOR8(%FF396, L2);
  3107. LOR8(%FF720, L3);
  3108. LOR8(%FF1044, L4);
  3109. LOR10(%FF1368, L5);
  3110. LOR10(%FF1764, L6);
  3111. LOR8(%FF2160, L7);
  3112. LOR8(%FF2484, L8);
  3113. LOR8(%FF2808, L9);
  3114. LOR8(%FF3132, L10);
  3115.  
  3116. V10Mac(%SF3457, %SF3456, N1, L1, N11, P19, %FF36, %SF36, L11);
  3117. V10Mac(%SF3459, %SF3458, N2, L2, N12, P18, %FF360, %SF360, L12);
  3118. V10Mac(%SF3461, %SF3460, N3, L3, N13, P17, %FF684, %SF684, L13);
  3119. V10Mac(%SF3463, %SF3462, N4, L4, N14, P16, %FF1008, %SF1008, L14);
  3120. V10Mac(%SF3465, %SF3464, N5, L5, N15, P15, %FF1332, %SF1332, L15);
  3121. V10Mac(%SF3467, %SF3466, N6, L6, N16, P14, %FF1728, %SF1728, L16);
  3122. V10Mac(%SF3469, %SF3468, N7, L7, N17, P13, %FF2124, %SF2124, L17);
  3123. V10Mac(%SF3471, %SF3470, N8, L8, N18, P12, %FF2448, %SF2448, L18);
  3124. V10Mac(%SF3473, %SF3472, N9, L9, N19, P11, %FF2772, %SF2772, L19);
  3125. V10Mac(%SF3475, %SF3474, N10, L10, N20, P9, %FF3096, %SF3096, L20);
  3126. %EndModel
  3127. ;Data for the following device is PRELIMINARY
  3128. %StartModel
  3129. %Manufacturer:Lattice
  3130. %Type:18V10
  3131. %PartNumber:LATTICE'GAL18V10-15LI
  3132. %LastNode ? ?
  3133. %NumPins: 20
  3134. %FDF AND 0 P1 ~P1 N1 ~N1 P2 ~P2 N2 ~N2 P3 ~P3 N3 ~N3 P4 ~P4 N4 ~N4 P5 ~P5
  3135.          N5 ~N5 P6 ~P6 N6 ~N6 P7 ~P7 N7 ~N7 P8 ~P8 N8 ~N8 N9 ~N9 N10 ~N10 *
  3136.  
  3137. %MACRO LOR10(InFuse:%FF, OutLNode:%TEXT);
  3138.  LOR(%InFuse,%InFuse+36,%InFuse+72,%InFuse+108,%InFuse+144,%InFuse+180,
  3139.      %InFuse+216,%InFuse+252,%InFuse+288,%InFuse+324; OutLNode);
  3140. %MACEND;
  3141.  
  3142. %MACRO LOR8(InFuse:%FF, OutLNode:%TEXT);
  3143.  LOR(%InFuse,%InFuse+36,%InFuse+72,%InFuse+108,%InFuse+144,%InFuse+180,
  3144.      %InFuse+216,%InFuse+252; OutLNode);
  3145. %MACEND;
  3146.  
  3147. %MACRO V10Mac(S1:%SF, S0:%SF, FeedBack:%TEXT, OrOutput:%TEXT, TNode:%TEXT,
  3148.               OutPin:%TEXT, InFuse:%FF, EnableFuse:%SF, TLNode:%TEXT);
  3149.  %CASE %S1,%S0
  3150.    0:
  3151.      LOR(OrOutput, L21; TLNode);
  3152.      DQFFC(TLNode, P1, L22; TNode; 8,8,10,0,8,8,20,20,10,15,8,8,10,0,8,8,20,20,10,15);
  3153.     %IF %EnableFuse..%EnableFuse+35 = 1 %THEN
  3154.      INV(TNode; OutPin; 0,0,0,0);
  3155.     %ELSE
  3156.      ITSB(TNode, %InFuse; OutPin; 15,15,15,15,15,15,15,15);
  3157.     %END;
  3158.     INV(TNode; FeedBack; 0,0,0,0);
  3159.   |1:
  3160.      LOR(OrOutput, L21; TLNode);
  3161.      DQFFC(TLNode, P1, L22; TNode; 8,8,10,0,8,8,20,20,10,15,8,8,10,0,8,8,20,20,10,15);
  3162.     %IF %EnableFuse..%EnableFuse+35 = 1 %THEN
  3163.      BUF(TNode; OutPin; 0,0,0,0);
  3164.     %ELSE
  3165.      TSB(TNode, %InFuse; OutPin; 15,15,15,15,15,15,15,15);
  3166.     %END;
  3167.     INV(TNode; FeedBack; 0,0,0,0);
  3168.   |2:
  3169.     %IF %EnableFuse..%EnableFuse+35 = 1 %THEN
  3170.      INV(OrOutput; OutPin; 15,15,15,15);
  3171.     %ELSE
  3172.      INV(OrOutput; TNode; 15,15,15,15);
  3173.      TSB(TNode, %InFuse; OutPin; 15,15,15,15,15,15,15,15);
  3174.     %END;
  3175.     BUF(OutPin; FeedBack; 0,0,0,0);
  3176.   |3:
  3177.     %IF %EnableFuse..%EnableFuse+35 = 1 %THEN
  3178.      BUF(OrOutput; OutPin; 15,15,15,15);
  3179.     %ELSE
  3180.      BUF(OrOutput; TNode; 15,15,15,15);
  3181.      TSB(TNode, %InFuse; OutPin; 15,15,15,15,15,15,15,15);
  3182.     %END;
  3183.     BUF(OutPin; FeedBack; 0,0,0,0);
  3184.   %END;
  3185. %MACEND;
  3186.  
  3187. LAND(%FF3420; L21);
  3188. LNOR(%FF00, IPH; L22);
  3189.  
  3190. LOR8(%FF72, L1);
  3191. LOR8(%FF396, L2);
  3192. LOR8(%FF720, L3);
  3193. LOR8(%FF1044, L4);
  3194. LOR10(%FF1368, L5);
  3195. LOR10(%FF1764, L6);
  3196. LOR8(%FF2160, L7);
  3197. LOR8(%FF2484, L8);
  3198. LOR8(%FF2808, L9);
  3199. LOR8(%FF3132, L10);
  3200.  
  3201. V10Mac(%SF3457, %SF3456, N1, L1, N11, P19, %FF36, %SF36, L11);
  3202. V10Mac(%SF3459, %SF3458, N2, L2, N12, P18, %FF360, %SF360, L12);
  3203. V10Mac(%SF3461, %SF3460, N3, L3, N13, P17, %FF684, %SF684, L13);
  3204. V10Mac(%SF3463, %SF3462, N4, L4, N14, P16, %FF1008, %SF1008, L14);
  3205. V10Mac(%SF3465, %SF3464, N5, L5, N15, P15, %FF1332, %SF1332, L15);
  3206. V10Mac(%SF3467, %SF3466, N6, L6, N16, P14, %FF1728, %SF1728, L16);
  3207. V10Mac(%SF3469, %SF3468, N7, L7, N17, P13, %FF2124, %SF2124, L17);
  3208. V10Mac(%SF3471, %SF3470, N8, L8, N18, P12, %FF2448, %SF2448, L18);
  3209. V10Mac(%SF3473, %SF3472, N9, L9, N19, P11, %FF2772, %SF2772, L19);
  3210. V10Mac(%SF3475, %SF3474, N10, L10, N20, P9, %FF3096, %SF3096, L20);
  3211. %EndModel
  3212.  
  3213. %StartModel
  3214. %Manufacturer:Lattice
  3215. %Type:18V10
  3216. %PartNumber:LATTICE'GAL18V10-20LI
  3217. %LastNode ? ?
  3218. %NumPins: 20
  3219. %FDF AND 0 P1 ~P1 N1 ~N1 P2 ~P2 N2 ~N2 P3 ~P3 N3 ~N3 P4 ~P4 N4 ~N4 P5 ~P5
  3220.          N5 ~N5 P6 ~P6 N6 ~N6 P7 ~P7 N7 ~N7 P8 ~P8 N8 ~N8 N9 ~N9 N10 ~N10 *
  3221.  
  3222. %MACRO LOR10(InFuse:%FF, OutLNode:%TEXT);
  3223.  LOR(%InFuse,%InFuse+36,%InFuse+72,%InFuse+108,%InFuse+144,%InFuse+180,
  3224.      %InFuse+216,%InFuse+252,%InFuse+288,%InFuse+324; OutLNode);
  3225. %MACEND;
  3226.  
  3227. %MACRO LOR8(InFuse:%FF, OutLNode:%TEXT);
  3228.  LOR(%InFuse,%InFuse+36,%InFuse+72,%InFuse+108,%InFuse+144,%InFuse+180,
  3229.      %InFuse+216,%InFuse+252; OutLNode);
  3230. %MACEND;
  3231.  
  3232. %MACRO V10Mac(S1:%SF, S0:%SF, FeedBack:%TEXT, OrOutput:%TEXT, TNode:%TEXT,
  3233.               OutPin:%TEXT, InFuse:%FF, EnableFuse:%SF, TLNode:%TEXT);
  3234.  %CASE %S1,%S0
  3235.    0:
  3236.      LOR(OrOutput, L21; TLNode);
  3237.      DQFFC(TLNode, P1, L22; TNode; 12,12,12,0,8,8,25,25,15,15,12,12,12,0,8,8,25,25,15,15);
  3238.     %IF %EnableFuse..%EnableFuse+35 = 1 %THEN
  3239.      INV(TNode; OutPin; 0,0,0,0);
  3240.     %ELSE
  3241.      ITSB(TNode, %InFuse; OutPin; 20,20,20,20,20,20,20,20);
  3242.     %END;
  3243.     INV(TNode; FeedBack; 0,0,0,0);
  3244.   |1:
  3245.      LOR(OrOutput, L21; TLNode);
  3246.      DQFFC(TLNode, P1, L22; TNode; 12,12,12,0,8,8,25,25,15,15,12,12,12,0,8,8,25,25,15,15);
  3247.     %IF %EnableFuse..%EnableFuse+35 = 1 %THEN
  3248.      BUF(TNode; OutPin; 0,0,0,0);
  3249.     %ELSE
  3250.      TSB(TNode, %InFuse; OutPin; 20,20,20,20,20,20,20,20);
  3251.     %END;
  3252.     INV(TNode; FeedBack; 0,0,0,0);
  3253.   |2:
  3254.     %IF %EnableFuse..%EnableFuse+35 = 1 %THEN
  3255.      INV(OrOutput; OutPin; 20,20,20,20);
  3256.     %ELSE
  3257.      INV(OrOutput; TNode; 20,20,20,20);
  3258.      TSB(TNode, %InFuse; OutPin; 20,20,20,20,20,20,20,20);
  3259.     %END;
  3260.     BUF(OutPin; FeedBack; 0,0,0,0);
  3261.   |3:
  3262.     %IF %EnableFuse..%EnableFuse+35 = 1 %THEN
  3263.      BUF(OrOutput; OutPin; 20,20,20,20);
  3264.     %ELSE
  3265.      BUF(OrOutput; TNode; 20,20,20,20);
  3266.      TSB(TNode, %InFuse; OutPin; 20,20,20,20,20,20,20,20);
  3267.     %END;
  3268.     BUF(OutPin; FeedBack; 0,0,0,0);
  3269.   %END;
  3270. %MACEND;
  3271.  
  3272. LAND(%FF3420; L21);
  3273. LNOR(%FF00, IPH; L22);
  3274.  
  3275. LOR8(%FF72, L1);
  3276. LOR8(%FF396, L2);
  3277. LOR8(%FF720, L3);
  3278. LOR8(%FF1044, L4);
  3279. LOR10(%FF1368, L5);
  3280. LOR10(%FF1764, L6);
  3281. LOR8(%FF2160, L7);
  3282. LOR8(%FF2484, L8);
  3283. LOR8(%FF2808, L9);
  3284. LOR8(%FF3132, L10);
  3285.  
  3286. V10Mac(%SF3457, %SF3456, N1, L1, N11, P19, %FF36, %SF36, L11);
  3287. V10Mac(%SF3459, %SF3458, N2, L2, N12, P18, %FF360, %SF360, L12);
  3288. V10Mac(%SF3461, %SF3460, N3, L3, N13, P17, %FF684, %SF684, L13);
  3289. V10Mac(%SF3463, %SF3462, N4, L4, N14, P16, %FF1008, %SF1008, L14);
  3290. V10Mac(%SF3465, %SF3464, N5, L5, N15, P15, %FF1332, %SF1332, L15);
  3291. V10Mac(%SF3467, %SF3466, N6, L6, N16, P14, %FF1728, %SF1728, L16);
  3292. V10Mac(%SF3469, %SF3468, N7, L7, N17, P13, %FF2124, %SF2124, L17);
  3293. V10Mac(%SF3471, %SF3470, N8, L8, N18, P12, %FF2448, %SF2448, L18);
  3294. V10Mac(%SF3473, %SF3472, N9, L9, N19, P11, %FF2772, %SF2772, L19);
  3295. V10Mac(%SF3475, %SF3474, N10, L10, N20, P9, %FF3096, %SF3096, L20);
  3296. %EndModel
  3297.  
  3298. %StartModel
  3299. %Manufacturer:Lattice
  3300. %Type:26CV12
  3301. %PartNumber:LATTICE'GAL26CV12-15LC
  3302. %LastNode ? ?
  3303. %NumPins: 28
  3304. %FDF AND 0 P1 ~P1 P28 ~P28 P2 ~P2 N1 ~N1 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5
  3305.      N4 ~N4 P6 ~P6 N5 ~N5 P8 ~P8 N6 ~N6 P9 ~P9 N7 ~N7 P10 ~P10 N8 ~N8
  3306.      P11 ~P11 N9 ~N9 P12 ~P12 N10 ~N10 P13 ~P13 N11 ~N11 P14 ~P14 N12 ~N12 *
  3307.  
  3308. %MACRO LOR12(InFuse:%FF, OutLNode:%TEXT);
  3309.  LOR(%InFuse,%InFuse+52,%InFuse+104,%InFuse+156,%InFuse+208,%InFuse+260,
  3310.      %InFuse+312,%InFuse+364,%InFuse+416,%InFuse+468,%InFuse+520,
  3311.      %InFuse+572; OutLNode);
  3312. %MACEND;
  3313.  
  3314. %MACRO LOR10(InFuse:%FF, OutLNode:%TEXT);
  3315.  LOR(%InFuse,%InFuse+52,%InFuse+104,%InFuse+156,%InFuse+208,%InFuse+260,
  3316.      %InFuse+312,%InFuse+364,%InFuse+416,%InFuse+468; OutLNode);
  3317. %MACEND;
  3318.  
  3319. %MACRO LOR8(InFuse:%FF, OutLNode:%TEXT);
  3320.  LOR(%InFuse,%InFuse+52,%InFuse+104,%InFuse+156,%InFuse+208,%InFuse+260,
  3321.      %InFuse+312,%InFuse+364; OutLNode);
  3322. %MACEND;
  3323.  
  3324. %MACRO V12Mac(S1:%SF, S0:%SF, FeedBack:%TEXT, OrOutput:%TEXT, TNode:%TEXT,
  3325.               OutPin:%TEXT, InFuse:%FF, EnableFuse:%SF, TLNode:%TEXT);
  3326.  %CASE %S1,%S0
  3327.    0:
  3328.      LOR(OrOutput, L25; TLNode);
  3329.      DQFFC(TLNode, P1, L26; TNode; 10,10,10,0,8,8,20,20,10,15,10,10,10,0,8,8,20,20,10,15);
  3330.     %IF %EnableFuse..%EnableFuse+51 = 1 %THEN
  3331.      INV(TNode; OutPin; 0,0,0,0);
  3332.     %ELSE
  3333.      ITSB(TNode, %InFuse; OutPin; 15,15,15,15,15,15,15,15);
  3334.     %END;
  3335.     INV(TNode; FeedBack; 0,0,0,0);
  3336.   |1:
  3337.      LOR(OrOutput, L25; TLNode);
  3338.      DQFFC(TLNode, P1, L26; TNode; 10,10,10,0,8,8,20,20,10,15,10,10,10,0,8,8,20,20,10,15);
  3339.     %IF %EnableFuse..%EnableFuse+51 = 1 %THEN
  3340.      BUF(TNode; OutPin; 0,0,0,0);
  3341.     %ELSE
  3342.      TSB(TNode, %InFuse; OutPin; 15,15,15,15,15,15,15,15);
  3343.     %END;
  3344.     INV(TNode; FeedBack; 0,0,0,0);
  3345.   |2:
  3346.     %IF %EnableFuse..%EnableFuse+51 = 1 %THEN
  3347.      INV(OrOutput; OutPin; 15,15,15,15);
  3348.     %ELSE
  3349.      INV(OrOutput; TNode; 15,15,15,15);
  3350.      TSB(TNode, %InFuse; OutPin; 15,15,15,15,15,15,15,15);
  3351.     %END;
  3352.     BUF(OutPin; FeedBack; 0,0,0,0);
  3353.   |3:
  3354.     %IF %EnableFuse..%EnableFuse+51 = 1 %THEN
  3355.      BUF(OrOutput; OutPin; 15,15,15,15);
  3356.     %ELSE
  3357.      BUF(OrOutput; TNode; 15,15,15,15);
  3358.      TSB(TNode, %InFuse; OutPin; 15,15,15,15,15,15,15,15);
  3359.     %END;
  3360.     BUF(OutPin; FeedBack; 0,0,0,0);
  3361.   %END;
  3362. %MACEND;
  3363.  
  3364. LAND(%FF6292; L25);
  3365. LNOR(%FF00, IPH; L26);
  3366.  
  3367. LOR8(%FF104, L1);
  3368. LOR8(%FF572, L2);
  3369. LOR8(%FF1040, L3);
  3370. LOR8(%FF1508, L4);
  3371. LOR10(%FF1976, L5);
  3372. LOR12(%FF2548, L6);
  3373. LOR12(%FF3224, L7);
  3374. LOR10(%FF3900, L8);
  3375. LOR8(%FF4472, L9);
  3376. LOR8(%FF4940, L10);
  3377. LOR8(%FF5408,L11);
  3378. LOR8(%FF5876,L12);
  3379.  
  3380. V12Mac(%SF6345, %SF6344, N1, L1, N13, P27, %FF52, %SF52, L13);
  3381. V12Mac(%SF6347, %SF6346, N2, L2, N14, P26, %FF520, %SF520, L14);
  3382. V12Mac(%SF6349, %SF6348, N3, L3, N15, P25, %FF988, %SF988, L15);
  3383. V12Mac(%SF6351, %SF6350, N4, L4, N16, P24, %FF1456, %SF1456, L16);
  3384. V12Mac(%SF6353, %SF6352, N5, L5, N17, P23, %FF1924, %SF1924, L17);
  3385. V12Mac(%SF6355, %SF6354, N6, L6, N18, P22, %FF2496, %SF2496, L18);
  3386. V12Mac(%SF6357, %SF6356, N7, L7, N19, P20, %FF3172, %SF3172, L19);
  3387. V12Mac(%SF6359, %SF6358, N8, L8, N20, P19, %FF3848, %SF3848, L20);
  3388. V12Mac(%SF6361, %SF6360, N9, L9, N21, P18, %FF4420, %SF4420, L21);
  3389. V12Mac(%SF6363, %SF6362, N10, L10, N22, P17, %FF4888, %SF4888, L22);
  3390. V12Mac(%SF6365, %SF6364, N11, L11, N23, P16, %FF5356, %SF5356, L23);
  3391. V12Mac(%SF6367, %SF6366, N12, L12, N24, P15, %FF5824, %SF5824, L24);
  3392.  
  3393. %EndModel
  3394.  
  3395. %StartModel
  3396. %Manufacturer:Lattice
  3397. %Type:26CV12
  3398. %PartNumber:LATTICE'GAL26CV12-20LC
  3399. %LastNode ? ?
  3400. %NumPins: 28
  3401. %FDF AND 0 P1 ~P1 P28 ~P28 P2 ~P2 N1 ~N1 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5
  3402.      N4 ~N4 P6 ~P6 N5 ~N5 P8 ~P8 N6 ~N6 P9 ~P9 N7 ~N7 P10 ~P10 N8 ~N8
  3403.      P11 ~P11 N9 ~N9 P12 ~P12 N10 ~N10 P13 ~P13 N11 ~N11 P14 ~P14 N12 ~N12 *
  3404.  
  3405. %MACRO LOR12(InFuse:%FF, OutLNode:%TEXT);
  3406.  LOR(%InFuse,%InFuse+52,%InFuse+104,%InFuse+156,%InFuse+208,%InFuse+260,
  3407.      %InFuse+312,%InFuse+364,%InFuse+416,%InFuse+468,%InFuse+520,
  3408.      %InFuse+572; OutLNode);
  3409. %MACEND;
  3410.  
  3411. %MACRO LOR10(InFuse:%FF, OutLNode:%TEXT);
  3412.  LOR(%InFuse,%InFuse+52,%InFuse+104,%InFuse+156,%InFuse+208,%InFuse+260,
  3413.      %InFuse+312,%InFuse+364,%InFuse+416,%InFuse+468; OutLNode);
  3414. %MACEND;
  3415.  
  3416. %MACRO LOR8(InFuse:%FF, OutLNode:%TEXT);
  3417.  LOR(%InFuse,%InFuse+52,%InFuse+104,%InFuse+156,%InFuse+208,%InFuse+260,
  3418.      %InFuse+312,%InFuse+364; OutLNode);
  3419. %MACEND;
  3420.  
  3421. %MACRO V12Mac(S1:%SF, S0:%SF, FeedBack:%TEXT, OrOutput:%TEXT, TNode:%TEXT,
  3422.               OutPin:%TEXT, InFuse:%FF, EnableFuse:%SF, TLNode:%TEXT);
  3423.  %CASE %S1,%S0
  3424.    0:
  3425.      LOR(OrOutput, L25; TLNode);
  3426.      DQFFC(TLNode, P1, L26; TNode; 12,12,12,0,8,8,10,10,15,15,12,12,12,0,8,8,10,10,15,15);
  3427.     %IF %EnableFuse..%EnableFuse+51 = 1 %THEN
  3428.      INV(TNode; OutPin; 0,0,0,0);
  3429.     %ELSE
  3430.      ITSB(TNode, %InFuse; OutPin; 20,20,20,20,20,20,20,20);
  3431.     %END;
  3432.     INV(TNode; FeedBack; 0,0,0,0);
  3433.   |1:
  3434.      LOR(OrOutput, L25; TLNode);
  3435.      DQFFC(TLNode, P1, L26; TNode; 12,12,12,0,8,8,10,10,15,15,12,12,12,0,8,8,10,10,15,15);
  3436.     %IF %EnableFuse..%EnableFuse+51 = 1 %THEN
  3437.      BUF(TNode; OutPin; 0,0,0,0);
  3438.     %ELSE
  3439.      TSB(TNode, %InFuse; OutPin; 20,20,20,20,20,20,20,20);
  3440.     %END;
  3441.     INV(TNode; FeedBack; 0,0,0,0);
  3442.   |2:
  3443.     %IF %EnableFuse..%EnableFuse+51 = 1 %THEN
  3444.      INV(OrOutput; OutPin; 20,20,20,20);
  3445.     %ELSE
  3446.      INV(OrOutput; TNode; 20,20,20,20);
  3447.      TSB(TNode, %InFuse; OutPin; 20,20,20,20,20,20,20,20);
  3448.     %END;
  3449.     BUF(OutPin; FeedBack; 0,0,0,0);
  3450.   |3:
  3451.     %IF %EnableFuse..%EnableFuse+51 = 1 %THEN
  3452.      BUF(OrOutput; OutPin; 20,20,20,20);
  3453.     %ELSE
  3454.      BUF(OrOutput; TNode; 20,20,20,20);
  3455.      TSB(TNode, %InFuse; OutPin; 20,20,20,20,20,20,20,20);
  3456.     %END;
  3457.     BUF(OutPin; FeedBack; 0,0,0,0);
  3458.   %END;
  3459. %MACEND;
  3460.  
  3461. LAND(%FF6292; L25);
  3462. LNOR(%FF00, IPH; L26);
  3463.  
  3464. LOR8(%FF104, L1);
  3465. LOR8(%FF572, L2);
  3466. LOR8(%FF1040, L3);
  3467. LOR8(%FF1508, L4);
  3468. LOR10(%FF1976, L5);
  3469. LOR12(%FF2548, L6);
  3470. LOR12(%FF3224, L7);
  3471. LOR10(%FF3900, L8);
  3472. LOR8(%FF4472, L9);
  3473. LOR8(%FF4940, L10);
  3474. LOR8(%FF5408,L11);
  3475. LOR8(%FF5876,L12);
  3476.  
  3477. V12Mac(%SF6345, %SF6344, N1, L1, N13, P27, %FF52, %SF52, L13);
  3478. V12Mac(%SF6347, %SF6346, N2, L2, N14, P26, %FF520, %SF520, L14);
  3479. V12Mac(%SF6349, %SF6348, N3, L3, N15, P25, %FF988, %SF988, L15);
  3480. V12Mac(%SF6351, %SF6350, N4, L4, N16, P24, %FF1456, %SF1456, L16);
  3481. V12Mac(%SF6353, %SF6352, N5, L5, N17, P23, %FF1924, %SF1924, L17);
  3482. V12Mac(%SF6355, %SF6354, N6, L6, N18, P22, %FF2496, %SF2496, L18);
  3483. V12Mac(%SF6357, %SF6356, N7, L7, N19, P20, %FF3172, %SF3172, L19);
  3484. V12Mac(%SF6359, %SF6358, N8, L8, N20, P19, %FF3848, %SF3848, L20);
  3485. V12Mac(%SF6361, %SF6360, N9, L9, N21, P18, %FF4420, %SF4420, L21);
  3486. V12Mac(%SF6363, %SF6362, N10, L10, N22, P17, %FF4888, %SF4888, L22);
  3487. V12Mac(%SF6365, %SF6364, N11, L11, N23, P16, %FF5356, %SF5356, L23);
  3488. V12Mac(%SF6367, %SF6366, N12, L12, N24, P15, %FF5824, %SF5824, L24);
  3489.  
  3490. %EndModel
  3491. ;Data for the following device is PRELIMINARY
  3492. %StartModel
  3493. %Manufacturer:Lattice
  3494. %Type:26CV12
  3495. %PartNumber:LATTICE'GAL26CV12-15LI
  3496. %LastNode ? ?
  3497. %NumPins: 28
  3498. %FDF AND 0 P1 ~P1 P28 ~P28 P2 ~P2 N1 ~N1 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5
  3499.      N4 ~N4 P6 ~P6 N5 ~N5 P8 ~P8 N6 ~N6 P9 ~P9 N7 ~N7 P10 ~P10 N8 ~N8
  3500.      P11 ~P11 N9 ~N9 P12 ~P12 N10 ~N10 P13 ~P13 N11 ~N11 P14 ~P14 N12 ~N12 *
  3501.  
  3502. %MACRO LOR12(InFuse:%FF, OutLNode:%TEXT);
  3503.  LOR(%InFuse,%InFuse+52,%InFuse+104,%InFuse+156,%InFuse+208,%InFuse+260,
  3504.      %InFuse+312,%InFuse+364,%InFuse+416,%InFuse+468,%InFuse+520,
  3505.      %InFuse+572; OutLNode);
  3506. %MACEND;
  3507.  
  3508. %MACRO LOR10(InFuse:%FF, OutLNode:%TEXT);
  3509.  LOR(%InFuse,%InFuse+52,%InFuse+104,%InFuse+156,%InFuse+208,%InFuse+260,
  3510.      %InFuse+312,%InFuse+364,%InFuse+416,%InFuse+468; OutLNode);
  3511. %MACEND;
  3512.  
  3513. %MACRO LOR8(InFuse:%FF, OutLNode:%TEXT);
  3514.  LOR(%InFuse,%InFuse+52,%InFuse+104,%InFuse+156,%InFuse+208,%InFuse+260,
  3515.      %InFuse+312,%InFuse+364; OutLNode);
  3516. %MACEND;
  3517.  
  3518. %MACRO V12Mac(S1:%SF, S0:%SF, FeedBack:%TEXT, OrOutput:%TEXT, TNode:%TEXT,
  3519.               OutPin:%TEXT, InFuse:%FF, EnableFuse:%SF, TLNode:%TEXT);
  3520.  %CASE %S1,%S0
  3521.    0:
  3522.      LOR(OrOutput, L25; TLNode);
  3523.      DQFFC(TLNode, P1, L26; TNode; 8,8,10,0,8,8,20,20,10,15,8,8,10,0,8,8,20,20,10,15);
  3524.     %IF %EnableFuse..%EnableFuse+51 = 1 %THEN
  3525.      INV(TNode; OutPin; 0,0,0,0);
  3526.     %ELSE
  3527.      ITSB(TNode, %InFuse; OutPin; 15,15,15,15,15,15,15,15);
  3528.     %END;
  3529.     INV(TNode; FeedBack; 0,0,0,0);
  3530.   |1:
  3531.      LOR(OrOutput, L25; TLNode);
  3532.      DQFFC(TLNode, P1, L26; TNode; 8,8,10,0,8,8,20,20,10,15,8,8,10,0,8,8,20,20,10,15);
  3533.     %IF %EnableFuse..%EnableFuse+51 = 1 %THEN
  3534.      BUF(TNode; OutPin; 0,0,0,0);
  3535.     %ELSE
  3536.      TSB(TNode, %InFuse; OutPin; 15,15,15,15,15,15,15,15);
  3537.     %END;
  3538.     INV(TNode; FeedBack; 0,0,0,0);
  3539.   |2:
  3540.     %IF %EnableFuse..%EnableFuse+51 = 1 %THEN
  3541.      INV(OrOutput; OutPin; 15,15,15,15);
  3542.     %ELSE
  3543.      INV(OrOutput; TNode; 15,15,15,15);
  3544.      TSB(TNode, %InFuse; OutPin; 15,15,15,15,15,15,15,15);
  3545.     %END;
  3546.     BUF(OutPin; FeedBack; 0,0,0,0);
  3547.   |3:
  3548.     %IF %EnableFuse..%EnableFuse+51 = 1 %THEN
  3549.      BUF(OrOutput; OutPin; 15,15,15,15);
  3550.     %ELSE
  3551.      BUF(OrOutput; TNode; 15,15,15,15);
  3552.      TSB(TNode, %InFuse; OutPin; 15,15,15,15,15,15,15,15);
  3553.     %END;
  3554.     BUF(OutPin; FeedBack; 0,0,0,0);
  3555.   %END;
  3556. %MACEND;
  3557.  
  3558. LAND(%FF6292; L25);
  3559. LNOR(%FF00, IPH; L26);
  3560.  
  3561. LOR8(%FF104, L1);
  3562. LOR8(%FF572, L2);
  3563. LOR8(%FF1040, L3);
  3564. LOR8(%FF1508, L4);
  3565. LOR10(%FF1976, L5);
  3566. LOR12(%FF2548, L6);
  3567. LOR12(%FF3224, L7);
  3568. LOR10(%FF3900, L8);
  3569. LOR8(%FF4472, L9);
  3570. LOR8(%FF4940, L10);
  3571. LOR8(%FF5408,L11);
  3572. LOR8(%FF5876,L12);
  3573.  
  3574. V12Mac(%SF6345, %SF6344, N1, L1, N13, P27, %FF52, %SF52, L13);
  3575. V12Mac(%SF6347, %SF6346, N2, L2, N14, P26, %FF520, %SF520, L14);
  3576. V12Mac(%SF6349, %SF6348, N3, L3, N15, P25, %FF988, %SF988, L15);
  3577. V12Mac(%SF6351, %SF6350, N4, L4, N16, P24, %FF1456, %SF1456, L16);
  3578. V12Mac(%SF6353, %SF6352, N5, L5, N17, P23, %FF1924, %SF1924, L17);
  3579. V12Mac(%SF6355, %SF6354, N6, L6, N18, P22, %FF2496, %SF2496, L18);
  3580. V12Mac(%SF6357, %SF6356, N7, L7, N19, P20, %FF3172, %SF3172, L19);
  3581. V12Mac(%SF6359, %SF6358, N8, L8, N20, P19, %FF3848, %SF3848, L20);
  3582. V12Mac(%SF6361, %SF6360, N9, L9, N21, P18, %FF4420, %SF4420, L21);
  3583. V12Mac(%SF6363, %SF6362, N10, L10, N22, P17, %FF4888, %SF4888, L22);
  3584. V12Mac(%SF6365, %SF6364, N11, L11, N23, P16, %FF5356, %SF5356, L23);
  3585. V12Mac(%SF6367, %SF6366, N12, L12, N24, P15, %FF5824, %SF5824, L24);
  3586.  
  3587. %EndModel
  3588.  
  3589. %StartModel
  3590. %Manufacturer:Lattice
  3591. %Type:26CV12
  3592. %PartNumber:LATTICE'GAL26CV12-20LI
  3593. %LastNode ? ?
  3594. %NumPins: 28
  3595. %FDF AND 0 P1 ~P1 P28 ~P28 P2 ~P2 N1 ~N1 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5
  3596.      N4 ~N4 P6 ~P6 N5 ~N5 P8 ~P8 N6 ~N6 P9 ~P9 N7 ~N7 P10 ~P10 N8 ~N8
  3597.      P11 ~P11 N9 ~N9 P12 ~P12 N10 ~N10 P13 ~P13 N11 ~N11 P14 ~P14 N12 ~N12 *
  3598.  
  3599. %MACRO LOR12(InFuse:%FF, OutLNode:%TEXT);
  3600.  LOR(%InFuse,%InFuse+52,%InFuse+104,%InFuse+156,%InFuse+208,%InFuse+260,
  3601.      %InFuse+312,%InFuse+364,%InFuse+416,%InFuse+468,%InFuse+520,
  3602.      %InFuse+572; OutLNode);
  3603. %MACEND;
  3604.  
  3605. %MACRO LOR10(InFuse:%FF, OutLNode:%TEXT);
  3606.  LOR(%InFuse,%InFuse+52,%InFuse+104,%InFuse+156,%InFuse+208,%InFuse+260,
  3607.      %InFuse+312,%InFuse+364,%InFuse+416,%InFuse+468; OutLNode);
  3608. %MACEND;
  3609.  
  3610. %MACRO LOR8(InFuse:%FF, OutLNode:%TEXT);
  3611.  LOR(%InFuse,%InFuse+52,%InFuse+104,%InFuse+156,%InFuse+208,%InFuse+260,
  3612.      %InFuse+312,%InFuse+364; OutLNode);
  3613. %MACEND;
  3614.  
  3615. %MACRO V12Mac(S1:%SF, S0:%SF, FeedBack:%TEXT, OrOutput:%TEXT, TNode:%TEXT,
  3616.               OutPin:%TEXT, InFuse:%FF, EnableFuse:%SF, TLNode:%TEXT);
  3617.  %CASE %S1,%S0
  3618.    0:
  3619.      LOR(OrOutput, L25; TLNode);
  3620.      DQFFC(TLNode, P1, L26; TNode; 12,12,12,0,8,8,25,25,15,15,12,12,12,0,8,8,25,25,15,15);
  3621.     %IF %EnableFuse..%EnableFuse+51 = 1 %THEN
  3622.      INV(TNode; OutPin; 0,0,0,0);
  3623.     %ELSE
  3624.      ITSB(TNode, %InFuse; OutPin; 20,20,20,20,20,20,20,20);
  3625.     %END;
  3626.     INV(TNode; FeedBack; 0,0,0,0);
  3627.   |1:
  3628.      LOR(OrOutput, L25; TLNode);
  3629.      DQFFC(TLNode, P1, L26; TNode; 12,12,12,0,8,8,25,25,15,15,12,12,12,0,8,8,25,25,15,15);
  3630.     %IF %EnableFuse..%EnableFuse+51 = 1 %THEN
  3631.      BUF(TNode; OutPin; 0,0,0,0);
  3632.     %ELSE
  3633.      TSB(TNode, %InFuse; OutPin; 20,20,20,20,20,20,20,20);
  3634.     %END;
  3635.     INV(TNode; FeedBack; 0,0,0,0);
  3636.   |2:
  3637.     %IF %EnableFuse..%EnableFuse+51 = 1 %THEN
  3638.      INV(OrOutput; OutPin; 20,20,20,20);
  3639.     %ELSE
  3640.      INV(OrOutput; TNode; 20,20,20,20);
  3641.      TSB(TNode, %InFuse; OutPin; 20,20,20,20,20,20,20,20);
  3642.     %END;
  3643.     BUF(OutPin; FeedBack; 0,0,0,0);
  3644.   |3:
  3645.     %IF %EnableFuse..%EnableFuse+51 = 1 %THEN
  3646.      BUF(OrOutput; OutPin; 20,20,20,20);
  3647.     %ELSE
  3648.      BUF(OrOutput; TNode; 20,20,20,20);
  3649.      TSB(TNode, %InFuse; OutPin; 20,20,20,20,20,20,20,20);
  3650.     %END;
  3651.     BUF(OutPin; FeedBack; 0,0,0,0);
  3652.   %END;
  3653. %MACEND;
  3654.  
  3655. LAND(%FF6292; L25);
  3656. LNOR(%FF00, IPH; L26);
  3657.  
  3658. LOR8(%FF104, L1);
  3659. LOR8(%FF572, L2);
  3660. LOR8(%FF1040, L3);
  3661. LOR8(%FF1508, L4);
  3662. LOR10(%FF1976, L5);
  3663. LOR12(%FF2548, L6);
  3664. LOR12(%FF3224, L7);
  3665. LOR10(%FF3900, L8);
  3666. LOR8(%FF4472, L9);
  3667. LOR8(%FF4940, L10);
  3668. LOR8(%FF5408,L11);
  3669. LOR8(%FF5876,L12);
  3670.  
  3671. V12Mac(%SF6345, %SF6344, N1, L1, N13, P27, %FF52, %SF52, L13);
  3672. V12Mac(%SF6347, %SF6346, N2, L2, N14, P26, %FF520, %SF520, L14);
  3673. V12Mac(%SF6349, %SF6348, N3, L3, N15, P25, %FF988, %SF988, L15);
  3674. V12Mac(%SF6351, %SF6350, N4, L4, N16, P24, %FF1456, %SF1456, L16);
  3675. V12Mac(%SF6353, %SF6352, N5, L5, N17, P23, %FF1924, %SF1924, L17);
  3676. V12Mac(%SF6355, %SF6354, N6, L6, N18, P22, %FF2496, %SF2496, L18);
  3677. V12Mac(%SF6357, %SF6356, N7, L7, N19, P20, %FF3172, %SF3172, L19);
  3678. V12Mac(%SF6359, %SF6358, N8, L8, N20, P19, %FF3848, %SF3848, L20);
  3679. V12Mac(%SF6361, %SF6360, N9, L9, N21, P18, %FF4420, %SF4420, L21);
  3680. V12Mac(%SF6363, %SF6362, N10, L10, N22, P17, %FF4888, %SF4888, L22);
  3681. V12Mac(%SF6365, %SF6364, N11, L11, N23, P16, %FF5356, %SF5356, L23);
  3682. V12Mac(%SF6367, %SF6366, N12, L12, N24, P15, %FF5824, %SF5824, L24);
  3683.  
  3684. %EndModel
  3685.  
  3686.