amaranth/nmigen
whitequark cce6b8687b build.plat: align pipeline with Fragment.prepare().
Since commit 7257c20a, platform code calls create_missing_domains()
before _propagate_domains_up() (as a part of prepare() call). Since
commit a7be3b48, without a platform, create_missing_domains() is
calle after _propagate_domains_up(); because of that, it adds
the missing domain to the fragment. When platform code then calls
prepare() again, this causes an assertion failure.

The true intent behind the platform code being written this way is
that it *overrides* a part of prepare()'s mechanism. Because it was
not changed when prepare() was modified in 7257c20a, the override,
which happened to work by coincidence, stopped working. This is
now fixed by inlining the relevant parts of Fragment.prepare() into
Platform.prepare().

This is not a great solution, but given the amount of breakage this
causes (no platform-using code works), it is acceptable for now.

Fixes #307.
2020-02-01 03:26:04 +00:00
..
back back.rtlil: don't emit wires for empty signals. 2020-01-31 03:38:58 +00:00
build build.plat: align pipeline with Fragment.prepare(). 2020-02-01 03:26:04 +00:00
compat _unused: extract must-use logic from hdl.ir. 2020-02-01 01:35:05 +00:00
hdl build.plat: align pipeline with Fragment.prepare(). 2020-02-01 03:26:04 +00:00
lib Remove everything deprecated in nmigen 0.1. 2020-01-12 13:59:26 +00:00
test hdl.dsl: don't allow inheriting from Module. 2020-02-01 02:15:45 +00:00
vendor vendor.lattice_ecp5: support internal oscillator (OSCG). 2020-01-31 03:18:36 +00:00
__init__.py Remove everything deprecated in nmigen 0.1. 2020-01-12 13:59:26 +00:00
_toolchain.py Refactor build script toolchain lookups. 2019-10-13 13:53:24 +00:00
_unused.py _unused: extract must-use logic from hdl.ir. 2020-02-01 01:35:05 +00:00
_utils.py hdl.ir: allow disabling UnusedElaboratable warning in file scope. 2019-10-26 06:17:14 +00:00
asserts.py hdl.ast,back.rtlil: implement Cover. 2019-09-03 01:32:24 +00:00
cli.py hdl.ir: rename .get_fragment() to .elaborate(). 2019-01-26 02:31:12 +00:00
rpc.py rpc: add public Records as module ports. 2019-09-30 18:28:21 +00:00
tracer.py tracer: fix typo. 2019-08-19 20:20:18 +00:00
utils.py {,_}tools→{,_}utils 2019-10-13 18:53:38 +00:00