Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > VHDL > Arbiter algorithm

Reply
Thread Tools

Arbiter algorithm

 
 
Rusty
Guest
Posts: n/a
 
      04-06-2005
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
 
Reply With Quote
 
 
 
 
Mike Treseler
Guest
Posts: n/a
 
      04-06-2005
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
 
Reply With Quote
 
 
 
 
Rusty
Guest
Posts: n/a
 
      04-06-2005
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

 
Reply With Quote
 
Mike Treseler
Guest
Posts: n/a
 
      04-06-2005
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
 
Reply With Quote
 
Kai Harrekilde-Petersen
Guest
Posts: n/a
 
      04-06-2005
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>
 
Reply With Quote
 
Mike Treseler
Guest
Posts: n/a
 
      04-06-2005
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
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Arbiter willwestward@gmail.com VHDL 6 06-09-2007 09:38 PM
Arbiter design problem? Davy VHDL 5 08-30-2006 01:46 PM
Arbiter schemes? Davy VHDL 3 08-15-2006 01:21 PM
Arbiter for the wishbone bus Pooja VHDL 1 05-12-2006 12:54 AM
4 level to 2 level round robin arbiter ssahota@gmail.com VHDL 2 05-09-2006 03:35 PM



Advertisments
 



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57