module V_deadband_amp(inp,inm,out); input inp,inm; output out; voltage inp,inm,out; parameter real vin_low = -1m, vin_high = 1m from (vin_low:inf), vout_dead = 0, gain_left = 1, gain_right = 1; real vout,vin; analog begin vin = V(inp,inm); @(cross(vin-vin_high)) discontinuity(1); @(cross(vin-vin_low)) discontinuity(1); if (vin >= vin_high) vout = gain_right*(vin-vin_high) + vout_dead; else if (vin <= vin_low) vout = gain_left*(vin-vin_high) + vout_dead; else vout = vout_dead; V(out) <+ vout; end endmodule