前言
時序抖動(timing jitter)為系統設計中普遍存在的問題。但是因為早期系統使用需求量不高,所以皆透過較低的訊號傳輸速度減少設計負擔,也因此抖動相較於整個週期時間所佔的比例非常微小。隨著積體電路日新月異,人們普及使用電腦並增加通訊頻寬需求,在各種通訊協定上都大幅增加其操作速度。在相同條件下時序抖動已在訊號間佔有相當大的百分比。因此與時脈相關的系統都會針對抖動做進一步的規範。
目前抖動量萃取的方式皆藉由儀器外部量測所得,但當系統操作速率增加後於量測上會遇到以下兩個問題:測試成本(cost)與測試準確度(accuracy)。從測試成本觀點來看,若要量測GHz以上訊號,示波器為得到準確量測數值其取樣率必須非常高速,動輒數十GS/s。因此軟硬體實現變得非常困難,測試機台成本也就大幅提升。此外,採用外部儀器測試晶片內部訊號,也會產生量測可靠度的問題。例如測試環境對於待測訊號的干擾、I/O介面頻寬之限制、晶片內部輸出緩衝器(output buffer)的雜訊…等等,這些皆會造成量測數值準確度下降。
為解決相關測試問題,目前備受矚目的方法就是加入可測試性設計(Design for Testability;DfT)。可測試性設計的觀念是在設計流程中加入量測的考量,或是藉由一些額外輔助運算方式來降低對自動測試設備性能的要求、及大幅降低生產測試所需之成本與時間。然而此測試方式雖可減少測試成本和時間,但最被市場所詬病的是其準確性。這是因為額外電路將會注入雜訊於待測電路中,且也無法確保此電路設計是否完善;此外利用額外的運算方式必須先確保待測數值或是待測環境設定無誤,否則就算大幅縮短測試時間也是徒勞無功。
本文將提出一可內建於晶片中量測時脈抖動量之測試想法與架構。其採用單擷取(single-shot)量測方式搭配時間放大的技巧將訊號抖動量等倍率增加,來減輕時間數位轉換電路(Time-to-Digital Converter;TDC)在製程上的限制、進而提升測試解析度(resolution)。此外搭配使用脈波吞噬之電路技術,使得架構具有極佳線性度。相較與傳統內建抖動量測電路([1]~[5]),其具備寬頻操作以及低抖動量測試之特性,並有較小的超額面積率(area overhead)。
Background
發展至今,內建時脈抖動測試技術有幾種較為普遍的測試架構,有些已應用於業界產品測試中,先針對這些傳統架構做進一步介紹。
Delay Chain [1]
此測試架構為Logic Vision於1999年提出,是利用可調整延遲線(Adjustable Delay Line;ADL)、正反器與計數器搭配統計原理來測試抖動量。正反器就好比是一個相位檢測器,若調整延遲量使得B領前A,此時0出現的機率將佔多數;反之當B落後於A,則1出現的機率將佔多數。亦即藉由調整不同延遲量來得到不同機率分佈,再搭配上累積分佈函數的運算(Cumulative Distribution Function;CDF)將抖動量運算出來。
優點:
缺點:
- ●延遲線會有頻率的限制,此將影響操作範圍。
- ●需調整延遲時間來得到1、0分佈進而得知抖動量,因此將需冗長的測試時間。
Two Ring Oscillators [2]
《圖二 使用two ring oscillators之抖動量測法》 |
|
此測試架構則為Credence於1999年所提出,是使用兩組已知但不同操作頻率的內建振盪器,利用待測時脈訊號的第n個與第n+1個週期分別去觸發振盪器使其開始振盪。當兩者不同週期時脈之相位吻合後,再利用相位吻合所需的週期數搭配振盪週期即可反推時脈抖動量。
優點:
- ●採用觸發振盪的方式,訊號不會因為經過delay chain後duty cycle而受到影響,相較於前面的作法具有較廣的量測範圍。
缺點:
- ●抖動量是經多個週期比較後所得,因此測試時間將是最大的考量。
- ●使用兩組振盪器之相位比較來得到抖動量,若振盪頻率漂移將造成測試誤差。
- ●需額外的統計電路輔助,成本較高。
Vernier Delay Line [3]
《圖三 使用vernier delay line之抖動量測法》 |
|
游標延遲線(Vernier Delay Line;VDL)為目前最常被採用的抖動測試技術,由Piotr Dudek於2000 JSSC所發表。操作原理是將參考與待測時脈分別送入兩個不同延遲量(up與dn)的delay chain中,若兩者間有抖動量存在,經延遲單元後其會相互逼近。當在n個週期後兩訊號同相位或是相位領前、落後的狀態改變,即可算出抖動量為nx,當中=up-dn。所以藉由此測試技術將可測試低於次邏輯閘(sub-gate)的抖動量。
優點:
- ●使用延遲時間差的觀念來實現,可具有較佳的測試解析度(=)。
缺點:
- ●製程變異下無法確保每個延遲單元之延遲時間量相等,此將影響測試準確度。
ADC Sampling [4]
《圖四 使用ADC sampling之抖動量測法》 |
|
因抖動為時間的變化,所以一般測試架構都是從時間觀念來得知。但Henery C. Lin於2003 ITC中,利用時間轉電壓的方式來實現抖動量測試。簡單來看這就是一組電荷幫浦,當待測訊號為高電位時電流會對負載充電;而在低電位時就將電壓位準重置歸零。所以待測訊號脈波寬度越大,所得的電壓值也就越高;反之脈波寬度較小電壓也就隨之降低。接著再利用ADC將電壓位準轉換成數位碼以求得抖動量。
優點:
- ●於低速時脈測試中具有較高之解析度。
- ●採用real time的輸出,測試時間將可縮短。
缺點:
- ●測試解析度與測試速度皆取決於ADC之設計。
- ●於低壓操作時易受垂直抖動影響進而導致解析度大幅下降。
Component-Invariant VDL [5]
《圖五 使用component-invariant VDL之抖動量測法》 |
|
最後一種測試架構為G. W. Roberts於2001 ITC所提出。此種採用非變異量元件之游標延遲線和[03]的做法其實非常相似。其是利用一級的延遲單元然後讓訊號回授振盪,如此一來將可確保量測解析度皆為t。若於n個振盪週期後兩個延遲量相位改變或是相同時,則可依[03]的作法計算出抖動量。
優點:
- ●每級延遲皆為t,提升量測準確度。
- ●使用兩個延遲量之差來量測抖動量,因此可具有較高解析度。
缺點:
由以上所提出的五種測試法可看出,以目前的測試技術而言,不外乎是利用signal amplitude sampling以及time domain analysis兩種方法來實現。但以前者來說,隨著製程進步操作電壓降低,此作法將面臨ADC設計的瓶頸,所以近年來已較少人採用此作法來實現抖動量測試。後者雖各架構實踐方式有所不同,多數是利用時間數位轉換(Time-to-Digital Converted)的觀念來實現。然而這些架構都有共通的問題,就是操作速率不快以及解析度不高。以目前市面上PC週邊產品來說,普遍速度皆屬於幾百MHz等級,而CPU或是傳輸介面則會上看至GHz等級。另外抖動量在高速系統中最大值約定義在數十ps,所以若測試系統沒有好的解析度和寬範圍測試之能力,將無法判別待測訊號之好壞。因此本文將提出一個新的抖動測試想法與架構,針對高速與低抖動時脈作更精確(precision)與更準確(accuracy)之抖動測試。
Proposed Technique
在介紹我們所提出之測試方法前,先來探討傳統測試的問題。圖六為傳統時間-數位轉換的過程。當一時脈(SUT)發生抖動時,其邊緣會離開原本理想的位置,此時普遍的做法會將SUT延遲一個週期時間(SUTd)後去測量En和En+1邊緣之抖動程度。而測試方法就是將SUT送入delay chain中當作被取樣的資料,而SUTd則作為取樣時脈。當SUTd對經過不同延遲量之SUT做取樣後即會產生出溫度碼(thermal code)的數位資料,此輸出資料即代表不同時脈抖動量。
舉例來說,若目前delay chain為10級25-ps延遲量之延遲單元所組成,此時時脈週期對週期抖動量為10-ps,經取樣後會得到1000000000的數位碼;而若當抖動量為30-ps,則會產生1100000000。因此抖動量越大,數位碼中的1也就會越多。所以目前的技術皆是以此種想法來實現抖動量測試,而不同之處就是會利用許多電路技巧將延遲單元的延遲量縮小以提高測試解析度,如游標延遲線、內插…等。
但從上述說明即可得知,因為解析度和延遲單元之延遲量成反比,所以若不將延遲量設計得非常小,相對地就會產生測試誤差量。以前例來說,理想上當抖動量為0.1-ps和24.9-ps時所得到的數位碼皆為1000000000,其最大誤差量接近一個延遲時間。所以說若在高速低抖動的應用中,此測試誤差量將無法說服測試使用者。但假若利用電路上的技術縮短延遲時間減少誤差量,其還是會因製程限制有極限值存在,且通常會耗費較大的硬體面積。所以我們反向思考,不以時間-數位轉換器為出發點,而是以一簡單電路技術先放大週期對週期之抖動量,如此一來即可減少測試電路設計的困難度並提升測試解析度。
以圖七為例,若延遲單元的延遲時間為d,則代表在無任何輔助電路下其最佳解析度即為d。但以所提出的觀點來看,若此時先將輸入抖動量放大A倍送入delay chain中,效果就如同將延遲時間縮短來增加測試解析度,也代表此時整個架構最佳解析度便可等效成”d/A”。
舉例來說,於0.13-um製程中最小閘延遲時間為25-ps,所以採用傳統作法大約只能量測到的抖動量為25-ps;但是若在抖動量轉換成數位碼前先將其放大25倍,則最佳解析度即提升至1-ps(25-ps/25)。除此之外,隨著抖動放大倍率A大於d後,因延遲單元的延遲時間小於1-ps(d/A<1),所以此時將可針對sub-pico-second等級之抖動量作測試。
因此本抖動測試概念就是藉由放大輸入時脈週期對週期之抖動量,進而補足時間-數位轉換電路的不足,且更進一步提升測試解析度,以讓此測試系統操作於高速低抖動量的系統具有極佳準確度。圖八即為運用所提出之抖動放大原理所實現的內建時脈抖動量之測試架構。
其包含了脈波吞噬電路(Pulse Remover, PR)、抖動放大電路(Jitter Amplifier, JA)、相位選擇電路(Phase Selector, PS)、時間-輸位轉換電路(Time-to-Digital Converter, TDC)與同步電路(synchronizer)。其中PR和JA之組合是用來將輸入抖動量做線性放大;而TDC的功用則可把抖動量化成數位碼;另外同步電路會將所有的輸出數位碼作同步以利後續軟體或硬體之分析。但在此輸出只看的出週期對週期間之抖動量,並無法判斷目前邊緣間的關係(即相位)。
因此於TDC前插入一PS[6],其用於判斷目前相位關係並決定A與B進入TDC前誰當作資料而誰當作取樣時脈。若A領前B,則D6為Hi、A’=A、’=B、屬於正向抖動;反之若B領前A,則D6為Low、A’=B、B’=A、屬於反向抖動。利用此位元之結果將可更明確判斷抖動之型態。接下來我們就針對各主要電路做進一部的介紹。(待續)
(本文轉載自工研院系統晶片科技中心技術期刊第8期。本文作者李瑜和鄭乃禛為工研院系統晶片科技中心設計自動化技術組電路設計部副工程師;陳繼展為設計流程開發部經理)
<參考文獻:[1]S. Sunter et al, “BIST for Phase-Locked Loops in Digital Applications,” IEEE Int. Test Conf., pp. 532-540, Sept. 1999.
[2]http://www.credence.com.
[3]P. Dudek et al, “A High-Resolution CMOS Time-to-Digital Converter Utilizing a Vernier Delay Line,” IEEE J. Solid-State Circuits, vol. 35, pp. 240-247, Feb. 2000.
[4]H. Lin et al, “CMOS Built-in Test Architecture for High-Speed Jitter Measurement,” IEEE Int. Test Conf., pp. 67-76. Oct. 2003,
[5]A. H. Chan et al, “A Synthesizable, Fast and High-Resolution Timing Measurement Device Using a Component-Invariant Vernier Delay Line,” IEEE Int. Test Conf., pp. 858-867, Oct. 2001.
[6]Chin-Cheng Tsai et al, “An On-Chip Jitter Measurement Circuit for the PLL,” IEEE Asian Test Symposium Conf., pp. 1-4, 2003.>