RMMixed is a mixed radix synthesis tool based on fixed polarity Reed-Muller expansions over Galois field arithmetic [1]. Taking into account the actual values for switching energy and area for arithmetic components the synthesis tool searches for the optimal solution with respect to the gate level characteristics. An example component library for 1-of-n encoded logic is included.

List of features

The tool is implemented in two versions: command line tool (rmmixed-cmd.jar) and Tcl console (rmmixed.jar). Both share the same internal structure and algorithms, the different is in the interface.

Command line tool can be used to compute a Reed-Muller expansions of one of the predefined radix models, which include uniform radix binary, ternary, quaternary expansions and the following two-level radix modes: 2→3, 2→4, 4→2. The expansion is minimised and mapped into provided library of Galois field arithmetic components. The circuit optimisation can be made by estimating total energy, area or switching activity of the circuit. At the moment the only accepted input format is the truth table. Supported output format is structural Verilog.

Tcl version of the tool is designed mainly for reseach purposes, while the command line tool has been made for intensive benchmark runs. Tcl version has an extended list of features accessible through the Tcl commands:

  • the tool supports arithmetic in any Galois field;
  • Reed-Muller expansions can be computed in any uniform radix (assuming that corresponding GF exists) or a two-level radix model;
  • the tool includes an expression calculator for GF arithmetic.

Supported input and output formats are listed below:

  • Input of the tool is a list of truth vectors in a text format.
  • Library of components should be specified in Verilog format. Each arithmetic component is defined as a separate module and built using generic cells or runtime library components. In case if the library is implemented using technology independent cells the tool is unable to estimate power and area of the circuit, so the only possible optimisation criterion is the number of switching wires.
  • Output of the tool is a Verilog file containing the synthesised circuit as a single module.


TCL console version of the tool can be downloaded here:

Command line version can be downloaded here:

This is a cross-platform command-line tool. It requires Java runtime environment (JRE) version 1.6 or higher.


java -jar rmmixed-cmd.jar [program arguments]


java -jar rmmixed.jar [program arguments]

For the details see readme.html or doc/index.html inside the archive.


  1. A. Rafiev, J. P. Murphy, and A. Yakovlev, "Quaternary Reed-Muller expansions of mixed radix arguments in cryptographic circuits," in Proc. 39th International Symposium on MVL, 2009.

Last modified 16/11/2011 by IGC