diff --git a/migen/sim/core.py b/migen/sim/core.py index 157d63ff7..af3f3734f 100644 --- a/migen/sim/core.py +++ b/migen/sim/core.py @@ -156,11 +156,10 @@ class Evaluator: value -= 2**node.nbits self.modifications[node] = value elif isinstance(node, Cat): - nbits = 0 for element in node.l: - value >>= nbits nbits = len(element) self.assign(element, value & (2**nbits-1)) + value >>= nbits elif isinstance(node, _Slice): full_value = self.eval(node.value, True) # clear bits assigned to by the slice