From: Sebastien Bourdeauducq Date: Mon, 30 Apr 2012 22:11:42 +0000 (-0500) Subject: bus/asmibus/hub: hack to prevent comb loops X-Git-Tag: 24jan2021_ls180~2099^2~948 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f2c20e4af0266be64aada64d413845e48083b836;p=litex.git bus/asmibus/hub: hack to prevent comb loops --- diff --git a/migen/bus/asmibus.py b/migen/bus/asmibus.py index ec34a6f5..4bae4ef7 100644 --- a/migen/bus/asmibus.py +++ b/migen/bus/asmibus.py @@ -102,10 +102,11 @@ class Port: choose_slot = None for s in reversed(self.slots): choose_slot = If(s.state == SLOT_EMPTY, - self.ack.eq(1), s.allocate.eq(self.stb) ).Else(choose_slot) comb.append(choose_slot) + comb.append(self.ack.eq(optree("|", + [s.state == SLOT_EMPTY for s in self.slots]))) # call comb += [s.call.eq(self.get_call_expression(n))