Unverified Commit 3573d11e authored by Schuyler Eldridge's avatar Schuyler Eldridge Committed by GitHub
Browse files

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: default avatarSchuyler Eldridge <schuyler.eldridge@sifive.com>
parent 68eb2486
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment