// ATPG library for cmosn/1.2_worst
// Created using atglib v1.9 on Fri Apr  1 16:07:06 1994
// command:
//   % tramp cmosn -atg
//
// Modified 4/1 by Bill Diss to put in cells not generated
// by tramp -atg which were the pwr, pulu, gnd, and vdd
// cells.  The x??tlp cells were also replaced by a model which
// would pull up the pad to a weak 1 for case when nothing is
// driving it on either side.
//


model addca (PRO3, PRO2, PRO1, GEN3, GEN2, GEN1, C4, C3, C2, C1) (
	input(PRO3) ()
	input(PRO2) ()
	input(PRO1) ()
	input(GEN3) ()
	input(GEN2) ()
	input(GEN1) ()
	input(C1) ()
	intern(_NN17) (function =  C1 * PRO1 ;)
	intern(_NN0) (function =  GEN1 + _NN17 ;)
	intern(_NN3) (function = !_NN0;)
	output(C2) (function = !_NN3;)
	intern(_NN16) (function =  PRO2 * C2 ;)
	intern(_NN1) (function =  GEN2 + _NN16 ;)
	intern(_NN4) (function = !_NN1;)
	output(C3) (function = !_NN4;)
	intern(_NN18) (function =  PRO3 * C3 ;)
	intern(_NN2) (function =  GEN3 + _NN18 ;)
	intern(_NN5) (function = !_NN2;)
	output(C4) (function = !_NN5;)
)


model addco (S4, S3, S2, S1, INB4, INB3, INB2, INB1, INA4, INA3, INA2, INA1, COUT, C1) (
	input(INB4) ()
	input(INB3) ()
	input(INB2) ()
	input(INB1) ()
	input(INA4) ()
	input(INA3) ()
	input(INA2) ()
	input(INA1) ()
	input(C1) ()
	intern(_NN27) (function =  INB1 * INA1 ;)
	intern(_NN26) (function =  C1 * INA1 ;)
	intern(_NN25) (function =  C1 * INB1 ;)
	intern(_NN0) (function =  _NN27 + _NN26 + _NN25 ;)
	intern(_NN7) (function = !_NN0;)
	intern(_NN6) (function = !_NN7;)
	intern(_NN30) (function =  INA2 * _NN6 ;)
	intern(_NN29) (function =  INB2 * _NN6 ;)
	intern(_NN28) (function =  INB2 * INA2 ;)
	intern(_NN1) (function =  _NN30 + _NN29 + _NN28 ;)
	intern(_NN8) (function = !_NN1;)
	intern(_NN5) (function = !_NN8;)
	intern(_NN33) (function =  INA3 * _NN5 ;)
	intern(_NN32) (function =  INB3 * _NN5 ;)
	intern(_NN31) (function =  INB3 * INA3 ;)
	intern(_NN2) (function =  _NN33 + _NN32 + _NN31 ;)
	intern(_NN9) (function = !_NN2;)
	intern(_NN4) (function = !_NN9;)
	intern(_NN39) (primitive=_xor(INB4,INA4,_NN39);)
	output(S4) (primitive=_xor(_NN4,_NN39,S4);)
	intern(_NN38) (primitive=_xor(INB3,_NN5,_NN38);)
	output(S3) (primitive=_xor(INA3,_NN38,S3);)
	intern(_NN40) (primitive=_xor(INB2,_NN6,_NN40);)
	output(S2) (primitive=_xor(INA2,_NN40,S2);)
	intern(_NN37) (primitive=_xor(C1,INB1,_NN37);)
	output(S1) (primitive=_xor(INA1,_NN37,S1);)
	intern(_NN36) (function =  INA4 * _NN4 ;)
	intern(_NN35) (function =  INB4 * _NN4 ;)
	intern(_NN34) (function =  INB4 * INA4 ;)
	intern(_NN3) (function =  _NN36 + _NN35 + _NN34 ;)
	intern(_NN10) (function = !_NN3;)
	output(COUT) (function = !_NN10;)
)


model addgp (PRO5, PRO4, PRO3, PRO2, PRO1, GEN5, GEN4, GEN3, GEN2, GEN1, C4, C3, C2, C1) (
	input(PRO4) ()
	input(PRO3) ()
	input(PRO2) ()
	input(PRO1) ()
	input(GEN4) ()
	input(GEN3) ()
	input(GEN2) ()
	input(GEN1) ()
	input(C1) ()
	intern(_NN31) (function =  PRO2 * PRO3 ;)
	output(PRO5) (function =  PRO1 * PRO4 * _NN31 ;)
	intern(_NN25) (function =  GEN2 * PRO3 ;)
	intern(_NN1) (function =  GEN3 + _NN25 ;)
	intern(_NN7) (function = !_NN1;)
	intern(_NN5) (function = !_NN7;)
	intern(_NN30) (function =  PRO4 * _NN5 ;)
	intern(_NN26) (function =  C1 * PRO1 ;)
	intern(_NN0) (function =  GEN1 + _NN26 ;)
	intern(_NN6) (function = !_NN0;)
	output(C2) (function = !_NN6;)
	intern(_NN28) (function =  _NN31 * C2 ;)
	intern(_NN3) (function = !_NN28;)
	intern(_NN9) (function =  _NN3 * _NN7 ;)
	output(C4) (function = !_NN9;)
	intern(_NN27) (function =  GEN1 * PRO4 * C4 ;)
	intern(_NN4) (function =  GEN4 + _NN30 + _NN27 ;)
	intern(_NN10) (function = !_NN4;)
	output(GEN5) (function = !_NN10;)
	intern(_NN29) (function =  PRO2 * C2 ;)
	intern(_NN2) (function =  GEN2 + _NN29 ;)
	intern(_NN8) (function = !_NN2;)
	output(C3) (function = !_NN8;)
)


model addla (S4, S3, S2, S1, PRO5, INB4, INB3, INB2, INB1, INA4, INA3, INA2, INA1, GEN5, C1) (
	input(INB4) ()
	input(INB3) ()
	input(INB2) ()
	input(INB1) ()
	input(INA4) ()
	input(INA3) ()
	input(INA2) ()
	input(INA1) ()
	input(C1) ()
	intern(_NN30) (function =  C1 * INA1 ;)
	intern(_NN29) (function =  C1 * INB1 ;)
	intern(_NN37) (function =  INB1 * INA1 ;)
	intern(_NN2) (function =  _NN30 + _NN29 + _NN37 ;)
	intern(_NN10) (function = !_NN2;)
	intern(_NN7) (function = !_NN10;)
	intern(_NN32) (function =  INA2 * _NN7 ;)
	intern(_NN31) (function =  INB2 * _NN7 ;)
	intern(_NN35) (function =  INB2 * INA2 ;)
	intern(_NN3) (function =  _NN32 + _NN31 + _NN35 ;)
	intern(_NN11) (function = !_NN3;)
	intern(_NN6) (function = !_NN11;)
	intern(_NN34) (function =  INA3 * _NN6 ;)
	intern(_NN33) (function =  INB3 * _NN6 ;)
	intern(_NN36) (function =  INB3 * INA3 ;)
	intern(_NN4) (function =  _NN34 + _NN33 + _NN36 ;)
	intern(_NN12) (function = !_NN4;)
	intern(_NN5) (function = !_NN12;)
	intern(_NN41) (primitive=_xor(INB4,INA4,_NN41);)
	output(S4) (primitive=_xor(_NN5,_NN41,S4);)
	intern(_NN38) (primitive=_xor(INB3,INA3,_NN38);)
	output(S3) (primitive=_xor(_NN6,_NN38,S3);)
	intern(_NN39) (primitive=_xor(INB2,INA2,_NN39);)
	output(S2) (primitive=_xor(_NN7,_NN39,S2);)
	intern(_NN40) (primitive=_xor(INB1,INA1,_NN40);)
	output(S1) (primitive=_xor(C1,_NN40,S1);)
	output(PRO5) (function =  _NN41 * _NN40 * _NN39 * _NN38 ;)
	intern(_NN28) (function =  INB4 * INA4 ;)
	intern(_NN1) (function = !S4;)
	intern(_NN0) (function = !PRO5;)
	intern(_NN9) (function =  _NN1 * _NN0 * _NN41 ;)
	intern(_NN8) (function =  _NN28 + _NN9 ;)
	intern(_NN13) (function = !_NN8;)
	output(GEN5) (function = !_NN13;)
)


