module V_cont_limited_amp(in,out); input in; output out; voltage in,out; parameter real vin_offset = 0, // input dc offset gain = 1, // amplifier gain vout_max = 10, // max. output voltage vout_min = -10 from (-inf:vout_max); // min. output voltage real vin,K,vout_offset; analog begin @(initial_step) begin K = (vout_max-vout_min)/2; vout_offset = K + vout_min; end vin = gain * (V(in)-vin_offset); V(out) <+ K*tanh(vin) + vout_offset; end endmodule