1
0
mirror of https://github.com/myhdl/myhdl.git synced 2025-01-24 21:52:56 +08:00

merged always_seq

--HG--
branch : mep107
This commit is contained in:
Christopher Felton 2013-07-12 08:42:10 -05:00
commit 3412ad6bc4
3 changed files with 25 additions and 21 deletions

View File

@ -32,6 +32,7 @@ from myhdl._delay import delay
from myhdl._Signal import _Signal, _WaiterList,_isListOfSigs
from myhdl._Waiter import _Waiter, _EdgeWaiter, _EdgeTupleWaiter
from myhdl._instance import _Instantiator
from myhdl._resolverefs import _AttrRefTransformer
# evacuate this later
AlwaysSeqError = AlwaysError
@ -125,7 +126,9 @@ class _AlwaysSeq(_Instantiator):
s = _dedent(s)
tree = ast.parse(s)
# print ast.dump(tree)
v = _SigNameVisitor(symdict)
v = _AttrRefTransformer(self)
v.visit(tree)
v = _SigNameVisitor(self.symdict)
v.visit(tree)
sigregs = self.sigregs = []
varregs = self.varregs = []

View File

@ -318,16 +318,17 @@ class _HierExtr(object):
cellvars = []
cellvars.extend(frame.f_code.co_cellvars)
local_gens = []
#All nested functions will be in co_consts
consts = func.func_code.co_consts
for item in _flatten(arg):
genfunc = _genfunc(item)
if genfunc.func_code in consts:
local_gens.append(item)
if local_gens:
objlist = _resolveRefs(symdict, local_gens)
cellvars.extend(objlist)
if func:
local_gens = []
consts = func.func_code.co_consts
for item in _flatten(arg):
genfunc = _genfunc(item)
if genfunc.func_code in consts:
local_gens.append(item)
if local_gens:
objlist = _resolveRefs(symdict, local_gens)
cellvars.extend(objlist)
#for dict in (frame.f_globals, frame.f_locals):
for n, v in symdict.items():
# extract signals and memories