.model s_cla16 .inputs a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10] a[11] a[12] a[13] a[14] a[15] b[0] b[1] b[2] b[3] b[4] b[5] b[6] b[7] b[8] b[9] b[10] b[11] b[12] b[13] b[14] b[15] .outputs s_cla16_out[0] s_cla16_out[1] s_cla16_out[2] s_cla16_out[3] s_cla16_out[4] s_cla16_out[5] s_cla16_out[6] s_cla16_out[7] s_cla16_out[8] s_cla16_out[9] s_cla16_out[10] s_cla16_out[11] s_cla16_out[12] s_cla16_out[13] s_cla16_out[14] s_cla16_out[15] s_cla16_out[16] .names vdd 1 .names gnd 0 .subckt pg_logic a=a[0] b=b[0] pg_logic_or0=s_cla16_pg_logic0_or0 pg_logic_and0=s_cla16_pg_logic0_and0 pg_logic_xor0=s_cla16_pg_logic0_xor0 .subckt pg_logic a=a[1] b=b[1] pg_logic_or0=s_cla16_pg_logic1_or0 pg_logic_and0=s_cla16_pg_logic1_and0 pg_logic_xor0=s_cla16_pg_logic1_xor0 .subckt xor_gate a=s_cla16_pg_logic1_xor0 b=s_cla16_pg_logic0_and0 out=s_cla16_xor1 .subckt and_gate a=s_cla16_pg_logic0_and0 b=s_cla16_pg_logic1_or0 out=s_cla16_and0 .subckt or_gate a=s_cla16_pg_logic1_and0 b=s_cla16_and0 out=s_cla16_or0 .subckt pg_logic a=a[2] b=b[2] pg_logic_or0=s_cla16_pg_logic2_or0 pg_logic_and0=s_cla16_pg_logic2_and0 pg_logic_xor0=s_cla16_pg_logic2_xor0 .subckt xor_gate a=s_cla16_pg_logic2_xor0 b=s_cla16_or0 out=s_cla16_xor2 .subckt and_gate a=s_cla16_pg_logic2_or0 b=s_cla16_pg_logic0_or0 out=s_cla16_and1 .subckt and_gate a=s_cla16_pg_logic0_and0 b=s_cla16_pg_logic2_or0 out=s_cla16_and2 .subckt and_gate a=s_cla16_and2 b=s_cla16_pg_logic1_or0 out=s_cla16_and3 .subckt and_gate a=s_cla16_pg_logic1_and0 b=s_cla16_pg_logic2_or0 out=s_cla16_and4 .subckt or_gate a=s_cla16_and3 b=s_cla16_and4 out=s_cla16_or1 .subckt or_gate a=s_cla16_pg_logic2_and0 b=s_cla16_or1 out=s_cla16_or2 .subckt pg_logic a=a[3] b=b[3] pg_logic_or0=s_cla16_pg_logic3_or0 pg_logic_and0=s_cla16_pg_logic3_and0 pg_logic_xor0=s_cla16_pg_logic3_xor0 .subckt xor_gate a=s_cla16_pg_logic3_xor0 b=s_cla16_or2 out=s_cla16_xor3 .subckt and_gate a=s_cla16_pg_logic3_or0 b=s_cla16_pg_logic1_or0 out=s_cla16_and5 .subckt and_gate a=s_cla16_pg_logic0_and0 b=s_cla16_pg_logic2_or0 out=s_cla16_and6 .subckt and_gate a=s_cla16_pg_logic3_or0 b=s_cla16_pg_logic1_or0 out=s_cla16_and7 .subckt and_gate a=s_cla16_and6 b=s_cla16_and7 out=s_cla16_and8 .subckt and_gate a=s_cla16_pg_logic1_and0 b=s_cla16_pg_logic3_or0 out=s_cla16_and9 .subckt and_gate a=s_cla16_and9 b=s_cla16_pg_logic2_or0 out=s_cla16_and10 .subckt and_gate a=s_cla16_pg_logic2_and0 b=s_cla16_pg_logic3_or0 out=s_cla16_and11 .subckt or_gate a=s_cla16_and8 b=s_cla16_and11 out=s_cla16_or3 .subckt or_gate a=s_cla16_and10 b=s_cla16_or3 out=s_cla16_or4 .subckt or_gate a=s_cla16_pg_logic3_and0 b=s_cla16_or4 out=s_cla16_or5 .subckt pg_logic a=a[4] b=b[4] pg_logic_or0=s_cla16_pg_logic4_or0 pg_logic_and0=s_cla16_pg_logic4_and0 pg_logic_xor0=s_cla16_pg_logic4_xor0 .subckt xor_gate a=s_cla16_pg_logic4_xor0 b=s_cla16_or5 out=s_cla16_xor4 .subckt and_gate a=s_cla16_or5 b=s_cla16_pg_logic4_or0 out=s_cla16_and12 .subckt or_gate a=s_cla16_pg_logic4_and0 b=s_cla16_and12 out=s_cla16_or6 .subckt pg_logic a=a[5] b=b[5] pg_logic_or0=s_cla16_pg_logic5_or0 pg_logic_and0=s_cla16_pg_logic5_and0 pg_logic_xor0=s_cla16_pg_logic5_xor0 .subckt xor_gate a=s_cla16_pg_logic5_xor0 b=s_cla16_or6 out=s_cla16_xor5 .subckt and_gate a=s_cla16_or5 b=s_cla16_pg_logic5_or0 out=s_cla16_and13 .subckt and_gate a=s_cla16_and13 b=s_cla16_pg_logic4_or0 out=s_cla16_and14 .subckt and_gate a=s_cla16_pg_logic4_and0 b=s_cla16_pg_logic5_or0 out=s_cla16_and15 .subckt or_gate a=s_cla16_and14 b=s_cla16_and15 out=s_cla16_or7 .subckt or_gate a=s_cla16_pg_logic5_and0 b=s_cla16_or7 out=s_cla16_or8 .subckt pg_logic a=a[6] b=b[6] pg_logic_or0=s_cla16_pg_logic6_or0 pg_logic_and0=s_cla16_pg_logic6_and0 pg_logic_xor0=s_cla16_pg_logic6_xor0 .subckt xor_gate a=s_cla16_pg_logic6_xor0 b=s_cla16_or8 out=s_cla16_xor6 .subckt and_gate a=s_cla16_or5 b=s_cla16_pg_logic5_or0 out=s_cla16_and16 .subckt and_gate a=s_cla16_pg_logic6_or0 b=s_cla16_pg_logic4_or0 out=s_cla16_and17 .subckt and_gate a=s_cla16_and16 b=s_cla16_and17 out=s_cla16_and18 .subckt and_gate a=s_cla16_pg_logic4_and0 b=s_cla16_pg_logic6_or0 out=s_cla16_and19 .subckt and_gate a=s_cla16_and19 b=s_cla16_pg_logic5_or0 out=s_cla16_and20 .subckt and_gate a=s_cla16_pg_logic5_and0 b=s_cla16_pg_logic6_or0 out=s_cla16_and21 .subckt or_gate a=s_cla16_and18 b=s_cla16_and20 out=s_cla16_or9 .subckt or_gate a=s_cla16_or9 b=s_cla16_and21 out=s_cla16_or10 .subckt or_gate a=s_cla16_pg_logic6_and0 b=s_cla16_or10 out=s_cla16_or11 .subckt pg_logic a=a[7] b=b[7] pg_logic_or0=s_cla16_pg_logic7_or0 pg_logic_and0=s_cla16_pg_logic7_and0 pg_logic_xor0=s_cla16_pg_logic7_xor0 .subckt xor_gate a=s_cla16_pg_logic7_xor0 b=s_cla16_or11 out=s_cla16_xor7 .subckt and_gate a=s_cla16_or5 b=s_cla16_pg_logic6_or0 out=s_cla16_and22 .subckt and_gate a=s_cla16_pg_logic7_or0 b=s_cla16_pg_logic5_or0 out=s_cla16_and23 .subckt and_gate a=s_cla16_and22 b=s_cla16_and23 out=s_cla16_and24 .subckt and_gate a=s_cla16_and24 b=s_cla16_pg_logic4_or0 out=s_cla16_and25 .subckt and_gate a=s_cla16_pg_logic4_and0 b=s_cla16_pg_logic6_or0 out=s_cla16_and26 .subckt and_gate a=s_cla16_pg_logic7_or0 b=s_cla16_pg_logic5_or0 out=s_cla16_and27 .subckt and_gate a=s_cla16_and26 b=s_cla16_and27 out=s_cla16_and28 .subckt and_gate a=s_cla16_pg_logic5_and0 b=s_cla16_pg_logic7_or0 out=s_cla16_and29 .subckt and_gate a=s_cla16_and29 b=s_cla16_pg_logic6_or0 out=s_cla16_and30 .subckt and_gate a=s_cla16_pg_logic6_and0 b=s_cla16_pg_logic7_or0 out=s_cla16_and31 .subckt or_gate a=s_cla16_and25 b=s_cla16_and30 out=s_cla16_or12 .subckt or_gate a=s_cla16_and28 b=s_cla16_and31 out=s_cla16_or13 .subckt or_gate a=s_cla16_or12 b=s_cla16_or13 out=s_cla16_or14 .subckt or_gate a=s_cla16_pg_logic7_and0 b=s_cla16_or14 out=s_cla16_or15 .subckt pg_logic a=a[8] b=b[8] pg_logic_or0=s_cla16_pg_logic8_or0 pg_logic_and0=s_cla16_pg_logic8_and0 pg_logic_xor0=s_cla16_pg_logic8_xor0 .subckt xor_gate a=s_cla16_pg_logic8_xor0 b=s_cla16_or15 out=s_cla16_xor8 .subckt and_gate a=s_cla16_or15 b=s_cla16_pg_logic8_or0 out=s_cla16_and32 .subckt or_gate a=s_cla16_pg_logic8_and0 b=s_cla16_and32 out=s_cla16_or16 .subckt pg_logic a=a[9] b=b[9] pg_logic_or0=s_cla16_pg_logic9_or0 pg_logic_and0=s_cla16_pg_logic9_and0 pg_logic_xor0=s_cla16_pg_logic9_xor0 .subckt xor_gate a=s_cla16_pg_logic9_xor0 b=s_cla16_or16 out=s_cla16_xor9 .subckt and_gate a=s_cla16_or15 b=s_cla16_pg_logic9_or0 out=s_cla16_and33 .subckt and_gate a=s_cla16_and33 b=s_cla16_pg_logic8_or0 out=s_cla16_and34 .subckt and_gate a=s_cla16_pg_logic8_and0 b=s_cla16_pg_logic9_or0 out=s_cla16_and35 .subckt or_gate a=s_cla16_and34 b=s_cla16_and35 out=s_cla16_or17 .subckt or_gate a=s_cla16_pg_logic9_and0 b=s_cla16_or17 out=s_cla16_or18 .subckt pg_logic a=a[10] b=b[10] pg_logic_or0=s_cla16_pg_logic10_or0 pg_logic_and0=s_cla16_pg_logic10_and0 pg_logic_xor0=s_cla16_pg_logic10_xor0 .subckt xor_gate a=s_cla16_pg_logic10_xor0 b=s_cla16_or18 out=s_cla16_xor10 .subckt and_gate a=s_cla16_or15 b=s_cla16_pg_logic9_or0 out=s_cla16_and36 .subckt and_gate a=s_cla16_pg_logic10_or0 b=s_cla16_pg_logic8_or0 out=s_cla16_and37 .subckt and_gate a=s_cla16_and36 b=s_cla16_and37 out=s_cla16_and38 .subckt and_gate a=s_cla16_pg_logic8_and0 b=s_cla16_pg_logic10_or0 out=s_cla16_and39 .subckt and_gate a=s_cla16_and39 b=s_cla16_pg_logic9_or0 out=s_cla16_and40 .subckt and_gate a=s_cla16_pg_logic9_and0 b=s_cla16_pg_logic10_or0 out=s_cla16_and41 .subckt or_gate a=s_cla16_and38 b=s_cla16_and40 out=s_cla16_or19 .subckt or_gate a=s_cla16_or19 b=s_cla16_and41 out=s_cla16_or20 .subckt or_gate a=s_cla16_pg_logic10_and0 b=s_cla16_or20 out=s_cla16_or21 .subckt pg_logic a=a[11] b=b[11] pg_logic_or0=s_cla16_pg_logic11_or0 pg_logic_and0=s_cla16_pg_logic11_and0 pg_logic_xor0=s_cla16_pg_logic11_xor0 .subckt xor_gate a=s_cla16_pg_logic11_xor0 b=s_cla16_or21 out=s_cla16_xor11 .subckt and_gate a=s_cla16_or15 b=s_cla16_pg_logic10_or0 out=s_cla16_and42 .subckt and_gate a=s_cla16_pg_logic11_or0 b=s_cla16_pg_logic9_or0 out=s_cla16_and43 .subckt and_gate a=s_cla16_and42 b=s_cla16_and43 out=s_cla16_and44 .subckt and_gate a=s_cla16_and44 b=s_cla16_pg_logic8_or0 out=s_cla16_and45 .subckt and_gate a=s_cla16_pg_logic8_and0 b=s_cla16_pg_logic10_or0 out=s_cla16_and46 .subckt and_gate a=s_cla16_pg_logic11_or0 b=s_cla16_pg_logic9_or0 out=s_cla16_and47 .subckt and_gate a=s_cla16_and46 b=s_cla16_and47 out=s_cla16_and48 .subckt and_gate a=s_cla16_pg_logic9_and0 b=s_cla16_pg_logic11_or0 out=s_cla16_and49 .subckt and_gate a=s_cla16_and49 b=s_cla16_pg_logic10_or0 out=s_cla16_and50 .subckt and_gate a=s_cla16_pg_logic10_and0 b=s_cla16_pg_logic11_or0 out=s_cla16_and51 .subckt or_gate a=s_cla16_and45 b=s_cla16_and50 out=s_cla16_or22 .subckt or_gate a=s_cla16_and48 b=s_cla16_and51 out=s_cla16_or23 .subckt or_gate a=s_cla16_or22 b=s_cla16_or23 out=s_cla16_or24 .subckt or_gate a=s_cla16_pg_logic11_and0 b=s_cla16_or24 out=s_cla16_or25 .subckt pg_logic a=a[12] b=b[12] pg_logic_or0=s_cla16_pg_logic12_or0 pg_logic_and0=s_cla16_pg_logic12_and0 pg_logic_xor0=s_cla16_pg_logic12_xor0 .subckt xor_gate a=s_cla16_pg_logic12_xor0 b=s_cla16_or25 out=s_cla16_xor12 .subckt and_gate a=s_cla16_or25 b=s_cla16_pg_logic12_or0 out=s_cla16_and52 .subckt or_gate a=s_cla16_pg_logic12_and0 b=s_cla16_and52 out=s_cla16_or26 .subckt pg_logic a=a[13] b=b[13] pg_logic_or0=s_cla16_pg_logic13_or0 pg_logic_and0=s_cla16_pg_logic13_and0 pg_logic_xor0=s_cla16_pg_logic13_xor0 .subckt xor_gate a=s_cla16_pg_logic13_xor0 b=s_cla16_or26 out=s_cla16_xor13 .subckt and_gate a=s_cla16_or25 b=s_cla16_pg_logic13_or0 out=s_cla16_and53 .subckt and_gate a=s_cla16_and53 b=s_cla16_pg_logic12_or0 out=s_cla16_and54 .subckt and_gate a=s_cla16_pg_logic12_and0 b=s_cla16_pg_logic13_or0 out=s_cla16_and55 .subckt or_gate a=s_cla16_and54 b=s_cla16_and55 out=s_cla16_or27 .subckt or_gate a=s_cla16_pg_logic13_and0 b=s_cla16_or27 out=s_cla16_or28 .subckt pg_logic a=a[14] b=b[14] pg_logic_or0=s_cla16_pg_logic14_or0 pg_logic_and0=s_cla16_pg_logic14_and0 pg_logic_xor0=s_cla16_pg_logic14_xor0 .subckt xor_gate a=s_cla16_pg_logic14_xor0 b=s_cla16_or28 out=s_cla16_xor14 .subckt and_gate a=s_cla16_or25 b=s_cla16_pg_logic13_or0 out=s_cla16_and56 .subckt and_gate a=s_cla16_pg_logic14_or0 b=s_cla16_pg_logic12_or0 out=s_cla16_and57 .subckt and_gate a=s_cla16_and56 b=s_cla16_and57 out=s_cla16_and58 .subckt and_gate a=s_cla16_pg_logic12_and0 b=s_cla16_pg_logic14_or0 out=s_cla16_and59 .subckt and_gate a=s_cla16_and59 b=s_cla16_pg_logic13_or0 out=s_cla16_and60 .subckt and_gate a=s_cla16_pg_logic13_and0 b=s_cla16_pg_logic14_or0 out=s_cla16_and61 .subckt or_gate a=s_cla16_and58 b=s_cla16_and60 out=s_cla16_or29 .subckt or_gate a=s_cla16_or29 b=s_cla16_and61 out=s_cla16_or30 .subckt or_gate a=s_cla16_pg_logic14_and0 b=s_cla16_or30 out=s_cla16_or31 .subckt pg_logic a=a[15] b=b[15] pg_logic_or0=s_cla16_pg_logic15_or0 pg_logic_and0=s_cla16_pg_logic15_and0 pg_logic_xor0=s_cla16_pg_logic15_xor0 .subckt xor_gate a=s_cla16_pg_logic15_xor0 b=s_cla16_or31 out=s_cla16_xor15 .subckt and_gate a=s_cla16_or25 b=s_cla16_pg_logic14_or0 out=s_cla16_and62 .subckt and_gate a=s_cla16_pg_logic15_or0 b=s_cla16_pg_logic13_or0 out=s_cla16_and63 .subckt and_gate a=s_cla16_and62 b=s_cla16_and63 out=s_cla16_and64 .subckt and_gate a=s_cla16_and64 b=s_cla16_pg_logic12_or0 out=s_cla16_and65 .subckt and_gate a=s_cla16_pg_logic12_and0 b=s_cla16_pg_logic14_or0 out=s_cla16_and66 .subckt and_gate a=s_cla16_pg_logic15_or0 b=s_cla16_pg_logic13_or0 out=s_cla16_and67 .subckt and_gate a=s_cla16_and66 b=s_cla16_and67 out=s_cla16_and68 .subckt and_gate a=s_cla16_pg_logic13_and0 b=s_cla16_pg_logic15_or0 out=s_cla16_and69 .subckt and_gate a=s_cla16_and69 b=s_cla16_pg_logic14_or0 out=s_cla16_and70 .subckt and_gate a=s_cla16_pg_logic14_and0 b=s_cla16_pg_logic15_or0 out=s_cla16_and71 .subckt or_gate a=s_cla16_and65 b=s_cla16_and70 out=s_cla16_or32 .subckt or_gate a=s_cla16_and68 b=s_cla16_and71 out=s_cla16_or33 .subckt or_gate a=s_cla16_or32 b=s_cla16_or33 out=s_cla16_or34 .subckt or_gate a=s_cla16_pg_logic15_and0 b=s_cla16_or34 out=s_cla16_or35 .subckt xor_gate a=a[15] b=b[15] out=s_cla16_xor16 .subckt xor_gate a=s_cla16_xor16 b=s_cla16_or35 out=s_cla16_xor17 .names s_cla16_pg_logic0_xor0 s_cla16_out[0] 1 1 .names s_cla16_xor1 s_cla16_out[1] 1 1 .names s_cla16_xor2 s_cla16_out[2] 1 1 .names s_cla16_xor3 s_cla16_out[3] 1 1 .names s_cla16_xor4 s_cla16_out[4] 1 1 .names s_cla16_xor5 s_cla16_out[5] 1 1 .names s_cla16_xor6 s_cla16_out[6] 1 1 .names s_cla16_xor7 s_cla16_out[7] 1 1 .names s_cla16_xor8 s_cla16_out[8] 1 1 .names s_cla16_xor9 s_cla16_out[9] 1 1 .names s_cla16_xor10 s_cla16_out[10] 1 1 .names s_cla16_xor11 s_cla16_out[11] 1 1 .names s_cla16_xor12 s_cla16_out[12] 1 1 .names s_cla16_xor13 s_cla16_out[13] 1 1 .names s_cla16_xor14 s_cla16_out[14] 1 1 .names s_cla16_xor15 s_cla16_out[15] 1 1 .names s_cla16_xor17 s_cla16_out[16] 1 1 .end .model pg_logic .inputs a b .outputs pg_logic_or0 pg_logic_and0 pg_logic_xor0 .names vdd 1 .names gnd 0 .subckt or_gate a=a b=b out=pg_logic_or0 .subckt and_gate a=a b=b out=pg_logic_and0 .subckt xor_gate a=a b=b out=pg_logic_xor0 .end .model xor_gate .inputs a b .outputs out .names vdd 1 .names gnd 0 .names a b out 01 1 10 1 .end .model and_gate .inputs a b .outputs out .names vdd 1 .names gnd 0 .names a b out 11 1 .end .model or_gate .inputs a b .outputs out .names vdd 1 .names gnd 0 .names a b out 1- 1 -1 1 .end