技術 - CAD和EDA工程師基本須知
Rain
January 21, 2024
關於CAD(Computer Aided Design)和EDA(Electronic Design Automation)工程師職缺,兩者所指的東西是一樣,早期稱為CAD,後來改稱為EDA。
在台灣地區則是看公司產業而有不同的稱呼,IC設計廠會稱其為CAD,主要負責輔助硬體RD工程師所需的設計流程來做程式開發,屬於Support Team。
而EDA就完全是以EDA產品開發的軟體工程師,屬於軟體RD職缺。
兩者職缺主要相關科系為電機、電子、資工為主,CAD可能會收理科背景的人,像是應用物理、數學系等等。
由於領域屬於軟硬結合的範疇,因此該職缺除電機、電子以外較乏人問津。
該職缺除了需具有軟體設計的演算法優化能力,還須了解硬體電路設計的基本知識,相關人才很難同時具備這些條件,因此組織常會將軟體與硬體拆開來尋找人才。
目前全球EDA三大公司分別是新思(Synopsys)、益華(Cadence)和明導(Mentor),新思和益華兩者正競爭市占率第一名的位置。
這三家公司在台灣地區都設有辦公室,新思的竹科辦公室早期為思源科技,後被併購。
目前各家不僅有EDA產品,還擴展到IP設計等相關服務,因此各家的職缺已經也有硬體相關職缺。
除了EDA外商之外,台灣普遍IC設計產業也都會有自家的團隊,也就是CAD工程師,主要負責維護和開發設計流程。
但CAD部門的職缺是較少的,考量未來的職業生涯,網上也有不少人不建議社會新鮮人將CAD作為第一份工作。
由於CAD職缺需要設計流程(將EDA工具全部串接起來),因此涉略的範圍可能較廣較雜。而EDA職缺則著重在EDA工具使用的熟悉度,和軟體演算法的熟練度。
-
Liberty: 主要用於描述和模擬電路的信號時序和電耗,。
-
Verilog: 硬體描述語言,主要用於描述、設計數位邏輯單元的行為,在積體電路中是常見的語言。
在層級中,Verilog是屬於較底層的語言,非常靠近電晶體和邏輯閘單元,程式語法和指令集或組語較相似。
-
RTL: 全名為(Register-Transfer Lebel),是一種同步數位電路的抽象模型,該模型是根據訊號在暫存器間、組合邏輯裝置和匯流排的邏輯單元之間的流動。
和Verilog相比,層級較屬於高層的語言,語法和C、Java較相似。
-
C/C++程式語言: 軟體程式語言,CAD職缺可能需要維護或開發In-house tool會用到,而EDA職缺則是主要的工作技能。
-
Tcl/Tk: 腳本語言,主要用於控制C/C++所開發的指令(執行程式),由於該腳本語言對文字傳遞、參數設定等有較為方便和強大的能力,在EDA或CAD中是不可或缺的角色。
-
C-shell: 同Tcl/Tk。
-
Python: 在CAD或EDA領域中,用於取代Tcl/Tk的程式語言,這是台積電作為先鋒帶領的趨勢,未來不確定是否為主流。
-
GDSII Format: 是一種積體電路版圖(Layout)的資料轉換格式,供EDA以2D的方式來呈現各層級(Layer)電路設計的版圖(Circuit of Layout)。
-
Netlist(SPICE Format): 用基礎的邏輯閘來描述數位電路連結的情況,傳遞電路連接方面的訊息。
若需要包含更多的訊息,通常會用硬體描述語言來描述。
-
Leaf Cell Library: Leaf Cell是電路設計的基本的單位,而Leaf Cell Library是一種標準元件庫,橫跨電路前端和後端的設計,
涉及到設計流程中各步驟,甚至到各家廠商的軟體。Leaf Cell Library分成兩大類,一類是用來組成電路,另一類是在晶片實體布局(Physical Layout)時做輔助的功能,
一般標準元件庫會提供的資訊有:
1. 元件實體布局(Physical Layout)
2. 邏輯(Logic)資訊
3. 時序(Timing)資訊
4. 功率(Power)資訊
-
Layout Domain: Layout指電晶體和電路設計的版圖,Layout Domain通常指的是電路版圖設計相關的知識。
-
Yacc/Bison: 是Unix/Linux用來開發編譯器的編譯器,全名為Yet Anther Compiler Compiler(Yacc)。
相關文章: CAD工程師在做什麼
Last updated: