2.1. 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:

Component classes

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.

Interface classes

The interface classes manage communication between components.

Clock classes

The clock classes manage connection to the simulation clocks.

Port classes

These classes inherit from other basic classes and simplify creating commonly used objects.

Support classes

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.

Note

See the CASITypes.h file for definitions of enumerations and data structures that are used with the CASI interface.

Copyright © 2007 ARM Limited. All rights reserved.ARM DUI 0359B
Non-Confidential