IP Library Granted Patent US 10,607,039
Granted Patent B1
US 10,607,039 · App. 15/823,444 · Granted Mar 31, 2020

Constrained metric optimization of a system on chip

Inventors: Yael Kinderman (Giv'at Shmuel, IL); Shlomi Uziel (Neve Ilan, IL); Ido Avraham (Netanya, IL); Michele Petracca (Chappaqua, NY); Yosinori Watanabe (Lafayette, CA)
Assignee: CADENCE DESIGN SYSTEMS, INC.
G06F30/398G05B17/02G06F30/20G06F2015/763G06F2015/768
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,607,039
App. No.
15/823,444
Granted
Mar 31, 2020
Kind
B1
Abstract

A method including receiving a first configuration of a device validated against a design constraint, is provided. A configuration includes stimuli controls and stimuli parameters used as inputs in a device model. The method includes determining a quality of the first configuration based on an estimation of an output parameter including a desired behavior of the device, simulating the device in the first configuration when the first configuration quality overcomes a threshold, and requesting a second configuration of the device when the quality of the first configuration is below the selected threshold. The method also includes obtaining a regression based on multiple, high quality configurations to determine, for the device, a distribution of output parameter values and comparing the distribution of output parameter values with a baseline of a random regression to adjust the machine learning engine according to a target range of output parameter values.

Claims (38)

1. A computer-implemented method, comprising:

receiving a first configuration of a device, wherein a configuration comprises stimuli controls and stimuli parameters used as inputs in a device model, and wherein the first configuration is validated against a design constraint;

determining, with a machine learning engine, a quality of the first configuration based on an estimation of an output parameter, wherein the quality of the first configuration is determined by comparing an output parameter value from the first configuration with a distribution of output parameter values obtained from multiple random samples of configurations, and the output parameter comprises a desired behavior of the device;

simulating the device in the first configuration of the device when the quality of the first configuration is above a selected threshold;

requesting a second configuration of the device when the quality of the first configuration is below the selected threshold;

obtaining a regression based on multiple configurations to determine, for the device, a distribution of output parameter values, wherein each configuration in the regression has a quality above the selected threshold; and

comparing the distribution of output parameter values with a baseline of a random regression to adjust the machine learning engine according to a target range of output parameter values.

2. The computer-implemented method of claim 1 , wherein receiving the first configuration of a device comprises selecting the first configuration of the device using a constrained metric verification engine.

3. The computer-implemented method of claim 1 , wherein a quality of a configuration comprises a value of an output parameter of the configuration of the device being within the target range of output parameter values, and determining the quality of the first configuration comprises evaluating a probability that the value of the output parameter for the first configuration will fall within the target range of output parameter values.

4. The computer-implemented method of claim 1 , wherein the device is a system on a chip, and determining a quality of the first configuration comprises comparing a peak latency of a function in the system on a chip with a high latency value selected from a random sampling of the system on a chip.

5. The computer-implemented method of claim 1 , wherein performing a regression based on multiple configurations comprises selecting multiple configurations such that a quality of each of the configurations is above the selected threshold.

6. The computer-implemented method of claim 1 , wherein simulating the device in the first configuration of the device comprises obtaining a value of an output parameter of the device when the device is configured in the first configuration of the device.

7. The computer-implemented method of claim 1 , further comprising providing the second configuration based on the design constraint and an increased probability that a quality of the second configuration is higher than the selected threshold.

8. The computer-implemented method of claim 1 , further comprising selecting a second threshold no less than the selected threshold to evaluate a quality of the second configuration.

9. The computer-implemented method of claim 1 , further comprising dynamically adjusting the target range of output parameter values based on a distribution of simulated values of the output parameter for multiple configurations of the device.

10. A system, comprising:

a memory, storing instructions; and

at least one processor that executes the instructions to:

receive a first configuration of a device, wherein a configuration comprises stimuli controls and stimuli parameters used as inputs in a device model, and wherein the first configuration is validated against a design constraint;

determine, with a machine learning engine, a quality of the first configuration based on an estimation of an output parameter, wherein the quality of the first configuration is determined by comparing an output parameter value from the first configuration with a distribution of output parameter values obtained from multiple random samples of configurations, and the output parameter comprises a desired behavior of the device;

simulate the device in the first configuration of the device when the quality of the first configuration is above a selected threshold;

request a second configuration of the device when the quality of the first configuration is below the selected threshold;

obtain a regression based on multiple configurations to determine, for the device, a distribution of output parameter values, wherein each configuration in the regression has a quality above the selected threshold; and

compare the distribution of output parameter values with a baseline of a random regression to adjust the machine learning engine according to a target range of output parameter values.

11. The system of claim 10 , wherein to receive the first configuration of a device the at least one processor executes instructions to select the first configuration of the device using a constrained metric verification engine.

12. The system of claim 10 , wherein a quality of a configuration comprises a value of an output parameter of the configuration of the device being within the target range of output parameter values, and to determine the quality of the first configuration the at least one processor executes instructions to evaluate a probability that the value of the output parameter for the first configuration will fall within the target range of output parameter values.

13. The system of claim 10 , wherein the device is a system on a chip, and to determine a quality of the first configuration the at least one processor executes instructions to compare a peak latency of a function in the system on a chip with a high latency value selected from a random sampling of the system on a chip.

14. The system of claim 10 , wherein to perform a regression based on multiple configurations including at least the first configuration the at least one processor executes instructions to select the configurations such that a quality of each of the configurations is above the selected threshold.

15. The system of claim 10 , wherein to simulate the device in the first configuration the at least one processor executes instructions to obtain a value of an output parameter of the device when the device is configured in the first configuration of the device.

16. A non-transitory, computer-readable medium comprising instructions stored in a memory which, when executed by a processor cause a computer to perform a method, the method comprising:

receiving a first configuration of a device, wherein a configuration comprises stimuli controls and stimuli parameters used as inputs in a device model, and wherein the first configuration is validated against a design constraint;

determining, with a machine learning engine, a quality of the first configuration based on an estimation of an output parameter, wherein the quality of the first configuration is determined by comparing an output parameter value from the first configuration with a distribution of output parameter values obtained from multiple random samples of configurations, and the output parameter comprises a desired behavior of the device;

simulating the device in the first configuration when the quality of the first configuration is above a selected threshold;

requesting a second configuration of the device when the quality of the first configuration is below the selected threshold;

obtaining a regression based on multiple configurations to determine, for the device, a distribution of output parameter values, wherein each configuration in the regression has a quality above the selected threshold; and

comparing the distribution of output parameter values with a baseline of a random regression to adjust the machine learning engine according to a target range of output parameter values.

17. The non-transitory, computer-readable medium of claim 16 , wherein the method comprises receiving a first configuration comprises validating, with a constrained optimization engine, the first configuration.

18. The non-transitory, computer-readable medium of claim 16 , wherein a quality of a configuration comprises a value of an output parameter within a pre-selected target range, the method comprising determining the quality of the first configuration comprises evaluating a probability that the value of the output parameter for the first configuration will fall within the pre-selected target range.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 28, 2017
From: KINDERMAN, YAEL; UZIEL, SHLOMI; AVRAHAM, IDO; PETRACCA, MICHELE; WATANABE, YOSINORI
To: CADENCE DESIGN SYSTEMS, INC.
Reel/Frame 044237/0497 →
Cited By (4)
US 12,192,255 US 12,216,448 US 12,585,848 US 12,694,340