chipsalliance / chipsalliance/chisel
Proposal for Verification IR with reset
- Dominant language
- Scala
- Stars
- 4.8k
- Forks
- 658
- Avg merge
- 18h 59m
- Merged PRs (30d)
- 14
Description
**Type of issue**: Feature Request
**Is your feature request related to a problem? Please describe.**
Following https://github.com/chipsalliance/chisel/issues/1718, verification IRs are guarded by the reset. However, currently this reset is injected during Chisel elaboration and not captured by the verification IR.
Due to the lack of reset, it becomes difficult for the transform to grab the reset. For example, I'm currently trying to extract all assertion conditions (with `~reset`). However, since `~reset` exists only in the `Conditionally` IR and it is sometimes a local node within another `Conditionally`, it becomes quite difficult or sophisticated to get this `~reset`.
If the Verification IR contains the reset (like how the clock works), it would be useful for transforms.
**Describe the solution you'd like**
Basically, adding the reset to the IR without changing anything else is good. I'm assuming I can handle this if chisel dev agrees to accept this feature request.
Furthermore, should consider the FIRRTL IR? If the firrtl does not require this reset, then during emitting firrtl we should emit the `~reset` manually.
**What is the use case for implementing this feature?**
Extract full information of the `assert`, `cover`, etc during transforms
Contributor guide
Assessment
This issue has not been assessed yet.