IP Library Granted Patent US 7,945,888
Granted Patent B2
US 7,945,888 · App. 12/038,818 · Granted May 17, 2011

Model-based hardware exerciser, device, system and method thereof

Assignee: International Business Machines Corporation
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,945,888
App. No.
12/038,818
Granted
May 17, 2011
Kind
B2
Abstract

Device, system and method for verification of a hardware system-under-test including at least one processor. A method includes building an executable image of a hardware exerciser adapted for execution on a test platform selected from: a simulation accelerator, a hardware emulator, a prototype hardware system, and a hardware production wafer. The exerciser image includes embedded data corresponding to architectural knowledge, testing knowledge, and a test template. The test template is defined in a context-free formal language and includes biasing directives to influence at least one of a desired test structure, one or more resources to be included in the test, and one or more values of the included resources. The architectural knowledge is obtained from an architectural model including a formal description of the specification for the system-under-test, and the testing knowledge is obtained from a testing knowledgebase including heuristics for testing desired aspects of the system-under-test.

Claims (42)

1. A method for verification of a hardware system-under-test including at least one processor, the method comprising:

building an executable image of a hardware exerciser, wherein the hardware exerciser is adapted to control a test cycle of the hardware system-under-test, wherein the test cycle comprises at least generation and execution of a test; said building comprises embedding in the executable image data corresponding to:

architectural knowledge of the system-under-test,

testing knowledge of the system-under-test, and

a test template for the system-under-test,

wherein said test template is defined in a formal language and includes biasing directives to control one or more parameters of a randomly generated test of said system-under-test;

wherein said building further comprises storing the executable image in a non-transitory computer readable medium; and

wherein said executable image of the hardware exerciser is configured to be executed by the hardware system-under-test.

2. The method of claim 1 , wherein said biasing directives control at least one parameter selected from the group consisting of: a desired test structure, one or more resources of the system-under-test to be included in said test, one or more values to be assigned to said resources, occurrence of one or more architectural or micro-architectural events during said test, and activation of testing knowledge relating to the system-under-test.

3. The method of claim 1 , wherein said architectural knowledge is obtained from an architectural model including a formal description of the specification for said system-under-test, and wherein said testing knowledge is obtained from a testing knowledgebase including heuristics for testing desired aspects of said system-under-test.

4. The method of claim 3 , comprising selecting only a portion of said architectural model and of said testing knowledgebase to embed as data in said executable image, said selected portion including data relevant for supporting said test template to generate a test for the system-under-test; and whereby a size of the executable image of the hardware exercised is reduced.

5. The method of claim 1 , comprising embedding in said executable image of the hardware exerciser data corresponding to a description of a topology and a configuration setup of said hardware system-under-test, said data obtained from a system configuration file.

6. The method of claim 1 , comprising executing said executable image of the hardware exerciser on a test platform to implement said test cycle, and wherein implementing said test cycle includes randomly generating a test that satisfies said test template, executing said test, and validating said execution; and wherein the test platform is selected from the group consisting of: a hardware simulation accelerator, a hardware emulator, a prototype hardware system, and a hardware production wafer.

7. The method of claim 1 , wherein the executable image comprises a code operative to provide light Operating System (OS) services for the executable image.

8. The method of claim 1 , further comprising:

loading the executable image on a post-silicon test platform; and

executing the executable image by the post-silicon test platform, wherein the execution of the executable image having unrestricted machine access.

9. The method of claim 1 , further comprising obtaining the architectural knowledge of the system-under-test from an architectural model including a formal description of the specification for said system-under-test.

10. The method of claim 1 , further comprising obtaining testing knowledge of the system-under-test from a testing knowledgebase including heuristics for testing desired aspects of said system-under-test.

11. The method of claim 1 , wherein the hardware exerciser is a bare-metal tool.

12. A system for verification of a hardware system-under-test including at least one processor, the system comprising:

a processing unit;

a computer readable medium, wherein the computer readable medium having stored thereon:

an architectural model including a formal description of the specification for said system-under-test;

