Tutorials

Protocols

Learn More

AHB5 includes optional user signals for carrying system-defined sideband metadata with request, write-data, read-data, and response phases. These signals are not needed for every small design, but they matter in configurable IP and fabrics that need to preserve extra transaction information.

User signals

The specification generally recommends not using User signals unless there is a clear system contract, because the protocol does not define their meaning. Two components can use the same User bits incompatibly unless the SoC integration rules define them.

SignalSourceWidth propertyRecommended widthPurpose
HAUSERManagerUSER_REQ_WIDTH0 to 128 bitsUser-defined request attribute.
HWUSERManagerUSER_DATA_WIDTH0 to DATA_WIDTH/2User-defined write-data attribute.
HRUSERSubordinateUSER_DATA_WIDTH0 to DATA_WIDTH/2User-defined read-data attribute.
HBUSERSubordinateUSER_RESP_WIDTH0 to 16 bitsUser-defined response attribute for reads and writes.

These signals have the same timing and validity requirements as their associated channel.

For data-channel User signals, the spec recommends byte-related packing. If each data byte has m User bits and the data bus has n bytes, then total User width is u = m * n. The User bits for byte y are:

HWUSER[((y * m) + (m - 1)) : (y * m)]
HRUSER[((y * m) + (m - 1)) : (y * m)]

User signal interconnect rules

Interconnect behaviorUser signal recommendation
Transfer is not modifiedTransport associated User signals unchanged.
One transfer converted to multiple transfersReplicate HAUSER into each generated transfer. Use the relevant byte-associated HWUSER or HRUSER bits for each generated data transfer.
Multiple transfers converted to one transferUse the first transfer’s HAUSER. Combine data User bits for the generated HWUSER or HRUSER.
Bridge drops or changes User bitsDocument the behavior as part of the system contract.

User signal stability follows the associated phase. For example, HAUSER must not change while HREADY is LOW unless the response is ERROR. HWUSER follows write data timing. HRUSER and HBUSER are valid on completing OKAY read/write data phases.

User signaling checklist

CheckReason
Width-zero user signals are absentAvoids dangling unused logic.
User signal meaning is defined by the SoC contractThe protocol carries the bits but does not define their semantics.
User signals follow phase validity rulesPrevents stale metadata.
Interconnect transformations preserve or document User behaviorWidth conversion and transfer splitting can otherwise corrupt metadata.
User signal configurations are included in compatibility testsConfigurable IP often fails at optional-feature boundaries.