chipsalliance / firrtl-spec

The specification for the FIRRTL language
44 stars 28 forks source link

[major] Layer-associated probe semantics and ABI #160

Closed seldridge closed 8 months ago

seldridge commented 9 months ago

Define semantics and an ABI for layer-associated probes. ~This introduces a major change to the existing layer ABI where layers are now enabled with a Verilog text macro (`define) and not by including a file. This is done to unify the enabling of all layer collateral which can include modules/logic and new probe ports (which were not supported previously).~

This uses a basic ABI where all layer-colored probes are always emitted. We may want to change this in the future to use an ABI where Verilog macros are conditionally defined. However, it is much simpler to start without this. It is also not clear that such an ABI provides much over just requiring a user to enable a layer for the reference to be valid.

seldridge commented 8 months ago

Synced with @mmaloney-sf offline. This is good enough to land. @mmaloney-sf will take over driving this with subsequent PRs by providing more formal semantics around describing the layers as a lattice (with the "colorless" root layer, i.e., the design, defined).