cxxrtl: provide a way to perform unobtrusive power-on reset.
authorwhitequark <whitequark@whitequark.org>
Wed, 2 Dec 2020 08:25:27 +0000 (08:25 +0000)
committerwhitequark <whitequark@whitequark.org>
Wed, 2 Dec 2020 08:25:27 +0000 (08:25 +0000)
commit5beab5bc17f9fa1f2340b491e073cfb973ad2e2b
tree3f1417445d1012a9afeb7b81e6440ea6dc280d8a
parent7b0cfd5c36af774ae255459d4ef0fa0934929902
cxxrtl: provide a way to perform unobtrusive power-on reset.

Although it is always possible to destroy and recreate the design to
simulate a power-on reset, this has two drawbacks:
  * Black boxes are also destroyed and recreated, which causes them
    to reacquire their resources, which might be costly and/or erase
    important state.
  * Pointers into the design are invalidated and have to be acquired
    again, which is costly and might be very inconvenient if they are
    captured elsewhere (especially through the C API).
backends/cxxrtl/cxxrtl.h
backends/cxxrtl/cxxrtl_backend.cc
backends/cxxrtl/cxxrtl_capi.cc
backends/cxxrtl/cxxrtl_capi.h