mirror of
https://github.com/enjoy-digital/litex.git
synced 2025-01-04 09:52:26 -05:00
fhdl/visit: fix TransformModule
This commit is contained in:
parent
aef9275c99
commit
c824379878
2 changed files with 9 additions and 6 deletions
|
@ -83,8 +83,8 @@ class _ModuleClockDomains(_ModuleProxy, _ModuleForwardAttr):
|
||||||
|
|
||||||
class Module:
|
class Module:
|
||||||
def get_fragment(self):
|
def get_fragment(self):
|
||||||
assert(not self._get_fragment_called)
|
assert(not self.get_fragment_called)
|
||||||
self._get_fragment_called = True
|
self.get_fragment_called = True
|
||||||
self.finalize()
|
self.finalize()
|
||||||
return self._fragment
|
return self._fragment
|
||||||
|
|
||||||
|
@ -127,9 +127,9 @@ class Module:
|
||||||
elif name == "_clock_domains":
|
elif name == "_clock_domains":
|
||||||
self._clock_domains = []
|
self._clock_domains = []
|
||||||
return self._clock_domains
|
return self._clock_domains
|
||||||
elif name == "_get_fragment_called":
|
elif name == "get_fragment_called":
|
||||||
self._get_fragment_called = False
|
self.get_fragment_called = False
|
||||||
return self._get_fragment_called
|
return self.get_fragment_called
|
||||||
|
|
||||||
else:
|
else:
|
||||||
raise AttributeError("'"+self.__class__.__name__+"' object has no attribute '"+name+"'")
|
raise AttributeError("'"+self.__class__.__name__+"' object has no attribute '"+name+"'")
|
||||||
|
@ -144,7 +144,7 @@ class Module:
|
||||||
def _collect_submodules(self):
|
def _collect_submodules(self):
|
||||||
r = []
|
r = []
|
||||||
for name, submodule in self._submodules:
|
for name, submodule in self._submodules:
|
||||||
if not submodule._get_fragment_called:
|
if not submodule.get_fragment_called:
|
||||||
r.append((name, submodule.get_fragment()))
|
r.append((name, submodule.get_fragment()))
|
||||||
return r
|
return r
|
||||||
|
|
||||||
|
|
|
@ -202,6 +202,9 @@ class TransformModule:
|
||||||
def __init__(self, transform, module):
|
def __init__(self, transform, module):
|
||||||
self.transform = transform
|
self.transform = transform
|
||||||
self.module = module
|
self.module = module
|
||||||
|
self.get_fragment_called = False
|
||||||
|
|
||||||
def get_fragment(self):
|
def get_fragment(self):
|
||||||
|
assert(not self.get_fragment_called)
|
||||||
|
self.get_fragment_called = True
|
||||||
return self.transform(self.module.get_fragment())
|
return self.transform(self.module.get_fragment())
|
||||||
|
|
Loading…
Reference in a new issue