IP Library › Granted Patent US 11,256,520
Granted Patent B2
US 11,256,520 · App. 16/574,956 · Granted Feb 22, 2022

Tracing status of a programmable device

Inventors: David P. Schultz (Longmont, CO); Adrian M. Hernandez (Longmont, CO); David Robinson (Loanhead, GB); Elessar Taggart (Longmont, CO); Max Heimer (Boulder, CO)
Assignee: Xilinx, Inc.
G06F9/44505G06F11/0751G06F11/0778G06F11/0787
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 11,256,520
App. No.
16/574,956
Granted
Feb 22, 2022
Kind
B2
Abstract

Tracing status of a programmable device can include, in response to loading a device image for the programmable device, determining, using a processing unit on the programmable device, trace data for the device image, storing, by the processing unit, the trace data for the device image in a memory, and, in response to unloading the device image, recording the unloading of the device image in the trace data in the memory.

Claims (42)

1. A method, comprising:

in response to loading a device image for a programmable device, determining, using a processing unit on the programmable device, trace data for the device image;

wherein the device image specifies a reconfigurable module loaded as part of partial reconfiguration of the programmable device, wherein the device image includes a reconfigurable partition identifier and a reconfigurable module identifier;

storing, by the processing unit, the trace data for the device image in a memory, wherein the reconfigurable partition identifier and the reconfigurable module identifier are stored as part of the trace data; and

in response to unloading the device image, recording the unloading of the device image in the trace data in the memory.

2. The method of claim 1 , wherein the memory is on the programmable device.

3. The method of claim 1 , wherein the memory is external to the programmable device.

4. The method of claim 1 , wherein a plurality of device images are loaded into the programmable device concurrently, the method comprising:

creating a unique identifier corresponding to each of the plurality of device images loaded into the programmable device; and

storing the unique identifiers within the memory.

5. The method of claim 1 , further comprising:

counting, by the processing unit, a number of device images loaded into the programmable device since a reset of the programmable device.

6. The method of claim 1 , wherein platform circuitry is already implemented in the programmable device using programmable circuit resources of the programmable device, the method further comprising:

detecting compatibility of the device image with the platform circuitry based on a comparison of the trace data for the device image with trace data for the platform circuitry.

7. The method of claim 6 , further comprising:

in response to determining an incompatibility from the detecting, generating an error code and storing the error code as part of the trace data.

8. The method of claim 6 , further comprising:

in response to determining an incompatibility from the detecting, rejecting the device image.

9. The method of claim 1 , further comprising:

determining an identifier of a master requesting loading of the device image and storing the identifier as part of the trace data for the device image.

10. A device, comprising:

a plurality of programmable circuit resources; and

a processor configured to program the plurality of programmable circuit resources, wherein the processor initiates executable operations including:

in response to loading a device image for the device, determining trace data for the device image, wherein the device image includes programming data for one or more of the plurality of programmable circuit resources;

wherein the device image specifies a reconfigurable module loaded as part of partial reconfiguration of the device, wherein the device image includes a reconfigurable partition identifier and a reconfigurable module identifier;

storing the trace data for the device image in a memory, wherein the reconfigurable partition identifier and the reconfigurable module identifier are stored as part of the trace data; and

in response to unloading the device image, recording the unloading of the device image in the trace data in the memory.

11. The device of claim 10 , wherein the memory is on the device.

12. The device of claim 10 , wherein the memory is external to the device.

13. The device of claim 10 , wherein a plurality of device images are loaded into the device concurrently, wherein the processor is configured to initiate operations further comprising:

creating a unique identifier corresponding to each of the plurality of device images loaded into the device; and

storing the unique identifiers within the memory.

14. The device of claim 10 , wherein the processor is configured to initiate operations further comprising:

counting a number of device images loaded into the device since a reset of the device.

15. The device of claim 10 , wherein platform circuitry is already implemented in the device using selected ones of the plurality of programmable circuit resources, wherein the processor is configured to initiate operations further comprising:

detecting compatibility of the device image with the platform circuitry based on a comparison of the trace data for the device image with trace data for the platform circuitry.

16. The device of claim 15 , wherein the processor is configured to initiate operations further comprising:

in response to determining an incompatibility from the detecting, generating an error code and storing the error code as part of the trace data.

17. The device of claim 15 , wherein the processor is configured to initiate operations further comprising:

in response to determining an incompatibility from the detecting, rejecting the device image.

18. The device of claim 10 , wherein the processor is configured to initiate operations further comprising:

determining an identifier of a master requesting loading of the device image and storing the identifier as part of the trace data for the device image.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 1, 2019
From: SCHULTZ, DAVID P.; HERNANDEZ, ADRIAN M.; TAGGART, ELESSAR; HEIMER, MAX
To: XILINX, INC.
Reel/Frame 050571/0480 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 1, 2019
From: ROBINSON, DAVID
To: XILINX, INC.
Reel/Frame 050592/0485 →
Continuity (1)
Related Publication 20210081215A1 · Mar 18, 2021