IP PortfolioDatapath and DSPinteger arithmetic
of_multp
Partial-product multiplier (carry-save output)
Maturity simulatedTargets FPGA + ASICDifficulty MediumPriority 1
Partial-product generation (AND array or radix-4 Booth) plus Wallace/Dadda reduction with an extra addend row: out0 + out1 == a*b + c (mod 2^OUT_WIDTH). Core of the OFIP multipliers and MAC; leaves the final carry-propagate add to the user.
Simulated. The RTL is lint clean and passes its self-checking testbench against a reference model in simulation. It has not been run on an FPGA board or in silicon.
Interfaces
| Port | Direction | Kind | Width | Notes |
|---|---|---|---|---|
| a | in | parallel | 32 | |
| b | in | parallel | 32 | |
| pp | out | parallel | 128 |
Standards
No external standard applies.
More in integer arithmetic
| ID | Block | Maturity |
|---|---|---|
| of_add_ripple | Ripple-carry adder | simulated |
| of_add_cla | Carry-lookahead adder | simulated |
| of_add_csel | Carry-select adder | simulated |
| of_add_kogge_stone | Kogge-Stone parallel-prefix adder | fpga-routed |
| of_add_brent_kung | Brent-Kung parallel-prefix adder | simulated |
| of_add_sklansky | Sklansky parallel-prefix adder | simulated |
| of_addsub | Adder/subtractor with flags | simulated |
| of_inc | Incrementer / decrementer | simulated |
| of_abs | Absolute value | simulated |
| of_cmp | Magnitude comparator | simulated |