Skip to content

Conversation

jackkoenig
Copy link
Contributor

Fixes #4218

One can question the need for this, as it's just making <> not error in a few more cases. The main motivation is that #4205 causes some existing uses of <> that used to work no longer work. It's an unnecessary breakage that is fixed by this change.

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

  • Bugfix

Desired Merge Strategy

  • Squash

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.6.x, 5.x, or 6.x depending on impact, API modification or big change: 7.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.

@jackkoenig jackkoenig added this to the 6.x milestone Jun 25, 2024
@jackkoenig jackkoenig added the Bugfix Fixes a bug, will be included in release notes label Jun 25, 2024
val w1, w2 = Wire(new MyBundle)
w2 <> w1
})
chirrtl should include("connect w2, w1")
Copy link
Member

Choose a reason for hiding this comment

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

💯

Copy link
Contributor

Choose a reason for hiding this comment

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

i never thought that <> was very sound for connecting two wires, so this is no worse than before 🤷‍♀️

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Until recently, I didn't know it even could work for two wires. As I mention in #4218, it does because of the special logic to sometimes emit FIRRTL bulk connects. So that work which was intended to be purely an optimization and not API visible actually extended the <> API in some funky ways.

This PR just makes it slightly more consistent in its funkiness 😇

@jackkoenig jackkoenig merged commit 0a3d157 into main Jul 1, 2024
@jackkoenig jackkoenig deleted the fix-bulk-connection-emission branch July 1, 2024 22:24
@mergify mergify bot added the Backported This PR has been backported label Jul 1, 2024
mergify bot pushed a commit that referenced this pull request Jul 1, 2024
chiselbot pushed a commit that referenced this pull request Jul 1, 2024
(cherry picked from commit 0a3d157)

Co-authored-by: Jack Koenig <koenig@sifive.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Backported This PR has been backported Bugfix Fixes a bug, will be included in release notes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Bulk connection emission for <> fails for "input" wires
3 participants