July 1, 1994 SIS(1) map [-b #][-f #][-i][-m #][-n #][-r][-s][-p][-v #] [-A][-B #][-F][-G][-W] Perform a technology mapping on the current network. A library must be read using the read_library command before mapping can be performed. The result of the mapping may become invalidated if a command such as plot or print_stats -f is executed which computes a factored form representation of every node. To produce a minimum area circuit with no consideration for load limits, the recommended option is map -m 0. To produce a minimum area circuit that respects load limits, the recom- mended option is map -m 0 -AF. Use _check_load_limit command to check for load limit violations. To produce a minimum delay circuit that respects load limits, the recom- mended option is map -n 1 -AFG. To specify required times in order to allow the mapper to trade off delay and area, use the set_delay command. Details about the meanings of the various options follow. The -b n sets the number by which the load value should be multiplied in case of a load limit violation during fanout optimization. The -f n option controls the internal fanout handling. A value of '0' disables it completely (i.e. the mapping is strictly tree-based). A value of '1' enables an heuristics approximating the cost of the previ- ous tree at fanout branches. A value of '2' enables the usage of cells with internal fanout (such as EXOR and MULTIPLEXER). A value of '3' (default) enables both. None of these values is guaranteed to give the best solution in all cases, but '3' usually does. A warning is issued if the current value can give bad results with the current network (use undo before mapping again). The -i option disables the inverter-at-branch-point heuristic. It is intended for experimentation with different mapping heuristics. The -m option controls the cost function used for a simple version of the tree covering algorithm. A mode of '0' (the default) minimizes the area of the resulting circuit. A mode of '1' minimizes the delay of the resulting circuit (without regard to the total area). An intermediate value uses as cost function a linear combination of the two, and can be used to explore the area-delay tradeoff. A value of '2' minimizes the delay on an estimate of the critical path obtained from a trivial 2- input NAND mapping, and the area elsewhere. The -n option allows the access to a better tree covering algorithm. It can only be used in delay mode, i.e. with an argument of 1: -n 1. This algorithm gives better performance than -m 1 but is noticeably slower. It uses a finer dynamic programming algorithm that takes output load values into account, while -m 1 option supposes all loads to be the same. As a consequence, the -n 1 option performs better than -m 1 espe- cially with rich libraries of gates. Both algorithms use heuristics to 1 SIS(1) July 1, 1994 guess the load value at multiple fanout points. Both options should always be used with fanout optimization turned on. If -r is given (raw mode), the network must already be either 1- and 2- input NAND gates, or 1- and 2-input NOR gates form, depending on whether a NAND-library, or a NOR-library was specified when the library was ori- ginally read (see read_library). If -r is not given, appropriate com- mands are inserted to transform the network into the correct format. The -s option prints brief statistics on the mapping results. The -p option forces the mapper to ignore the delay information provided by the user at primary inputs and primary outputs (arrival times, required times, loads, drive capability). It is intended for experimen- tal use. This option forces the arrival times and required times to be all 0, the loads and drive capabilities to be all equal to the load and drive capability of the second smallest inverter in the library. If there is only one inverter, the data are taken from that inverter. The -v n options is for development use, and provides debugging informa- tion of varying degrees of verbosity as the mapping proceeds. The -A option recovers area after fanout optimization at little or no delay cost by resizing buffers and inverters. The -B n option controls the enforcement of load limits during fanout optimization. A value of 0 ignores the load limits. A value of 1 takes load limits into account. The default is set to 1. This option is effective only in conjunction with fanout optimization. It is imple- mented by artificially increasing the load at a gate output by a multi- plicative factor whenever the load exceeds the limit specified in the library. The default multiplicative factor is 1000. This value can be changed with the -b n option. There is a priori no reason to change this value. The -F option performs fanout optimization. This disables the internal fanout handling (i.e. forces -f 0). In order to recover area after fanout optimization use the -A option. There are several fanout optimi- zation algorithms implemented in SIS. For details, type help fanout_alg and help fanout_params. The -G option recovers area after fanout optimization at no cost in delay by resizing all gates in the network. The -W option suppresses the warning messages. 2