隨著芯片技術(shù)的不斷發(fā)展,特別是芯片工藝水平的提升,芯片規(guī)模越來(lái)越大,這也為芯片邏輯功能驗(yàn)證帶來(lái)了很大的挑戰(zhàn)。如何保證產(chǎn)品上市時(shí)間(TimetoMarket),快速完成功能驗(yàn)證和達(dá)成較高的覆蓋率,已成為驗(yàn)證進(jìn)程管理的棘手問(wèn)題。本文主要跟小伙伴們聊一聊智能跟蹤SoC驗(yàn)證進(jìn)度的方法。
EDA工具兩大巨頭Synopsys和Cadence都有自己的驗(yàn)證計(jì)劃工具,分別是Synopsys公司的VerificationPlanner和Cadence的vmanager,兩者各有千秋。今天我們主要針對(duì)的是Synopsys的層次化驗(yàn)證計(jì)劃工具。該工具采用自定義的描述語(yǔ)言HVP(Hierarchical Verification Plan),層次化地描述驗(yàn)證計(jì)劃,并在驗(yàn)證計(jì)劃的實(shí)施過(guò)程中,通過(guò)測(cè)試數(shù)據(jù)結(jié)果,反標(biāo)回驗(yàn)證計(jì)劃,根據(jù)產(chǎn)生相應(yīng)的狀態(tài)報(bào)告,可以有效地追蹤驗(yàn)證的整個(gè)進(jìn)程。其基本流程如圖1所示。
圖1:HVP基本流程
該流程需要驗(yàn)證人員首先編寫(xiě)驗(yàn)證計(jì)劃,驗(yàn)證計(jì)劃通常需要Synopsys提供的另一種工具Verdi或DVE編輯HVP文件,或者直接采用office工具Excel編輯XML格式文件。在項(xiàng)目驗(yàn)證計(jì)劃中會(huì)包含測(cè)試計(jì)劃、功能覆蓋率計(jì)劃、斷言覆蓋計(jì)劃、代碼覆蓋率計(jì)劃等等。下面將介紹HVP是如何編寫(xiě)來(lái)映射我們上述提到的各種計(jì)劃的。
驗(yàn)證計(jì)劃有自己的.hvp格式,如圖2 HVP描述示例。該文件可以比較容易的通過(guò)Verdi生成模板。
圖2:HVP描述示例
當(dāng)然,如果你比較鐘愛(ài)Excel,那么可以用命令將hvp計(jì)劃文件轉(zhuǎn)換成XML格式:
hvpgenxls–planmy_plan.hvp –lca
這樣就可以用Excel打開(kāi)生成的如my_plan.hvp.xml文件了,如圖3所示。
圖3:ExcelXML格式驗(yàn)證計(jì)劃
從圖3中可以看出,測(cè)試項(xiàng)填在feature列,分層計(jì)劃一方面就體現(xiàn)在feature是分級(jí)的,C列feature為B列的子feature。另一方面體現(xiàn)在plan可以include子plan,如圖4中include列即為myplan包含了cache_plan。帶有value關(guān)鍵字列表示測(cè)試項(xiàng)完成度情況,而帶有measure關(guān)鍵字列則表示對(duì)應(yīng)測(cè)試項(xiàng)如何衡量,也即我們所提的如代碼覆蓋率,功能覆蓋率,斷言覆蓋率了。如圖5中“measure snps.source”列中,group關(guān)鍵字表征功能覆蓋率,property關(guān)鍵字表征斷言覆蓋率,tree關(guān)鍵字則表征代碼覆蓋率。
圖4:包含子plan示例
圖5:包含代碼代碼覆蓋率、功能覆蓋率和斷言覆蓋率的plan示例
好了,我們的驗(yàn)證計(jì)劃完成了,下一步就要開(kāi)發(fā)測(cè)試用例并作回歸測(cè)試。所有測(cè)試用例運(yùn)行完成后,仿真工具VCS會(huì)收集這些覆蓋率并輸出數(shù)據(jù)庫(kù)。此外,當(dāng)然我們也希望會(huì)收集測(cè)試用例是pass還是fail的信息,作為反標(biāo)信息的用戶自定義輸入信息。有了這些數(shù)據(jù),通過(guò)反標(biāo)工具就可以看到驗(yàn)證報(bào)告了,運(yùn)行如下命令:
hvpannotate –plan my_plan.hvp.xml –dir *.vdb –userdata *.hud
可以得到my_plan.hvp.ann.xml文件,類似如圖6所有的形式。
圖6:反標(biāo)后的hvp計(jì)劃示例
寫(xiě)到這里,我們的驗(yàn)證工程師們確實(shí)被這種可視化的、自動(dòng)化的驗(yàn)證計(jì)劃管理驚艷到了。整個(gè)驗(yàn)證跟蹤過(guò)程被自動(dòng)化,既保證了跟蹤的準(zhǔn)確性,也避免了工程繁瑣的管理和手工勞動(dòng)。重要的一點(diǎn)是,老大再問(wèn)起驗(yàn)得咋樣了,我們就可以以數(shù)據(jù)說(shuō)話:“老大,就一個(gè)功能覆蓋點(diǎn)沒(méi)覆蓋到了,你看?!鳖I(lǐng)導(dǎo)滿意的點(diǎn)點(diǎn)頭:“嗯,小伙子不錯(cuò),年輕有為!”
但是,我們的工程師們也注意到了,填寫(xiě)功能覆蓋率計(jì)劃的時(shí)候,要從我們測(cè)試平臺(tái)中找出covergroup或coverpoint的層次路徑,如圖5中的group instance和group bin。這個(gè)可麻煩了,有沒(méi)有好的方法不去寫(xiě)層次路徑,只寫(xiě)coveragegroup和coverpoint名呢?這個(gè)難不倒我們的技術(shù)牛們,他們創(chuàng)造了一個(gè)新的HVP流程,如圖7所示。一個(gè)新的HVP模板如圖8所示,讓驗(yàn)證人員只需要填寫(xiě)class.covergroup[.coverpoint[.bin]]這樣格式的命名來(lái)表征當(dāng)前feature或子feature由哪個(gè)covergroup和coverpoint覆蓋測(cè)試,然后運(yùn)行我們開(kāi)發(fā)的工具xhvp,可以輸出最終的hvp文件和用Systemverilog語(yǔ)言描述的function coverage類聲明文件了。通過(guò)上述的步驟,我們的技術(shù)牛把function coverage的代碼都生成好了,對(duì)驗(yàn)證人員真是無(wú)比的體貼,大大減輕驗(yàn)證人員的負(fù)擔(dān)。當(dāng)然也大大提高驗(yàn)證評(píng)審的效率,從而加快項(xiàng)目驗(yàn)證進(jìn)度。
圖7:新的HVP流程
圖8:HVP模板計(jì)劃頁(yè)示例
至此,這套大殺器介紹完了,它在我們的DPU600芯片驗(yàn)證中已經(jīng)被完美地使用。作為DapuStor業(yè)內(nèi)首創(chuàng)的智能存儲(chǔ)SoC芯片,基于最新的12nm FinFET工藝,即有業(yè)內(nèi)領(lǐng)先性能的SSD主控功能,還集成了可計(jì)算存儲(chǔ),機(jī)器學(xué)習(xí)等高大上的特性,同時(shí)還擁有強(qiáng)大的功耗管理,晶體管數(shù)接近億級(jí),這么多強(qiáng)大的功能,其驗(yàn)證復(fù)雜度可想而知,得益于我們的HVP流程, DPU600芯片的邏輯驗(yàn)證順利完成,而且一次流片量產(chǎn)成功,基于DPU600產(chǎn)品也即將面世,敬請(qǐng)期待哦!
原文標(biāo)題:芯片驗(yàn)證管理,也能自動(dòng)跟蹤!
文章出處:【微信公眾號(hào):大普微】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
責(zé)任編輯:haq
-
芯片
+關(guān)注
關(guān)注
454文章
50430瀏覽量
421877 -
eda
+關(guān)注
關(guān)注
71文章
2709瀏覽量
172907
原文標(biāo)題:芯片驗(yàn)證管理,也能自動(dòng)跟蹤!
文章出處:【微信號(hào):dputech,微信公眾號(hào):DapuStor】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論