Skip to content
This repository has been archived by the owner on Aug 20, 2024. It is now read-only.

Relax spec on 0-bit mux select, use SFC behavior #2285

Merged
merged 1 commit into from
Jul 6, 2021

Conversation

seldridge
Copy link
Member

Change the FIRRTL specification document to allow for 0-bit mux selects.
The existing ZeroWidths pass will promote these to a 1-bit, 0-valued
select signal (which effectively means that the mux can be optimized
away to just the false path).

Signed-off-by: Schuyler Eldridge [email protected]

Contributor Checklist

  • [n/a] Did you add Scaladoc to every public function/method?
  • Did you update the FIRRTL spec to include every new feature/behavior?
  • [n/a] Did you add at least one test demonstrating the PR?
  • [n/a] Did you delete any extraneous printlns/debugging code?
  • Did you specify the type of improvement?
  • Did you state the API impact?
  • Did you specify the code generation impact?
  • Did you request a desired merge strategy?
  • [n/a] Did you add text to be included in the Release Notes for this change?

Type of Improvement

  • documentation

API Impact

None.

Backend Code Generation Impact

Non.e

Desired Merge Strategy

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

Release Notes

None.

Reviewer Checklist (only modified by reviewer)

  • Did you add the appropriate labels?
  • Did you mark the proper milestone (1.2.x, 1.3.0, 1.4.0) ?
  • Did you review?
  • Did you check whether all relevant Contributor checkboxes have been checked?
  • Did you mark as Please Merge?

Change the FIRRTL specification document to allow for 0-bit mux selects.
The existing ZeroWidths pass will promote these to a 1-bit, 0-valued
select signal (which effectively means that the mux can be optimized
away to just the false path).

Signed-off-by: Schuyler Eldridge <[email protected]>
@seldridge seldridge requested a review from azidar June 30, 2021 05:37
@seldridge
Copy link
Member Author

This could be backported everywhere. However, prior to the unreleased 1.4.4 (which includes #2182 that restricts the mux select type to uninferred, zero-bit, or one-bit), the SFC will allow any width. Therefore, it may be good to only backport this to 1.4.x, but to also update the specs on 1.3.x and earlier to indicate that any width is allowed. This may be too pedantic, though.

@jackkoenig jackkoenig added this to the 1.4.x milestone Jul 6, 2021
@seldridge seldridge merged commit 2bc35e6 into master Jul 6, 2021
@mergify mergify bot added the Backported This PR has been backported to marked stable branch label Jul 6, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Backported This PR has been backported to marked stable branch
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants