電磁場模擬與片上電感的優化講座實錄
06-24
電磁場模擬與片上電感的優化講座實錄
這張圖是我博士和博後期間設計的晶元,大部分都是毫米波電路,有模塊有系統。四五年的時間,過程中有個很深刻的感覺:那就是隨著電路做的越來越多,我對毫米波電路設計的理解也在一直加深。舉兩個例子。一是第一版晶元我們幾乎只用傳輸線,為什麼呢?因為傳輸線簡單,模擬不容易出錯,設計迭代也簡單。但實際設計就受到了很大的限制。後來有了一些經驗,開始用電感了。再後來,開始大量使用變壓器。第二個例子是變壓器。最早用變壓器的時候,變壓器對我就是一個黑盒子,大概仿一個變壓器出來,在外面再額外加傳輸線去做匹配。這樣也不是不行。但是不夠好。後來才開始理解變壓器內部特性,它是有電感量有耦合的。再後來,就發現光考慮電感和耦合還不行,還得把寄生電容加進去。今天再來看片上變壓器的話,它有多個參數,每個參數有自己的作用,每個參數都應該被優化。在設計時,我要先知道自己需要什麼樣的變壓器,然後電磁場工具是一個輔助手段,幫我找到我想要的變壓器。這是這次分享的主要內容,電磁場模擬流程,S參數的理解和處理,片上電感的優化,以及最後的總結。
近幾年發現電磁場模擬用的越來越廣泛了,絕對不僅僅使用在毫米波頻段,在射頻頻段也大量用到了電磁場工具。比如說2017年ISSCC的功率放大器,8篇論文里至少有6篇需要用到電磁場模擬工具。這是其中的兩個電路,可以看到用到了大量的變壓器和傳輸線,據我所知,代工廠是沒有提供變壓器的模型的。如果你不會使用電磁場模擬,那變壓器就沒法使用了。所以說,電磁場模擬是射頻毫米波晶元設計者的必備技能包,否則會處處受限。選擇合適的電磁場模擬工具主要可以從這幾個方面來考慮。第一個,我們要仿的無源結構的頻率和尺寸。如果片上元件的話,HFSS、EMX、ADS、Sonnet、Helic都是不錯的選擇。而封裝和PCB,你可能要選擇SIWave、ADS、Q3D等等。我曾經對比我SIwave和HFSS 3D Layout模擬同樣一個高速封裝,得到差不多的結果,一個用了20分鐘,一個快9個小時。第二個是靈活性,功能是否能否滿足需求。第三個,易用性,對EDA平台的支持。還有對工藝的支持。以前我們用65nm的工藝,都是根據文檔自己寫的tech文件。現在的先進工藝估計不行了,一是代工廠很多關鍵信息加密了,二是他有一些layout dependent的參數。比如你花了一條1um的線,最後做出來可能不是1um,代工廠會做一些調整。現在一般是你買了哪家的電磁場軟體,他已經跟代工廠聯繫,把tech文件寫好了,這些都考慮在內。第四個是軟體使用的模擬原理。原理部分就不細講了,有興趣的可以去看看我公眾號的一篇文章。模擬器背後採用了什麼假設很關鍵,像EMX和Helic,他們只能模擬層狀結構,而且假設襯底地面時無限大的理想地平面,這個一般沒有問題,但假如你的襯底非常薄,仿出來有可能就不對了。
現在來看看如何建立結構。首先是邊界條件,我們只能模擬一個有限空間的內容,所以一般會給空氣盒子設置輻射邊界,給襯底底面設置理想導體邊界。第二是對介質層進行等效,可以合理減少計算資源的消耗。這裡特別要注意電容,因為做介質層等效的時候很容易改變電容值。右邊上圖是原始的介質層,下圖是等效過後的,可以看到,MIM電容中間所在的層我是沒有做等效的。對於通孔我們一般會合併,這一步在版圖裡完成。但要注意,通孔中是沒有橫向電流的,如果你等效後通孔中走橫向電流,那結果會有一點差異。最後是地平面,為了滿足DRC規則,我們會在地平面上挖空,這些孔會導致模擬比較慢,所以可以等效為整個平板,把電導率適當的降低。在EMX里這些軟體都已經幫忙做好了,所以不需要考慮。現在來看埠設置。這一步尤其重要,電磁場模擬的結果是否合理,很大程度上取決於埠設置是否合理。在HFSS裡面有兩種埠,集中埠和波埠。但我們幾乎只用集中埠。集中埠提供了什麼樣的激勵呢?從這個圖可以看出,他就是一個從上邊沿到下邊緣整個面上均勻分布的電場。我們在設置任何一個埠的時候,都需要想想現實中的場強是否會真的這樣分布。所以這一條就很好理解了。假如有很長一個埠,模擬器會假設整個埠電場都是均勻的,但實際上他會呈現一定的分布,這樣與實際不符,計算結果就不對了。EMX和ADS同樣有這個問題,假如要在長邊上加激勵,他們都建議在長邊上引出一條短邊,把激勵加在短邊上。我曾經用HFSS仿過一個電感,結果出來非常奇怪,後來一檢查,發現集中埠面與金屬重疊了,這樣他強制認為金屬橫截面內也有均勻的場,那仿出來結果肯定不對了。最後一條又是HFSS需要考慮EMX不需要過多考慮的,那就是HFSS中必須給集中埠提供一個迴流通路。所以我們仿電感一般都會在外面加一圈地平面。
網格劃分和求解到沒有太多可以注意的。第一、所有金屬選擇solve inside,否則Q值不準。它默認是不選的。第二,選Driven terminal的求解方式。第三、solution frequency,即劃分網格的頻率,傾向於把這個頻率設高一點,這樣網格劃分的細緻,結果比較准。這樣仿完就可以導出S參數了。這裡總結一下HFSS電感模擬的Check list,可以每次設置完都養成習慣檢查一遍。模型尺寸合適、輻射邊界和理想導體邊界、所有金屬都有solve inside、埠有迴流途徑、選擇低階的basis函數。這裡畫出了常見的電感模擬埠的加法。
對於HFSS的用戶,這步轉換隻好自己來完成啦。這是兩個擬合的例子,原理很簡單,你同時仿S參數和你的模型,設置一些目標,讓模擬器優化參數來達到目標。對與傳輸線的模擬,可以使用ADS中的物理傳輸線模型,很好用。擬合完還可以自由改變傳輸線的長度,相當於一個scalable的模型。右圖是變壓器的擬合,這裡我用了20個目標。擬合目標的選擇需要進行一些考慮。比如說兩埠S參數,實部虛部一共8個參數,你可以用S參數擬合,也可以用Y參數擬合。但我覺得應該選擇對電路影響大的物理量來擬合。舉個例子,我們要擬合輸入匹配,我可以用幅度來擬合,也可以取dB後來擬合。但幅度明顯比較好,-30dB和-40dB的return loss對電路沒影響,但從數值上來看有30%的差別。取dB的操作相當於放大了小信號部分的權重。EMX提供一些預設的模型擬合。但也有很大局限性。如果兩三個器件在一起,他就擬合不了了。用S參數模擬和用物理集總模型模擬各有優勢。集中模型模擬穩定性好、速度快。無源性能得到保證。沒有漏電的問題。但用物理集總模型模擬有一個需要很注意的地方。我們在擬合的時候,實際上損失了一些高階的效應,比如兩個電感之間的微弱耦合。一般沒問題,但有些場合這還影響挺嚴重的。比如說兩個不同頻率的時鐘,時鐘信號可能通過無源器件耦合造成串擾,直接轉換成Jitter,這樣對隔離要求很高,微弱的耦合也有影響。如果用集中模型的話,很難把這麼微弱的耦合擬合出來。所以最終大家會採用S參數仿一個整體的,把各種效應都包含進來。但S參數模擬經常遇到一些頭疼的問題。有一些推薦的設置和解決方法。這裡先不講了。
好,現在我們得到了集總模型,但是對於理解依然過於複雜了。前面的變壓器有30個參數,我在理論計算時不可能都考慮進去的。那我們怎麼更直觀的理解模型的S參數?我這裡以電感為例。假如我們拿到一個電感的S參數,我們知道可以採用這兩個公式去計算電感值和Q值。得到的典型曲線長這個樣子。那現在問題來了。這個計算公式背後假設了什麼樣的模型?這個電感感值是隨頻率變化的,那我們應該使用什麼頻率的感值?工作頻率還是DC頻率?那這個電感可不可以工作在自諧振頻率之上?第一個問題的答案在這裡。我覺得L這個公式背後實際上是假設了電感和電阻串聯的模型。Y參數,2埠短路,虛部是感性,實部是阻性。但實際上這個公式過於簡略了,完全忽略了電容。只有在頻率遠低於自諧振頻率時才成立。一個最適合理論計算和設計分析的模型是下面這個。所以你看虛部,實際看到的是電感和電容共同的作用。如果我們用Z參數,會算出什麼呢?Z參數,2埠開路。當頻率遠低於諧振頻率時,電感忽略,Z參數基本上計算的就是電感的對地寄生電容。
下面我們再來回到後面兩個問題。假如我們把電感用於諧振腔。電感實際上是與兩部分電容之和來進行諧振,一部分是電感本身的寄生,另一部分才是負載電容。所以,在這種情況下,如果工作頻率高於自諧振頻率,說明電感在這個頻率已經沒有吸收電容的空間了。假如你需要容納的負載電容小一點,那自諧振頻率就可以跟工作頻率接近一點。假如使用工作頻率的電感值進行理論計算,得到的諧振頻率應該是相同的。但是,你會高估諧振腔的幅度。諧振腔的幅度等於2pifL。這條曲線工作頻率出的值不都是感值,相當於你把一部分容性當成了感性,所以會高估幅度。這又是我以前遇到過的一個例子。我要仿這樣一個LCLC的網路。我先用理想元件模擬,得到我需要的電感量,然後仿了一個電感,用這個公式算的電感量跟我所需的電感量一樣。但一代近電路,發現頻率降了好多。為什麼呢?在用這個公式計算Y參數時,二埠是短路的,所以那一邊的電容被忽略掉了。但在LCLC網路里,這一部分電容對電路也有影響。再有一個就是,相同的電感,用差分和單端的方式觀察,結構會顯著的不同。DC電感值差不多,但差分的自諧振頻率高很多,Q值也要高很多。這是為什麼呢?是否說明應儘可能使用差分形式的電感?我們後面會繼續提到。有一點啟示時,你在從S參數中提取物理量時應該與實際的使用條件一致。這裡總結一下從S參數到分析模型。分析模型是我自己起的一個名字,跟物理模型區分。我自己在用電感做設計的時候,一般採用這樣的過程,第一步先拿帶電容的分析模型對電路進行模擬和優化。確定我需要的電感值Q值和能容忍的C。因為你可以自己隨便設這些值,不需要用HFSS迭代,所以這一步模擬速度會比較快。第二步才是用電磁場模擬仿電感,通過S參數提取出LC和Q。總之一句話,我們要先知道需要什麼樣的電感,電磁場模擬工具只是找到它的工具。接下來,我會把這些理解應用到電感的版圖優化里。這也是我最近遇到的一個例子。我覺得整個邏輯挺有趣的,而且很有啟發性,所以跟大家分享一下。在看具體例子之前先說一些宏觀的。電感優化的關鍵因素有哪些?我覺得有下面四個方面。第一步是理解電路,我們到底要求電感的哪個參數?比如說用於擴展帶寬的電感Q值就不重要,反正最後還要串一個電阻,C比較重要。而在VCO和諧振腔里,Q值就非常重要了。只要先知道了哪個重要才知道怎麼優化是吧。第二部是理解寄生的來源,寄生主要是由誰貢獻。第三步是要理解工藝的金屬選項,比如每層金屬有多厚啊,層與層的間距啊,是側邊寄生比較大還是對地寄生比較大。第四步很有趣,電感本身是個集中元件,但你在優化的時候,需要把它當成分散式來處理。後面的例子可以很清楚的看到這一點。好,現在來看具體的例子。這是某個工藝下一個很普通的對稱式差分電感,用頂層金屬繞線,一共七圈。2.1nH/19.1G的自諧振頻率,5.5的Q值。簡單的想想,這個電感有什麼問題呢?第一、他繞了七圈,所以最外圈和最內圈的耦合很弱,因此單位長度走線的電感值比較小,所以損耗增加。第二、頂層金屬一般比較厚,這裡排的很密實,走線側邊電容大,所以降低了自諧振頻率。怎麼解決呢?一個簡單的方法,把線間距拉大。但這樣的副作用是,外圈和內圈耦合更弱了,電感密度小,走線變長,損耗又變大。那還沒有其他方法?好,這裡我做了第一步的改進。充分利用工藝提供的金屬層。現在電感用頂層和次頂層走線。他們的厚度是相同的。大家想像一下立體畫面。第二四六圈在立體圖上是凹陷下去的,是吧,所以,走線的邊緣電容減小了,很直接的好處就是諧振頻率從19.1G提高到了26.8G,峰值Q也從5.5提高到了6.8。面積沒變、電感密度沒變。像是白得來的好處。這一頁我有進行了第二步的優化。還是兩層金屬,相同的面積、相同的電感量。但自諧振頻率從26.8進一步提高到了31.5,Q值從6.8提高到了7.6。沒有代價,性能全方位提高。這裡其實是優化了走線的方式。這個圖沒看清也先別急。下一頁有更清楚的解釋。這一頁我把兩個電感畫到了一起。先看左邊的這個。如果我們把半圈線圈當成一個小電感,那麼從正端出發最外面的這半圈電感,它往裡緊貼著的半圈電感是屬於負端的。所以他們之間的寄生電容實際上是跨接在正端和負端之間。那右圖中的雙重走線呢?通過改變走線方式,從正端出發,第一個半圈電感的內圈半圈電感還是屬於正端,所以這個寄生電容的連接位置改變了。大家想想彌勒效應,哪種情況下這個電容對自諧振的影響大?明顯是普通走線。極端情況下,左圖的這個電容要乘以二,而右圖的電容可以忽略掉。所以說性能的提高來源於寄生電容的重新分布。這裡把差分電感畫成了分布的形式。從兩側朝中心虛地點,寄生電容的影響越來越小。所以我們在繞電感時,也應該盡量把它往中心推。這張圖我把電感重新花了一下,大家下來可以仔細看看線是怎麼走的。能看的更清楚。下一步優化呢,就是把走線壓的更密實,這樣外圈內圈之間耦合加強,電感密度變大了。面積從41x41減小到了35x35,但也付出了少量自諧振頻率的Q的代價。這實際上已經是個雙重走線的差分堆疊電感了。最後一步,我把上一個電感里的一些彎線給拉直了。最終電感量有所下降,自諧振頻率提升到33.9,Q提升到7.8。假如把正方形變成八變形,Q值還能提高0.5左右。這裡做了一些匯總。大家可以看到,我們經過了這些優化後,電感的性能是全方位優於前面沒有優化的電感的。不需要折中。付出的代價就是知識。這裡給一個毫米波的例子。毫米波電感一般圈數比較少,所以優化空間小。但依然是有效的。我曾經做的一個設計,就刻意把電感連線的接頭做細了。這樣可以減小關鍵部位的寄生電容。中心的部分可以適當的做出,減小電阻。因為不同位置的寄生電阻影響應該是一致的。好了,我要說點心靈雞湯了。這個例子實際上能給我們一些啟示。第一個,就是選擇合適層次的模型的力量。比如說電感的物理模型,夠準確,但是太複雜了啊。我沒法對著那個來形象化的理解電路。我寧願損失一點精度,讓我更好的分析和理解。繁中取簡是工程師必須能做的。第二個啟示就是,了解是優化的前提,了解的越深入優化的越好。假如我把電感當成一個黑盒子,不知道內部長什麼樣子,那肯定沒法優化。只有把電感細化成每一小段走線,才能更好的優化。第三個啟示是解決問題的方式,不止電感,任何問題都是。要先定位問題在哪兒。自諧振頻率低、說明那是寄生電容大,那是寄生電容的主要來源,找到了來源,那好辦了,我對症下藥,把它推到不重要的地方去。好了,今天分享的內容大概就到這裡。由於時間關係,還有一些點沒有講到。希望以後還有機會更大家交流。希望今天的內容對大家能有一定的啟發。
推薦閱讀:
來自專欄談談射頻晶元設計
大家好,我是賈海昆,非常高興有這樣的機會來跟大家分享一些電磁場模擬的相關經驗。我先簡單的介紹一下自己。我2009年本科畢業,2015年博士畢業,跟著王志華老師做毫米波集成電路設計的課題。我平常會寫一些電路設計的技術文章,發在我個人的公眾號和知乎專欄上面,有興趣的朋友可以去關注一下。這次的講稿整理後應該也會發上去。今天我主要想跟大家分享電磁場模擬和毫米波晶元設計的實際經驗,都是我平常做設計的一些思考和總結,希望對大家有所啟發。現在很多晶元都是倒封裝,這樣晶元上方也會有一層金屬。那用EMX和HELIC模擬的話,這個是沒有考慮在內的。我用HFSS建立模型試過一次,假如距離低於50um的話,對電感量會有10%左右的影響。我問過我們用的軟體的技術支持這個問題,他說有些客戶的確會驗證一下封裝的影響,這需要手動改tech文件,在晶元上面再加一層金屬層,實際操作起來會比較麻煩。
主流的電磁場模擬工具其實很多。這裡面估計比較流行的是前三個。HFSS功能最靈活和強大,理論上什麼結構都能仿,但是對EDA平台支持的一般。學校裡面用的比較多。EMX/HELIC是專門為IC設計優化的,易用性比較好。好,現在我們來說一下電磁場模擬的流程,這裡主要以HFSS為例。EMX的流程更加簡單,很多地方軟體已經替設計者考慮了。幾乎任何一款電磁場模擬軟體的求解流程都是這三步。第一是前處理,包括建立結構、定義材料、設置埠和邊界條件等。第二是把材料劃分成細小的網格、然後求解電磁場的微分方程或者積分方程,求解各處的場強。但我們電路設計者是沒法直接把場強用在電路設計之中的,所以還需要進行後處理。後處理包括導出S參數、計算電磁場分布、輻射等等。這個圖裡是我之前仿過的一些無源器件結構圖。襯底跟空氣盒子都是透明的,所以看不到。那圈藍色的金屬是地平面,用來提供迴流路徑的。這三個頻率逐漸升高。有一個有意思的規律是,頻率越低,結構可以做的越複雜。
假如我們現在得到了S參數,那是不是就可以把S參數用在模擬裡面了。怎麼用呢?一種方法就是把S參數當成一個黑盒子。我最早就是這樣做的。我需要一個單轉差的Balun,所以我大致仿了一個變壓器,然後發現輸入不匹配,額外再加三段傳輸線做輸入匹配。這樣也不是不能設計。但存在什麼問題?第一、額外的匹配消耗額外的面積,加大損耗。第二、這樣不了解S參數內部的結構,信心會差一點。第三、你這沒法做理論分析,沒法寫論文。第四、把S參數當作黑盒子放棄了很多的可能性,本來變壓器是可以做寬頻匹配的,你這樣黑盒子就沒法優化了。你有一個好的想法,但很有可能,這裡不夠優化、那裡不夠優化,最後你的想法帶來的好性能完全被這些地方給抵消了。所以我們說,拿到一個S參數後,並不是你就直接把他丟進模擬器里了,還需要理解S參數。怎麼理解呢?第一個方法就是把它轉化為集總模型。這裡給出了電感集總模型和變壓器集總模型的例子。http://weixin.qq.com/r/STu4oE7EyxO0rQrD925b (二維碼自動識別)
推薦閱讀:
※世界集成電路發展概況
※解決六個低功耗調試陷阱
※蘋果自研Mac晶元,最大受益者可能是他 | 半導體行業觀察
※如何設計一顆40PFLOPS量級的AI晶元?
※晶元封裝的熱設計和模擬