This is an old revision of the document!


Synthesis configuration

The synthesis section of the configuration file specifies options for circuit synthesis in general. In particular, it has options for the expression optimizer, which is the interface between the ACT tool-suite and external logic synthesis tools, such as ABC. We use these external tools to perform synthesis of expressions into combinational logic by emitting Verilog files which correspond to a logical expression, running the synthesis tool to get a mapped Verilog file, and converting that back to an ACT netlist.

Most of these options in this file are technology-specific. The configuration file name is expropt.conf. The entire set of parameters are surrounded by begin synth and end.

Liberty Files

This section, within a pair of begin liberty and end blocks, contains paths to liberty files for the cells for this particular technology.

string typical "${ACT_HOME}/act/syn/liberty/osu018_stdcells.lib"

This is the path to the liberty file for the typical corner. This is required for logic synthesis with all currently supported logic synthesis tools (ABC, Yosys, Genus). For Yosys and Genus, additional liberty files for the different corners may also be provided.

string max_power "/path/to/file"
string min_delay "/path/to/file"
string max_delay "/path/to/file"

The max_power corner is the liberty file corresponding to the maximum power corner, which is usually the FF, high-temperature corner. The min_delay corner is the liberty file corresponding to the minimum delay corner, which is usually the FF, low-temperature corner.The max_delay corner is the liberty file corresponding to the maximum delay corner, which is usually the SS, high-temperature corner.

QDI Cells

Bundled Data Cells

Expression Optimizer Options

This section is within a pair of begin expropt and end blocks and contains options for the expression optimizer.

Cache Configuration

This section (cache) contains the location of the expression caches, which contained mapped verilog netlists corresponding to arithmetic/logic expressions for this technology. There are two cache locations - global and local. The global cache must be set. A typical location would be a folder within your ACT_HOME.

string global "${ACT_HOME}/shared_cache/expropt/generic"

As an example, this is the path to the global cache for the generic technology. The expression optimizer will automatically create subdirectories within this directory for each logic synthesis tool and use the appropriate cache.

string local "~/local_expr_cache/generic"

If the local cache location is specified, then it is used instead of the global cache. To use the global cache, simply leave this string unset (commented out).

int invalidate 0

The invalidate option erases the entire cache for this technology when the expression optimizer starts up.