Module Field_ops_lib.Ground_multiplier

A full "naive" multiplication module without tricks.

This module use used as the base case of more complicated recursive multipliers (eg: Karatsuba_ofman_mult and Approx_msb_multiplier)

This module offers 3 ways of implementing multipliers, which can be specified by Config.t, they are:

Mixed and Hybrid_dsp_and_luts also support a lut_only_hamming_weight_threshold that uses LUTs-only to implement multiplication when b is a constant and its Non-Adjacent Form has a low hamming weight. This is useful to tune LUT vs DSP trade-off in designs. The multiplier implemented in LUTs uses the high-school multiplication algorithm.

module Config : sig ... end
module For_testing : sig ... end