私信“分享”二字,即可獲取電機及控制相關資料領取方式

大家好,我是賈海昆,非常高興有這樣的機會來跟大家分享一些電磁場仿真的相關經驗。我先簡單的介紹一下自己。我2009年本科畢業,2015年博士畢業,跟着王志華老師做毫米波集成電路設計的課題。我平常會寫一些電路設計的技術文章,發在我個人的公衆號和知乎專欄上面,有興趣的朋友可以去關注一下。這次的講稿整理後應該也會發上去。

今天我主要想跟大家分享電磁場仿真和毫米波芯片設計的實際經驗,都是我平常做設計的一些思考和總結,希望對大家有所啓發。

這張圖是我博士和博後期間設計的芯片,大部分都是毫米波電路,有模塊有系統。四五年的時間,過程中有個很深刻的感覺:那就是隨着電路做的越來越多,我對毫米波電路設計的理解也在一直加深。

舉兩個例子。一是第一版芯片我們幾乎只用傳輸線,爲什麼呢?因爲傳輸線簡單,仿真不容易出錯,設計迭代也簡單。但實際設計就受到了很大的限制。後來有了一些經驗,開始用電感了。再後來,開始大量使用變壓器。第二個例子是變壓器。最早用變壓器的時候,變壓器對我就是一個黑盒子,大概仿一個變壓器出來,在外面再額外加傳輸線去做匹配。這樣也不是不行。但是不夠好。後來纔開始理解變壓器內部特性,它是有電感量有耦合的。再後來,就發現光考慮電感和耦合還不行,還得把寄生電容加進去。今天再來看片上變壓器的話,它有多個參數,每個參數有自己的作用,每個參數都應該被優化。在設計時,我要先知道自己需要什麼樣的變壓器,然後電磁場工具是一個輔助手段,幫我找到我想要的變壓器。

這是這次分享的主要內容,電磁場仿真流程,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,他們只能仿真層狀結構,而且假設襯底地面時無限大的理想地平面,這個一般沒有問題,但假如你的襯底非常薄,仿出來有可能就不對了。

現在很多芯片都是倒封裝,這樣芯片上方也會有一層金屬。那用EMX和HELIC仿真的話,這個是沒有考慮在內的。我用HFSS建立模型試過一次,假如距離低於50um的話,對電感量會有10%左右的影響。我問過我們用的軟件的技術支持這個問題,他說有些客戶的確會驗證一下封裝的影響,這需要手動改tech文件,在芯片上面再加一層金屬層,實際操作起來會比較麻煩。

主流的電磁場仿真工具其實很多。這裏面估計比較流行的是前三個。HFSS功能最靈活和強大,理論上什麼結構都能仿,但是對EDA平臺支持的一般。學校裏面用的比較多。EMX/HELIC是專門爲IC設計優化的,易用性比較好。

好,現在我們來說一下電磁場仿真的流程,這裏主要以HFSS爲例。EMX的流程更加簡單,很多地方軟件已經替設計者考慮了。

幾乎任何一款電磁場仿真軟件的求解流程都是這三步。第一是前處理,包括建立結構、定義材料、設置端口和邊界條件等。第二是把材料劃分成細小的網格、然後求解電磁場的微分方程或者積分方程,求解各處的場強。但我們電路設計者是沒法直接把場強用在電路設計之中的,所以還需要進行後處理。後處理包括導出S參數、計算電磁場分佈、輻射等等。

現在來看看如何建立結構。首先是邊界條件,我們只能仿真一個有限空間的內容,所以一般會給空氣盒子設置輻射邊界,給襯底底面設置理想導體邊界。第二是對介質層進行等效,可以合理減少計算資源的消耗。這裏特別要注意電容,因爲做介質層等效的時候很容易改變電容值。右邊上圖是原始的介質層,下圖是等效過後的,可以看到,MIM電容中間所在的層我是沒有做等效的。對於通孔我們一般會合並,這一步在版圖裏完成。但要注意,通孔中是沒有橫向電流的,如果你等效後通孔中走橫向電流,那結果會有一點差異。最後是地平面,爲了滿足DRC規則,我們會在地平面上挖空,這些孔會導致仿真比較慢,所以可以等效爲整個平板,把電導率適當的降低。

在EMX裏這些軟件都已經幫忙做好了,所以不需要考慮。

現在來看端口設置。這一步尤其重要,電磁場仿真的結果是否合理,很大程度上取決於端口設置是否合理。在HFSS裏面有兩種端口,集中端口和波端口。但我們幾乎只用集中端口。集中端口提供了什麼樣的激勵呢?從這個圖可以看出,他就是一個從上邊沿到下邊緣整個面上均勻分佈的電場。我們在設置任何一個端口的時候,都需要想想現實中的場強是否會真的這樣分佈。所以這一條就很好理解了。假如有很長一個端口,仿真器會假設整個端口電場都是均勻的,但實際上他會呈現一定的分佈,這樣與實際不符,計算結果就不對了。EMX和ADS同樣有這個問題,假如要在長邊上加激勵,他們都建議在長邊上引出一條短邊,把激勵加在短邊上。

我曾經用HFSS仿過一個電感,結果出來非常奇怪,後來一檢查,發現集中端口面與金屬重疊了,這樣他強制認爲金屬橫截面內也有均勻的場,那仿出來結果肯定不對了。

最後一條又是HFSS需要考慮EMX不需要過多考慮的,那就是HFSS中必須給集中端口提供一個迴流通路。所以我們仿電感一般都會在外面加一圈地平面。

網格劃分和求解到沒有太多可以注意的。第一、所有金屬選擇solve inside,否則Q值不準。它默認是不選的。第二,選Driven terminal的求解方式。第三、solution frequency,即劃分網格的頻率,傾向於把這個頻率設高一點,這樣網格劃分的細緻,結果比較準。這樣仿完就可以導出S參數了。

這裏總結一下HFSS電感仿真的Check list,可以每次設置完都養成習慣檢查一遍。模型尺寸合適、輻射邊界和理想導體邊界、所有金屬都有solve inside、端口有迴流途徑、選擇低階的basis函數。這裏畫出了常見的電感仿真端口的加法。

這個圖裏是我之前仿過的一些無源器件結構圖。襯底跟空氣盒子都是透明的,所以看不到。那圈藍色的金屬是地平面,用來提供迴流路徑的。這三個頻率逐漸升高。有一個有意思的規律是,頻率越低,結構可以做的越複雜。

假如我們現在得到了S參數,那是不是就可以把S參數用在仿真裏面了。怎麼用呢?一種方法就是把S參數當成一個黑盒子。我最早就是這樣做的。我需要一個單轉差的Balun,所以我大致仿了一個變壓器,然後發現輸入不匹配,額外再加三段傳輸線做輸入匹配。這樣也不是不能設計。但存在什麼問題?第一、額外的匹配消耗額外的面積,加大損耗。第二、這樣不瞭解S參數內部的結構,信心會差一點。第三、你這沒法做理論分析,沒法寫論文。第四、把S參數當作黑盒子放棄了很多的可能性,本來變壓器是可以做寬帶匹配的,你這樣黑盒子就沒法優化了。你有一個好的想法,但很有可能,這裏不夠優化、那裏不夠優化,最後你的想法帶來的好性能完全被這些地方給抵消了。

所以我們說,拿到一個S參數後,並不是你就直接把他丟進仿真器裏了,還需要理解S參數。

怎麼理解呢?第一個方法就是把它轉化爲集總模型。這裏給出了電感集總模型和變壓器集總模型的例子。

對於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左右。

查看原文 >>
相關文章