model anotb (OUT, B, A) (
	input(B) ()
	input(A) ()
	intern(_NN0) (function = !A;)
	output(OUT) (function =  B * _NN0 ;)
)


model aorbn (OUT, B, A) (
	input(B) ()
	input(A) ()
	intern(_NN0) (function = !A;)
	intern(_NN4) (function =  B * _NN0 ;)
	output(OUT) (function = !_NN4;)
)


model buff (OUT2, OUT1, IN1) (
	input(IN1) ()
	output(OUT2) (function = IN1;)
	output(OUT1) (function = !IN1;)
)


model buffer (OUT, IN1) (
	input(IN1) ()
	output(OUT) (function = IN1;)
)


model clat (RESET, QBAR, Q, DATA, CLOCK) (
	input(RESET) ()
	input(DATA) ()
	input(CLOCK) ()
	intern(_NN1) (function = !CLOCK;)
	intern(_NN0) (function = !RESET;)
	output(Q) (primitive=_dlat(,_NN0,_NN1,DATA,Q,);)
	output(QBAR) (function = !Q;)
)


model cmp4 (LT, INB4, INB3, INB2, INB1, INA4, INA3, INA2, INA1, GT) (
	input(INB4) ()
	input(INB3) ()
	input(INB2) ()
	input(INB1) ()
	input(INA4) ()
	input(INA3) ()
	input(INA2) ()
	input(INA1) ()
	intern(_NN0) (function = !INA4;)
	intern(_NN37) (function =  INB4 * _NN0 ;)
	intern(_NN5) (function = !INB4;)
	intern(_NN18) (function =  _NN5 * INA4 ;)
	intern(_NN13) (function = !_NN18;)
	intern(_NN6) (function = !INA3;)
	intern(_NN19) (function =  _NN6 * INB3 ;)
	intern(_NN16) (function =  _NN13 * _NN19 ;)
	intern(_NN7) (function = !INA2;)
	intern(_NN20) (function =  _NN7 * INB2 ;)
	intern(_NN1) (function = !INB3;)
	intern(_NN36) (function =  _NN1 * INA3 ;)
	intern(_NN12) (function = !_NN36;)
	intern(_NN33) (function =  _NN20 * _NN13 * _NN12 ;)
	intern(_NN10) (function = !INB1;)
	intern(_NN2) (function = !INB2;)
	intern(_NN35) (function =  INA2 * _NN2 ;)
	intern(_NN11) (function =  _NN10 + INA1 + _NN35 + _NN18 + _NN36 ;)
	intern(_NN34) (function = !_NN11;)
	intern(_NN9) (function =  _NN37 + _NN16 + _NN33 + _NN34 ;)
	intern(_NN22) (function = !_NN9;)
	output(LT) (function = !_NN22;)
	intern(_NN4) (function = !_NN37;)
	intern(_NN15) (function =  _NN4 * _NN36 ;)
	intern(_NN3) (function = !_NN16;)
	intern(_NN17) (function =  _NN4 * _NN3 * _NN35 ;)
	intern(_NN14) (function =  _NN22 * INA1 * _NN10 ;)
	intern(_NN8) (function =  _NN18 + _NN15 + _NN17 + _NN14 ;)
	intern(_NN21) (function = !_NN8;)
	output(GT) (function = !_NN21;)
)


model comp4 (INB4, INB3, INB2, INB1, INA4, INA3, INA2, INA1, ENABLE, ALTB, AGTB, AEQB) (
	input(INB4) ()
	input(INB3) ()
	input(INB2) ()
	input(INB1) ()
	input(INA4) ()
	input(INA3) ()
	input(INA2) ()
	input(INA1) ()
	input(ENABLE) ()
	intern(_NN0) (function = !INA4;)
	intern(_NN53) (function =  _NN0 * INB4 ;)
	intern(_NN3) (function = !INB4;)
	intern(_NN24) (function =  _NN3 * INA4 ;)
	intern(_NN1) (function = !INA3;)
	intern(_NN52) (function =  _NN1 * INB3 ;)
	intern(_NN4) (function = !INB3;)
	intern(_NN25) (function =  _NN4 * INA3 ;)
	intern(_NN2) (function = !INA2;)
	intern(_NN51) (function =  _NN2 * INB2 ;)
	intern(_NN17) (function = !INA1;)
	intern(_NN5) (function = !INB2;)
	intern(_NN26) (function =  _NN5 * INA2 ;)
	intern(_NN16) (function = !_NN26;)
	intern(_NN49) (function =  INB1 * _NN17 * _NN16 ;)
	intern(_NN6) (function =  _NN51 + _NN49 ;)
	intern(_NN27) (function = !_NN6;)
	intern(_NN18) (function =  _NN25 + _NN27 ;)
	intern(_NN48) (function = !_NN18;)
	intern(_NN8) (function =  _NN52 + _NN48 ;)
	intern(_NN29) (function = !_NN8;)
	intern(_NN20) (function =  _NN24 + _NN29 ;)
	intern(_NN46) (function = !_NN20;)
	intern(_NN10) (function =  _NN53 + _NN46 ;)
	intern(_NN31) (function = !_NN10;)
	intern(_NN13) (function = !_NN31;)
	output(ALTB) (function =  ENABLE * _NN13 ;)
	intern(_NN15) (function = !INB1;)
	intern(_NN14) (function = !_NN51;)
	intern(_NN50) (function =  INA1 * _NN15 * _NN14 ;)
	intern(_NN7) (function =  _NN26 + _NN50 ;)
	intern(_NN28) (function = !_NN7;)
	intern(_NN19) (function =  _NN52 + _NN28 ;)
	intern(_NN47) (function = !_NN19;)
	intern(_NN9) (function =  _NN25 + _NN47 ;)
	intern(_NN30) (function = !_NN9;)
	intern(_NN21) (function =  _NN53 + _NN30 ;)
	intern(_NN45) (function = !_NN21;)
	intern(_NN11) (function =  _NN24 + _NN45 ;)
	intern(_NN32) (function = !_NN11;)
	intern(_NN12) (function = !_NN32;)
	output(AGTB) (function =  ENABLE * _NN12 ;)
	intern(_NN23) (function = !ALTB;)
	intern(_NN22) (function = !AGTB;)
	output(AEQB) (function =  ENABLE * _NN23 * _NN22 ;)
)


