許望洋,魏廷存,高 武,段延亮
(西北工業(yè)大學(xué)計(jì)算機(jī)學(xué)院,西安710072)
延遲鎖相環(huán)(Delay Locked Loop,簡稱為DLL)是一種采用延遲鏈產(chǎn)生多相延遲時(shí)鐘、并通過反饋環(huán)路控制延遲鏈精確鎖定的一種鎖相環(huán)結(jié)構(gòu)。它是應(yīng)用于無線和有線通信、多相時(shí)鐘產(chǎn)生以及高精度時(shí)間-數(shù)字轉(zhuǎn)換器(time-to-digital converter,簡稱為TDC)的重要功能模塊。由于DLL是基于時(shí)鐘的超大規(guī)?;旌闲盘栯娐罚谠O(shè)計(jì)時(shí)存在仿真時(shí)間長、仿真數(shù)據(jù)量大的問題。尤其是對含DLL的全芯片仿真時(shí),DLL仿真占用大量的空間和時(shí)間資源。因此,對DLL進(jìn)行行為級建模,加快DLL模塊的仿真速度,是開發(fā)含DLL模塊的全芯片電路的重要手段。
目前已提出多種DLL的建模方法,文獻(xiàn)[1]建立了離散時(shí)間的DLL模型,分析了輸入噪聲、延遲鏈噪聲和控制電壓噪聲對DLL抖動(dòng)的影響。但由于該模型未考慮器件失配和環(huán)路電容漏電流的影響,所以對延遲鎖相環(huán)的建模精度較差。文獻(xiàn)[2]對DLL中鑒相器、電荷泵和延遲鏈模塊進(jìn)行了晶體管級的抖動(dòng)分析,并建立了基于噪聲的DLL抖動(dòng)模型,但并沒有提供精確的Verilog-A模型,因而不能實(shí)現(xiàn)行為級仿真。
筆者通過分析模擬DLL抖動(dòng)來源,建立了各模塊的精確Verilog-A模型,從而提高了仿真精度,并縮短了DLL仿真時(shí)間,提高了基于DLL的芯片設(shè)計(jì)效率。第二部分介紹了電荷泵DLL的結(jié)構(gòu)。第三部分在時(shí)域分析了噪聲和器件失配對抖動(dòng)的影響,第四和第五部分對DLL進(jìn)行了建模仿真和分析。
傳統(tǒng)的模擬延遲鎖相環(huán)主要由五部分構(gòu)成[3]:電壓控制延遲鏈(VCDL)、鑒相器、電荷泵、環(huán)路濾波器以及啟動(dòng)控制單元,如圖1所示。輸入時(shí)鐘Clk_ref經(jīng)VCDL延遲后,最后一個(gè)輸出時(shí)鐘為Clk_out。Clk_ref和Clk_out的相位差被鑒相器檢測。為簡單起見,這里假設(shè)鑒相器檢測這兩個(gè)時(shí)鐘的上升沿之間的相位差,并且延遲鏈中延時(shí)單元的延時(shí)隨著控制電壓增大而減小。如果Clk_ref的上升沿在Clk_out之前,則Up為高電平,Down為低電平,此時(shí)電荷泵中上面的開關(guān)導(dǎo)通,下面的開關(guān)關(guān)閉,這樣,電荷泵就給環(huán)路濾波電容充電,導(dǎo)致控制電壓增大,電壓控制的延遲鏈中的延時(shí)就減少,從而使Clk_out的上升沿更接近于Clk_ref,即Clk_ref和Clk_out的相位差減小。由于時(shí)鐘信號的延時(shí)是連續(xù)變化的,經(jīng)過若干個(gè)周期的調(diào)節(jié)后,理論上Clk_ref和Clk_out的相位差變?yōu)榱?,Clk_ref和Clk_out的相位被最終鎖定。但由于電路啟動(dòng)時(shí)初始狀態(tài)的不確定性,DLL很容易產(chǎn)生不鎖定或者誤鎖定的現(xiàn)象。為此,在圖1中增加了一個(gè)啟動(dòng)控制電路,在電路啟動(dòng)時(shí)將環(huán)路濾波電容預(yù)充電至高電平,通過合理的設(shè)計(jì),可以使VCDL的初始延遲時(shí)間小于一個(gè)時(shí)鐘周期。這樣即可消除DLL不鎖定或誤鎖定的現(xiàn)象,當(dāng)電路進(jìn)入正常工作后,通過反饋調(diào)節(jié)可以使DLL的終端輸出延時(shí)準(zhǔn)確地鎖定至一個(gè)時(shí)鐘周期。

