說到驗證DV,大致上分成三類:
logic verification, architecture verification, post-silicon,
就業市場上面,九成九的DV都是做logic verification,
工作內容就跟鄉民說的一樣,
寫SV, testbench, test pattern, random-constrain,
固然現在的DV用很多SV UVM以及OOP的概念,
但是真正用到很深的UVM OOP的公司非常少,
即使我當年在高通跟ARM,
UVM也只是公司內剛剛開始架構而已,
所以資工在logic verification的優勢沒有那麼明顯,
反而會被要求對邏輯設計的理解要很深,
比方說很多大公司的DV面試還是考設計state machine, vending machine,
標準考題是設計販賣機能夠收銅板賣飲料然後找零錢,
這個根本就是Design Engineer的考題,
很少公司的DV會去考UVM以及OOP,微軟DV有考,
更誇張的是我從前當面試官面試了上百人,
我每次都只考兩題: 用SV sorting array, reverse link-list,
(微軟DV會考這兩題),
十年來上百人面試,沒有任何一個人能夠回答這兩個問題,
你就知道業界對DV的程式設計能力要求有多低
而且logic verification真的就是Design Engineer的小弟,
是Design Engineer賞口飯給小弟吃的,
你要驗證的block必須是DE願意給你驗,
完全看DE臉色,不要相信什麼資深工程師才能當DV的鬼話
相對而言,
architecture verification, post-silicon才是真的吃經驗跟資工系的專長,
但是這種缺非常少,
因為大部分的IC設計都很小也不太需要這兩項,
除非你的設計非常大而且也跟CPU AI相關才會比較需要這兩項,
而且CPU AI的設計對architecture還有軟體專長的要求非常重視,
比方說,CPU AI設計必須有相對應的compiler, os driver/kernel,
這個已經完全跳脫邏輯設計的層面,
不管你的邏輯設計多好,
要是不懂軟體,編譯器以及OS的概念,
你設計出來的晶片就是垃圾,
即使是logic bug-free也是一樣垃圾,
這才是資工系在這地方最拿發揮才能的地方
比方說,當年我在做SnapDragon的時候,
有一套ARM architecture tests, 大概幾百萬個tests,
這是個ARM給的公版 architecture tests,
ARM要求必須all pass才能賣晶片,
這個就像是個black box testing一樣,
而且是你完全不能改的tests,
當時有幾個fail是真的架構設計出了問題,
只有跑在特殊的軟體/compiler/OS場景才會發生,
這個DE根本不懂也不會debug,
只有資工背景的人才有辦法抓出問題,
當年我在高通就是帶一群人做這個,
全公司我應該是最懂整個ARM架構的人,
同樣的設計AI晶片,
你必須在上面跑各式各樣的ML Model做驗證,
這也非常需要資工跟軟體的背景,
至於post-silicon是另外一個故事了,
這個更是需要資工跟軟體背景,
基本上我在各大公司最後也是關鍵的部分都是post-silicon的地方,
裡頭故事很多
※ 引述《jpopaholic (日音スキ)》之銘言:
: ※ 引述《Kuba4ma ()》之銘言:
: : 目前所知資工去豬屎屋的職缺
: : 好像就演算法和軟韌體最為大宗
: : 軟韌體聽說是在擔屎
: : 會寫C就好 工作較操 很缺人 比較不看重學歷(四中碩就可以進一線)
: : 相對演算法就可能要四大學碩畢
: : 我這樣的理解有錯誤嗎
: 會嗎,理論上資工有部分會碰到電機的部分
: 電機也會碰到資工的部分
: 像計算機組織,資工和電機都會碰到,只是一個必修另一個選修
: 數位電路設計/實驗 資工和電機都會碰
: ....
: 畢竟軟硬體相輔相成
: 我論文幾乎都在做hadoop
: 還是一樣進豬屎屋,就算面試講論文出來豬屎屋的人也多半聽不懂
: 所以誰說資工只能進這兩個職位
: 你有兩把刷子照樣也可以當DD
: 雖然我是DV
: 我還聽過光電進DV的
: 雖然不論DD或DV電機比較多就是了
: 但是目前DV比較熱門,而且比較不限科系
: 畢竟DD和DV都是差不多想法會進入驗不到的盲點