From 6d6d232cadd7e531e5566c1115a14c79e559b9eb Mon Sep 17 00:00:00 2001 From: Sebastien Bourdeauducq Date: Sat, 15 Jun 2013 16:51:09 +0200 Subject: [PATCH] lasmibus/crossbar: better switching policy --- migen/bus/lasmibus.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/migen/bus/lasmibus.py b/migen/bus/lasmibus.py index 201a9f71..be724ac1 100644 --- a/migen/bus/lasmibus.py +++ b/migen/bus/lasmibus.py @@ -65,14 +65,11 @@ class Crossbar(Module): 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 += [ -- 2.30.2