Method and apparatus for controlling evaluation of protected intellectual property in hardware
First Claim
1. A system for controlling hardware and software, the system comprising:
- a logic device having an input and further having programmed logic, the programmed logic comprising;
designed logic; and
control logic including a signal generator external to the designed logic and connected to the device input and the designed logic;
a token generator having an output; and
a tether connecting the device input to the token generator output;
wherein the token generator is configured to periodically send a token via the tether to the signal generator; and
further wherein the signal generator is configured to disable the logic device, the programmed logic or the designed logic in the absence of an authorizing token.
0 Assignments
0 Petitions
Accused Products
Abstract
Various techniques permit more thorough development of digital systems and devices by designers while protecting the proprietary interests of the owners of the intellectual property incorporated in such systems and devices. More specifically, systems, apparatus, methods and computer program products control use of hardware and software and IP implemented as user logic in a programmed device. The programmed device includes programmed logic that has designed logic and control logic. The designed logic includes user logic and protected logic such as IP cores, the use of which is to be controlled. The control logic includes a signal generator external to the designed logic. This signal generator contains clock means and a timeout circuit. A controller is connected to the programmed device by a tether. The controller periodically sends a keep alive signal via the tether to the signal generator. These keep alive signals may be single bit or multi-bit tokens which are processed in the programmed device by the signal generator. The signal generator disables the programmed device when the signal generator reaches a programmed time limit before receiving a keep alive signal from the controller. Disabling the programmed device can be accomplished by disabling either the user logic or the protected logic or both.
-
Citations
50 Claims
-
1. A system for controlling hardware and software, the system comprising:
-
a logic device having an input and further having programmed logic, the programmed logic comprising; designed logic; and control logic including a signal generator external to the designed logic and connected to the device input and the designed logic; a token generator having an output; and a tether connecting the device input to the token generator output; wherein the token generator is configured to periodically send a token via the tether to the signal generator; and further wherein the signal generator is configured to disable the logic device, the programmed logic or the designed logic in the absence of an authorizing token. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A system for protecting software cores, comprising:
-
a logic device including user logic, protected logic and control logic, wherein the control logic is separate from the protected logic and is coupled to an input of the logic device and contains a signal generator; the input of the logic device receives keep alive signals from an external source that are received by the control logic, such that the signal generator outputs a disable signal when a keep alive signal is not received within a preset time frame. - View Dependent Claims (19, 20, 21, 22, 23)
-
-
24. A system for controlling hardware and software, the system comprising:
-
a programmed logic device having an input and further having programmed logic, the programmed logic comprising; designed logic; and control logic including a signal generator external to the designed logic and connected to the device input and the designed logic; wherein the signal generator is configured to disable the programmed device after the signal generator reaches a preset condition. - View Dependent Claims (25, 26)
-
-
27. A method of controlling hardware and software, the method comprising:
-
programming a device to create a programmed device having programmed logic, the programmed logic comprising; designed logic; and control logic including a signal generator external to the designed logic and connected to the designed logic and to an input of the device; periodically sending a keep alive signal from a controller to the device input via a tether; and disabling the programmed device when the signal generator reaches a programmed time limit before receiving a keep alive signal from the controller. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48)
-
-
49. An apparatus for controlling hardware and software, the system comprising:
-
a logic device having input means and further having programmed logic means, the programmed logic means comprising; designed logic means; and control logic means including signal generating means external to the designed logic means and connected to the device input means and the designed logic means; control means having output means; and tethering means connecting the input means to the output means; wherein the control means is configured to periodically send a keep alive signal via the tethering means to the signal generating means; and further wherein the signal generating means is configured to disable the logic device when the signal generating means reaches a programmed time limit before receiving a keep alive signal from the control means.
-
-
50. A computer readable storage medium having computer readable code stored therein, the computer readable code comprising:
-
a computer usable medium having computer readable code embodied therein, the computer readable code comprising; computer code for programming a device to create a programmed device, wherein the programmed device comprises; an input; and programmed logic, wherein the programmed logic comprises; designed logic; and control logic including a signal generator external to the designed logic and connected to the device input and the designed logic; computer code for periodically sending a keep alive signal from a controller to the device input via a tether; and computer code for disabling the programmed device when the signal generator reaches a programmed time limit before receiving a keep alive signal from the controller.
-
Specification