Legal claims defining the scope of protection, as filed with the USPTO.
1. A method of reducing subexpressions in structural design representations, said method comprising: receiving an initial design, wherein said initial design represents an electronic circuit containing an XOR gate; selecting a first simplification mode for said initial design from a set of applicable simplification modes, wherein said first simplification mode is an XOR/XNOR simplification mode; performing a simplification of said initial design according to said first simplification mode to generate a reduced design containing a reduced number of XOR gates; determining whether a size of said reduced design is less than a size of said initial design; and in response to determining that said size of said reduced design is less than a said size of said initial design, replacing said initial design with said reduced design.
2. The method of claim 1 , further comprising, in response to determining that said size of said reduced design is not less than a said size of said initial design: selecting a second simplification mode for said initial design from a set of applicable simplification modes; and performing a simplification of said initial design according to said second simplification mode to generate a reduced design.
3. The method of claim 2 , wherein said step of selecting a second simplification mode for said initial design from a set of applicable simplification modes further comprises selecting said first simplification mode for said initial design from a set composed of an AND/OR simplification mode and an XOR/XNOR simplification mode.
4. The method of claim 2 , wherein said step of performing a simplification of said initial design according to said second simplification mode to generate a reduced design further comprises: identifying a minimal set of one or more roots, wherein said one or more roots represent one or more functions requiring preservation; enqueueing in one or more root queues one or more leaves of each of said one or more roots; using a set of rewriting rules to simplify said one or more root queues; for each one or more roots in said one or more root queues, replacing one or more common leaves in said root queue of said first gate with said second gate, wherein said first gate is a superset of said second gate; clustering said one or more roots into one or more leaf-disjoint groups; successively eliminating one or more common leaf sets from each of said one or more root queues; creating corresponding gates over said common leaf sets; replacing common leaves in said root queues with new gates, thus resulting in adding said new gates to said root queues; and building one or more depth-balanced trees for each root.
5. The method of claim 1 , wherein: said step of identifying a minimal set of one or more roots further comprises identifying a minimal set of one or more AND/OR roots, wherein said one or more roots represent one or more functions requiring preservation; said step of enqueueing in one or more root queues one or more leaves of each of said one or more roots further comprises enqueueing in one or more root queues one or more AND leaves of each of said one or more roots; said step of creating corresponding gates over said common leaf sets further comprises creating corresponding AND gates over said common leaf sets; said step of replacing common leaves in said root queues with new gates further comprises replacing common leaves in said root queues with new AND gates; and said step of adding said new gates to said root queues further comprises adding said new AND gates to said root queues; and said step of building one or more depth-balanced trees for each root further comprises building one or more depth-balanced AND trees for each AND root.
6. The method of claim 5 , wherein said step of performing a simplification of said initial design according to said first simplification mode to generate a reduced design further comprises: identifying a minimal set of one or more roots, wherein said one or more roots represent one or more functions requiring preservation; enqueueing in one or more root queues one or more leaves of each of said one or more roots; using a set of rewriting rules to simplify said one or more root queues; for each one or more roots in said one or more root queues, replacing one or more common leaves in said root queue of said first gate with said second gate, wherein said first gate is a superset of said second gate; clustering said one or more roots into one or more leaf-disjoint groups; successively eliminating one or more common leaf sets from each of said one or more root queues; creating corresponding gates over said common leaf sets; replacing common leaves in said root queues with new gates, thus resulting in adding said new gates to said root queues; and building one or more depth-balanced trees for each root.
7. The method of claim 4 , wherein: said step of identifying a minimal set of one or more roots further comprises identifying a minimal set of one or more XOR/XNOR roots, wherein said one or more roots represent one or more functions requiring preservation; said step of enqueueing in one or more root queues one or more leaves of each of said one or more roots further comprises enqueueing in one or more root queues one or more XOR leaves of each of said one or more roots; said step of creating corresponding gates over said common leaf sets further comprises creating corresponding XOR gates over said common leaf sets; said step of replacing common leaves in said root queues with new gates further comprises replacing common leaves in said root queues with new XOR gates; said step of adding said new gates to said root queues further comprises adding said new XOR gates to said root queues; and said step of building one or more depth-balanced trees for each root further comprises building one or more depth-balanced XOR trees for each XOR root.
Unknown
March 4, 2008
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.