今天我們要介紹的時(shí)序分析命令是 uncertainty ,簡(jiǎn)稱時(shí)鐘不確定性。主要用來(lái)定義Clock信號(hào)到時(shí)序器件的Clock端可能早到或晚到的時(shí)間,降低了時(shí)鐘抖動(dòng)jitter對(duì)有效時(shí)鐘周期的影響。
值得注意的是,在setup check中,clock uncertainty是代表著降低了時(shí)鐘的有效周期;而在hold check中,clock uncertainty是代表著hold check所需要滿足的額外margin。
來(lái)看下面一條reg2reg path. 對(duì)照著如下時(shí)鐘波形圖??梢詫?xiě)出下面的約束。
set_clock_uncertainty-from VIRTUAL_SYS_CLK -to SYS_CLK -hold 0.05
set_clock_uncertainty -from VIRTUAL_SYS_CLK -to SYS_CLK -setup 0.3
set_clock_uncertainty -from SYS_CLK -to CFG_CLK -hold 0.05
set_clock_uncertainty -from SYS_CLK -to CFG_CLK -setup 0.1
在pre-CTS的時(shí)候,我們將時(shí)鐘的不確定性設(shè)定為target的skew和jitter值之和來(lái)模擬真實(shí)的時(shí)鐘;而post-CTS之后,時(shí)鐘樹(shù)propagate delay已經(jīng)確定,skew真實(shí)存在,所以u(píng)ncertainty就是時(shí)鐘的真實(shí)抖動(dòng)值。因此preCTS的target skew不能設(shè)置的太大或者太小,這樣會(huì)造成preCTS和postCTS的correlation不好。總結(jié)一下:
在pre-CTS中,
setup的clock uncertainty = jitter + clock tree skew
hold的clock uncertainty = clock tree skew
在post-CTS中,
setup的clock uncertainty = jitter
hold的clock uncertainty = 0
對(duì)于uncertainty的設(shè)置,每種工藝,或者每種設(shè)計(jì)來(lái)說(shuō),都不盡相同。一般來(lái)說(shuō),頻率較高的時(shí)鐘,我們可以設(shè)置相對(duì)較小的clock uncertainty;而頻率較低的或者經(jīng)過(guò)分頻的時(shí)鐘,我們可以把clock uncertainty加大一些。
對(duì)設(shè)計(jì)的不同階段,clock uncertainty的設(shè)置也不一樣,從design的initial階段,經(jīng)過(guò)place, cts, route, extraction, signoff等步驟,每個(gè)階段都應(yīng)該設(shè)置不同的clock uncertainty,給后續(xù)每個(gè)步驟預(yù)留margin,而且數(shù)值是越來(lái)越小的趨勢(shì)。
-
時(shí)序分析
+關(guān)注
關(guān)注
2文章
127瀏覽量
22577 -
CTS
+關(guān)注
關(guān)注
0文章
35瀏覽量
14121 -
時(shí)序分析器
+關(guān)注
關(guān)注
0文章
24瀏覽量
5290
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論