10分鐘認識IC開發流程(IC Design Flow)

更新 發佈閱讀 9 分鐘
raw-image

回想不久前還是IC小白的我,充滿困惑、這不懂那不懂、搞不清楚很多東西,還每天厚著臉皮去公司坐著(?),經歷一段時間的學習和成長,到現在我還是常常不確定自己在幹嘛,能夠聽懂各種專業術語,隨著專案推進掌握進度,在會議上能抓到重點紀錄,總算是敢承認自己有在IC公司當PM(明明之前也有承認哈哈哈但是心比較虛咩),本文主要是透過自己對於IC開發的理解,用最最簡化、白話文方式摘要出IC開發流程中的相關知識,幫自己的成長做個紀錄,也分享給剛加入半導體/IC產業的小白們,希望這篇文章可以提供幫助。

抽象化(abstraction)

在進入IC開發流程前,先了解一個重要的概念"抽象化(abstraction)",維基百科上的解釋是"把一個概念或是一個現象的資訊含量縮減,為了只保存和特定目的有關的資訊"(https://zh.m.wikipedia.org/zh-hant/%E6%8A%BD%E8%B1%A1%E5%8C%96);

舉個較好聯想的例子-
進行一座城市規劃:左邊住宅區,右邊工業區;
->進到住宅區後:上方是獨棟透天區,下方是電梯大樓區;
->再進到獨棟透天區:第三排第一棟是我家,要有五層樓以及前院後院;
->再進到房子內部:二樓靠陽台的房間我就坐在這;
當討論城市規畫這一層級的時候,我們不看往下層級的細節,只要知道左邊這區塊是住宅區右邊是工業區,住宅區規劃60%,工業區規劃40%,中間要建三條大道連接;當討論住宅區規劃這一層級,上方透天佔30%,下方大樓佔60%,中間10%來蓋美術館博物館藝術中心劇院,我們也不再往下一層級看,把其他層級模糊化,以方便聚焦在關注的層級中;或許可以想成有點縮放的概念。

raw-image

IC開發流程圖

那理解IC開發流程,先要有抽象化概念,IC設計包含太多複雜的細節,當我們關注某一層級的時候,就模糊其他層級的資訊,專注在當下的層級討論,先看張流程圖:

raw-image

System Specification & Functional Design:

前兩步驟就用直覺理解,從應用層面的需求、規格定義開始,到應該要有哪些行為表現,比如要設計給筆電用的CPU,往下規格展開要有多少位元的運算能力、能處理到多複雜的邏輯運算、讀寫指令的速度要多快...等。

Logic Design/RTL(=Register Transfer Level, 暫存器傳輸級) Description:

這個層級是把上層定義好的功能拆解成更細的步驟,把要做的事每一步coding出來。Register是暫存器,叫暫存器表示它可以存值,把它想成一個個模組(你coding進去要它做的事),可能是加法器、乘法器、比較器...等等,並且帶有時序的概念在裡面,輸入一些東西進去這個模組,就會得到對應的輸出,比如訊號A在第0.000000000001到0.000000000002秒間進入這個模組,那就輸出0,如果在第0.000000000002秒以後進入,那就輸出1,電腦的世界只有0和1,經過層層暫存器0101010101的排列組合輸出各種結果;在這裡工程師用的程式語言叫硬體描述語言,大宗使用Verilog,跟一般常聽到的Python、Java、C不太相同,反正它就是專門設計IC的程式語言。

做簡報用PPT、做樞紐表格用Excel、畫圖用小畫家,那麼設計IC用各種EDA工具(Electronic Design Automation, 電子設計自動化),EDA工具會幫忙把RTL code轉成上百萬個邏輯閘(logic gate)組成的連線圖"netlist",如下方右圖;邏輯閘想成一些數學運算子,有NOT gate/OR gate/AND gate.....,丟進去一個/些值,經過邏輯閘會出來一個值,看下方左圖;邏輯閘的運算就是布林代數Boolean algebra,可以搜尋Youtube王俊堯教授的數位邏輯設計課,看個幾集大概知道在幹嘛就可以。

raw-image

Circuit Design:

再往下一層,是轉出以電阻、電容、電晶體等電子元件符號表示的電路圖(Schematic Circuit Diagram),在上層同樣的邏輯(logic),可以用不同的電路來設計,這階段會決定要用哪些電路。這個電路圖或許大家會感到稍微熟悉(?),國高中物理課有學過一咪咪:

raw-image

一般IC設計分為前端(front-end)和後端(back-end),到此階段為止算是前端工程師的任務,在每一階段,會透過各種模擬來確認這一步驟的產出和上一步驟的設計是相符的。

Physical Design:

接下來進到了物理上具體實現的階段(Physical implementation),到底要怎麼樣在矽晶圓(wafer)上把這個電路做出來?矽晶圓生產是一層層堆疊的概念,可以用3D列印機來想像一下,後端工程師使用EDA工具,一層一層畫出很多張2D圖(叫做IC layout),生產製造時照著圖一層一層做,把不同材料往矽晶圓上疊,疊出3D複雜結構,做成晶片。

下方圖示是一個電路圖畫成layout,除了電路概念,這還要有一點想像力和空間感,我們就先大概好像有看懂看個感覺就好,不同顏色表示在不同圖層上畫的,生產時要用不同的材料做,實際畫layout真的是用一些長條型方型圓型去畫出來,我想了很久到底是怎麼畫的,還是處在一種好像有感覺又好像沒很清楚的狀態,總之工程師就是知道左邊電路圖要怎麼畫成右邊的2D圖,google IC layout/ CMOS layout/ transistor layout就可以看到一大堆這種很炫的圖,多看一些培養感覺。

raw-image

GDSII for manufacturer(Tape out):

最後畫好的這些設計圖,要轉成GDSII檔案,就像圖檔是JPEG格式、影片檔是mp4格式,GDSII是一個二進制充滿010101010100100011的檔案,交到晶圓廠(如護國神山)去下線生產,叫做Tape out,晶圓廠就一步步按圖施工,堆疊出3D結構;晶圓剖面圖例如下,n+、p+寫什麼都看不懂沒關係,就想成不同的材料,材料一層一層往上鋪,鋪一層挖幾個洞,再鋪一層再挖幾個洞,幾百道工序之後才能成為一顆IC。

raw-image

再整張看一次流程圖,再把城市規劃拿來類比一下,是不是有加深印象更加了解一些(嗎?):

raw-image

每顆IC都是非常多人努力的結果,從設計開始就是一個龐大的團隊,到生產過程中更是層層把關,才能做出這麼小這麼精密的東西,隨著技術越來越先進,新聞上常常聽到的28奈米7奈米5奈米到現在3奈米(幾奈米就想成用多細的筆來畫設計圖,一樣面積下,是不是越細的筆可以畫越多東西),越縮越小製程越來越難,設計檔案交到晶圓廠後要半年才能做出來,後面還要進行封裝、測試等等,我還沒涉略IC設計領域知識的時候沒想過是這麼難,了解之後真的很佩服人類的聰明才智。

半導體知識學習網站

最後再分享幾個我自己很有收穫的網站,都寫得很棒很容易理解,如果完全不在電子業領域,可以先去前導科普一下這些半導體知識,再回來看看本文(又或者是我寫得太難以理解,最少還可以收穫這幾個很棒的網站來學習哈哈哈):

蔥寶說說
https://www.macsayssd.com/ 裡面的半導體與IC章節
作者的文筆很有趣,圖也選得很好,關於半導體製程的解說非常棒,非常淺顯易懂;不過網站已經停更好一陣子,由於製程與產業消息每年的進步與變換神速,可以再看以下的網站

周國華老師的半導體產業分析
http://www.ais.nptu.edu.tw/SemiCon/SemiCon.html
老師講了很多半導體產業新聞與分析,並且持續更新中,有在玩股票的同學也可以參考吸收點產業知識

寫點科普
https://kopu.chat/ 裡面的半導體章節下的晶圓代工
超級佩服這個作者,不是相關背景又很年輕,整個網站寫的東西都很硬,涉略領域又超多,絕對花非常多時間做功課和前置作業(感覺超級聰明智商超過157!!!),內容很豐富,可以幫助不同領域的很多同學

最後的最後,希望這篇文章給你帶來收穫,如果有任何想法想分享,都歡迎告訴我~

留言
avatar-img
留言分享你的想法!
avatar-img
FEINNOTE
55會員
15內容數
Sharing
FEINNOTE的其他內容
2024/04/11
AI應用遍地開花,討論AI晶片的同時,也來認識一下台積電的其中一項先進封裝技術CoWoS,本篇試圖簡單說明。
Thumbnail
2024/04/11
AI應用遍地開花,討論AI晶片的同時,也來認識一下台積電的其中一項先進封裝技術CoWoS,本篇試圖簡單說明。
Thumbnail
2023/07/16
IC產業常用術語,什麼是LEF? LIB? 打開小白筆記~
Thumbnail
2023/07/16
IC產業常用術語,什麼是LEF? LIB? 打開小白筆記~
Thumbnail
2023/06/27
IC產業常用術語,什麼是SDC? DRC? EC? 打開小白筆記~
Thumbnail
2023/06/27
IC產業常用術語,什麼是SDC? DRC? EC? 打開小白筆記~
Thumbnail
看更多
你可能也想看
Thumbnail
吸引力法則是互相的,頻率相近的兩方總會尋到彼此。香氛和你也是。
Thumbnail
吸引力法則是互相的,頻率相近的兩方總會尋到彼此。香氛和你也是。
Thumbnail
本文探討臺灣串流平臺的發展現況、競爭格局,並解析其帶來的經濟效應。透過美國電影協會(MPA)的講座內容,結合業界專家意見與生活觀察,文章揭示串流平臺如何影響內容製作, 同時討論臺灣有利的創作環境,包括自由的風氣和開放的政策,對於提升國家軟實力與國際影響力的重要性。
Thumbnail
本文探討臺灣串流平臺的發展現況、競爭格局,並解析其帶來的經濟效應。透過美國電影協會(MPA)的講座內容,結合業界專家意見與生活觀察,文章揭示串流平臺如何影響內容製作, 同時討論臺灣有利的創作環境,包括自由的風氣和開放的政策,對於提升國家軟實力與國際影響力的重要性。
Thumbnail
數位IC裡我們關注的都是0或1, 大家都知道電腦是0101在做二進位的運算, 在晶片裡又是怎麼做到的? 實際上我們在設計晶片時,會給他一個VDD跟GND, VDD-GND給的是預期的Driving volatge, 像是5V或9V 以5V為例 0或1物理上就是目前的電壓靠近0V或5
Thumbnail
數位IC裡我們關注的都是0或1, 大家都知道電腦是0101在做二進位的運算, 在晶片裡又是怎麼做到的? 實際上我們在設計晶片時,會給他一個VDD跟GND, VDD-GND給的是預期的Driving volatge, 像是5V或9V 以5V為例 0或1物理上就是目前的電壓靠近0V或5
Thumbnail
IC產業常用術語,什麼是LEF? LIB? 打開小白筆記~
Thumbnail
IC產業常用術語,什麼是LEF? LIB? 打開小白筆記~
Thumbnail
IC產業常用術語,什麼是SDC? DRC? EC? 打開小白筆記~
Thumbnail
IC產業常用術語,什麼是SDC? DRC? EC? 打開小白筆記~
Thumbnail
本文摘要出我覺得IC開發流程中最基本的相關知識,幫自己的成長做紀錄,也分享給剛加入半導體/IC產業的小白們,希望這篇文章可以提供幫助。
Thumbnail
本文摘要出我覺得IC開發流程中最基本的相關知識,幫自己的成長做紀錄,也分享給剛加入半導體/IC產業的小白們,希望這篇文章可以提供幫助。
Thumbnail
熱傳遞路線 一個典型的IC封裝大概長這樣,下面是內部結構和背面的示意圖 於是經過簡化後,一顆IC打在PCB上可以簡化成這樣子的一個模型 以晶片為發熱體,熱的路徑可能從樹脂走,可能通過PCB走到背面,可能走Lead frame,或是各種意想不到的方式,但是主要的路徑是以下這兩條 按照這個簡化模型的熱阻
Thumbnail
熱傳遞路線 一個典型的IC封裝大概長這樣,下面是內部結構和背面的示意圖 於是經過簡化後,一顆IC打在PCB上可以簡化成這樣子的一個模型 以晶片為發熱體,熱的路徑可能從樹脂走,可能通過PCB走到背面,可能走Lead frame,或是各種意想不到的方式,但是主要的路徑是以下這兩條 按照這個簡化模型的熱阻
Thumbnail
分類原則請參照這篇 狹義來說,我們把建模視為幾何建模的簡寫,但是廣義來說他應該是會包含發熱體行為,風扇行為,所有會影響到各方程式架設的因子。也就是說如果我們今天以最基本熱流模型,那就會有流的建模和熱的建模。 雖然說是流體建模,但是實際上卻是畫固體邊界,然後不屬於固體的部分通通是流體。一般概
Thumbnail
分類原則請參照這篇 狹義來說,我們把建模視為幾何建模的簡寫,但是廣義來說他應該是會包含發熱體行為,風扇行為,所有會影響到各方程式架設的因子。也就是說如果我們今天以最基本熱流模型,那就會有流的建模和熱的建模。 雖然說是流體建模,但是實際上卻是畫固體邊界,然後不屬於固體的部分通通是流體。一般概
Thumbnail
建模 (Modeling) 畫細不難,難在用最經濟的方式達成 "雖不中亦不遠矣"。 網格 (Meshing) 任憑你列式再怎麼漂亮,解不出來就是白搭。 求解 (iterating) 能收斂都好說,不能收斂就是痛苦的開始
Thumbnail
建模 (Modeling) 畫細不難,難在用最經濟的方式達成 "雖不中亦不遠矣"。 網格 (Meshing) 任憑你列式再怎麼漂亮,解不出來就是白搭。 求解 (iterating) 能收斂都好說,不能收斂就是痛苦的開始
Thumbnail
程式語言只是工具,更重要的是程式邏輯 【運算思維】 1.拆解: 將一個任務或問題拆解成數個步驟或部分。 2.找出規律: 預測問題的規律,並找出模式做測試。 3.歸納與抽象化: 找出最主要導致此模式的原則或因素。 4.設計演算法: 設計出能夠解決類似問題並且能夠被重複執行的指令流程。
Thumbnail
程式語言只是工具,更重要的是程式邏輯 【運算思維】 1.拆解: 將一個任務或問題拆解成數個步驟或部分。 2.找出規律: 預測問題的規律,並找出模式做測試。 3.歸納與抽象化: 找出最主要導致此模式的原則或因素。 4.設計演算法: 設計出能夠解決類似問題並且能夠被重複執行的指令流程。
Thumbnail
這篇文章為介紹C#基礎知識的一部分,如果你是直接開始寫程式的C#程式員,可以看看這篇文章補足一些基礎知識。
Thumbnail
這篇文章為介紹C#基礎知識的一部分,如果你是直接開始寫程式的C#程式員,可以看看這篇文章補足一些基礎知識。
Thumbnail
「圖解」是一項很有魅力的技能,夠將複雜的資訊濃縮在一張圖上說清楚。這篇文章寫給需要處理複雜問題的人,內容摘要於一位工程師分享「為自己的程式碼做圖解的經驗」,看完後你可以學習圖解的 3 個大概念 — 區分、連結、描述關係,將腦中複雜的問題與邏輯架構,透過圖解表達出來。
Thumbnail
「圖解」是一項很有魅力的技能,夠將複雜的資訊濃縮在一張圖上說清楚。這篇文章寫給需要處理複雜問題的人,內容摘要於一位工程師分享「為自己的程式碼做圖解的經驗」,看完後你可以學習圖解的 3 個大概念 — 區分、連結、描述關係,將腦中複雜的問題與邏輯架構,透過圖解表達出來。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News