牛人經驗3(IC設計行業分類辨析)
需求說明:向前人學習
內容 :國家與個人以及技術成長
來自 :時間的詩
最近才發現,自己其實連IC設計行業的分類都沒有搞清楚。找工作的過程中,對於一些職位根本沒有理解清楚,連他們是幹什麼的都不太清晰。比如區分不了ASIC工程師,IC前端工程師,FPGA工程師的行業差別。
今天仔細研究了一下,總結一番。
1,IC從基本結構上分,分為模擬IC和數字IC。市面上帶殼的積體電路都叫IC,封裝完好的一個放大器是模擬IC,一個微控制器叫做數字IC,一個簡單的鎖存器,小片儲存器都是數字IC。IC設計這個行業乾的工作就是設計晶片,模擬IC需要設計電路,並且模擬,然後佈線,流片,封裝;數字IC需要設計邏輯,模擬,然後佈線,流片,封裝。
所以講數字IC設計的書花了大量的精力去講版圖,佈線並且計算各種結構電晶體的電容和電阻,非常偏底層,而且非常枯燥難學。
2,IC設計從流程上分,分為前端和後端。前端主要是做功能設計和模擬,也叫邏輯設計,一般門檻較低,容易上手,會一些設計軟體,模擬軟體以及硬體程式語言(verilog/VHDL)就能幹活,比如spice,cadence,synplify,multisim等;後端就很難了,也叫物理設計,主要做封裝設計,版圖設計以及流片工藝等,需要對流片的工藝極為熟練,據說基本靠熬出來的,而且非常看重經驗。
3,IC從功能上分,分為通用IC和定製IC(ASIC)。一般可以查到資料手冊的IC都是通用IC,可以直接拿去搭電路板,比如ARM處理器,各種flash儲存器,各種AD,各種放大器。而ASIC一般沒有資料手冊,並不實現整個系統,往往只實現系統的很小一部分,比如DDR2的控制部分,玩具熊的控制晶片。這也導致ASIC應用範圍並不廣。
4,定製IC(ASIC)分為半定製IC設計和全定製IC設計。半定製IC可以基於單元設計,也可以基於邏輯陣列設計,總而言之不用自己設計最基本的版圖,可以利用現有的東西;而全定製IC設計則需要手工製版,難度很大,既要做前端,又要做後端,工程師不依賴任何現有模組。目前全定製IC一般用來製作庫單元。
如今的IC設計,稍大的專案基本上不使用全定製模式,IC設計的一個前期任務,就是確定哪些功能利用現有的模組來直接複用,哪些需要自己定製,然後再對需要定製的部分進行專門的設計。而這部分設計又分為邏輯設計和物理設計,也就是前端和後端。
數字IC前端設計,ASIC前端設計和FPGA設計其實很相像,都需要掌握硬體程式語言(verilog/VHDL)和基本的EDA工具,所以他們的崗位需求看起來都很相像。但是從概念上看,IC是個大概念,ASIC設計則是其中一個很小的部分,FPGA設計則是其中一種方法,通常只做矽前驗證。
不過,如今因為流片的成本很高,所以IC設計行業門檻較高,中國很多公司規模很小,做不了晶片。倒是FPGA設計因為不需要流片,再加上良好的可程式設計能力,所以基本上從IC設計中獨立出來了,使得FPGA工程師的需求超過了IC設計的需求。中國的IC行業目前也處於困難階段,不過IC行業始終是資訊產業的基石,使用FPGA只能解一時之急,中國還是要發展自己的晶片產業的。