-
Notifications
You must be signed in to change notification settings - Fork 572
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
Move more Data methods to BaseType and base connection checks on BaseType. #3442
Move more Data methods to BaseType and base connection checks on BaseType. #3442
Conversation
@jackkoenig @azidar @mwachs5 I don't have the ability to request reviews yet, but this is the next (and last, for now) internal refactoring that will help Property types re-use some existing functionality. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems like at the point where we are actually issuing the connect it should error out if it doesn't know what to emit, and at this point we only know how to emit for Data, right?
a0a0fce
to
7063aa0
Compare
12702a5
to
f1ca2b9
Compare
@jackkoenig I think this is ready for another look when you get a chance. Curious what you think of the refactor I did after the thread last week. |
Implementation has changed quite a bit.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I approve of the changes to MonoConnect modulo a few nits, but that's very clever, nice.
I have some questions about ref
(and perhaps we should also think about them for lref
).
f1ca2b9
to
0817e22
Compare
In the last update I dialed back most of the changes to move methods from Data to BaseType. Now it is just name-related helpers for the error messages used in checkConnection. I think a lot of the comments just go away since I'm not moving those. I think I've also addressed the antipatterns in the new methods in MonoConnect.scala. So this should be ready for another review. |
@jackkoenig when you get a chance, please take one last look, but I think this should be ready to merge. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work! Thanks for humoring me 🙂
This includes the API, Chisel IR, Converter, FIRRTL IR, and Serializer support for Property connections. It also includes moving requireVisible from Data to BaseType, which is required but was omitted from #3442.
Contributor Checklist
docs/src
?Type of Improvement
Desired Merge Strategy
Release Notes
MonoConnect.elemConnect is updated to accept any BaseType, so its checks can be re-used for any source and sink BaseType that are already known to be compatible.
Reviewer Checklist (only modified by reviewer)
3.5.x
,3.6.x
, or5.x
depending on impact, API modification or big change:6.0
)?Enable auto-merge (squash)
, clean up the commit message, and label withPlease Merge
.Create a merge commit
.