chipsalliance / chipsalliance/chisel

Proposal for Verification IR with reset

Open
#4,282 2 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.