Automation method and system for assessing timing based on gaussian slack
AssigneeSynopsys, Inc.
InventorsBrent Gregory, William C. Naylor, Jr., Bogdan Craciun
Life of this patent
Estimating the term…
Abstract
An automated design process using a computer system includes identifying a set of timing endpoints in a circuit defined by a machine-readable file. Values of slack in the estimated arrival times for the timing endpoints are assigned. Probability distribution functions, such as Gaussian distributions, are assigned for the respective values of slack, and are combined. The combination of probability distribution functions represents a measure of circuit performance. The measure is computed for alternative implementations of the circuit, and used to identify an alternative more likely to meet timing constraints.
Claims27
A computer-implemented method for automated design of a circuit specified by a machine-readable file having a specified timing constraint, comprising:
- identifying, using a computer system, a set of timing endpoints for corresponding circuit paths in the circuit defined by the machine-readable file, wherein said corresponding circuit paths include respective sets of components;
- assigning, using the computer system, respective values for slack for the timing endpoints in said set of timing endpoints, said values represented by respective probability distribution functions;
- and
- processing said respective values for slack to produce a combined probability distribution representing said set of timing endpoints, by combining the probability distribution functions representing the respective values of slack, the combined probability distribution being weighted in favor of probability distribution functions for values for slack of timing endpoints having negative slack.
A computer-implemented method for automated design of a circuit specified by a machine-readable file having a specified timing constraint, comprising:
- identifying, using a computer system, a set of timing endpoints for corresponding circuit paths in the circuit defined by the machine-readable file, wherein said corresponding circuit paths include respective sets of components;
- assigning, using the computer system, respective values for slack for the timing endpoints in said set of timing endpoints, said values represented by respective probability distribution functions;
- and
- processing said respective values for slack to produce a combined probability distribution representing said set of timing endpoints, by combining the probability distribution functions representing the respective values of slack, the combined probability distribution being weighted in favor of probability distribution functions for values for slack of timing endpoints having negative slack, wherein said processing includes:
- combining the respective probability distribution functions by multiplication of corresponding cumulative distribution functions.
A computer-implemented method for automated design of a circuit specified by a machine-readable file having a specified timing constraint, comprising:
- identifying, using a computer system, a set of timing endpoints for corresponding circuit paths in the circuit defined by the machine-readable file, wherein said corresponding circuit paths include respective sets of components;
- storing, in a machine-readable storage medium, definitions of components usable in implementation of the circuit;
- using a timing model and said definitions for said components to generate using the computer system values for slack for timing endpoints in the set of timing endpoints;
- assigning probability distribution functions of respective values for slack for the said timing endpoints in the set of timing endpoints, wherein said probability distribution functions comprise Gaussian or approximately Gaussian distributions;
- and
- combining said probability distribution functions using the computer system to produce a combined probability distribution representing the set, and storing the combined probability distribution in a machine-readable storage medium.
An article of manufacture, comprising a machine-readable data storage medium storing a computer program for analysis of a circuit specified by a machine-readable file having a specified timing constraint, the resources including logic executable to perform functions including
- identifying a set of timing endpoints for corresponding circuit paths in the circuit defined by the machine-readable file, wherein said corresponding circuit paths include respective sets of components;
- assigning respective values for slack for the timing endpoints in said set of timing endpoints, said values represented by respective probability distribution functions;
- and
- producing in response to said respective values for slack a combined probability distribution for the respective values for slack, wherein the a combined probability distribution represents said set of timing endpoints weighted in favor of probability distribution functions for values for slack of timing endpoints having negative slack.
An article of manufacture, comprising a machine-readable data storage medium storing a computer program for analysis of a circuit specified by a machine-readable file having a specified timing constraint, the resources including logic executable to perform functions including
- identifying, using a computer system, a set of timing endpoints for corresponding circuit paths in the circuit defined by the machine-readable file, wherein said corresponding circuit paths include respective sets of components;
- storing, in a machine-readable storage medium, definitions of components usable in implementation of the circuit;
- using a timing model and said definitions for said components to generate values for slack for timing endpoints in the set of timing endpoints;
- assigning probability distribution functions of respective values for slack for the said timing endpoints in the set of timing endpoints, wherein said probability distribution functions comprise Gaussian or approximately Gaussian distributions;
- and
- combining the probability distribution functions to produce a combined probability distribution representing the set.
An electronic design automation system, comprising:
- a data processor, including data processing resources for analysis of a circuit specified by a machine-readable file having a specified timing constraint, the resources including logic executable to perform functions including
- identifying a set of timing endpoints for corresponding circuit paths in the circuit defined by the machine-readable file, wherein said corresponding circuit paths include respective sets of components;
- assigning respective values for slack for the timing endpoints in said set, said values represented by respective probability distribution functions;
- and
- producing in response to said respective values for slack a combined probability distribution representing said set of timing endpoints, the a combined probability distribution weighted in favor of probability distribution functions for values for slack of timing endpoints having negative slack.
An electronic design automation system, comprising:
- a data processor, including data processing resources for analysis of a circuit specified by a machine-readable file having a specified timing constraint, the resources including logic executable to perform functions including
- identifying a set of timing endpoints for corresponding circuit paths in the circuit defined by the machine-readable file, wherein said corresponding circuit paths include respective sets of components;
- assigning respective values for slack for the timing endpoints in said set, said values represented by respective probability distribution functions;
- and
- producing respective values for slack a combined probability distribution representing said set of timing endpoints, the combined probability distribution weighted in favor of probability distribution functions for values for slack of timing endpoints having negative slack, wherein said producing includes:
- assigning said probability distribution functions of respective values for slack for the plurality of timing endpoints;
- and
- combining the respective probability distribution functions by multiplication of the respective probability distribution functions.
A computer-implemented method for automated design of a circuit specified by a machine-readable file having a specified timing constraint, comprising:
- identifying, using a computer system, a set of timing endpoints for corresponding circuit paths in the circuit defined by the machine-readable file, wherein said corresponding circuit paths include respective sets of components;
- storing, in a machine-readable storage medium, definitions of components usable in implementation of the circuit;
- using a timing model and said definitions for said components to generate using the computer system values for slack for timing endpoints in the set of timing endpoints;
- assigning probability distribution functions of respective values for slack for the said timing endpoints in the set of timing endpoints, wherein said probability distribution functions comprise Gaussian or approximately Gaussian distributions;
- and
- combining said probability distribution functions by multiplication, using the computer system to produce a combined probability distribution representing the set, and storing the combined probability distribution in a machine-readable storage medium.
Dependencies are inferred from the claim text.