else:
print ("OP !pipemode !m", new_pipereg, value, type(value))
self._assigns += eq(new_pipereg, value)
- #self._eqs.append(new_pipereg)
if isinstance(value, ObjectProxy):
print ("OP, defer assigns:", value._assigns)
self._assigns += value._assigns
if isinstance(value, ObjectProxy):
print ("OP, defer assigns:", value._assigns)
self._assigns += value._assigns
+ self._eqs += value._eqs
def likelist(specs):
res = []
p.n = ~self._loopback
p.o = self._obj
with pipe.Stage("second", p) as (p, m):
- #p.n = ~self._loopback + 2
- p.n = p.n + Const(2)
+ localv = Signal(4)
+ m.d.comb += localv.eq(p.n + Const(2))
+ p.n = localv
o = ObjectProxy(None, pipemode=False)
- o.c = p.n
- o.d = p.o.b + p.n + Const(5)
+ o.c = localv
+ o.d = p.o.b + localv + Const(5)
+ o.e = p.o.b + localv
p.o = o
with pipe.Stage("third", p) as (p, m):
#p.n = ~self._loopback + 5
o, i = [o], [i]
res = []
for (ao, ai) in zip(o, i):
- #print ("eq", ao, ai)
+ print ("eq", ao, ai)
if isinstance(ao, Record):
for idx, (field_name, field_shape, _) in enumerate(ao.layout):
if isinstance(field_shape, Layout):