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

PortDirectionKindWidthNotes
ainparallel32 
binparallel32 
ppoutparallel128 

Standards

No external standard applies.

More in integer arithmetic

IDBlockMaturity
of_add_rippleRipple-carry addersimulated
of_add_claCarry-lookahead addersimulated
of_add_cselCarry-select addersimulated
of_add_kogge_stoneKogge-Stone parallel-prefix adderfpga-routed
of_add_brent_kungBrent-Kung parallel-prefix addersimulated
of_add_sklanskySklansky parallel-prefix addersimulated
of_addsubAdder/subtractor with flagssimulated
of_incIncrementer / decrementersimulated
of_absAbsolute valuesimulated
of_cmpMagnitude comparatorsimulated