model comp8 (INB8, INB7, INB6, INB5, INB4, INB3, INB2, INB1, INA8, INA7, INA6, INA5, INA4, INA3, INA2, INA1, ENABLE, ALTB, AGTB, AEQB) (
	input(INB8) ()
	input(INB7) ()
	input(INB6) ()
	input(INB5) ()
	input(INB4) ()
	input(INB3) ()
	input(INB2) ()
	input(INB1) ()
	input(INA8) ()
	input(INA7) ()
	input(INA6) ()
	input(INA5) ()
	input(INA4) ()
	input(INA3) ()
	input(INA2) ()
	input(INA1) ()
	input(ENABLE) ()
	intern(_NN12) (function = !INB8;)
	intern(_NN44) (function =  INA8 * _NN12 ;)
	intern(_NN26) (function = !_NN44;)
	intern(_NN25) (function = !INA7;)
	intern(_NN86) (function =  _NN26 * _NN25 * INB7 ;)
	intern(_NN30) (function = !INA8;)
	intern(_NN81) (function =  INB8 * _NN30 ;)
	intern(_NN9) (function = !INB7;)
	intern(_NN8) (function = !_NN81;)
	intern(_NN41) (function =  INA7 * _NN9 * _NN8 ;)
	intern(_NN16) (function =  _NN41 + _NN44 ;)
	intern(_NN48) (function = !_NN16;)
	intern(_NN27) (function = !INA6;)
	intern(_NN84) (function =  INB6 * _NN27 ;)
	intern(_NN76) (function =  _NN48 * _NN84 ;)
	intern(_NN3) (function =  _NN86 + _NN81 + _NN27 + INB6 ;)
	intern(_NN37) (function = !_NN3;)
	intern(_NN15) (function =  _NN37 + _NN84 ;)
	intern(_NN47) (function = !_NN15;)
	intern(_NN11) (function = !INA5;)
	intern(_NN43) (function =  _NN47 * _NN11 ;)
	intern(_NN75) (function =  _NN43 * _NN43 * _NN48 * INB5 ;)
	intern(_NN22) (function =  _NN86 + _NN81 + _NN76 + _NN75 ;)
	intern(_NN54) (function = !_NN22;)
	intern(_NN33) (function = !_NN54;)
	intern(_NN78) (function =  ENABLE * _NN33 ;)
	intern(_NN5) (function = !_NN43;)
	intern(_NN4) (function = !INB5;)
	intern(_NN38) (function =  _NN54 * _NN5 * _NN4 ;)
	intern(_NN21) (function =  _NN41 + _NN44 + _NN37 + _NN38 ;)
	intern(_NN53) (function = !_NN21;)
	intern(_NN7) (function = !INA3;)
	intern(_NN40) (function =  INB3 * _NN7 ;)
	intern(_NN6) (function = !INB4;)
	intern(_NN39) (function =  INA4 * _NN6 ;)
	intern(_NN23) (function = !INA4;)
	intern(_NN88) (function =  INB4 * _NN23 ;)
	intern(_NN14) (function =  _NN39 + _NN88 ;)
	intern(_NN46) (function = !_NN14;)
	intern(_NN85) (function =  _NN40 * _NN46 ;)
	intern(_NN29) (function = !INA2;)
	intern(_NN82) (function =  INB2 * _NN29 ;)
	intern(_NN24) (function = !INB3;)
	intern(_NN87) (function =  INA3 * _NN24 ;)
	intern(_NN13) (function =  _NN87 + _NN40 ;)
	intern(_NN45) (function = !_NN13;)
	intern(_NN2) (function = !_NN85;)
	intern(_NN1) (function = !INB2;)
	intern(_NN36) (function =  _NN2 * _NN46 * INA2 * _NN1 ;)
	intern(_NN10) (function = !_NN36;)
	intern(_NN42) (function =  _NN45 * _NN10 ;)
	intern(_NN90) (function =  _NN82 * _NN42 * _NN46 ;)
	intern(_NN28) (function = !INA1;)
	intern(_NN83) (function =  _NN46 * _NN42 * _NN42 * _NN28 * INB1 ;)
	intern(_NN20) (function =  _NN85 + _NN88 + _NN90 + _NN83 ;)
	intern(_NN52) (function = !_NN20;)
	intern(_NN31) (function = !_NN52;)
	intern(_NN80) (function =  _NN53 * ENABLE * _NN31 ;)
	intern(_NN18) (function =  _NN78 + _NN80 ;)
	intern(_NN50) (function = !_NN18;)
	output(ALTB) (function = !_NN50;)
	intern(_NN32) (function = !_NN53;)
	intern(_NN79) (function =  ENABLE * _NN32 ;)
	intern(_NN89) (function =  _NN87 * _NN46 ;)
	intern(_NN0) (function = !INB1;)
	intern(_NN35) (function =  _NN52 * INA1 * _NN0 ;)
	intern(_NN19) (function =  _NN89 + _NN39 + _NN36 + _NN35 ;)
	intern(_NN51) (function = !_NN19;)
	intern(_NN34) (function = !_NN51;)
	intern(_NN77) (function =  _NN54 * ENABLE * _NN34 ;)
	intern(_NN17) (function =  _NN79 + _NN77 ;)
	intern(_NN49) (function = !_NN17;)
	output(AGTB) (function = !_NN49;)
	output(AEQB) (function =  ENABLE * _NN50 * _NN49 ;)
)


model dec1 (OUT, IN3, IN2, IN1) (
	input(IN3) ()
	input(IN2) ()
	input(IN1) ()
	intern(_NN6) (function =  IN1 * IN2 ;)
	intern(_NN0) (function =  IN3 + _NN6 ;)
	intern(_NN1) (function = !_NN0;)
	output(OUT) (function = !_NN1;)
)


model dec2 (OUT2, OUT1, IN3, IN2, IN1) (
	input(IN3) ()
	input(IN2) ()
	input(IN1) ()
	intern(_NN0) (function =  IN1 + IN2 ;)
	output(OUT2) (function =  IN3 * _NN0 ;)
	output(OUT1) (function = !OUT2;)
)


model dec3 (ENABLE, D3, D2, D1, D0, C1, C0) (
	input(ENABLE) ()
	input(C1) ()
	input(C0) ()
	intern(_NN2) (function = !ENABLE;)
	output(D3) (function =  C0 * C1 * _NN2 ;)
	intern(_NN0) (function = !C0;)
	output(D2) (function =  _NN0 * C1 * _NN2 ;)
	intern(_NN1) (function = !C1;)
	output(D1) (function =  C0 * _NN2 * _NN1 ;)
	intern(_NN3) (function =  C0 + ENABLE + C1 ;)
	output(D0) (function = !_NN3;)
)


model dec4 (ENABLE, D7, D6, D5, D4, D3, D2, D1, D0, C2, C1, C0) (
	input(ENABLE) ()
	input(C2) ()
	input(C1) ()
	input(C0) ()
	intern(_NN1) (function = !ENABLE;)
	intern(_NN17) (function =  C2 * _NN1 ;)
	output(D7) (function =  C1 * C0 * _NN17 ;)
	intern(_NN2) (function = !C0;)
	output(D6) (function =  C1 * _NN17 * _NN2 ;)
	intern(_NN3) (function = !C1;)
	output(D5) (function =  _NN17 * C0 * _NN3 ;)
	output(D4) (function =  _NN3 * _NN17 * _NN2 ;)
	intern(_NN0) (function =  _NN17 + ENABLE ;)
	intern(_NN4) (function = !_NN0;)
	output(D3) (function =  C0 * C1 * _NN4 ;)
	output(D2) (function =  _NN2 * C1 * _NN4 ;)
	output(D1) (function =  _NN4 * C0 * _NN3 ;)
	output(D0) (function =  _NN3 * _NN2 * _NN4 ;)
)


model dec5 (ENABLE, D15, D14, D13, D12, D11, D10, D9, D8, D7, D6, D5, D4, D3, D2, D1, D0, C3, C2, C1, C0) (
	input(ENABLE) ()
	input(C3) ()
	input(C2) ()
	input(C1) ()
	input(C0) ()
	intern(_NN1) (function = !ENABLE;)
	intern(_NN5) (function =  ENABLE + C3 ;)
	intern(_NN29) (function =  C2 * _NN1 * _NN5 ;)
	output(D15) (function =  C0 * C1 * _NN29 ;)
	intern(_NN4) (function = !C0;)
	output(D14) (function =  _NN4 * C1 * _NN29 ;)
	intern(_NN2) (function = !C1;)
	output(D13) (function =  C0 * _NN29 * _NN2 ;)
	output(D12) (function =  _NN4 * _NN29 * _NN2 ;)
	intern(_NN6) (function = !_NN5;)
	intern(_NN3) (function =  C2 + ENABLE + _NN6 ;)
	intern(_NN28) (function = !_NN3;)
	output(D11) (function =  C0 * C1 * _NN28 ;)
	output(D10) (function =  _NN4 * C1 * _NN28 ;)
	output(D9) (function =  C0 * _NN28 * _NN2 ;)
	output(D8) (function =  _NN4 * _NN28 * _NN2 ;)
	intern(_NN31) (function =  C2 * _NN6 ;)
	output(D7) (function =  C0 * _NN31 * C1 ;)
	output(D6) (function =  _NN4 * _NN31 * C1 ;)
	output(D5) (function =  C0 * _NN31 * _NN2 ;)
	output(D4) (function =  _NN4 * _NN31 * _NN2 ;)
	intern(_NN0) (function = !C2;)
	intern(_NN30) (function =  _NN0 * _NN6 ;)
	output(D3) (function =  C0 * _NN30 * C1 ;)
	output(D2) (function =  _NN4 * _NN30 * C1 ;)
	output(D1) (function =  C0 * _NN30 * _NN2 ;)
	output(D0) (function =  _NN4 * _NN30 * _NN2 ;)
)


model del1 (OUT, IN1) (
	input(IN1) ()
	output(OUT) (function = IN1;)
)


model del2 (OUT, IN1) (
	input(IN1) ()
	output(OUT) (function = IN1;)
)


model dff (QBAR, Q, DATA, CLOCK) (
	input(DATA) ()
	input(CLOCK) ()
	intern(_NN0) (function = !CLOCK;)
	output(Q) (primitive=_dff(,,_NN0,DATA,Q,);)
	output(QBAR) (function = !Q;)
)


model dffr (RESET, QBAR, Q, DATA, CLOCK) (
	input(RESET) ()
	input(DATA) ()
	input(CLOCK) ()
	intern(_NN1) (function = !CLOCK;)
	intern(_NN0) (function = !RESET;)
	output(Q) (primitive=_dff(,_NN0,_NN1,DATA,Q,);)
	output(QBAR) (function = !Q;)
)


model dffsr (SET, RESET, QBAR, Q, DATA, CLOCK) (
	input(SET) ()
	input(RESET) ()
	input(DATA) ()
	input(CLOCK) ()
	intern(_NN2) (function = !CLOCK;)
	intern(_NN1) (function = !RESET;)
	intern(_NN0) (function = !SET;)
	output(Q) (primitive=_dff(_NN0,_NN1,_NN2,DATA,Q,);)
	output(QBAR) (function = !Q;)
)


model dfsc (SCAN, QBAR, Q, DATA1, DATA0, CLOCK) (

  scan_definition (
    type = mux_scan;
    scan_in = DATA1;
    scan_enable = SCAN;
    scan_out = Q, QBAR;
    non_scan_model = dff(QBAR, Q, DATA0, CLOCK);
  )

	input(SCAN) ()
	input(DATA1) ()
	input(DATA0) ()
	input(CLOCK) ()
	intern(_NN7) (primitive=_mux(DATA0,DATA1,SCAN,_NN7);)
	intern(_NN0) (function = !CLOCK;)
	output(Q) (primitive=_dff(,,_NN0,_NN7,Q,);)
	output(QBAR) (function = !Q;)
)


model dfscr (SCAN, RESET, QBAR, Q, DATA1, DATA0, CLOCK) (
	input(SCAN) ()
	input(RESET) ()
	input(DATA1) ()
	input(DATA0) ()
	input(CLOCK) ()
	intern(_NN9) (primitive=_mux(DATA0,DATA1,SCAN,_NN9);)
	intern(_NN1) (function = !CLOCK;)
	intern(_NN0) (function = !RESET;)
	output(Q) (primitive=_dff(,_NN0,_NN1,_NN9,Q,);)
	output(QBAR) (function = !Q;)
)


model dfscsr (SET, SCAN, RESET, QBAR, Q, DATA1, DATA0, CLOCK) (
	input(SET) ()
	input(SCAN) ()
	input(RESET) ()
	input(DATA1) ()
	input(DATA0) ()
	input(CLOCK) ()
	intern(_NN11) (primitive=_mux(DATA0,DATA1,SCAN,_NN11);)
	intern(_NN2) (function = !CLOCK;)
	intern(_NN1) (function = !RESET;)
	intern(_NN0) (function = !SET;)
	output(Q) (primitive=_dff(_NN0,_NN1,_NN2,_NN11,Q,);)
	output(QBAR) (function = !Q;)
)


model dsel (SEL, OUT2, OUT1, D2, D1) (
	input(SEL) ()
	input(D2) ()
	input(D1) ()
	output(OUT1) (primitive=_mux(D2,D1,SEL,OUT1);)
	output(OUT2) (function = !OUT1;)
)


model fadd (SUM, IN3, IN2, IN1, CO) (
	input(IN3) ()
	input(IN2) ()
	input(IN1) ()
	intern(_NN10) (primitive=_xor(IN1,IN2,_NN10);)
	output(SUM) (primitive=_xor(IN3,_NN10,SUM);)
	intern(_NN9) (function =  IN2 * IN3 ;)
	intern(_NN8) (function =  IN1 * IN3 ;)
	intern(_NN7) (function =  IN1 * IN2 ;)
	intern(_NN0) (function =  _NN9 + _NN8 + _NN7 ;)
	intern(_NN1) (function = !_NN0;)
	output(CO) (function = !_NN1;)
)


model gnd08 (PAD) (
	output(PAD) (primitive=_tie0(PAD);)
)


model gnd10 (PAD) (
	output(PAD) (primitive=_tie0(PAD);)
)


model gnd12 (PAD) (
	output(PAD) (primitive=_tie0(PAD);)
)


model gpuld (OUT, IN1) (
	input(IN1) ()
	intern(_NN1) (primitive=_tie1(_NN1);)
	intern(_NN0) (function = !_NN1;)
	output(OUT) (primitive=_tsh(_NN0,IN1,OUT);)
)


model gpulu (OUT, IN1) (
	input(IN1) ()
	intern(_NN1) (primitive=_tie1(_NN1);)
	intern(_NN0) (function = !IN1;)
	output(OUT) (primitive=_tsh(_NN1,_NN0,OUT);)
)


model inv1 (OUT, IN1) (
	input(IN1) ()
	output(OUT) (function = !IN1;)
)


model inv16 (OUT, IN1) (
	input(IN1) ()
	output(OUT) (function = !IN1;)
)


model inv2 (OUT, IN1) (
	input(IN1) ()
	output(OUT) (function = !IN1;)
)


model inv4 (OUT, IN1) (
	input(IN1) ()
	output(OUT) (function = !IN1;)
)


model mux1 (OUT2, OUT1, IN4, IN3, IN2, IN1) (
	input(IN4) ()
	input(IN3) ()
	input(IN2) ()
	input(IN1) ()
	intern(_NN7) (function =  IN1 * IN2 ;)
	intern(_NN8) (function =  IN3 * IN4 ;)
	intern(_NN0) (function =  _NN7 + _NN8 ;)
	output(OUT1) (function = !_NN0;)
	output(OUT2) (function = !OUT1;)
)


model mux2 (OUT2, OUT1, IN8, IN7, IN6, IN5, IN4, IN3, IN2, IN1) (
	input(IN8) ()
	input(IN7) ()
	input(IN6) ()
	input(IN5) ()
	input(IN4) ()
	input(IN3) ()
	input(IN2) ()
	input(IN1) ()
	intern(_NN11) (function =  IN7 * IN8 ;)
	intern(_NN12) (function =  IN5 * IN6 ;)
	intern(_NN13) (function =  IN3 * IN4 ;)
	intern(_NN14) (function =  IN1 * IN2 ;)
	intern(_NN0) (function =  _NN11 + _NN12 + _NN13 + _NN14 ;)
	output(OUT2) (function = !_NN0;)
	output(OUT1) (function = !OUT2;)
)


model mux3 (SEL2, SEL1, OUT, IN4, IN3, IN2, IN1, EBAR) (
	input(SEL2) ()
	input(SEL1) ()
	input(IN4) ()
	input(IN3) ()
	input(IN2) ()
	input(IN1) ()
	input(EBAR) ()
	intern(_NN0) (function = !EBAR;)
	intern(_NN11) (primitive=_mux(IN1,IN2,SEL2,_NN11);)
	intern(_NN10) (primitive=_mux(IN3,IN4,SEL2,_NN10);)
	intern(_NN9) (primitive=_mux(_NN11,_NN10,SEL1,_NN9);)
	output(OUT) (function =  _NN0 * _NN9 ;)
)


model mux4 (SEL3, SEL2, SEL1, OUT, IN8, IN7, IN6, IN5, IN4, IN3, IN2, IN1, ENBAR) (
	input(SEL3) ()
	input(SEL2) ()
	input(SEL1) ()
	input(IN8) ()
	input(IN7) ()
	input(IN6) ()
	input(IN5) ()
	input(IN4) ()
	input(IN3) ()
	input(IN2) ()
	input(IN1) ()
	input(ENBAR) ()
	intern(_NN0) (function = !ENBAR;)
	intern(_NN20) (primitive=_mux(IN1,IN2,SEL3,_NN20);)
	intern(_NN19) (primitive=_mux(IN3,IN4,SEL3,_NN19);)
	intern(_NN16) (primitive=_mux(_NN20,_NN19,SEL2,_NN16);)
	intern(_NN18) (primitive=_mux(IN5,IN6,SEL3,_NN18);)
	intern(_NN17) (primitive=_mux(IN7,IN8,SEL3,_NN17);)
	intern(_NN15) (primitive=_mux(_NN18,_NN17,SEL2,_NN15);)
	intern(_NN14) (primitive=_mux(_NN16,_NN15,SEL1,_NN14);)
	output(OUT) (function =  _NN0 * _NN14 ;)
)


model mux5 (OUT2, OUT1, IN6, IN5, IN4, IN3, IN2, IN1) (
	input(IN6) ()
	input(IN5) ()
	input(IN4) ()
	input(IN3) ()
	input(IN2) ()
	input(IN1) ()
	intern(_NN9) (function =  IN1 * IN2 ;)
	intern(_NN10) (function =  IN3 * IN4 ;)
	intern(_NN11) (function =  IN5 * IN6 ;)
	intern(_NN0) (function =  _NN9 + _NN10 + _NN11 ;)
	output(OUT1) (function = !_NN0;)
	output(OUT2) (function = !OUT1;)
)


model mux6 (OUT2, OUT1, IN6, IN5, IN4, IN3, IN2, IN1) (
	input(IN6) ()
	input(IN5) ()
	input(IN4) ()
	input(IN3) ()
	input(IN2) ()
	input(IN1) ()
	intern(_NN9) (function =  IN1 * IN2 * IN3 ;)
	intern(_NN10) (function =  IN4 * IN5 * IN6 ;)
	intern(_NN0) (function =  _NN9 + _NN10 ;)
	output(OUT2) (function = !_NN0;)
	output(OUT1) (function = !OUT2;)
)


model mux7 (OUT, IN3, IN2, IN1) (
	input(IN3) ()
	input(IN2) ()
	input(IN1) ()
	intern(_NN5) (function =  IN3 * IN2 ;)
	intern(_NN0) (function =  IN3 + IN2 ;)
	output(OUT) (primitive=_mux(_NN5,_NN0,IN1,OUT);)
)


model mux8 (OUT2, OUT1, IN12, IN11, IN10, IN9, IN8, IN7, IN6, IN5, IN4, IN3, IN2, IN1) (
	input(IN12) ()
	input(IN11) ()
	input(IN10) ()
	input(IN9) ()
	input(IN8) ()
	input(IN7) ()
	input(IN6) ()
	input(IN5) ()
	input(IN4) ()
	input(IN3) ()
	input(IN2) ()
	input(IN1) ()
	intern(_NN15) (function =  IN1 * IN2 * IN3 ;)
	intern(_NN16) (function =  IN4 * IN5 * IN6 ;)
	intern(_NN17) (function =  IN7 * IN8 * IN9 ;)
	intern(_NN18) (function =  IN10 * IN11 * IN12 ;)
	intern(_NN0) (function =  _NN15 + _NN16 + _NN17 + _NN18 ;)
	output(OUT1) (function = !_NN0;)
	output(OUT2) (function = !OUT1;)
)


model nbuf08 (PAD, IN1) (
	input(IN1) ()
	intern(_NN2) (primitive=_tie1(_NN2);)
	intern(_NN1) (function = !_NN2;)
	intern(_NN0) (function = !IN1;)
	output(PAD) (primitive=_tsh(_NN1,_NN0,PAD);)
)


model nbuf10 (PAD, IN1) (
	input(IN1) ()
	intern(_NN2) (primitive=_tie1(_NN2);)
	intern(_NN1) (function = !_NN2;)
	intern(_NN0) (function = !IN1;)
	output(PAD) (primitive=_tsh(_NN1,_NN0,PAD);)
)


model nbuf12 (PAD, IN1) (
	input(IN1) ()
	intern(_NN2) (primitive=_tie1(_NN2);)
	intern(_NN1) (function = !_NN2;)
	intern(_NN0) (function = !IN1;)
	output(PAD) (primitive=_tsh(_NN1,_NN0,PAD);)
)


model nd2x1 (OUT, IN2, IN1) (
	input(IN2) ()
	input(IN1) ()
	intern(_NN3) (function =  IN1 * IN2 ;)
	output(OUT) (function = !_NN3;)
)


model nd2x2 (OUT, IN2, IN1) (
	input(IN2) ()
	input(IN1) ()
	intern(_NN3) (function =  IN1 * IN2 ;)
	output(OUT) (function = !_NN3;)
)


model nd3 (OUT, IN3, IN2, IN1) (
	input(IN3) ()
	input(IN2) ()
	input(IN1) ()
	intern(_NN4) (function =  IN1 * IN2 * IN3 ;)
	output(OUT) (function = !_NN4;)
)


model nd4 (OUT, IN4, IN3, IN2, IN1) (
	input(IN4) ()
	input(IN3) ()
	input(IN2) ()
	input(IN1) ()
	intern(_NN5) (function =  IN1 * IN2 * IN3 * IN4 ;)
	output(OUT) (function = !_NN5;)
)


model ndi2x1 (OUT2, OUT1, IN2, IN1) (
	input(IN2) ()
	input(IN1) ()
	output(OUT2) (function =  IN1 * IN2 ;)
	output(OUT1) (function = !OUT2;)
)


model ndi2x2 (OUT2, OUT1, IN2, IN1) (
	input(IN2) ()
	input(IN1) ()
	output(OUT2) (function =  IN1 * IN2 ;)
	output(OUT1) (function = !OUT2;)
)


model ndi3 (OUT2, OUT1, IN3, IN2, IN1) (
	input(IN3) ()
	input(IN2) ()
	input(IN1) ()
	output(OUT2) (function =  IN1 * IN2 * IN3 ;)
	output(OUT1) (function = !OUT2;)
)


model ndi4 (OUT2, OUT1, IN4, IN3, IN2, IN1) (
	input(IN4) ()
	input(IN3) ()
	input(IN2) ()
	input(IN1) ()
	output(OUT2) (function =  IN1 * IN2 * IN3 * IN4 ;)
	output(OUT1) (function = !OUT2;)
)


model ndlat (S, R, QBAR, Q) (
	input(S) ()
	input(R) ()
	intern(_NN2) (function =  S + R ;)
	intern(_NN7) (primitive=_tie1(_NN7);)
	intern(_NN1) (function = !R;)
	intern(_NN0) (function = !S;)
	intern(_NN8) (primitive=_dlat(,_NN0,_NN1,_NN7,_NN8,);)
	output(Q) (function = !_NN8;)
	output(QBAR) (primitive=_xor(_NN2,Q,QBAR);)
)


model nr2 (OUT, IN2, IN1) (
	input(IN2) ()
	input(IN1) ()
	intern(_NN0) (function =  IN1 + IN2 ;)
	output(OUT) (function = !_NN0;)
)


model nr3 (OUT, IN3, IN2, IN1) (
	input(IN3) ()
	input(IN2) ()
	input(IN1) ()
	intern(_NN0) (function =  IN1 + IN2 + IN3 ;)
	output(OUT) (function = !_NN0;)
)


model nri2 (OUT2, OUT1, IN2, IN1) (
	input(IN2) ()
	input(IN1) ()
	intern(_NN0) (function =  IN1 + IN2 ;)
	output(OUT1) (function = !_NN0;)
	output(OUT2) (function = !OUT1;)
)


model nri3 (OUT2, OUT1, IN3, IN2, IN1) (
	input(IN3) ()
	input(IN2) ()
	input(IN1) ()
	intern(_NN0) (function =  IN1 + IN2 + IN3 ;)
	output(OUT1) (function = !_NN0;)
	output(OUT2) (function = !OUT1;)
)


model nri4 (OUT2, OUT1, IN4, IN3, IN2, IN1) (
	input(IN4) ()
	input(IN3) ()
	input(IN2) ()
	input(IN1) ()
	intern(_NN0) (function =  IN1 + IN2 + IN3 + IN4 ;)
	output(OUT1) (function = !_NN0;)
	output(OUT2) (function = !OUT1;)
)


model nrlat (S, R, QBAR, Q) (
	input(S) ()
	input(R) ()
	intern(_NN6) (primitive=_tie0(_NN6);)
	output(Q) (primitive=_dlat(,R,S,_NN6,Q,);)
	intern(_NN5) (function =  R * S ;)
	intern(_NN4) (primitive=_xor(Q,_NN5,_NN4);)
	output(QBAR) (function = !_NN4;)
)


model opad08 (PAD, IN1) (
	input(IN1) ()
	output(PAD) (function = IN1;)
)


model opad10 (PAD, IN1) (
	input(IN1) ()
	output(PAD) (function = IN1;)
)


model opad12 (PAD, IN1) (
	input(IN1) ()
	output(PAD) (function = IN1;)
)


model par4 (PSEL, OUT, IN4, IN3, IN2, IN1) (
	input(PSEL) ()
	input(IN4) ()
	input(IN3) ()
	input(IN2) ()
	input(IN1) ()
	intern(_NN0) (primitive=_xor(IN1,IN2,_NN0);)
	intern(_NN1) (primitive=_xor(IN3,IN4,_NN1);)
	intern(_NN2) (primitive=_xor(_NN0,_NN1,_NN2);)
	output(OUT) (primitive=_xor(_NN2,PSEL,OUT);)
)


