LOGIC REPOSITORY SERVICE USING ENCRYPTED CONFIGURATION DATA
First Claim
1. A method of providing configurable hardware, the method comprising:
- receiving a first request to generate configuration data for a field-programmable gate array (FPGA), the first request comprising a reference to a hardware design specifying application logic for implementation on the FPGA, the FPGA comprising host logic and the application logic when the FPGA is configured;
generating a validated bitstream based on the application logic and the host logic, the validated bitstream specifying the configuration data for the FPGA;
encrypting the validated bitstream to generate an encrypted bitstream;
signing the encrypted bitstream using a private key to generate a signed encrypted bitstream, the signed encrypted bitstream comprising a signature and the encrypted bitstream;
transmitting the signed encrypted bitstream to a host server computer in communication with a particular FPGA;
verifying the signature of the signed encrypted bitstream using a public key;
decrypting the encrypted bitstream to generate the validated bitstream; and
programming the particular FPGA with the validated bitstream so that the particular FPGA is configured with the host logic and the application logic.
1 Assignment
0 Petitions
Accused Products
Abstract
The following description is directed to a logic repository service. In one example, a method of a logic repository service can include receiving a first request to generate configuration data for configurable hardware using a specification for application logic of the configurable hardware. The method can include generating the configuration data for the configurable hardware. The configuration data can include data for implementing the application logic. The method can include encrypting the configuration data to generate encrypted configuration data. The method can include signing the encrypted configuration data using a private key. The method can include transmitting the signed encrypted configuration data in response to the request.
54 Citations
20 Claims
-
1. A method of providing configurable hardware, the method comprising:
-
receiving a first request to generate configuration data for a field-programmable gate array (FPGA), the first request comprising a reference to a hardware design specifying application logic for implementation on the FPGA, the FPGA comprising host logic and the application logic when the FPGA is configured; generating a validated bitstream based on the application logic and the host logic, the validated bitstream specifying the configuration data for the FPGA; encrypting the validated bitstream to generate an encrypted bitstream; signing the encrypted bitstream using a private key to generate a signed encrypted bitstream, the signed encrypted bitstream comprising a signature and the encrypted bitstream; transmitting the signed encrypted bitstream to a host server computer in communication with a particular FPGA; verifying the signature of the signed encrypted bitstream using a public key; decrypting the encrypted bitstream to generate the validated bitstream; and programming the particular FPGA with the validated bitstream so that the particular FPGA is configured with the host logic and the application logic. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. One or more computer-readable storage media including instructions that upon execution cause a first computer system to:
-
receive a request to generate configuration data for configurable hardware using a specification for application logic of the configurable hardware; generate the configuration data for the configurable hardware, the configuration data comprising data for implementing the application logic; encrypt the configuration data to generate encrypted configuration data; sign the encrypted configuration data using a private key; and transmit the signed encrypted configuration data in response to the request. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A computing system comprising:
-
a database; and a logic repository service running on a first server computer coupled to the database, the logic repository service configured to; ingest a first specification for application logic and a second specification for host logic of configurable hardware to generate configuration data for the configurable hardware; encrypt and sign the configuration data using a private key of the logic repository service to generate signed encrypted configuration data; and store the signed encrypted configuration data in the database. - View Dependent Claims (18, 19, 20)
-
Specification