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

FFSynchronizer is affected by EnableInserter and ResetInserter #656

Closed
Lunaphied opened this issue Dec 13, 2021 · 1 comment
Closed

FFSynchronizer is affected by EnableInserter and ResetInserter #656

Lunaphied opened this issue Dec 13, 2021 · 1 comment
Labels

Comments

@Lunaphied
Copy link
Contributor

This is likely to cause issues and should be fixed.

@Lunaphied Lunaphied changed the title Synchronizers are affected by EnableInserter and ResetInserter FFSynchronizer is affected by EnableInserter and ResetInserter Dec 13, 2021
@whitequark whitequark added the bug label Dec 13, 2021
@whitequark whitequark added question and removed bug labels Feb 3, 2023
@whitequark
Copy link
Member

Regarding ResetInserter: I think that's OK. We have a reset_less argument for FFSynchronizer and it's currently True so it's not affected, but in any case, if an outer module explicitly wants to reset something and the inner one opts into it by specifying reset_less=False then that should happen.

Regarding EnableInserter: I think that's also OK. Yes, randomly wrapping RTL with EnableInserter can break it. The purpose of EnableInserter is really clock gating conversion; you can't easily insert clock gates in FPGA designs but you can easily insert enable controls, so any time you want to gate the clock on a subset of cycles you use that. So the same thing happening with FFSynchronizer is expected and reasonable, I think.

@whitequark whitequark closed this as not planned Won't fix, can't repro, duplicate, stale Feb 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

No branches or pull requests

2 participants