圖1 模擬延遲鎖相環(huán)的結(jié)構(gòu)
在實(shí)際電路中,噪聲會(huì)使得DLL偏離理想的工作狀態(tài),而這種非理想的工作狀態(tài)會(huì)使DLL的多相輸出時(shí)鐘產(chǎn)生抖動(dòng),從而影響DLL的延時(shí)精度。圖2表示DLL中各個(gè)模塊的噪聲對多相輸出時(shí)鐘產(chǎn)生的影響。由圖2可知,總的輸出抖動(dòng)可以由各模塊的抖動(dòng)分量通過下組公式計(jì)算得到[4]:

式中q(n)表示電荷泵在第n個(gè)時(shí)鐘周期泵入環(huán)路濾波電容的電荷量,ICP表示電荷泵的充放電電流,ΔtM(n)表示第n個(gè)時(shí)鐘周期延遲鏈輸出的時(shí)鐘抖動(dòng),Δtref(n)表示參考時(shí)鐘的抖動(dòng),ΔtPFD(n)表示鑒相器的鑒相誤差,qnoise(n)表示環(huán)路濾波電容噪聲,Cf表示環(huán)路濾波電容,Kd表示壓控延遲鏈的增益,ΔdL(n)表示第L個(gè)延遲單元在第n個(gè)時(shí)鐘周期時(shí)的抖動(dòng),VC表示理想狀態(tài)下DLL鎖定時(shí)VCDL的控制電壓。從上式可以看出,由于噪聲所引起的抖動(dòng)在延遲鏈中發(fā)生了累積,這將導(dǎo)致最后一相輸出時(shí)鐘的抖動(dòng)值最大。

圖2 DLL噪聲抖動(dòng)模型
公式(1)-(3)考慮了整個(gè)DLL中各個(gè)組成模塊的噪聲對最終輸出時(shí)鐘抖動(dòng)的影響。為了對DLL進(jìn)行整體建模,需要先對DLL中各模塊進(jìn)行單獨(dú)建模,因此需要單獨(dú)分析各模塊的噪聲對抖動(dòng)的貢獻(xiàn)。為此,在分析某一個(gè)模塊的噪聲對抖動(dòng)的貢獻(xiàn)時(shí)可以暫時(shí)將其他模塊假設(shè)為理想模塊,這樣可以得到各模塊所產(chǎn)生的抖動(dòng)均方值為:

由于電路噪聲具有隨機(jī)性,因此對多相時(shí)鐘抖動(dòng)的影響也具有隨機(jī)性,通常認(rèn)為它符合正態(tài)分布。器件失配是在芯片生產(chǎn)過程中由于工藝誤差造成的,通常也服從正態(tài)分布。但器件失配和電路噪聲的區(qū)別在于器件失配是由于工藝誤差造成的,一旦芯片加工完成,失配的大小也就確定了,所以器件失配最終產(chǎn)生的是固定抖動(dòng),而噪聲的隨機(jī)性一直伴隨著芯片的整個(gè)工作過程,因此噪聲所造成的抖動(dòng)為隨機(jī)抖動(dòng)。
器件失配對DLL抖動(dòng)性能的影響主要表現(xiàn)在延遲單元的失配和電荷泵充放電電流的失配。由于在設(shè)計(jì)電荷泵時(shí)可以將電流失配控制在一個(gè)很小的范圍內(nèi),故在建模時(shí)暫時(shí)只考慮由延遲單元失配所引起的抖動(dòng)。
可以對延遲單元的性能進(jìn)行如下數(shù)學(xué)描述[5]:

式中dL表示第L個(gè)延遲單元的延遲時(shí)間,dtune表示延遲單元在控制電壓VC下的理想延遲時(shí)間,eL(Vc)表示與MOS管的失配等效的控制電壓的變化。由此知道,在各延遲單元完全獨(dú)立的情況下,eL(Vc)的均值為0。同樣,在不考慮其他噪聲影響的情況下,整個(gè)延遲鏈應(yīng)該準(zhǔn)確的鎖定為一個(gè)時(shí)鐘周期。由此,單個(gè)延遲單元的延遲時(shí)間可以表示為:

式中Ts表示參考時(shí)鐘的周期,M表示延遲鏈的延遲單元數(shù)。這樣,可以計(jì)算出經(jīng)過m個(gè)延遲單元后由于失配所導(dǎo)致的抖動(dòng)為:

通過上式可得第m個(gè)延遲單元后由失配造成的抖動(dòng)值為:

通過對式(11)的分析可知,當(dāng)m=M/2時(shí),由失配引起的抖動(dòng)值達(dá)到最大。如圖3所示。其中σeL可以通過蒙特卡洛分析得到,通過對150組數(shù)據(jù)進(jìn)行正態(tài)擬合,如圖4所示,可以得到它的σ值為15ps。
從圖3中可以看出,當(dāng)總延遲單元數(shù)為32時(shí),第16個(gè)延遲單元后的抖動(dòng)值達(dá)到最大(不考慮電路噪聲和鑒相器的鑒相誤差),約為44ps。

圖3 失配引起的抖動(dòng)隨延遲單元數(shù)的變化情況(理想狀態(tài)下)

圖4 延遲單元延遲時(shí)間的蒙特卡羅分析
設(shè)計(jì)的DLL的電壓控制延遲鏈由32個(gè)延遲單元構(gòu)成。這樣當(dāng)輸入時(shí)鐘頻率為50MHz時(shí),可以實(shí)現(xiàn)625ps的時(shí)間分辨率。但是延遲單元的延遲時(shí)間隨控制電壓并不是線性變化,其變化曲線如圖5所示。

圖5 延遲時(shí)間隨控制電壓變化曲線
從圖5可以看出,當(dāng)控制電壓由0V變化到3.3V時(shí),延遲時(shí)間由950ps變化到550ps。為了提高建模的精確度,需要對該曲線進(jìn)行多項(xiàng)式擬合。對于延遲單元的相位噪聲可以通過PSS+PNOISE仿真得到,其相位噪聲譜如圖6所示。因此根據(jù)文獻(xiàn)[6]提出的方法,可以計(jì)算出每一個(gè)延遲單元由噪聲所產(chǎn)生的抖動(dòng)值約為2.3ps。

圖6 延遲單元相位噪聲
這樣可以對整個(gè)電壓控制延遲鏈進(jìn)行Verilog-A建模如下:

在DLL中,鑒相器主要用來鑒別壓控延遲鏈的輸入時(shí)鐘與終端輸出時(shí)鐘之間的相位差,然后通過電荷泵將相位差轉(zhuǎn)換為相應(yīng)的充放電電流。由于電路噪聲可能導(dǎo)致鑒相器的鑒相誤差和電荷泵充放電電流的失配,使得環(huán)路濾波電容上的控制電壓產(chǎn)生紋波,最終導(dǎo)致延遲單元的延時(shí)抖動(dòng)。為了便于鑒相器和電荷泵建模,可以將噪聲轉(zhuǎn)換為一個(gè)等效到鑒相器輸入端的相位抖動(dòng)。通過PSS+PNOISE仿真得到這個(gè)等效抖動(dòng)約為2ps。在建模時(shí),考慮到電路啟動(dòng)時(shí)啟動(dòng)控制電路會(huì)自動(dòng)給環(huán)路濾波電容充電到高電平,因此在Verilog-A代碼中也必須體現(xiàn)這一點(diǎn)。這樣,可以對鑒相器和電荷泵統(tǒng)一建模如下:

嵌入到延遲鎖相環(huán)中的環(huán)路濾波電容主要有兩個(gè)作用,一是生成控制電壓,二是作為濾波器來降低噪聲。在建模時(shí),控制電壓可以通過對流入環(huán)路濾波電容的電流進(jìn)行積分得到。降低噪聲主要是靠較大的環(huán)路濾波電容對噪聲進(jìn)行濾波來實(shí)現(xiàn)。在設(shè)計(jì)DLL時(shí),采用的環(huán)路濾波電容大約為30pf。由此可以對環(huán)路濾波電容建模如下:



第四部分對DLL各模塊進(jìn)行了單獨(dú)建模,現(xiàn)在需要對整個(gè)DLL進(jìn)行整體仿真,以驗(yàn)證建模的正確性。仿真的原理圖如圖7所示,圖中延遲鏈模塊用來產(chǎn)生多相時(shí)鐘,當(dāng)電路鎖定時(shí),VCDL每相鄰兩相時(shí)鐘在理論上相差625ps。
圖7(a)為對電路管子級的仿真結(jié)果,圖7(b)為對Verilog-A建模的仿真結(jié)果。兩圖中從上至下依次是第1、15、31個(gè)延遲單元的延遲時(shí)間的INL仿真結(jié)果。從圖7(a)中可以看出,隨著延遲單元的增多,其延遲時(shí)間的peak-to-peak抖動(dòng)值也增大,依次約為 8ps,50ps,85ps。這是因?yàn)檠舆t單元的peak-to-peak抖動(dòng)主要是由電路噪聲所造成的。在第三部分中,已經(jīng)分析了噪聲對電路抖動(dòng)的影響,隨著延遲單元的增多,噪聲引起的抖動(dòng)會(huì)產(chǎn)生累積,因此最后一個(gè)延遲單元的peak-to-peak抖動(dòng)值會(huì)達(dá)到最大。同時(shí),可以看到,在圖7(b)中三條曲線的均值均不為0,其中中間那條曲線的偏離最大,達(dá)到了50ps。這主要是由延遲單元失配造成的。通過第三部分的分析知道,在延遲鏈的中間由失配造成的抖動(dòng)值達(dá)到最大,這與以上建模仿真得到的結(jié)果相符合。
根據(jù)模擬延遲鎖相環(huán)的原理可以知道,延遲鏈的抖動(dòng)會(huì)導(dǎo)致電荷泵隨機(jī)地向環(huán)路濾波電容充放電,最終表現(xiàn)為環(huán)路濾波電容上控制電壓的紋波。圖8(a)和(b)分別為由電路仿真和建模仿真得到的控制電壓的變化曲線,其中下部曲線為DLL鎖定后控制電壓的局部放大。

圖8 仿真變化曲線圖
由圖8(a)和(b)可知,DLL大約在啟動(dòng)18us后達(dá)到鎖定狀態(tài),鎖定后控制電壓紋波的peak-topeak值大約為4mV。通過比較圖8(a)和(b)可以看到,鎖定后建模仿真控制電壓穩(wěn)定在1.909V,電路仿真控制電壓穩(wěn)定在1.875V,誤差值約為0.035V,誤差小于1.8%,DLL的建模仿真和電路仿真結(jié)果能夠較好的吻合,因此Verilog-A建模具有較高的精度。
另外,對DLL進(jìn)行了30us時(shí)長的仿真,行為級建模仿真大約耗時(shí)3分鐘,而電路級仿真需要約3.5個(gè)小時(shí)。因此,通過建模可極大的縮短仿真時(shí)間,提高仿真效率。
在分析模擬DLL抖動(dòng)來源的基礎(chǔ)上,對DLL進(jìn)行了Verilog-A精確建模與仿真,在保證仿真精度的前提下大大縮短了仿真時(shí)間。通過與電路管子級的仿真結(jié)果比較可知,建模的精度達(dá)到了混合信號仿真的要求。但是由于影響DLL抖動(dòng)的因素很多,并未能夠?qū)λ械亩秳?dòng)源進(jìn)行建模,需要今后進(jìn)一步完善。
[1] Aguiar RL,Santos DM.Modelling charge-pump delay locked loops[C].Proceedings of ICECS '99.The 6th IEEE International Conference on Electronics,Circuits and Systems.,2:823_826,1999.
[2] Barajas Enrique,Mateo Diego,Jos'e Luis Gonz 'alez.Behavioural modelling of DLLs for fast simulation and optimisation of jitter and power consumption[C].13thEuromicro Conference on Digital System Design:Architectures,Methods and Tools.2010.
[3] 高武.正電子發(fā)射斷層成像前端讀出芯片設(shè)計(jì)技術(shù)研究[D].西安:西北工業(yè)大學(xué)博士論文.2011.
[4] Beek RCH van de,Klumperink EAM,Vaucher CS.Analysis of Random Jitter in a Clock Multiplying DLL Architecture[C].ProRISC 2001,12thAnnual Workshop on Circuits,Systems and Signal Processing,Veldhoven,the Netherlands,29-30 November 2001.
[5] Beek RCH van de,Klumperink EAM,Vaucher CS,et al.Jitter in DLL-Based Clock Multipliers caused by Delay Cell Mismatch[C].ProRISC 2002,13thWorkshop on Circuits,Systems and Signal Processing,Veloven,the Netherlands,28-29 November,2002.
[6] Fordahl.Application Note AN-02-3[R].http://www.doc88.com/p-38231809540.html.