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-modified
1 . 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.