timing model的插值計算

2021-10-17 04:26:31 字數 2002 閱讀 4787

standard cell timing model 主要包括兩方面的資訊:

cell delay  calculation

output transition  calculation

首先,cell delay 和 cell output transition這兩者都是根據 input trans 和 output load 計算出來的;

具體應該是 input pin transition 和 output net total cap 來計算:

這裡的 input transition 就是上一級cell 的output transition,而 cell output transition 的計算也是由 input trans 和 output load 決定的:

以此逐級類推計算,就可以計算出 timing path 上所有的 cell delay 值了。

來看乙個具體的 cell delay 計算例項:

上圖中 svn_buf_10 這個 cell :

cell delay  =  0.0861 

input pin transition  =  0.5727

output net total cap = 0.0182 

基本原理是將input trans 和 output cap 這兩個引數代入到 std cell 庫中的 delay 計算表(lookup table),查出對應的 delay 值;

用 report_delay_calculation 可以報出計算過程:

圖中的 z 就是計算出來的 cell delay ,與 report 中的 0.0861 很接近;

具體計算過程是:

根據 x 和 y 的值,在 lib lookup table 中查詢到 x 和 y 左右兩側的座標點,將這四個座標點代入二元擬合公式 z= b*x + c*y + d*x*y ,就可以得到四個二元二次方程,由這四個方程可以解出 abcd 四個係數的值,這樣就得到了乙個具體的擬合公式,然後再將 input trans 和output cap 代入擬合公式就可以計算出這個cell 的delay 值了。

lib lookup  table 如下:

在 lookup table 中,

index_1 是 input trans,是縱座標

index_2 是 output cap,是橫座標

有了橫縱座標,就很容易查出 delay value了 

以上是 組合邏輯 cell delay 計算,那麼 sequential cell 的 delay 如何計算? 比如 register ?

register 的 delay 包括兩個: cell delay (即 ck -> q 的delay), library setup time (即 ck 端的 setup window)

a)register cell delay 的計算:根據ck 端 input transition 和 q 端 output cap,查表得出

b)register library setup time 的計算:根據 d 端data input transition(index_1) 和 ck 端 clock input transition(index_2), 查表得出

插值查詢 插值搜尋

這是一種和二分比較相似的查詢的演算法,不過不同的是,對於分布比較均勻的較大的陣列,插值查詢有時能夠一次就搜尋到位.為什麼能夠這麼快呢 看網上沒有什麼關於這種演算法的描述,我就來描述一下吧.首先要知道一點,這種搜尋方式只能夠針對順序表進行,再乙個要理解順序表中的乙個特點,在順序表中查詢是否存在乙個值,...

hermite插值 分段插值 Hermite插值

1.分段二次多項式插值 試用分段 4段 二次多項式插值來近似 0,1 區間上的 runge 函式 1 取區間的 8 等分點,計算插值節點處的函式值 2 每次取 3 個相鄰的等分點為一組,呼叫 polyinterp 函式,計算繪圖求值點 3 繪圖.2.hermite插值 編寫程式,繪製繪製多項式 p ...

插值法(拉格朗日插值和牛頓插值)

牛頓插值 defnewton interpolation x,y,init sum y 0 temp np.zeros len x len x 將第一行賦值 for i in range 0,len x temp i,0 y i temp sum 1.0 for i in range 1,len x...