APB : Different version of Master and Slave in APB?

I am currently working on the development of an APB (Advanced Peripheral Bus) VIP and have a query regarding compatibility between different versions of APB. Specifically:

Is it possible to configure a system where the Master side operates with APB3, while the Slave side uses APB4 or APB5?

In other words, can the Master be of a lower version compared to the Slave?

I would appreciate insights into the feasibility and any potential considerations for such a configuration.

Parents
  • Simple answer, usually no. If the target APB device uses a later APB protocol than the transfer initiator, the target will have additional inputs the initiator cannot drive.

    If you had asked about connecting APB3 (or later) targets to an APB2 initiator the answer would have been a definite no as the initiator would not be aware of any wait states or errors the APB3 targets might signal.

    But for the APB3 initiator connected to APB4 or APB5 targets I think most additional signals originate from the initiator, so could have static tie-off values (some are suggested in table B-1). The only APB4/5 only signals originating from the APB targets are the PRUSER and PBUSER signals, so if your targets actively use USER ports, you cannot connect them to anything but an APB5 initiator.

Reply
  • Simple answer, usually no. If the target APB device uses a later APB protocol than the transfer initiator, the target will have additional inputs the initiator cannot drive.

    If you had asked about connecting APB3 (or later) targets to an APB2 initiator the answer would have been a definite no as the initiator would not be aware of any wait states or errors the APB3 targets might signal.

    But for the APB3 initiator connected to APB4 or APB5 targets I think most additional signals originate from the initiator, so could have static tie-off values (some are suggested in table B-1). The only APB4/5 only signals originating from the APB targets are the PRUSER and PBUSER signals, so if your targets actively use USER ports, you cannot connect them to anything but an APB5 initiator.

Children
No data