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

Async Reset support for Atomics, FPU, and TLBroadcast #2362

Merged
merged 9 commits into from
Mar 27, 2020

Conversation

mwachs5
Copy link
Contributor

@mwachs5 mwachs5 commented Mar 25, 2020

Related issue:

This contains workarounds for #2361
This bumps chisel to pick up fix for chipsalliance/chisel#1253 done in chipsalliance/chisel#1388

Type of change: feature request

Impact: API addition (no impact on existing code)

Development Phase: implementation

Release Notes

FPU, tilelink/Atomics, TLBroadcast are converted to be able to use chisel3 AsyncReset. This is done generally with a specific compatibility mode change vs entirely converting them to chisel3 in a new DefaultCompileOptions.NonStrictInferReset

Some withReset(false.B) are added around combinational hardfloat modules in the FPU to avoid having to do this recursively in hardfloat files (hardfloat sequential modules were previously converted to chisel3 so are not an issue). Comments pointing to the linked issue #2361 are added for these workarounds so they can be deleted once hardfloat is adjusted.

FPU: make it work for chisel3 AsyncReset without swapping whole file to chisel3
Allows just the reset inference feature of chisel3 in Chisel._ files
Apply it to LazyModules
@mwachs5 mwachs5 changed the title Async Reset support for Atomics, FPU, and TLBroadcast Async Reset support for Atomics, FPU, and TLBroadcast (and all LazyModules) Mar 25, 2020
Copy link
Member

@aswaterman aswaterman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks!

@mwachs5 mwachs5 changed the title Async Reset support for Atomics, FPU, and TLBroadcast (and all LazyModules) Async Reset support for Atomics, FPU, and TLBroadcast Mar 25, 2020
@mwachs5
Copy link
Contributor Author

mwachs5 commented Mar 27, 2020

This passed LEC on several designs. Going to merge

@mwachs5 mwachs5 merged commit 6f0a3f7 into master Mar 27, 2020
@mwachs5 mwachs5 deleted the fpu-atomics-broadcast-asyncreset branch June 9, 2020 15:34
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

Successfully merging this pull request may close these issues.

3 participants