IP Library Granted Patent US 9,916,477
Granted Patent B2
US 9,916,477 · App. 14/833,991 · Granted Mar 13, 2018

ASICs having programmable bypass of design faults

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 9,916,477
App. No.
14/833,991
Granted
Mar 13, 2018
Kind
B2
Abstract

A relatively small amount of programmable logic may be included in a mostly ASIC device such that the programmable logic can be used as a substitute for a fault-infected ASIC block. This substitution may occur permanently or temporarily. When an ASIC block is temporarily substituted, faulty outputs of the ASIC block are disabled just at the time they would otherwise propagate an error. The operations of the temporarily deactivated ASIC block(s) may be substituted for by appropriately programmed programmable logic. Thus, a fault-infected ASIC block that operates improperly 1% of the time can continue to be gainfully used for the 99% of the time when its operations are fault free. This substitution can be activated in various stages of the ASIC block's life including after: initial design; pilot production; and mass production. This provides for cost saving and faster time-to-market, repair, and maintenance even years after installation and use.

Claims (46)

1. An apparatus, comprising:

non-programmable circuitry; and

programmable circuitry coupled to the non-programmable circuitry;

wherein the apparatus is configured to:

receive, from an external device, information specifying a use of the programmable circuitry; and

allow use of the programmable circuitry based on a received encrypted key corresponding to the information; and

wherein the programmable circuitry is configured to provide control signals, for performing the use specified by the information, to the non-programmable circuitry during operation of the non-programmable circuitry.

2. The apparatus of claim 1 , wherein the use of the programmable circuitry is a configuration of the programmable circuitry.

3. The apparatus of claim 1 , wherein the apparatus is configured to receive the encrypted key from another device different than the external device.

4. The apparatus of claim 1 , wherein the programmable circuitry is configured to:

detect a particular state of the non-programmable circuitry during operation of the non-programmable circuitry;

provide a substitute signal to an input of a first block of the non-programmable circuitry in place of an output of a second block of the non-programmable circuitry; and

remove the substitute signal after performance of one or more operations by the non-programmable circuitry using the substitute signal.

5. The apparatus of claim 4 , wherein the use of the programmable circuitry is a configuration of the programmable circuitry, and wherein the substitute signal is a different substitute signal than the programmable circuitry was configured to provide, prior to the configuration, in response to detecting the particular state.

6. The apparatus of claim 1 , wherein the apparatus is configured to receive the information wirelessly.

7. The apparatus of claim 1 , wherein the apparatus is further configured to transmit information indicating detection of a fault condition during operation of the non-programmable circuit, and wherein the information specifying the use of the programmable circuitry is generated at a remote location and is to perform a corrective action for the fault condition.

8. The apparatus of claim 1 , further comprising decryption circuitry configured to decrypt the received encrypted key and allow the use of the programmable circuitry based on the decryption.

9. The apparatus of claim 1 , wherein the programmable circuitry comprises a field-programmable gate array.

10. The apparatus of claim 1 , further comprising selection circuitry configured to select between signals from the programmable circuitry and the non-programmable circuitry.

11. The apparatus of claim 1 , wherein the programmable circuitry is configured to permanently disable a portion of the non-programmable circuitry subsequent to the use of the programmable circuitry.

12. A method, comprising:

receiving, by a device that includes non-programmable circuitry and programmable circuitry coupled to the non-programmable circuitry, information from an external device specifying a configuration of the programmable circuitry;

receiving an encryption key associated with the information; and

using the programmable circuitry based on the information in response to decrypting the encryption key, wherein said using includes providing control signals to the non-programmable circuitry during operation of the non-programmable circuitry.

13. The method of claim 12 , wherein the information is received wirelessly.

14. The method of claim 12 , further comprising, by the programmable circuitry:

detecting a particular state of the non-programmable circuitry during operation of the non-programmable circuitry;

providing a substitute signal to an input of a first block of the non-programmable circuitry in place of an output of a second block of the non-programmable circuitry; and

removing the substitute signal after performance of one or more operations by the non-programmable circuitry using the substitute signal.

15. The method of claim 12 , wherein the use of the programmable circuitry comprises reconfiguring the programmable circuitry subsequent to a previous configuration of the programmable circuitry.

16. The method of claim 12 , further comprising:

detecting a condition during operation;

transmitting information indicating the condition; and

receiving the information specifying the use of the programmable circuitry in response to transmission of the information indicating the condition.

17. The method of claim 12 , further comprising:

selecting an input to a circuit node from among a signal generated by the programmable circuitry and a signal generated by the non-programmable circuitry.

18. The method of claim 12 , further comprising:

disabling at least a portion of the non-programmable circuitry based on the information.

19. An apparatus, comprising:

non-programmable circuitry including at least first and second logic blocks, wherein an output of the first block is coupled to an input of the second block;

programmable circuitry coupled to the non-programmable circuitry and configured to:

detect a particular state of the non-programmable circuitry during operation of the non-programmable circuitry; and

provide a substitute signal to the input of the second block in place of the output of the first block;

first means for receiving information from a device external to the apparatus specifying a use of the programmable circuitry; and

second means for allowing use of the programmable circuitry based on a received encrypted key associated with the information.

20. The apparatus of claim 19 , wherein the information specifying the use of the programmable circuitry specifies a configuration of the programmable circuitry to detect the particular state and provide the substitute signal.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 31, 2026
From: INTELLECTUAL VENTURES ASSETS 202 LLC
To: E2E SYSTEMS LLC
Reel/Frame 075531/0978 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 26, 2015
From: NANOTECH CORPORATION
To: SHEYU GROUP, LLC
Reel/Frame 036426/0852 →