# SUE version MMI_SUE5.6.37

proc SCHEMATIC_NOR3XL {} {
  make global -orient RXY -name vdd -origin {590 160}
  make global -name gnd -origin {440 540}
  make output -name Y -origin {900 430}
  make input -name B -origin {380 500}
  make input -name A -origin {530 500}
  make input -name A -origin {530 380}
  make input -name B -origin {530 290}
  make global -name gnd -origin {590 540}
  make global -name gnd -origin {770 540}
  make input -name C -origin {710 500}
  make input -name C -origin {530 200}
  make nmos -W 0.64 -L 0.15u -origin {440 500}
  make nmos -W 0.64 -L 0.15u -origin {590 500}
  make nmos -W 0.64 -L 0.15u -origin {770 500}
  make pmos -W 1.65 -L 0.15u -origin {590 200}
  make pmos -W 1.65 -L 0.15u -origin {590 290}
  make pmos -W 1.65 -L 0.15u -origin {590 380}
  make_wire 590 330 590 340
  make_wire 440 430 440 460
  make_wire 590 420 590 430
  make_wire 590 430 590 460
  make_wire 440 430 590 430
  make_wire 590 240 590 250
  make_wire 770 430 770 460
  make_wire 770 430 900 430
  make_wire 770 430 590 430
}

proc ICON_NOR3XL args {
  icon_setup $args {{origin {0 0}} {orient R0} {name {}} {M {}} {dpc {}}}
  icon_term -type input -origin {-50 -20} -name A
  icon_term -type input -origin {-50 0} -name B
  icon_term -type output -origin {60 0} -name Y
  icon_term -type input -origin {-50 20} -name C
  icon_property -origin {0 130} -type user -name name
  icon_property -origin {0 150} -type user -name M
  icon_property -origin {0 170} -type user -name dpc
  icon_line -50 -40 -50 40 60 40 60 -40 -50 -40
  icon_property -origin {10 30} -size small -label NOR3XL
  icon_property -origin {-40 -20} -size small -label A
  icon_property -origin {-40 0} -size small -label B
  icon_property -origin {40 0} -size small -label Y
  icon_property -origin {-40 20} -size small -label C
}

