關注並標星大同學吧
每天1次,打卡閱讀
快速獲取崗位必備技能
現階段的IC行業,數字IC驗證工程師非常緊缺,尤其是會UVM的驗證工程師那更是奇貨可居。但是最近和一些在校學生和剛入行的朋友們交流的時候,發現大多數人對數字IC驗證工程師的具體工作不甚了解,甚至還停留在寫verilog驗證的階段。
下面我就詳細羅列下數字IC驗證工程師的日常工作內容,希望能讓更多的人了解這個職位,進入這個職位,並喜歡上這個職位。當然每家IC設計公司會有不同,我只能儘量的列出比較通用的工作內容了,就算是拋磚引玉吧。
首先,IC設計公司一般都會把驗證分成幾個層次:
⚫ IP level verification
⚫ unit level / fullchip level verification
⚫ gatelevel verification
每個層次的工作重點都略有不同,這裡就暫不詳細介紹,後面另開一篇文章來交流吧。但是大致的工作流程都是一致的。我重點以IP level simulation來作介紹。
上圖是一個SOC晶片的架構(先不管它是個啥),IP level verification就是對其中一個個小模塊來做驗證。
你的工作包含以下幾個方面,下面逐一進行論述。
最重要的一份spec是design spec,就是和你一起合作的好基友設計工程師寫的設計文檔,比如下面這種。
其中需要重點了解的內容是:
⚫ features:這個模塊需要支持的性能列表;
⚫ IO ports:這個模塊對外的IO埠;
⚫ operation mode:這個模塊的主要工作模式;
除了這份詳細的設計文檔之外,如果這個IP需要用到很多協議,那你自然還要去閱讀一些協議文檔咯,比如AMBA總線協議,MIPI協議,DDR協議等。
公司裡面,工程師做事情之前都需要出一份詳細的文檔,驗證工程師也不例外,你要出的文檔叫做verification spec,其中主要的內容包括:
1)驗證平臺架構:以UVM驗證平臺為例。
實際上,現在IC行業內,很多公司的驗證環境都不盡相同,比如有純C/C++的環境,有純UVM的環境,有UVM& C++的環境,甚至還有systemc的環境。總的來說,現在的趨勢都是在往UVM的驗證環境上轉。
2)測試用例(test plan)
test plan的出爐是一個高質量的工作,因為它決定了你驗證的工作量,最重要是它決定了你驗證的完整度。驗證工程師的終極目標就是:覆蓋所有的情況,不放過任何一個bug。
這份東西需要你和designer反覆的詳細討論,在後面的過程中,還需要進一步的優化補充這份文檔。
verification spec完成之後,接下來就要開始碼代碼了,使用各種驗證語言去搭建驗證環境,常用的驗證語言有C/C++,SystemC,SystemVerilog。
以現在主流的UVM驗證平臺為例:大概要去碼完類似這樣的文件。
好的驗證平臺是檢驗工程師優秀的一個重要標準,要考慮實用性、擴展性。
好消息是,公司裡面有很多已有的驗證環境,你可以模仿,在已有的基礎上進行修改就可以了。
根據前面完成的詳細test plan去創建驗證需要用的test cases,每家公司對test cases的命名有一定規則,比如長這樣的:
有些公司就直接用數字來給test cases命名,還有些公司,直接用腳本來生成test cases,只要把關鍵的一些設置調好,用腳本一刷,case就全部生成了。
當然每種創建cases的方法各有優缺點,你進去公司之後,也只能入鄉隨俗。
驗證環境和測試用例都搭建好了,下一步重點就是仿真和debug了。前面搭環境的時間其實大概只佔20%,debug才是最花時間的。
仿真所用到的工具主要有:
⚫ mentor:questasim
⚫ cadence:NC-sim
⚫ synopsys:VCS
幾款工具一個比一個好,當然價格也是一個比一個貴。工欲善其事必先利其器,要想提高你的仿真和debug效率,工具裡面好的功能也要好好研究下的。
debug主要目的是尋找RTL的bug,當然前面搭建的驗證平臺也會存在很多bug,最終的目標就是所有的test cases都能完全仿真通過。
最主要的debug手段有:
⚫ 查看log文件:仿真結束會生成很多結果文件
⚫ 看波形:最常用工具就是verdi了
每家公司對於驗證工程師debug的要求不盡相同,比如AMD,就要求驗證工程師能找到最終的root cause,而大多數公司只要求驗證工程師能基本定位,然後designer去詳細debug。
到了項目的後期,所有的case都pass過了,並且比較穩定了,下一步就要開始跑regression和coverage了。
所謂regression就是把所有的case同時跑一遍,因為大多數case裡面會有很多random的機制,所以在不斷重跑的過程中,會隨機性的出現case fail。這也是regression的主要目的,就是抓出那些極端情況下出現的debug。
coverage主要包括code coverage和function coverage等,每家公司的要求都不盡相同。
每家公司跑regression和coverage都會使用腳本來完成,怎麼高效順利跑完,是最關鍵的問題,
最終的結果一般會以網頁的形式呈現,直觀明了。
前面屬於驗證工程師的常規任務差不多就完成了,support屬於進階版的。比如項目用的database出問題了,跑仿真用的flow碰到問題了,經常就會叫驗證工程師去support,幫忙解決問題。
當然搞不定也無所謂,但是如果你經常能幫同事搞定這些問題,那你在公司的地位就能與日俱增,升職加薪就更有籌碼了。
作為驗證工程師,和其他工程師一樣,經常還有無窮無盡的會議要開,各種review,各種討論。
如果你作為會議組織者,請記得事先做好充分的準備噢,不然很容易被人鄙視的。
大致的工作內容就羅列這些了,當然還有很多不能列完全,比如驗證工程師經常需要移植驗證環境,把從別家公司買了的東西移植到自家公司環境中。
希望以上這些能給未入行或者剛入行的驗證工程師們帶來些許幫助。
另外,數字IC驗證工程師在行業內非常吃香,大家好好幹吧,錢途無量噢。
E課網的《數字IC驗證就業班》正在火熱報名中,保底月薪12000!
課程目標
詳細講解IC設計流程以及EDA工具應用
詳細講解System Verilog和UVM
詳細講解項目原理與具體實現
完成一個IP項目,積累驗證實戰經驗
成功應聘驗證工程師職位
授課對象
有意應聘驗證工程師的在職人員(碩士、本科)
高等院校電子類在校研究生(含材料、工藝、物理、自動化等專業)
課程大綱
上課方式
在線直播授課+VNC伺服器登錄實訓,沒有地域限制
督導老師每天跟蹤學習情況,最大限度克服你的懶癌
每天有資深的IC老司機帶著你學習做項目
互動論壇、QQ群多渠道實時答疑
上課時間
3月13號 20:30
開課後時間安排
周一至周五晚上20:30-22:30
周日:9:30-17:30
總課時
420課時,持續17周
直播結束會有錄播視頻
錯過直播可以觀看錄播學習
就業服務
面試筆試題詳細講解
簡歷打磨
模擬面試
公司內部推薦(部分公司直接安排面試)
未來職業規劃
我們保證
以書面形式籤署就業協議
學完6個月內不就業
全額退款
上海可保底找到12000/月的驗證工作
合作名企列表
ADI,AMD, 恆玄科技,比特大陸,Cadence,思科,Freescale,國科微,格芯,華為海思,IBM, 瀾起科技,NXP, 瑞芯微,TI,Synopsys,英飛凌,Micron,Xilinx,豪威科技,華夏芯,摩爾精英。
報名方式
掃描下方二維碼,添加課程小姐姐
諮詢課程詳細信息
一鍵投遞丨點擊下方圖片
1000+名企任你挑選
簡歷直達HR ,優先篩選!
大同學吧,是全國100+重點高校IT電子類等理工科大學生都在關注的校招、內推、實習的求職服務平臺,提供海量網際網路及半導體行業實習、校招等招聘信息,免費分享面經筆經、求職內推、行業乾貨,助力學子順利拿下理想offer!!我們歡迎任何形式的合作,發布招聘信息,請添加微信號:OSHPK001。