IP Library Granted Patent US 7,925,489
Granted Patent B2
US 7,925,489 · App. 11/930,808 · Granted Apr 12, 2011

Defining and recording threshold-qualified count events of a simulation by testcases

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 7,925,489
App. No.
11/930,808
Granted
Apr 12, 2011
Kind
B2
Abstract

A design is simulated utilizing a hardware description language (HDL) simulation model by stimulating the HDL simulation model with a testcase. The HDL simulation model includes instrumentation not forming a portion of the design that includes a count event counter for a count event in the design, and the simulation includes counting occurrences of the count event in the count event counter to obtain a count event value. A threshold is also established for an aggregate count event value for the count event counter. After completion of the testcase, a determination is made whether addition of the count event value to the aggregate count event value for the count event counter would cause the aggregate count event value to exceed the threshold. If not, the count event value is recorded in a testcase data storage area, and the count event value is accumulated in the aggregate count event value. If so, the count event value is discarded without recording the count event value in the testcase data storage area.

Claims (43)

1. A method of simulation processing in a data processing system, said method comprising:

at a simulation client, simulating a design utilizing a hardware description language (HDL) simulation model by stimulating the HDL simulation model with a plurality of testcases, wherein the HDL simulation model includes instrumentation not forming a portion of the design that includes a count event counter for a count event in the design, and wherein the simulating includes counting occurrences of said count event in said count event counter to obtain a respective count event value for each of the plurality of testcases; and

establishing a threshold greater than 1 for an aggregate count event value of said count event counter over the plurality of testcases and associating the threshold with the HDL simulation model, wherein the aggregate count event value aggregates count event values for the count event over the plurality of testcases;

after completion of each completed testcase among the plurality of testcases:

determining if addition of the count event value of the completed testcase to the aggregate count event value for the count event counter would cause the aggregate count event value over the plurality of testcases to exceed the threshold;

in response to a determination that the addition of the count event value of the completed testcase to the aggregate count event value would not cause the aggregate count event value to exceed the threshold, recording the count event value of the completed testcase in a testcase data storage area and accumulating the count event value of the completed testcase in the aggregate count event value; and

in response to a determination that the addition of the count event value to the aggregate count event value would cause the aggregate count event value to exceed the threshold, discarding the count event value of the completed testcase without recording the count event value of the completed testcase in the testcase data storage area.

2. The method of claim 1 , wherein:

said count event counter comprises a first count event counter;

said threshold comprises a first threshold;

said method further comprises establishing a second threshold greater than 1 for a second count event counter in the instrumentation of the HDL simulation model; and

said discarding comprises discarding a count event value of the second count event counter and the count event value of the first count event counter if the count event value of the first count event counter exceeds said first threshold and the count event value of the second count event counter exceeds said second threshold.

3. The method of claim 1 , and further comprising resetting the aggregate count event value at regular intervals.

4. The method of claim 1 , wherein said determining comprises performing said determining using a keyword/value pair specified for the plurality of testcases, wherein the keyword identifies the count event counter and the value identifies the threshold.

5. The method of claim 1 , wherein said recording comprises transmitting the count event value from the simulation client to a simulation server that aggregates count data for multiple testcases.

6. The method of claim 1 , wherein said recording comprises recording the count event value in a file system directory structure in association with a file indicating the threshold applicable to the plurality of testcases.

7. A data processing system, comprising:

a processor; and

data storage coupled to the processor; and

simulation program code within the data storage and executable by the processor to simulate a design utilizing a hardware description language (HDL) simulation model by stimulating the HDL simulation model with a plurality of testcases, wherein the HDL simulation model includes instrumentation not forming a portion of the design that includes a count event counter for a count event in the design, and wherein the simulating includes counting occurrences of said count event in said count event counter to obtain a respective count event value for each of the plurality of testcases, wherein after completion of each completed testcase among the plurality of testcases, the simulation program code determines if addition of the count event value of the completed testcase to an aggregate count event value for the count event counter would cause the aggregate count event value over the plurality of testcases to exceed a threshold associated with the HDL simulation model, and wherein responsive to a determination that the addition of the count event value of the completed testcase to the aggregate count event value would not cause the aggregate count event value to exceed the threshold, the simulation program code records the count event value of the completed testcase in a testcase data storage area and accumulates the count event value of the completed testcase in the aggregate count event value, and responsive to a determination that the addition of the count event value to the aggregate count event value would cause the aggregate count event value to exceed the threshold, discards the count event value of the completed testcase without recording the count event value of the completed testcase in the testcase data storage area.

8. The data processing system of claim 7 , wherein:

said count event counter comprises a first count event counter;

said threshold comprises a first threshold;

