Methods to securely configure an FPGA using encrypted macros
First Claim
1. A method to program an FPGA comprising the steps of:
- creating a design file incorporating a first encrypted macro of a first macro;
obtaining authorization to decrypt said first encrypted macro;
decrypting the first encrypted macro to obtain the first macro; and
converting said design file and said first macro into configuration data, wherein said configuration data incorporates a first converted macro based on said first macro.
1 Assignment
0 Petitions
Accused Products
Abstract
A method is provided for securely configuring an FPGA with macros. Specifically, if an end user desires to use a macro from a macro vendor, the end user creates a design file containing an encrypted macro received from the macro vendor rather than the actual macro. The end user uses a FPGA programming tool to convert the design file into configuration data. Specifically, the FPGA programming tool processes the design file to detect encrypted macros. If an encrypted macro is detected, the FPGA programming tool requests authorization over a secured medium to decrypt the encrypted macro from the macro vendor. If authorization is received, the FPGA programming tool decrypts the encrypted macro and converts the design file into configuration data incorporating the macro.
-
Citations
17 Claims
-
1. A method to program an FPGA comprising the steps of:
-
creating a design file incorporating a first encrypted macro of a first macro;
obtaining authorization to decrypt said first encrypted macro;
decrypting the first encrypted macro to obtain the first macro; and
converting said design file and said first macro into configuration data, wherein said configuration data incorporates a first converted macro based on said first macro. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method to securely provide macros for programming an FPGA, said method comprising the steps of:
-
encrypting a first macro to form a first encrypted macro;
providing said first encrypted macro to an end user;
granting authorization to decrypt said first encrypted macro over a secured medium; and
converting the first macro into a first converted macro. - View Dependent Claims (14, 15, 16, 17)
encrypting a second macro to form a second encrypted macro;
providing said second encrypted macro to an end user; and
granting authorization to decrypt said second encrypted macro over said secured medium.
-
Specification