proc SCHEMATIC_accum_no_delay_and_sat {} {
make input -name in -origin {170 150}
make input -name clk -origin {180 360}
make output -name out -origin {620 150}
make gain -name xi0 -gain k -origin {260 150}
make add2 -name xi2 -origin {380 150}
make reg_double -orient RX -name xi1 -origin {500 290}
make sat_basic -name xi3 -psat psat -msat msat -origin {500 140}
  make_wire 170 150 220 150
  make_wire 310 150 350 150
  make_wire 600 150 620 150
  make_wire 560 280 600 280
  make_wire 440 280 380 280
  make_wire 560 310 600 310
  make_wire 600 360 180 360
  make_wire 600 310 600 360
  make_wire 440 150 410 150
  make_wire 560 150 600 150
  make_wire 380 180 380 280
  make_wire 600 150 600 280
}

proc ICON_accum_no_delay_and_sat args {
  icon_setup $args {{origin {0 0}} {orient R0} {name x} {k 1.0} {psat 1.0} {msat -1.0}}
icon_term -type input -origin {-100 0} -name in
icon_term -type input -origin {-100 40} -name clk
icon_term -type output -origin {100 0} -name out
icon_property -origin {-90 0} -label in
icon_property -origin {-90 40} -label clk
icon_property -origin {90 0} -anchor e -label out
icon_property -origin {-90 -50} -label {$name}
icon_property -origin {-90 -30} -label accum_no_delay_and_sat
  icon_line -100 -40 100 -40 100 60 -100 60 -100 -40
icon_property -origin {-90 70} -label {k=$k}
  icon_property -origin {-90 150} -type user -name name -default x
  icon_property -origin {-90 170} -type user -name k -default 1.0
  icon_line -100 30 -90 40 -100 50
icon_property -origin {0 0} -anchor center -label k
icon_property -origin {0 20} -anchor center -label 1-z^-1
  icon_line -20 10 20 10
  icon_property -origin {-90 190} -type user -name psat -default 1.0
  icon_property -origin {-90 210} -type user -name msat -default -1.0
icon_property -origin {-90 90} -label {psat=$psat (V)}
icon_property -origin {-90 110} -label {msat=$msat (V)}
}

