

module chpump (inh_NmosB, inh_PmosB, dn, dnb, inh_gnd, bias, out, reset, up,
    upb, inh_vdd);

//port section 
   inout inh_NmosB;
   inout inh_PmosB;
   input dn;
   input dnb;
   inout inh_gnd;
   input bias;
   output out;
   input reset;
   input up;
   input upb;
   inout inh_vdd;
   electrical ground;

//end port section 


//Spice primitive instantiations
      electrical inh_NmosB;
      electrical inh_PmosB;
      electrical dn;
      electrical dnb;
      electrical inh_gnd;
      electrical bias;
      electrical out;
      electrical reset;
      electrical up;
      electrical upb;
      electrical inh_vdd;
   analog begin
      $spice_prim(".import vdd!");
      $spice_prim("M41 inh_vdd net20 net10 inh_PmosB P  w=3.5u l=0.28u");
      $spice_prim("+ m=8 ad='3.5u*0.84u' pd='3.5u+1.68u' ps='3.5u+1.68u'");
      $spice_prim("+ as='3.5u*0.84u'");
      $spice_prim("M40 out net72 net76 inh_PmosB P  w=0.56u l=0.28u");
      $spice_prim("+ ad='0.56u*0.84u' m=1 pd='0.56u+1.68u' ps='0.56u");
      $spice_prim("++1.68u' as='0.56u*0.84u'");
      $spice_prim("M44 net72 reset net20 inh_PmosB P  l=0.28u w=0.56u");
      $spice_prim("+ ad='0.56u*0.84u' m=1 pd='0.56u+1.68u' ps='0.56u");
      $spice_prim("++1.68u' as='0.56u*0.84u'");
      $spice_prim("M42 inh_vdd reset net72 inh_PmosB P  l=0.28u w=0.56u");
      $spice_prim("+ ad='0.56u*0.84u' m=1 pd='0.56u+1.68u' ps='0.56u");
      $spice_prim("++1.68u' as='0.56u*0.84u'");
      $spice_prim("M48 net95 reset net97 inh_PmosB P  m=4 l=0.28u w=3.5u");
      $spice_prim("+ ad='3.5u*0.84u' pd='3.5u+1.68u' ps='3.5u+1.68u'");
      $spice_prim("+ as='3.5u*0.84u'");
      $spice_prim("M38 net89 up net97 inh_PmosB P  l=0.28u w=0.56u");
      $spice_prim("+ ad='0.56u*0.84u' m=1 pd='0.56u+1.68u' ps='0.56u");
      $spice_prim("++1.68u' as='0.56u*0.84u'");
      $spice_prim("M37 out dnb net71 inh_PmosB P  l=0.28u w=0.56u");
      $spice_prim("+ ad='0.56u*0.84u' m=1 pd='0.56u+1.68u' ps='0.56u");
      $spice_prim("++1.68u' as='0.56u*0.84u'");
      $spice_prim("M36 out upb net97 inh_PmosB P  w=0.56u l=0.28u");
      $spice_prim("+ ad='0.56u*0.84u' m=1 pd='0.56u+1.68u' ps='0.56u");
      $spice_prim("++1.68u' as='0.56u*0.84u'");
      $spice_prim("M35 net89 dn net71 inh_PmosB P  l=0.28u w=0.56u");
      $spice_prim("+ ad='0.56u*0.84u' m=1 pd='0.56u+1.68u' ps='0.56u");
      $spice_prim("++1.68u' as='0.56u*0.84u'");
      $spice_prim("M34 inh_vdd up1 x inh_PmosB P  m=16 l=0.7u w=3.5u");
      $spice_prim("+ ad='3.5u*0.84u' pd='3.5u+1.68u' ps='3.5u+1.68u'");
      $spice_prim("+ as='3.5u*0.84u'");
      $spice_prim("M25 net104 net53 net95 inh_PmosB P  w=3.5u l=0.7u m=4");
      $spice_prim("+ ad='3.5u*0.84u' pd='3.5u+1.68u' ps='3.5u+1.68u'");
      $spice_prim("+ as='3.5u*0.84u'");
      $spice_prim("M24 inh_vdd up1 net104 inh_PmosB P  l=0.7u w=3.5u m=4");
      $spice_prim("+ ad='3.5u*0.84u' pd='3.5u+1.68u' ps='3.5u+1.68u'");
      $spice_prim("+ as='3.5u*0.84u'");
      $spice_prim("M21 net107 net53 net53 inh_PmosB P  m=4 w=3.5u l=0.7u");
      $spice_prim("+ ad='3.5u*0.84u' pd='3.5u+1.68u' ps='3.5u+1.68u'");
      $spice_prim("+ as='3.5u*0.84u'");
      $spice_prim("M20 inh_vdd net56 net107 inh_PmosB P  w=1.96u l=0.7u");
      $spice_prim("+ ad='1.96u*0.84u' m=1 pd='1.96u+1.68u' ps='1.96u");
      $spice_prim("++1.68u' as='1.96u*0.84u'");
      $spice_prim("M19 inh_vdd net56 net56 inh_PmosB P  w=1.4u l=0.7u");
      $spice_prim("+ ad='1.4u*0.84u' m=1 pd='1.4u+1.68u' ps='1.4u+1.68u'");
      $spice_prim("+ as='1.4u*0.84u'");
      $spice_prim("M18 inh_vdd up1 up1 inh_PmosB P  w=3.5u m=4 l=0.7u");
      $spice_prim("+ ad='3.5u*0.84u' pd='3.5u+1.68u' ps='3.5u+1.68u'");
      $spice_prim("+ as='3.5u*0.84u'");
      $spice_prim("M7 net113 bias net62 inh_PmosB P  w=3.5u l=0.7u");
      $spice_prim("+ ad='3.5u*0.84u' m=1 pd='3.5u+1.68u' ps='3.5u+1.68u'");
      $spice_prim("+ as='3.5u*0.84u'");
      $spice_prim("M6 net116 bias net44 inh_PmosB P  l=0.7u w=3.5u");
      $spice_prim("+ ad='3.5u*0.84u' m=1 pd='3.5u+1.68u' ps='3.5u+1.68u'");
      $spice_prim("+ as='3.5u*0.84u'");
      $spice_prim("M5 net119 bias net38 inh_PmosB P  l=0.7u w=3.5u");
      $spice_prim("+ ad='3.5u*0.84u' m=1 pd='3.5u+1.68u' ps='3.5u+1.68u'");
      $spice_prim("+ as='3.5u*0.84u'");
      $spice_prim("M4 biasa bias bias inh_PmosB P  w=3.5u l=0.7u ad='3.5u");
      $spice_prim("+*0.84u' m=1 pd='3.5u+1.68u' ps='3.5u+1.68u' as='3.5u");
      $spice_prim("+*0.84u'");
      $spice_prim("M3 inh_vdd biasa net113 inh_PmosB P  w=3.5u l=0.7u");
      $spice_prim("+ ad='3.5u*0.84u' m=1 pd='3.5u+1.68u' ps='3.5u+1.68u'");
      $spice_prim("+ as='3.5u*0.84u'");
      $spice_prim("M2 inh_vdd biasa net116 inh_PmosB P  w=3.5u l=0.7u");
      $spice_prim("+ ad='3.5u*0.84u' m=1 pd='3.5u+1.68u' ps='3.5u+1.68u'");
      $spice_prim("+ as='3.5u*0.84u'");
      $spice_prim("M1 inh_vdd biasa net119 inh_PmosB P  w=3.5u l=0.7u");
      $spice_prim("+ ad='3.5u*0.84u' m=1 pd='3.5u+1.68u' ps='3.5u+1.68u'");
      $spice_prim("+ as='3.5u*0.84u'");
      $spice_prim("M0 inh_vdd biasa biasa inh_PmosB P  w=3.5u l=0.7u");
      $spice_prim("+ ad='3.5u*0.84u' m=1 pd='3.5u+1.68u' ps='3.5u+1.68u'");
      $spice_prim("+ as='3.5u*0.84u'");
      $spice_prim("M39 out reset net76 inh_NmosB N  w=0.56u l=0.28u");
      $spice_prim("+ ad='0.56u*0.84u' m=1 pd='0.56u+1.68u' ps='0.56u");
      $spice_prim("++1.68u' as='0.56u*0.84u'");
      $spice_prim("M45 net20 reset inh_gnd inh_NmosB N  l=0.28u w=0.56u");
      $spice_prim("+ ad='0.56u*0.84u' m=1 pd='0.56u+1.68u' ps='0.56u");
      $spice_prim("++1.68u' as='0.56u*0.84u'");
      $spice_prim("M43 net72 reset inh_gnd inh_NmosB N  l=0.28u w=0.56u");
      $spice_prim("+ ad='0.56u*0.84u' m=1 pd='0.56u+1.68u' ps='0.56u");
      $spice_prim("++1.68u' as='0.56u*0.84u'");
      $spice_prim("M31 out up net97 inh_NmosB N  w=0.56u l=0.28u");
      $spice_prim("+ ad='0.56u*0.84u' m=1 pd='0.56u+1.68u' ps='0.56u");
      $spice_prim("++1.68u' as='0.56u*0.84u'");
      $spice_prim("M30 net89 dnb net71 inh_NmosB N  l=0.28u w=0.56u");
      $spice_prim("+ ad='0.56u*0.84u' m=1 pd='0.56u+1.68u' ps='0.56u");
      $spice_prim("++1.68u' as='0.56u*0.84u'");
      $spice_prim("M29 net89 upb net97 inh_NmosB N  w=0.56u l=0.28u");
      $spice_prim("+ ad='0.56u*0.84u' m=1 pd='0.56u+1.68u' ps='0.56u");
      $spice_prim("++1.68u' as='0.56u*0.84u'");
      $spice_prim("M28 out dn net71 inh_NmosB N  w=0.56u l=0.28u");
      $spice_prim("+ ad='0.56u*0.84u' m=1 pd='0.56u+1.68u' ps='0.56u");
      $spice_prim("++1.68u' as='0.56u*0.84u'");
      $spice_prim("M27 net69 net69 inh_gnd inh_NmosB N  l=0.7u w=3.5u");
      $spice_prim("+ ad='3.5u*0.84u' m=1 pd='3.5u+1.68u' ps='3.5u+1.68u'");
      $spice_prim("+ as='3.5u*0.84u'");
      $spice_prim("M26 net89 net69 inh_gnd inh_NmosB N  l=0.7u w=3.5u");
      $spice_prim("+ ad='3.5u*0.84u' m=1 pd='3.5u+1.68u' ps='3.5u+1.68u'");
      $spice_prim("+ as='3.5u*0.84u'");
      $spice_prim("M23 net26 net38 inh_gnd inh_NmosB N  l=0.7u w=3.5u");
      $spice_prim("+ ad='3.5u*0.84u' m=1 pd='3.5u+1.68u' ps='3.5u+1.68u'");
      $spice_prim("+ as='3.5u*0.84u'");
      $spice_prim("M22 net50 net62 net26 inh_NmosB N  l=0.7u w=3.5u");
      $spice_prim("+ ad='3.5u*0.84u' m=1 pd='3.5u+1.68u' ps='3.5u+1.68u'");
      $spice_prim("+ as='3.5u*0.84u'");
      $spice_prim("M46 net71 net72 net50 inh_NmosB N  l=0.28u w=3.5u");
      $spice_prim("+ ad='3.5u*0.84u' m=1 pd='3.5u+1.68u' ps='3.5u+1.68u'");
      $spice_prim("+ as='3.5u*0.84u'");
      $spice_prim("M17 up1 net62 net35 inh_NmosB N  w=3.5u l=0.7u");
      $spice_prim("+ ad='3.5u*0.84u' m=1 pd='3.5u+1.68u' ps='3.5u+1.68u'");
      $spice_prim("+ as='3.5u*0.84u'");
      $spice_prim("M16 net56 net62 net32 inh_NmosB N  w=3.5u l=0.7u");
      $spice_prim("+ ad='3.5u*0.84u' m=1 pd='3.5u+1.68u' ps='3.5u+1.68u'");
      $spice_prim("+ as='3.5u*0.84u'");
      $spice_prim("M15 net53 net62 net29 inh_NmosB N  l=0.7u w=3.5u");
      $spice_prim("+ ad='3.5u*0.84u' m=1 pd='3.5u+1.68u' ps='3.5u+1.68u'");
      $spice_prim("+ as='3.5u*0.84u'");
      $spice_prim("M14 net29 net38 inh_gnd inh_NmosB N  l=0.7u w=3.5u");
      $spice_prim("+ ad='3.5u*0.84u' m=1 pd='3.5u+1.68u' ps='3.5u+1.68u'");
      $spice_prim("+ as='3.5u*0.84u'");
      $spice_prim("M13 net32 net38 inh_gnd inh_NmosB N  l=0.7u w=3.5u");
      $spice_prim("+ ad='3.5u*0.84u' m=1 pd='3.5u+1.68u' ps='3.5u+1.68u'");
      $spice_prim("+ as='3.5u*0.84u'");
      $spice_prim("M12 net35 net38 inh_gnd inh_NmosB N  l=0.7u w=3.5u");
      $spice_prim("+ ad='3.5u*0.84u' m=1 pd='3.5u+1.68u' ps='3.5u+1.68u'");
      $spice_prim("+ as='3.5u*0.84u'");
      $spice_prim("M11 net44 net44 inh_gnd inh_NmosB N  w=1.4u l=1.4u");
      $spice_prim("+ ad='1.4u*0.84u' m=1 pd='1.4u+1.68u' ps='1.4u+1.68u'");
      $spice_prim("+ as='1.4u*0.84u'");
      $spice_prim("M10 net41 net44 inh_gnd inh_NmosB N  w=1.68u l=1.4u");
      $spice_prim("+ ad='1.68u*0.84u' m=1 pd='1.68u+1.68u' ps='1.68u");
      $spice_prim("++1.68u' as='1.68u*0.84u'");
      $spice_prim("M9 net62 net62 net41 inh_NmosB N  w=3.5u l=0.7u");
      $spice_prim("+ ad='3.5u*0.84u' m=1 pd='3.5u+1.68u' ps='3.5u+1.68u'");
      $spice_prim("+ as='3.5u*0.84u'");
      $spice_prim("M8 net38 net38 inh_gnd inh_NmosB N  w=3.5u l=0.7u");
      $spice_prim("+ ad='3.5u*0.84u' m=1 pd='3.5u+1.68u' ps='3.5u+1.68u'");
      $spice_prim("+ as='3.5u*0.84u'");
      $spice_prim("M33 x net89 net89 x P  w=3.5u l=0.7u m=16");
      $spice_prim("M32 x out net69 x P  m=16 w=3.5u l=0.7u");
      $spice_prim("R1  net76 net10  50k ");
      $spice_prim("R2  inh_gnd net76  50k ");
   end
//end Spice primitive instantiations


endmodule // chpump 

