fhdl: also take into account object attributes in _make_signal_name. Get rid of decla...
authorSebastien Bourdeauducq <sebastien@milkymist.org>
Sun, 18 Dec 2011 20:47:29 +0000 (21:47 +0100)
committerSebastien Bourdeauducq <sebastien@milkymist.org>
Sun, 18 Dec 2011 20:47:29 +0000 (21:47 +0100)
migen/fhdl/structure.py

index 9148e46e3ee60c51a1fb200b6b92e6b963d34635..4d593f5367f5326ab33f28abf0569cd9bb59e98c 100644 (file)
@@ -128,9 +128,11 @@ def _cst(x):
 def _make_signal_name():
        frame = inspect.currentframe().f_back.f_back
        line = inspect.getframeinfo(frame).code_context[0]
-       m = re.match('[\t ]*([0-9A-Za-z_]+) =', line)
+       m = re.match('[\t ]*([0-9A-Za-z_\.]+) =', line)
        if m is None: return None
        name = m.group(1)
+       name = name.split('.')
+       name = name[len(name)-1]
        modules = frame.f_globals["__name__"]
        if modules != "__main__":
                modules = modules.split('.')
@@ -151,15 +153,6 @@ class Signal(Value):
        def __hash__(self):
                return id(self)
 
-def declare_signal(parent, name, bv=BV(), variable=False, reset=0):
-       # try to find a meaningful prefix
-       if parent.__module__ == "__main__":
-               prefix = parent.__class__.__name__
-       else:
-               modules = parent.__module__.split('.')
-               prefix = modules[len(modules)-1]
-       setattr(parent, name, Signal(bv, prefix + "_" + name, variable, reset))
-
 # statements
 
 class Assign: