# US 10,374,609 B1 · Integrated circuit applications using partial reconfiguration

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,374,609 B1
- Document ID: US10374609B1
- Status: Granted
- Kind: B1
- Application number: 15/425,744
- Filed: 2017-02-06
- Granted: 2019-08-06
- Earliest claimed: 2014-06-20
- Assignees: Altera Corporation
- Applicants: Altera Corporation
- Inventors: Joshua Walstrom; Mark Bourgeault
- Web page: https://patentgrep.com/patent/US10374609B1

## CPC

- H03K 19/17752: for hot reconfiguration
- G06F 13/4027: {using bus bridges (G06F13/4022 takes precedence)}
- G06F 13/4282: {on a serial bus, e.g. I2C bus, SPI bus (on daisy chain buses G06F13/4247)}
- G06F 21/602: {Providing cryptographic facilities or services}
- H03K 19/017581: {programmable}
- H03K 19/17756: for partial configuration or partial reconfiguration
- G06F 2213/0026: PCI express
- H03K: PULSE TECHNIQUE (measuring pulse characteristics G01R; modulating sinusoidal oscillations with pulses H03C; transmission of digital information H04L; discriminator circuits detecting phase difference between two signals by counting or integrating cycles of oscillation H03D3/04; automatic control, starting, synchronisation or stabilisation of generators of electronic oscillations or pulses where the type of generator is irrelevant or unspecified H03L; coding, decoding or code conversion, in general H03M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Systems and methods for generating and deploying integrated circuit (IC) applications are provided. Partial reconfiguration functionality of an IC may be used to build reconfigurable application platforms that enable application execution on the IC. These apps may include partial reconfiguration bitstreams that allow ease of access to programming without cumbersome compilation via a set of complex tools. The apps may be acquired via a purchasing website or other mechanism, where the bitstreams may be downloaded to the IC, thus increasing usability of the IC as well providing addition revenue streams.

## Claims

### Claim 1

A tangible, non-transitory, computer-readable medium, comprising instructions to:
define one or more reconfigurable partial-reconfiguration bitstream application platforms, wherein the one or more reconfigurable partial-reconfiguration bitstream application platforms define one or more characteristics of an integrated circuit, comprising:
one or more interconnects;
one or more constraints for partial-reconfiguration logic used to execute one or more partial reconfiguration apps; or
both; and
publish the one or more reconfigurable partial-reconfiguration bitstream application platforms via an app store, app service, or both;
wherein the one or more reconfigurable partial-reconfiguration bitstream application platforms configure an integrated circuit for executing the one or more partial reconfiguration apps, the one or more partial reconfiguration apps comprising one or more partial reconfiguration bitstreams intended to be executed according to the one or more characteristics to perform tasks of the one or more partial reconfiguration apps by reconfiguring, during runtime, reconfigurable attribute of the integrated circuit.

### Claim 2 (depends on 1)

The tangible, non-transitory, computer-readable medium of claim 1, wherein the one or more characteristics comprise:
a placement constraint of a particular region of partial-reconfiguration blocks (PR blocks) of the integrated circuit (IC) where a partial-reconfiguration application core is to be implemented on the IC, the partial-reconfiguration application core comprising a set of integrated circuit resources reserved for implementation of the one or more partial reconfiguration apps.

### Claim 3 (depends on 1)

The tangible, non-transitory, computer-readable medium of claim 1, wherein the one or more characteristics comprise clock network constraints for the one or more partial reconfiguration apps.

### Claim 4 (depends on 1)

The tangible, non-transitory, computer-readable medium of claim 1, wherein the one or more characteristics comprise routing constraints for the one or more partial reconfiguration apps.

### Claim 5 (depends on 1)

The tangible, non-transitory, computer-readable medium of claim 1, wherein the one or more characteristics comprise a bridge between a peripheral component interconnect express (PCIe) interface and a partial-reconfiguration application core comprising a set of integrated circuit resources reserved for implementation of the one or more partial reconfiguration apps.

### Claim 6 (depends on 1)

The tangible, non-transitory, computer-readable medium of claim 1, comprising instructions to:
publish, via the app store, the app service, or both, the one or more partial reconfiguration apps that conform to the one or more characteristics defined by the one or more platforms.

### Claim 7 (depends on 6)

The tangible, non-transitory, computer-readable medium of claim 6, comprising instructions to:
detect a request to implement the one or more partial reconfiguration apps on the integrated circuit;
upon detecting the request, provide both the one or more reconfigurable partial-reconfiguration bitstream application platforms and the one or more partial reconfiguration apps to the integrated circuit, such that the one or more reconfigurable partial-reconfiguration bitstream application platforms define the one or more characteristics on the integrated circuit, such that the one or more partial reconfiguration bitstreams are executed according to the one or more characteristics.

### Claim 8 (depends on 7)

The tangible, non-transitory, computer-readable medium of claim 7, comprising instructions to:
license implementation of the one or more partial reconfiguration apps on the integrated circuit, based upon the request;
encrypt the one or more partial reconfiguration apps for subsequent decryption by a particular key prior to implementation on the IC, in accordance with the license.

### Claim 9 (depends on 8)

The tangible, non-transitory, computer-readable medium of claim 8, wherein the particular key comprises a physical key of the IC, a soft key loaded onto the IC, or both.

### Claim 10 (depends on 8)

The tangible, non-transitory, computer-readable medium of claim 8, comprising instructions to:
encrypt the one or more partial reconfiguration apps under a “per-user” structure by enabling decryption of the application by any particular key of a device registered or owned by a particular user.

### Claim 11 (depends on 1)

The tangible, non-transitory, computer-readable medium of claim 1, comprising instructions to:
provide both the one or more reconfigurable partial-reconfiguration bitstream application platforms and the one or more partial reconfiguration apps to the integrated circuit via a host of the integrated circuit.

### Claim 12 (depends on 11)

The tangible, non-transitory, computer-readable medium of claim 11, comprising instructions to:
publish, via the app store, the app service, or both, one or more software development kits (SDKs) that enable generation of additional partial reconfiguration apps that conform to the one or more characteristics defined by the one or more reconfigurable partial-reconfiguration bitstream application platforms.

### Claim 13 (depends on 12)

The tangible, non-transitory, computer-readable medium of claim 12, wherein the SDKs comprise a definition of a particular region of partial-reconfiguration blocks (PR blocks) of the integrated circuit (IC) where a partial-reconfiguration application core is to be implemented on the IC, the partial-reconfiguration application core comprising a set of integrated circuit resources reserved for implementation of the one or more partial reconfiguration apps.

### Claim 14 (depends on 12)

The tangible, non-transitory, computer-readable medium of claim 12, wherein the SDKs comprise a definition of a timing model for the one or more reconfigurable partial-reconfiguration bitstream application platforms.

### Claim 15 (depends on 11)

The tangible, non-transitory, computer-readable medium of claim 11, wherein the one or more characteristics comprise static logic, non-partial reconfiguration interfaces, or both.

### Claim 16

A system, comprising a processor configured to:
publish one or more reconfigurable partial reconfiguration apps via an app store, app service, or both, for access by a plurality of integrated circuit licensees;
wherein the one or more reconfigurable partial reconfiguration apps comprise one or more partial reconfiguration bitstreams intended to be executed according to one or more characteristics defined by a partial-reconfiguration bitstream application platform published via an app store, app service, or both;
wherein the one or more characteristics comprise:
one or more interconnects;
one or more constraints for partial-reconfiguration logic used to execute one or more partial reconfiguration apps; or
both; and
wherein when the one or more partial reconfiguration bitstreams are implemented according to the one or more characteristics, they perform tasks of the one or more partial reconfiguration apps by reconfiguring, during runtime, one or more reconfigurable attributes of the integrated circuit.

### Claim 17 (depends on 16)

The system of claim 16, wherein the processor is configured to:
detect a request to implement the one or more partial reconfiguration apps on the integrated circuit;
upon detecting the request, provide both the one or more reconfigurable partial-reconfiguration bitstream application platforms and the one or more partial reconfiguration apps to the integrated circuit, such that the one or more reconfigurable partial-reconfiguration bitstream application platforms define the one or more characteristics on the integrated circuit, such that the one or more partial reconfiguration bitstreams are executed according to the one or more characteristics.

### Claim 18 (depends on 17)

The system of claim 17, wherein the processor is configured to:
license implementation of the one or more partial reconfiguration apps on the integrated circuit, based upon the request;
encrypt the one or more partial reconfiguration apps for subsequent decryption by a particular key prior to implementation on the IC, in accordance with the license.

### Claim 19

A system, wherein the processor is configured to:
publish, via an app store, an app service, or both, one or more software development kits (SDKs) that enable generation of partial reconfiguration apps that conform to one or more characteristics defined by on one or more reconfigurable partial-reconfiguration bitstream application platforms published via an app store, app service, or both;
wherein the one or more reconfigurable partial reconfiguration apps comprise one or more partial reconfiguration bitstreams;
wherein the one or more characteristics comprise:
one or more interconnects;
one or more constraints for partial-reconfiguration logic used to execute one or more partial reconfiguration apps; or
both; and
wherein when the one or more partial reconfiguration bitstreams are implemented according to the one or more characteristics, they perform tasks of the one or more partial reconfiguration apps by reconfiguring, during runtime, one or more reconfigurable attributes of the integrated circuit.

### Claim 20 (depends on 19)

The system of claim 19, wherein the SDKs comprise:
a definition of a particular region of partial-reconfiguration blocks (PR blocks) of the integrated circuit (IC) where a partial-reconfiguration application core is to be implemented on the IC, the partial-reconfiguration application core comprising a set of integrated circuit resources reserved for implementation of the one or more partial reconfiguration apps;
a definition of a timing model for the one or more reconfigurable partial-reconfiguration bitstream application platforms;
or both.
