# US 10,503,243 B1 · Instrumenting low power coverage counters in emulation

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

- Number: US 10,503,243 B1
- Document ID: US10503243B1
- Status: Granted
- Kind: B1
- Application number: 15/387,585
- Filed: 2016-12-21
- Granted: 2019-12-10
- Earliest claimed: 2016-12-21
- Assignees: Cadence Design Systems, Inc.
- Applicants: Cadence Design Systems, Inc.
- Inventors: Platon Beletsky; Bing Zhu; Jennifer Lee
- Web page: https://patentgrep.com/patent/US10503243B1

## CPC

- G06F 1/3287: by switching off individual functional units in the computer system
- G06F 30/30: Circuit design
- G06F 11/2247: {Verification or detection of system hardware configuration}
- G06F 11/2733: {Test interface between tester and unit under test}
- G06F 30/33: Design verification, e.g. functional simulation or model checking
- G06F 30/00: Computer-aided design [CAD]
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Disclosed herein are systems and methods of an emulation system. A hardware emulator of an emulation system includes a method of hardware emulation on a computer. The method may include reading in, by the computer, a hardware description language file and a low power intent file and compiling the hardware description language file and the low power intent file into an emulation image. Embodiments may include loading, the emulation image into an emulator, running, the emulation image under a test environment including using a coverage counter specific to low power coverage, created based on the hardware description language file and the low power intent file, using the coverage counters to inform the test environment, generating, by the computer, a report file including a set of low power coverage metrics based on a low power coverage data item, and presenting the report file to a user via a user interface.

## Claims

### Claim 1

A method of hardware emulation on a computer, the method comprising:
receiving, by the computer, a hardware description language file and a low power intent file;
compiling, by the computer, the hardware description language file and the low power intent file into an emulation image;
loading, by the computer, the emulation image into an emulator;
executing, by the computer, the emulation image under a test environment including using a plurality of coverage counters configured for low power coverage, the emulator image comprising a coverage counter instantiated for each of a plurality of low power constructs defined in the low power intent file, wherein the coverage counter is width-adjustable;
modifying, by the computer, during execution of the emulation image at runtime, an execution setup, based on values of the coverage counters in a feedback loop;
generating, by the computer, a report file comprising a set of low power coverage metrics based on the plurality of coverage counters; and
presenting, by the computer, the report file to a user via a user interface containing at least one of: a web-based real-time display of historical and aggregate data, and a waveform view of coverage data and waveforms of design components.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
generating, by the computer, an instruction to indicate execution of a coverage toggle for each of the plurality of low power constructs identified in the low power intent file, where the coverage toggle has two states and one coverage counter is created for each state.

### Claim 3 (depends on 1)

The method of claim 1, wherein a set of coverage counter values are traced on a waveform and presented in the report file via the user interface.

### Claim 4 (depends on 1)

The method of claim 1, further comprising presenting one or more options selected from the group consisting of: compiling, resetting, disabling, enabling, and excluding the coverage counter during run-time.

### Claim 5 (depends on 1)

The method of claim 1, inputting, by the computer, the plurality of coverage counters into the test environment while running the emulation image, wherein a run-time performance of the emulation is not impacted by inputting the plurality of coverage counters.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
generating, by the computer, an instruction to indicating execution of a coverage toggle for each of the plurality of low power constructs identified in the low power intent file, where the coverage toggle has one condition and one coverage counter is created for each condition.

### Claim 7 (depends on 1)

The method of claim 1, further comprising setting the width of two coverage counters during compiling between 0 and N, where N=2{circumflex over ( )}n, and n is greater than or equal to 3.

### Claim 8 (depends on 1)

The method of claim 1, wherein the low power intent file is a unified power format file and includes at least one construct selected from the group consisting of power domain, isolation, retention, power switch, supply net, supply set, supply port state, port state table state, power state, and power state transition.

### Claim 9 (depends on 1)

The method of claim 1, wherein the low power intent file is a common power format file and includes power domain, isolation, retention, and power mode.

### Claim 10

A hardware emulation device, the hardware emulation device comprising multiple processors with each processor having its own memory, and:
at least one of the multiple processors is configured to:
receive, by the hardware emulation device, a hardware description language file and a low power intent file from the memory;
compile, by the hardware emulation device, the hardware description language file and the low power intent file into an emulation image;
load, by the hardware emulation device, the emulation image into an emulator;
run, by the hardware emulation device, the emulation image under a test environment including using a plurality of coverage counters configured for low power coverage, the emulator image comprising a coverage counter instantiated for each of a plurality of low power constructs defined in the low power intent file, wherein the coverage counter is width-adjustable;
generate, by the hardware emulation device, a report file including a set of low power coverage metrics based on the plurality of coverage counters; and
present, by the hardware emulation device, the report file to a user via a user interface, including at least one of: waveforms, text reports, and web-based graphs and text.

### Claim 11 (depends on 10)

The hardware emulation device of claim 10, wherein the processor is further configured to generate an instruction to indicate execution of a coverage toggle for each of the plurality of low power constructs identified in the low power intent file, where the coverage toggle has two states and one coverage counter is created for each state.

### Claim 12 (depends on 10)

The hardware emulation device of claim 10, wherein a set of coverage counter values are traced on a waveform and presented in the report file via the user interface.

### Claim 13 (depends on 10)

The hardware emulation device of claim 10, wherein the processor is further configured to present options for compilation, to reset, or suspend the coverage counter during run-time.

### Claim 14 (depends on 10)

The hardware emulation device of claim 10, wherein the processor is further configured to generate an instruction to indicating execution of a coverage toggle for each of the plurality of low power constructs identified in the low power intent file, where the coverage toggle has one condition and one coverage counter is created for each condition.

### Claim 15 (depends on 10)

The hardware emulation device of claim 10, wherein the processor is further configured to set the width of two coverage counters during compiling between 0 and N, where N=2{circumflex over ( )}n, and n is greater than or equal to 3.

### Claim 16 (depends on 10)

The hardware emulation device of claim 10, wherein the low power intent file is a unified power format file and includes at least one construct selected from the group consisting of power domain, isolation, retention, power switch, supply net, supply set, supply port state, port state table state, power state, and power state transition.

### Claim 17 (depends on 10)

The hardware emulation device of claim 10, wherein the low power intent file is a common power format file and includes power domain, isolation, retention, and power mode.
