Generation of Wallace multiplier in Verilog using Perl
- A Perl script is written to generate unsigned or signed nonrecoded Wallace
multiplier Verilog of various size.
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.
The final adder is a kogge stone adder.