Schuyler Eldridge
Schuyler Eldridge
> CIRCT just treats invalid values as 0, so this gets generated for your example: Note: this isn't correct. CIRCT implements the same context-sensitive interpretation of invalid that the SFC...
The lack of when optimization here is probably safe given that this is totally new code. However, it would be ideal, as @youngar states, to be consistent with the existing...
Noting that this is true only in the LowerAnnotations path which is the only way after https://github.com/llvm/circt/pull/3497 lands. This is still reachable while FIRAnnotations.cpp still exists.
We should verify, but my interpretation of that language is that they are illegal transitively. The analysis is then an annoying instance graph check, i.e., a circuit verifier.
Stable randomization was implemented in https://github.com/llvm/circt/pull/3714.
Closing this since the original issue is fixed.
Just to clarify: with the fix in this PR, the resulting renames do not include any renaming of the target that includes `system3`, i.e., there is now no renaming of...
Thanks for taking a look at this, @azidar.
The direction we've been pushing for this is to add port lowering ABIs to FIRRTL. See ABI v1 (aggregate types flattened to scalar types) and ABI v2 (aggregates preserved): https://github.com/chipsalliance/firrtl-spec/blob/main/abi.md#port-lowering-abis...
@mwachs5: Sure, I can try to elaborate. This PR is attempting to correct problems with how annotations are renamed by duplication (the `EliminateTargetPaths` transform) and deduplication. Currently renaming doesn't do...