RMMixed User Manual

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. For the command line options refer to Command line tool reference.

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:

Using the tool

java -jar rmmixed.jar ?tcl_file?

tcl_file

Optional. Execute RMMixed-specific Tcl script from the specified file.

The tool provides Tcl console with all standard Tcl commands included. For the list of RMMixed-specific commands, see The list of Tcl commands.

The tool requires Java SE 6 runtime environment.

Examples

java -jar rmmixed.jar examples/serp1_b.tcl

Generates a binary Serpent SBox1 from the provided set of input vectors (examples/in/serp1_b.in) using a generic library (examples/lib/gflib_relaxed_generic.v), optimises it for switching activity, and saves the output to examples/out/serp1_b.v.

java -jar rmmixed.jar examples/serp1_q.tcl

Generates a quaternary Serpent SBox1 from the provided set of input vectors (examples/in/serp1_q.in) using a generic library (examples/lib/gflib_relaxed_generic.v), optimises it for switching activity, and saves the output to examples/out/serp1_q.v.

java -jar rmmixed.jar examples/aes_bq.tcl

Generates a binary-to-quaternary mixed radix AES SBox from the provided set of input vectors (examples/in/aes_q.in) using a generic library (examples/lib/gflib_relaxed_generic.v), optimises it for switching energy, and saves the output to examples/out/aes_bq.v. Polarity is set to 0.