Relax legality of defines, align with FIRRTL spec (#3857)
Change the checking logic for the legality of a probe define destination to align with FIRRTL specification language introduced recently [1]. Specifically, this enforces the following sentence: > An operation that "writes" to a probe must be in a region whose layer > color is enabled when the probe's layer color is enabled. Previously, Chisel was more restrictive and would only allow writing to a probe whose color was the same as the layer block you are currently in. However, as has been worked out in CIRCT and elsewhere, it is fine to drive a probe from any region that is enabled when the probe is also enabled. Practically, this gets some Chisel code passing that was legal by a FIRRTL compiler, but Chisel was refusing to generate it. CC: @rwy7 [1]: https://github.com/chipsalliance/firrtl-spec/commit/673aa08cc31883aa90eca5ceaa6bf0017f3165fa Signed-off-by:Schuyler Eldridge <schuyler.eldridge@sifive.com>
parent
68eb2486