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