系統(tǒng)時(shí)序設(shè)計(jì)中對時(shí)鐘信號的要求是非常嚴(yán)格的,因?yàn)槲覀兯械臅r(shí)序計(jì)算都是以恒定的時(shí)鐘信號為基準(zhǔn)。但實(shí)際中時(shí)鐘信號往往不可能總是那么完美,會出現(xiàn)抖動(Jitter)和偏移(Skew)問題。
所謂抖動(jitter),就是指兩個(gè)時(shí)鐘周期之間存在的差值,這個(gè)誤差是在時(shí)鐘發(fā)生器內(nèi)部產(chǎn)生的,和晶振或者PLL內(nèi)部電路有關(guān),布線對其沒有影響。如下圖所示:
除此之外,還有一種由于周期內(nèi)信號的占空比發(fā)生變化而引起的抖動,稱之為半周期抖動??偟膩碚f,jitter可以認(rèn)為在時(shí)鐘信號本身在傳輸過程中的一些偶然和不定的變化之總和。
時(shí)鐘偏斜(skew)是指同樣的時(shí)鐘產(chǎn)生的多個(gè)子時(shí)鐘信號之間的延時(shí)差異。它表現(xiàn)的形式是多種多樣的,既包含了時(shí)鐘驅(qū)動器的多個(gè)輸出之間的偏移,也包含了由于PCB走線誤差造成的接收端和驅(qū)動端時(shí)鐘信號之間的偏移。
時(shí)鐘偏斜指的是同一個(gè)時(shí)鐘信號到達(dá)兩個(gè)不同寄存器之間的時(shí)間差值,時(shí)鐘偏斜永遠(yuǎn)存在,到一定程度就會嚴(yán)重影響電路的時(shí)序。如下圖所示:
信號完整性對時(shí)序的影響,比如串?dāng)_會影響微帶線傳播延遲;反射會造成數(shù)據(jù)信號在邏輯門限附近波動,從而影響最大/最小飛行時(shí)間;時(shí)鐘走線的干擾會造成一定的時(shí)鐘偏移。有些誤差或不確定因素是仿真中無法預(yù)見的,設(shè)計(jì)者只有通過周密的思考和實(shí)際經(jīng)驗(yàn)的積累來逐步提高系統(tǒng)設(shè)計(jì)的水平。
Clock skew 和Clock jitter 是影響時(shí)鐘信號穩(wěn)定性的主要因素。很多書里都從不同角度里對它們進(jìn)行了解釋。
其中“透視”一書給出的解釋最為本質(zhì):
Clock Skew: The spatial variation in arrival time of a clock transition on an integrated circuit;
Clock jitter: The temporal vatiation of the clock period at a given point on the chip;
簡言之,skew通常是時(shí)鐘相位上的不確定,而jitter是指時(shí)鐘頻率上的不確定(uncertainty)。造成skew和jitter
的原因很多。由于時(shí)鐘源到達(dá)不同寄存器所經(jīng)歷路徑的驅(qū)動和負(fù)載的不同,時(shí)鐘邊沿的位置有所差異,因此就帶來了
skew。而由于晶振本身穩(wěn)定性,電源以及溫度變化等原因造成了時(shí)鐘頻率的變化,就是jitter。
skew和jitter對電路的影響可以用一個(gè)簡單的時(shí)間模型來解釋。假設(shè)下圖中t(c-q)代表寄存器的最大輸出延遲,
t(c-q, cd)表示最大輸出延時(shí);t(su)和t(hold)分別代表寄存器的setup, hold time(暫不考慮p.v.t)差異;t(logic)
和t(logic, cd)分別表示最大的組合邏輯傳輸延遲和最小組合邏輯傳輸延遲;
在不考慮skew和jitter的情況下,及t(clk1)和t(clk2)同頻同相時(shí),時(shí)鐘周期T和t(hold)需要滿足
T > t(c-q) + t(logic) + t(su)
t(hold) < t(c-q, cd) + t(logic, cd)
這樣才能保證電路的功能正常,且避免競爭的發(fā)生。如果考慮CLK2比CLK1晚t1的相位,及skew=t1。
則 t(hold) < t(c-q, cd) + t(logic, cd) - t1
這意味著電路由更大的傾向發(fā)生hold time violation;如果考慮CLK1比CLK2晚t2的相位,及skew=-t2,
則 T > t(c-q) + t(logic) + t(su) + t2
這意味著電路的性能下降了,但由于R2的hold time始終滿足,所以不會有競爭的麻煩存在。clock jitter
始終是對性能造成負(fù)面的影響,一般設(shè)計(jì)中都需要專門留取10%左右的margin來保證。
clock uncertainty = clock jitter + clock skew. jitter 是 由時(shí)鐘源產(chǎn)生的抖動。skew是時(shí)鐘樹不平衡引起的到達(dá)兩個(gè)寄存器的延遲差。在cts之后,skew由工具算出,因此sta的時(shí)候clock uncertainty 可以設(shè)一個(gè)比較小的值。另外做hold check的時(shí)候因?yàn)闄z查的是同一個(gè)時(shí)鐘沿,因此沒有jitter只有skew.
審核編輯:湯梓紅
-
驅(qū)動器
+關(guān)注
關(guān)注
53文章
8261瀏覽量
146670 -
晶振
+關(guān)注
關(guān)注
34文章
2885瀏覽量
68150 -
時(shí)鐘
+關(guān)注
關(guān)注
11文章
1738瀏覽量
131622 -
時(shí)鐘抖動
+關(guān)注
關(guān)注
1文章
62瀏覽量
15942 -
時(shí)鐘偏斜
+關(guān)注
關(guān)注
0文章
4瀏覽量
6374
原文標(biāo)題:時(shí)鐘抖動(Clock Jitter)和時(shí)鐘偏斜(Clock Skew)
文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論