IC驗證工程師工作經驗分享 - 工程師
By Olivia
at 2016-10-29T06:57
at 2016-10-29T06:57
Table of Contents
工作五年了 從剛畢業的小菜鳥 到現在也經歷了不少Project
發現版上對於IC驗證工程師的資料很少
來分享一下自己的工作經驗
希望能讓更多人知道IC驗證工程師的工作內容
如果各位有任何問題歡迎指教及討論
以下 Digital Designer(簡稱DE)
指稱主要工作是用HDL(台灣多用Verilog)設計數位IC電路的工程師
Digital Verification Engineer(簡稱DV)
工作相關技能:
1. Linux + shell script
2. scipt language (Perl, Python, Tcl, ...)
3. simulator (IUS, VCS, ModelSim)
4. debugger (通常是Verdi)
5. SystemVerilog/VMM/UVM
6. FPGA
7. 各種Protocal(AMBA, SPI, I2C, SDIO, ...)
IC驗證工程師的工作內容說白了很單純
怎麼確定RTL設計是對的?
這也是很多公司不重視DV的原因
驗證是種概念
DE把RTL寫出來當然會想辦法驗證自己寫的東西是否正確
為什麼還需要DV呢?
我們分兩個層面來看 IP level和system level
以IP level來說 例如32bit加法器(a+b=c含overflow bit)
這個design超簡單的吧
但是要測試完所有的組合是不太可能的
a, b 各有 32bits 組合接近 2^64 種
每秒跑一百萬組測資要跑超過50萬年......
基本上很多DE就是隨便寫幾組測資試試看
那要跑多少測試資料才算夠呢?跑一百萬組應該很多了吧
以DV的角度來看這題 重點不是測資數量的多寡
而是用coverage的數據來說話
包含 code coverage, toggle coverage, branch coverage, functional coverage
例如就算跑了一百萬組測資 如果有幾個bit一直都是0
有可能 input 1 時會發生錯誤但是沒有發現
我的經驗是DV的價值在於「如何制訂計畫,在有限時間內提高IC設計的可靠度」
執行的技能是其次 就算DE自己寫verilog testbench驗證
只要觀念正確也可以有很好的效果
DV可以協助DE突破盲點 也可以提供技術讓驗證更有效率
從system level來看 驗證的複雜度就更高了
通常每個IP都有自己的owner 系統又會由另外一個人整合
有做過design的都知道 就算每個IP測試都是正確的 整合完還是常常發生問題
就算系統運作正常 還可能有效能不足的問題
這通常是因為各個IP間該如何溝通 定義不清楚或是不完整
所以做系統驗證必須要對整個系統架構有足夠了解
當然 有人會認為做系統整合的工程師也可以做到這件事
某種程度上來說沒錯 只要系統整合的工程師是超人
以上工作內容都能吃下來的話
為了效率 另外找DV來做這件事
除了平行展開做事會比較快 專業分工也可以做得更深入
總結來說 DV的工作內容大概就是
1. 了解數位設計內容
2. 制訂驗證計畫
3. 建立自動化驗證環境並執行
以上是個人經驗分享
如果對驗證有興趣的話
可以找《SystemVerilog for Verification》這本書來參考看看
希望台灣的IC設計公司能多重視驗證一點...
--
發現版上對於IC驗證工程師的資料很少
來分享一下自己的工作經驗
希望能讓更多人知道IC驗證工程師的工作內容
如果各位有任何問題歡迎指教及討論
以下 Digital Designer(簡稱DE)
指稱主要工作是用HDL(台灣多用Verilog)設計數位IC電路的工程師
Digital Verification Engineer(簡稱DV)
工作相關技能:
1. Linux + shell script
2. scipt language (Perl, Python, Tcl, ...)
3. simulator (IUS, VCS, ModelSim)
4. debugger (通常是Verdi)
5. SystemVerilog/VMM/UVM
6. FPGA
7. 各種Protocal(AMBA, SPI, I2C, SDIO, ...)
IC驗證工程師的工作內容說白了很單純
怎麼確定RTL設計是對的?
這也是很多公司不重視DV的原因
驗證是種概念
DE把RTL寫出來當然會想辦法驗證自己寫的東西是否正確
為什麼還需要DV呢?
我們分兩個層面來看 IP level和system level
以IP level來說 例如32bit加法器(a+b=c含overflow bit)
這個design超簡單的吧
但是要測試完所有的組合是不太可能的
a, b 各有 32bits 組合接近 2^64 種
每秒跑一百萬組測資要跑超過50萬年......
基本上很多DE就是隨便寫幾組測資試試看
那要跑多少測試資料才算夠呢?跑一百萬組應該很多了吧
以DV的角度來看這題 重點不是測資數量的多寡
而是用coverage的數據來說話
包含 code coverage, toggle coverage, branch coverage, functional coverage
例如就算跑了一百萬組測資 如果有幾個bit一直都是0
有可能 input 1 時會發生錯誤但是沒有發現
我的經驗是DV的價值在於「如何制訂計畫,在有限時間內提高IC設計的可靠度」
執行的技能是其次 就算DE自己寫verilog testbench驗證
只要觀念正確也可以有很好的效果
DV可以協助DE突破盲點 也可以提供技術讓驗證更有效率
從system level來看 驗證的複雜度就更高了
通常每個IP都有自己的owner 系統又會由另外一個人整合
有做過design的都知道 就算每個IP測試都是正確的 整合完還是常常發生問題
就算系統運作正常 還可能有效能不足的問題
這通常是因為各個IP間該如何溝通 定義不清楚或是不完整
所以做系統驗證必須要對整個系統架構有足夠了解
當然 有人會認為做系統整合的工程師也可以做到這件事
某種程度上來說沒錯 只要系統整合的工程師是超人
以上工作內容都能吃下來的話
為了效率 另外找DV來做這件事
除了平行展開做事會比較快 專業分工也可以做得更深入
總結來說 DV的工作內容大概就是
1. 了解數位設計內容
2. 制訂驗證計畫
3. 建立自動化驗證環境並執行
以上是個人經驗分享
如果對驗證有興趣的話
可以找《SystemVerilog for Verification》這本書來參考看看
希望台灣的IC設計公司能多重視驗證一點...
--
Tags:
工程師
All Comments
By David
at 2016-11-02T11:51
at 2016-11-02T11:51
By Agatha
at 2016-11-03T00:43
at 2016-11-03T00:43
By Christine
at 2016-11-04T00:50
at 2016-11-04T00:50
By Eden
at 2016-11-04T23:33
at 2016-11-04T23:33
By Jake
at 2016-11-07T04:35
at 2016-11-07T04:35
By Leila
at 2016-11-11T19:46
at 2016-11-11T19:46
By Thomas
at 2016-11-13T08:05
at 2016-11-13T08:05
By Isabella
at 2016-11-17T10:07
at 2016-11-17T10:07
By Ivy
at 2016-11-22T07:07
at 2016-11-22T07:07
By Zanna
at 2016-11-22T19:23
at 2016-11-22T19:23
By Jacky
at 2016-11-26T18:38
at 2016-11-26T18:38
By Kyle
at 2016-12-01T16:24
at 2016-12-01T16:24
By Franklin
at 2016-12-06T09:32
at 2016-12-06T09:32
By Wallis
at 2016-12-09T22:28
at 2016-12-09T22:28
By Enid
at 2016-12-13T07:54
at 2016-12-13T07:54
By Sarah
at 2016-12-14T17:00
at 2016-12-14T17:00
By Edith
at 2016-12-17T03:50
at 2016-12-17T03:50
By Ida
at 2016-12-17T23:25
at 2016-12-17T23:25
By Isla
at 2016-12-20T10:24
at 2016-12-20T10:24
By Doris
at 2016-12-23T18:55
at 2016-12-23T18:55
By Doris
at 2016-12-25T23:53
at 2016-12-25T23:53
By Agnes
at 2016-12-26T10:39
at 2016-12-26T10:39
By Aaliyah
at 2016-12-26T17:57
at 2016-12-26T17:57
By Ivy
at 2016-12-29T11:17
at 2016-12-29T11:17
By Oliver
at 2016-12-29T18:45
at 2016-12-29T18:45
By Skylar Davis
at 2017-01-03T01:17
at 2017-01-03T01:17
By Candice
at 2017-01-03T19:08
at 2017-01-03T19:08
By Blanche
at 2017-01-07T07:36
at 2017-01-07T07:36
By Hedy
at 2017-01-07T21:31
at 2017-01-07T21:31
By Hedy
at 2017-01-12T09:34
at 2017-01-12T09:34
By Ida
at 2017-01-15T06:45
at 2017-01-15T06:45
By Odelette
at 2017-01-15T14:03
at 2017-01-15T14:03
By Edwina
at 2017-01-18T21:56
at 2017-01-18T21:56
By Lucy
at 2017-01-23T04:02
at 2017-01-23T04:02
By Daph Bay
at 2017-01-26T07:55
at 2017-01-26T07:55
By Sarah
at 2017-01-28T10:51
at 2017-01-28T10:51
By Erin
at 2017-01-29T07:53
at 2017-01-29T07:53
By Adele
at 2017-02-02T00:08
at 2017-02-02T00:08
By Audriana
at 2017-02-04T04:04
at 2017-02-04T04:04
By Dinah
at 2017-02-08T18:10
at 2017-02-08T18:10
By Yuri
at 2017-02-09T14:49
at 2017-02-09T14:49
By Ursula
at 2017-02-13T00:36
at 2017-02-13T00:36
By Joseph
at 2017-02-16T04:02
at 2017-02-16T04:02
By Jack
at 2017-02-18T04:29
at 2017-02-18T04:29
By Anthony
at 2017-02-19T22:49
at 2017-02-19T22:49
By Erin
at 2017-02-22T05:13
at 2017-02-22T05:13
By Madame
at 2017-02-23T21:15
at 2017-02-23T21:15
By Sarah
at 2017-02-28T20:46
at 2017-02-28T20:46
By Cara
at 2017-03-05T15:55
at 2017-03-05T15:55
By Rosalind
at 2017-03-08T05:00
at 2017-03-08T05:00
By Hedwig
at 2017-03-10T09:43
at 2017-03-10T09:43
By Delia
at 2017-03-13T21:00
at 2017-03-13T21:00
By Hedwig
at 2017-03-18T04:17
at 2017-03-18T04:17
Related Posts
Naver季度銷售額首次突破1萬億韓元
By Hamiltion
at 2016-10-28T21:49
at 2016-10-28T21:49
旺宏研替口頭offer
By Caroline
at 2016-10-28T21:43
at 2016-10-28T21:43
群創南科業務工程師
By Hardy
at 2016-10-28T19:39
at 2016-10-28T19:39
中國IC設計 明年超越台灣
By Skylar Davis
at 2016-10-28T19:16
at 2016-10-28T19:16
外籍勞工在臺灣的定位
By Agatha
at 2016-10-28T18:52
at 2016-10-28T18:52