高能正文:
Slew從名稱上講和transition并沒有多大區別,但是兩者的time值可能并不相同。因為如果兩者完全相同的話,那為什么.lib里面slew和transition要用兩個詞而不用一個詞呢?所以兩者是有區別的。
上面說的可能,意思是說有時候兩者相同,有時候兩者不同,對于之前比較老的工藝而言,一般是相同的,但是隨著工藝先進性的提高,兩者逐漸不同了,兩者的關系體現在一個系數上:
slew_derate_from_library
首先講一下slew
實際波形的末端是漸近的,很難確定過渡的確切起點和終點。因此,.lib庫中都會基于特定閾值來定義slew,即Slew的值依賴于.lib里面指定的測量閾值,對于之前比較老的工藝(比如0.25um/0.18um或者更老),它們一般使用10%和90%作為slew或者transition time測量的閾值,此時slew和transition的值是一樣的。如下圖所示為某Foundary 0.18um工藝對Slew閾值與derate的定義:
Slew與Transition的關系
關鍵:Slew閾值的選擇對應于波形線性的部分。
隨著工藝尺寸的減小,實際波形最線性的部分通常在30%至70%之間。因此,大多數新一代時序庫都將Slew測量點指定為Vdd的30%和70%。
但是,由于之前老工藝中測得的transition time時間在10%至90%之間,因此在k庫填寫里面的transition time時,通常將測得的30%至70%的slew time加倍。
這由slew derate系數指定,通常指定為0.5。slew閾值為30%和70%,slew derate為0.5時,等效測量點為10%和90%。
Transition time: 10% ~ 90%,范圍80%,derate 0.5之后和下面的一樣:
Slew time: 30% ~ 70%,范圍40%
閾值設置的示例設置如下所示:
/* Threshold definitions */
slew_lower_threshold_pct_fall : 30.0;
slew_upper_threshold_pct_fall : 70.0;
slew_lower_threshold_pct_rise : 30.0;
slew_upper_threshold_pct_rise : 70.0;
input_threshold_pct_fall : 50.0;
input_threshold_pct_rise : 50.0;
output_threshold_pct_fall : 50.0;
output_threshold_pct_rise : 50.0;
slew_derate_from_library : 0.5;
注意:上面說的是通常情況下transition對于波形VDD的10%~90%,但是并非一定,具體slew和transition time的百分比還要看.lib里面的trip points定義的閾值以及slew derate的值,為了清楚理解他們之間的關系,大家可以看下面兩個例子。
例1:
/* Threshold definitions 20/80/1 */
slew_lower_threshold_pct_fall : 20.0;
slew_upper_threshold_pct_fall : 80.0;
slew_lower_threshold_pct_rise : 20.0;
slew_upper_threshold_pct_rise : 80.0;
/* slew_derate_from_library not specified */
Slew指定的是波形20%~90%的部分,庫中沒有指定slew_derate_from_library,默認為1,因此Slew和Transition time的值是相同的。
例2:
slew_lower_threshold_pct_rise : 20.00;
slew_upper_threshold_pct_rise : 80.00;
slew_lower_threshold_pct_fall : 20.00;
slew_upper_threshold_pct_fall : 80.00;
slew_derate_from_library : 0.6;
可以看到slew的trip points定義為VDD的20%和80%,范圍是60%,且slew derate值是0.6,因此transition time就對應擴展為VDD的0%到100%的時間,如下圖所示:
最后根據看到的文獻補充一下就是:
EDA tool內部計算用的應該是Slew值也就是波形線性的部分,也是transition derate之后的值;
而在工具中report_timing或者get_attribute報告出來的是transition的值;
lib LUT中的input/output transition正如名字一樣,用的就是transition的值;
現在某些EDA工具里面可能已經混用了Slew和Transition的概念(比如Innovus,你報告transition,報告上方顯示的是Slew...)不過.lib里面不存在這種問題。
審核編輯:劉清
-
EDA工具
+關注
關注
4文章
267瀏覽量
31789 -
LUT
+關注
關注
0文章
49瀏覽量
12502 -
PCT
+關注
關注
0文章
33瀏覽量
18683 -
VDD
+關注
關注
1文章
311瀏覽量
33188
原文標題:Transition time與slew time的聯系與區別
文章出處:【微信號:集成電路設計及EDA教程,微信公眾號:集成電路設計及EDA教程】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論