年薪30W+的IC验证工程师究竟是做什么的?一文为你讲解清楚
眾所周知IC行業(yè)是個投入非常大的行業(yè),做一顆芯片開模的費(fèi)用就達(dá)到了百萬級,在芯片設(shè)計的過程中光BUG就可以達(dá)到上千個。如果這些BUG沒有被發(fā)現(xiàn)的話,就可以遭受巨大的損失。
因此驗證就是保證芯片功能正確非常重要的一環(huán)。據(jù)相關(guān)數(shù)據(jù)統(tǒng)計,目前IC驗證和設(shè)計崗位的需求已經(jīng)達(dá)到了3:1。這個崗位不僅需求大,而且年薪可達(dá)30W+。
什么是IC驗證工程師?
就是驗證設(shè)計實(shí)現(xiàn)是否與設(shè)計意圖相符,發(fā)現(xiàn)設(shè)計人員的錯誤;還要保證芯片實(shí)現(xiàn)符合規(guī)格說明書的過程。
隨便一搜索網(wǎng)上都有,但是對于轉(zhuǎn)行的小白來說驗證工程師到底是干嘛的?依然云里霧里。
其實(shí)簡單來說,驗證工程師的工作目標(biāo)就是“發(fā)現(xiàn)所有BUG”!不過說起來這么簡單,做起來可就繁雜并且循環(huán)往復(fù)了。
崗位技能
要想做好驗證,保證無漏驗、零漏測,以下要素是必須要具備的:驗證工具的掌握、算法/協(xié)議的理解。
1)驗證工具的掌握
驗證工具包括vmm/uvm等驗證方法學(xué)、sv/sc等驗證語言、vcs等驗證仿真工具、perl/python等腳本語言,這些東西是做驗證要掌握的基本技能。不論你做什么樣的芯片,都需要這些東西來支撐你的驗證工作。
這些驗證工具可以幫助你解決“我們該怎么驗”這個問題,當(dāng)你很好的掌握這些驗證工具后,你可以有很多種方法途徑去達(dá)成你的驗證目標(biāo)。
說實(shí)在話,驗證工具的東西很多,要想在短時間內(nèi)全部掌握也不可能,而且很多工具可能在你的驗證過程中不會用到。
**對驗證工具的感悟:**不要貪求全部掌握,你可以先看書學(xué)習(xí)實(shí)踐,把這些東西都學(xué)習(xí)一遍;在學(xué)習(xí)的過程中你肯定會發(fā)現(xiàn)一些好東西。
對于那些暫時不知道怎么應(yīng)用到實(shí)踐中的東西,你也不要認(rèn)為它們是沒用的,其實(shí)只是你不知道用在哪兒而已,在你以后的驗證中也許就會發(fā)現(xiàn)它的應(yīng)用場景。當(dāng)你需要它的時候,也許你已經(jīng)忘記怎么用了,這個沒關(guān)系,你可以再回去查閱資料,很快就能解決。
這樣做的好處是,當(dāng)你碰到可以用到它的時候,你至少能想起曾經(jīng)看到某個東西可以來實(shí)現(xiàn)它。如果你從未學(xué)習(xí)過,那么你根本就不會想起有這個方法可以解決它,這才是可怕的,我都不知道這個問題是可以被解決的。
2)算法/協(xié)議的理解
芯片要實(shí)現(xiàn)什么,不外乎是xx算法、某某協(xié)議,算法/協(xié)議才是芯片的魂。驗證其實(shí)也就是驗的算法/協(xié)議實(shí)現(xiàn)是否正確。就跟批改作文一樣,只有批改者有一定的文學(xué)功底,才能更好的評判作文水平。
因此,驗證人員對算法/協(xié)議理解越深刻越好,要理解算法的原理以及算法的實(shí)現(xiàn)結(jié)構(gòu),只有這樣才能找出其中的corner點(diǎn)。
驗證平臺
1、驗證平臺的主要功能如下:
1)產(chǎn)生激勵。
2)把激勵應(yīng)用到被測設(shè)計中。
3)檢查結(jié)果和驗證測試是否通過,也就是確保被測設(shè)計的輸出和期望一致。
2、激勵產(chǎn)生形式
1)用戶直接輸入,即直接測試(direct test)。比較原始的方式,用于小規(guī)模驗證,現(xiàn)在基本上很少使用
2)種子隨機(jī)生成,即隨機(jī)測試(random test)。完全隨機(jī)還是比較少的,所以這種方式用的也很少。
3)用戶可控的隨機(jī)輸入,即約束隨機(jī)測試(constraint random test) ,目前用的最廣泛的一種形式。
3、激勵的驅(qū)動
激勵是一個抽象的東西,根據(jù)不同的抽象級別,定義不同的激勵,比如信號級別,是最原始的,視線級別,往上層抽象。
激勵由驗證平臺生成并且通過對應(yīng)的接口發(fā)送到被測設(shè)計中。驗證平臺通常稱之為BFM(Bus function model)或者driver模塊。
4、結(jié)果檢查
1)通過視圖(波形)檢查。
2)通過自動化的后處理比較。運(yùn)用腳本工具進(jìn)行比對。一般比數(shù)據(jù)。
3)做一個實(shí)時的監(jiān)控器(monitor)比較。
實(shí)際項目中我們通常三者結(jié)合著去檢查比對結(jié)果。
功能驗證流程
驗證過程可以被分解成三個主要階段:
1)制定驗證策略和驗證計劃;根據(jù)驗證模塊復(fù)雜度,功能,做前期的規(guī)劃。為了避免后面工作中的很多彎路,要詳細(xì)具體的規(guī)劃。流程如下:
2)創(chuàng)建驗證平臺,運(yùn)行和調(diào)試;
3)覆蓋率分析和回歸測試。功能覆蓋需要編輯代碼。復(fù)雜的項目中,都需要做功能覆蓋。
IC驗證工程師需要敲代碼嗎?
要的,但不是一天天的狂敲代碼。作為一個IC驗證工程師,你是半個程序員。你需要會Linux的基本命令,Verilog,systemVerilog,C語言,匯編語言,以及各種各樣的腳本語言,比如python,Perl,makefile等。測試用例都是用代碼寫的,所以敲代碼避免不了。但是,我覺得IC驗證工程師重要的不是敲代碼,而是對芯片功能的理解,驗證方案的設(shè)計,其次才是代碼實(shí)現(xiàn),而實(shí)現(xiàn)起來也很簡單。
IC驗證工程師工資高嗎?
不分地域不分公司談薪資高低,那是耍流氓。對于知乎驗證工程師人均30W的現(xiàn)象,一定要理性看待。但是,普遍一線城市,IC驗證的工資在20K往上,如果你能受得了一線城市的快節(jié)奏,房價,這個錢,你可以掙。
IC驗證工程師加班嗎?
付出與收獲成正比,你創(chuàng)造的價值,決定你的工資高低。加班頻率的高低每個公司都不一樣,不要在該奮斗的年紀(jì)選擇安逸,不然生活會給你一記響亮的耳光。
驗證在整個芯片設(shè)計流程中是至關(guān)重要的,這個崗位對于學(xué)歷和專業(yè)的要求也并沒有其他崗位高,很多人轉(zhuǎn)行也會考慮這個崗位。但入行IC之后,不斷的學(xué)習(xí)還是必須的。雖然這個崗位這個吃香,但經(jīng)過去年大量的人員已經(jīng)看到了機(jī)遇轉(zhuǎn)行IC,所以門檻不會像是之前那么低了,但目前崗位需求依舊很大,感興趣的朋友一定要抓住風(fēng)口,不然以后就會越來越卷。
總結(jié)
以上是生活随笔為你收集整理的年薪30W+的IC验证工程师究竟是做什么的?一文为你讲解清楚的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win8虚拟机_VMware 11.1.
- 下一篇: 浅谈中国电信出口网络的链路情况(什么是