fhdl.xfrm: add test for ControlInserter with subfragments.
This commit is contained in:
parent
19aa404628
commit
8963ab5d9f
|
@ -142,3 +142,36 @@ class CEInserterTestCase(unittest.TestCase):
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
""")
|
""")
|
||||||
|
|
||||||
|
def test_ce_subfragment(self):
|
||||||
|
f1 = Fragment()
|
||||||
|
f1.add_statements(
|
||||||
|
self.s1.eq(1)
|
||||||
|
)
|
||||||
|
f1.drive(self.s1, "sync")
|
||||||
|
|
||||||
|
f2 = Fragment()
|
||||||
|
f2.add_statements(
|
||||||
|
self.s2.eq(1)
|
||||||
|
)
|
||||||
|
f2.drive(self.s2, "sync")
|
||||||
|
f1.add_subfragment(f2)
|
||||||
|
|
||||||
|
f1 = CEInserter(self.c1)(f1)
|
||||||
|
(f2, _), = f1.subfragments
|
||||||
|
self.assertRepr(f1.statements, """
|
||||||
|
(
|
||||||
|
(eq (sig s1) (const 1'd1))
|
||||||
|
(switch (sig c1)
|
||||||
|
(case 0 (eq (sig s1) (sig s1)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
""")
|
||||||
|
self.assertRepr(f2.statements, """
|
||||||
|
(
|
||||||
|
(eq (sig s2) (const 1'd1))
|
||||||
|
(switch (sig c1)
|
||||||
|
(case 0 (eq (sig s2) (sig s2)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
""")
|
||||||
|
|
Loading…
Reference in a new issue