A form of symbolic logic gate, referred to as don't.sub.-- care logic, provides a construct that does not have a technology primitive correspondent, and that is useful for carrying valuable additional information to logic synthesis and/or logic optimization processes. Thus, a logic optimization process may proceed more effectively when presented with such don't.sub.-- care information because, e.g. overlapping combinational logic is simplified (but not always eliminated) and dependency (i.e. shared combinational logic) is resolved between the data input and the enable input. The don't.sub.-- care gate is readily generalized, such that it can be applied for any technology primitives that have an enable line input, where there is potential shared combinational logic between the data input (or any inputs) and the enable input. Such category may include technology primitives, such as a latch, a D.sub.-- flip.sub.-- flop, and a tri-state element.
展开▼