0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

介紹時(shí)序分析概念,那為什么需要OCV呢?

數(shù)字后端IC芯片設(shè)計(jì) ? 來源:未知 ? 作者:李倩 ? 2018-06-25 14:19 ? 次閱讀

今天我們要介紹的時(shí)序分析概念是on chip variations,簡(jiǎn)稱OCV。OCV會(huì)對(duì)時(shí)序分析提出更嚴(yán)格的要求。那為什么需要OCV呢,因?yàn)橹圃旃に嚨南拗?,同?a target="_blank">芯片上不同位置的MOS晶體管的性能會(huì)有一些差異。庫中的PVT是一個(gè)"點(diǎn)",比如1.2V,250℃,工藝1.0。 但實(shí)際芯片的PVT永遠(yuǎn)不會(huì)落在一個(gè)點(diǎn)上,而是一個(gè)范圍;比如說有時(shí)序關(guān)系的幾個(gè)cell,可能這幾個(gè)cell的PVT是1.18V,20℃,工藝0.98。而那個(gè)cell的PVT是1.21V,35℃,工藝1.01。這些cell的PVT都不在那個(gè)點(diǎn)上,怎么去分析呢?這時(shí)候就需要OCV了。

還是參照single mode和bc-wc那張圖,OCV的檢查方式更加嚴(yán)格,如下所示:

For setup :Launch clock path :late path from max lib Data Path :late path from max libCapture Clock path :early path from min libFor Hold:Launch clock path :early path from min libData Path :early path from min libCapture Clock path :late path from max lib

OCV for setup check

還是原來BC-WC分析模式那張圖:

假設(shè)PVT情況可以在整個(gè)chip上變化, (暫時(shí)不考慮CPPR)

clock period = 4Launch clock late path (max) = 0.7 + 0.6 = 1.3Data late path (max) = 3.5Capture clock early path (min) = 0.5 + 0.3 = 0.8Setup = 0.2Data arrival time = 1.3 + 3.5 = 4.8Data required time = 4 + 0.8 - 0.2 = 4.6Slack =Data required time - Data arrival time=4.6 - 4.8 = -0.2

OCV for Hold check

對(duì)于Hold check, 可以參考下圖分析模式:

Launch clock early path (min) = 0.5 + 0.4 = 0.9Data early path (min) = 2Capture clock late path (max) = 0.7 + 0.5 = 1.2Hold = 0.2Data arrival time = 0.9 + 2 = 2.9Data required time =1.2+0.2 = 1.4Slack = Data arrival time - Data required time=2.9 - 1.4 = 1.5

通過上訴的描述,大家對(duì)OCV的分析模式有一定了解了吧,OCV其實(shí)是一種相對(duì)悲觀的分析模式,為了使design和fabrication之間的結(jié)果更加接近,現(xiàn)在又誕生了AOCV,SOCV等更高級(jí)的分析模式。

時(shí)序分析概念是timing derate. 我們可以稱為時(shí)序增減因子。我們知道在芯片的生產(chǎn)過程中,由于刻蝕,不同點(diǎn)的溫度,金屬不均勻,串?dāng)_,晶體管溝道長(zhǎng)度等影響因素,導(dǎo)致片上各個(gè)位置單元延遲不一樣。因此,我們需要一個(gè)縮放因子來讓設(shè)計(jì)更加嚴(yán)格。

timing derate是計(jì)算OCV的一種簡(jiǎn)單方法,在某單一條件(BC-WC)下,把指定path的delay放大或者縮小一些,這個(gè)比率就是derate。比如說:

-late

setup ==> data path * 1.1

hold==> clock path * 1.1

-early

setup ==> clock path * 0.9

hold==> data path * 0.9

以下圖為例:

在setup check中,

Date arrival time即data path和launch clock path需要使用-late選項(xiàng),使得路徑變慢。

Date require time即capture clock path需要使用-early選項(xiàng),加快路徑延遲。

需要注意的是:考慮time derate需要在某個(gè)單一條件下,比如說BC或者WC條件下,把指定path的延遲再放大或者縮小一點(diǎn),要么是BC,要么是WC,不要把BC和WC混在一起,再OCV,那樣太過于悲觀。

