C Intel Xscale® Core Memory Bus Functional Model; Summary Of Apis - Intel IXP2400 User Manual

Network processors
Table of Contents

Advertisement

Intel XScale
Functional Model
This document describes two Application Program Interfaces (API): one is embedded in the
IXP2800/IXP2400 transactor, and the other provided by a Bus Function Model (BFM) which
simulates the Intel XScale
Interface (FMI).
The CMB BFM is invoked by the IXP2800/IXP2400 transactor through transactor command, and
synchronized with the same event control logic over the transactor. This feature enables the C-
model simulation environment to run Intel XScale
the IXP2800/IXP2400 transactor and CMB BFM.
The CMB BFM provides calls for reading and writing Transactor memory and callbacks for
Transactor to Intel XScale
application, however the Intel XScale
BFM, no Intel XScale
XScale
Transactor's Intel XScale
memory using CMB BFM calls. This is very different than the real environment where all Intel
XScale
reference, and no CBM BFM API calls would be necessary for accessing data on the Transactor,
because the Transactor memory would be directly accessible to the Intel XScale
resides on the CMB).
C.1

Summary of APIs

There are two sets of APIs that were programmed to access Intel XScale
one is referred to as XACT_IO and the other is CMB_IO.
The XACT_IO API is a set of C functions that could be linked to emulate the Intel XScale
transactions through a non-simulation event, i.e. the API provides means to query/change
transactor state directly, without any simulation cycles. In contrast, the CMB_IO API provides a
way of simulating the Intel XScale
trigger the Intel XScale
operation. The XACT_IO is embedded in each release of IXP2800 Transactor. To access the
XACT_IO API, the user must link with a C header file, XT_WB_xactio_api.h, which includes the
definition of XACT_IO API and this header file is part of transactor release.
The CMB_IO API is supported by the CMB BFM, cmb_bfm_ixp2800.dll /
cmb_bfm_ixp2400.dll. The BFM is implemented as a Win32 DLL that supports the FMI that is
defined in the IXP2800/IXP2400 transactor. To access the CMB_IO API, the program needs to be
linked with the header files, cmb_api.h and cmb_api_ex.h.
Development Tools User's Guide
®
Core Memory Bus
Core Memory Bus (CMB) through the transactor Foreign Model
interrupt notifications. A user can develop an Intel XScale
instruction fetches occur on the Transactor. The only throttling of Intel
execution is the number of outstanding memory operations that can be supported by the
Gasket, and the user must make all memory references to Transactor
instruction or data cache misses would generate a Transactor (CBM BFM) memory
transaction(s) through IXP2800/IXP2400 gasket such as load or store
native code through C/C++ API's provided by
execution will not be timing accurate. Using the CBM
transaction by depositing the CMB with proper signals to
C
C/C++
processor (i.e. it
-related transactor states:
295

Advertisement

Table of Contents
loading

This manual is also suitable for:

Ixp2800

Table of Contents