Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposal for Verification IR with reset #4282

Open
poemonsense opened this issue Jul 17, 2024 · 2 comments
Open

Proposal for Verification IR with reset #4282

poemonsense opened this issue Jul 17, 2024 · 2 comments

Comments

@poemonsense
Copy link
Contributor

Type of issue: Feature Request

Is your feature request related to a problem? Please describe.

Following #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

@poemonsense
Copy link
Contributor Author

Just noticed #4001.

I'm not sure whether this issue is still applicable for the master branch of Chisel (I'm currently using v6.5.0). Is it still possible to capture the IRs before emitting FIRRTL? Look like the intrinsic is replacing the Verification IR.

@poemonsense
Copy link
Contributor Author

Also wondering the boundary of Chisel/FIRRTL/CIRCT. Will there be more circt intrinsics? How does this affect the position of FIRRTL IR?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant