bus/asmibus/hub: hack to prevent comb loops

This commit is contained in:
Sebastien Bourdeauducq 2012-04-30 17:11:42 -05:00
parent 398ece8fe2
commit f2c20e4af0
1 changed files with 2 additions and 1 deletions

View File

@ -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))