def __init__(self, name, m, prev=None, pipemode=False, ispec=None):
self._m = m
self._stagename = name
- self._preg_map = {}
+ self._preg_map = {'__nextstage__': {}}
self._prev_stage = prev
self._ispec = ispec
if prev:
self._assigns = []
def __getattr__(self, name):
+ #if name in self._preg_map['__nextstage__']:
+ # return self._preg_map['__nextstage__'][name]
try:
v = self._preg_map[self._stagename][name]
return v
p.n = ~self._loopback
p.o = self._obj
with pipe.Stage("second", p) as (p, m):
- localv = Signal(4)
- m.d.comb += localv.eq(p.n + Const(2))
- p.n = localv
+ #p.n = ~self._loopback + 2
+ localn = Signal(4)
+ m.d.comb += localn.eq(p.n)
o = ObjectProxy(None, pipemode=False)
- o.c = localv
- o.d = p.o.b + localv + Const(5)
- o.e = p.o.b + localv
+ o.c = localn
+ o.d = p.o.b + localn + Const(5)
+ p.n = localn
p.o = o
with pipe.Stage("third", p) as (p, m):
#p.n = ~self._loopback + 5