Method and apparatus for semiconductor device optimization using on-chip verification
First Claim
1. A method for optimizing timing of an integrated circuit device, the method comprising the steps of:
- (a) receiving a control delay value;
(b) producing a modified device timing, based on the control delay value;
(c) testing the modified device timing by using on-chip verification circuitry to determine if the integrated circuit device is a functional device;
(d) receiving a new control delay value, where the new control delay value replaces the control delay value and is different from the control delay value; and
(e) repeating steps (b)-(e) to determine an optimal control delay value for the integrated circuit device.
20 Assignments
0 Petitions
Accused Products
Abstract
An on-chip optimization circuitry (105) of a semiconductor device (100) provides a delay value to a delay generator (120) indicating an amount to delay an active signal edge. Based on the delay value, a modified device timing is created. Using the modified device timing, a portion of the semiconductor device (130) is tested using on-chip verification circuitry (110) to determine functionality. Based on functionality, a determination is made whether an optimal delay value has been found (550). If an optimal delay value has not been determined, a new delay value is used to produce a new modified device timing (516) and the sequence of testing and determining functionality is repeated until a optimized value has been determined.
21 Citations
27 Claims
-
1. A method for optimizing timing of an integrated circuit device, the method comprising the steps of:
-
(a) receiving a control delay value; (b) producing a modified device timing, based on the control delay value; (c) testing the modified device timing by using on-chip verification circuitry to determine if the integrated circuit device is a functional device; (d) receiving a new control delay value, where the new control delay value replaces the control delay value and is different from the control delay value; and (e) repeating steps (b)-(e) to determine an optimal control delay value for the integrated circuit device. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for controlling timing of a device using verification circuitry within the device to verify device functionality, where the device has a control signal having an active edge, the active edge having an active edge location relative to a device clock, the method comprising:
-
(a) modifying the active edge location of the control signal; (b) testing the device for functionality by using the verification circuitry within the device to determine if the device produces a valid result, where the valid result is indicative of the device operating in a predefined manner; (c) repeating steps (a) through (c) until the active edge producing a valid result meets a predefined requirement; and (d) storing the active edge location. - View Dependent Claims (9, 10)
-
-
11. A method for optimizing timing of a device, using circuitry within the device used to verify device functionality (verification circuitry), where the verification circuitry generates a valid signal if the device meets a predefined device criteria, the method comprising the steps of:
-
(a) setting a delay value of a variable delay controller to a maximum delay value, where the maximum delay value is a longest possible delay that can be represented by the variable delay controller; (b) producing a modified device timing, using the variable delay controller by delaying an active edge of a device control signal by the delay value; (c) testing the modified device timing by using the verification circuitry to determine if the device is functional, where the device is functional if the valid signal is generated; (d) decreasing the delay value to produce a new delay value, where the new delay value replaces the delay value and is different from the delay value, and repeating steps (b)-(d) until the valid signal indicates that the device is not functioning; and (f) increasing the delay value to establish an optimal delay value. - View Dependent Claims (12, 13, 14)
-
-
15. A method for optimizing timing of a device, using circuitry within the device used to verify device functionality (verification circuitry), where the verification circuitry generates a valid signal if the device meets a predefined device criteria, the method comprising the steps of:
-
(a) setting a delay value of a variable delay controller to a minimum delay value, where the minimum delay value is a shortest possible delay that can be represented by the variable delay controller; (b) producing a modified device timing, using the variable delay controller by delaying an active edge of a device control signal by the delay value; (c) testing the modified device timing by using the verification circuitry to determine if the device is functional, where the device is functional if the valid signal is generated; (d) increasing the delay value to produce a new delay value, where the new delay value replaces the delay value and is different from the delay value, and repeating steps (b)-(d) until the valid signal indicates that the device is not functioning; and (f) decreasing the delay value to establish an optimal delay value.
-
-
16. A method for optimizing timing of a device, using circuitry within the device used to verify device functionality (verification circuitry), where the verification circuitry generates a valid signal if the device meets a predefined device criteria, the method comprising the steps of:
-
(a) setting a delay value of a variable delay controller to a first delay value, where the first delay value is different than a predefined best delay value that can be represented by the variable delay controller; (b) producing a modified device timing, using the variable delay controller by delaying an active edge of a device control signal by the delay value; (c) testing the modified device timing by using the verification circuitry to determine if the device is functional, where the device is functional if the valid signal is generated; and (d) modifying the delay value to produce a new delay value, where the new delay value replaces the delay value and is different from the delay value, and repeating steps (b)-(d) until the valid signal indicates that the device is not functioning.
-
-
17. A method for optimizing timing of a plurality of signals of a device using a Built-In Self Test (BIST) feature, where the BIST feature generates a valid signal if the device is functional, the method comprising the steps of:
-
(a) setting a plurality of variable delay controllers to a known delay value; (b) setting a first variable delay controller of the plurality of variable delay controllers to a first delay value, where the first delay value is different than the known delay value; (c) producing a modified device timing by using the first variable delay controller to modify at least one active edge of a device control signal by the first delay value; (d) testing the modified device timing by using the BIST feature to determine if the device is functional, where the device is functional if the BIST feature generates the valid signal; (e) setting the first variable delay controller to have a new delay value, where the new delay value replaces the first delay value and is different than the first delay value; (f) repeating steps (b)-(e) until an optimal first delay value has been determined; and (g) storing the optimal first delay value as a stored delay value; and (h) repeating steps (a)-(h) for determining an optimal delay value for each of the plurality of variable delay controllers.
-
-
18. A method for optimizing timing of a plurality of signals of a device using a Built-In Self Test (BIST) feature, where the BIST feature generates a valid signal if the device is functional, the method comprising the steps of:
-
(a) setting a plurality of variable delay controllers to a known delay value; (b) setting a first variable delay controller of the plurality of variable delay controllers to a first delay value, and a second variable delay controller of the plurality of variable delay controllers to a second delay value, where the first delay value is different than the known delay value; (c) producing a modified device timing by using the first variable delay controller and the second variable delay controller to modify at least one active edge of device control signals based on the first delay value and the second delay value; (d) testing the modified device timing by using the BIST feature to determine if the device is functional, where the device is functional if the BIST feature generates the valid signal; (e) setting the first variable delay controller to have a new first delay value, and the second variable delay controller to have new second delay value, where the new first delay value replaces the first delay value and the new second delay value replaces the second delay value; (f) repeating steps (b)-(e) until an optimal first delay value and second delay value has been determined; and (g) storing the optimal first delay value and second delay value as a stored delay value; and (h) repeating steps (a)-(h) for determining an optimal delay value for each of the plurality of variable delay controllers.
-
-
19. An apparatus for optimizing timing of a data processor device, where the apparatus comprises:
-
a Central Processing Unit (CPU) for executing computer instructions; a Built-In Self Test (BIST) device, for performing BIST, coupled to the CPU and at least part of the device for determining functionality of the at least part of the data processing device, the BIST device producing a valid signal if the at least part of the device is functional; a delay generator, having a variable delay controller, coupled the CPU and, receiving a device control signal, wherein the variable delay controller specifies a delay value to the delay generator, and wherein at least part of the device control signal is delayed by the delay generator based on the delay value of the variable delay controller to produce a modified device control signal 121; and a memory unit coupled to the CPU, the BIST device, and the delay generator, for storing the computer instructions in a memory and for storing data in the memory, the computer instructions comprising; computer instructions for setting the variable delay controller to a delay value; computer instructions for performing BIST to determine if the modified device control signal produces the valid signal; computer instructions for setting the variable delay controller to have a new delay value; and computer instructions for repeating the computer instructions for performing BIST, setting the variable delay controller, and repeating, until an optimal delay value has been determined. - View Dependent Claims (20, 21, 22, 23, 24, 25)
-
-
26. An apparatus for optimizing timing of a device, where the apparatus comprises:
-
a BIST controller coupled to receive an initiate BIST signal, the BIST controller for determining functionality of at least part of the device and for producing a valid signal if the at least part of the device is functional, wherein upon receipt of the initiate BIST signal, the BIST controller applies a test sequence to the at least part of the device, receives test results from the at least part of the device, and compares the test results to expected test results in order to determine if the at least part of the device is functional; and a delay generator having a variable delay controller, the delay generator providing the initiate BIST signal, coupled to the BIST controller and to at least one device control signal, wherein the variable delay controller specifies a delay value to the delay generator, and wherein at least part of a device control signal is delayed by the delay generator based on the delay value of the variable delay controller to produce a modified device timing.
-
-
27. A method for speed sorting an integrated circuit device, the method comprising the steps of:
-
(a) receiving a semiconductor device to be tested; (b) initializing a self-verification test, where in the self verification test is substantially performed by the integrated circuit device, and further comprises the steps of (c) producing a modified device timing, based on a control delay value; (d) testing the modified device timing by using on-chip verification circuitry to determine if the integrated circuit device is a functional device; (e) generating a new control delay value, where the new control delay value replaces the control delay value and is different from the control delay value; and (f) repeating steps (b)-(e) until an optimal control delay value for the device is determined; (g) sorting the integrated circuit device based on the optimal control delay value.
-
Specification