IP Library Granted Patent US 10,075,167
Granted Patent B2
US 10,075,167 · App. 15/818,451 · Granted Sep 11, 2018

Programmable logic device virtualization

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 10,075,167
App. No.
15/818,451
Granted
Sep 11, 2018
Kind
B2
Abstract

A device includes a programmable logic fabric. The programmable logic fabric includes a first area, wherein a first persona is configured to be programmed in the first area. The programmable logic fabric also includes a second area, wherein a second persona is configured to be programmed in the second area in a second persona programming time. The device is configured to be controlled by a host to switch from running the first persona to running the second persona in a time less than the second persona programming time.

Claims (37)

1. A device comprising:

a programmable logic fabric comprising a plurality of partitions, wherein a first partition of the plurality of partitions is programmed with a first persona in a first programming time; and

a controller that is configured to:

determine whether a second programming time for programming a second persona in a second partition of the plurality of partitions is greater than a third programming time for programming a third persona in a third partition of the plurality of partitions; and

program the second persona in the second partition while running the first persona in the first partition before programming the third persona in the third partition in response to determining that the second programming time is greater than the third programming time.

2. The device of claim 1 , wherein the controller is configured to run the first persona in the first partition.

3. The device of claim 2 , wherein the controller is configured to be instructed by a host to switch from running the first persona to running the second persona.

4. The device of claim 3 , wherein the host is external to the device.

5. The device of claim 3 , wherein the device comprises the host.

6. The device of claim 2 , wherein the controller is configured to switch from running the first persona to running the second persona in a time less than the second programming time.

7. The device of claim 1 , wherein the controller is configured to program the third persona in the third partition while running the first persona in the first partition before programming the second persona in the second partition in response to determining that the second programming is not greater than the third programming time.

8. The device of claim 7 , wherein the controller is configured to switch from running the first persona to running the third persona in a time less than the third programming time.

9. The device of claim 1 , wherein the device comprises a programmable logic device.

10. A system comprising:

a programmable logic fabric; and

a controller configured to:

partition the programmable logic fabric into a plurality of portions;

program a first persona in a first portion of the plurality of portions in a first programming time;

determine a second programming time for programming a second persona in a second portion of the plurality of portions;

determine a third programming time for programming a third persona in a third portion of the plurality of portions;

program the second persona in the second portion before programming the third persona in the third portion in response to determining that the second programming time is greater than the third programming time; and

program the third persona in the third portion before programming the second persona in the second portion in response to determining that the third programming time is greater than the second programming time.

11. The system of claim 10 , wherein the controller is configured to run the first persona while programming the second persona in the second portion.

12. The system of claim 11 , wherein the controller is configured to run the first persona while programming the third persona in the third portion after programming the second persona in the second portion.

13. The system of claim 10 , wherein the controller is configured to run the first persona while programming the third persona in the third portion.

14. The system of claim 13 , wherein the controller is configured to run the first persona while programming the second persona in the second portion after programming the third persona in the third portion.

15. One or more tangible, non-transitory, machine-readable-media, comprising machine readable instructions to:

program a first persona into a first partition of an integrated circuit in a first programming time;

cause the first persona to run in the first partition;

determine a second programming time for programming a second persona in a second partition of the integrated circuit;

determine a third programming time for programming a third persona in a third partition of the integrated circuit; and

program the second persona in the second partition before programming the third persona in the third partition in response to determining that the second programming time is greater than the third programming time.

16. The one or more tangible, non-transitory, machine-readable-media of claim 15 , wherein the first persona is caused to be run in a first runtime, wherein the first runtime and the second programming time overlap when the second programming time is greater than the third programming time.

17. The one or more tangible, non-transitory, machine-readable-media of claim 16 , wherein the wherein the first runtime and the third programming time overlap.

18. The one or more tangible, non-transitory, machine-readable-media of claim 15 , comprising machine readable instructions to program the third persona in the third partition before programming the second persona in the second partition in response to determining that the third programming time is greater than the second programming time.

19. The one or more tangible, non-transitory, machine-readable-media of claim 18 , wherein the first persona is run in a first runtime, wherein the first runtime and the third programming time overlap when the third programming time is greater than the second programming time.

20. The one or more tangible, non-transitory, machine-readable-media of claim 19 , wherein the wherein the first runtime and the second programming time overlap.

Assignments (1)
SECURITY INTEREST Recorded Sep 12, 2025
From: ALTERA CORPORATION
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 073431/0309 →