US4916627A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Logic path length reduction using boolean minimization
Assignee: International Business Machines Corp
•
Filing: 1987-12-02
•
Granted: 1990-04-10
•
Expires: 2007-12-02
Abstract
Abstract An apparatus and method for reducing the number of gate levels of a logic network. The gates of the network are levelized in a forward and backward direction to determine the worst path length of the network. A gate in the worst path is selected in accordance with a specified scoring function. A local Boolean compression is applied to the selected gate, thereby reducing the number of gate levels of the logic network.
Inventors
- 👤 David J. Hathaway
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-27 17:39
CPC Classifications
G; G06; G06F; G06F30/00; G06F30/30; G06F30/32; G06F30/327
Claims Analysis
Total Claims: 18
Claim 1
Independent Claim
230 words
A method for reducing a logic network to a specified number of gate levels, the logic network having a plurality of gates, a number of gate levels, at least one input, at least one output, and at least one worst path which represents a path through the logic network having at least as many gate levels as any other path through the logic network, the method comprising the steps of: receiving data representing the topology of the logic network; levelizing the gates of the logic network in a forward and a backward direction; determining all of the gates of the logic network which are in the at least one worst path; specifying a scoring function; selecting, in accordance with the scoring function, one of the gates in the at least one worst path; applying a local Boolean compression to the selected gate, thereby producing a compressed logic network having fewer gate levels than the number of gate levels of the logic network prior to compression; comparing the number of gate levels of the compressed logic network with the specified number of gate levels; and if the compressed logic network has a number of gate levels which is greater than the specified number of gate levels, then repeating said levelizing, determining, specifying, selecting, applying, and comparing steps on the compressed logic network until the specified number of gate levels is achieved.
Claim 2
Independent Claim
230 words
A method for reducing a logic network to a specified number of gate levels, the logic network having a plurality of gates, a number of gate levels, at least one input, at least one output, and at least one worst path which represents a path through the logic network having at least as many gate levels as any other path through the logic network, the method comprising the steps of: receiving data representing the topology of the logic network; levelizing the gates of the logic network in a forward and a backward direction; determining all of the gates of the logic network which are in the at least one worst path; specifying a scoring function; selecting, in accordance with the scoring function, one of the gates in the at least one worst path; applying a local Boolean compression to the selected gate, thereby producing a compressed logic network having fewer gate levels than the number of gate levels of the logic network prior to compression; comparing the number of gate levels of the compressed logic network with the specified number of gate levels; and if the compressed logic network has a number of gate levels which is greater than the specified number of gate levels, then repeating said levelizing, determining, specifying, selecting, applying, and comparing steps on the compressed logic network until the specified number of gate levels is achieved.
Claim 3
Dependent Claim
32 words
The method according to claim 1, wherein the selected gate is at least two levels from the at least one input and at least one level from the at least one output.
Claim 4
Dependent Claim
39 words
The method according to claim 1, further comprising the step of: determining those gates of the logic network in a long path which represents a path through the logic network having more than the specified number of gate levels.
Claim 5
Dependent Claim
47 words
The method according to claim 1, further comprising the step of: calculating for each of the gates a long path convergence factor which represents a number of paths through the logic network having more than the specified number of gate levels which converge at a particular gate.
Claim 6
Dependent Claim
70 words
The method according to claim 1, further comprising the steps of: determining for each of the gates of the logic network an arrival time which represents the maximum path length from the at least one input to a particular gate; and determining for each of the gates of the logic network a required time which represents the minimum path length from the at least one output to a particular gate.
Claim 7
Dependent Claim
36 words
The method according to claim 5, further comprising the step of: calculating for each of the gates of the logic network a slack value which represents a difference between the required time and the arrival time.
Claim 8
Dependent Claim
32 words
The method according to claim 1, further comprising: calculating for each of the gates a worst path convergence factor which represents a number of worst paths which converge at a particular gate.
Claim 9
Dependent Claim
57 words
The method according to claim 7, further comprising the step of: applying a trial local Boolean compression on those gates of the logic network having a worst path convergence factor greater than zero and which are at least two levels from the at least one input and at least one level from the at least one output.
Claim 10
Dependent Claim
36 words
The method according to claim 8, further comprising the step of: calculating a gate count increase value which represents a number of gates added to the logic network after said trial local Boolean compression is applied.
Claim 11
Dependent Claim
37 words
The method according to claim 8, further comprising the step of: calculating a connection count increase value which represents a number of input connections added to the logic network after said trial Boolean compression step is applied.
Claim 12
Independent Claim
387 words
A method for reducing a logic network to a specified number of gate levels, the logic network having a plurality of gates, a number of gate levels, at least one input, at least one output, and at least one worst path which represents a path through the logic network having at least as many gate levels as any other path through the logic network, the method comprising the steps of: receiving data representing the topology of the logic network; levelizing the gates in a forward and backward direction; calculating for each of the gates a worst path convergence factor which represents a number of worst paths which converge at a particular gate; calculating for each of the gates a long path convergence value which represents a number of paths through the logic network having more than the specified number of gate levels which converge at a particular gate; applying a trial local Boolean compression on those gates of the logic network having a worst path convergence factor greater than zero and which are at least two levels from the at least one input and at least one level from the at least one output; calculating a gate count increase value which represents a number of gates added to the logic network after said trial local Boolean compression is applied; calculating a connection count increase value which represents a number of input connections added to the logic network after said trial Boolean compression is applied; specifying a scoring function; selecting, in accordance with the scoring function, one of the gates in the at least one worst path; applying a local Boolean compression to the selected gate, thereby producing a compressed logic network having fewer gate levels than the number of gate levels of the logic network prior to compression; comparing the number of gate levels of the compressed logic network with the specified number of gate levels; and if the compressed logic network has a number of gate levels which is greater than the specified number of gate levels, than repeating said levelizing, worst path convergence factor calculating, long path convergence value calculating, trial Boolean compression applying, gate count increase calculating, connection count increase calculating, specifying, selecting, local Boolean compression applying, and comparing steps on the compressed logic network until the specified number of gate levels is achieved.
Claim 13
Independent Claim
387 words
A method for reducing a logic network to a specified number of gate levels, the logic network having a plurality of gates, a number of gate levels, at least one input, at least one output, and at least one worst path which represents a path through the logic network having at least as many gate levels as any other path through the logic network, the method comprising the steps of: receiving data representing the topology of the logic network; levelizing the gates in a forward and backward direction; calculating for each of the gates a worst path convergence factor which represents a number of worst paths which converge at a particular gate; calculating for each of the gates a long path convergence value which represents a number of paths through the logic network having more than the specified number of gate levels which converge at a particular gate; applying a trial local Boolean compression on those gates of the logic network having a worst path convergence factor greater than zero and which are at least two levels from the at least one input and at least one level from the at least one output; calculating a gate count increase value which represents a number of gates added to the logic network after said trial local Boolean compression is applied; calculating a connection count increase value which represents a number of input connections added to the logic network after said trial Boolean compression is applied; specifying a scoring function; selecting, in accordance with the scoring function, one of the gates in the at least one worst path; applying a local Boolean compression to the selected gate, thereby producing a compressed logic network having fewer gate levels than the number of gate levels of the logic network prior to compression; comparing the number of gate levels of the compressed logic network with the specified number of gate levels; and if the compressed logic network has a number of gate levels which is greater than the specified number of gate levels, than repeating said levelizing, worst path convergence factor calculating, long path convergence value calculating, trial Boolean compression applying, gate count increase calculating, connection count increase calculating, specifying, selecting, local Boolean compression applying, and comparing steps on the compressed logic network until the specified number of gate levels is achieved.
Claim 14
Dependent Claim
38 words
The method according to claim 11, wherein said scoring function is a function of at least one of the worst path convergence factor, gate count increase value, the long path convergence factor, and the connection count increase value.
Claim 15
Dependent Claim
69 words
The method according to claim 11, further comprising the steps of: determining for each of the gates of the logic network an arrival time which represents the maximum path length from the at least one input to a particular gate; and determining for each of the gates of the logic network, a required time which represents the minimum path from the at least one output to a particular gate.
Claim 16
Dependent Claim
32 words
The method according to claim 13, further comprising the step of: calculating for each of the gates a slack value which represents the difference of the required time minus the arrival time.
Claim 17
Dependent Claim
19 words
The method according to claim 14, wherein those gates having the most negative slack values are in worst path.
Claim 18
Dependent Claim
27 words
The method according tro claim 15, wherein those gates having negative slack values which are more positive than the most negative slack values are in long paths.
References Cited (Backward Citations)
US944001A
Cited
US940013A
Cited
US940020A
Cited
US940008A
Cited
US943001A
Cited
US938005A
Cited
US3093751A
Cited
US3622762A
Cited
US3705409A
Cited
UST940020I4
Cited
UST940008I4
Cited
UST943001I4
Cited
UST944001I4
Cited
UST938005I4
Cited
UST940013I4
Cited
US4263651A
Cited
US4386403A
Cited
US4377849A
Cited
US4541067A
Cited
US4566064A
Cited
US4725975A
Cited
US4695968A
Cited
US4591993A
Cited
US4703435A
Cited
US4698760A
Cited
US4754408A
Cited
US4816999A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1993-04-09 | 1993-10-09 | 1994-04-10 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 1997-04-09 | 1997-10-09 | 1998-04-10 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2001-04-09 | 2001-10-09 | 2002-04-10 | $7700.00 | Window Closed / Lapsed |