fhdl.ir: a subfragment's input that we don't drive is also our input.

This commit is contained in:
whitequark 2018-12-13 11:50:56 +00:00
parent bb04c9e0da
commit 9661e897e6
2 changed files with 16 additions and 1 deletions

View file

@ -71,6 +71,19 @@ class FragmentPortsTestCase(FHDLTestCase):
self.assertEqual(f1.ports, ValueSet())
self.assertEqual(f2.ports, ValueSet((self.s1,)))
def test_input_only_in_subfragment(self):
f1 = Fragment()
f2 = Fragment()
f2.add_statements(
self.c1.eq(self.s1)
)
f1.add_subfragment(f2)
ins, outs = f1._propagate_ports(ports=())
self.assertEqual(ins, ValueSet((self.s1,)))
self.assertEqual(outs, ValueSet())
self.assertEqual(f1.ports, ValueSet((self.s1,)))
self.assertEqual(f2.ports, ValueSet((self.s1,)))
def test_output_from_subfragment(self):
f1 = Fragment()
f1.add_statements(