芯片行業(yè)是個(gè)高風(fēng)險(xiǎn)、高投入的行業(yè),做一款芯片僅僅是開(kāi)模的費(fèi)用就是百萬(wàn)起。
從設(shè)計(jì)到制造都是環(huán)環(huán)相扣的,設(shè)計(jì)過(guò)程中的BUG或者錯(cuò)誤能夠達(dá)到上千個(gè)。
所以驗(yàn)證是保證芯片功能正確性和完整性最重要的一環(huán)。
如果設(shè)計(jì)方面的缺陷沒(méi)被發(fā)現(xiàn),那么化沙子為芯片的這種高能操作就會(huì)變成:沙子→沙子做的垃圾。這就是驗(yàn)證工程師之于芯片的重要性。
一般好的IC設(shè)計(jì)公司設(shè)置設(shè)計(jì)和驗(yàn)證崗位的比例都是1:3。
驗(yàn)證在設(shè)計(jì)的哪個(gè)環(huán)節(jié)?
作為一名驗(yàn)證工程師,一定要具備全流程的意識(shí)。芯片設(shè)計(jì)流程,主要有需求分析→芯片規(guī)格定義→RTL設(shè)計(jì)→邏輯綜合→布局布線→Sign-off這幾個(gè)大的步驟。
那驗(yàn)證處于哪個(gè)環(huán)節(jié)?又在扮演什么樣的角色呢?
主要處于RTL設(shè)計(jì)環(huán)節(jié),這個(gè)環(huán)節(jié)的驗(yàn)證就是功能驗(yàn)證,也就是RTL前仿真。在這個(gè)環(huán)節(jié),功能驗(yàn)證工程師要驗(yàn)證RTL設(shè)計(jì)是否符合芯片規(guī)格說(shuō)明書(shū)里要求的功能。
其次就是布局布線環(huán)節(jié),需要進(jìn)行物理驗(yàn)證,比方說(shuō)時(shí)序分析和后仿真。
事實(shí)上驗(yàn)證是貫穿于芯片設(shè)計(jì)整個(gè)流程的,而數(shù)字驗(yàn)證工程師主要做的工作就是前仿真+后仿真。
扮演的角色可以理解為驗(yàn)證就是為設(shè)計(jì)糾錯(cuò)的存在。這就是驗(yàn)證的價(jià)值體現(xiàn)。
優(yōu)秀的驗(yàn)證工程師,需要掌握的技能有很多,兼?zhèn)?a class="article-link" target="_blank" href="/tag/%E7%A1%AC%E4%BB%B6/">硬件和軟件,可以說(shuō)是更加觸類旁通。所以還是需要循序漸進(jìn),從最基礎(chǔ)的內(nèi)容開(kāi)始逐步掌握。
驗(yàn)證工程師的必備技能?
這里羅列的是數(shù)字IC驗(yàn)證工程師需要具備的技能,是要用所有“資源”點(diǎn)滿的。
· 理論知識(shí)
說(shuō)起理論知識(shí),數(shù)電知識(shí)是做數(shù)字芯片的基石,也是很多同學(xué)入行學(xué)習(xí)的第一本書(shū),一定是需要先掌握的??梢岳斫鉃樽詭У谋粍?dòng)技能。
· 語(yǔ)言類
先來(lái)看Q技能,語(yǔ)言。
驗(yàn)證工程師們需要使用各種驗(yàn)證語(yǔ)言去搭建驗(yàn)證環(huán)境。常用的驗(yàn)證語(yǔ)言有C、C++和StemVerilog。
驗(yàn)證崗位對(duì)Verilog語(yǔ)言的要求是能夠看懂、能夠理解的程度,并不需要像設(shè)計(jì)崗位那樣精通。
System Verilog就屬于驗(yàn)證工程師的核心技能了,隨著設(shè)計(jì)越來(lái)越復(fù)雜,為了更方便例化模塊,所以SV語(yǔ)言也是越來(lái)越流行。
· 工具類
再來(lái)看W技能,驗(yàn)證工具。
UVM是現(xiàn)在主流的驗(yàn)證方法學(xué),同樣屬于驗(yàn)證工程師必備的核心技能。
當(dāng)驗(yàn)證環(huán)境和測(cè)試用例都搭建好后,就需要進(jìn)行仿真和debug了。
EDA仿真工具,不同公司使用的工具軟件不同,但大都是三巨頭家的(Synopsys、Cadence、Mentor)。掌握并熟練使用這些EDA工具,能夠很大程度上提升仿真和debug效率。
· 環(huán)境類
接下來(lái)是E技能,環(huán)境。
EDA工具基本都提供的是Linux版本,芯片設(shè)計(jì)公司提供的開(kāi)發(fā)環(huán)境也都是Linux。所以需要熟練掌握Linux環(huán)境下的常用命令和操作。
處理文本需要使用到編輯器,比如VIM,所以對(duì)于編輯器同樣要做到熟練使用。
· 協(xié)議類
除了驗(yàn)證的一些基本技術(shù)之外。IP中還會(huì)使用到很多協(xié)議,所以驗(yàn)證工程師還需要了解各種通用協(xié)議。
如果說(shuō)前面的技能都屬于基礎(chǔ)的話,協(xié)議就屬于進(jìn)階類型的技能了,可以直接理解為大招。
· 綜合能力
這類綜合能力在一眾技能中算是平A。
作為驗(yàn)證工程師,有很大一部分的工作時(shí)間都是在讀文檔,而文檔全都是英文,所以英語(yǔ)的讀寫(xiě)能力是非常重要的。
溝通、學(xué)習(xí)和團(tuán)隊(duì)能力就不必多說(shuō)了,這是任何崗位都需要具備的基礎(chǔ)能力。
結(jié) 語(yǔ)
驗(yàn)證在整個(gè)芯片設(shè)計(jì)流程中的重要性不言而喻。
作為兼?zhèn)溆布蛙浖尿?yàn)證崗來(lái)說(shuō),對(duì)于學(xué)歷和專業(yè)的要求還是比較友好的。且路漫漫其修遠(yuǎn)兮,入行之后的進(jìn)步空間和學(xué)習(xí)上限仍然很充足。
技術(shù)、管理、轉(zhuǎn)崗都是可以選擇的道路,自然不必?fù)?dān)心長(zhǎng)期的職業(yè)發(fā)展。
著眼當(dāng)下,學(xué)到知識(shí)、學(xué)得扎實(shí)才是最緊要的任務(wù)。
學(xué)習(xí)之路上,IC修真院與你同行。