Generation of Wallace multiplier in Verilog using Perl
John Bryan
 A Perl script is written to generate unsigned or signed nonrecoded Wallace
multiplier Verilog of various size.

Perl implementation.

There are five input arguments:
 Multiplier bit length: Domain is [2,64].
 Multiplicand bit length: Domain is [2,64].
 u or s: u for unsigned, s for signed
 r or d: r for partial random testing; d for full deterministic testing.

r for partial random testing: After generating the Verilog
multiplier code, the Perl script will generate a Verilog
testbench, test the multiplier in Icarus Verilog with ten
thousand random inputs.

d for full deterministic testing: All input possiblities are tested.

An integer representing for how many additional input lengths,
after the intitial input lengths specified in argument 1
and 2, the script should generate the multiplier code and
test. Multiplier and multiplicand bit lengths will alternately
increment by 1 from the initial input lengths.

Example output:

The final adder is a kogge stone adder.