![]() Platform.prepare() was completely broken after addition of local clock domains, and only really worked before by a series of accidents because there was a circular dependency between creation of missing domains, fragment preparation, and insertion of pin subfragments. This commit untangles the dependency by adding a separate public method Fragment.create_missing_domains(), used in build.plat. It also makes DomainCollector consider both used and defined domains, such that it will work on fragments before domain propagation, since create_missing_domains() can be called by user code before prepare(). The fragment driving missing clock domain is not flattened anymore, because flattening does not work well combined with local domains. |
||
---|---|---|
.. | ||
back | ||
build | ||
compat | ||
hdl | ||
lib | ||
test | ||
vendor | ||
__init__.py | ||
_version.py | ||
asserts.py | ||
cli.py | ||
tools.py | ||
tracer.py |