model pop12 (S3, S2, S1, S0, D11, D10, D9, D8, D7, D6, D5, D4, D3, D2, D1, D0) (
	input(D11) ()
	input(D10) ()
	input(D9) ()
	input(D8) ()
	input(D7) ()
	input(D6) ()
	input(D5) ()
	input(D4) ()
	input(D3) ()
	input(D2) ()
	input(D1) ()
	input(D0) ()
	intern(_NN71) (primitive=_xor(D10,D9,_NN71);)
	intern(_NN62) (primitive=_xor(D11,_NN71,_NN62);)
	intern(_NN56) (primitive=_xor(D7,D6,_NN56);)
	intern(_NN48) (primitive=_xor(D8,_NN56,_NN48);)
	intern(_NN57) (primitive=_xor(D4,D3,_NN57);)
	intern(_NN67) (primitive=_xor(D5,_NN57,_NN67);)
	intern(_NN51) (primitive=_xor(D1,D0,_NN51);)
	intern(_NN65) (primitive=_xor(D2,_NN51,_NN65);)
	intern(_NN55) (primitive=_xor(_NN67,_NN65,_NN55);)
	intern(_NN69) (primitive=_xor(_NN48,_NN55,_NN69);)
	intern(_NN70) (function =  _NN62 * _NN69 ;)
	intern(_NN43) (function =  D11 * D10 ;)
	intern(_NN60) (function =  D11 * D9 ;)
	intern(_NN42) (function =  D10 * D9 ;)
	intern(_NN8) (function =  _NN43 + _NN60 + _NN42 ;)
	intern(_NN21) (function = !_NN8;)
	intern(_NN12) (function = !_NN21;)
	intern(_NN53) (function =  _NN48 * _NN67 ;)
	intern(_NN72) (function =  _NN48 * _NN65 ;)
	intern(_NN52) (function =  _NN67 * _NN65 ;)
	intern(_NN3) (function =  _NN53 + _NN72 + _NN52 ;)
	intern(_NN16) (function = !_NN3;)
	intern(_NN14) (function = !_NN16;)
	intern(_NN44) (function =  D2 * D1 ;)
	intern(_NN63) (function =  D2 * D0 ;)
	intern(_NN46) (function =  D1 * D0 ;)
	intern(_NN6) (function =  _NN44 + _NN63 + _NN46 ;)
	intern(_NN19) (function = !_NN6;)
	intern(_NN9) (function = !_NN19;)
	intern(_NN64) (function =  D8 * D7 ;)
	intern(_NN45) (function =  D8 * D6 ;)
	intern(_NN73) (function =  D7 * D6 ;)
	intern(_NN5) (function =  _NN64 + _NN45 + _NN73 ;)
	intern(_NN18) (function = !_NN5;)
	intern(_NN11) (function = !_NN18;)
	intern(_NN49) (function =  D5 * D4 ;)
	intern(_NN68) (function =  D5 * D3 ;)
	intern(_NN50) (function =  D4 * D3 ;)
	intern(_NN4) (function =  _NN49 + _NN68 + _NN50 ;)
	intern(_NN17) (function = !_NN4;)
	intern(_NN10) (function = !_NN17;)
	intern(_NN61) (primitive=_xor(_NN11,_NN10,_NN61);)
	intern(_NN66) (primitive=_xor(_NN9,_NN61,_NN66);)
	intern(_NN47) (primitive=_xor(_NN14,_NN66,_NN47);)
	intern(_NN59) (primitive=_xor(_NN12,_NN47,_NN59);)
	intern(_NN39) (function =  _NN70 * _NN59 ;)
	intern(_NN2) (function =  _NN17 + _NN18 ;)
	intern(_NN74) (function = !_NN2;)
	intern(_NN76) (function =  _NN61 * _NN6 ;)
	intern(_NN1) (function =  _NN74 + _NN76 ;)
	intern(_NN75) (function = !_NN1;)
	intern(_NN13) (function = !_NN75;)
	intern(_NN54) (function =  _NN39 * _NN13 ;)
	intern(_NN41) (function =  _NN14 * _NN66 ;)
	intern(_NN77) (function =  _NN47 * _NN8 ;)
	intern(_NN15) (function =  _NN41 + _NN77 ;)
	intern(_NN40) (function =  _NN39 * _NN15 ;)
	intern(_NN22) (function = !_NN15;)
	intern(_NN0) (function =  _NN22 + _NN75 ;)
	intern(_NN78) (function = !_NN0;)
	intern(_NN7) (function =  _NN54 + _NN40 + _NN78 ;)
	intern(_NN20) (function = !_NN7;)
	output(S3) (function = !_NN20;)
	intern(_NN58) (primitive=_xor(_NN13,_NN15,_NN58);)
	output(S2) (primitive=_xor(_NN39,_NN58,S2);)
	output(S1) (primitive=_xor(_NN70,_NN59,S1);)
	output(S0) (primitive=_xor(_NN62,_NN69,S0);)
)


model pop8 (S3, S2, S1, S0, D7, D6, D5, D4, D3, D2, D1, D0) (
	input(D7) ()
	input(D6) ()
	input(D5) ()
	input(D4) ()
	input(D3) ()
	input(D2) ()
	input(D1) ()
	input(D0) ()
	intern(_NN31) (function =  D1 * D0 ;)
	intern(_NN32) (function =  D2 * _NN31 ;)
	intern(_NN59) (function =  D3 * _NN32 ;)
	intern(_NN17) (function =  D1 + D0 ;)
	intern(_NN46) (primitive=_mux(_NN31,_NN17,D2,_NN46);)
	intern(_NN41) (primitive=_mux(_NN32,_NN46,D3,_NN41);)
	intern(_NN36) (primitive=_mux(_NN59,_NN41,D4,_NN36);)
	intern(_NN3) (function = !_NN31;)
	intern(_NN57) (primitive=_mux(_NN17,_NN3,D2,_NN57);)
	intern(_NN47) (primitive=_mux(_NN46,_NN57,D3,_NN47);)
	intern(_NN0) (function =  _NN59 + _NN47 ;)
	intern(_NN60) (function = !_NN0;)
	intern(_NN6) (function = !_NN60;)
	intern(_NN49) (primitive=_mux(_NN41,_NN6,D4,_NN49);)
	intern(_NN50) (primitive=_mux(_NN36,_NN49,D5,_NN50);)
	intern(_NN2) (function = !_NN46;)
	intern(_NN58) (primitive=_mux(_NN57,_NN2,D3,_NN58);)
	intern(_NN1) (function =  _NN41 + _NN58 ;)
	intern(_NN18) (function = !_NN1;)
	intern(_NN5) (function = !_NN18;)
	intern(_NN51) (primitive=_mux(_NN6,_NN5,D4,_NN51);)
	intern(_NN52) (primitive=_mux(_NN49,_NN51,D5,_NN52);)
	intern(_NN53) (primitive=_mux(_NN50,_NN52,D6,_NN53);)
	intern(_NN10) (function = !D0;)
	intern(_NN42) (primitive=_mux(D0,_NN10,D1,_NN42);)
	intern(_NN9) (function = !_NN42;)
	intern(_NN43) (primitive=_mux(_NN42,_NN9,D2,_NN43);)
	intern(_NN8) (function = !_NN43;)
	intern(_NN44) (primitive=_mux(_NN43,_NN8,D3,_NN44);)
	intern(_NN7) (function = !_NN44;)
	intern(_NN45) (primitive=_mux(_NN44,_NN7,D4,_NN45);)
	intern(_NN14) (function = !_NN45;)
	intern(_NN37) (primitive=_mux(_NN45,_NN14,D5,_NN37);)
	intern(_NN13) (function = !_NN37;)
	intern(_NN38) (primitive=_mux(_NN37,_NN13,D6,_NN38);)
	intern(_NN48) (primitive=_mux(_NN47,_NN58,D4,_NN48);)
	intern(_NN11) (function = !_NN47;)
	intern(_NN39) (primitive=_mux(_NN58,_NN11,D4,_NN39);)
	intern(_NN40) (primitive=_mux(_NN48,_NN39,D5,_NN40);)
	intern(_NN16) (function = !_NN48;)
	intern(_NN33) (primitive=_mux(_NN39,_NN16,D5,_NN33);)
	intern(_NN35) (primitive=_mux(_NN40,_NN33,D6,_NN35);)
	output(S3) (function =  D7 * _NN53 * _NN38 * _NN35 ;)
	intern(_NN4) (function = !_NN59;)
	intern(_NN54) (primitive=_mux(_NN5,_NN4,D4,_NN54);)
	intern(_NN55) (primitive=_mux(_NN51,_NN54,D5,_NN55);)
	intern(_NN56) (primitive=_mux(_NN52,_NN55,D6,_NN56);)
	output(S2) (primitive=_mux(_NN53,_NN56,D7,S2);)
	intern(_NN15) (function = !_NN40;)
	intern(_NN34) (primitive=_mux(_NN33,_NN15,D6,_NN34);)
	output(S1) (primitive=_mux(_NN35,_NN34,D7,S1);)
	intern(_NN12) (function = !_NN38;)
	output(S0) (primitive=_mux(_NN38,_NN12,D7,S0);)
)


model pri8 (Q3, Q2, Q1, Q0, D7, D6, D5, D4, D3, D2, D1, D0) (
	input(D7) ()
	input(D6) ()
	input(D5) ()
	input(D4) ()
	input(D3) ()
	input(D2) ()
	input(D1) ()
	input(D0) ()
	intern(_NN3) (function = !D3;)
	intern(_NN2) (function = !D6;)
	intern(_NN6) (function = !D7;)
	intern(_NN4) (function =  D4 + D5 ;)
	intern(_NN16) (function = !_NN4;)
	intern(_NN18) (function =  _NN6 * _NN16 ;)
	intern(_NN5) (function =  D0 + D1 ;)
	intern(_NN17) (function = !_NN5;)
	intern(_NN33) (function =  D2 * _NN17 ;)
	intern(_NN1) (function = !_NN33;)
	intern(_NN15) (function =  _NN3 * _NN2 * _NN18 * _NN1 * _NN17 ;)
	output(Q3) (function = !_NN15;)
	intern(_NN13) (function =  _NN1 * _NN3 * _NN17 ;)
	output(Q2) (function =  Q3 * _NN13 ;)
	intern(_NN10) (function = !D1;)
	intern(_NN8) (function = !_NN16;)
	intern(_NN34) (function =  _NN8 * _NN13 ;)
	intern(_NN9) (function = !_NN34;)
	intern(_NN7) (function =  D0 + _NN15 ;)
	intern(_NN19) (function = !_NN7;)
	output(Q1) (function =  _NN10 * _NN9 * _NN19 ;)
	intern(_NN32) (function =  D4 * _NN13 ;)
	intern(_NN11) (function = !_NN19;)
	intern(_NN0) (function = !D5;)
	intern(_NN14) (function =  D6 * _NN3 * _NN0 * _NN17 ;)
	intern(_NN12) (function =  _NN32 + _NN11 + _NN33 + _NN14 ;)
	output(Q0) (function = !_NN12;)
)


model puld (OUT) (
	output(OUT) (primitive=_tie0(OUT);)
)

model pulu (OUT) (
	output(OUT) (primitive=_tie1(OUT);)
)


model pwr08 (pad) (
    output(pad) (
        fault = none; primitive = _tie1(pad);
    )
)

model pwr10 (pad) (
    output(pad) (
        fault = none; primitive = _tie1(pad);
    )
)

model pwr12 (pad) (
    output(pad) (
        fault = none; primitive = _tie1(pad);
    )
)

model rip4 (SELECT, RESET, Q3, Q2, Q1, Q0, L3, L2, L1, L0, DATA) (
	input(SELECT) ()
	input(RESET) ()
	input(L3) ()
	input(L2) ()
	input(L1) ()
	input(L0) ()
	input(DATA) ()
	intern(_NN1) (function = !Q3;)
	intern(_NN3) (function = !DATA;)
	intern(_NN10) (function = !L0;)
	intern(_NN35) (function =  _NN10 * SELECT ;)
	intern(_NN15) (function = !_NN35;)
	intern(_NN19) (function =  RESET * _NN15 ;)
	intern(_NN2) (function = !_NN19;)
	intern(_NN32) (function =  RESET * SELECT ;)
	intern(_NN40) (function =  L0 * _NN32 ;)
	output(Q0) (primitive=_dff(_NN40,_NN2,_NN3,_NN7,Q0,);)
	intern(_NN7) (function = !Q0;)
	intern(_NN12) (function = !L1;)
	intern(_NN33) (function =  _NN12 * SELECT ;)
	intern(_NN13) (function = !_NN33;)
	intern(_NN17) (function =  RESET * _NN13 ;)
	intern(_NN6) (function = !_NN17;)
	intern(_NN39) (function =  L1 * _NN32 ;)
	output(Q1) (primitive=_dff(_NN39,_NN6,_NN7,_NN8,Q1,);)
	intern(_NN8) (function = !Q1;)
	intern(_NN11) (function = !L2;)
	intern(_NN34) (function =  _NN11 * SELECT ;)
	intern(_NN14) (function = !_NN34;)
	intern(_NN18) (function =  RESET * _NN14 ;)
	intern(_NN4) (function = !_NN18;)
	intern(_NN38) (function =  L2 * _NN32 ;)
	output(Q2) (primitive=_dff(_NN38,_NN4,_NN8,_NN5,Q2,);)
	intern(_NN5) (function = !Q2;)
	intern(_NN9) (function = !L3;)
	intern(_NN36) (function =  _NN9 * SELECT ;)
	intern(_NN16) (function = !_NN36;)
	intern(_NN20) (function =  RESET * _NN16 ;)
	intern(_NN0) (function = !_NN20;)
	intern(_NN37) (function =  L3 * _NN32 ;)
	output(Q3) (primitive=_dff(_NN37,_NN0,_NN5,_NN1,Q3,);)
)


model sr4 (S2, S1, RESET, Q3, Q2, Q1, Q0, DR, DL, D3, D2, D1, D0, CLOCK) (
	input(S2) ()
	input(S1) ()
	input(RESET) ()
	input(DR) ()
	input(DL) ()
	input(D3) ()
	input(D2) ()
	input(D1) ()
	input(D0) ()
	input(CLOCK) ()
	intern(_NN24) (function =  S1 * RESET * S2 ;)
	intern(_NN29) (function =  Q2 * _NN24 ;)
	intern(_NN27) (function =  Q1 * _NN24 ;)
	intern(_NN3) (function = !S2;)
	intern(_NN22) (function =  S1 * RESET * _NN3 ;)
	intern(_NN28) (function =  Q2 * _NN22 ;)
	intern(_NN31) (function =  Q1 * _NN22 ;)
	intern(_NN35) (function =  Q0 * _NN24 ;)
	intern(_NN2) (function = !S1;)
	intern(_NN23) (function =  _NN2 * RESET * S2 ;)
	intern(_NN40) (function =  DR * _NN23 ;)
	intern(_NN25) (function =  _NN2 * RESET * _NN3 ;)
	intern(_NN41) (function =  D0 * _NN25 ;)
	intern(_NN7) (function =  _NN31 + _NN35 + _NN40 + _NN41 ;)
	intern(_NN1) (function = !CLOCK;)
	intern(_NN0) (function = !RESET;)
	output(Q0) (primitive=_dff(,_NN0,_NN1,_NN7,Q0,);)
	intern(_NN33) (function =  Q0 * _NN23 ;)
	intern(_NN38) (function =  D1 * _NN25 ;)
	intern(_NN5) (function =  _NN27 + _NN28 + _NN33 + _NN38 ;)
	output(Q1) (primitive=_dff(,_NN0,_NN1,_NN5,Q1,);)
	intern(_NN30) (function =  Q1 * _NN23 ;)
	intern(_NN34) (function =  Q3 * _NN22 ;)
	intern(_NN39) (function =  D2 * _NN25 ;)
	intern(_NN6) (function =  _NN29 + _NN30 + _NN34 + _NN39 ;)
	output(Q2) (primitive=_dff(,_NN0,_NN1,_NN6,Q2,);)
	intern(_NN26) (function =  Q2 * _NN23 ;)
	intern(_NN32) (function =  Q3 * _NN24 ;)
	intern(_NN36) (function =  DL * _NN22 ;)
	intern(_NN37) (function =  D3 * _NN25 ;)
	intern(_NN4) (function =  _NN26 + _NN32 + _NN36 + _NN37 ;)
	output(Q3) (primitive=_dff(,_NN0,_NN1,_NN4,Q3,);)
)


model trib1 (OUT, EN, DATA) (
	input(EN) ()
	input(DATA) ()
	output(OUT) (primitive=_tsh(DATA,EN,OUT);)
)


model trib2 (OUT, EN, DATA) (
	input(EN) ()
	input(DATA) ()
	output(OUT) (primitive=_tsh(DATA,EN,OUT);)
)


model u_d4 (SEL2, SEL1, RESET, Q3, Q2, Q1, Q0, D3, D2, D1, D0, COBAR, CLOCK) (
	input(SEL2) ()
	input(SEL1) ()
	input(RESET) ()
	input(D3) ()
	input(D2) ()
	input(D1) ()
	input(D0) ()
	input(CLOCK) ()
	intern(_NN9) (function =  SEL1 + SEL2 ;)
	intern(_NN19) (function = !_NN9;)
	intern(_NN43) (function =  D3 * _NN19 ;)
	intern(_NN5) (function = !RESET;)
	intern(_NN40) (function =  D2 * _NN19 ;)
	intern(_NN37) (function =  D1 * _NN19 ;)
	intern(_NN45) (function =  SEL1 * SEL2 ;)
	intern(_NN8) (function = !_NN45;)
	intern(_NN34) (function =  D0 * _NN19 ;)
	intern(_NN35) (primitive=_xor(Q0,_NN8,_NN35);)
	intern(_NN33) (function =  _NN9 * _NN35 ;)
	intern(_NN10) (function =  _NN34 + _NN33 ;)
	intern(_NN0) (function = !CLOCK;)
	output(Q0) (primitive=_dff(,_NN5,_NN0,_NN10,Q0,);)
	intern(_NN1) (function =  _NN19 + SEL2 ;)
	intern(_NN14) (function = !_NN1;)
	intern(_NN7) (function = !_NN14;)
	intern(_NN46) (primitive=_xor(Q0,_NN7,_NN46);)
	intern(_NN2) (function = !_NN46;)
	intern(_NN15) (function =  RESET * _NN8 * _NN2 ;)
	intern(_NN38) (primitive=_xor(Q1,_NN15,_NN38);)
	intern(_NN36) (function =  _NN9 * _NN38 ;)
	intern(_NN11) (function =  _NN37 + _NN36 ;)
	output(Q1) (primitive=_dff(,_NN5,_NN0,_NN11,Q1,);)
	intern(_NN47) (primitive=_xor(Q1,_NN7,_NN47);)
	intern(_NN3) (function =  _NN5 + _NN47 + _NN45 + _NN46 ;)
	intern(_NN16) (function = !_NN3;)
	intern(_NN41) (primitive=_xor(Q2,_NN16,_NN41);)
	intern(_NN39) (function =  _NN9 * _NN41 ;)
	intern(_NN12) (function =  _NN40 + _NN39 ;)
	output(Q2) (primitive=_dff(,_NN5,_NN0,_NN12,Q2,);)
	intern(_NN48) (primitive=_xor(Q2,_NN7,_NN48);)
	intern(_NN4) (function =  _NN5 + _NN48 + _NN47 + _NN45 + _NN46 ;)
	intern(_NN17) (function = !_NN4;)
	intern(_NN44) (primitive=_xor(Q3,_NN17,_NN44);)
	intern(_NN42) (function =  _NN9 * _NN44 ;)
	intern(_NN13) (function =  _NN43 + _NN42 ;)
	output(Q3) (primitive=_dff(,_NN5,_NN0,_NN13,Q3,);)
	intern(_NN49) (primitive=_xor(Q3,_NN7,_NN49);)
	intern(_NN6) (function =  _NN5 + _NN49 + _NN48 + _NN47 + _NN45 + _NN46 ;)
	intern(_NN18) (function = !_NN6;)
	output(COBAR) (function = !_NN18;)
)

model vdd08 (pad) (
    output(pad) (
        fault = none; primitive = _tie1(pad);
    )
)

model vdd10 (pad) (
    output(pad) (
        fault = none; primitive = _tie1(pad);
    )
)

model vdd12 (pad) (
    output(pad) (
        fault = none; primitive = _tie1(pad);
    )
)

model x08buf (PAD, OUT) (
	input(PAD) ()
	output(OUT) (function = PAD;)
)


model x08clk (PAD, OUT) (
	input(PAD) ()
	output(OUT) (function = !PAD;)
)


model x08ipd (PAD, OUT3, OUT2, OUT1) (
	input(PAD) ()
	output(OUT3) (function = PAD;)
	output(OUT2) (function = !PAD;)
	output(OUT1) (function = PAD;)
)


model x08lvl (PAD, OUT2, OUT1) (
	input(PAD) ()
	output(OUT2) (function = !PAD;)
	output(OUT1) (function = PAD;)
)


model x08sch (PAD, OUT1) (
	input(PAD) ()
	output(OUT1) (function = PAD;)
)

model x08tri (PAD, OUT3, OUT2, ENABL, DATA) (
	input(ENABL) ()
	input(DATA) ()
	intern(_NN5) (primitive=_tsh(DATA,ENABL,_NN5);)
	inout(PAD) (primitive=_wire(_NN5, PAD);)
	output(OUT3) (function = !OUT2;)
	output(OUT2) (function = !PAD;)
)


model x08vss (PAD, OUT3, OUT2, OUT1) (
	input(PAD) ()
	output(OUT3) (function = PAD;)
	output(OUT2) (function = !PAD;)
	output(OUT1) (function = PAD;)
)


model x10buf (PAD, OUT) (
	input(PAD) ()
	output(OUT) (function = PAD;)
)


model x10clk (PAD, OUT) (
	input(PAD) ()
	output(OUT) (function = !PAD;)
)


model x10ipd (PAD, OUT3, OUT2, OUT1) (
	input(PAD) ()
	output(OUT3) (function = PAD;)
	output(OUT2) (function = !PAD;)
	output(OUT1) (function = PAD;)
)


model x10lvl (PAD, OUT2, OUT1) (
	input(PAD) ()
	output(OUT2) (function = !PAD;)
	output(OUT1) (function = PAD;)
)


model x10sch (PAD, OUT1) (
	input(PAD) ()
	output(OUT1) (function = PAD;)
)

model x10tri (PAD, OUT3, OUT2, ENABL, DATA) (
	input(ENABL) ()
	input(DATA) ()
	intern(_NN5) (primitive=_tsh(DATA,ENABL,_NN5);)
	inout(PAD) (primitive=_wire(_NN5, PAD);)
	output(OUT3) (function = !OUT2;)
	output(OUT2) (function = !PAD;)
)


model x10vss (PAD, OUT3, OUT2, OUT1) (
	input(PAD) ()
	output(OUT3) (function = PAD;)
	output(OUT2) (function = !PAD;)
	output(OUT1) (function = PAD;)
)


model x12buf (PAD, OUT) (
	input(PAD) ()
	output(OUT) (function = PAD;)
)


model x12clk (PAD, OUT) (
	input(PAD) ()
	output(OUT) (function = !PAD;)
)


model x12ipd (PAD, OUT3, OUT2, OUT1) (
	input(PAD) ()
	output(OUT3) (function = PAD;)
	output(OUT2) (function = !PAD;)
	output(OUT1) (function = PAD;)
)


model x12lvl (PAD, OUT2, OUT1) (
	input(PAD) ()
	output(OUT2) (function = !PAD;)
	output(OUT1) (function = PAD;)
)


model x12sch (PAD, OUT1) (
	input(PAD) ()
	output(OUT1) (function = PAD;)
)

model x12tri (PAD, OUT3, OUT2, ENABL, DATA) (
	input(ENABL) ()
	input(DATA) ()
	intern(_NN5) (primitive=_tsh(DATA,ENABL,_NN5);)
	inout(PAD) (primitive=_wire(_NN5, PAD);)
	output(OUT3) (function = !OUT2;)
	output(OUT2) (function = !PAD;)
)


model x12vss (PAD, OUT3, OUT2, OUT1) (
	input(PAD) ()
	output(OUT3) (function = PAD;)
	output(OUT2) (function = !PAD;)
	output(OUT1) (function = PAD;)
)


model xnor (OUT, IN2, IN1) (
	input(IN2) ()
	input(IN1) ()
	intern(_NN3) (primitive=_xor(IN1,IN2,_NN3);)
	output(OUT) (function = !_NN3;)
)


model xor (OUT, IN2, IN1) (
	input(IN2) ()
	input(IN1) ()
	output(OUT) (primitive=_xor(IN1,IN2,OUT);)
)


