from collections import defaultdict
from migen.fhdl import tracer
+from migen.util.misc import flat_iteration
class HUID:
__next_uid = 0
elif isinstance(key, slice):
start, stop, step = key.indices(flen(self))
if step != 1:
- return Cat(*(self[i] for i in range(start, stop, step)))
+ return Cat(self[i] for i in range(start, stop, step))
return _Slice(self, start, stop)
else:
raise KeyError
meeting these properties. The bit length of the return value is the sum of
the bit lengths of the arguments::
- flen(Cat(*args)) == sum(flen(arg) for arg in args)
+ flen(Cat(args)) == sum(flen(arg) for arg in args)
Parameters
----------
- *args : Value, inout
+ *args : Values or iterables of Values, inout
`Value` s to be concatenated.
Returns
"""
def __init__(self, *args):
Value.__init__(self)
- self.l = args
+ self.l = list(flat_iteration(args))
class Replicate(Value):
"""Replicate a value