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

Add hook to invoke hardware generators at the end of elaboration. #3446

Merged

Conversation

mikeurbach
Copy link
Contributor

@mikeurbach mikeurbach commented Jul 31, 2023

Contributor Checklist

  • Did you add Scaladoc to every public function/method?
  • Did you add at least one test demonstrating the PR?
  • Did you delete any extraneous printlns/debugging code?
  • Did you specify the type of improvement?
  • Did you add appropriate documentation in docs/src?
  • Did you request a desired merge strategy?
  • Did you add text to be included in the Release Notes for this change?

Type of Improvement

  • Feature (or new API)

This adds a new API to invoke generators late, within the scope of a Module that has just been elaborated. It is intended as a power user API, and should not normally be needed. However, it does unlock new functionality in some cases where it would otherwise be impossible.

Desired Merge Strategy

  • Squash: The PR will be squashed and merged (choose this if you have no preference).

Release Notes

Reviewer Checklist (only modified by reviewer)

  • Did you add the appropriate labels? (Select the most appropriate one based on the "Type of Improvement")
  • Did you mark the proper milestone (Bug fix: 3.5.x, 3.6.x, or 5.x depending on impact, API modification or big change: 6.0)?
  • Did you review?
  • Did you check whether all relevant Contributor checkboxes have been checked?
  • Did you do one of the following when ready to merge:
    • Squash: You/ the contributor Enable auto-merge (squash), clean up the commit message, and label with Please Merge.
    • Merge: Ensure that contributor has cleaned up their commit history, then merge with Create a merge commit.

@mikeurbach
Copy link
Contributor Author

@jackkoenig @mwachs5 @seldridge we discussed an API like this a while back. Here is my take after that discussion, please let me know what you think.

@mikeurbach mikeurbach changed the title Add hook to invoke hardware generators after normal elaboration. Add hook to invoke hardware generators at the end of elaboration. Jul 31, 2023
@mikeurbach mikeurbach force-pushed the mikeurbach/at-module-body-end branch from 0e6d8cf to 8969250 Compare July 31, 2023 22:19
@mwachs5 mwachs5 added the Feature New feature, will be included in release notes label Aug 1, 2023
@mikeurbach
Copy link
Contributor Author

I pushed up some documentation and new tests, but the implementation remains the same. Is there anything else I should add in terms documentation or tests? Is this the implementation we want? I believe we discussed a few possible APIs in this vein that @jackkoenig was interested in, so I want to make sure the current implementation is actually one of the ones we want.

@mikeurbach
Copy link
Contributor Author

Also tagging @mwachs5 @azidar @seldridge in case you all have any thoughts on this one.

Copy link
Contributor

@mwachs5 mwachs5 left a comment

Choose a reason for hiding this comment

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

thanks for the tests! lgtm

Copy link
Contributor

@jackkoenig jackkoenig left a comment

Choose a reason for hiding this comment

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

This API is likely to change a lot in the near future, but it's useful for the time being so let's go ahead and :shipit:

@jackkoenig jackkoenig merged commit 1880b4d into chipsalliance:main Aug 4, 2023
14 checks passed
@mikeurbach mikeurbach deleted the mikeurbach/at-module-body-end branch August 7, 2023 19:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature New feature, will be included in release notes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants