A method 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 based on the parameter. In some
embodiments, the generated sub-network has several circuit elements,
performs two or more functions, or is stored in an encoded manner. 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,
and (4) replaces the candidate sub-network with the replacement
sub-network in certain conditions. In some embodiments, this method is
performed to map a design to a particular technology library. Some
embodiments provide a data storage structure that stores sub-networks
based on parameters derived from the output functions of the
sub-networks.