# IC Design Overview ## Introduction 如果不喜歡看文字的話,歡迎看這部影片[阿嬤都能懂的 IC 設計流程](https://www.youtube.com/watch?v=kYUhk6FQwBc)講解的非常清楚,可以看過這個影片就很了解IC design的流程了,本文章會統整看到的資料來寫成一個筆記,供自己回來察看以及分享給大家,後面會著重在軟韌體的部分,也是自己目前想去做的工作。 ## IC Design Flow Chart  一顆IC從無到有的過程中就猶如上圖所示,這樣做出來的IC就會稱為特殊應用積體電路(ASIC, Application Specific Integrated Circuit) **1.Design Specification** 要做一顆IC或IP(Intellectual Property一種事先定義、曾經驗證、可以重複使用的功能組塊),或是單純一個IC中的元件,就需要了解到底要做什麼,以及如何去做這樣的過程,我們可以稱之為叫做spec,定義Designer必須要在這個過程,把spec規格開出來,並且詳細地寫成一份文件讓相關人員,所以常會聽說要讀SPEC內的datasheet,就是這樣來的。 **2.RTL coding** 暫存器傳輸級(RTL, register-transfer level)大量的使用暫存器與算數邏輯元件(ALU或FU)來描述電路,是最廣泛被運用的初期IC設計和驗證的方式,最熱門的語言莫過於VHDL與Verilog HDL,利用硬體描述語言來描述電路的行為,並且將這些資料傳送的情形詳細的描述出來,這部分就是digital designer開始工作的地方啦! ```verilog= //verilog範例 module <name> // 模組名稱 parameter ... // 參數宣告 port ... // 腳位宣告 wire ... // 線宣告 reg ... // 暫存器宣告 initial begin // 初始化設定區塊 end assign ... // 資料處理層級之描述 ... // 引用較低階模組別名 always begin // 行為層級之描述區塊 // 資料處理與指定等描述 // task與function的使用 end function // 函數宣告 task // 作業宣告 endmodule ``` **3.Functional verification** 當程式寫完後就要進行確認,看看程式部分有沒有問題,例如預期硬體需要1+2=3,那麼進行模擬時就要去確認是否正確,這時候就是寫一堆testbench驗證行為正確性。 **4.Synthesis** 寫完的code需經過合成,把寫的HDL轉換成netlist 形式(gate-level),Gate-level指的是把全部描述語言轉換成邏輯表示式XOR、NOT等,之後再做place&route時,就是以netlist為輸入檔。  **5.Placement** Digital IC desgin的過程差不多之後就會針對physical design部份去優化,這時候通常會請APR部門幫忙,因為像是IC的timing, performancer及決定各個module裡面邏輯閘的擺放位置以及繞線(Route)等等的調整,都可以在這個stage做調整,配合EDA tool的演算法最終才能完成一個及格的電路,有些特別的routing不會自動拉而是要手動設計,如:RF等。 **6.Tape-out** 將沒有問題的IC設計圖交給IC製造公司(UMC、TSMC),請他們幫忙做出來,根據確認好的製程(28、14、7、5奈米等)去真正將IC給生產出來,每次Tape-out後會花很大量資源,所以以上過程都要確定好是完善的才能進行到這步,所以不論是數位IC設計或是驗證、測試部門都非常非常重要。 **7.Fabrication、Packaging & Testing** 生產完IC後,接下來通常會經過封裝測試相關的公司(日月光等)來幫忙驗證說這顆生產出來的IC是否有什麼問題,以及將它給封裝好,最後再回到原廠,或是客戶手上。 *註 : 以上部分大部分都剪剪貼貼,把資料統整得更好而已,下方都有參考的地方!* ## IC 產業結構 & 特色 ### IC產業鏈 IC 產業鏈中可以簡單的由上述去做拆分成三大類,IC設計、IC製造、IC封裝與測試  IC設計就是Design House,就是國內俗稱豬屎屋的公司,每間公司都各有所長,分別負責了不一樣的IC,我們也稱為晶片設計的上游公司 IC製造就是IC設計圖畫好了要怎麼樣產生出實體的IC呢,那就是IC製造的公司要做的事情也就是上面提到的Tape-Out IC封裝與測試就是前面提到的驗證生產出來的IC是否有問題,將其封裝好,最後回到原廠客戶手上囉! ### IC公司名詞解釋 **Fabless** : 無廠半導體Fabrication(製造)和less(沒有)的組合字,專門做設計的公司,所以就是上述的Design house,如 : 聯發科技、聯詠科技、瑞昱半導體等。  **Foundry** : 負責製造、生產晶片的公司,Foundry原意為鑄造工廠,從它的字面意思可以看出其與集成電路的聯繫,如 : 台積電、聯電等。  **IDM** : 垂直整合模式(IDM, Integrated Design and Manufacture)一個公司包辦從設計、製造到銷售的全部流程,需要雄厚的運營資本才能支撐此營運模式,如英特爾和三星。  **ODM** : 委託設計製造商(ODM, Original Design Manufacturer)除了提供生產製造還提供設計,如 : 廣達、友達、緯創、和碩、仁寶等。產品由ODM代工廠設計並生產。  **OEM** : 委託成品製造商(OEM, Original Equipment Manufacturer),以提供生產製造為主不提供設計服務。OEM代工廠負責生產,如IPHONE是由APPLE設計交由鴻海生產。  **OBM** : 自有品牌之設計製造商(Own Brand Manufacturer)除了具備設計製造外,還有自有品牌行銷能力,如 : ASUS、ACER、Lenovo等。可提供ODM及OEM代工服務,容易產生自有品牌和客戶競爭的疑慮,因此OBM會把ODM、OEM分開,如ASUS分出純代工廠和碩。  **IP** : 矽智財(Silicon intellectual property)這些公司只負責設計電路,不負責製造、銷售的公司稱為矽智財提供商,自己設計IP,包括指令集架構、微處理器、圖形核心,然後誰喜歡就把授權賣給誰。如 : ARM、Synopsys、Imagination Technologies、智原、M31等。  **EDA** : 電子設計自動化(EDA, Electronic design automation)是指利用計算機輔助設計(CAD)軟體,來完成超大型積體電路(VLSI)晶片的功能設計、綜合、驗證、物理設計(包括布局、布線、版圖、設計規則檢查等)等流程的設計方式。如 : 新思、Cadence。  ### 台灣IC公司類型分類 分類中會以公司負責最大量負責的部分進行撰寫,如有寫錯還請指教。  **IP設計、晶片設計服務提供商** : 億而得 (6423)、智原(3035)、力旺(3529)、世芯-KY(3661)、晶心科(6533)、巨有科(8227)、全訊(5222)、一元素(6842) **多媒體晶片** : 聯發科(2454)、瑞昱(2379)、立積(4968)、信驊(5274)、神盾(6462) **記憶體晶片** : 群聯(8299)、旺宏(2337)、華邦電(2344)、南亞科(2408)、晶豪科(3006)、鈺創(5351)、凌泰(6198)、全宇昕(6651) **微控制器IC** : 凌通(4952)、盛群(6202)、義隆(2458)、通泰(5487)、新唐(4919) **驅動IC** : 聯詠(3034)、瑞鼎(3592)、敦泰(3545)、天鈺(4961)、致新(8081)、矽創(8016)、茂達(6138) **電源IC** : 台達電(2308)、立錡(2454)、茂達(6138)、致新(8081)、凌通(4952) ## Reference [心得](https://www.ptt.cc/bbs/Tech_Job/M.1602809917.A.861.html) [flow](https://ithelp.ithome.com.tw/articles/10195959) [名詞](https://davidhuang1219.pixnet.net/blog/post/331310155-oem%E3%80%81odm%E3%80%81obm%E5%8F%8Aems%E7%9A%84%E5%B7%AE%E7%95%B0%EF%BC%8C%E4%B8%80%E6%AC%A1%E6%90%9E%E6%87%82%EF%BC%81) [產業鍊](https://www.inside.com.tw/article/9029-structure-of-ic-industry) ###### tags: `IC` `Note` `introduction`
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.