From 39ca0e6fa6807e4c8b50d837ab5869c84ffb4da8 Mon Sep 17 00:00:00 2001 From: whitequark Date: Tue, 4 Jun 2019 11:10:46 +0000 Subject: [PATCH] compat.fhdl.module: CompatModule should be elaboratable. Fixes #83. --- nmigen/compat/fhdl/module.py | 7 +++++-- nmigen/test/test_compat.py | 9 +++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 nmigen/test/test_compat.py 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) -- 2.30.2