模擬電路設(shè)計(jì)的九重境界
01
我記得本科剛畢業(yè)時(shí),由于本人打算研究傳感器的,后來陰差陽錯(cuò)進(jìn)了復(fù)旦逸夫樓專用集成電路與系統(tǒng)國(guó)家重點(diǎn)實(shí)驗(yàn)室做研究生。現(xiàn)在想來這個(gè)實(shí)驗(yàn)室名字大有深意,只是當(dāng)時(shí)惘然。
電路和系統(tǒng),看上去是兩個(gè)概念,兩個(gè)層次。我同學(xué)有讀電子學(xué)與信息系統(tǒng)方向研究生的,那時(shí)候知道他們是“系統(tǒng)”的, 而我們呢,是做模擬“電路”設(shè)計(jì)的,自然要偏向電路。
而模擬芯片設(shè)計(jì)初學(xué)者對(duì)奇思淫巧的電路總是很崇拜,尤其是這個(gè)領(lǐng)域的最權(quán)威的雜志JSSC (IEEE Journal of solid state circuits), 以前非常喜歡看, 當(dāng)時(shí)立志看完近二十年的文章,打通奇經(jīng)八脈,總是憧憬啥時(shí)候咱也灌水一篇, 那時(shí)候國(guó)內(nèi)在此雜志發(fā)的文章鳳毛麟角, 就是在國(guó)外讀博士,能夠在上面發(fā)一篇也屬優(yōu)秀了。
02
讀研時(shí),我導(dǎo)師是鄭增鈺教授,李聯(lián)老師當(dāng)時(shí)已經(jīng)退休,逸夫樓邀請(qǐng)李老師每個(gè)禮拜過來指導(dǎo)。鄭老師治學(xué)嚴(yán)謹(jǐn),女中豪杰。
李老師在模擬電路方面屬于國(guó)內(nèi)先驅(qū)人物,現(xiàn)在在很多公司被聘請(qǐng)為專家或顧問。李老師在87年寫的一本(運(yùn)算放大器設(shè)計(jì));
即使現(xiàn)在看來也是經(jīng)典之作。李老師和鄭老師是同班同學(xué),所以很要好,我自然相對(duì)于我同學(xué)能夠幸運(yùn)地得到李老師的指點(diǎn)。
李老師和鄭老師給我的培養(yǎng)方案是:先從運(yùn)算放大器學(xué)起。所以我記得我剛開始從小電流源開始設(shè)計(jì)。那時(shí)候感覺設(shè)計(jì)就是靠仿真調(diào)整參數(shù)。
但是我卻永遠(yuǎn)記住了李老師語重心長(zhǎng)的話:運(yùn)放是基礎(chǔ),運(yùn)放設(shè)計(jì)弄好了,其他的也就容易了。
當(dāng)時(shí)不大理解,我同學(xué)的課題都是AD/DA,鎖相環(huán)等“高端”的東東,而李老師和鄭老師卻要我做“原始”的模塊,我僅有的在(固體電子學(xué))(國(guó)內(nèi)的垃圾雜志)發(fā)過的一篇論文就是軌到軌(rail-to-rail)放大器。
做的過程中很郁悶,非常羨慕我同學(xué)的項(xiàng)目,但是感覺李老師和鄭老師講的總有他們道理,所以我就專門看JSSC運(yùn)放方面的文章,基本上近20多年的全看了。當(dāng)時(shí)以為很懂這個(gè)了,后來工作后才發(fā)現(xiàn)其實(shí)還沒懂。所謂懂,是要真正融會(huì)貫通,否則塞在腦袋里的知識(shí)再多,也是死的。但是運(yùn)算放大器是模擬電路的基石,只有根基扎實(shí)方能枝繁葉茂,兩位老師的良苦用心工作以后才明白。
總的來說,在復(fù)旦,我感觸最深的就是鄭老師的嚴(yán)謹(jǐn)治學(xué)之風(fēng)和李老師的這句話。碩士畢業(yè),去找工作,當(dāng)時(shí)有幾個(gè)offer。我?guī)熜謱O立平, 李老師的關(guān)門弟子,推薦我去新濤科技,他說里面有個(gè)常仲元,魯汶天主教大學(xué)博士,很厲害。
我聽從師兄建議就去了。新濤當(dāng)時(shí)已經(jīng)被IDT以8500萬美金收購(gòu)了,成為國(guó)內(nèi)第一家成功的芯片公司。面試我的是公司創(chuàng)始人之一的總經(jīng)理Howard. C. Yang(楊崇和)。Howard是Oregon State University 的博士,鎖相環(huán)專家。
面試時(shí)他當(dāng)時(shí)要我畫了一個(gè)兩級(jí)放大器帶Miller補(bǔ)償?shù)模?我很熟練。他說你面有個(gè)零點(diǎn),我很奇怪,從沒聽過,云里霧里,后來才知道這個(gè)是Howard在國(guó)際上首先提出來的,等效模型中有個(gè)電阻,他自己命名為楊氏電阻。
當(dāng)時(shí)出于禮貌,不斷點(diǎn)頭。不過他們還是很滿意,反正就這樣進(jìn)去了。我呢,面試的惟一的遺憾是沒見到常仲元, 大概他出差了。進(jìn)入新濤后,下了決心準(zhǔn)備術(shù)業(yè)有專攻。因?yàn)楸究坪脱芯可鷷r(shí)喜歡物理,數(shù)學(xué)和哲學(xué),花了些精力在這些上面。工作后就得真刀真槍的干了。
03
每天上班仿真之余和下班后,就狂看英文原版書。第一本就是現(xiàn)在流行的Razavi的那本書。讀了三遍。感覺大有收獲。
那時(shí)候在新濤,初生牛犢不怕虎,應(yīng)該來說,我還是做得很出色的,因此得到常總的賞識(shí),被他評(píng)價(jià)為公司內(nèi)最有potential的人。偶爾??倳?huì)過來指點(diǎn)一把,別人很羨慕。
其實(shí)我就記住了??傆写瘟奶鞎r(shí)給我講的心得,他大意是說做模擬電路設(shè)計(jì)有三個(gè)境界:
第一是會(huì)手算,意思是說pensile-to-paper, 電路其實(shí)應(yīng)該手算的,仿真只是證明手算的結(jié)果。
第二是,算后要思考,把電路變成一個(gè)直觀的東西。
第三就是創(chuàng)造電路。
我大體上按照這三部曲進(jìn)行的。Razavi的那本書后面的習(xí)題我仔細(xì)算了。公司的項(xiàng)目中,我也力圖首先以手算為主,放大器的那些參數(shù),都是首先計(jì)算再和仿真結(jié)果對(duì)比。久而久之,我手計(jì)算的能力大大提高,一些小信號(hào)分析計(jì)算,感覺非常順手。
這里講一個(gè)小插曲,有一次在一個(gè)項(xiàng)目中,一個(gè)保護(hù)回路AC仿真總不穩(wěn)定, 調(diào)來調(diào)去,總不行,這兒加電容,那兒加電阻,試了幾下都不行,就找常總了。
因?yàn)檫@個(gè)回路很大,所以感覺是瞎子摸象。??傄贿^來三下五除二就擺平了,他仔細(xì)看了,然后就導(dǎo)出一個(gè)公式,找出了主極點(diǎn)和帶寬表達(dá)式。
通過這件事,我對(duì)??偱宸梦弩w投地, 同時(shí)也知道直觀的威力。所以后來看書時(shí),都會(huì)仔細(xì)推導(dǎo)書中的公式,然后再直觀思考信號(hào)流,不直觀不罷手。一年多下來, 對(duì)放大器終于能夠透徹理解了,感覺學(xué)通了, 通之后發(fā)現(xiàn)一通百通。
最后總結(jié):放大器有兩個(gè)難點(diǎn),一個(gè)是頻率響應(yīng),一個(gè)是反饋。其實(shí)所謂電路直觀,就是用從反饋的角度來思考電路。
每次分析了一些書上或者JSSC上的“怪異”電路后,都會(huì)感嘆:反饋呀,反饋!然后把分析的心得寫在paper上面。
學(xué)通一個(gè)領(lǐng)域后再學(xué)其他相關(guān)領(lǐng)域會(huì)有某種“加速”作用。??偟姆绞绞敲看巫鲆粋€(gè)新項(xiàng)目時(shí),讓下面人先研究研究。
我在離開新濤前,做了一個(gè)鎖相環(huán)。我以前沒做過,然后就把我同學(xué)的碩士論文,以及書和很多paper弄來研究。
研究了一個(gè)半月,常總過來問我:鎖相環(huán)的3dB帶寬弄懂了吧?
我笑答:早就弄懂了。
我強(qiáng)大的運(yùn)放的頻率響應(yīng)知識(shí)用在鎖相環(huán)上,小菜了。我這時(shí)已經(jīng)去研究高深的相位噪聲和jitter了。
之后不久,一份30多頁的英文研究報(bào)告發(fā)出來,常總大加贊賞!。后來在COMMIT時(shí),有個(gè)項(xiàng)目是修改一個(gè)RF Transceiver芯片, 使之從WCDMA到TD-SCDMA。
里面有個(gè)基帶模擬濾波器。我以前從沒接觸過濾波器,就花了兩個(gè)月時(shí)間,看了三本英文原版書,第一本有900多頁,和N多paper, 一下子對(duì)整個(gè)濾波器領(lǐng)域,開關(guān)電容的,GmC的,Active RC的都懂了。
提出修改方案時(shí), 由于我運(yùn)放根基扎實(shí),看文章時(shí)對(duì)于濾波器信號(hào)流很容易懂,所以很短時(shí)間就能一個(gè)人提出芯片電路原理分析和修改方案。
最后報(bào)告寫出來(也是我的又一個(gè)得意之作),送給TI.,TI那邊對(duì)這邊一下子肅然起敬,Conference call時(shí), 他們首先說這份報(bào)告是“Great job!”,我英文沒聽懂,Julian對(duì)我夸大拇指,說“他們對(duì)你評(píng)價(jià)很高呢”。
后來去Dallas, TI那邊對(duì)我們很尊敬, 我做報(bào)告時(shí),很多人來聽。
04
總之,現(xiàn)在知道,凡事情,基礎(chǔ)很重要,基礎(chǔ)扎實(shí)學(xué)其他的很容易切入, 并且越學(xué)越快。
我是02年 11月去的COMMIT,當(dāng)時(shí)面試我的也是我現(xiàn)在公司老板Julian。
Julian問我:你覺得SOC (system on chip)設(shè)計(jì)的環(huán)節(jié)在哪兒?
我說:應(yīng)該是模擬電路吧,這個(gè)比較難一些。Julian說錯(cuò)了,是系統(tǒng)。
我當(dāng)時(shí)很不以為然, 覺得模擬電路工程師應(yīng)該花精力在分析和設(shè)計(jì)電路上。
Julian后來自己run了現(xiàn)在這公司On-Bright,把我也帶來, 同時(shí)也從TI拉了兩個(gè),有一個(gè)是方博士。
我呢,給Julian推薦了朱博士。這一兩年,我和朱博士對(duì)方博士佩服得五體投地。
方博士是TI華人里面的頂級(jí)高手, 做產(chǎn)品能力超強(qiáng)。On-Bright現(xiàn)在做電源芯片,我和朱博士做了近兩年,知道了系統(tǒng)的重要性。
芯片設(shè)計(jì)最終一定要走向系統(tǒng), 這個(gè)是芯片設(shè)計(jì)的第四重境界。電路如同磚瓦,系統(tǒng)如同大廈。
芯片設(shè)計(jì)工程師一定要從系統(tǒng)角度考慮問題,否則就是只見樹木,不見森林。
電源芯片中,放大器,比較器都是最最普通的, 其難點(diǎn)在于對(duì)系統(tǒng)的透徹理解。
在On-Bright,我真正見識(shí)了做產(chǎn)品,從定義到設(shè)計(jì),再到debug, 芯片測(cè)試和系統(tǒng)測(cè)試,最后到RTP (release to production)。
Julian把TI的先進(jìn)產(chǎn)品開發(fā)流程和項(xiàng)目管理方式引入On-Bright,我和朱博士算是大開眼界,也知道了做產(chǎn)品的艱辛。
█ 模擬電路設(shè)計(jì)的九重境界
第一重:你剛開始進(jìn)入這行,對(duì)PMOS/NMOS/BJT什么的只不過有個(gè)大概的了解,各種器件的特性你也不太清楚,具體設(shè)計(jì)成什么樣的電路你也沒什么主意,你的電路圖主要看國(guó)內(nèi)雜志上的文章,或者按照教科書上現(xiàn)成的電路,你總覺得他們說得都有道理。你做的電路主要是小規(guī)模的模塊,做點(diǎn)差分運(yùn)放,或者帶隙基準(zhǔn)的仿真什么的你就計(jì)算著發(fā)文章,生怕到時(shí)候論文湊不夠。總的來說,基本上看見運(yùn)放還是發(fā)怵。你覺得spice是一個(gè)非常難以使用而且古怪的東西。
第二重:你開始知道什么叫電路設(shè)計(jì),天天捧著本教科書在草稿紙上狂算一氣。你也經(jīng)常開始提起一些技術(shù)參數(shù),Vdsat、lamda、early voltage、GWB、ft之類的??傆X得有時(shí)候電路和手算得差不多,有時(shí)候又覺得差別挺大。你也開始關(guān)心電壓,溫度和工藝的變化。例如低電壓、低功耗系統(tǒng)什么的?;蛘呤浅咚俑呔鹊氖裁礀|東,時(shí)不時(shí)也來上兩句。你設(shè)計(jì)電路時(shí)開始計(jì)劃著要去tape out,雖然tape out看起來還是挺遙遠(yuǎn)的。這個(gè)階段中,你覺得spice很強(qiáng)大,但經(jīng)常會(huì)因?yàn)锳C仿真結(jié)果不對(duì)而大傷腦筋。
第三重:你已經(jīng)和PVT斗爭(zhēng)了一段時(shí)間了,但總的來說基本上還是沒有幾次成功的設(shè)計(jì)經(jīng)驗(yàn)。你覺得要設(shè)計(jì)出真正能用的電路真的很難,你急著想建立自己的信心,可你不知道該怎么辦。你開始閱讀一些JSSC或者博士論文什么的,可你覺得他們說的是一回事,真正的芯片或者又不是那么回事。你覺得Vdsat什么的指標(biāo)實(shí)在不夠精確,仿真器的缺省設(shè)置也不夠滿足你的要求,于是你試著仿真器調(diào)整參數(shù),或者試著換一換仿真器,但是可它們給出的結(jié)果仍然是有時(shí)準(zhǔn)有時(shí)不準(zhǔn)。你上論壇,希望得到高手的指導(dǎo)??伤麄円彩钦Z焉不詳,說得東西有時(shí)對(duì)有時(shí)不對(duì)。這個(gè)階段中,你覺得spice雖然很好,但是幫助手冊(cè)寫的太不清楚了。
第四重:你有過比較重大的流片失敗經(jīng)歷了。你知道要做好一個(gè)電路,需要精益求精,需要戰(zhàn)戰(zhàn)兢兢的仔細(xì)檢查每一個(gè)細(xì)節(jié)。你發(fā)現(xiàn)在設(shè)計(jì)過程中有很多不曾設(shè)想過的問題,想要做好電路需要完整的把握每一個(gè)方面。于是你開始系統(tǒng)地重新學(xué)習(xí)在大學(xué)畢業(yè)時(shí)已經(jīng)賣掉的課本。你把能能找到的相關(guān)資料都仔細(xì)的看了一邊,希望能從中找到一些更有啟發(fā)性的想法。你已經(jīng)清楚地知道了你需要達(dá)到的電路指標(biāo)和性能,你也知道了電路設(shè)計(jì)本質(zhì)上是需要做很多合理的折中??赡愀悴磺暹@個(gè)“合理” 是怎么確定的,不同指標(biāo)之間的折中如何選擇才好。你覺得要設(shè)計(jì)出一個(gè)適當(dāng)?shù)哪軌蛘9ぷ鞯碾娐氛娴奶y了,你不相信在這個(gè)世界上有人可以做到他們宣稱的那么好,因?yàn)槁斆魅缒愣加X得面對(duì)如此紛雜的選擇束手無策,他們?cè)趺纯赡茏龅玫剑窟@個(gè)階段中,你覺得spice功能還是太有限了,而且經(jīng)常對(duì)著"time step too small"的出錯(cuò)信息發(fā)呆,偶爾情況下你還會(huì)創(chuàng)造出巨大的仿真文件讓所有人和電腦崩潰。
第五重:你覺得很多競(jìng)爭(zhēng)對(duì)手的東西不過如此而已。你開始有一套比較熟悉的設(shè)計(jì)方法。但是你不知道如何更加優(yōu)化你手頭的工具。你已經(jīng)使用過一些別人編好的腳本語言,但經(jīng)常碰到很多問題的時(shí)候不能想起來用awk或者perl搞定。你開始大量的占用服務(wù)器的仿真時(shí)間,你相信經(jīng)過大量的仿真,你可以清楚地把你設(shè)計(jì)的模塊調(diào)整到合適的樣子。有時(shí)候你覺得做電路設(shè)計(jì)簡(jiǎn)直是太無聊了,實(shí)在不行的話,你在考慮是不是該放棄了。這個(gè)階段中,你覺得spice好是好,但是比起 fast spice系列的仿真器來,還是差遠(yuǎn)了;你開始不相信AC仿真,取而代之的是大量的transient仿真。
第六重:你開始明白在這個(gè)世界中只有最合適的設(shè)計(jì),沒有最好的設(shè)計(jì)。你開始有一套真正屬于自己的設(shè)計(jì)方法,你會(huì)傾向于某一種或兩種仿真工具,并能夠熟練的使用他們?cè)u(píng)價(jià)你的設(shè)計(jì)。你開始在設(shè)計(jì)中考慮PVT的變化,你知道一個(gè)電路從開始到現(xiàn)在的演化過程,并能夠針對(duì)不同的應(yīng)用對(duì)他們進(jìn)行裁減。你開始關(guān)注功耗和面積,你tape out的芯片開始有一些能夠滿足產(chǎn)品要求了。但是有時(shí)候你還是不能完全理解一些復(fù)雜系統(tǒng)的設(shè)計(jì)方法,并且犯下一些愚蠢的錯(cuò)誤并導(dǎo)致災(zāi)難性后果。你開始閱讀 JSSC時(shí)不只是挑一兩片文章看看,或許把JSSC作為廁所讀物對(duì)你來說是一個(gè)不錯(cuò)的選擇。在這個(gè)階段中,你覺得spice是一個(gè)很偉大的工具,你知道如何在spice中對(duì)精度和速度做合理的仿真,并隨時(shí)做出最合適的選擇。
第七重:你開始真正理解模擬電路設(shè)計(jì)的本質(zhì),無論對(duì)于高精度系統(tǒng)還是高速度系統(tǒng)都有自己獨(dú)有的看法和經(jīng)驗(yàn)。你可以在系統(tǒng)級(jí)對(duì)不同的模塊指標(biāo)進(jìn)行折中以換取最好的性能。你會(huì)了解一個(gè)潛在的市場(chǎng)并開始自己的產(chǎn)品定義,并且你知道只要方法正確,你設(shè)計(jì)出的產(chǎn)品會(huì)具有很好的競(jìng)爭(zhēng)力。你可以從容的從頭到腳進(jìn)行整個(gè)電路的功能和指標(biāo)劃分,你了解里面的每一個(gè)技術(shù)細(xì)節(jié)和他們的折中會(huì)對(duì)于你的產(chǎn)品有怎樣的影響。你開始關(guān)注設(shè)計(jì)的可靠性。在這個(gè)階段中,你覺得spice是一個(gè)很實(shí)用的工具,并喜歡上了蒙特卡洛仿真,但你還是經(jīng)常抱怨服務(wù)器太慢,雖然你經(jīng)常是在后半夜運(yùn)行仿真。
第八重:這個(gè)時(shí)候成功的做出一個(gè)芯片對(duì)你來說是家常便飯,就象一名駕駛老手開車一樣,遇到紅燈就停、綠燈就行。一個(gè)產(chǎn)品的設(shè)計(jì)對(duì)于你來說幾乎都是無意識(shí)的。你不需要再對(duì)著仿真結(jié)果不停的調(diào)整參數(shù)和優(yōu)化,更多時(shí)候之需要很少量的仿真就可以結(jié)束一個(gè)模塊的設(shè)計(jì)了。你能夠清楚地感覺到某一個(gè)指標(biāo)的電路模塊在技術(shù)上是可能的還是不可能的。你完全不用關(guān)心具體模塊的噪聲系數(shù)或者信噪比或者失真度。你只需要知道它是可以被設(shè)計(jì)出來就可以了,更詳細(xì)的技術(shù)指標(biāo)對(duì)你來說毫無意義。你開始覺得JSSC上的東西其實(shí)都是在湊數(shù),有時(shí)候認(rèn)為JSSC即使作為廁紙也不合格(太薄太脆)。你覺得spice偶爾用用挺好的,但是實(shí)在是不可靠,很多的時(shí)候看看工作點(diǎn)就差不多夠了。
第九重:這時(shí)候的你對(duì)很多電路已經(jīng)料如指掌,你可以提前預(yù)知很多技術(shù)下一輪的發(fā)展方向。一年你只跑上幾次仿真,也可能一仿真就是幾年。你很少有畫電路圖的時(shí)候,多數(shù)時(shí)間你在打高爾夫或是在太平洋的某個(gè)小島釣魚。除了偶爾在ISSCC上湊湊熱鬧,你從不和別人說起電路方面的事,因?yàn)槟阒罌]人能明白。
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。