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


;MODELS WERE TAKEN FROM 1988 HARRIS DIGITAL PRODUCT DATA BOOK.
;Delays for the Harris devices were not given for "other";
;therefore used "max" delays

%StartModel
%Manufacturer:Harris
%Type:16L8
%PartNumber:HPL-16LC8
%LastNode ? ?
%NumPins: 20
%FDF AND 0 P2 ~P2 P1 ~P1 P3 ~P3 P18 ~P18 P4 ~P4 P17 ~P17 P5 ~P5 P16 ~P16
     P6 ~P6 P15 ~P15 P7 ~P7 P14 ~P14 P8 ~P8 P13 ~P13 P9 ~P9 P11 ~P11 *

%MACRO NOR7ENABLE(EnableFuse:%SF, InFuse:%FF, OutPin:%TEXT, TNode:%TEXT);
 %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
  NOR(%InFuse+32, %InFuse+64, %InFuse+96, %InFuse+128, %InFuse+160,
     %InFuse+192, %InFuse+224; OutPin; 125,125,125,125);
 %ELSE
  NOR(%InFuse+32, %InFuse+64, %InFuse+96, %InFuse+128, %InFuse+160,
     %InFuse+192, %InFuse+224; TNode; 125,125,125,125);
  TSB(TNode, %InFuse; OutPin; 125,125,125,125,125,125,125,125);
 %END;
%MACEND;

NOR7ENABLE(%SF00, %FF00, P19, N1);
NOR7ENABLE(%SF256, %FF256, P18, N2);
NOR7ENABLE(%SF512, %FF512, P17, N3);
NOR7ENABLE(%SF768, %FF768, P16, N4);
NOR7ENABLE(%SF1024, %FF1024, P15, N5);
NOR7ENABLE(%SF1280, %FF1280, P14, N6);
NOR7ENABLE(%SF1536, %FF1536, P13, N7);
NOR7ENABLE(%SF1792, %FF1792, P12, N8);
%EndModel

%StartModel
%Manufacturer:Harris
%Type:16R4
%PartNumber:HPL-16RC4
%LastNode ? ?
%NumPins: 20
%FDF AND 0 P2 ~P2 P19 ~P19 P3 ~P3 P18 ~P18 P4 ~P4 N3 ~N3 P5 ~P5 N4 ~N4
     P6 ~P6 N5 ~N5 P7 ~P7 N6 ~N6 P8 ~P8 P13 ~P13 P9 ~P9 P12 ~P12 *

%MACRO NOR7ENABLE(EnableFuse:%SF, InFuse:%FF, OutPin:%TEXT, TNode:%TEXT);
 %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
  NOR(%InFuse+32, %InFuse+64, %InFuse+96, %InFuse+128, %InFuse+160,
     %InFuse+192, %InFuse+224; OutPin; 125,125,125,125);
 %ELSE
  NOR(%InFuse+32, %InFuse+64, %InFuse+96, %InFuse+128, %InFuse+160,
     %InFuse+192, %InFuse+224; TNode; 125,125,125,125);
  TSB(TNode, %InFuse; OutPin; 125,125,125,125,125,125,125,125);
 %END;
%MACEND;

%MACRO NOR8DFF(InFuse:%FF, NodeInp:%TEXT, TLNode:%TEXT, OutPin:%TEXT);
 LNOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,%InFuse+192,%InFuse+224;TLNode);
 DQFF(TLNode,P1;NodeInp;60,60,125,0,25,25,60,60,125,0,25,25);
 TSB(NodeInp,L1;OutPin;125,125,125,125,125,125,125,125);
%MACEND;

LINV(P11;L1);
NOR7ENABLE(%SF00, %FF00, P19, N1);
NOR7ENABLE(%SF256, %FF256, P18, N2);
NOR8DFF(%FF512, N3, L2, P17);
NOR8DFF(%FF768, N4, L3, P16);
NOR8DFF(%FF1024, N5, L4, P15);
NOR8DFF(%FF1280, N6, L5, P14);
NOR7ENABLE(%SF1536, %FF1536, P13, N7);
NOR7ENABLE(%SF1792, %FF1792, P12, N8);
%EndModel

%StartModel
%Manufacturer:Harris
%Type:16R6
%PartNumber:HPL-16RC6
%LastNode ? ?
%NumPins: 20
%FDF AND 0 P2 ~P2 P19 ~P19 P3 ~P3 N2 ~N2 P4 ~P4 N3 ~N3 P5 ~P5 N4 ~N4
     P6 ~P6 N5 ~N5 P7 ~P7 N6 ~N6 P8 ~P8 N7 ~N7 P9 ~P9 P12 ~P12 *

%MACRO NOR7ENABLE(EnableFuse:%SF, InFuse:%FF, OutPin:%TEXT, TNode:%TEXT);
 %IF %EnableFuse..%EnableFuse+31 = 1 %THEN
  NOR(%InFuse+32, %InFuse+64, %InFuse+96, %InFuse+128, %InFuse+160,
     %InFuse+192, %InFuse+224; OutPin; 125,125,125,125);
 %ELSE
  NOR(%InFuse+32, %InFuse+64, %InFuse+96, %InFuse+128, %InFuse+160,
     %InFuse+192, %InFuse+224; TNode; 125,125,125,125);
  TSB(TNode, %InFuse; OutPin; 125,125,125,125,125,125,125,125);
 %END;
%MACEND;

%MACRO NOR8DFF(InFuse:%FF, NodeInp:%TEXT, TLNode:%TEXT, OutPin:%TEXT);
 LNOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,%InFuse+192,%InFuse+224;TLNode);
 DQFF(TLNode,P1;NodeInp;60,60,125,0,25,25,60,60,125,0,25,25);
 TSB(NodeInp,L1;OutPin;125,125,125,125,125,125,125,125);
%MACEND;

LINV(P11;L1);
NOR7ENABLE(%SF00, %FF00, P19, N1);
NOR8DFF(%FF256, N2, L2, P18);
NOR8DFF(%FF512, N3, L3, P17);
NOR8DFF(%FF768, N4, L4, P16);
NOR8DFF(%FF1024, N5, L5, P15);
NOR8DFF(%FF1280, N6, L6, P14);
NOR8DFF(%FF1536, N7, L7, P13);
NOR7ENABLE(%SF1792, %FF1792, P12, N8);
%EndModel

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

%MACRO NOR8DFF(InFuse:%FF, NodeInp:%TEXT, TLNode:%TEXT, OutPin:%TEXT);
 LNOR(%InFuse,%InFuse+32,%InFuse+64,%InFuse+96,%InFuse+128,%InFuse+160,%InFuse+192,%InFuse+224;TLNode);
 DQFF(TLNode,P1;NodeInp;60,60,125,0,25,25,60,60,125,0,25,25);
 TSB(NodeInp,L1;OutPin;125,125,125,125,125,125,125,125);
%MACEND;

LINV(P11;L1);
NOR8DFF(%FF00, N1, L2, P19);
NOR8DFF(%FF256, N2, L3, P18);
NOR8DFF(%FF512, N3, L4, P17);
NOR8DFF(%FF768, N4, L5, P16);
NOR8DFF(%FF1024, N5, L6, P15);
NOR8DFF(%FF1280, N6, L7, P14);
NOR8DFF(%FF1536, N7, L8, P13);
NOR8DFF(%FF1792, N8, L9, P12);
%EndModel
