| |||
| Home > The Cycle Accurate Simulation Interface > Class overview |
The Cycle Accurate Simulation Interface (CASI) defines how components are called by the scheduler and how they communicate with each other. Essentially CASI provides a communication library for SystemC that provides clock, transaction, and signal classes to enable transaction-level communication and cycle-based simulation modeling.
CASI provides the following types of class:
The CASIModule class is the base
class for any component. It provides the functionality for instantiating
and configuring the model and sub-components. It also provides the
API required for connecting other components. Unlike the interface
classes, CASIModule is derived from CASIModuleIF.
The interface classes manage communication between components.
The clock classes manage connection to the simulation clocks.
These classes inherit from other basic classes and simplify creating commonly used objects.
These classes provide functionality for creating, saving,
and restoring components. These classes are typically used by the
simulator to enable additional functionality during simulation. The CASIMMI class,
for example, enables describing and configuring the memory maps
for a bus master.
See the CASITypes.h file for definitions
of enumerations and data structures that are used with the CASI
interface.