今天我們要介紹的時序分析概念是 AOCV 。全稱Stage Based Advanced OCV。我們知道,在OCV分析過程中,我們會給data path,clock path上設定單一的timing derate值。
隨著工藝演變的加速,我們發(fā)現(xiàn)這種設置方法是過于悲觀的,大家可以想象下,OCV是片上誤差,就代表一條path上有的cell delay大于標準值,那也有的cell delay會小于標準值。因此不能一味的加大或減小delay來模擬片上誤差。
如下圖所示,對于下面這樣一條buffer鏈,假設8個buffer處于不同的PVT條件下,OCV會將8個buffer都選用最差的條件來分析(同一derate參數(shù)),而AOCV則會采用不同的timing derate值來分析。
AOCV有它專門的libary庫,我們稱為AOCV table。按照維度分為兩種,一種是一位的只以stage count作為計算的表格,如下圖所示:
version: 2.0
object_type: lib_cell
object_spec: LIB/BUF1X
rf_type: rise fall
delay_type: cell
derate_type: late
path_type: data
depth: 1 2 3 4 5
distance:
table: \\
1.123 1.090 1.075 1.067 1.062
depth就代表著stage count,從表格中我們可以看到隨著;路徑的深入,derate的效應會減小。那我們怎么來計算stage count呢?
通常這個計算方法比較復雜,不同的電路情況對應著不同的count計算方式:如下timing path,我們將L1,L2,DFF1,U1,U2,U3的stage count設成6,而C1,C2,C3,C4的stage count需要設成4,這邊需要說明的是B1,B2由于是common point,所以在計算stage count時需要忽略。
另外一種是以distance和stage count混合組成的二維AOCV table. 它在計算derate時同時考慮了timing path的距離因素,當然這個雖然更加精確,但是會增加runtime,所以一般現(xiàn)在一維表格用的更多。
version: 2.0
object_type: lib_cell
object_spec: LIB/BUF1X
rf_type: rise fall
delay_type: cell
derate_type: late
path_type: data
depth: 1 2 3 4 5
distance: 500 1000 1500 2000
table: \\
1.123 1.090 1.075 1.067 1.062 \\
1.124 1.091 1.076 1.068 1.063 \\
1.125 1.092 1.077 1.070 1.065 \\
1.126 1.094 1.079 1.072 1.067
使用方法:
set_analysis_mode -aocv true
-
片上系統(tǒng)
+關注
關注
0文章
186瀏覽量
26818 -
時序分析
+關注
關注
2文章
127瀏覽量
22566 -
OCV
+關注
關注
0文章
25瀏覽量
12538 -
dff
+關注
關注
0文章
26瀏覽量
3418
發(fā)布評論請先 登錄
相關推薦
評論