the simulation program code discards a count event value of a second count event counter and the count event value of the first count event counter if the count event value of the first count event counter exceeds said first threshold and the count event value of the second count event counter exceeds a second threshold.

9. The data processing system of claim 7 , wherein the simulation program code resets the aggregate count event value at regular intervals.

10. The data processing system of claim 7 , wherein said simulation program code further comprises code for performing said determining using a keyword/value pair specified for the plurality of testcases, wherein the keyword identifies the count event counter and the value identifies the threshold.

11. The data processing system of claim 7 , wherein said simulation program code records the count event value by transmitting the count event value from the data processing system to a simulation server that aggregates count data for multiple testcases.

12. The data processing system of claim 7 , wherein said simulation program code records the count event value in a file system directory structure in association with a file indicating the threshold applicable to the plurality of testcases.

13. A program product, comprising:

a computer readable storage medium; and

simulation program code within the computer readable data storage medium and executable by a processor to simulate a design utilizing a hardware description language (HDL) simulation model by stimulating the HDL simulation model with a plurality of testcases, wherein the HDL simulation model includes instrumentation not forming a portion of the design that includes a count event counter for a count event in the design, and wherein the simulating includes counting occurrences of said count event in said count event counter to obtain a respective count event value for each of the plurality of testcases, wherein after completion of each completed testcase among the plurality of testcases, the simulation program code determines if addition of the count event value of the completed testcase to an aggregate count event value for the count event counter would cause the aggregate count event value over the plurality of testcases to exceed a threshold associated with the HDL simulation model, and wherein responsive to a determination that the addition of the count event value of the completed testcase to the aggregate count event value would not cause the aggregate count event value to exceed the threshold, the simulation program code records the count event value of the completed testcase in a testcase data storage area and accumulates the count event value of the completed testcase in the aggregate count event value, and responsive to a determination that the addition of the count event value to the aggregate count event value would cause the aggregate count event value to exceed the threshold, discards the count event value of the completed testcase without recording the count event value of the completed testcase in the testcase data storage area.

14. The program product of claim 13 , wherein:

said count event counter comprises a first count event counter;

said threshold comprises a first threshold;

the simulation program code discards a count event value of a second count event counter and the count event value of the first count event counter if the count event value of the first count event counter exceeds said first threshold and the count event value of the second count event counter exceeds a second threshold.

15. The program product of claim 13 , wherein the simulation program code resets the aggregate count event value at regular intervals.

16. The program product of claim 13 , wherein said simulation program code further comprises code for performing said determining using a keyword/value pair specified for the plurality of testcases, wherein the keyword identifies the count event counter and the value identifies the threshold.

17. The program product of claim 13 , wherein said simulation program code records the count event value by transmitting the count event value from the data processing system to a simulation server that aggregates count data for multiple testcases.

18. The program product of claim 13 , wherein said simulation program code records the count event value in a file system directory structure in association with a file indicating the threshold applicable to the plurality of testcases.

19. A processor, comprising:

at least one processor core;

an interconnect coupled to the processor core and capable of being coupled to data storage; and

the processor core for executing simulation program code stored within the data storage to simulate a design utilizing a hardware description language (HDL) simulation model by stimulating the HDL simulation model with a plurality of testcases, wherein the HDL simulation model includes instrumentation not forming a portion of the design that includes a count event counter for a count event in the design, and wherein the simulating includes counting occurrences of said count event in said count event counter to obtain a respective count event value for each of the plurality of testcases, wherein after completion of each completed testcase among the plurality of testcases, the simulation program code determines if addition of the count event value of the completed testcase to an aggregate count event value for the count event counter would cause the aggregate count event value over the plurality of testcases to exceed a threshold associated with the HDL simulation model, and wherein responsive to a determination that the addition of the count event value of the completed testcase to the aggregate count event value would not cause the aggregate count event value to exceed the threshold, the simulation program code records the count event value of the completed testcase in a testcase data storage area and accumulates the count event value of the completed testcase in the aggregate count event value, and responsive to a determination that the addition of the count event value to the aggregate count event value would cause the aggregate count event value to exceed the threshold, discards the count event value of the completed testcase without recording the count event value of the completed testcase in the testcase data storage area.

Assignments (3)
MERGER AND CHANGE OF NAME Recorded Jun 16, 2021
From: MENTOR GRAPHICS CORPORATION; SIEMENS INDUSTRY SOFTWARE INC.
To: SIEMENS INDUSTRY SOFTWARE INC.
Reel/Frame 056597/0234 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2013
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: MENTOR GRAPHICS CORPORATION
Reel/Frame 029733/0156 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2007
From: BEHM, MICHAEL L.; GABELE, CAROL I.; WILLIAMS, DEREK E.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 020044/0137 →