US2005210430A1PendingUtilityA1
System and method to optimize logical configuration relationships in VLSI circuit analysis tools
Individually held — no corporate assignee on recordPriority: Mar 18, 2004Filed: Mar 18, 2004Published: Sep 22, 2005
Est. expiryMar 18, 2024(expired)· nominal 20-yr term from priority
G06F 30/30
43
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
A method for optimizing relationships between logic commands defining a circuit design is described. The method comprises, for each logic command determining whether the logic command is a primitive logic command; and, responsive to the logic command not being a primitive logic command, decomposing the logic command into its most primitive form.
Claims
exact text as granted — not AI-modified1 . A method for optimizing relationships between logic commands defining a circuit design, the method comprising, for each logic command:
determining whether the logic command is a primitive logic command; and responsive to the logic command not being a primitive logic command, decomposing the logic command into its most primitive form.
2 . The method of claim 1 wherein the decomposing comprises representing the logic command as a combination of primitive logic commands.
3 . The method of claim 2 wherein the combination of primitive logic commands is logically equivalent to the logic command.
4 . The method of claim 2 further comprising replacing the logic command with the combination of primitive logic commands.
5 . The method of claim 1 wherein each primitive logic command comprising a first type of primitive logic command has associated therewith an if1list comprising a list of nets and a corresponding logic level to which each of those nets are to be set if a first net of a list of nets following the first type of primitive logic command is set to logic one, and further wherein each primitive logic command comprising a first type of primitive logic command has associated therewith an if0list comprising a list of nets and a corresponding logic level to which each of those nets are to be set if a first net of a list of nets following the first type of primitive logic command is set to logic zero.
6 . The method of claim 1 wherein each primitive logic command comprising a second type of logic command has associated therewith a forbid list comprising a list of nets and corresponding levels thereof that are not permitted to occur.
7 . The method of claim 1 wherein each logic command is followed by a list of one or more nets to which the logic command is to be applied.
8 . The method of claim 1 wherein the logic command is selected from the group of logic commands consisting of ifthen, forbid, mutex, imutex, and merge_nodes commands.
9 . The method of claim 1 wherein each primitive logic command of the combination of more primitive logic commands is selected from a group of logic commands consisting of ifthen and forbid commands.
10 . The method of claim 5 further comprising, for each net listed in the if1list of a net that is set by logic configuration to a logic level of one:
setting a logic level of the listed net to its corresponding logic level; and subsequent to the setting, deleting the if1list and if0list of the net that is set to a logic level of one.
11 . The method of claim 5 further comprising, for each net listed in the if0list of a net that is set by logic configuration to a logic level of zero:
setting a logic level of the listed net to its corresponding logic level; and subsequent to the setting, deleting the if1list and if0list of the net that is set to a logic level of zero.
12 . The method of claim 5 further comprising, for each net listed in the if1list of a net the logic level of which has not been established:
if a logic level of the listed net is set to zero in if1list of the net the logic level of which has not been established, adding contents of an if0list of the listed net to the if1list of net the logic level of which has not been established; and if a logic level of the listed net is set to one in if1list of the net the logic level of which has not been established, adding contents of an if1list of the listed net to the if1list of net the logic level of which has not been established.
13 . The method of claim 5 further comprising, for each net listed in the if0list of a net the logic level of which has not been established:
if a logic level of the listed net is set to zero in if0list of the net the logic level of which has not been established, adding contents of an if0list of the listed net to the if0list of net the logic level of which has not been established; and if a logic level of the listed net is set to one in if0list of the net the logic level of which has not been established, adding contents of an if1list of the listed net to the if0list of net the logic level of which has not been established.
14 . An analysis tool for optimizing relationships between logic commands defining a circuit design, the tool comprising:
means for determining whether a logic command is a primitive logic command; and means responsive to the logic command not being a primitive logic command for decomposing the logic command into its most primitive form.
15 . The tool of claim 14 wherein the means for decomposing comprises means for representing the logic command as a combination of primitive logic commands.
16 . The tool of claim 15 wherein the combination of primitive logic commands is logically equivalent to the logic command.
17 . The tool of claim 15 further comprising means for replacing the logic command with the combination of primitive logic commands.
18 . The tool of claim 14 wherein each primitive logic command comprising a first type of primitive logic command has associated therewith an if1list comprising a list of nets and a corresponding logic level to which each of those nets are to be set if a first net of a list of nets following the first type of primitive logic command is set to logic one, and further wherein each primitive logic command comprising a first type of primitive logic command has associated therewith an if0list comprising a list of nets and a corresponding logic level to which each of those nets are to be set if a first net of a list of nets following the first type of primitive logic command is set to logic zero.
19 . The tool of claim 14 wherein each primitive logic command comprising a second type of logic command has associated therewith a forbid list comprising a list of nets and corresponding levels thereof that are not permitted to occur.
20 . The tool of claim 14 wherein each logic command is followed by a list of one or more nets to which the logic command is to be applied.
21 . The tool of claim 14 wherein the logic command is selected from the group of logic commands consisting of ifthen, forbid, mutex, imutex, and merge_nodes commands.
22 . The tool of claim 14 wherein each primitive logic command of the combination of more primitive logic commands is selected from a group of logic commands consisting of ifthen and forbid commands.
23 . The tool of claim 18 further comprising, for each net listed in the if1list of a net that is set to a logic level of one:
means for setting a logic level of the listed net to its corresponding logic level; and means for deleting the if1list and if0list of the net that is set to a logic level of one subsequent to the setting.
24 . The tool of claim 18 further comprising, for each net listed in the if0list of a net that is set to a logic level of zero:
means for setting a logic level of the listed net to its corresponding logic level; and means for deleting the if1list and if0list of the net that is set to a logic level of zero subsequent to the setting.
25 . The tool of claim 18 further comprising, for each net listed in the if1list of a net the logic level of which has not been established:
means responsive to a case in which a logic level of the listed net is set to zero in if1list of the net the logic level of which has not been established for adding contents of an if0list of the listed net to the if1list of net the logic level of which has not been established; and means responsive to a case in which a logic level of the listed net is set to one in if1list of the net the logic level of which has not been established for adding contents of an if1list of the listed net to the if1list of net the logic level of which has not been established.
26 . The tool of claim 18 further comprising, for each net listed in the if0list of a net the logic level of which has not been established:
means responsive to a case in which a logic level of the listed net is set to zero in if0list of the net the logic level of which has not been established for adding contents of an if0list of the listed net to the if0list of net the logic level of which has not been established; and means responsive to a case in which a logic level of the listed net is set to one in if0list of the net the logic level of which has not been established for adding contents of an if1list of the listed net to the if0list of net the logic level of which has not been established.
27 . A computer-readable medium operable with a computer for optimizing relationships between logic commands defining a circuit design, the medium having stored thereon:
computer-executable instructions for determining whether a logic command is a primitive logic command; and computer-executable instructions responsive to the logic command not being a primitive logic command for decomposing the logic command into its most primitive form.
28 . The computer-readable medium of claim 27 wherein the computer-executable instructions for decomposing comprises computer-executable instructions for representing the logic command as a combination of primitive logic commands.
29 . The computer-readable medium of claim 28 wherein the combination of primitive logic commands is logically equivalent to the logic command.
30 . The computer-readable medium of claim 28 further having stored thereon computer-executable instructions for replacing the logic command with the combination of primitive logic commands.
31 . The computer-readable medium of claim 27 wherein each primitive logic command comprising a first type of primitive logic command has associated therewith an if1list comprising a list of nets and a corresponding logic level to which each of those nets are to be set if a first net of a list of nets following the first type of primitive logic command is set to logic one, and further wherein each primitive logic command comprising a first type of primitive logic command has associated therewith an if0list comprising a list of nets and a corresponding logic level to which each of those nets are to be set if a first net of a list of nets following the first type of primitive logic command is set to logic zero.
32 . The computer-readable medium of claim 27 wherein each primitive logic command comprising a second type of logic command has associated therewith a forbid list comprising a list of nets and corresponding levels thereof that are not permitted to occur.
33 . The computer-readable medium of claim 27 wherein each logic command is followed by a list of one or more nets to which the logic command is to be applied.
34 . The computer-readable medium of claim 27 wherein the logic command is selected from the group of logic commands consisting of ifthen, forbid, mutex, imutex, and merge_nodes commands.
35 . The computer-readable medium of claim 27 wherein each primitive logic command of the combination of more primitive logic commands is selected from a group of logic commands consisting of ifthen and forbid commands.
36 . The computer-readable medium of claim 31 further having stored thereon, for each net listed in the if1list of a net that is set to a logic level of one:
computer-executable instructions for setting a logic level of the listed net to its corresponding logic level; and computer-executable instructions for deleting the if1list and if0list of the net that is set to a logic level of one subsequent to the setting.
37 . The computer-readable medium of claim 31 further having stored thereon, for each net listed in the if0list of a net that is set to a logic level of zero:
computer-executable instructions for setting a logic level of the listed net to its corresponding logic level; and computer-executable instructions for deleting the if1list and if0list of the net that is set to a logic level of zero subsequent to the setting.
38 . The computer-readable medium of claim 31 further having stored thereon, for each net listed in the if1list of a net the logic level of which has not been established:
computer-executable instructions responsive to a case in which a logic level of the listed net is set to zero in if1list of the net the logic level of which has not been established for adding contents of an if0list of the listed net to the if1list of net the logic level of which has not been established; and computer-executable instructions responsive to a case in which a logic level of the listed net is set to one in if1list of the net the logic level of which has not been established for adding contents of an if1list of the listed net to the if1list of net the logic level of which has not been established.
39 . The computer-readable medium of claim 31 further having stored thereon, for each net listed in the if Olist of a net the logic level of which has not been established:
computer-executable instructions responsive to a case in which a logic level of the listed net is set to zero in if0list of the net the logic level of which has not been established for adding contents of an if0list of the listed net to the if0list of net the logic level of which has not been established; and computer-executable instructions responsive to a case in which a logic level of the listed net is set to one in if0list of the net the logic level of which has not been established for adding contents of an if1list of the listed net to the if0list of net the logic level of which has not been established.Join the waitlist — get patent alerts
Track US2005210430A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.