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