write_cxxrtl: add support for hierarchical designs.
authorwhitequark <whitequark@whitequark.org>
Fri, 3 Apr 2020 16:07:43 +0000 (16:07 +0000)
committerwhitequark <whitequark@whitequark.org>
Thu, 9 Apr 2020 04:08:36 +0000 (04:08 +0000)
commitfb0270b75258fa58cbf0594873721c88964f69a5
treea4e54b82f161a8296eae872b0dd10c1ab3b69339
parent3376dcf37c02f10552f84a9602b0d05c8f77ba3a
write_cxxrtl: add support for hierarchical designs.

Hierarchical design simulations are generally much slower, but this
comes with a major increase in flexibility:
 1. Since the `flatten` pass currently does not support flattening
    of designs with processes, this is the only way to simulate such
    designs with cxxrtl.
 2. Support for hierarchy paves way for simulation black boxes,
    which are necessary for e.g. replacing PHYs with C++ code that
    integrates with the host system.
backends/cxxrtl/cxxrtl.cc