Generalize Parmys Mult_Split to Allow for Multipliers Whose Input Widths are not Equal #3143
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.
Description
This PR fixes issue #2532. Several benchmarks including difeq2.v and mcml.v where failing parmys on the 7-series due to the 7-series DSP blocks having unequal input widths (25x18). This was caused due to parmys assuming that input widths where always equal in its multiplier splitter. This PR removes that assumption and allows for both types of multipliers to be split properly.
How Has This Been Tested?
Several Verilog designs with a variety of multiplier sizes where synthesized onto a modified version of the k6_frac_N10 arch that included multipliers of various sizes and different input widths (i.e. 18x25). The 7series_BRAM_DSP_carry.xml arch was also used for testing.
Types of changes
Checklist: