驗(yàn)證其實(shí)是一個“證偽”的過程,從流程到工具,驗(yàn)證工程師的終極目的都只有一個:
發(fā)現(xiàn)所有BUG,或者證明沒有BUG,以保證芯片功能性能的正確性和可靠性。
驗(yàn)證環(huán)節(jié)對于一顆芯片的重要性也是不言而喻的:
·從項目周期來說,功能驗(yàn)證在芯片的整個設(shè)計周期中占用時間最多,大概要占到70%左右。
·從項目成本來說,驗(yàn)證一顆芯片大概會占硬件開發(fā)總成本的50%。
接下來就來聊聊IC驗(yàn)證的流程和工具。
理解DUT
驗(yàn)證工程師需要深入理解芯片Spec,包括但并不限于:了解架構(gòu)、數(shù)據(jù)流向、基本功能、接口、IP、協(xié)議、寄存器定義等。
對Spec了解越詳細(xì),之后的驗(yàn)證工作就能夠越充分。
使用工具:查看Spec使用最基礎(chǔ)的Office軟件即可
制定驗(yàn)證計劃
對于芯片項目的Boss或者負(fù)責(zé)人來說,一份完整的驗(yàn)證計劃需要包含:驗(yàn)證策略方法、人力資源調(diào)配、項目進(jìn)度評估、風(fēng)險評估等多項內(nèi)容。
對于驗(yàn)證工程師來說,就應(yīng)該考慮功能測試點(diǎn)、驗(yàn)證層次、驗(yàn)證方法和驗(yàn)證覆蓋率等技術(shù)層面為主的內(nèi)容,還需要在搭建驗(yàn)證環(huán)境之前充分review驗(yàn)證計劃。
制定驗(yàn)證方法策略
一般會按照大的功能模塊或數(shù)據(jù)流向?qū)UT進(jìn)行劃分,比如需要確定是在module/sub system/chip system哪個level去做驗(yàn)證。
搭建驗(yàn)證平臺
根據(jù)驗(yàn)證方案來編寫驗(yàn)證環(huán)境,一般會使用uvm平臺,python腳本輔助來搭建環(huán)境,并通過冒煙測試來確定驗(yàn)證平臺是否完善。
從時間線上來說,搭建驗(yàn)證平臺可以和提取驗(yàn)證點(diǎn)并行進(jìn)行。
提取測試點(diǎn)
測試點(diǎn)被驗(yàn)證工程師認(rèn)為是“驗(yàn)證的圣經(jīng)”,因?yàn)檫@是諸多工作開展的出發(fā)點(diǎn)和落腳點(diǎn)。一些公司會把這個步驟稱作VO(verification objective),也有的公司叫做Test Point。
驗(yàn)證工程師在分解測試點(diǎn)時需要注意完備性、低耦合以及無歧義,然后將測試點(diǎn)羅列在Excel表格中。
理想情況下,驗(yàn)證工程師拿到測試點(diǎn)list和DUT之后,就可以寫testcase進(jìn)行驗(yàn)證了。
另外,在環(huán)境搭建、驗(yàn)證執(zhí)行、用例調(diào)試、覆蓋率分析等階段也會不斷對測試點(diǎn)進(jìn)行修正和增補(bǔ)。
執(zhí)行驗(yàn)證
根據(jù)提取出來的測試點(diǎn),添加testcase在驗(yàn)證平臺上去進(jìn)行測試,這是一個需要反復(fù)迭代、反復(fù)優(yōu)化的過程。
這個過程中會使用到vcs/xrun進(jìn)行仿真、makefile編輯腳本、verdi/ncsim查看波形,并且要盡可能確保每個測試點(diǎn)的功能是否實(shí)現(xiàn)正確。
收集驗(yàn)證覆蓋率
需要收集功能覆蓋率和代碼覆蓋率,增補(bǔ)用例,以確保覆蓋率達(dá)到100%。一般可以通過imc或Verdi來查看覆蓋率報告。
一些規(guī)模比較大的IC設(shè)計公司,會設(shè)置專門的崗位來收集驗(yàn)證覆蓋率。
完成驗(yàn)證報告
驗(yàn)證報告通常需要包含checklist、覆蓋率分析、難點(diǎn)覆蓋情況等內(nèi)容。
上述環(huán)節(jié)概述了驗(yàn)證工程師比較主要的工作流程。
但其實(shí)驗(yàn)證是貫穿著整個IC設(shè)計流程的,在芯片開發(fā)過程中只要發(fā)現(xiàn)問題或缺陷,就需要進(jìn)行修正和改進(jìn),直到設(shè)計符合預(yù)期的要求為止。
從提取驗(yàn)證點(diǎn)、編寫驗(yàn)證方案到搭建驗(yàn)證環(huán)境再到具體驗(yàn)證執(zhí)行環(huán)節(jié)的Debug,每一步都需要經(jīng)驗(yàn)的加持。
入行兩三年的工程師和十年經(jīng)驗(yàn)的工程師,在細(xì)節(jié)方面的把控是完全不同的。
而驗(yàn)證,恰好是一個細(xì)節(jié)為王的崗位。這也就是為什么ic驗(yàn)證工程師越老越吃香的原因之一。
工作特性要求驗(yàn)證工程師要做的并不僅僅只是用EDA工具進(jìn)行仿真驗(yàn)證,而是從系統(tǒng)架構(gòu)到應(yīng)用層面對自己所負(fù)責(zé)驗(yàn)證的模塊進(jìn)行深入了解。
既要能夠如驗(yàn)證計劃要求的那樣工作在最高層,也要能夠在最底層植入錯誤進(jìn)行自我檢查。
現(xiàn)在每個摳細(xì)節(jié)的一小步,都是積累經(jīng)驗(yàn)一大步。與ICer共勉!
審核編輯:湯梓紅
-
芯片
+關(guān)注
關(guān)注
454文章
50460瀏覽量
421967 -
IC設(shè)計
+關(guān)注
關(guān)注
37文章
1292瀏覽量
103780 -
eda
+關(guān)注
關(guān)注
71文章
2712瀏覽量
172935 -
驗(yàn)證
+關(guān)注
關(guān)注
0文章
59瀏覽量
15170
原文標(biāo)題:ic驗(yàn)證的主要工作流程和驗(yàn)證工具是什么?
文章出處:【微信號:IC修真院,微信公眾號:IC修真院】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論