a testing knowledgebase including heuristics for testing desired aspects of said system-under-test;

a test template defined in a formal language, said test template including biasing directives to control one or more parameters of a randomly generated test of said system-under-test; and

a builder program, wherein the builder program, when executed by the processing unit, causes the processing unit to build an executable image of a hardware exerciser to control a test cycle of said system-under-test, wherein the test cycle comprises at least generation and execution of a test, wherein building said exerciser image includes embedding data corresponding to architectural knowledge of the system-under-test obtained from said architectural model, testing knowledge of the system-under-test obtained from said testing knowledgebase, and said test template.

13. The system of claim 12 , wherein said biasing directives control at least one parameter selected from the group consisting of: a desired test structure, one or more resources of the system-under-test to be included in said test, one or more values to be assigned to said resources, occurrence of one or more architectural or micro-architectural events during said test, and activation of testing knowledge relating to the system-under-test.

14. The system of claim 12 , wherein said builder program is adapted to select only a portion of said architectural model and of said testing knowledgebase to embed as data in said executable image, said selected portion including data relevant for supporting said test template to generate a test for the system-under-test; and whereby said builder program is adapted to reduce a size of said executable image of the hardware exerciser.

15. The system of claim 12 , wherein said computer readable medium having stored thereon a system configuration file for said hardware system-under-test, and wherein building said exerciser image comprises embedding data corresponding to a description of the topology and configuration setup of said hardware system-under-test obtained from said system configuration file.

16. The system of claim 12 , wherein said executable image of the hardware exerciser, when executed on a test platform, configured to implements said test cycle, and wherein implementing said test cycle includes randomly generating a test that satisfies said test template, executing said test, and validating said execution.

17. The system of claim 16 , the test platform is selected from the group consisting of: a hardware simulation accelerator, a hardware emulator, a prototype hardware system, and a hardware production wafer.

18. A computer program product for verification of a hardware system-under-test including at least one processor, said computer program product comprising:

a non-transitory computer readable medium;

a first program instruction operative to obtain architectural knowledge of the system-under-test from an architectural model including a formal description of the specification for said system-under-test;

a second program instruction operative to obtain testing knowledge of the system-under-test from a testing knowledgebase including heuristics for testing desired aspects of said system-under-test;

a third program instruction operative to obtain a test template for the system-under-test, wherein the test template is defined in a formal language and includes biasing directives to control one or more parameters of a randomly generated test of said system-under-test;

a fourth program instruction operative to build an executable image of a hardware exerciser to control a test cycle of said system-under-test, wherein the test cycle comprises at least generation and execution of a test, wherein building said executable image includes embedding data corresponding to said architectural knowledge, said testing knowledge, and a test template for the system-under-test;

wherein said first, second, third and, fourth program instructions are stored on said non-transitory computer readable media.

19. The computer program product of claim 18 , further comprising:

a fifth program instruction operative to reduce a size of said executable image of the hardware exerciser by selecting a portion of said architectural model and of said testing knowledgebase to embed as data in said executable image, said selected portion including data relevant for supporting said test template to generate a test for the system-under-test; and

wherein said fifth program instruction is stored on said non-transitory computer readable medium.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded May 12, 2021
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: GLOBALFOUNDRIES U.S. INC.
Reel/Frame 056987/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 20, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: GLOBALFOUNDRIES INC.
Reel/Frame 054636/0001 →
SECURITY AGREEMENT Recorded Nov 29, 2018
From: GLOBALFOUNDRIES INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 049490/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2015
From: GLOBALFOUNDRIES U.S. 2 LLC; GLOBALFOUNDRIES U.S. INC.
To: GLOBALFOUNDRIES INC.
Reel/Frame 036779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2015
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: GLOBALFOUNDRIES U.S. 2 LLC
Reel/Frame 036550/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2008
From: ADIR, ALLON; SHUREK, GIL ELIEZER
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 020572/0549 →
Continuity (1)
Related Publication 20090222694A1 · Sep 3, 2009