A simple two-phase peripheral bus
APB is the low-power, low-bandwidth member of AMBA — built for register and peripheral access. Every transfer is just two phases: a one-cycle SETUP, then an ACCESS phase the completer can stretch with wait states. No bursts, no pipelining. Open Transfer to step a read and a write through.
Step a transfer, watch the state
Step through a transfer with ◀ ▶. The waveform and the state machine move together — or click any state node to jump there. Start with Write (it has a wait state), then try a back-to-back pair and an error.
IDLE · SETUP · ACCESS
Three states, driven entirely by PSEL and PENABLE. From ACCESS, the completer's PREADY decides the exit: stay (wait state), loop to a new SETUP (back-to-back), or return to IDLE. Click a state to inspect it.
Signals & state table
REQ→CMP = driven by the requester (bridge), CMP→REQ = driven by the completer (peripheral).