setup check一般是工作在WC PVT條件下,因此不需要在late path上,即launch clock path以及data path上再加time derate,因?yàn)樵赪C條件下,launch clock path以及data path上的延遲已經(jīng)是所有條件下最差的delay了,沒有必要再加大延遲,但是WC條件下capture clock path上的delay肯定不是最小的,因此需要加快。

所以上面的timing path做setup check,time derate只需要這樣設(shè)置:

set_timing_derate -early 0.9

set_timing_derate -late 1.0

我們可以計(jì)算一下設(shè)了timing derate以后setup check的變化:

上圖中:launch clock path =(1.2+0.8)*1.0 = 2.0

max data path = 5.2 * 1.0 =5.2

capture clock path = (1.2 + 0.86) *0.9 = 1.854

所以最小時(shí)鐘周期T= 2.0 + 5.2 -1.854 + 0.385= 5.731

可以看到:考慮timing derate以后,會(huì)降低整個(gè)design的工作頻率。

在Hold check中

考慮time derate的情況與setup正好相反,

Data require time中的capture clock path使用-late選項(xiàng),使路徑變慢。

Data arrival time中的data path和launch clock path使用-early選項(xiàng),使路徑加快

實(shí)際上,Hold check一般在BC條件下,因此,launch clock path與data path不需要再進(jìn)一步減小delay,因?yàn)橐呀?jīng)是最小delay,但是BC條件下的capture clock path需要derate.可以使用如下設(shè)置

set_timing_derate -early 1.0

set_timing_derate -late 1.2

這樣添加time derate后

Launch clock path = 0.85 * 1.0 = 0.85

Min data path = 1.7 * 1.0 = 1.7

Capture clock path = 1.0 * 1.2 = 1.2

所以slack=0.85+1.7-1.2-1.25=0.1

介紹的時(shí)序分析概念是CPPR(CRPR)。全稱Clock Path Pessimism Removal(Clock Reconvergence Pessimism Removal),中文名“共同路徑悲觀去除”。它的作用是去除clock path上的相同路徑上的悲觀計(jì)算量。如下圖所示:

由于STA是窮舉型的分析路徑,在分析setup timing時(shí),clock launch path會(huì)選擇紅色的路徑,clock capture path則會(huì)選擇綠色的路徑,這本身就是不合理的情況,一個(gè)mux不可能同時(shí)存在兩條經(jīng)過的路徑,所以我們需要去除這個(gè)計(jì)算的悲觀量。

CPPR不僅僅存在于OCV,在以下幾種情況它都可以存在:

Single Mode without set_timing_derate

BC-WC Mode without set_timing_derate

OCV Mode without set_timing_derate

Single Mode with set_timing_derate

BC-WC Mode with set_timing_derate

OCV mode with set_timing_derate

我們?cè)倏瓷弦粋€(gè)計(jì)算timing derate的例子:

大家肯定發(fā)現(xiàn)了對(duì)于path最前端那1.2ns的延遲,在setup分析時(shí),launch clock path中沒有被derate, 而在capture clock path中被time derate 1.2*0.9 =1.08. 顯然這是相互矛盾的。

對(duì)于上訴設(shè)計(jì),考慮CPPR之后,我們必須減去一個(gè)CPP因子=1.2-1.08=0.12

所以最小時(shí)鐘周期T=5.731-0.12 = 5.611

使用方法:

set_analysis_mode -cppr {none|both|setup|hold}

介紹的時(shí)序分析概念是AOCV。全稱Stage Based Advanced OCV。我們知道,在OCV分析過程中,我們會(huì)給data path,clock path上設(shè)定單一的timing derate值。隨著工藝演變的加速,我們發(fā)現(xiàn)這種設(shè)置方法是過于悲觀的,大家可以想象下,OCV是片上誤差,就代表一條path上有的cell delay大于標(biāo)準(zhǔn)值,那也有的cell delay會(huì)小于標(biāo)準(zhǔn)值。因此不能一味的加大或減小delay來模擬片上誤差。

如下圖所示,對(duì)于下面這樣一條buffer鏈,假設(shè)8個(gè)buffer處于不同的PVT條件下,OCV會(huì)將8個(gè)buffer都選用最差的條件來分析(同一derate參數(shù)),而AOCV則會(huì)采用不同的timing derate值來分析。

AOCV有它專門的libary庫,我們稱為AOCV table。按照維度分為兩種,一種是一位的只以stage count作為計(jì)算的表格,如下圖所示:

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的效應(yīng)會(huì)減小。那我們?cè)趺磥碛?jì)算stage count呢?

通常這個(gè)計(jì)算方法比較復(fù)雜,不同的電路情況對(duì)應(yīng)著不同的count計(jì)算方式:如下timing path,我們將L1,L2,DFF1,U1,U2,U3的stage count設(shè)成6,而C1,C2,C3,C4的stage count需要設(shè)成4,這邊需要說明的是B1,B2由于是common point,所以在計(jì)算stage count時(shí)需要忽略。

另外一種是以distance和stage count混合組成的二維AOCV table. 它在計(jì)算derate時(shí)同時(shí)考慮了timing path的距離因素,當(dāng)然這個(gè)雖然更加精確,但是會(huì)增加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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 芯片
    +關(guān)注

    關(guān)注

    452

    文章

    50206

    瀏覽量

    420863
  • 時(shí)序分析
    +關(guān)注

    關(guān)注

    2

    文章

    127

    瀏覽量

    22542

原文標(biāo)題:時(shí)序分析基本概念介紹

文章出處:【微信號(hào):IC_Physical_Design,微信公眾號(hào):數(shù)字后端IC芯片設(shè)計(jì)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    時(shí)序分析基本概念介紹——時(shí)序庫Lib,除了這些你還想知道什么?

    時(shí)序分析基本概念介紹——時(shí)序庫Lib。用于描述物理單元的時(shí)序和功耗信息的重要庫文件。lib庫是最
    的頭像 發(fā)表于 12-15 17:11 ?1.2w次閱讀
    <b class='flag-5'>時(shí)序</b><b class='flag-5'>分析</b>基本<b class='flag-5'>概念</b><b class='flag-5'>介紹</b>——<b class='flag-5'>時(shí)序</b>庫Lib,除了這些你還想知道什么?

    詳細(xì)介紹時(shí)序基本概念Timing arc

    時(shí)序分析基本概念介紹——Timing Arc
    的頭像 發(fā)表于 01-02 09:29 ?2.4w次閱讀
    詳細(xì)<b class='flag-5'>介紹</b><b class='flag-5'>時(shí)序</b>基本<b class='flag-5'>概念</b>Timing arc

    時(shí)序分析的基本概念ETM的詳細(xì)介紹及如何應(yīng)用的資料概述

    今天我們要介紹時(shí)序分析概念是ETM。全稱extracted timing model。這是在層次化設(shè)計(jì)中必須要使用的一個(gè)時(shí)序模型文件。由b
    的頭像 發(fā)表于 09-24 19:30 ?1.8w次閱讀
    <b class='flag-5'>時(shí)序</b><b class='flag-5'>分析</b>的基本<b class='flag-5'>概念</b>ETM的詳細(xì)<b class='flag-5'>介紹</b>及如何應(yīng)用的資料概述

    時(shí)序分析概念之spice deck介紹

    平時(shí)用得可能比較少,是PT產(chǎn)生的一個(gè)spice信息文件,可以用來和HSPICE做correlation。我們平時(shí)使用PT做得是gate level的時(shí)序分析,如果想做transistor level的時(shí)序
    的頭像 發(fā)表于 09-23 16:52 ?6542次閱讀

    時(shí)序分析基本概念介紹

    今天我們要介紹時(shí)序分析概念是Combinational logic. 中文名組合邏輯單元。這是邏輯單元的基本組成器件。比如我們常見的and, or, not, nand,nor等門電
    的頭像 發(fā)表于 05-14 17:27 ?5703次閱讀
    <b class='flag-5'>時(shí)序</b><b class='flag-5'>分析</b>基本<b class='flag-5'>概念</b><b class='flag-5'>介紹</b>

    靜態(tài)時(shí)序分析的基本概念和方法

    向量和動(dòng)態(tài)仿真 。本文將介紹靜態(tài)時(shí)序分析的基本概念和方法,包括時(shí)序約束,時(shí)序路徑,
    的頭像 發(fā)表于 06-28 09:38 ?1434次閱讀
    靜態(tài)<b class='flag-5'>時(shí)序</b><b class='flag-5'>分析</b>的基本<b class='flag-5'>概念</b>和方法

    介紹時(shí)序分析的基本概念lookup table

    今天要介紹時(shí)序分析基本概念是lookup table。中文全稱時(shí)序查找表。
    的頭像 發(fā)表于 07-03 14:30 ?1413次閱讀
    <b class='flag-5'>介紹</b><b class='flag-5'>時(shí)序</b><b class='flag-5'>分析</b>的基本<b class='flag-5'>概念</b>lookup table

    時(shí)序分析概念min pulse width介紹

    今天我們要介紹時(shí)序分析概念是 **min pulse width** ,全稱為最小脈沖寬度檢查。這也是一種非常重要的timing arc check,經(jīng)常用在
    的頭像 發(fā)表于 07-03 14:54 ?2579次閱讀
    <b class='flag-5'>時(shí)序</b><b class='flag-5'>分析</b><b class='flag-5'>概念</b>min pulse width<b class='flag-5'>介紹</b>

    clock gate時(shí)序分析概念介紹

    今天我們要介紹時(shí)序分析概念是clock gate。 clock gate cell是用data signal控制clock信號(hào)的cell,它被頻繁地用在多周期的時(shí)鐘path,可以節(jié)省
    的頭像 發(fā)表于 07-03 15:06 ?2876次閱讀
    clock gate<b class='flag-5'>時(shí)序</b><b class='flag-5'>分析</b><b class='flag-5'>概念</b><b class='flag-5'>介紹</b>

    SOCV時(shí)序分析概念簡(jiǎn)析

    今天我們介紹時(shí)序分析概念是 **SOCV** 。也被叫作POCV,全稱為 **Statistic OCV** . 這是一種比AOCV更加先
    的頭像 發(fā)表于 07-03 15:19 ?2630次閱讀
    SOCV<b class='flag-5'>時(shí)序</b><b class='flag-5'>分析</b><b class='flag-5'>概念</b>簡(jiǎn)析

    AOCV時(shí)序分析概念介紹

    今天我們要介紹時(shí)序分析概念是 **AOCV** 。全稱Stage Based Advanced OCV。我們知道,在
    的頭像 發(fā)表于 07-03 16:29 ?1889次閱讀
    AOCV<b class='flag-5'>時(shí)序</b><b class='flag-5'>分析</b><b class='flag-5'>概念</b><b class='flag-5'>介紹</b>

    介紹時(shí)序分析基本概念MMMC

    今天我們要介紹時(shí)序分析基本概念是MMMC分析(MCMM)。全稱是multi-mode, multi-corner, 多模式多端角
    的頭像 發(fā)表于 07-04 15:40 ?2411次閱讀
    <b class='flag-5'>介紹</b><b class='flag-5'>時(shí)序</b><b class='flag-5'>分析</b>基本<b class='flag-5'>概念</b>MMMC

    時(shí)序分析Slew/Transition基本概念介紹

    今天要介紹時(shí)序分析基本概念是Slew,信號(hào)轉(zhuǎn)換時(shí)間,也被稱為transition time。
    的頭像 發(fā)表于 07-05 14:50 ?2953次閱讀
    <b class='flag-5'>時(shí)序</b><b class='flag-5'>分析</b>Slew/Transition基本<b class='flag-5'>概念</b><b class='flag-5'>介紹</b>

    時(shí)序分析基本概念介紹—Timing Arc

    今天我們要介紹時(shí)序基本概念是Timing arc,中文名時(shí)序弧。這是timing計(jì)算最基本的組成元素,在昨天的lib庫介紹中,大部分
    的頭像 發(fā)表于 07-06 15:00 ?3175次閱讀
    <b class='flag-5'>時(shí)序</b><b class='flag-5'>分析</b>基本<b class='flag-5'>概念</b><b class='flag-5'>介紹</b>—Timing Arc

    時(shí)序分析基本概念介紹時(shí)序庫Lib

    今天主要介紹時(shí)序概念時(shí)序庫lib,全稱liberty library format(以? lib結(jié)尾),
    的頭像 發(fā)表于 07-07 17:15 ?2851次閱讀
    <b class='flag-5'>時(shí)序</b><b class='flag-5'>分析</b>基本<b class='flag-5'>概念</b><b class='flag-5'>介紹</b>—<b class='flag-5'>時(shí)序</b>庫Lib