I am currently working on an APB BFM and I have a question regarding the bus protocol. I understand every slave on APB bus has its own unique address space, where its internal registers are mapped. Why do we need the slave select signal then? Is it to save energy? Or am I wrong and each slave has an internal address map and their internal register addresses can overlap?
PSEL is how the peripheral is selected for read or write operations. If PSEL is not asserted, the peripheral will ignore all bus activity. So it is a critical handshaking signal in order to implement the bus.