Skip to content

Commit

Permalink
lasmibus/crossbar: better switching policy
Browse files Browse the repository at this point in the history
  • Loading branch information
Sebastien Bourdeauducq committed Jun 15, 2013
1 parent ac2cde0 commit 6d6d232
Showing 1 changed file with 2 additions and 5 deletions.
7 changes: 2 additions & 5 deletions migen/bus/lasmibus.py
Expand Up @@ -65,14 +65,11 @@ def __init__(self, controllers, nmasters, cba_shift):
bank = getattr(controller, "bank"+str(nb))

# arbitrate
rr = roundrobin.RoundRobin(nmasters, roundrobin.SP_CE)
rr = roundrobin.RoundRobin(nmasters, roundrobin.SP_WITHDRAW)
self.submodules += rr
bank_selected = [cs & (ba == nb) for cs, ba in zip(controller_selected, m_ba)]
bank_requested = [bs & master.stb for bs, master in zip(bank_selected, self.masters)]
self.comb += [
rr.request.eq(Cat(*bank_requested)),
rr.ce.eq(~bank.stb | bank.ack)
]
self.comb += rr.request.eq(Cat(*bank_requested)),

# route requests
self.comb += [
Expand Down

0 comments on commit 6d6d232

Please sign in to comment.