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

proc_dff: respect sync rule priorities when generating complex dffsrs #4569

Merged
merged 2 commits into from
Sep 2, 2024

Conversation

georgerennie
Copy link
Collaborator

@georgerennie georgerennie commented Aug 28, 2024

This fixes #4560, where previously the order that sync rules were processed in depended on the order they were pulled out of a std::map. This PR changes this to process them in the order they are found in, respecting the priorities among the async signals.

This is an alternative to #4568 that should fix the issues highlighted there (I've tested the example I left in the replies there and it seems to give the correct result now).

It still makes the optimizations made before, such as merging together control signals if all sync rules cause the DFF to take the same value.

  • Before merging this I want to add a few tests for this behaviour. edit: done

* This fixes YosysHQ#4560, where previously the order that sync rules were
  processed in depended on the order they were pulled out of a std::map.
  This PR changes this to process them in the order they are found in,
  respecting the priorities among the async signals
@georgerennie georgerennie marked this pull request as ready for review August 28, 2024 15:25
Copy link
Collaborator

@widlarizer widlarizer left a comment

Choose a reason for hiding this comment

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

The first two cases in the test file fail on main, meaning the test covers the added functionality. This also fixes the test failure at #4524

@widlarizer widlarizer added the merge-after-jf Merge: PR will be merged after the next Dev JF unless concerns are raised label Aug 30, 2024
@widlarizer widlarizer merged commit c25448f into YosysHQ:main Sep 2, 2024
23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merge-after-jf Merge: PR will be merged after the next Dev JF unless concerns are raised
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Yosys is sensitive to the hash function
2 participants