proc ICON_pmos args {
  icon_setup $args {{origin {0 0}} {orient R0} {name M} {m 1} {w 1.0u} {l 0.13u} {geo 0}}
icon_term -type inout -origin {0 40} -name d
icon_term -type inout -origin {0 -40} -name s
icon_term -type inout -origin {-60 0} -name g
  icon_line -60 0 -50 0
  icon_arc -50 -10 -30 10 -start 0 -extent 359
  icon_line -30 -20 -30 20
  icon_line 0 40 0 20 -20 20 -20 -20 0 -20 0 -40
  icon_property -origin {-90 90} -type user -name name -default M
  icon_property -origin {-90 110} -type user -name m -default 1
  icon_property -origin {-90 130} -type user -name w -default 1.0u
  icon_property -origin {-90 150} -type user -name l -default 0.13u
  icon_property -origin {-160 200} -type fixed -name spice -text {$name $d $g $s vdd cmosp w='$w' l='$l' m='$m' geo='$geo'}
icon_property -origin {0 -10} -label {w=$w}
icon_property -origin {0 10} -label {l=$l}
icon_property -origin {-20 -30} -anchor e -label {$name}
  icon_property -origin {-90 170} -type user -name geo -default 0
icon_property -origin {-10 30} -anchor e -label {geo=$geo}
  icon_property -origin {10 30} -text {[if {$m != 1} {set x "m=$m"}]}
}

