IP Library Granted Patent US 10,725,528
Granted Patent B2
US 10,725,528 · App. 16/258,931 · Granted Jul 28, 2020

Methods and apparatus for selectively extracting and loading register states

Inventors: Shiva Rao (Belmont, CA); David Alexander Munday (Santa Cruz, CA)
Assignee: Altera Corporation
G06F1/3278G01R31/3177G06F9/3012G06F9/30101G06F9/30141
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,725,528
App. No.
16/258,931
Granted
Jul 28, 2020
Kind
B2
Abstract

Integrated circuits may include registers that store register states. Only a subset of the registers may store critical register states. The subset of registers may be specially demarcated, such as using synthesis directions in the hardware description, and may be coupled to dedicated extraction/loading circuitry. The extraction/loading circuitry may be implemented using soft or hard logic or can leverage existing programming or debugging circuitry on a programmable integrated circuit. The extraction/loading mechanism may also be implemented using multiplexers and associated control circuitry, scan chain circuitry, a memory-mapped interface, a tool-instantiated or user-instantiated finite state machine, or external memory interface logic. Accessing critical register states in this way can help improve efficiency with live migration events, debugging, retiming, and other integrated circuit operations.

Claims (31)

1. A method of operating an integrated circuit that includes a plurality of registers, wherein a subset of the plurality of registers comprises critical registers storing critical register states, the method comprising:

using the plurality of registers to support operation of the integrated circuit; and

with register state access circuitry, extracting only the critical register states from the critical registers during runtime of the integrated circuit.

2. The method of claim 1 , wherein an application is implemented on the integrated circuit, and wherein extracting only the critical register states from the critical registers during runtime of the integrated comprises migrating the application to another integrated circuit.

3. The method of claim 2 , further comprising hosting the application on the another integrated circuit after the migration.

4. The method of claim 1 , wherein the register state access circuitry is not coupled to other non-critical registers in the plurality of registers.

5. The method of claim 1 , further comprising:

with the register state access circuitry, loading data into the critical registers.

6. The method of claim 1 , wherein extracting only the critical register states from the critical registers comprises using generic drivers from a standard interface to read data out from the critical registers.

7. The method of claim 1 , further comprising:

conveying the extracted critical register states to an external memory that is coupled to the integrated circuit.

8. The method of claim 1 , further comprising:

using the integrated circuit to communicate with a host processor running virtual machines; and

operating the integrated circuit as a virtual function hardware accelerator for the virtual machines running on the host processor.

9. A method of using integrated circuit design tools implemented on computing equipment to design an integrated circuit, the method comprising:

forming a plurality of registers on the integrated circuit;

identifying a subset of the plurality of registers as critical registers that store critical register states; and

forming state extraction circuitry that is coupled to the identified subset of critical registers.

10. The method of claim 9 , wherein the critical register states are sufficient to configure an application running on the integrated circuit, and wherein the critical register states need to be extracted by the state extraction circuitry during a migration event that migrates the application from the integrated circuit to another integrated circuit.

11. The method of claim 9 , wherein forming the state extraction circuitry also includes forming state loading circuitry that loads data into the critical registers.

12. The method of claim 9 , wherein forming the state extraction circuitry comprises leveraging existing debug circuitry on the integrated circuit to access the critical registers.

13. The method of claim 9 , wherein forming the state extraction circuitry comprises leveraging existing field programmable gate logic (FPGA) programming logic on the integrated circuit to access the critical registers.

14. The method of claim 9 , wherein forming state extraction circuitry comprises forming multiplexing circuitry at inputs and outputs of the critical registers.

15. The method of claim 9 , wherein identifying the subset of the plurality of registers as critical registers comprises using synthesis directives in a hardware description to demarcate the critical registers.

16. A method, comprising:

running an application on a first circuit, wherein the first circuit is configured to store a plurality of register states; and

migrating the application from the first circuit to a second circuit by extracting only a subset of the plurality of register states and transferring the extracted subset of register states to the second circuit.

17. The method of claim 16 , further comprising running the application on the second circuit after the migrating.

18. The method of claim 16 , wherein the first circuit comprises a first processor, and wherein the second circuit comprises a second processor that is separate from the first processor.

19. The method of claim 16 , wherein the first circuit comprises a first integrated circuit die, and wherein the second circuit comprises a second integrated circuit die that is separate from the first integrated circuit die.

20. The method of claim 16 , further comprising deactivating the first circuit after migrating the application from the first circuit to the second circuit.

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