# US 11,443,087 B2 · System and method for power analysis for design logic circuit with irregular clock

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,443,087 B2
- Document ID: US11443087B2
- Status: Granted
- Kind: B2
- Application number: 16/875,777
- Filed: 2020-05-15
- Published: 2020-11-19
- Granted: 2022-09-13
- Earliest claimed: 2019-05-19
- Assignees: Synopsys, Inc.
- Applicants: Synopsys, Inc.
- Inventors: Alexander John Wakefield; Jitendra Gupta; Vaibhav Jain; Rahul Jain; Shweta Bansal
- Web page: https://patentgrep.com/patent/US11443087B2

## CPC

- G06F 30/3308: using simulation
- G06F 30/396: Clock trees
- G06F 2119/06: Power analysis or power optimisation
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system is disclosed that includes a memory and a processor configured to perform operations stored in the memory. The processor performs the operations to select a master clock for a plurality of clocks in a design logic circuit. The processor further performs the operations to align a clock edge of a clock of the plurality of clocks with a corresponding nearest clock transition of the master clock. The aligned clock edge of the clock limits a number of emulation cycles for the design logic to a fixed number of emulation cycles required for the master clock The processor further performs the operation to determine a clock period for measuring power required for the design logic circuit and estimate, at the aligned clock edge, the power required for the design logic circuit corresponding to the determined clock period, which corresponds to a clock selected from the plurality of clocks and the master clock.

## Claims

### Claim 1

A system, comprising:
a memory; and
a processor configured to perform operations stored in the memory, wherein the processor executes the operations to:
select a master clock for a plurality of clocks in a design logic circuit, wherein the master clock is a least-gated clock in the design logic circuit;
align a clock edge of a clock of the plurality of clocks with a corresponding nearest clock transition of the master clock;
determine a clock period for measuring power required for the design logic circuit; and
estimate, at the aligned clock edge, the power required for the design logic circuit corresponding to the determined clock period.

### Claim 2 (depends on 1)

The system of claim 1, wherein the aligned clock edge of the clock limits a number of emulation cycles for the design logic to a fixed number of emulation cycles required for the master clock.

### Claim 3 (depends on 1)

The system of claim 1, wherein the clock period corresponds to a clock selected from the plurality of clocks and the master clock.

### Claim 4 (depends on 1)

The system of claim 1, wherein the clock of the plurality of clocks is one of an emulated regular clock and an emulated irregular clock.

### Claim 5 (depends on 1)

The system of claim 1, wherein a clock frequency of the master clock is higher than a clock frequency of each of the plurality of clocks.

### Claim 6 (depends on 1)

The system of claim 1, wherein the clock of the plurality of clocks is an emulated irregular clock, and
the processor executes the operations to estimate the power required for the design logic circuit further comprises:
determine the clock period of the clock of the plurality of clocks by averaging a high-level period and a low-level period for a preconfigured number of clock cycles; and
measure power required for each logic of the design logic circuit associated with one or more clocks of the plurality of clocks at the determined clock period of the clock.

### Claim 7 (depends on 1)

The system of claim 1, wherein the processor executes the operations to estimate the power required for the design logic circuit further comprises:
determine a clock cycle of the master clock for which a rising edge of the master clock does not correspond to a level change for any clock of the plurality of clocks;
filter out the clock cycle of the master clock from power calculation; and
estimate, at each rising edge of remaining clock cycles of the master clock, power required for each logic of the design logic circuit associated with one or more clocks of the plurality of clocks.

### Claim 8 (depends on 1)

The system of claim 1, wherein the processor executes the operations to further emulate a predicted clock for a gated-clock of the plurality of clocks using a clock period that is determined based on a historical clock cycle pattern of the gated-clock.

### Claim 9 (depends on 1)

The system of claim 1, wherein the processor executes the operations to further:
measure an average clock period of a clock of the plurality of clocks based on a high-level period and a low-level period of all clock cycles of the clock; and
detect a change in a frequency of the clock in response to a change in the average clock period above a preconfigured threshold level.

### Claim 10 (depends on 1)

The system of claim 1, wherein the least-gated clock in the design logic circuit is closest to a clock generator circuit.

### Claim 11

A method, comprising:
selecting a master clock for a plurality of clocks in a design logic circuit, wherein the master clock is a least-gated clock in the design logic circuit;
aligning a clock edge of a clock of the plurality of clocks with a corresponding nearest clock transition of the master clock;
determining a clock period for measuring power required for the design logic circuit; and
estimating, at the aligned clock edge, the power required for the design logic circuit corresponding to the determined clock period.

### Claim 12 (depends on 11)

The method of claim 11, wherein the aligned clock edge of the clock limits a number of emulation cycles for the design logic to a fixed number of emulation cycles required for the master clock.

### Claim 13 (depends on 11)

The method of claim 11, wherein the clock period corresponds to a clock selected from the plurality of clocks and the master clock.

### Claim 14 (depends on 11)

The method of claim 11, wherein the clock of the plurality of clocks is one of an emulated regular clock and an emulated irregular clock.

### Claim 15 (depends on 11)

The method of claim 11, wherein a clock frequency of the master clock is higher than a clock frequency of each of the plurality of clocks.

### Claim 16 (depends on 11)

The method of claim 11, wherein the clock of the plurality of clocks is an emulated irregular clock, and
wherein for estimating the power required for the design logic circuit, the method further comprises:
determining the clock period of the clock of the plurality of clocks by averaging a high-level period and a low-level period for a preconfigured number of clock cycles; and
measuring power required for each logic of the design logic circuit associated with one or more clocks of the plurality of clocks at the determined clock period of the clock.

### Claim 17 (depends on 11)

The method of claim 11, wherein for estimating the power required for the design logic circuit, the method further comprises:
determining a clock cycle of the master clock for which a rising edge of the master clock does not correspond to a level change for any clock of the plurality of clocks;
filtering out the clock cycle of the master clock from power calculation; and
estimating, at each rising edge of the remaining clock cycles of the master clock, power required for each logic of the design logic circuit associated with one or more clocks of the plurality of clocks.

### Claim 18 (depends on 11)

The method of claim 11, further comprising emulating a predicted clock for a gated-clock of the plurality of clocks using a clock period that is determined based on a historical clock cycle pattern of the gated-clock.

### Claim 19 (depends on 11)

The method of claim 11, wherein the least-gated clock in the design logic circuit is closest to a clock generator circuit.

### Claim 20

A non-transitory, tangible computer-readable media having instructions stored thereon that, when executed by at least one computing device, cause the at least one computing device to perform operations comprising:
selecting a master clock for a plurality of clocks in a design logic circuit, wherein the master clock is a least-gated clock in the design logic circuit;
aligning a clock edge of a clock of the plurality of clocks with a corresponding nearest clock transition of the master clock;
determining a clock period for measuring power required for the design logic circuit; and
estimating, at the aligned clock edge, the power required for the design logic circuit corresponding to the determined clock period.
