P
US8086982B2ActiveUtilityPatentIndex 78

Methods and systems for reducing clock skew in a gated clock tree

Assignee: CHANG CHIA-MINGPriority: Mar 4, 2009Filed: Mar 4, 2009Granted: Dec 27, 2011
Est. expiryMar 4, 2029(~2.7 yrs left)· nominal 20-yr term from priority
Inventors:CHANG CHIA MINGHUANG SHIH-HSUHO YUAN-KAILIN JIA-ZONGWANG HSIN-POLU YU-SHENG
H03K 19/00323G06F 30/327G06F 1/10G06F 30/396G06F 2117/04
78
PatentIndex Score
11
Cited by
10
References
18
Claims

Abstract

Systems and methods for synthesizing a gated clock tree with reduced clock skew are provided. A gated clock tree circuit with reduced clock skew may include a clock source and edge-triggered state elements. A gated clock tree disposed between the clock source and state elements may include a level in which each logic gate has a common logic type. Logic gates in the gated clock tree may also be configured as logic-gate buffers. The logic gates may also be configured as NAND-gated equivalents. The clock signal distributed through the gated clock tree may drive both positive-edge-triggered and negative-edge-triggered state elements.

Claims

exact text as granted — not AI-modified
1. A computer-implemented method for synthesizing a gated clock tree with reduced clock skew comprising the following computer-implemented stages:
 providing a clock source operable to generate a clock signal; 
 providing a plurality of edge-triggered state elements; 
 providing a gated clock tree between the clock source and the plurality of edge-triggered state elements, wherein the gated clock tree comprises a level, wherein the level includes a plurality of logic gates; and 
 matching, using a processor, the plurality of logic gates in the level such that each logic gate in the level has a common logic type. 
 
     
     
       2. The method of  claim 1 , wherein the matching further comprises configuring at least one of the plurality of logic gates as one of a logic-gate buffer and a NAND-gate equivalent. 
     
     
       3. The method of  claim 2 , wherein configuring the plurality of logic gates further comprises:
 determining whether/the plurality of logic gates in the level have more than one type of non-buffer logic types; and 
 transforming each of the plurality of logic gates into a NAND-gate equivalent if the plurality of logic gates in the level include more than one type of non-buffer logic types. 
 
     
     
       4. The method of  claim 2 , wherein configuring the plurality of logic gates further comprises:
 determining whether the plurality of logic gates in the level have more than one type of non-buffer logic types; and 
 transforming each of the plurality of logic gates that are buffer-type into logic-gate buffers if the plurality of logic gates includes only one type of non-buffer logic types. 
 
     
     
       5. The method of  claim 1 , wherein providing a gated clock tree further comprises converting a pre-existing gated clock tree into the gated clock tree. 
     
     
       6. The method of  claim 1 , further comprising configuring the gated clock tree such that each of the plurality of logic gates in the level has a matching load. 
     
     
       7. The method of  claim 6 , wherein configuring the gated clock tree further comprises:
 performing a clustering process; and 
 providing at least one additional logic gate to the level based on the clustering process. 
 
     
     
       8. The method of  claim 7 , wherein the method further comprises determining, by the clustering process, a sum of clusters and adding to the level a number of additional logic gates that equals the sum of clusters. 
     
     
       9. The method of  claim 1 , wherein providing a plurality of edge-triggered state elements further comprises providing at least one positive-edge-triggered state element and one negative-edge-triggered state element. 
     
     
       10. A non-transitory computer-readable storage medium comprising instructions that, when executed by a processor, performs a method comprising:
 providing a clock source operable to generate a clock signal; 
 providing a plurality of edge-triggered state elements; 
 providing a gated clock tree between the clock source and the plurality of edge-triggered state elements, wherein the gated clock tree comprises a level, wherein the level includes a plurality of logic gates; and 
 matching the plurality of logic gates in the level such that each logic gate in the level has a common logic type. 
 
     
     
       11. The computer-readable storage medium of  claim 10 , wherein the matching further comprises configuring at least one of the plurality of logic gates as one of a logic-gate buffer and a NAND-gate equivalent. 
     
     
       12. The computer-readable storage medium of  claim 11 , wherein matching the plurality of logic gates further comprises:
 determining whether the plurality of logic gates in the level have more than one type of non-buffer logic types; and 
 transforming each of the plurality of logic gates into a NAND-gate equivalent if the plurality of logic gates in the level include more than one type of non-buffer logic types. 
 
     
     
       13. The computer-readable storage medium of  claim 11 , wherein matching the plurality of logic gates further comprises:
 determining whether the plurality of logic gates in the level have more than one type of non-buffer logic types; and 
 transforming each of the plurality of logic gates that are buffer-type into logic-gate buffers if the plurality of logic gates in the level do not include more than one type of non-buffer logic types. 
 
     
     
       14. The computer-readable storage medium of  claim 10 , further comprising configuring the gated clock tree such that each of the plurality of logic gates in the level has a matching load. 
     
     
       15. The computer-readable storage medium of  claim 14 , wherein configuring the gated clock tree further comprises:
 performing a clustering process; and 
 providing at least one additional logic gate to the level based on the clustering process. 
 
     
     
       16. The computer-readable storage medium of  15 , further comprising determining, by the clustering process, a sum of clusters and adding to the level a number of additional gates that equals the sum of clusters. 
     
     
       17. The computer-readable storage medium of  claim 10 , wherein providing a plurality of edge-triggered state elements further comprises providing at least one positive-edge-triggered state element and one negative-edge-triggered state element. 
     
     
       18. A computer-implemented method for synthesizing a gated clock tree with reduced clock skew comprising the following computer-implemented stages:
 providing a clock source operable to generate a clock signal; 
 providing a plurality of edge-triggered state elements; 
 providing a gated clock tree between the clock source and the plurality of edge-triggered state elements, wherein the gated clock tree comprises a level, wherein the level includes a plurality of logic gates; 
 matching, by a computer, the plurality of logic gates in the level such that each logic gate in the level has a common logic type, wherein matching the plurality of logic gates comprises:
 determining whether the plurality of logic gates in the level have more than one type of non-buffer logic types; and 
 transforming each of the plurality of logic gates into a NAND-gate equivalent if the plurality of logic gates in the level include more than one type of non-buffer logic types.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.