1. Field of the Invention
This invention relates generally to timing systems for integrated circuits (IC's), and more specifically, to novel circuits for altering the clock speed used to send and receive data within the IC based on physical characteristics of the IC.
2. Discussion of the Prior Art
In current integrated circuit design technology, circuits are typically designed to meet the worst case operating condition and technology process conditions. However, it is the case that typical process and operating conditions are not worst case resulting in existing margins in most worst case paths. If the design can take advantage of the real world margin, then significant performance gain could result.
It would thus be highly desirable to provide an Integrated Circuit equipped with error correction circuitry for ensuring that data send and receive rates within the IC are maximized.
It would be further highly desirable to provide an Integrated Circuit equipped with error correction circuitry for ensuring that data send and receive rates within the IC are maximized in accordance with the physical characteristics of the IC.
It is an object of the present invention to provide circuitry in IC's to ensure maximum data send and receive rates within an IC.
It is a further object of the present invention to provide circuitry in IC's for ensuring that data send and receive rates within the IC are maximized in accordance with the physical characteristics and operating conditions of the IC.
It is another object of the present invention to provide for serial communications transmitters and receivers, a system and methodology for maximizing data send and receive rates within the IC in accordance with the physical characteristics and operating conditions of the IC.
According to the invention, there is provided at a data receiving port in an Integrated Circuit, a series of clock taps to enable clocking speed choices. At reset, a learning cycle is implemented whereby a series of predefined transmissions or a pseudo random bit stream are generated from a data transmission source. Along with the data, an error code may be included which may range from simple parity to other forms of error correction.
In a first embodiment, an ECC generator receives data from the transmitter that is clocked at various clock speeds and, outputs the data plus error correction information according to known techniques. Coupled to the ECC generator device is a novel error correcting code (ECC) check circuit device that verifies receipt of correct data transmitted until a failure point is reached. The clock frequency controlling data transmission and receive circuits is then adjusted to a maximum value that avoids the failure point.
In a second embodiment, a data error check circuit receives a sequence of data signals on error code lines that are generated at the transmitter and clocked at various clock speeds. The data sequence received at the error checker is actually delayed in time and, is compared to the known transmitted data sequence for verifying receipt of correct data transmitted until a failure point is reached. The clock frequency controlling data transmission and receive circuits is then adjusted to a maximum value that avoids the failure point. In this embodiment, wiring tools are implemented during final product development (PD) cycles to tune the load on the error codes lines in such a way that the delay though these wires will be slightly greater than the data lines to receiver circuits. During the test time, an error detection circuit will monitor to a first fail point, and then pick a click tap of sufficient guard band to guarantee the error free arrival of the data.
In a third embodiment, a random number generator is generated with any pseudo-random, linearly distributed algorithm known to skilled artisans (such as XORing the bits with themselves). This unique random number is transmitted throughout a data path of a semiconductor CORE circuit comprising various asynchronous busses or serial data streams. In this embodiment, the random data arrives at a data bus output as a data output signal, and is fed back to a comparator device that compares the data output signal with the original random number. The comparator implements logic for comparing the random data received from the CORE to the random data that was sent into the core. If the data is correct, the output of the comparator circuit will generate signals for enabling the clock frequency provided by clock generator circuit 30 to be increased in a manner so as to achieve a maximum value that avoids a failure point.
In each embodiment, once the IC chip is in a free running state, the monitoring of data will continue to ensure that the errors do not occur as the chip incurs different operating conditions. The clock rate will be accordingly adjusted.
Particularly, the clock frequency may be adjusted at a clock supply circuit in a central location and the clock would then be distributed to the source and receive logic. The clock could be sourced by a PLL or a simple oscillator and the frequency adjusted during operation using the error rate detection circuitry to increase or decrease the clock frequency. Frequency adjustment may be implemented with circuitry that changes PLL control signals or, simply by circuitry that divides the clock until the desired level of data integrity is reached. Timing of the source and receive logic can be analyzed in a best-case scenario since the clock frequency will be automatically adjusted to compensate for manufacturing process conditions and operating parameters during operation.
Further features, aspects and advantages of the apparatus and methods of the present invention will become better understood with regard to the following description, appended claims, and the accompanying drawings where:
Specifically, at reset, a learning cycle is implemented where a series of predefined transmissions or, a pseudo random bit stream, is generated from the transmit source 12. Along with the transmitted data, an error code is generated by ECC generator circuit 20 which may include simple parity to other forms of error correction, e.g., convolution (tree) or block codes. Particularly, the transmitted data and ECC error code is input to a complementary ECC check circuit 25 that determines the error check rate, e.g., how many bit errors occur in a unit of time. This error check rate is input to a monitor device 28 which functions to compare the rate of error correction against an acceptable margin. The output of the monitor device 28 is then fedback as a signal 32 to adjust the clock rate 18 for the IC and, consequently, the ECC error correction rate, until an acceptable rate of error correction is achieved. It should be understood that the error correcting system architecture 10 according to a first embodiment of the invention is used to optimize the timing clock signal 18 in real time.
Preferably, according to the second embodiment, at reset, a learning cycle is implemented where a series of predefined transmissions is generated from the transmit source 12. According to the invention, during the test time, the error check circuitry 33 (
Preferably, after the reset cycle, once the chip is in a free running state, the error lines 55 may continue to be monitored by error correction circuit 33 to ensure that the errors do not occur as the chip incurs different operating conditions and, the clock rate is accordingly adjusted.
Particularly, as shown in
More specifically, as shown in
According to a third embodiment, shown in
Particularly, this random data 56 is fed to the start of the dataflow path 56a at the input of the CORE circuit 60 and the data is transmitted through various asynchronous busses or serial data streams. In one embodiment depicted in
In the preferred embodiment, the entire processes depicted in
While the invention has been particularly shown and described with respect to illustrative and preformed embodiments thereof, it will be understood by those skilled in the art that the foregoing and other changes in form and details may be made therein without departing from the spirit and scope of the invention which should be limited only by the scope of the appended claims.
Number | Name | Date | Kind |
---|---|---|---|
4070648 | Mergenthaler et al. | Jan 1978 | A |
5477181 | Li et al. | Dec 1995 | A |
5923677 | Aihara | Jul 1999 | A |
5982210 | Rogers | Nov 1999 | A |
6247138 | Tamura et al. | Jun 2001 | B1 |
6509788 | Naffziger et al. | Jan 2003 | B1 |
6510398 | Kundu et al. | Jan 2003 | B1 |
6655588 | Fukazawa | Dec 2003 | B1 |
6748567 | Ornes et al. | Jun 2004 | B1 |
6775809 | Lambrecht et al. | Aug 2004 | B1 |
20010047319 | Tada et al. | Nov 2001 | A1 |
20020107897 | Collier | Aug 2002 | A1 |
20020114224 | Sasaki et al. | Aug 2002 | A1 |
Number | Date | Country | |
---|---|---|---|
20040019844 A1 | Jan 2004 | US |