標籤:
【資料】
OCV模式和CPPR模式的技術層面解答:
OCV是on-chip variation. 是指在同一個晶片上, 由於製造工藝等原因造成的偏差. 具體表現在到兩個ff的clk端的時鐘路徑. 本來時間應該是一樣的. 但是因為製造工藝也就是OCV的原因, 造成工具無法計算的快慢偏差.
timing derate. 這個值就是告訴工具, OCV的影響有多大. 通常signoff的時候. derate會有5%到10%. 不同工藝不同設計, 由工程師的經驗決定.
如果兩個clk path 的長度都是1, 在OCV 分析模式下, 1.05和0.95的derate.
原本是0的 skew就變成了 1x1.05 - 1x0.95 = 0.1的skew.
以上就是OCV和timing derate的關係. 在.18um甚至.13um工藝下. ocv的影響很小, 基本可以不考慮. 但是90nm及以下,基本都會設.
cppr (clock path pessimism removal) 或者 crpr (clock reconveregence pessimism removal)是同一件事情的兩種叫法. Cadence公司的叫前者, Synopsys公司的叫後者. 在開啟OCV模式之後, 這個選項才有意義.
由於分析方式過於悲觀了. 因為兩個時鐘可能有共同路徑. 既然是共同路徑, 邏輯上就不可能有偏差. cppr就是幹這的. 去除共同路徑上過於悲觀的估計. 只計算不同路徑的OCV影響.
為什麼有OCV模式和OCV-CPPR模式?
首先因為有PVT,就是由於半導體器件的參數和很多因素有關,比如製造工藝/運行溫度/電源電壓等,相對於這些因素,工藝庫就會針對不同的環境給出的不同的參數值,這些參數會影響線網和單元的時延delay值。
在不同溫度工藝電壓下,把時延相關資訊分為三檔:best,typical,worst
那麼,為了保證時許驗證的結果是保守的,會採取集中不同的分析模式。STA分析方式主要有三種:single,worst_best,OCV
Single:在單一的情況下進行分析,即在做setup/hold分析時用同一種PVT模式下的時延資訊
Worst_best:在分析時同時讀入worst和best情況下的延遲資訊,用worst下的延遲資訊計算
Setup constraints,用best下的PVT模式計算hold time constraints
OCV(on_chip_variation):在分析時同時讀入worst情況下的PVT,在進行setup計算時,clock skew採用考慮到加工工藝的不確定性對時延的影響,用PVT中best(shortest)情況下計算,data delay用PVT中worst(longest)情況進行計算。計算Hold時相反。這種分析方式對晶片的timing非常嚴格。
【我的理解】
在EDA工具對這個STA問題的處理時,引入了derate的概念,來對應worst和best的PVT時延影響,在不同path計算時可設定derate取其best或worst的時延delay。(在實際操作時,還可能只考慮一條路徑上的悲觀情況,另另一條路徑derate=1,使約束條件更加樂觀)
因為OCV模式過於嚴格,所以才用基於OCV分析方式下的CPPR模式來去除悲觀路徑的影響,而CPPR實際上還是保留了OCV模式的計算方法和原理,因此我當初理解是認為他們的最大差異在於是否考慮commom path的影響,OCV模式下計算簡單電路時共同路徑會影響slack的值(乘derate後共同路徑延遲相減為負),而採用時cppr不會(共同路徑延遲相減為0)。
然而,理解不透徹的是
實際上在工具中ocv模式和cppr都是針對delay來說的,這種情況下二者delay肯定都考慮共同路徑的影響,否則delay計算不準確,區別在於是否考慮悲觀影響。
更準確地說:OCV模式考慮共同路徑的悲觀影響,本身過於悲觀,CPPR不考慮common path的悲觀估計(計算偏差)。
OCV與CPPR模式的理解