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. The final adder is kogge stone.
-
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 with ten thousand random inputs; d for full deterministic testing with all input possibilities 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. Testing is done with Icarus.
-
Example commands and corresponding output:
-
Perl implementation.