转载一篇关于“clock skew”的文章

ASIC 設計中的 CLOCK SKEW 問題  
在一顆IC晶片裏頭,任何一條路徑的信號延遲時間(SIGNAL DELAY),都是由兩種不同的成份所構成:邏輯閘所造成的延遲(GATE EDALY)和繞線長短所引起的延遲(WIRE DELAY)。
兩者在全部的路徑延遲(PATG DELAY)中所佔的比例,因製程不同而有所改變。大致而言,微米以上的製程(1.0um以上)
PATH DELAY= GATE DELAY+WIRE DELAY
繞線延遲所佔的比例甚低,所以在系統模擬的過程中,有時甚至可以被忽略,PRE-SIM(只計算邏輯閘延遲)和POST-SIM(包含繞線延遲)的結果幾乎完全一樣。但在次微米的製程(1.0um以下),元件小型化造成邏輯閘延遲降低,而繞線延遲卻因走線寬度變窄,走線電阻值提高而升高。相較之下,兩者的比例接近百分之五十,繞線阻值所造成的延遲,無法再隨意忽略。這個情形產生兩點重要的影響:
(1) IC佈局繞線的結果影響每一次POST-SIM輸出,因為繞線長短關係到每一根信號的實際延遲時間。設計者必須花較多的時間來調整一顆IC的內部時序(TIMING)。
(2) 時鐘信號偏移(CLOCK SKEW)的問題變得重要,必須小心防範。以下面這個線路為例:

在微米以上的延遲模型中(DELAY MODEL),由I到A、B、C和D四點的路徑延遲是一模一樣的,但在實際晶片裏,如果這四個FLIP-FLOP不是肩並擺在一起,而是分置於IC的四個角,落那麼在真實的世界中,I到四點應該有不同的延遲時間。這種情形,SIMULATION中所見到的路徑延遲和實際IC中出現的值不同,即是所謂的CLOCK SKEW問題。這類問題最常發生在負載較大的時鐘信號上。在次微米的IC中,這種狀況顯得更為嚴重。假設CLOCK SKEW問題惡化到,I到B的延遲時間,甚至是大於I到A加上穿過D-FF所需要的時間,那麼這個SHIFTER就可能產生誤動作。
要解決CLOCK SKEW問題,最重要的就是要使SIMULATION看到的結果和真正IC中的延遲值接近,才能預先防範。解決之道有三:
(1) 由IC佈局著手:佈局時,將上述四個D-FF擺在一起。CLOCK SKEW通常發生在繞線極長、負載極重的情況下,所以拉近距離是極有效的解決方法。
(2) 指定時鐘信號抵達順序:將線路做如下之修改。以增加緩衝器的方式來指定時鐘信號抵達每一個D-FF的先後順序。在模擬的過程中,由I到A、B、C和D四點的路徑將完全不同。這個方法的缺點是,如果SHIFTER的長度增加,在高頻時,設計會變得異常困難。

(3) 使用較準確的延遲模型(DELAY MODEL):放棄較簡易的T、K雙變數延遲模型,而改用SDF(SIGNAL DELAY FILE)來計算路徑延遲時間。這種方法,考慮路徑中的電阻值(舊方法忽略繞線的電阻),所以IC佈局繞線結束後,I到四點的實際走線不同,自然而然就有不同的延遲時間。此法的缺點SIMULATION是所耗用的時間會增長。
在高閘數高頻的設計中,CLOCK SKEW問題變得非常嚴重。如果能事先具有防範的概念,將有助於設計者突破困難,迅速完成設計驗證的工作

  上面的文章写的比较早,现在频率稍高的电路设计中,都会采用时钟树来减小Clock Skew。

posted on 2012-05-08 08:15  宕夏  阅读(1589)  评论(0编辑  收藏  举报

导航