APB : How does Single Master and Multiple Slaves Work in APB?

I am currently working on the development of an APB (Advanced Peripheral Bus) VIP with a Single Master and Multiple Slaves. I have a query regarding how the interconnect determines which slave to select when the master communicates with a specific slave. Specifically:

  1. Slave Selection Mechanism:

    • Does the master use the PSEL signal (e.g., PSEL[1:0] for 4 slaves) to directly indicate which slave to communicate with?
    • Or is it based on address mapping, where specific address ranges (e.g., 0-1023 bytes for Slave 1, 1024-2047 bytes for Slave 2) are predefined, and the master sets PSEL as a single bit while the interconnect maps the address to the appropriate slave?
  2. Interconnect and Slave Behavior:

    How does the interconnect handle decoding and routing to the appropriate slave?

    Additionally, how should the slave behave in such a system, particularly with respect to decoding and responding to transactions?

Could you provide a detailed explanation of the overall flow of communication in such a Single Master to Multiple Slaves APB system?


Also,does APB have any boundary limitations, similar to the 4KB boundary size constraint in AXI?