IP Library Granted Patent US 9,141,501
Granted Patent B2
US 9,141,501 · App. 13/793,345 · Granted Sep 22, 2015

Firmware generated register file for use in hardware validation

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 9,141,501
App. No.
13/793,345
Granted
Sep 22, 2015
Kind
B2
Abstract

When testing or validating a hardware system, a script file representing a portion of the firmware may be used to test the system instead of using the firmware code itself. For example, the script file may be plurality of register commands that perform the same initialization sequence as the firmware. Before connecting the hardware system to firmware drivers, the script file may be used to debug the initialization sequence. Instead of generating this script file manually, a firmware testing tool may be used. While executing the firmware, the tool may record the different register access commands performed during the initialization process. The script file is then generated programmatically using these recorded commands without requiring input from the system designer. The generated script file may then be tested on the hardware system to determine whether the command sequence in the script file forces the hardware system into the desired state.

Claims (14)

1. A method of testing a design of a hardware system, comprising:

executing firmware in a firmware testing tool, the firmware testing tool comprising a simulated model of the hardware system, wherein, while executing the firmware, the firmware testing tool writes data to registers in the simulated model that force the simulated model into a desired state;

recording values written to the registers while executing the firmware; and

converting the recorded values into a plurality of register commands to generate a script, wherein the script is configured to, when executed on a testing apparatus, force a physical representation of the hardware system into the desired state.

2. The method of claim 1 , further comprising, upon determining that the script does not force the physical representation of the hardware system into the desired state:

executing updated firmware in the firmware testing tool;

recording new values written to the registers while executing the updated firmware; and

converting the new values into a different plurality of register commands to generate a new script.

3. The method of claim 1 , wherein the script is configured to be used by the testing apparatus to write values to registers in the physical representation of the hardware system.

4. The method of claim 1 , wherein the plurality of register commands in the script is arranged in a sequence configured to force the physical representation of the hardware system into an initialized state.

5. The method of claim 1 , further comprising, before converting the recorded values into the plurality of register commands, filtering the recorded values to select only a portion of the recorded values based on whether the recorded values are used to force the hardware system into the desired state.

6. The method of claim 1 , wherein the physical representation of the hardware system is at least one of: a field-programmable gate array (FPGA) configured to model at least a portion of the hardware system and an application-specific integrated circuit (ASIC) of the hardware system.

7. The method of claim 1 , wherein the script is configured to be used in a hardware simulator for forcing a simulated hardware system into the desired state.

8. The method of claim 1 , wherein the plurality of register commands in the script is programmatically generated without input from a user.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2019
From: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE LTD.
To: LENOVO INTERNATIONAL LIMITED
Reel/Frame 050300/0878 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNMENT DOCUMENT CONTAINING TYPO ERRORS PREVIOUSLY RECORDED AT REEL: 037101 FRAME: 0969. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Dec 28, 2015
From: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.
To: LENOVO INTERNATIONAL LIMITED
Reel/Frame 037689/0190 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 12, 2015
From: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.
To: LENOVO INTERNATIONAL LIMITED
Reel/Frame 037101/0969 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2014
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.
Reel/Frame 034194/0353 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 26, 2013
From: ENGEBRETSEN, DAVID R.; KNIGHT, STEPHEN A.; SALEY, JAIMESON; WILE, BRUCE
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 031084/0667 →