Arbiter algorithm

Discussion in 'VHDL' started by Rusty, Apr 6, 2005.

  1. Rusty

    Rusty Guest

    I am going to make an arbiter in vhdl which is fair. It is supposed to
    arbit 128 different masters and give them access to the bus. If more
    than one master requests the bus the arbiter is supposed to give the
    master that have waited the longest since last transmit, and give that
    one access first.

    Do any you have a nice and smart way of doing this without using too
    much time on it (too many clock periods)?

    Anders
    Norway
    Rusty, Apr 6, 2005
    #1
    1. Advertising

  2. Rusty wrote:
    > I am going to make an arbiter in vhdl which is fair. It is supposed to
    > arbit 128 different masters and give them access to the bus. If more
    > than one master requests the bus the arbiter is supposed to give the
    > master that have waited the longest since last transmit, and give that
    > one access first.


    When the shop is empty, I get immediate service.
    When the shop is busy, I take the next number and wait
    for it to be called.

    -- Mike Treseler
    Mike Treseler, Apr 6, 2005
    #2
    1. Advertising

  3. Rusty

    Rusty Guest

    But if number 14 and 28 both requests the bus, I have to check and see
    which one of them have waited the longest. How would I do that fast.

    Mike Treseler wrote:
    > Rusty wrote:
    >
    >> I am going to make an arbiter in vhdl which is fair. It is supposed to
    >> arbit 128 different masters and give them access to the bus. If more
    >> than one master requests the bus the arbiter is supposed to give the
    >> master that have waited the longest since last transmit, and give that
    >> one access first.

    >
    >
    > When the shop is empty, I get immediate service.
    > When the shop is busy, I take the next number and wait
    > for it to be called.
    >
    > -- Mike Treseler
    Rusty, Apr 6, 2005
    #3
  4. Rusty wrote:
    > But if number 14 and 28 both requests the bus, I have to check and see
    > which one of them have waited the longest. How would I do that fast.


    The number is not my identifier.
    The number is on a ticket
    I rip from the wheel.

    -- Mike Treseler
    Mike Treseler, Apr 6, 2005
    #4
  5. Rusty <> writes:

    > Mike Treseler wrote:
    >> Rusty wrote:
    >>
    >>> I am going to make an arbiter in vhdl which is fair. It is supposed
    >>> to arbit 128 different masters and give them access to the bus. If
    >>> more than one master requests the bus the arbiter is supposed to
    >>> give the master that have waited the longest since last transmit,
    >>> and give that one access first.

    >> When the shop is empty, I get immediate service.
    >> When the shop is busy, I take the next number and wait
    >> for it to be called.


    > But if number 14 and 28 both requests the bus, I have to check and see
    > which one of them have waited the longest. How would I do that fast.


    A FIFO will do exactly what Mike described above.

    Then comes the question: what do you do when you get requests from
    multiple sources per cycle. Rotating fair arbitration is the answer
    here.


    Kai
    --
    Kai Harrekilde-Petersen <khp(at)harrekilde(dot)dk>
    Kai Harrekilde-Petersen, Apr 6, 2005
    #5
  6. Kai Harrekilde-Petersen wrote:

    > Then comes the question: what do you do when you get requests from
    > multiple sources per cycle. Rotating fair arbitration is the answer
    > here.


    It might be fair enough for the
    proprietor to award the
    next ticket to the customer_id
    closest to a pseudo-random count.

    -- Mike Treseler


    even homework is more
    fun than testing software
    Mike Treseler, Apr 6, 2005
    #6
    1. Advertising

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

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Replies:
    2
    Views:
    3,432
    Pooja
    May 9, 2006
  2. Pooja
    Replies:
    1
    Views:
    2,764
    Mark McDougall
    May 12, 2006
  3. Davy

    Arbiter schemes?

    Davy, Aug 13, 2006, in forum: VHDL
    Replies:
    3
    Views:
    2,374
    Mike Treseler
    Aug 15, 2006
  4. Davy

    Arbiter design problem?

    Davy, Aug 25, 2006, in forum: VHDL
    Replies:
    5
    Views:
    3,727
  5. Arbiter

    , Jun 7, 2007, in forum: VHDL
    Replies:
    6
    Views:
    777
Loading...

Share This Page