The part of SpecMan4EPR responsible for the pulse generation is called Pulse Engine. Pulse Engine serves as a bridge between virtual (Pulse Programming Language and Virtual Machine) and hardware related parts of the program.

The interaction between Pulse Engine and Pulse Programming Language is presented in the diagram below. Pulse Commands define Pulse Programming Language statements. The output of Virtual Machine upon execution of the PPL Assembler code serves as an input for Pulse Engine.

Output of Pulse Engine is a time sequence of Events produced from pulse statements for each Hardware Channel. The time-ordered sequence of these events is then supplied to appropriate Hardware Channels.

An additional level of event customization is incorporated into Virtual Channels which are grouped into Patterns. Virtual Channel represents a single output of a pulse programmator or AWG. Each Pulse Command have multiple Patterns and thus multiple individually customized Virtual Channel.

In addition to event generation Virtual Channels verify pulse sequences for their duty cycles, maximum pulse duration and other hardware protection features built into SpecMan4EPR.

The definitions of Pulse Engine are stored in the Pulse Configuration, which can be created and edited by Pulse Setup Wizard.

See also:

PPL and Pulse Engine