Table of Contents

"pulse" Pulsed time dependent value

Syntax

pulse args
pulse iv pv delay rise fall width period

Purpose

The component value is a pulsed function of time.

Comments

For voltage and current sources, this is the same as the Spice “pulse” function, with some extensions.

The shape of a single pulse is described by the following algorithm:

if (time > _delay+_rise+_width+_fall){
  // past pulse
  ev = _iv;
}else if (time > _delay+_rise+_width){
  // falling
  interp=(time-(_delay+_rise+_width))/_fall;
  ev = _pv + interp * (_iv - _pv);
}else if (time > _delay+_rise){
  // pulsed value
  ev = _pv;
}else if (time > _delay){
  // rising
  interp = (time - _delay) / _rise;
  ev = _iv + interp * (_pv - _iv);
}else{
  // initial value
  ev = _iv;
}

For other components, it gives a time dependent value.

As an extension beyond Spice, you may specify the parameters as name=value pairs in any order.

Parameters

iv Initial value. (required)
pv Pulsed value. (required)
delay Rise time delay, seconds. (Default = 0.)
rise Rise time, seconds. (Default = 0.)
fall Fall time, seconds. (Default = 0.)
width Pulse width, seconds. (Default = 0.)
period Repeat period, seconds. (Default = infinity.)

Step control

The corners in a pulse waveform are considered to be analog events. The transient analysis will attempt to control timing accuracy of these analog events. If it is reasonable, a time step should be scheduled at these times exactly. In any case, there should be a time step within option::dtmin of these times.