Claims
- 1. A method for implementing an independent parameterized measurement block, comprising:
configuring a test fixture; specifying stimuli for the test fixture; performing simulation upon the test fixture; analyzing results to compute a desired performance metric; and generating results from analyzing the results.
- 2. The method of claim 1 in which changes to the circuit or the simulator are reversed as the independent parameterized measurement block terminates.
- 3. The method of claim 2 in which the changes are tracked during the action of performing the simulation.
- 4. The method of claim 3 in which state values for data elements that are changed are logged.
- 5. The method of claim 4 in which the logged stat values for data elements are restored to reverse the changes.
- 6. The method of claim 1 in which the independent parameterized measurement block does not interfere with other independent parameterized measurement block.
- 7. The method of claim 1 in which the independent parameterized measurement block comprises a generic measurement structure that can be applied to a circuit.
- 8. The method of claim 7 in which the generic measurement structure is not a specific script.
- 9. The method of claim 1 in which the action to specify stimuli for the test fixture comprises specifying parameters for input data values used in the simulation.
- 10. The method of claim 1 in which the results comprise one or more datasets.
- 11. The method of claim 10 in which the one or more datasets contains signals related to the simulation.
- 12. The method of claim 1 in which the independent parameterized measurement block comprises a collection and sequence of language statements.
- 13. The method of claim 1 in which direct access to a circuit design topology and components from within independent parameterized measurement block is prevented.
- 14. The method of claim 13 in which direct access to nodes, instances, models, or specific circuit parameters are prevented.
- 15. The method of claim 13 in which nodes, instances, models, or specific circuit parameters are accessed using pointers or references to the objects passed into the measurement through parameters.
- 16. The method of claim 13 in which access is permitted to generic circuit parameters.
- 17. The method of claim 16 in which the generic circuit parameter comprises temperature.
- 18. The method of claim 1 in which the measurement contains calls to other measurements.
- 19. The method of claim 18 in which the measurement arranges datasets hierarchically.
- 20. The method of claim 1 in which circuit design topology and components are accessed using pointers or references to the topology and components passed into the measurement through parameters.
- 21. The method of claim 21 in which in which the independent parameterized measurement block uses indirect access to circuit elements through parameters in a manner that is independent of the specific circuit is being measured.
- 22. The method of claim 21 in which the indirect access is to implement configuring of test benches, setting of stimuli, configuring of circuit under test, or probing of signals.
- 23. The method of claim 1 in which an input to the independent parameterized measurement block is independent.
- 24. The method of claim 1 in which the input comprises a global variable.
- 25. The method of claim 1 in which the global variable is copied to a local variable.
- 26. The method of claim 1 in which an output for the independent parameterized measurement block is independent.
- 27. The method of claim 1 in which the output is stored in a storage location that is separate from outputs for other independent parameterized measurement blocks.
- 28. A system for implementing an independent parameterized measurement block, comprising:
means for configuring a test fixture; means for specifying stimuli for the test fixture; means for performing simulation upon the test fixture; means for analyzing results to compute a desired performance metric; and generating results from analyzing the results.
- 29. A computer program product comprising a computer usable medium having executable code to execute a process for implementing an independent parameterized measurement block, the process comprising:
configuring a test fixture; specifying stimuli for the test fixture; performing simulation upon the test fixture; analyzing results to compute a desired performance metric; and generating results from analyzing the results.
- 30. A method for implementing a history for performing circuit simulation, comprising:
performing simulation on a circuit using a simulator; and tracking changes to state of the circuit and the simulator.
- 31. The method of claim 1 further comprising automatically displaying the changes to the circuit or the simulator.
- 32. The method of claim 31 in which the difference between multiple version of the circuit is displayed.
- 33. The method of claim 30 further comprising attaching a list of the changes in place when a result is generated to the result.
- 34. The method of claim 33 in which, when displaying two results, using the list of changes to determine and display the differences in the circuit between the two results.
- 35. The method of claim 30 further comprising the ability to reverse one or more of the changes to the circuit or the simulator to revert the circuit to a previous state upon request.
- 36. The method of claim 35 in which a logged state is restored to automatically reverse the one or more changes.
- 37. The method of claim 30 changes are tracked using a change list.
- 38. The method of claim 37 in which the change list is used to update an original representation of the circuit.
- 39. The method of claim 38 in which the original representation of the circuit is a netlist or is taken from a design database.
- 40. The method of claim 30 in which a condition delineates between a first state and a second state.
- 41. The method of claim 30 in which a checkpoint or a point in time delineates between a first state and a second state.
- 42. A system, for implementing a history for performing circuit simulation, comprising:
means for performing simulation on a circuit using a simulator; and means for tracking changes to state of the circuit and the simulator.
- 43. A computer program product comprising a computer usable medium having executable code to execute a process for implementing a history for performing circuit simulation, the process comprising:
performing simulation on a circuit using a simulator; and tracking changes to state of the circuit and the simulator.
- 44. A method for performing data analysis in a simulation system, comprising:
defining a first version of a data analysis routine; defining a second version of the data analysis routine; calling the data analysis routine; determining whether to use the first version or the second version of the data analysis routine; and executing an appropriate version of the data analysis routine.
- 45. The method of claim 44 in which the first and second versions are determined based upon intended arguments and settings.
- 46. The method of claim 44 in which the different versions relate to post-processing, on-the-fly processing, time-aligned data processing, non-time-aligned processing, continuous valued data, discrete valued data, or real and complex data.
- 47. The method of claim 44 in which function overloading is performed when the arguments of the function or operator are identical between the first and second versions.
- 48. The method of claim 44 in which the choice of the first or second versions is made on the basis of when the arguments were generated and what source they came from.
- 49. The method of claim 48 in which the choice of the first or second versions is not based on the underlying data types.
- 50. The method of claim 44 in which function overloading is based on argument type and dimension in the context of a simulation analysis and control language.
- 51. A computer program product comprising a computer usable medium having executable code to execute a process for performing data analysis in a simulation system, the process comprising:
defining a first version of a data analysis routine; defining a second version of the data analysis routine; calling the data analysis routine; determining whether to use the first version or the second version of the data analysis routine; and executing an appropriate version of the data analysis routine.
- 52. A system for performing data analysis in a simulation system, comprising:
means for defining a first version of a data analysis routine; means for defining a second version of the data analysis routine; means for calling the data analysis routine; means for determining whether to use the first version or the second version of the data analysis routine; and means for executing an appropriate version of the data analysis routine.
- 53. A computer program product comprising a computer readable medium having a measurement alias construct that encapsulates an underlying measurement allowing changes to aspects of the measurement.
- 54. The computer program product of claim 53 in which the following are performed to implement the measurement alias construct:
defining the underlying measurement; defining a measurement alias; and when the measurement alias is called, executing the underlying measurement.
- 55. The computer program product of claim 54 in which the measurement alias references the underlying measurement.
- 56. The computer program product of claim 55 in which new parameters are declared and are mapped parameters of the underlying measurement.
- 57. The computer program product of claim 53 in which a keyword ALIAS is used to identify a measurement alias construct.
- 58. The computer program product of claim 53 in which a single measurement alias construct runs only one sub-measurement, wherein the sub-measurement refers to a base measurement for the alias.
- 59. The computer program product of claim 53 in which the measurement alias construct supports parameters declared in the alias definition along with any unbound parameters from the base measurement.
- 60. The computer program product of claim 53 in which a help description for the measurement alias construct is built up starting from the help description for the underlying measurement.
- 61. The computer program product of claim 53 in which a dataset produced by the measurement alias is exported without inserting an extra level of hierarchy.
- 62. The computer program product of claim 61 in which a name given to the dataset is taken from the measurement alias rather than the underlying measurement.
- 63. The computer program product of claim 53 in which the measurement alias construct allows expressions given with the measurement alias to run concurrently with the underlying measurement.
- 64. The computer program product of claim 53 in which keywords are associated with the measurement alias construct.
- 65. The computer program product of claim 53 in which measurement alias includes a set of conditions.
- 66. The computer program product of claim 53 in which measurement alias includes a directive to compare measured results against previously measured results.
- 67. The computer program product of claim 53 in which measurement alias include directive to run measurement repeatedly over a range of parameter values or corners.
- 68. A method for executing a measurement, comprising:
receiving a statement to run measurement; determining whether multiple measurements are to be executed; identifying whether conditions are specified; determining whether previous values are to be used; executing one or more measurements; and generating results.
- 69. The method of claim 68 in which the method is executed from a scripting language.
- 70. The method of claim 68 in which the conditions specify sets of one or more changes or parameters applied to a circuit or simulator.
- 71. The method of claim 68 in which, if conditions are specified, the conditions are applied to the one or more measurements.
- 72. The method of claim 68 in which the measurement parameters are stored for a future execution of the one or more measurements.
- 73. The method of claim 72 in which the stored measurement parameters are identified when determining whether to use previous values.
- 74. The method of claim 68 in which the method is embodied as a RUN command.
- 75. The method of claim 68 further comprising graphically displaying the results.
- 76. The method of claim 75 in which the method is embodies as a SHOW command.
- 77. The method of claim 75 in which previous results are plotted along with the current measurement results for comparison.
- 78. The method of claim 68 where conditions over which measurements are run taken from either a statically or dynamically generated list.
- 79. The method of claim 78 in which the list is a collection of corner cases.
- 80. The method of claim 68 in which the one or more measurements are simultaneously executed using multiple processing units.
- 81. The method of claim 68 in which previous parameter values are not re-specified unless their values have changed.
- 82. The method of claim 81 in which previous result are available for comparison.
- 83. The method of claim 68 in which the conditions could be applied to either a single measurement or multiple measurements.
- 84. The method of claim 68 in which, once the one or more measurement are completely executed, the conditions would be removed.
- 85. The method of claim 68 in which a list of conditions is added to the results as documentation.
- 86. The method of claim 68 in which the one or more measurement iterate over a range of conditions.
- 87. The method of claim 68 in which the results are arranged in the form of a family.
- 88. The method of claim 68 in which aliased measurements are created.
- 89. The method of claim 88 in which the aliased measurements are created on the fly.
- 90. The method of claim 88 in which the aliased measurements include conditions or comparisons.
- 91. The method of claim 68 in which current measurement results are compared to previous results.
- 92. The method of claim 91 in which the comparison is performed either manually or automatically.
- 93. The method of claim 68 in which the results are assigned to local variables.
- 94. The method of claim 93 in which information is attached to the local variable that allow the variable to be updated by rerunning the measurement by specifying that the variable itself be rerun.
- 95. The method of claim 68 in which previous set of measurements are used if no new sets are specified.
- 96. The method of claim 68 in which the one or more measurements that are executed are out-of-date.
- 97. A method for performing circuit simulation, comprising:
defining one or more conditions; and applying the one or more conditions to a measurement.
- 98. The method of claim 97 in which the one or more conditions comprise a condition set.
- 99. The method of claim 97 in which the one or more conditions correspond to changes made to a base circuit.
- 100. The method of claim 97 further comprising:
defining a corner set.
- 101. The method of claim 100 in which the measurement is run over corners in the corner set.
- 102. The method of claim 97 in which the one or more conditions are stored with results from running the measurement.
- 103. The method of claim 97 further comprising:
reverting to a previous condition.
- 104. The method of claim 97 further comprising:
comparing multiple condition sets.
- 105. The method of claim 97 further comprising:
updating a netlist with the one or more conditions.
- 106. A method to implement a probe in a circuit simulation system, comprising:
implementing a probe, wherein the probe identifies a quantity in the circuit to be observed.
- 107. The method of claim 106, in the act of implementing the probe comprises:
defining a measurement for a set of functionality; defining a probe associated with the measurement; using the probe as a parameter to the measurement; and passing one or more observation points into the measurement using the probe.
- 108. The method of claim 106 in which the probe is passed into a measurement.
- 109. The method of claim 106 in which the probe is converted into signals when the probe is evaluated.
- 110. The method of claim 106 in which the probe observes absolute voltage of a node or terminal.
- 111. The method of claim 106 in which the probe observes voltage between two nodes, two terminals, or between a node and terminal.
- 112. The method of claim 111 in which the probe observes differential voltage.
- 113. The method of claim 111 in which the probe observes common-mode voltage.
- 114. The method of claim 106 in which the probe observes current.
- 115. The method of claim 114 in which the probe observes current through a terminal.
- 116. The method of claim 114 in which the probe observes differential current between two terminals.
- 117. The method of claim 114 in which the probe observes common-mode current.
- 118. The method of claim 106 in which the probe observes either the voltage on or the current through an instance.
- 119. The method of claim 106 in which the probe comprises a name that adapts to the nature of the signal being accessed.
- 120. The method of claim 119 in which a probe function for a voltage would be named V.
- 121. The method of claim 119 in which a probe function for a current would be named
- 122. A method to implement a signal and a dedicated access operator in a circuit simulation language, where a signal is a vector of points and a point consists of two values, an ordinate and an abscissa.
- 123. The method of claim 122 in which the operator interpolates a value from the signal.
- 124. The method of claim 122 in which the operator assembles the point or signal.
- 125. The method of claim 122 in which the operator is a binary operator.
- 126. The method of claim 122 in which individual values in a signal are accessed by index.
- 127. The method of claim 122 in which the operator builds points for the signal.
- 128. The method of claim 122 in which the operator obtains values out from the signals
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] The present application claims priority to U.S. Provisional Application Serial No. 60/434,295, filed on Dec. 17, 2002, having the same title as the present application, which is hereby incorporated by reference in its entirety.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60434295 |
Dec 2002 |
US |