本文整理自 作者:胭脂扣(EETOP username)發(fā)在EETOP的論壇連載。去年EETOP微信推送過。之后論壇里又有了相應(yīng)的更新,現(xiàn)在重新整理更新給大家。 帖子地址: http://bbs./thread-606264-1-1.html 以下是整理之后的正文(為了便于閱讀,不同時(shí)段的更新用分割線做了分割) 其實(shí)這個(gè)題目只是一個(gè)幌子(現(xiàn)在還沒到進(jìn)階這一步,怎么能放棄),作為一個(gè)小白(小編注:標(biāo)題里小白加了引號,現(xiàn)在的作者應(yīng)該早已不是小白了),從這學(xué)期開學(xué)和導(dǎo)師說了,畢設(shè)的方向是PLL,之所以比通常研二上學(xué)期才定畢設(shè)方向要早半學(xué)期,是因?yàn)槔蠋熀臀叶贾缹τ诂F(xiàn)在自身的基礎(chǔ)以及這邊實(shí)驗(yàn)室能提供的條件都有限,所以希望我自己早點(diǎn)選定方向,早點(diǎn)開始。 對于選擇方向,是在去年年底就開始考慮了,權(quán)衡了自己導(dǎo)師的生物醫(yī)學(xué)芯片的難度和自己的興趣,最后還是決定選自己感興趣的射頻方向,以及綜合了自己之前稍微有點(diǎn)數(shù)字電路的基礎(chǔ),所以選擇數(shù)?;旌系纳漕l方向,從而在今年開學(xué)初和導(dǎo)師定了做pll。 既然選定了做pll,就開始要進(jìn)一步來確定是做哪方面應(yīng)用的pll。首先,在通信領(lǐng)域的pll非常廣,但是絕大部分還是集中在1-5G這個(gè)比較常用的波段。因?yàn)楸究频漠呍O(shè)和導(dǎo)航系統(tǒng)相關(guān),所以賊心不死,毅然決然就要選做導(dǎo)航的射頻前端的本振信號。哈哈?。?!好任性。。。。 XOR FPD: 1、在相位誤差特性上具有高線性度。 1、UP和DOWN的失配降低了線性度 在Σ△ Fractional-N FS中,選擇XOR FPD,由于它的高線性度避免折疊Σ△量化噪聲,通過提高參考頻率,電荷泵噪聲和參考雜散饋通的影響會(huì)降低。 分解為兩個(gè)設(shè)計(jì)階段: 一. 設(shè)計(jì)G(f)來實(shí)現(xiàn)需要的閉環(huán)特性 第一階段 設(shè)計(jì)G(f)來實(shí)現(xiàn)需要的閉環(huán)特性 B 類型 環(huán)路濾波器設(shè)計(jì) B、選擇拓?fù)浣Y(jié)構(gòu) C、參數(shù)估計(jì) 前段時(shí)間根據(jù)別人論文的Verilog—A建模的pll代碼,我在AMS里仿真了,但是覺得有些抽象。所以參考了論壇的一些前輩的建議,選擇先使用cppsim工具進(jìn)行建模,可能這樣對環(huán)路函數(shù)更有直觀的感受,當(dāng)然有些大神建議MATLAB甚至手算,我抱著好用的態(tài)度還是先試試cppsim吧。 這周先通過《cppsim_vppsim_primer5》文檔大體了解cppsim這一套軟件其次閱讀《PLL Design Using the PLL Design Assistant Program》,介紹了用該軟件來設(shè)計(jì)pll的流程,摘錄了筆記發(fā)在了前面。 學(xué)了cppsim的基本操作以及在cppsim上設(shè)計(jì)和仿真小數(shù)分頻頻率綜合器的流程之后,開始學(xué)《CppSim/VppSim Primer for Cadence》教程,但是在調(diào)用cppsim時(shí),出錯(cuò):未定義功能-runcppsim,也就是說,應(yīng)該是我在配置cppsim時(shí),有路徑或者什么其他問題 上圖是教程中的,但是我在操作中,沒有出現(xiàn)第二張圖 ,而是報(bào)錯(cuò)undefined function - runcppsimForm 在昨天仿真鎖相環(huán)時(shí)出現(xiàn)了一個(gè)奇葩問題。定義電荷泵的輸出電流為100uA,而后面濾波器的電壓卻是在下降。 對理想模型進(jìn)行瞬態(tài)仿真,得到環(huán)路穩(wěn)定的時(shí)間是25+微秒,對于理想模型來說,這個(gè)時(shí)間是不是太長了?而且環(huán)路穩(wěn)定前的振蕩間隔太長,是不是因?yàn)槲野循h(huán)路帶寬調(diào)的太小了(選了100K)。還有,對于理想模型我還可以仿真其他什么參數(shù)呢? 25M參考頻率,輸出3G的瞬態(tài)仿真 在pll的Verilog-A建模后,在仿真時(shí),環(huán)路濾波器的電壓(vco控制電壓)的過沖非常明顯,應(yīng)該怎么調(diào)整。 說是不知不覺一個(gè)月就過去了,可是在黑板上寫了倒計(jì)時(shí),開始寫的40天(回家倒計(jì)時(shí))到今天還有11天,每天把數(shù)字擦去寫上,還是能感覺到時(shí)間過得好快。而與時(shí)間并不對等的就是我的成果。差不多一個(gè)月吧,也該總結(jié)一下了。 接下來開始vco的學(xué)習(xí)與設(shè)計(jì),而vco這一塊將是接下來的大任務(wù)。 經(jīng)過這一段時(shí)間的pll學(xué)習(xí)與設(shè)計(jì),喔!僅僅是建?!,F(xiàn)在積累了一些問題有待解決 1、在ken kundert的《Predicting the Phase Noise and Jitter of PLL-Based Frequency Synthesizers》還是不能正確地定義phase類型的端口,以及用white_noise和flicker_noise函數(shù)來模擬白噪聲和閃爍噪聲。 網(wǎng)友 bbbenjamin 提問: LZ你好,我做了一陣子PLL,一些建議: 作者回復(fù): 謝謝指點(diǎn)!其中第一個(gè)問題用Verilog-A定義phase端口依舊無法定義!可能是本身軟件的問題!其中第二個(gè)問題用vco控制電壓有過沖的問題,我在把vco換成電路級,就沒有過沖了?。ú贿^我不太懂明白為啥)! 最近在做多頻帶VCO時(shí),發(fā)現(xiàn)在設(shè)計(jì)電容陣列時(shí),出現(xiàn)一個(gè)問題。因?yàn)槲蚁Ml帶間隔一致。而f=1/2PI(LC)^(1/2),如果要保證頻率是線性的,那么電容陣列變化是非線性的,是一條理想的曲線。 但是電容陣列值應(yīng)該是符合這個(gè)公式。Ctune=K0*C0+K1*C1+K2*C2+K3*C3+K3*C3+K4*C4+Cbias,想問用什么樣的辦法求出各個(gè)電容組,而且實(shí)際陣列值與理想曲線擬合度更高! 上圖是根據(jù)f與c的關(guān)系得到的理想曲線(縱坐標(biāo)是C,橫坐標(biāo)是控制位)網(wǎng)友 hughhuang 提問: 我覺得你試圖通過讓電容非線性變化來保證KV的線性變化是不可取的,因?yàn)殡S著工藝尺寸的減小,很難保證電容器件制作出來的具體數(shù)值,尤其是版圖不能保證很好地一致性的時(shí)候,但相對比例可以很好地保證(參考電流鏡),所以通常做法是采用不同增益的電容陣列,比如CT、FT,甚至有人采用比FT更小KV的電容陣列,用大的電容陣列保證range,用小的電容陣列保證KV線性度(正常的KV曲線只要取的間距足夠小,那么可以近似認(rèn)為是線性的)。我的建議僅供參考,希望多多討論共同提高。 作者回復(fù): 我的意思是,通常我們把電容陣列做成按比例增長的,如果電容是按比例增加(也就是線性的),那么出來的頻率帶的間隔就不是一致的(前提是我們希望每條頻帶的增益基本不變),比方說第一條頻帶與第二條頻帶之間相差80M,而第十五條與十六條的頻帶之間就相差40M。也就是頻率越高,頻帶越密集,頻率越低,頻帶越稀疏!也就是你說的用大的電容陣列來保證頻率范圍一致性。 如果大電容陣列來保證頻率范圍一致性,那么電容陣列就應(yīng)該是非線性的。你的意思是否是,再增加一組小電容陣列來配合大電容陣列,使得最后總的電容值變化是非線性? 采用非線性電容陣列后得到較為理想的電容陣列值(彎曲的),并且通過與電感構(gòu)成LC振蕩電路,進(jìn)行s參數(shù)掃描得到與理想的頻率范圍接近的直線。 現(xiàn)在想問一下,如果采用非線性的電容陣列有什么弊端?或者二進(jìn)制權(quán)重電容陣列為什么是比較好的選擇? 前面兩張圖都是通過S參數(shù)掃描得到的電容值和諧振頻率。但是將設(shè)計(jì)好的LC Tank并入交叉耦合MOS對中之后,進(jìn)行PSS仿真,得到的諧振頻率大大縮水,應(yīng)該是什么原因呢?(還是我的設(shè)計(jì)方法本來就錯(cuò)了?) 上圖中,灰色的是pss仿真得到的諧振頻率,而橙色是LC Tank的s參數(shù)掃描的諧振頻率(也就是Y11的虛部為零)版主 JoyShockley 回復(fù): 有論文就是用的非線性的電容陣列;以使得頻率線性。 在DCO 中,因?yàn)檫@樣做太麻煩,電容設(shè)計(jì)自由度有限,難道幾十bit 一個(gè)一個(gè)去調(diào)嗎? 電容mismatch,會(huì)使得想的和得到的不一致。 我看到如果要符合理想的非線性,最好是使用溫度計(jì)編碼(粗調(diào)也用它),但是溫度計(jì)編碼的位數(shù)等于控制線的個(gè)數(shù)(32條控制線就要32個(gè)開關(guān),而二進(jìn)制只需要5個(gè)開關(guān)),這樣代價(jià)有點(diǎn)高,我的做法是在二進(jìn)制的基礎(chǔ)上,再增加三位開關(guān)電容,也就是將理想的非線性曲線分割成兩端去逼近的!在后半段,將增加的三位開關(guān)電容閉合,從而形成新的一組二進(jìn)制電容陣列。 上一篇出現(xiàn)了頻率縮水的問題,主要是因?yàn)閷艿募纳娙莸挠绊?,因此重新設(shè)計(jì)電容陣列,方法1:原來的電容陣列是以600M的調(diào)頻范圍去設(shè)計(jì)的,最后仿真得到的調(diào)頻范圍只有360M,因此增大設(shè)計(jì)冗余度,以1G的調(diào)頻范圍來計(jì)算出新的電容陣列值,最后仿真得到的調(diào)頻范圍為480M。依舊不滿足600M的要求; 方法2:仍然按照600M的調(diào)頻范圍來計(jì)算電容陣列值,在實(shí)際電路中采用兩倍的電容計(jì)算值,得到的頻率范圍有600M; 設(shè)計(jì)了采用二進(jìn)制權(quán)重法的電容陣列來對比線性度和相噪,可以看出線性度得到較好的提高,但是相噪?yún)s差了1dB左右; 分析原因:應(yīng)該是線性化需要6組電容開關(guān),并且為了節(jié)省面積,使用與或邏輯重復(fù)利用了一些電容陣列,因此相對二進(jìn)制權(quán)重法陣列的4組開關(guān),多出了很多有源器件。相噪因此降低! 后來想了想,把基礎(chǔ)知識的學(xué)習(xí)筆記挪到我的個(gè)人eetop上的博客去了,這篇帖子主要用來設(shè)計(jì)討論,post一些設(shè)計(jì)中的問題以及解決方法! 自從2016.06.26在eetop上發(fā)了《鎖相環(huán)從入門到進(jìn)階到放棄》的帖子至此已經(jīng)約好長時(shí)間了,也就是從那個(gè)時(shí)刻開始著手進(jìn)入鎖相環(huán)的學(xué)習(xí)環(huán)節(jié)。當(dāng)然在這五個(gè)半月中間,除去暑假回家和出差等等花去一個(gè)半月,總共在這個(gè)項(xiàng)目中投入了4個(gè)月,完成了第一階段--建模,第二 階段--電路設(shè)計(jì),到目前為止,PFD、CP、Divider、VCO整數(shù)分頻鎖相環(huán)的所有基本模塊的基本電路敲定,環(huán)路鎖定。 下面進(jìn)入第三階段--電路性能優(yōu)化,雖然基本電路出來了,能夠鎖定,但是預(yù)估性能還是距離目標(biāo)差很遠(yuǎn)的。所以整個(gè)第三階段尤為重要,如果說第二階段的電路設(shè)計(jì)更多的是學(xué)習(xí)基本知識,而第三階段更多是注重思考,很多細(xì)節(jié)問題將暴露出來。應(yīng)該說,這一階段的任務(wù)會(huì)更加艱巨的。 前一階段暴露的問題 前天把Divider的電路設(shè)計(jì)完,替代了原本VerilogA模塊,跑了一下環(huán)路,結(jié)果很意外,直接就鎖定了。之后改變分頻比,出現(xiàn)了不能鎖定的現(xiàn)象,馬上根據(jù)問題解決了多模分頻器的一個(gè)bug。比預(yù)想的情況還是好很多,原本以為替換完電路之后,要花個(gè)好幾天來調(diào)試電路才能鎖定。沒想到不需要怎么調(diào)試電路。這說明了建模真的很重要?。。。?/span> 好久沒來更新了,前段時(shí)間一直做AFC,陷進(jìn)去好久,特別是這樣數(shù)模混合的仿真開始學(xué)還是挺麻煩的。因?yàn)槲业腁FC有一部分是Verilog來寫的,在混仿的時(shí)候還是建議大家采用AMS吧,雖然開始學(xué)的時(shí)候比spectreVerilog要復(fù)雜一點(diǎn),但是學(xué)會(huì)之后,功能要強(qiáng)大許多,特別是debug模式來查看數(shù)字模塊的內(nèi)部信號。 好不容易熬到第二階段了,因?yàn)橐獑为?dú)流片VCO,對于單獨(dú)流片VCO的話,它的輔助電路以及版圖布局優(yōu)化我還是沒有經(jīng)驗(yàn),希望大神們指點(diǎn)一下。 |
|