寫(xiě)在前面
本系列整理數(shù)字系統(tǒng)設(shè)計(jì)的相關(guān)知識(shí)體系架構(gòu),為了方便后續(xù)自己查閱與求職準(zhǔn)備。在FPGA和ASIC設(shè)計(jì)中,時(shí)鐘信號(hào)的好壞很大程度上影響了整個(gè)系統(tǒng)的穩(wěn)定性,本文主要介紹了數(shù)字設(shè)計(jì)中的非理想時(shí)鐘的偏差來(lái)源與影響。
理想時(shí)鐘
在數(shù)字設(shè)計(jì)中的理想時(shí)鐘如下圖所示:
理想時(shí)鐘
理想時(shí)鐘的特點(diǎn)如下:
- 時(shí)鐘無(wú)重疊: 任意時(shí)刻下, Φ 與Φ非的與恒為零;
- 全軌輸出: VDD - V(Φ) = V (Φ非);
- 時(shí)鐘無(wú)延遲、無(wú)偏斜、無(wú)抖動(dòng) 。
非理想性時(shí)鐘
在數(shù)字設(shè)計(jì)中的非理想時(shí)鐘如下圖所示,和理想時(shí)鐘相對(duì)立,如果不滿(mǎn)足上述的理想時(shí)鐘的相關(guān)特點(diǎn),可認(rèn)為其實(shí)一個(gè)非理想時(shí)鐘。
非理想性時(shí)鐘
對(duì)上圖進(jìn)行分析,假設(shè)CLK1、CLK2是同一個(gè)時(shí)鐘樹(shù)下的不同時(shí)鐘,此時(shí),兩個(gè)時(shí)鐘邊沿的時(shí)間差就為時(shí)鐘偏斜,同時(shí),對(duì)于某一個(gè)時(shí)鐘,在時(shí)鐘變化邊沿時(shí),會(huì)有一定的隨機(jī)性,所以這里隨機(jī)的時(shí)鐘周期變化叫做時(shí)鐘抖動(dòng)。
假設(shè)CLK1是CLK2的前級(jí)時(shí)鐘,所以上圖中兩個(gè)時(shí)鐘的邊沿的時(shí)間差即為時(shí)鐘延遲。
在上圖中其實(shí)不能很準(zhǔn)確體現(xiàn)出時(shí)鐘延遲和時(shí)鐘偏斜的概念區(qū)別,貼出另外一個(gè)圖以供參考:
在下圖中很容易理解時(shí)鐘延遲和時(shí)鐘偏斜的概念:
- 時(shí)鐘延遲(clock latency)是指從時(shí)鐘源到終點(diǎn)所花費(fèi)的總時(shí)間。
- 時(shí)鐘偏斜(clock skew)是指到達(dá)不同時(shí)鐘樹(shù)終點(diǎn)的時(shí)間差。
時(shí)鐘偏斜主要來(lái)自時(shí)鐘在空間上的不期望變化,時(shí)鐘延遲和時(shí)鐘抖動(dòng)主要來(lái)自時(shí)鐘在時(shí)間上的不期望變化。
時(shí)鐘延遲(clock latency)
時(shí)鐘延遲 (clock latency)是指從時(shí)鐘源到終點(diǎn)所花費(fèi)的總時(shí)間,主要針對(duì)的是一個(gè)時(shí)鐘,從時(shí)鐘源端輸出到所驅(qū)動(dòng)的器件的時(shí)鐘輸入端的時(shí)間延遲。
時(shí)鐘偏斜(clock skew)
時(shí)鐘偏斜(clock latency)是一對(duì)物理時(shí)鐘的標(biāo)稱(chēng)時(shí)間差與實(shí)際時(shí)間差之間的區(qū)別。理想情況下,時(shí)鐘應(yīng)同時(shí)到達(dá)系統(tǒng)中所有的鐘控元件(鎖存器、觸發(fā)器、存儲(chǔ)器和動(dòng)態(tài)門(mén)等),這樣系統(tǒng)才有一個(gè)共同的參考時(shí)間。實(shí)際中,時(shí)鐘到達(dá)各點(diǎn)的時(shí)間稍微有些差別,這個(gè)差別就叫 時(shí)鐘偏斜 。
兩個(gè)不同時(shí)鐘的時(shí)鐘延遲,就是時(shí)鐘偏斜。
時(shí)鐘偏斜發(fā)生在兩個(gè)時(shí)鐘信號(hào)之間,一般不會(huì)引起電路實(shí)際時(shí)鐘周期的變化,只會(huì) 導(dǎo)致時(shí)鐘相位的偏移 ;時(shí)鐘抖動(dòng)可以發(fā)生在一個(gè)時(shí)鐘信號(hào)自身,會(huì) 引起時(shí)鐘周期的變化 。
時(shí)鐘偏斜與時(shí)鐘抖動(dòng)統(tǒng)稱(chēng)為 時(shí)鐘偏差 ,二者之和也叫 時(shí)鐘不確定性(uncertainty) 。邊沿之間的時(shí)鐘抖動(dòng)有時(shí)也被歸于與時(shí)間相關(guān)的時(shí)鐘偏斜。
時(shí)鐘抖動(dòng)(clock jitter)
時(shí)鐘抖動(dòng)(clock jitter) 是指芯片的某一個(gè)給定點(diǎn)上時(shí)鐘邊沿發(fā)生暫時(shí)的隨機(jī)變化,會(huì)導(dǎo)致時(shí)鐘周期的縮短或加長(zhǎng)。
時(shí)鐘抖動(dòng)
邊界間抖動(dòng)(edge-to-edge) :時(shí)鐘邊沿相對(duì)與理想時(shí)鐘邊沿的最大變化值,實(shí)際上是隨時(shí)間變化的時(shí)鐘偏斜。
邊界間抖動(dòng)
長(zhǎng)周期抖動(dòng)(k-cycle) :數(shù)個(gè)周期后邊沿之間的最大變化值,主要影響芯片間的時(shí)序同步,也叫絕對(duì)抖動(dòng)。
長(zhǎng)周期抖動(dòng)
周期間抖動(dòng)(cycle-to-cycle) :相鄰時(shí)鐘周期間的時(shí)變偏離,主要影響芯片內(nèi)時(shí)序同步,也叫相對(duì)抖動(dòng)。
周期間抖動(dòng)
隨機(jī)抖動(dòng)(random jitter) :由器件和導(dǎo)線的固有噪聲(如熱噪聲) 所致,為高斯分布,用均方根值(RMS)表征,無(wú)法預(yù)估。
隨機(jī)絕對(duì)抖動(dòng)的高斯分布
確定性抖動(dòng) (deterministic jitter) :確定性抖動(dòng)由非理想傳輸效應(yīng)、串?dāng)_、電源浪涌等所致,為非高斯分布,用峰峰值表征,可以預(yù)估。
在邏輯綜合前,常采用理想時(shí)鐘(邏輯時(shí)鐘)+預(yù)設(shè)偏差的方式來(lái)模擬真實(shí)時(shí)鐘;在物理設(shè)計(jì)時(shí),完成實(shí)際時(shí)鐘(物理時(shí)鐘)的設(shè)計(jì),其偏差必須滿(mǎn)足系統(tǒng)要求。
- 邏輯時(shí)鐘(logical clock) :沒(méi)有時(shí)鐘偏斜的理想時(shí)鐘,邏輯設(shè)計(jì)者在用硬件描述語(yǔ)言描述系統(tǒng)行為時(shí)使用。
- 物理時(shí)鐘(physical clock) :帶有時(shí)鐘偏斜的實(shí)際時(shí)鐘,為了使系統(tǒng)達(dá)到預(yù)期行為,設(shè)計(jì)者不得不在時(shí)鐘偏差、功耗、金屬化資源利用率和設(shè)計(jì)代價(jià)之間尋求均衡。
- 全局時(shí)鐘(global clock) :為整個(gè)系統(tǒng)提供基準(zhǔn)的單一時(shí)鐘。
布線對(duì)時(shí)序的影響
同一個(gè)時(shí)鐘下,驅(qū)動(dòng)不同的觸發(fā)器,都需要在實(shí)際設(shè)計(jì)時(shí)候都需要進(jìn)行布線,所以不同的觸發(fā)器之間布線長(zhǎng)短也會(huì)有一定差異。
布線方向的影響:正偏差
時(shí)鐘布線方向與數(shù)據(jù)通過(guò)流水線方向一致會(huì)使得時(shí)鐘正偏差,也即,tskew > 0 。
好處:可采用更短的時(shí)鐘周期從而得到更高的時(shí)鐘頻率,有利于提高數(shù)據(jù)通過(guò)率。
壞處:需采用更長(zhǎng)的保持時(shí)間,以免出現(xiàn)冒險(xiǎn)競(jìng)爭(zhēng)。
布線方向的影響:負(fù)偏差
時(shí)鐘布線方向與數(shù)據(jù)通過(guò)流水線方向相反會(huì)使得時(shí)鐘負(fù)偏差,也即,tskew < 0 。
好處:冒險(xiǎn)競(jìng)爭(zhēng)不易發(fā)生,提高了電路的健壯性。
壞處:加長(zhǎng)了最小時(shí)鐘周期從而降低了時(shí)鐘頻率,不利于提高數(shù)據(jù)通過(guò)率。
布線方向的影響:雙向電路
時(shí)鐘布線方向與數(shù)據(jù)通過(guò)流水線方向可能相同也可能相反,從而使正負(fù)偏差都存在。
一個(gè)較為理想的設(shè)計(jì)目標(biāo)是使正、負(fù)偏差都很小,零偏差最好。
時(shí)鐘偏差的來(lái)源
時(shí)鐘偏差的來(lái)源大致如下圖所示:
時(shí)鐘偏差分析
結(jié)合上圖中的引起時(shí)鐘偏差來(lái)源,大致可對(duì)時(shí)鐘偏差進(jìn)行分類(lèi),系統(tǒng)偏差、隨機(jī)(random)偏差、漂移(drift)偏差、抖動(dòng)(jitter)偏差,不同類(lèi)型的偏差的原因如下:
- 系統(tǒng)(systematic)偏差:時(shí)鐘產(chǎn)生器、時(shí)鐘門(mén)控器、電容負(fù)載、互連線的偏差,可預(yù)估并通過(guò)設(shè)計(jì)來(lái)糾正。
- 隨機(jī)(random)偏差:工藝離散引起元器件和互連線參數(shù)的隨機(jī)變化,無(wú)法預(yù)估,但可以測(cè)試,并用可校準(zhǔn)延時(shí)元件來(lái)補(bǔ)償。
- 漂移(drift)偏差:與時(shí)間有關(guān)的環(huán)境因素(如溫度隨時(shí)間變化、溫度的空間梯度變化)變化所致,也可補(bǔ)償,但需實(shí)時(shí)。
- 抖動(dòng)(jitter)偏差:高頻環(huán)境變化(如電源浪涌、串?dāng)_)導(dǎo)致的電路延時(shí)隨時(shí)間和空間的變化,最難以防范,因補(bǔ)償電路來(lái)不及對(duì)它進(jìn)行響應(yīng)。
下面針對(duì)其中幾個(gè)原因進(jìn)行舉例分析。
時(shí)鐘線長(zhǎng)度不一引入偏差
由于時(shí)鐘在驅(qū)動(dòng)不同單元時(shí),不同單元布局分布在不同區(qū)域,所以使得時(shí)鐘扇出的信號(hào)進(jìn)行實(shí)際布線的長(zhǎng)度長(zhǎng)短不一,從而引起了時(shí)鐘偏差,如下圖所示,La和Lb長(zhǎng)度不同,所以時(shí)鐘對(duì)應(yīng)到單元A和單元B的時(shí)鐘延遲不同,使兩個(gè)單元的時(shí)鐘存在偏斜。
電源變化引入偏差
Itanium 2 處理器芯片電源電壓的空間分布:1.2V標(biāo)稱(chēng)電源電壓下的最大變化為±100mV,由此導(dǎo)致的延時(shí)變化為13%/100mV。
Itanium 2電源電壓的空間分布
溫度變化引入偏差
對(duì)Itanium 2的仿真結(jié)果表明,溫 度在芯片上的非 均勻分布達(dá)到 20℃時(shí),會(huì)導(dǎo)致 1.5%的延時(shí)變化。
工藝變化引入偏差
工藝上變化也會(huì)引入時(shí)鐘的偏差,如溝道長(zhǎng)度、閾值電壓和片上誤差。
溝道長(zhǎng)度:Itanium 2的標(biāo)稱(chēng)值為180nm,工藝離散導(dǎo)致的偏差可能高達(dá)±12.5nm,這會(huì)導(dǎo)致±10%的延時(shí)變化。
閾值電壓:0.18um工藝下,小nMOS管(W<12.5um)、小pMOS管、 大nMOS管、大pMOS管的標(biāo)準(zhǔn)偏差分別為16.8、14.6、7.9、3.5mV, 這會(huì)導(dǎo)致一個(gè)標(biāo)準(zhǔn)偏差為2%的延時(shí)分布。
片上誤差 (on-chip variation, OCV)空間分布,相同的緩沖器單元因所處芯片位置 不同而產(chǎn)生的延遲誤差。
門(mén)控器引入偏差
反相器鏈的延遲差以及C1與C2的差會(huì)導(dǎo)致時(shí)鐘偏斜|t2 -t1 | 。采用邏輯努力技術(shù)合理設(shè)計(jì)反相器鏈的級(jí)數(shù)及門(mén)間面積比,可減少乃至消除此偏差。
下圖的D鎖存器的時(shí)鐘偏斜來(lái)源于反相器的延遲以及C1與C2的差。通過(guò)調(diào)整兩個(gè)NOR2門(mén)的面積 比,可對(duì)時(shí)鐘偏斜進(jìn)行補(bǔ)償。
負(fù)載變化引入偏差
負(fù)載變化會(huì)引入時(shí)鐘偏差,柵電容與所加電壓有關(guān),時(shí)鐘負(fù)載與鎖存器/寄存器的當(dāng)前狀態(tài)及下一個(gè)狀態(tài)有關(guān)。如下圖所示,不同電平變化會(huì)影響時(shí)鐘負(fù)載的微小變化。
總結(jié)
- 時(shí)鐘延遲(clock latency) 是指從時(shí)鐘源到終點(diǎn)所花費(fèi)的總時(shí)間。時(shí)鐘偏斜(clock skew) 是指到達(dá)不同時(shí)鐘樹(shù)終點(diǎn)的時(shí)間差。時(shí)鐘抖動(dòng)(clock jitter) 是指芯片的某一個(gè)給定點(diǎn)上時(shí)鐘邊沿發(fā)生暫時(shí)的隨機(jī)變化,會(huì)導(dǎo)致時(shí)鐘周期的縮短或加長(zhǎng)。
- 時(shí)鐘偏斜 主要來(lái)自時(shí)鐘在空間上的不期望變化,時(shí)鐘延遲和時(shí)鐘抖動(dòng) 主要來(lái)自時(shí)鐘在時(shí)間上的不期望變化。
- 時(shí)鐘偏斜發(fā)生在兩個(gè)時(shí)鐘信號(hào)之間,一般不會(huì)引起電路實(shí)際時(shí)鐘周期的變化,只會(huì) 導(dǎo)致時(shí)鐘相位的偏移 ;時(shí)鐘抖動(dòng)可以發(fā)生在一個(gè)時(shí)鐘信號(hào)自身,會(huì) 引起時(shí)鐘周期的變化 。
- 時(shí)鐘偏斜與時(shí)鐘抖動(dòng)統(tǒng)稱(chēng)為 時(shí)鐘偏差 ,二者之和也叫 時(shí)鐘不確定性(uncertainty) 。邊沿之間的時(shí)鐘抖動(dòng)有時(shí)也被歸于與時(shí)間相關(guān)的時(shí)鐘偏斜。
- 布線方向會(huì)對(duì)時(shí)序造成正負(fù)偏差的影響,一個(gè)較為理想的設(shè)計(jì)目標(biāo)是使正、負(fù)偏差都很小,零偏差最好。
- 時(shí)鐘偏差分為,系統(tǒng)偏差、隨機(jī)(random)偏差、漂移(drift)偏差、抖動(dòng)(jitter)偏差,不同偏差的原因不同,可通過(guò)合理的設(shè)計(jì)將相應(yīng)的影響規(guī)避或影響降至最低。
-
驅(qū)動(dòng)器
+關(guān)注
關(guān)注
52文章
8236瀏覽量
146369 -
FPGA設(shè)計(jì)
+關(guān)注
關(guān)注
9文章
428瀏覽量
26518 -
ASIC設(shè)計(jì)
+關(guān)注
關(guān)注
0文章
33瀏覽量
10667 -
VDD
+關(guān)注
關(guān)注
1文章
312瀏覽量
33226 -
時(shí)鐘信號(hào)
+關(guān)注
關(guān)注
4文章
448瀏覽量
28568
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論