Cycle-Driven Simulation Semantics

The cycle-driven simulation mechanism executes simulators in-process, in a thread within the same process space as SansGUI. The control flow of a cycle-driven simulator follows a sequence to call class functions described in this section. Only the class functions that belong to reference objects and parts can be executed. Component objects, even though they may have functions defined, are not called during a cycle simulation.

Cycle Simulation Sequence

There are two possibilities in the cycle simulation calling sequence: 1) looping through all reference objects and then all parts and 2) looping through all parts and then all reference objects. Depending on the DLL Function Entry Points, one of the two possibilities is used:

The data editing functions (SG_xEndEdit, SG_xLoadSize, and SG_xLoad) are not listed here because they are called per user's demand and are not called during the simulation run.

The pre-evaluation, evaluation, and post-evaluation are three subcycles within one cycle. That is, for each cycle in the simulation control object, a pre-evaluation cycle is followed by an evaluation cycle and then by a post-evaluation cycle.

Calling Sequence in Cycles

Within each cycle, some rules are applied to the set of reference objects and the parts in the entire assembly hierarchy:

Reference Objects


Parts in the assembly hierarchy are called in a depth-first manner. If a part contains a subassembly, the functions of the parts in the subassembly will be called first. The options for evaluating the parts in the same assembly (in the same level) are:


C:\FH_Suite\htmlgifs\home.gif External Process Simulation Control SansGUI Model File Format

SansGUI Modeling and Simulation Environment Version 1.2

Copyright 2000-2003 ProtoDesign, Inc. All rights reserved.