Patentable/Patents/US-8863230
US-8863230

Methods of authenticating a programmable integrated circuit in combination with a non-volatile memory device

PublishedOctober 14, 2014
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

Methods of authenticating a combination of a programmable IC and a non-volatile memory device, where the non-volatile memory device stores a configuration data stream implementing a user design in the programmable IC. A first identifier unique to the programmable IC is stored in non-volatile memory in the programmable IC. A second identifier unique to the non-volatile memory device is stored in the non-volatile memory device. As part of the process in which the configuration data stream is used to program the programmable IC with the user design, a function is performed on the two identifiers, producing a key specific to the programmable IC/non-volatile memory device combination. The key is then compared to an expected value. When the key matches the expected value, the user design is enabled. When the key does not match the expected value, at least a portion of the user design is disabled.

Patent Claims
17 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method of authenticating a combination of a programmable integrated circuit (IC) and a non-volatile memory device, wherein the non-volatile memory device comprises a configuration data stream implementing a user design in the programmable IC, comprising: programming the user design into the programmable IC, wherein a programmed IC is produced; disabling a first portion of the user design in the programmed IC; performing a function on a first value comprising an identifier unique to the programmable IC and on a second value comprising an identifier unique to the non-volatile memory device, wherein the function provides a key specific to the combination of the programmable IC and the non-volatile memory device; comparing the key with an expected value; and enabling, when the key matches the expected value, the first portion of the user design in the programmed IC; wherein the disabling, the performing, the comparing, and the enabling are all performed by a second portion of the user design in the programmed IC.

2

2. The method of claim 1 , wherein the identifier unique to the non-volatile memory device comprises a plurality of bits from a plurality of electrically programmable fuses included in the non-volatile memory device.

3

3. The method of claim 1 , wherein the identifier unique to the programmable IC comprises a plurality of bits from a plurality of electrically programmable fuses included in the programmable IC.

4

4. The method of claim 1 , wherein the performing the function comprises performing a hash function on the first value and the second value.

5

5. The method of claim 1 , wherein the performing the function comprises shifting bits of the first value and the second value through a shift register.

6

6. The method of claim 1 , wherein the programmable IC comprises a device selected from a group consisting of: a programmable logic device (PLD); a microprocessor; a digital signal processor, and a microcontroller.

7

7. A method of authenticating a combination of a programmable integrated circuit (IC) and a non-volatile memory device, wherein the non-volatile memory device comprises a configuration data stream implementing a user design in the programmable IC, comprising: programming the user design into the programmable IC, wherein a programmed IC is produced; performing a function on a first value comprising an identifier unique to the programmable IC and on a second value comprising an identifier unique to the non-volatile memory device, wherein the function provides a key specific to the combination of the programmable IC and the non-volatile memory device; comparing the key with an expected value; enabling, when the key matches the expected value, at least a first portion of the user design in the programmed IC; and disabling, when the key does not match the expected value, at least the first portion of the user design in the programmed IC; wherein the performing, the comparing, the enabling, and the disabling are all performed by a second portion of the user design in the programmed IC.

8

8. The method of claim 7 , wherein the expected value is included in the configuration data stream.

9

9. The method of claim 7 , wherein the identifier unique to the non-volatile memory device comprises a plurality of bits from a plurality of electrically programmable fuses included in the non-volatile memory device.

10

10. The method of claim 7 , wherein the identifier unique to the programmable IC is stored in a plurality of electrically programmable fuses included in the programmable IC.

11

11. The method of claim 7 , wherein the performing the function comprises performing a hash function on the first value and the second value.

12

12. The method of claim 7 , wherein the performing the function comprises shifting bits of the first value and the second value through a shift register.

13

13. The method of claim 7 , wherein the non-volatile memory device comprises an EEPROM.

14

14. The method of claim 7 , wherein the programmable IC comprises a device selected from a group consisting of: a programmable logic device (PLD); a microprocessor; a digital signal processor, and a microcontroller.

15

15. A method of authenticating a combination of a programmable integrated circuit (IC) and a non-volatile memory device, wherein the non-volatile memory device comprises a configuration data stream implementing a user design in the programmable IC, comprising: performing, in a first portion of the user design, a function on a first value comprising an identifier unique to the programmable IC and on a second value comprising an identifier unique to the non-volatile memory device, wherein the function provides a key specific to the combination of the programmable IC and the non-volatile memory device; comparing the key with an expected value; and ensuring that a second portion of the user design in the programmable IC functions differently when the key matches the expected value and when the key does not match the expected value; wherein the performing, the comparing, and the ensuring are all performed by a second portion of the user design.

16

16. The method of claim 15 , wherein the expected value is included in the configuration data stream.

17

17. The method of claim 15 , wherein the identifier unique to the programmable IC is stored in a plurality of electrically programmable fuses included in the programmable IC.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

June 9, 2006

Publication Date

October 14, 2014

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Methods of authenticating a programmable integrated circuit in combination with a non-volatile memory device” (US-8863230). https://patentable.app/patents/US-8863230

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.