Arbiter for the wishbone bus

P

Pooja

Hi everyone,

I have two "blocks" accessing the same wishbone bus, and hence I am
writing an arbiter which would allow access to only one of the masters
at a time. I do have a simple implementation of an arbiter, but what I
don't get is: which signals do I need in order to "enable" one of the
two masters on the wishbone bus.

Thanks in advance for any help.
 
M

Mark McDougall

Pooja said:
I have two "blocks" accessing the same wishbone bus, and hence I am
writing an arbiter which would allow access to only one of the masters
at a time. I do have a simple implementation of an arbiter, but what I
don't get is: which signals do I need in order to "enable" one of the
two masters on the wishbone bus.

There's an example of an arbiter in the rev B.1 wishbone specification
itself. Rev B.3 has a different treatment.

In a nutshell, you just need a mux for the master outputs (CYC_O, STB_O,
ADR_O, DAT_O, WE_O) whose selector is the output of your arbitrator
algorithm. Similarly, your selector also determines which master
receives the ACK_O/ERR_O/RTY_O from the slave. So you're not 'enabling'
one master as such, simply gating the slave response so that only the
master which has been granted the bus sees the end of the cycle.

Regards,
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,766
Messages
2,569,569
Members
45,042
Latest member
icassiem

Latest Threads

Top