Method and apparatus for clock skew compensation
First Claim
1. A method of compensating for skew in a distributed clock signal to a domain clock, comprising:
- comparing the distributed clock signal at a first location in the processor with a reference clock signal;
determining delay control bits based on the results of said comparison said, delay control bits including fuse bits and non-fuse bits;
storing said delay control bits in a control register;
decoding said fuse bits;
programming a programmable delay compensator according to said fuse bits;
adjusting the distributed clock signal based on said delay compensator and said non-fuse bits.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus to compensate for skew in a processor clock signal. A first clock signal at a first location in the processor is compared with a reference clock signal. The first clock signal is corrected based on the results of this comparison with the reference clock signal. The clock signal may be corrected by using a programmable delay compensator. A second clock signal at a second location in the processor may be compared with the corrected first clock signal and the second clock signal may be corrected based on the results of the comparison. The compensators may be permanently programmed as required using fuses associated with compensator control bits.
-
Citations
18 Claims
-
1. A method of compensating for skew in a distributed clock signal to a domain clock, comprising:
-
comparing the distributed clock signal at a first location in the processor with a reference clock signal;
determining delay control bits based on the results of said comparison said, delay control bits including fuse bits and non-fuse bits;
storing said delay control bits in a control register;
decoding said fuse bits;
programming a programmable delay compensator according to said fuse bits;
adjusting the distributed clock signal based on said delay compensator and said non-fuse bits. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
programming said programmable delay compensator to adjust the distributed clock signal based on the results of said comparison.
-
-
5. The method of claim 4, wherein said programming comprises:
changing the number of pull down paths in a variable delay inverter within said programmable delay compensator associated with the distributed clock signal.
-
6. The method of claim 5, wherein said changing comprises:
modifying said control bits which change the number of pull down paths in the variable delay inverter.
-
7. The method of claim 6, further comprising:
storing a value for the control bits with a fuse, the value representing a number of pull down paths to correct the distributed clock signal based on the results of said comparison.
-
8. The method of claim 1, wherein said programming comprises:
-
programming a first variable delay inverter within said programmable delay compensator to correct the rising edge of the distributed clock signal based on the results of said comparison; and
programming a second variable delay inverter within said programmable delay compensator to correct the falling edge of the distributed clock signal based on the results of said comparison.
-
-
9. The method of claim 1, further comprising:
-
comparing a second distributed clock signal at a second location in the processor with a reference clock signal; and
adjusting the second distributed clock signal based on the results of said comparison with the reference clock signal.
-
-
10. The method of claim 1, further comprising:
-
comparing a second distributed clock signal at a second location in the processor with the adjusted distributed clock signal; and
adjusting the second distributed clock signal based on the results of said comparison with the adjusted distributed clock signal.
-
-
11. The method of claim 10, wherein the second location is approximately halfway between the reference location and the first location.
-
12. The method of claim 10, wherein the second location is approximately halfway between the reference location and the edge of the processor.
-
13. An apparatus for compensating for skew in a distributed clock signal to a domain clock, comprising:
-
a programmable delay compensator having a clock signal input port, a corrected clock signal output port and a control signal input port;
a control unit having an output port coupled to the control signal input port, said control unit including a control register;
fuse and non-fuse bits stored in said control register;
a decoder within said control unit that is coupled to said control register to generate a control signal input according to said fuse bits; and
a pull down path within said programmable delay compensator that programs said compensator in response to said control signal input such that said delay compensator and said non-fuse bits adjust said distributed clock signal. - View Dependent Claims (14, 15)
said control signal input port being coupled to said pull down path.
-
-
15. The apparatus of claim 14, wherein said control register further comprises:
a fuse coupled to said control register.
-
16. A processor, comprising:
-
a clock generation unit generating a clock signal;
a global clock distribution network having a receiving end coupled to said clock generation unit and a destination end;
a control unit including a control register to store fuse and non-fuse bits and a decoder to decode said fuse bits to generate a control signal input;
a skew compensator at the destination end of said global clock distribution network coupled to said control unit to receive said control signal input and adjust said clock signal in conjunction with said non-fuse bits. - View Dependent Claims (17)
a phase detector coupled to the destination end of said global clock distribution network and having as inputs the clock signal and a reference signal.
-
-
18. A computer readable medium having stored thereon instructions which, when executed by a first processor, cause the first processor to perform steps to compensate for skew in a distributed clock signal to a domain clock, comprising:
-
comparing the distributed clock signal at a first location in a second processor with a reference clock signal;
determining delay control bits based on the results of said comparison, said delay control bits including fuse bits and non-fuse bits;
storing said delay control bits in a control register;
decoding said fuse bits;
programming a programmable delay compensator according to said fuse bits;
adjusting the distributed clock signal based on said delay compensator and said non-fuse bits.
-
Specification