1. Field of the Invention
The present invention relates to integrated circuits that include “scan test” features to permit testing of the integrated circuit. More specifically, the present invention relates to methods and structure for preventing secure information within such an integrated circuit from being revealed through such scan test testing.
2. Discussion of Related Art
Integrated circuits are electronic devices in which numerous discrete electronic components are integrated into a single die or package. As technology has advanced, integrated circuits are ever more densely populated with numerous such discreet electronic circuits. Present day integrated circuits may comprise millions or even tens of millions of discrete electronic circuits within a single package or die. Such complex integrated circuits may include, for example, customizable application specific integrated circuits (so-called ASICs) as well as commercial integrated circuits such as device controller and processor integrated circuit devices.
It is in ongoing problem to effectively test such complex integrated circuit designs. Prior to the advent of such dense integrated circuits, printed circuit boards populated with numerous discrete components could be easily tested by applying probes and associated analyzers to various signal paths and electronic components to test input and output signal quality and timing. However, it is impossible to apply such testing techniques to integrated circuits—let alone to dense integrated circuits. No external analyzer can be effectively applied to the various discrete components integrated within the integrated circuit die or package.
Numerous well known techniques have evolved for permitting the testing of complex integrated circuits. One known technique is often referred to as “scan test.” A scan test enable signal may be applied to the integrated circuit to invoke a scan test structure of logic features within the integrated circuit. In particular, scan test features typically allow a sequence of binary values to be shifted into register or flip-flop memory elements within the integrated circuit. A clock signal may then be applied to the integrated circuit during the scan test to cause the normal functioning of the integrated circuit to process one clock cycle. Next the information as modified by the single clock normal operation of the circuit is shifted out of the circuit using scan test signals to view the results of the single clock operation on the loaded scan test values. The output bits are applied to an output signal path of the integrated circuit to permit external analysis and verification of operation of tested features of the integrated circuit. Shifted bit values applied to the output signal path may be compared to expected values to verify proper operation and connectivity among the various register and flip-flop memory elements in the integrated circuit package.
A problem arises in permitting such scan test operation where secure information may be present within the integrated circuit. Secure information may include, for example, password or encryption key information intended for securing data within the integrated circuit or for securing transmissions from the integrated circuit. Present scan test operation may permit an unauthorized user to view such secure information by forcing the integrated circuit into a scan test and viewing the output information applied to the output of the integrated circuit.
It is evident from the above discussion that a need exits for an improved test feature in integrated circuits to assure security of a secure or confidential information within the integrated circuit.
The present invention solves the above and other problems, thereby advancing the state of the useful arts, by providing structure and associated methods to preclude use of scan test features of an integrated circuit to view secure information within the integrated circuit. More specifically, one aspect of the present invention includes logic within the integrated circuit to intercept scan test related signals and force a reset of secure portions of the integrated circuit upon entry and exit of scan test. Such an internally generated reset signal will help assure that any secure information presently residing in the integrated circuit will be reset to a power on state during operation of scan testing.
One feature hereof therefore provides an integrated circuit having scan test features and including: a scan test signal interceptor for intercepting scan test related signals applied to the integrated circuit; and a security element responsive to the scan test signal interceptor to preclude retrieval of secure information within the integrated circuit using the scan test related signals.
Another aspect hereof further provides that the security element comprises: a reset generator to reset secure information within the integrated circuit.
Another aspect hereof further provides that the scan test signal interceptor is operable to sense a request to enter scan test.
Another aspect of the invention further provides that the reset generator is operable to reset secure information in response the request to enter scan test.
Another aspect of the invention further provides that the scan test signal interceptor is operable to sense a request to exit scan test.
Another aspect of the invention further provides that the reset generator is operable to reset secure information in response the request to exit scan test.
Another feature of the invention provides a method operable within an integrated circuit to prevent unauthorized access to secure information, the method comprising: detecting application of a scan test related signal to the integrated circuit; and precluding access to the secure information in response to detection of the scan test related signal.
Another aspect hereof further provides that the step of precluding includes: resetting elements of the integrated circuit to reset the secure information.
Another aspect hereof further provides that the step of detecting includes: detecting a signal applied to the integrated circuit requesting entry to scan test.
Another aspect hereof further provides that the step of resetting includes: resetting elements of the integrated circuit in response to detection of the request to enter scan test.
Another aspect hereof further provides that the step of detecting includes: detecting a signal applied to the integrated circuit requesting exit from scan test.
Another aspect hereof further provides that the step of resetting includes: resetting elements of the integrated circuit in response to detection of the request to exit scan test.
As noted above, present integrated circuit designs may permit unauthorized access to secured information 120 and 122. A skilled engineer may force the integrated circuit 100 into scan test operation following the loading of secured information into memory elements such as flip-flops and registers. By then enabling scan test operation, the secured information may be accessed by observing data shifted out and applied to scan data out 110 of the integrated circuit.
Secured information 120 and 122 may be stored in flip-flops and registers within the integrated circuit 100. Other forms of memory components are well known to those of ordinary skill in the art and may also be incorporated within such an integrated circuit 100 for purposes of storing secured information. Although the present invention is directed primarily at secured information stored in volatile flip-flop and register memory components, a similar design may be applicable to other memory components within an integrated circuit 100 that may store secured information.
Those of ordinary skill in the art will readily understand the design and operation of typical scan test features of an integrated circuit. In general, scan test signal 102 may be applied to force the integrated circuit 100 into scan test operation. A second scan enable signal path 104 may be applied to actually commence the shifting of data on sequential clock cycles for purposes of evaluating operation of the integrated circuit 100. Numerous variations for such scan test operation will be readily apparent to those of ordinary skill in the art.
By contrast to
In one embodiment, scan test out 252 and scan enable out 254 are deferred or delayed in their respective application to memory elements storing secured information 120 and 122 until after an appropriate reset signal generated internally by secure scan control 250 clears or resets any secured information within integrated circuit 200. More specifically, reset out signal 258 is first generated by secure scan control 250 and applied to clear secured information 120 and 122 before scan test related signals (252 and 254) are applied to the memory components storing such information. In effect, secure scan control 250 forces an internally generated reset signal to be applied to memory elements within the integrated circuit that may contain secure information. The internally generated reset may be generated and applied to such memory components upon entry into scan test and again upon exit from scan test.
Reset out 258 may be generated internal to integrated circuit 200 by secure scan control 250 and may effectively reset or clear any secured information from flip-flops, registers or other volatile memory components within integrated circuit 200. In particular, the internally generated reset signal applied to reset out 258 may reset secured information 120 and 122. By so clearing such secured information prior to commencing scan test operation, unauthorized access to secured information 120 and 122 by use of scan test operation may be prevented. More specifically, any information scanned out of integrated circuit 200 applied to scan data out 110 will be devoid of secured information within memory elements 120 and 122. Since the reset signal is generated internally by the improved integrated circuit 200, an external user of the device cannot bypass the security feature to thereby gain unauthorized access to the secured information 120 and 122 by use of scan test features.
As discussed further herein below, the internally generated reset signal may be generated at entry to scan test, at exit from scan test or both. Entry to and exit from scan test are indicated by signals applied to the integrated circuit 200 by a user of same. Features and aspects hereof may detect the entry to and exit from scan test to generate the desired reset of secured information.
In one exemplary embodiment, the following pseudo-code segment referring to the signals of
ScanTestEntryReset<=edge_detect (ScanTest.in, active)
ScanEnable.out<=ScanEnable.in //may be forced inactive until after ScanTestEntryReset if necessary
ScanTestExitReset<=edge detect (ScanTest.in, inactive)
ScanTest.out<=ScanTest.in //may be forced active until after ScanTestExitReset if necessary
Reset.out<=Reset.in OR ScanTestEntryReset OR ScanTestExitReset
While the invention has been illustrated and described in the drawings and foregoing description, such illustration and description is to be considered as exemplary and not restrictive in character. One embodiment of the invention and minor variants thereof have been shown and described. Protection is desired for all changes and modifications that come within the spirit of the invention. Those skilled in the art will appreciate variations of the above-described embodiments that fall within the scope of the invention. As a result, the invention is not limited to the specific examples and illustrations discussed above, but only by the following claims and their equivalents.