NEURON { POINT_PROCESS syn_ampa_std RANGE tau_o, tau_c, erev, i RANGE c1, c2, alpha NONSPECIFIC_CURRENT i } UNITS { (nA) = (nanoamp) (uA) = (microamp) (mA) = (milliamp) (A) = (amp) (mV) = (millivolt) (mS) = (millisiemens) (uS) = (microsiemens) (molar) = (1/liter) (kHz) = (kilohertz) (mM) = (millimolar) (um) = (micrometer) (S) = (siemens) } PARAMETER { tau_o = 0.2 (ms) tau_c = 3.0 (ms) erev = 0.0 (mV) syn_step = 1.25 alpha = 0.6 } ASSIGNED { v (mV) i (nA) } STATE { o c } INITIAL { o = 0 c = 0 } BREAKPOINT { SOLVE states METHOD cnexp i = (c - o) * (v-erev) } NET_RECEIVE(weight (uS), w, count) { w=weight*pow(alpha,count) o = o + w*syn_step c = c + w*syn_step count=count+1 } DERIVATIVE states { o' = -o/tau_o c' = -c/tau_c } UNITSOFF UNITSON