今天要介紹的時序分析基本概念是 skew, 我們稱為偏差。由于時鐘到每個寄存器的路徑延遲不一樣,造成信號到達 clock pin 的時間也不一樣,我們把時鐘信號到達不同寄存器的時間偏差稱為skew。一直以來,Skew都是衡量時鐘樹性能的重要參數(shù),傳統(tǒng)CTS的目的就是為了減小skew。
Skew的類型分為很多種,根據(jù)clock和data path的方向,skew可以分為positive skew和 negative skew 。如下圖所示:
對于positive skew,clock和data path在相同方向上。反之對negative skew來說,clock和data path在相反方向上。那它們對我們的design有什么影響呢?我們來看一下setup和hold的計算公式:
我們可以得到以下結(jié)果,
對于positive skew來說,它可以減少T的時間,相當(dāng)于提升芯片的performace。但是它的hold時間會變得更加難以滿足
對于negative skew來說,它的hold時間更加容易滿足,取而代之的是,它會降低芯片的性能。
還有另外一種skew的分類方法,是我們更為常見的,根據(jù)時鐘域以及路徑關(guān)系, skew 可以分為** global skew** ,local skew , interclock skew 。
Global skew 是指,同一時鐘域,任意兩個路徑的最大 skew 。如下圖所示,注意是任意兩條路徑,不管是不是timing path,都會算作gloabl skew計算的對象。CTS時,工具更關(guān)注的是global skew, 會盡可能地將global skew做小。
Local skew 是指,同一時鐘域,任意兩個有邏輯關(guān)聯(lián)關(guān)系的路徑最大 skew 。這邊需要注明,必須是存在邏輯關(guān)系的path才會計算local skew,也就是說必須要是timing path。如下圖所示,我們在分析timing的時候,更多地是關(guān)注local skew。
interClock skew 是指,不同時鐘域之間路徑的最大 skew,如下圖所示:
另外還有一種比較特使的skew,就是現(xiàn)如今用得較多的useful skew,我們稱為 有用偏差 。一般來說,skew會惡化timing結(jié)果,但如果合理使用,那skew也可以起到修復(fù)timing的作用,從而提高設(shè)計的頻率。
如下圖:時鐘周期為 4ns ,各時鐘路徑延遲如下:可以看到有一條路徑的 slack 為 -1ns ,說明這條路徑違規(guī)??梢钥吹脚c這條路徑相關(guān)的 skew 是 t3-t2= -1ns 。
下面我們利用 useful skew 向前面一個 slack 比較充裕的路徑(slack=2ns)借用1ns的 時間 ,這樣兩條path都meet了時序要求。如下圖:
這就是 useful skew 的作用,可以向前,或者向后借time來修正 violation。
-
寄存器
+關(guān)注
關(guān)注
31文章
5343瀏覽量
120377 -
時序分析
+關(guān)注
關(guān)注
2文章
127瀏覽量
22566 -
CTS
+關(guān)注
關(guān)注
0文章
35瀏覽量
14111 -
時序分析器
+關(guān)注
關(guān)注
0文章
24瀏覽量
5279
發(fā)布評論請先 登錄
相關(guān)推薦
評論