Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

STILEvalEngine Class Reference

Engine for Pattern evaluation. More...

#include <stilevalengine.h>

List of all members.

Public Types

enum  STIL_CLKTYPE {
  NOT_A_CLOCK = 0,
  POSITIVE_CLK = 1,
  NEGATIVE_CLK = 2,
  SCAN_CLOCK = 4,
  GENERIC_CLK = 8
}
enum  STIL_SCANTYPE {
  NOT_A_SCAN = 0,
  SCAN_IN = 1,
  SCAN_OUT = 2
}

Public Member Functions

 STILEvalEngine ()
 STILEvalEngine (const STILEvalEngine &)
 STILEvalEngine (STIL *)
 ~STILEvalEngine ()
STILEvalEngineoperator= (const STILEvalEngine &)
void init (STIL *)
void loadTiming (const sstring &)
void loadWaveformTable (const sstring &)
void loadCategory (const sstring &)
void loadSelector (const sstring &)
void loadSignalGroups (const sstring &sgs_name)
void loadMacroDefs (const sstring &)
void loadProcedures (const sstring &)
void loadScanStructures (const sstring &)
void loadTermination (const STILSigRefExpr &sre, STILTermination)
const STILSignalListevalSigRefExpr (const STILSigRefExpr &)
const STILVectorEventListevalWFCS (const STILWFCS &, const STILSignalList &, bool no_audits=false)
sstringresolveWFCS (const STILWFCS &, const STILSignalList &)
const STILVectorEventListevalResolvedWFCS (sstring &, const STILSignalList &)
const STILProcedurecallProcedure (const STILCall &)
const STILConditionreturnProcedure ()
const STILMacroDefcallMacroDef (const STILMacro &)
void returnMacroDef ()
BOOLEAN isClock (LONG idx)
BOOLEAN isScanClock (LONG idx)
BOOLEAN getClockActiveState (LONG idx)
BOOLEAN hasPulse (LONG idx)
BOOLEAN isScanIn (LONG idx)
BOOLEAN isScanOut (LONG idx)
LONG getScanLength (LONG idx)
const STILTiminggetLoadedTiming () const
void findClocks ()
void findScanClocks ()
void setValidateOnlyMode (bool valOnly)
bool getValidateOnlyMode ()

Friends

class STILSigRefExpr


Detailed Description

Engine for Pattern evaluation.


Member Enumeration Documentation

enum STILEvalEngine::STIL_CLKTYPE
 

Enumeration values:
NOT_A_CLOCK  not a clock at all
POSITIVE_CLK  clk is positive
NEGATIVE_CLK  clk is negative
SCAN_CLOCK  scan clock (U/D during shift block)
GENERIC_CLK  plain old clock

enum STILEvalEngine::STIL_SCANTYPE
 

Enumeration values:
NOT_A_SCAN  not a scan pin at all
SCAN_IN  scan in pin
SCAN_OUT  scan out pin


Constructor & Destructor Documentation

STILEvalEngine::STILEvalEngine  ) 
 

Default Constructor.

Parameters:
 
Returns:

STILEvalEngine::STILEvalEngine const STILEvalEngine env  ) 
 

Copy Constructor.

Parameters:
env Evaluation Engine to construct from
Returns:

STILEvalEngine::STILEvalEngine STIL p_s  ) 
 

Construct given a STIL pointer.

Parameters:
p_s Pointer to STIL object requiring evaluations
Returns:

STILEvalEngine::~STILEvalEngine  ) 
 

Destructor.

Parameters:
 
Returns:


Member Function Documentation

const STILMacroDef * STILEvalEngine::callMacroDef const STILMacro macro  ) 
 

Locate the MacroDef being called and setup for processing it.

Parameters:
macro STIL Macro block with parms
Returns:
const STILMacro * - pointer to list of STILMacro being called

const STILProcedure * STILEvalEngine::callProcedure const STILCall call  ) 
 

Locate the Procedure being called and setup for processing it.

Parameters:
call STIL Call block with parms
Returns:
(const STILProcedure *) Pointer to STILProcedure being called

const STILVectorEventList * STILEvalEngine::evalResolvedWFCS sstring ,
const STILSignalList
 

const STILSignalList * STILEvalEngine::evalSigRefExpr const STILSigRefExpr sre  ) 
 

Evaluate a signal reference expression.

Parameters:
sre STILSigRefExpr & to evaluate
Returns:
(const STILSignalList *) Pointer to eval'd list of STILSignal objects

const STILVectorEventList * STILEvalEngine::evalWFCS const STILWFCS wfcs_obj,
const STILSignalList siglist,
bool  no_audits = false
 

Evaluate a waveform character.

Parameters:
wfcs_obj The WFCS to evaluate
siglist The siglist to match against the wfcs object
no_audits Whether or not to perform some auditing functions (may affect performance/output log size)
Returns:
(const STILVectorEventList *) Pointer to evaluated list of STILVectorEvents

void STILEvalEngine::findClocks  ) 
 

Determine which Signals (by Signal ID) are clocks.

Parameters:
 
Returns:
void

void STILEvalEngine::findScanClocks  ) 
 

Determine which Signals (by Signal ID) are scan clocks.

Parameters:
 
Returns:
void

BOOLEAN STILEvalEngine::getClockActiveState LONG  idx  )  [inline]
 

Parameters:
 
Returns:

const STILTiming * STILEvalEngine::getLoadedTiming  )  const [inline]
 

Parameters:
 
Returns:

LONG STILEvalEngine::getScanLength LONG  idx  )  [inline]
 

Parameters:
 
Returns:

bool STILEvalEngine::getValidateOnlyMode  )  [inline]
 

Return whether or not validate-only mode is being used.

Parameters:
 
Returns:
bool
See notes in setValidateOnlyMode

BOOLEAN STILEvalEngine::hasPulse LONG  idx  ) 
 

Whether or not a clock pulse state exists on a particular signal index (held over from a previous vector).

Parameters:
idx The ID of the Signal
Returns:
BOOLEAN - TRUE is pulse exists on that signal

void STILEvalEngine::init STIL pSTILobj  ) 
 

Initialize the Evaluation Engine given a STIL object.

Parameters:
pSTILobj Pointer to STIL object requiring evaluations
Returns:
void

BOOLEAN STILEvalEngine::isClock LONG  idx  )  [inline]
 

Get result of findClocks (to determined if pin is a clock pin).

Parameters:
idx Signal idx to check
Returns:
BOOLEAN - TRUE if clock pin, else FALSE

BOOLEAN STILEvalEngine::isScanClock LONG  idx  )  [inline]
 

Get result of findScanClocks (to determined if pin is a clock pin during scan).

Parameters:
idx Signal idx to check
Returns:
BOOLEAN - TRUE if scan clock pin, else FALSE

BOOLEAN STILEvalEngine::isScanIn LONG  idx  )  [inline]
 

Parameters:
 
Returns:

BOOLEAN STILEvalEngine::isScanOut LONG  idx  )  [inline]
 

Parameters:
 
Returns:

void STILEvalEngine::loadCategory const sstring  ) 
 

Load individual Category entries from a Category block.

Parameters:
XXX Name of Category block to load
Returns:
void

void STILEvalEngine::loadMacroDefs const sstring mac_name  ) 
 

Load individual MacroDefs entries from a MacroDefs block.

Parameters:
mac_name Name of MacroDefs block to load
Returns:
void

void STILEvalEngine::loadProcedures const sstring pro_name  ) 
 

Load individual Procedures entries from a Procedures block.

Parameters:
pro_name Name of Procedures block to load
Returns:
void

void STILEvalEngine::loadScanStructures const sstring  ) 
 

Load individual ScanStructures entries from a ScanStructures block.

Parameters:
XXX Name of ScanStructures block to load
Returns:
void

void STILEvalEngine::loadSelector const sstring  ) 
 

Load individual Selector entries from a Selector block.

Parameters:
XXX Name of Selector block to load
Returns:
void

void STILEvalEngine::loadSignalGroups const sstring sgs_name  ) 
 

Load individual SignalGroup entries from a SignalGroups block.

Parameters:
sgs_name Name of SignalGroups block to load
Returns:
void

void STILEvalEngine::loadTermination const STILSigRefExpr sre,
STILTermination 
 

Load individual Termination entries from a Termination block.

Parameters:
XXX Name of Termination block to load
Returns:
void

void STILEvalEngine::loadTiming const sstring tim_name  ) 
 

Load a Timing entity.

Parameters:
tim_name Name of Timing block to load
Returns:
void

void STILEvalEngine::loadWaveformTable const sstring wft_name  ) 
 

Load the current WaveformTable entity.

Parameters:
wft_name Name of WaveformTable block to load
Returns:
void

STILEvalEngine & STILEvalEngine::operator= const STILEvalEngine ee  ) 
 

Assignment Operator.

Parameters:
ee const STILEvalEngine &
Returns:

sstring & STILEvalEngine::resolveWFCS const STILWFCS ,
const STILSignalList
 

void STILEvalEngine::returnMacroDef  ) 
 

Return from a macro related to most recent "callMacroDef".

Parameters:
none 
Returns:
void - unlike a procedure, the state set in the macro data carries over into the active pattern block

const STILCondition * STILEvalEngine::returnProcedure  ) 
 

Return from a procedure related to most recent "callProcedure".

Parameters:
 
Returns:
A STILCondition statement, that restores the pin states to the state that they were in before the procedure was called. (a procedure call does not carry over any pin data from the call, unlike a macro which retains pin data after the return)

void STILEvalEngine::setValidateOnlyMode bool  valOnly  )  [inline]
 

Set whether to use a 'validate-only' mode when processing parameterized (macro/proc) data.

Parameters:
valOnly true if validate-only mode used, false if full processing
Returns:
void
If validate-only mode is used, scan data is 'flattened' into the scan matrix so that the matrix only contains UNIQUE values, and not all of the scan parameter values. Any pre/post shift parameters are preserved and not flattened. Default is false. For example, if a procedures scan data consisted of "000011101010000111...." The resultant matrix would contain only unique value '0' & '1'.


Friends And Related Function Documentation

friend class STILSigRefExpr [friend]
 


The documentation for this class was generated from the following files:
This page last updated on 6 Jul 2007

SourceForge.net Logo