Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

oagFpga::SimMod Class Reference

An object for simulating input vectors on hierarchical designs. More...

#include <oagFpgaSimMod.h>

List of all members.

Public Types

typedef unsigned int SimVec

Public Member Functions

 SimMod (oa::oaDesign *design)
 Constructor.
void setVector (const AiModRef &ref, SimVec vec)
void generateRandomInputVectors ()
 Generates a set of random vectors at all inputs.
void generateRandomStateVectors ()
 Generates a set of random vectors at all state bits.
void clear ()
 Clears all previously set and computed vectors.
void nextCycle ()
 Advances all of the state bits to the next state value.
void runFull ()
 Propagates simulation vectors through all combinational logic.
void initializeIncremental ()
void runIncremental ()
 Propagates the simulation vectors from any node that has been updated.
void runOne (const AiModRef &ref)
 Compute the simulation vector at one node and store the result.
void getVector (const AiModRef &ref, SimVec &vec)

Static Public Attributes

const int SIM_USER_DATA_INDEX = 0

Protected Member Functions

SimVec randomVector ()
 a random vector

Protected Attributes

int BITS_PER_RAND
oa::oaDesign * design
list< AiModReftoBeSimulated


Detailed Description

An object for simulating input vectors on hierarchical designs.

Definition at line 22 of file oagFpgaSimMod.h.


Member Typedef Documentation

typedef unsigned int oagFpga::SimMod::SimVec
 

Definition at line 28 of file oagFpgaSimMod.h.

Referenced by randomVector(), and runOne().


Constructor & Destructor Documentation

oagFpga::SimMod::SimMod oa::oaDesign *  design  ) 
 

Constructor.

Simulating modules requires that the index SIM_USER_DATA_INDEX is allocated and available to be modified on oagAi::Nodes.

Parameters:
design 

Definition at line 22 of file oagFpgaSimMod.cpp.

References BITS_PER_RAND, and clear().


Member Function Documentation

void oagFpga::SimMod::clear  ) 
 

Clears all previously set and computed vectors.

Definition at line 44 of file oagFpgaSimMod.cpp.

References toBeSimulated.

Referenced by SimMod().

void oagFpga::SimMod::generateRandomInputVectors  ) 
 

Generates a set of random vectors at all inputs.

Definition at line 79 of file oagFpgaSimMod.cpp.

References design, randomVector(), and setVector().

void oagFpga::SimMod::generateRandomStateVectors  ) 
 

Generates a set of random vectors at all state bits.

Definition at line 63 of file oagFpgaSimMod.cpp.

References design, randomVector(), and setVector().

void oagFpga::SimMod::getVector const AiModRef ref,
SimVec vec
[inline]
 

Definition at line 52 of file oagFpgaSimMod.h.

void oagFpga::SimMod::initializeIncremental  ) 
 

void oagFpga::SimMod::nextCycle  ) 
 

Advances all of the state bits to the next state value.

Definition at line 219 of file oagFpgaSimMod.cpp.

References design, SIM_USER_DATA_INDEX, and toBeSimulated.

SimMod::SimVec oagFpga::SimMod::randomVector  )  [protected]
 

a random vector

Definition at line 97 of file oagFpgaSimMod.cpp.

References SimVec.

Referenced by generateRandomInputVectors(), and generateRandomStateVectors().

void oagFpga::SimMod::runFull  ) 
 

Propagates simulation vectors through all combinational logic.

Definition at line 200 of file oagFpgaSimMod.cpp.

References design, runIncremental(), and toBeSimulated.

void oagFpga::SimMod::runIncremental  ) 
 

Propagates the simulation vectors from any node that has been updated.

Nodes are marked updated after a call to setVector() or after nextCycle().

Definition at line 252 of file oagFpgaSimMod.cpp.

References runOne(), and toBeSimulated.

Referenced by runFull().

void oagFpga::SimMod::runOne const AiModRef ref  ) 
 

Compute the simulation vector at one node and store the result.

The reference should be non-inverted.

Parameters:
ref 

Definition at line 121 of file oagFpgaSimMod.cpp.

References DEBUG_PRINT, DEBUG_PRINTMORE, SIM_USER_DATA_INDEX, and SimVec.

Referenced by runIncremental().

void oagFpga::SimMod::setVector const AiModRef ref,
SimVec  vec
[inline]
 

Definition at line 32 of file oagFpgaSimMod.h.

Referenced by generateRandomInputVectors(), and generateRandomStateVectors().


Member Data Documentation

int oagFpga::SimMod::BITS_PER_RAND [protected]
 

Definition at line 59 of file oagFpgaSimMod.h.

Referenced by SimMod().

oa::oaDesign* oagFpga::SimMod::design [protected]
 

Definition at line 61 of file oagFpgaSimMod.h.

Referenced by generateRandomInputVectors(), generateRandomStateVectors(), nextCycle(), and runFull().

const int oagFpga::SimMod::SIM_USER_DATA_INDEX = 0 [static]
 

Definition at line 30 of file oagFpgaSimMod.h.

Referenced by nextCycle(), and runOne().

list<AiModRef> oagFpga::SimMod::toBeSimulated [protected]
 

Definition at line 62 of file oagFpgaSimMod.h.

Referenced by clear(), nextCycle(), runFull(), and runIncremental().


The documentation for this class was generated from the following files:
Generated on Mon Jul 9 14:17:23 2007 for OA Gear Fpga by  doxygen 1.3.9.1