From: whitequark Date: Tue, 4 Jun 2019 11:10:46 +0000 (+0000) Subject: compat.fhdl.module: CompatModule should be elaboratable. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=75429cd368ea763ffab25e95878b6c7f839fb3bb;p=nmigen.git compat.fhdl.module: CompatModule should be elaboratable. Fixes #83. --- diff --git a/nmigen/compat/fhdl/module.py b/nmigen/compat/fhdl/module.py index e81f2b6..26feb16 100644 --- a/nmigen/compat/fhdl/module.py +++ b/nmigen/compat/fhdl/module.py @@ -1,7 +1,7 @@ from collections.abc import Iterable from ...tools import flatten, deprecated -from ...hdl import dsl +from ...hdl import dsl, ir __all__ = ["Module", "FinalizeError"] @@ -94,7 +94,7 @@ class _CompatModuleClockDomains(_CompatModuleProxy): return self -class CompatModule: +class CompatModule(ir.Elaboratable): # Actually returns nmigen.fhdl.Module, not a Fragment. def get_fragment(self): assert not self.get_fragment_called @@ -102,6 +102,9 @@ class CompatModule: self.finalize() return self._module + def elaborate(self, platform): + return self.get_fragment() + def __getattr__(self, name): if name == "comb": return _CompatModuleComb(self) diff --git a/nmigen/test/test_compat.py b/nmigen/test/test_compat.py new file mode 100644 index 0000000..d42812c --- /dev/null +++ b/nmigen/test/test_compat.py @@ -0,0 +1,9 @@ +from ..hdl.ir import Fragment +from ..compat import * +from .tools import * + + +class CompatTestCase(FHDLTestCase): + def test_fragment_get(self): + m = Module() + f = Fragment.get(m, platform=None)