Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds the Mux6 and Mux5 templates.
These templates will contain inputs of 6 bit selector/64 constants and 5 bit selector/32 constants respectively, and output the appropriate constant.
They are a tree (of depth 2) of mux components. The leaf components for both templates are mux3 components and handle the selector's least significant 3 bits and the root component handles the most significant 3 bits and 2 bits respectively.
I also added test cases for the new templates.
The tree based implementation does have a bit more constraints than if they were implemented "inline". But it should be within the same order of magnitude, and it is a whole lot easier to read and implement (hence less chance to be buggy).