天天看點

獻給畢業生,有關半導體行業的一些個人看法

為這個行業即将畢業的同學們寫的一些個人簡單的想法,歡迎轉載,謝謝。 

--by toctory 

1、現在是很好的年代(過去的5年和未來的5年) 

    我們很幸運,在現在這個年代在這個專業方向開始自己的職業生涯。從過去的20年到未來的20年中,在微電子産業方向現在這個年代肯定是最好的黃金時代。尤其是在中國,我們現在幾乎擁有這個行業所需要的一切要素,而且正在飛快的發展。 

    技術方面,5年前,我們所接觸和了解的技術遠遠落後于整個産業的水準。設計工藝差距,EDA軟體的差距,教科書差距,國内整體技術水準差距,等等。現在這些差距正在逐漸縮小,很多方面基本上已經消失。例如eda軟體,拜托網絡和linux所賜,普通的國内使用者可以用到最新的eda軟體和設計流程。未來的一段時間内,國内整體設計水準會進一步的提升,進一步的減少技術方面的差距。 

    市場方面,過去5年中,全球電子産業的加工中心加速向國内轉移,國内消費電子市場逐漸崛起。由于和市場天然的貼近,國内晶片設計産業在市場方面有天然的優勢。過去兩年内,珠海炬力和北京中星微成功。 

    資金和産業環境方面,微電子産業方面的投資從2004年開始一直處于國内VC投資項目前3名。國内企業有着天然的成本優勢,是以在産業的競争中有很強的優勢。過去幾年中很多國外企業在國内成立設計中心,而且這方面趨勢随着國内整體技術和産業鍊的完整會越來越明顯。産業環境方面,國内基本上已經有非常完善的産業鍊。從foundry到封裝,測試,失效分析,整個鍊條已經非常完善。未來幾年,國内必将湧現出一批高水準的設計公司。 

    客觀上來看,國内微電子産業發展所必需的客觀條件已經基本具備,我們現在正處在産業高速發展的初期。正好現在,正好這個專業方向是我們的黃金時代。 

2、自我的修煉(僅強調技術方面) 

    以我自己的經驗,在這個不錯的大環境中,在投身于這個産業前我們所需要的個人積累和修煉大緻看起來,需要下面幾個方面: 

知識儲備 

    知識儲備,這方面首先是基本的基礎專業知識。例如對于很多的具體工作方向,象信号與系統,數字信号處理,微電子工藝基礎,基本的模拟/數字電子線路,這方面的知識是不可缺乏的,無論是從事數字或者是模拟方面工作。另外,對于不同的專業方向,也需要更為深入和廣泛的不同方向範圍内的知識儲備。 

    例如對于一個優秀的CMOS模拟晶片設計工程師,除了需要知道幾乎所有的基本模拟電路的工作原理和原型電路實作外,對于功率和高頻電路的熟悉與了解,對于數字電路構成子產品的熟悉和了解,對于通信系統熟悉和了解,對數字系統的熟悉和了解都不會是無用的。跨學科的知識會很大程度上增強一個工程師了解和解決問題的能力。尤其是在現在,CMOS技術主導了現在消費電子晶片設計領域,CMOS非常有優勢的一個方向就是數字處理。那麼在系統中合适的采用數字處理可以增強性能和減小代價。 

    在自己的專業方向,對相關子產品和結構相關知識的積累是很重要的。這方面的積累就我個人的感覺就和背單詞一樣。我們設計的電路中,極少情況下才會用到原創的東西。和天下文章一大抄一樣,天下晶片也是一樣的。這樣,在合适的時候選取合适的電路結構,并進行正确的裁減,就是我們大多數情況下需要做的事情。和寫文章一樣,隻有自己擁有了大量的詞彙量,那麼才能在需要用到的時候挑選出最合适的那個。巧媳婦難為無米之炊,首先把材料備齊了,一桌盛宴才可能開始動工。 

    很多時候,對應于一個特定的功能子產品,選取正确的電路結構折中是一條非常艱難并且充滿風險的道路。需要強調的一點就是和很多人的看法不一樣,晶片設計裡面永遠沒有最好的電路,隻有最合适的電路,合适就是恰如其分的滿足設計個方面要求。包括性能(設計性能包括典型名額,噪聲,功耗,電源工作範圍,PSSR,溫度範圍,ESD等等),面積,良品率等,還包括設計風險,設計代價(時間,金錢,對其他子產品性能名額的依賴性),可測試性,封裝要求等等各個方面。在得到一個合适的設計的過程中,設計者的直覺将會起到非常重要的作用,一個優秀的設計工程師的直覺可以很大的加快設計速度,迅速得到合理的設計折中。 

    那麼為了培養出良好的直覺,是需要長時間的付出艱苦的努力才能得逐漸得到的。主要需要在如下幾個方面努力: 

    首先,深入的學習基礎構成子產品。深刻的了解一個子產品,廣泛了解不同的實作方法和取舍手段并比較差異,明白差異在不同系統中的折中。深刻了解,例如對于一個2級miller補償的運放,那麼需要從各個方面的折中來分析,例如每個半導體對系統個方面性能的影響,包括功耗,增益,增益帶寬積,壓擺率,輸出阻抗,噪聲,面積,電源性能(過高和過低),PSRR,直流漂移,等等。首先是分析(仿真/手工計算)。然後再回頭考慮對每個性能的調節如何通過修改電路來進行。這樣才會真正的明白這個電路,下次用到時就可以信手拈來。這樣學習的電路多了後,自然就會積累出足夠的對電路子產品直覺。對于數字方面也是一樣,首先是基礎實作子產品,然後是協定和算法。我們分析的功能子產品多了,明白各種協定自身的取舍原則和結果,自然下次碰到類似問題就胸有成竹。這樣的學習開始困難,到後來,可能隻需要花點時間看一看想一想,就能夠明白電路背後的精義,和背單詞很象。剛開始是單詞本上的單詞才背一背,再後來就是背詞典,再往後就是所有不認得的都要背一背。 

    其次是廣泛的了解相關的知識和系統。相關的資料大概都需要看一看,可以看看摘要,甚至也可以隻記個名字,這樣以後忽悠人的時候也會多一些談資麼。多了解這個方向的研究曆史,現狀和發展方向,以及這個方向在不同系統中的應用前景和特點。對于某一個具體的專業方向,我覺得了解過去10年20年中人們是如何研究和了解這個咚咚,現在的發展方向,和未來的應用前景方面是需要花費一些功夫的。和Google和圖書館可以找到很多這方面的資料。大量的閱讀可以建立一個對整個方向的宏觀概念,對于自己以後深入研究和了解某個專門方向會很有幫助。例如我們研究Delta Sigma ADC,那麼在了解基本的原理後,需要知道過去的時間中大家都在這個方向做了些什麼,從80年代就已經成熟得到廣泛應用的2級單bit,到現在多種多樣的,高精度,高速,低電壓,低功耗,包括passive的,多bit,連續系統,每一種子方向的發展都有其自身的驅動力,選擇與自己相關的幾個子方向進行詳細了解,明白他們的應用背景和功能/性能限制是很必要的。 

    然後我們再回頭從系統方面看看對電路和功能子產品的折中。一個晶片的設計過程是反複的疊代的過程。無論是數字還是模拟,大緻上都差不多。首先我們要從系統名額給出對各個子產品的設計限制。很多情況下,系統名額本身就是不合理的。因為考慮到成本,性能,項目進度等各個方面來得到一個合理的系統名額分化,是需要很長時間的反複試驗才可能的。那麼從電路子產品方面來講,了解設計限制和系統整體名額以及和外圍子產品名額的關系,對于優化電路子產品和系統性能是很有好處的。例如在射頻接收機中的中頻AGC和filter部分,噪聲/增益/功耗/等各項名額會緊密地影響到後段的ADC(如果有ADC)和前面的混頻器。那麼當了解從系統外圍名額到這幾個電路子產品的名額分劃過程,以及這幾個子產品名額之間的依存關系,無論對于設計整個接收機系統,還是設計僅僅是filter中的一個運放,都是很有好處的。 

    通過平時在這幾個方面的知識積累,我想應該是可以逐漸獲得不錯的設計直覺的。這裡面很重要的一個就是興趣,或者是其他的動機也可以(例如掙錢,甚至報仇,或者為了自由...),總之是需要強烈而持久的動機,因為這些過程雖然偶爾會有一些有趣的地方,但總體而言是是枯燥而且少有陪伴的。這樣的知識積累和儲備的過程是一種自我的修煉。這樣的修煉會持續一個IC工程師的整個職業生涯,因為你先前所積累的知識會不斷的被更新和替換。 

技能儲備 

    技能儲備對于提高效率很有好處。工欲善其事,必先利其器。對于電路或者邏輯設計工程師而言,技能方面的儲備主要涉及基本技能,專業技能,和職業技能幾個方面。 

    基本技能和一些基礎知識有時很難厘清,但都是是我們容易忽視的地方。基本技能包括對各種基礎的軟硬體裝置的熟悉。例如鍵盤指法就需要重視。托OICQ的福,很多人的基本指法都已經過關了,但是能夠花20~30個小時認真進行一些指法方面的基礎訓練話,我相信在未來的工作中可以節省10倍或者上百倍的時間。對于基本的linux作業系統,基本編輯軟體等,同樣的花一些時間熟悉和了解都會是事半功倍的效果。基礎硬體方面可能要求不會很高,示波器,頻譜儀,信号源之類的,這些東西一到兩天就可以熟悉了,是以問題肯定不會很大。基礎知識的熟悉就相當的廣泛了,例如簡單的RC常數,dB到倍數轉換,反相器延遲和延遲/負載特性,複雜一些的DFF的面積/功耗,不同工藝下半導體特性的變化等等不一而足,這些方面的常識一個是需要熟悉,一個是用心積累,時間長了就都會了。 

    專業技能和職業方面,涉及到一些基本專業軟體的使用和了解。例如matlab,一門進階腳本語言(典型的TCL)可以在以後節省很多時間。例如典型的一個例子可以用awk寫出無數個.measure語句用來在spice仿真結果中得到一個信号的jitter,更進階的,可以完成很多批處理的功能,節省人工互動。會的越多,碰到問題時方法就越多,把問題解決的可能性就大一些。 

    另外,對EDA軟體的熟悉和了解也很重要。無論數字系統還是模拟系統,我們現在的晶片設計很大程度上依賴EDA軟體。是以對他們的熟悉就顯得很重要了,這裡面我要說明一點,很多情況下,例如在某個速成班或者是自己照某個教程做一遍,隻能說是大緻了解。真正碰到問題時還是會抓瞎。這裡面有兩種熟悉方式,一個是自己碰到問題了解決了,或者看别人怎麼解決問題。另外一個就是看軟體說明書,一個是正向學一個是反向學,都很有用處。很多問題的都可以在軟體說明書上找到解決方法。解決的問題多了,就會明白一些後面的道道。 

初步的經驗積累 

    經驗可以分成成功的經驗和失敗的經驗。成功的經驗越多,那麼個人就會越有價值,因為你知道路是怎麼走的。基本的項目經驗可以通過學習其他人的經驗,或者是自己通過實踐得到。在學校裡面,課程項目和科研項目都是非常好的學習的地方。 

    學校在積累經驗方面相對而言會在具體的工業實踐方面欠缺一些。這是由于目前我們科研的價值趨向和工業界的價值趨向的小差別造成的。很多情況下,我們在科研方面是非常關注晶片性能的,偶爾關注功耗,其他方面基本上不考慮。例如成本,可靠性,電源,EMI,良品率等等其他很多東西。當加上這些限制後,我們對同樣一個設計目标,選擇的道路可能大相徑庭。例如可能一個産品會為了能滿足苛刻的工作環境,花費很大的代價甚至犧牲部分性能去換取好的電源抑制比,或者為了降低EMI(電磁幹擾),而增加其他子產品設計難度或者犧牲整體性能。一個低良品率的産品可能會被認為是完全失敗的項目,而在科研過程中,哪怕良品率是1%,隻要能找到一個晶片滿足功能,就會是成功的。這樣的結果就是很多情況下,我們在學校學到的是不完整的項目經驗。 

    但是無論如何,在職業方向的項目經驗會非常重要,基本上是很多公司招聘員工的必要條件。 

基本素養 

    基本素養已經強調了很多遍了。大緻列一下比較重要的:學習能力,溝通能力,協作精神。做所有的事情都需要的。 

    總結一下,作為一個合格的晶片設計工程師,大概需要這方面的一些知識和能力:基礎的知識儲備,基本的技能儲備,基本的項目經驗和良好的個性。 

3、職業選擇 

    前面說的是如何成為一個讓公司滿意的工程師,那麼對一個合格的工程師,如何挑選自己滿意的公司呢。 

個人興趣 

    首先是個人興趣,你願意從事這個事業,而且你喜歡你所從事的事業。在做出這個決定之前,我建議先具體的了解一下這個行業,包括同學/師兄他們在做什麼。相對于現在的選擇而言,在職業生涯中途放棄或者改行從事另外的方向會面臨更大的風險和代價。是以在做出自己的決定之前,慎重的了解和選擇,多聽取他人的建議,比較多方的利弊是很有必要的一件事情。 

    對于晶片設計企業方向而言,可有的職業選擇并不多,數字設計方面,算法,架構,設計,驗證,和後端5類,模拟設計方面,基本上就設計和版圖兩類。另外就是應用和支援方面,包括測試電路闆,電路原型設計等,這方面偏向闆級的電路設計。還有一部分就是營運,包括物流鍊管理,晶片封裝,測試流程的控制等。這部分員工需求量稍微少一些。 

薪酬回報 

    薪酬回報包括兩方面,一個是薪酬,這個是真金白銀的報酬,包括工資,獎金,股票等等;另外一個是回報。回報包括了物資的(薪酬)和非物資的部分。非物資的部分含義非常廣泛,包括個體所學到的經驗,技能,包括建立人脈關系,包括所從事的公司的業内聲望,甚至包括所從事的具體項目的機會。 

    一般而言,工作的唯一目的就是得到合理的回報。是以,合理的回報水準是選擇公司的重要标準之一。 

團隊環境 

    工作環境很大程度上是由所在的團隊所影響的。在一個開放,自由而且積極的團隊中,知識和技能的積累要快速的多,讨論和交流是互相學習公共進步的必備條件。一個人的力量在我們這個行業是極其渺小的。在選擇一個公司之前,花一些時間和你的上司溝通和了解工作環境,氣氛,并且中肯的評價你的上司的個人能力眼界和個性在這方面會比較有幫助。 

大公司/小公司 

    再評價一下小公司和大公司的選擇。 

    這方面對比在其他行業已經很多了。總結一下,一般情況下,大公司風險低,回報适中,門檻略高;小公司風險高,回報高。具體的選擇和個人的風險傾向很有關系,例如有人喜歡存錢到銀行,有人喜歡買股票,也有人喜歡買彩票。每個人都會根據自己不同情況有自己的取舍。 

    對于晶片行業而言,我認為小公司相對而言是更好的選擇。晶片行業在國内正在高速發展的一個産業。現在新成立的很多小公司在技術上都相對而言比較先進,是以能夠得到比較好的訓練。另外,因為整體而言,有豐富經驗的員工還是很缺乏的,是以競争導緻新興小公司的薪酬水準要稍微高于行業平均水準。在新興小公司中,很多都是處在急速的成長期,是以個人發展空間比較大。是以在目前國内整體行業迅速發展的大背景下,考慮到風險和回報的折中,新興小公司相對而言應該是比較有利的選擇。 <script event="onload" for="window" type="text/javascript">ImgLoad(document.getElementById("BodyLabel"));</script>   

繼續閱讀