0
\$\begingroup\$

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?

\$\endgroup\$
1
\$\begingroup\$

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.

\$\endgroup\$
  • \$\begingroup\$ Yes, I know that. What I ask is: if each slave has its own unique address space then what is the slave select signal for? Can't they just decode the address and see if they are being selected? Or do the slaves' address spaces overlap and the slave select is the only signal allowing them to tell the difference? \$\endgroup\$ – ocmob Jul 13 '17 at 6:34
  • \$\begingroup\$ The address P ADDR can be up to 32 bits wide so P SEL is used to avoid constantly monitoring all 32 bits for the proper slave address \$\endgroup\$ – nvuono Jun 4 at 17:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.