issie
issie copied to clipboard
Enhance merge/split for multi-way use
Is your feature request related to a problem? Please describe.
"When using the merge wire component, it would be helpful if the software automatically identifies the input that connects to the most significant bit as the primary part. Additionally, having an N-way merge wire or split wire component would be beneficial."
Describe the solution you'd like
N-way split/merge
For merge the number of inputs could be made adjustable via properties. The implementation would be quite complex, but it would be nice to do this. If the split is restricted so that all outputs have same width except for MS one, we need just the one extra box (number of outputs) the same as for the enhanced merge
The more complex (> 2 inputs or outputs) split or merge could be implemented as a rectangular box with the bits labelled for each input/output. There should be a single component which displays in either simple or complex form according to whether number of inputs (or outputs) is
Medium Cost / High benefit
Distinguishing which is the "top" and "bottom" half of split/merge. This happens after width inference anyway, because bits are displayed. However - before width inference (e.g. when this cannot be done) it would be good to display MS and LS on each branch.
Low cost/High Benefit
Describe alternatives you've considered
Additional context The "better" components will need componenttypes which include one extra parameter. That will mean adapting the deserialise algorithm to accept old-style circuits as well as new ones. This is possible now.