| |||
| Home > AMBA™ AHB TLM Specification for CASI > AHB control signals |
The control information and slave response information are encapsulated in the following data structures:
AHB signal structure
The CASIMMI structures (such as CASIMemoryMapConstraints)
for the master and connected slaves.
the AHBTransactionProperties structure
(see the CASITypes.h and AHB_Transaction_CASI.h files)
the ctrl array passed as a parameter
with the access functions.
The AHB signal structure (declared in the AHB_Transaction.h header
file) makes the AHB signals available to all bus participants independently
of their involvement in the currently active AHB transfer:
typedef struct TAHBSignals
{
uint32_t hclk; // not modeled, always 1
uint32_t hreset; // not modeled, always 1
uint32_t haddr; // can safely be read in update()
uint32_t htrans; // can safely be read in update()
uint32_t hwrite; // can safely be read in update()
uint32_t hsize; // can safely be read in update()
uint32_t hburst; // can safely be read in update()
uint32_t hprot; // can safely be read in update()
uint32_t hwdata[4]; // can safely be read in update()
uint32_t hrdata[4]; // can safely be read in update()
uint32_t hsel; // not modeled, always 0
uint32_t hready; // can safely be read in update()
uint32_t hresp; // not modeled, always 0
uint32_t hbusreq[AHB_MAX_MASTERS]; // can safely be read in update()
uint32_t hlock[AHB_MAX_MASTERS]; // can safely be read in update()
uint32_t hgrant; // can safely be read in communicate()
uint32_t hmaster; // can safely be read in communicate()
uint32_t hmastlock; // can safely be read in update()
uint16_t hsplit[AHB_MAX_MASTERS]; // not modeled, always 0
uint32_t hready_z1; // hready delayed by one, can safely be read
// in communicate(), maintained by AHB_casi
uint32_t hgrant_z1; // hgrant delayed by one, can safely be read
// in committed(), maintained by AHB_casi
} TAHBSignals;
The signals structure can be accessed by all masters and slaves
connected to the bus. Use the readReq() function
to pass a pointer to the data structure to bus masters and slaves.
During the reset simulation stage. the AHB_casi component
calls readReq() for all connected slaves and
makes the data structure available to the slaves. See the AMBA Specification
Rev 2.0 for details on the individual AHB signals.