hdl.xfrm: transform drivers as well in DomainRenamer.
This is necessary because drivers may be late bound. Fixes #304.
This commit is contained in:
parent
e18385b613
commit
7cb3095334
2 changed files with 20 additions and 1 deletions
|
|
@ -389,6 +389,25 @@ class FragmentDomainsTestCase(FHDLTestCase):
|
|||
"domains explicitly, or give distinct names to subfragments"):
|
||||
f._propagate_domains_up()
|
||||
|
||||
def test_domain_conflict_rename_drivers(self):
|
||||
cda = ClockDomain("sync")
|
||||
cdb = ClockDomain("sync")
|
||||
|
||||
fa = Fragment()
|
||||
fa.add_domains(cda)
|
||||
fb = Fragment()
|
||||
fb.add_domains(cdb)
|
||||
fb.add_driver(ResetSignal("sync"), None)
|
||||
f = Fragment()
|
||||
f.add_subfragment(fa, "a")
|
||||
f.add_subfragment(fb, "b")
|
||||
|
||||
f._propagate_domains_up()
|
||||
fb_new, _ = f.subfragments[1]
|
||||
self.assertEqual(fb_new.drivers, OrderedDict({
|
||||
None: SignalSet((ResetSignal("b_sync"),))
|
||||
}))
|
||||
|
||||
def test_propagate_down(self):
|
||||
cd = ClockDomain()
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue