A method is provided for pre-tabulating sub-networks that (1) generates a sub-network
that performs a function, (2) generates a parameter based on this function, and
(3) stores the sub-network in a storage structure based on the generated parameter.
In some embodiments, the generated sub-network has several circuit elements or
performs a set of two or more functions. Some embodiments provide a method for
producing a circuit description of a design that (1) selects a candidate sub-network
from the design, (2) identifies an output function performed by the sub-network,
(3) based on the identified output function, identifies a replacement sub-network
from a storage structure that stores replacement sub-networks, and (4) replaces
the selected candidate sub-network with the replacement sub-network in certain
conditions. Some embodiments provide a data storage structure that stores a plurality
of sub-networks based on parameters derived from the output functions of the sub-networks.