Patent US539258A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5282147A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for optimizing a logic network

Assignee: International Business Machines Corp
•
Filing: 1991-08-02
•
Granted: 1994-01-25
•
Expires: 2011-08-02
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A system for optimizing a logic network including expressing the logic network as an original graph having vertices, edges which connect the vertices and which represent connections in the logic network, and inversion markings for representing inverters in the logic network; determining a fundamental cycle(s) in the original graph; sorting the determined fundamental cycle(s) according to its parity; forming a final graph by processing the fundamental cycle(s) so as to optimize inverter placement therein while maintaining the parity thereof; comparing the inversion markings of the original and final graphs to determine a set of transformation locations in the logic network; and re-configuring the logic network in accordance with the determined transformation locations.

Inventors

  • 👤 John W. Goetz
  • 👤 David J. Hathaway

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 20:39
CPC Classifications
G; G06; G06F; G06F30/00; G06F30/30; G06F30/32; G06F30/327

Claims Analysis

Total Claims: 18
Claim 1
Independent Claim 236 words
A logic synthesis method for optimizing a logic network, comprising the steps of: expressing the logic network as an original graph having a plurality of vertices each representing a set of connections within the logic network which can be simultaneously inverted without modifying the function of the logic network and without increasing the cost of the logic network, a plurality of edges which connect the vertices and which represent connections in the logic network, and inversion markings, disposed on the edges, for representing inverters in the logic network; determining at least one fundamental cycle in the original graph, the at least one fundamental cycle being those vertices and edges of the original graph which form a loop and from which any other loops in the original graph can be derived; sorting the determined at least one fundamental cycle in accordance with a parity of the determined at least one fundamental cycle, the parity being determined in accordance with an odd and even number of inversion markings in the at least one fundamental cycle; forming a final graph by processing the at least one fundamental cycle so as to optimize inverter placement therein while maintaining the parity of the at least one fundamental cycle; comparing the inversion markings of the original and final graphs to determine a set of transformation locations in the logic network; and re-configuring the logic network in accordance with the determined transformation locations.
Claim 2
Dependent Claim 236 words
A logic synthesis method for optimizing a logic network, comprising the steps of: expressing the logic network as an original graph having a plurality of vertices each representing a set of connections within the logic network which can be simultaneously inverted without modifying the function of the logic network and without increasing the cost of the logic network, a plurality of edges which connect the vertices and which represent connections in the logic network, and inversion markings, disposed on the edges, for representing inverters in the logic network; determining at least one fundamental cycle in the original graph, the at least one fundamental cycle being those vertices and edges of the original graph which form a loop and from which any other loops in the original graph can be derived; sorting the determined at least one fundamental cycle in accordance with a parity of the determined at least one fundamental cycle, the parity being determined in accordance with an odd and even number of inversion markings in the at least one fundamental cycle; forming a final graph by processing the at least one fundamental cycle so as to optimize inverter placement therein while maintaining the parity of the at least one fundamental cycle; comparing the inversion markings of the original and final graphs to determine a set of transformation locations in the logic network; and re-configuring the logic network in accordance with the determined transformation locations.
Claim 3
Dependent Claim 16 words
The method according to claim 1, wherein said determining step includes conducting a depth first search.
Claim 4
Dependent Claim 24 words
The method according to claim 1, wherein said final graph forming step includes removing inversion markings from the graph, thereby forming an inversion-free graph.
Claim 5
Dependent Claim 24 words
The method according to claim 3, wherein an inversion marking is applied to a sorted odd fundamental cycle having a fewest number of vertices.
Claim 6
Dependent Claim 44 words
The method according to claim 3, wherein said final graph forming step further includes applying a fewest number of inversion markings to the edges of the inversion-free graph such that an optimal number of sorted odd fundamental cycles of the tree graph are odd.
Claim 7
Dependent Claim 40 words
The method according to claim 5, wherein said final graph forming step further includes applying a fewest number of inversion markings to the edges of the inversion-free graph such that an optimal number of sorted even fundamental cycles remain even.
Claim 8
Dependent Claim 36 words
The method according to claim 1, further comprises storing information representing edges which are timing critical, and wherein said final graph forming step includes adding inversion markings only on those edges which are not timing critical.
Claim 9
Dependent Claim 27 words
The method according to claim 1, wherein said final graph forming step includes applying a transformation which inverts a connection by adding an inverter to the connection.
Claim 10
Dependent Claim 27 words
The method according to claim 1, wherein said final graph forming step includes applying a transformation which inverts a connection without adding an inverter to the connection.
Claim 11
Dependent Claim 60 words
The method according to claim 1, wherein said expressing step includes applying a transformation which re-configures the logic network such that the reconfigured logic network is of lower cost than the logic network, and includes adding inverters to the reconfigured logic network such that a function of the reconfigured logic network is equal to a function of the logic network.
Claim 12
Dependent Claim 19 words
The method according to claim 1, wherein said re-configuring step further includes designating vertices in accordance with said comparison.
Claim 13
Dependent Claim 30 words
The method according to claim 1, further comprising storing transformations for circuit elements of the logic network, and wherein said re-configuring step includes applying stored transformations to said designated vertices.
Claim 14
Dependent Claim 21 words
The method according to claim 1, further comprising a step of inputting cost information representing a cost of a logic transformation.
Claim 15
Dependent Claim 27 words
The method according to claim 1, wherein one of said vertices is an uninvertible vertex which represents all connections in the logic network which cannot be inverted
Claim 16
Dependent Claim 245 words
A logic synthesizer for optimizing a logic network, comprising: means for expressing the logic network as an original graph having a plurality of vertices each representing a set of connections within the logic network which can be simultaneously inverted without modifying the function of the logic network and without increasing a cost of the logic network, a plurality of edges which connect the vertices and which represent connections in the logic network, and inversion markings, disposed on the edges, for representing inverters in the logic network; means for determining at least one fundamental cycle in the original graph, the at least one fundamental cycle being those vertices and edges of the original graph which form a loop and from which any other loops in the original graph can be derived; means for sorting the determined at least one fundamental cycle in accordance with a parity of the determined at least one fundamental cycle, the parity being determined in accordance with an odd and even number of inversion markings in the at least one fundamental cycle; means for forming a final graph by processing the at least one fundamental cycle so as to optimize inverter placement therein while maintaining the parity of the at least one fundamental cycle; a comparator for comparing the inversion markings of the original and final graphs to determine a set of transformation locations in the logic network; and means for re-configuring the logic network in accordance with the determined transformation locations.
Claim 17
Dependent Claim 245 words
A logic synthesizer for optimizing a logic network, comprising: means for expressing the logic network as an original graph having a plurality of vertices each representing a set of connections within the logic network which can be simultaneously inverted without modifying the function of the logic network and without increasing a cost of the logic network, a plurality of edges which connect the vertices and which represent connections in the logic network, and inversion markings, disposed on the edges, for representing inverters in the logic network; means for determining at least one fundamental cycle in the original graph, the at least one fundamental cycle being those vertices and edges of the original graph which form a loop and from which any other loops in the original graph can be derived; means for sorting the determined at least one fundamental cycle in accordance with a parity of the determined at least one fundamental cycle, the parity being determined in accordance with an odd and even number of inversion markings in the at least one fundamental cycle; means for forming a final graph by processing the at least one fundamental cycle so as to optimize inverter placement therein while maintaining the parity of the at least one fundamental cycle; a comparator for comparing the inversion markings of the original and final graphs to determine a set of transformation locations in the logic network; and means for re-configuring the logic network in accordance with the determined transformation locations.
Claim 18
Dependent Claim 50 words
The logic synthesizer according to claim 15, representing a transformation for at least one of an AND gate, an OR gate, a NOR gate, a NAND gate, an EXCLUSIVE OR gate, an EXCLUSIVE NOR gate, a full adder circuit, a decoder circuit, a multiplexer, a comparator, and a latch circuit.

References Cited (Backward Citations)

US4566064A Cited
US4636966A Cited
US4703435A Cited
US4700316A Cited
US5029102A Cited
US4916627A Cited
US5003487A Cited
US5200907A Cited
US5197015A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1997-01-24 1997-07-26 1998-01-25 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2001-01-24 2001-07-26 2002-01-25 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2005-01-24 2005-07-26 2006-01-25 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag