0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何又快又好的梳理和利用驗(yàn)證feature文檔

sanyue7758 ? 來(lái)源:杰瑞IC驗(yàn)證 ? 作者:Jerry ? 2022-10-09 09:07 ? 次閱讀

前面我們探討了接到驗(yàn)證任務(wù)后的行動(dòng)以及前期如何進(jìn)行高效的學(xué)習(xí),當(dāng)有了對(duì)驗(yàn)證對(duì)象的充分理解和學(xué)習(xí)之后,我們就可以進(jìn)行驗(yàn)證feature(即驗(yàn)證的測(cè)試點(diǎn))的提取了。

凡事預(yù)則立,不預(yù)則廢,眾所周知,驗(yàn)證feature文檔決定驗(yàn)證的內(nèi)容、側(cè)重點(diǎn)、質(zhì)量,是驗(yàn)證工程師最重要的文檔和指導(dǎo)工具。

本文的側(cè)重點(diǎn)不在于大而全的探討諸如”不同類型的驗(yàn)證對(duì)象哪些點(diǎn)可以作為驗(yàn)證feature”等內(nèi)容(以后在別的文章中有機(jī)會(huì)再討論),而是繼續(xù)遵循“高效”的主題,一起探討如何又快又好的梳理驗(yàn)證測(cè)試點(diǎn)這個(gè)文檔?怎樣在驗(yàn)證過(guò)程中充分使用這個(gè)文檔?

杰瑞IC驗(yàn)證給出一種答案,圍繞一個(gè)口訣來(lái)作為今天探討的線索和綜述:

“先粗再細(xì)、先全再剃、不斷迭代、定期反思”

1

先粗再細(xì)

對(duì)于驗(yàn)證feature來(lái)說(shuō)什么叫粗?什么叫細(xì)?

我們舉個(gè)簡(jiǎn)單的例子,如一條驗(yàn)證feature可以這樣寫:

“需要覆蓋中斷功能的測(cè)試?!?/p>

也可以把這一條驗(yàn)證feature細(xì)化成多條驗(yàn)證feature,這樣寫:

“覆蓋不同中斷信號(hào)使能打開、關(guān)閉測(cè)試”

“覆蓋中斷正常清除測(cè)試”

“覆蓋延遲清除中斷測(cè)試”

“覆蓋不同中斷來(lái)源的中斷測(cè)試” “覆蓋中斷有效后相關(guān)中斷狀態(tài)寄存器正確性檢查” “覆蓋中斷不同來(lái)源同時(shí)有效的優(yōu)先級(jí)測(cè)試”

“覆蓋多中斷次數(shù)測(cè)試場(chǎng)景”

……

當(dāng)然,還可以寫的更細(xì)致:

例如上面“覆蓋不同中斷信號(hào)使能打開、關(guān)閉測(cè)試”可以繼續(xù)分解:

“覆蓋不同中斷信號(hào)隨機(jī)打開關(guān)閉以及不同信號(hào)間的交叉場(chǎng)景”

“覆蓋中斷信號(hào)使能全關(guān)閉,通過(guò)輪詢寄存器方式處理中斷場(chǎng)景”

……

例如“覆蓋延遲清除中斷測(cè)試”可以繼續(xù)分解:

“覆蓋延遲清中斷,延遲時(shí)間小范圍隨機(jī)”

“覆蓋延遲清中斷,延遲時(shí)間等到下一個(gè)中斷來(lái)之后再清除” ……

我們不再繼續(xù)細(xì)化贅述,相信大家從舉例中已經(jīng)有點(diǎn)感覺(jué)了,什么叫“粗”,什么叫“細(xì)”,這里說(shuō)到的粗細(xì),其實(shí)就是指的是驗(yàn)證feature的顆粒度。

杰瑞IC驗(yàn)證認(rèn)為,一個(gè)好的驗(yàn)證feature文檔,一定是全面且顆粒度很細(xì)的文檔。只有顆粒度很細(xì),借助這個(gè)驗(yàn)證feature文檔才能更好的幫助你把需要覆蓋的測(cè)試點(diǎn)思考清楚,更好的衡量你的驗(yàn)證工作量制定驗(yàn)證計(jì)劃、更好的幫你構(gòu)造定向或隨機(jī)case和編寫功能覆蓋率代碼、更好的保證你的驗(yàn)證完備性。

可想而知,如果你只寫一句這么“博大精深”的驗(yàn)證feature:“需要覆蓋中斷功能的測(cè)試?!?,你看到這條驗(yàn)證feature也許很難會(huì)想到還需要:“覆蓋延遲清中斷,延遲時(shí)間等到下一個(gè)中斷來(lái)之后再清除” 這種測(cè)試場(chǎng)景,這樣就有可能會(huì)埋下風(fēng)險(xiǎn)。

我們回到“高效戰(zhàn)斗”的主題,怎么又好又快的把這個(gè)文檔搞定呢?

從高效的角度杰瑞IC驗(yàn)證建議一定要“先粗再細(xì)”。

一方面:

“粗”可以讓我們站在一個(gè)宏觀的角度,不漏掉大的功能點(diǎn),例如先涵蓋各種需求點(diǎn)、各種設(shè)計(jì)文檔核心功能點(diǎn)、應(yīng)用場(chǎng)景、性能點(diǎn)、功耗測(cè)試點(diǎn)、壓力測(cè)試點(diǎn)、注錯(cuò)點(diǎn)等等

另一方面:

我們是不可能一蹴而就的。如果一開始就鉆進(jìn)某一個(gè)點(diǎn),把某個(gè)功能的所有細(xì)節(jié)驗(yàn)證feature寫清楚再寫別的,效率顯然會(huì)低于先寫的粗一點(diǎn),再多輪迭代進(jìn)行細(xì)化。正如前面的舉例,每一次的細(xì)化都在上一輪細(xì)化的思考基礎(chǔ)之上進(jìn)行的,這樣也會(huì)想的更清楚全面。

2

先全再剃

通過(guò)剛才講的先粗略提取再不斷細(xì)化的方式,相信大家可以高效提取出來(lái)一個(gè)比較全面的驗(yàn)證feature文檔。

前面我們提到:“一個(gè)好的驗(yàn)證feature文檔,一定是全面且顆粒度很細(xì)的文檔。”但是僅僅的全面和顆粒度小,就可以叫一個(gè)好的驗(yàn)證feature文檔嗎??

答案是否定的,全面和顆粒度小,只是提取驗(yàn)證feature的第一步。如果說(shuō)第一步細(xì)化是做加法,第二步更為重要和有難度,那就是做減法。就像本節(jié)的小標(biāo)題“先全再剃”,這里的“剃”,講的就是“剃刀原則”的“剃”,關(guān)注的是驗(yàn)證的執(zhí)行層面,“剃”就是學(xué)會(huì)取舍,就是抓驗(yàn)證重點(diǎn)和主要矛盾,就是高效的體現(xiàn)。

(1)“剃”,刪除掉不必要的驗(yàn)證feature。

有時(shí)候,我們需要?jiǎng)h除和精簡(jiǎn)一些沒(méi)有必要的驗(yàn)證feature。

最簡(jiǎn)單的例如,對(duì)于已經(jīng)多次流片實(shí)踐驗(yàn)證穩(wěn)定的ip,沒(méi)有必要覆蓋非常細(xì)致的驗(yàn)證feature,這部分完全可以舍去不驗(yàn)證。

再舉一個(gè)例子:如針對(duì)某個(gè)參數(shù)我們通過(guò)確定邊界值、典型值、劃分等價(jià)類等方式進(jìn)行驗(yàn)證feature細(xì)化:

“A參數(shù)取值[0:1000],需要覆蓋邊界值0,1000,典型值200、500、600、900……(例如100個(gè)),隨機(jī)覆蓋a模式[0:200),b模式[200:700),c模式[700:1000]”

“B參數(shù)取值[0:8880],需要覆蓋邊界值0,8880,典型值200、500、600、900……(例如300個(gè)),隨機(jī)覆蓋a模式[0:1000),b模式[1000:300),c模式[3000:8880]”

……

這樣的參數(shù)有20個(gè),然后有一條:

“需要覆蓋這20個(gè)參數(shù)取值的所有交叉場(chǎng)景”

這個(gè)“交叉場(chǎng)景”是很全面了(當(dāng)然你如果想“修身養(yǎng)性”可以用一整天時(shí)間進(jìn)一步具體細(xì)化出來(lái)怎么交叉的)。但是這條有意義嗎?

對(duì)于EDA仿真驗(yàn)證來(lái)說(shuō),這條可以說(shuō)是沒(méi)有意義的,因?yàn)檫@個(gè)需要覆蓋的驗(yàn)證空間太大了,大到不能執(zhí)行,即使你通過(guò)腳本交叉參數(shù)一鍵生成批量case,這么大的case量大概率不能在有限的時(shí)間跑完,就算能跑完,這樣的參數(shù)交叉測(cè)試是否真的有意義,是否在浪費(fèi)測(cè)試時(shí)間?我們有這樣的時(shí)間,放在更重要的測(cè)試點(diǎn)上努力是否更有價(jià)值?

所以,對(duì)于這樣的驗(yàn)證feature我們一定要做以權(quán)衡。是否可以通過(guò)深入分析實(shí)際應(yīng)用場(chǎng)景和設(shè)計(jì)思路,精簡(jiǎn)這些驗(yàn)證feature,是不是哪些點(diǎn)可以刪除?是不是哪些點(diǎn)不需要交叉覆蓋?當(dāng)然也可以思考是不是我們可以嘗試啟用形式驗(yàn)證工具?

(2)“剃”,給驗(yàn)證feature選擇一個(gè)更好的歸宿。

舉一個(gè)例子,有這樣一條驗(yàn)證feature:“需要覆蓋連續(xù)不間斷運(yùn)行10000次場(chǎng)景的壓力測(cè)試”。

這條驗(yàn)證feature考慮的沒(méi)有問(wèn)題,顆粒度很細(xì),需求也很明確。但是對(duì)于EDA驗(yàn)證來(lái)說(shuō),又是一個(gè)不可能完成的任務(wù),這么一個(gè)case可能跑幾個(gè)月都結(jié)束不了。對(duì)于這樣的驗(yàn)證feature,不需要從文檔中刪除,因?yàn)?a target="_blank">FPGA測(cè)試是可以辦到的,這種情況可以增加備注,指明在FPGA測(cè)試的時(shí)候進(jìn)行覆蓋,并且負(fù)責(zé)跟蹤這個(gè)點(diǎn)是否在FPGA驗(yàn)證計(jì)劃中列出以及測(cè)試時(shí)候是否確實(shí)落實(shí)。

同理,例如有的驗(yàn)證feature可能不適合在單元級(jí)驗(yàn)證時(shí)候測(cè)試,適合在更高層次的驗(yàn)證階段中測(cè)試,都可以像上面的例子給驗(yàn)證feature一個(gè)更好的測(cè)試“歸宿”,用最適合的方式覆蓋,從而提高項(xiàng)目總體的驗(yàn)證效率。當(dāng)然了,給驗(yàn)證feature更好的歸宿前提是需要驗(yàn)證者了解和把握驗(yàn)證的不同驗(yàn)證階段以及不同驗(yàn)證層次的側(cè)重點(diǎn)和優(yōu)劣勢(shì),有一個(gè)驗(yàn)證的全局觀念。

(3)“剃”,給驗(yàn)證feature刮骨,設(shè)置不同的優(yōu)先級(jí)。

有這么兩條驗(yàn)證feature:

“需要覆蓋中斷功能的測(cè)試”

“覆蓋用于debug的狀態(tài)寄存器”

很明顯,第一個(gè)驗(yàn)證feature是核心功能,第二條重要程度遠(yuǎn)遠(yuǎn)不如第一條。如果我們的驗(yàn)證時(shí)間有限,那我們至少要通過(guò)完備的激勵(lì)和檢查機(jī)制保證第一條核心功能,而不是先編寫大量的checker去自動(dòng)化檢查各種debug狀態(tài)寄存器。

也就是說(shuō),不同的驗(yàn)證feature含金量和優(yōu)先級(jí)也是不一樣的,我們?cè)谔崛◎?yàn)證feature的時(shí)候,要想清楚和標(biāo)注不同驗(yàn)證feature的優(yōu)先級(jí)。

3

不斷迭代

驗(yàn)證feature列表在驗(yàn)證開始前就是寫好固定死了不能變的嗎?

不是的,驗(yàn)證feature文檔是動(dòng)態(tài)變化迭代的

在正式驗(yàn)證開展之前,我們會(huì)出一個(gè)當(dāng)時(shí)認(rèn)為最完善的版本,但是在驗(yàn)證過(guò)程中我們還是要定期迭代我們的驗(yàn)證feature文檔,例如:

當(dāng)需求和設(shè)計(jì)的變更,我們需要相應(yīng)的修改和增刪驗(yàn)證feature;

當(dāng)功能應(yīng)用場(chǎng)景、典型參數(shù)增加或改變時(shí),及時(shí)增加驗(yàn)證feature;

性能功耗的場(chǎng)景驗(yàn)證feature也可能常常需要修改文檔;

隨著驗(yàn)證過(guò)程中對(duì)設(shè)計(jì)理解更加深入,也需要及時(shí)的記錄和補(bǔ)充細(xì)化驗(yàn)證feature。

4

定期反思

驗(yàn)證feature需要定期反思,有兩層含義,一方面是對(duì)已有驗(yàn)證feature的不斷反思,其實(shí)類似于上面說(shuō)的迭代,定期反思之前提取出的驗(yàn)證feature是否合理或有缺少,這里不過(guò)多解釋;另一方面,是要利用好我們的驗(yàn)證feature文檔,定期反思驗(yàn)證進(jìn)度和質(zhì)量。

a. 依據(jù)我們的驗(yàn)證feature列表和優(yōu)先級(jí)等信息來(lái)制定我們的驗(yàn)證計(jì)劃,并且不斷的修改更正我們的驗(yàn)證計(jì)劃。

b.定期的把測(cè)試用例與驗(yàn)證feature列表做一個(gè)對(duì)應(yīng)和反標(biāo),心里清楚哪些驗(yàn)證feature已經(jīng)有case覆蓋住了,哪些還沒(méi)有,在驗(yàn)證項(xiàng)目最后要保證所有驗(yàn)證feature都有定向或隨機(jī)case可以對(duì)應(yīng)。

c. 功能覆蓋率覆蓋點(diǎn)的規(guī)劃和收集工作,也需要定期利用驗(yàn)證feature文檔進(jìn)行規(guī)劃和反思,確定哪些點(diǎn)是一定需要寫功能覆蓋率收集代碼的,也是驗(yàn)證完備性和質(zhì)量的保證。

結(jié)語(yǔ)

今天我們用了一句口訣來(lái)回答“如何又快又好的梳理和利用驗(yàn)證feature文檔?”

這個(gè)問(wèn)題,即“先粗再細(xì)、先全再剃、不斷迭代、定期反思”。

驗(yàn)證feature文檔的地位絕對(duì)是驗(yàn)證過(guò)程中金字塔的頂端,篇幅有限,這其中很多的細(xì)節(jié)還希望各位進(jìn)一步探索、感悟、交流~





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA設(shè)計(jì)
    +關(guān)注

    關(guān)注

    9

    文章

    428

    瀏覽量

    26532
  • EDA工具
    +關(guān)注

    關(guān)注

    4

    文章

    268

    瀏覽量

    31806
  • 中斷
    +關(guān)注

    關(guān)注

    5

    文章

    899

    瀏覽量

    41529

原文標(biāo)題:驗(yàn)證feature文檔梳理

文章出處:【微信號(hào):處芯積律,微信公眾號(hào):處芯積律】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    三、麥克風(fēng)陣列類型及分類之細(xì)致梳理

    麥克風(fēng)陣列,作為聲學(xué)領(lǐng)域的關(guān)鍵技術(shù),擁有多種類型,每種類型都以獨(dú)特的排列方式和卓越的性能,在不同的應(yīng)用場(chǎng)景中發(fā)揮著重要作用,下面將為您細(xì)致梳理其類型與分類,展現(xiàn)麥克風(fēng)陣列的奇妙世界。
    的頭像 發(fā)表于 12-29 00:00 ?58次閱讀
    三、麥克風(fēng)陣列類型及分類之細(xì)致<b class='flag-5'>梳理</b>

    ADS1247 SPI如何驗(yàn)證通訊是否正常?

    目前我是寫一個(gè)寄存器就讀該寄存器的值,利用示波器查看,單片機(jī)SPI有發(fā)送數(shù)據(jù)給ADS1247,但是ADS1247發(fā)回的數(shù)據(jù)都為0xFF,那樣表明通訊不正常,請(qǐng)問(wèn)有無(wú)其他比較好的方法去驗(yàn)證是否通訊正常?SPI總線通訊是SCL空閑是低電平,在下降沿時(shí)采樣!謝謝!
    發(fā)表于 12-10 08:41

    機(jī)器學(xué)習(xí)中的交叉驗(yàn)證方法

    在機(jī)器學(xué)習(xí)中,交叉驗(yàn)證(Cross-Validation)是一種重要的評(píng)估方法,它通過(guò)將數(shù)據(jù)集分割成多個(gè)部分來(lái)評(píng)估模型的性能,從而避免過(guò)擬合或欠擬合問(wèn)題,并幫助選擇最優(yōu)的超參數(shù)。本文將詳細(xì)探討幾種
    的頭像 發(fā)表于 07-10 16:08 ?1199次閱讀

    生物識(shí)別驗(yàn)證在哪里開啟

    生物識(shí)別驗(yàn)證是一種利用生物特征進(jìn)行身份驗(yàn)證的技術(shù),包括指紋、面部、虹膜、聲音等。隨著科技的發(fā)展,生物識(shí)別驗(yàn)證已經(jīng)被廣泛應(yīng)用于各個(gè)領(lǐng)域,如手機(jī)解鎖、銀行交易、門禁系統(tǒng)等。 一、生物識(shí)別
    的頭像 發(fā)表于 07-08 10:26 ?1158次閱讀

    FPGA開發(fā)如何降低成本,比如利用免費(fèi)的IP內(nèi)核

    。 了解IP內(nèi)核的特性和使用方式:在選定IP內(nèi)核后,應(yīng)詳細(xì)閱讀其文檔,了解內(nèi)核的功能、性能、接口以及使用限制等。這有助于在設(shè)計(jì)中更好地利用這些內(nèi)核,避免潛在的問(wèn)題。 集成IP內(nèi)核到FPGA設(shè)計(jì)中:在
    發(fā)表于 04-28 09:41

    labview文檔教程資料(四)

    電子發(fā)燒友網(wǎng)站提供《labview文檔教程資料(四).zip》資料免費(fèi)下載
    發(fā)表于 04-23 09:29 ?11次下載

    labview文檔教程資料(三)

    電子發(fā)燒友網(wǎng)站提供《labview文檔教程資料(三).zip》資料免費(fèi)下載
    發(fā)表于 04-23 09:29 ?5次下載

    labview文檔教程資料(二)

    電子發(fā)燒友網(wǎng)站提供《labview文檔教程資料(二).zip》資料免費(fèi)下載
    發(fā)表于 04-23 09:28 ?15次下載

    labview文檔教程資料(一)

    電子發(fā)燒友網(wǎng)站提供《labview文檔教程資料(一).zip》資料免費(fèi)下載
    發(fā)表于 04-23 09:27 ?30次下載

    如何選擇IP DV與SOC DV

    IP DV的主要工作是根據(jù)IP的spec,提取testplan,搭建驗(yàn)證環(huán)境,收斂覆蓋率。但是上述的過(guò)程多見(jiàn)于新的IP,對(duì)于已經(jīng)成熟的IP,IP DV的主要工作是針對(duì) 改動(dòng)的feature 提取testplan,增加驗(yàn)證用例。
    的頭像 發(fā)表于 03-21 10:02 ?946次閱讀

    fpga原型驗(yàn)證流程

    FPGA原型驗(yàn)證流程是確保FPGA(現(xiàn)場(chǎng)可編程門陣列)設(shè)計(jì)正確性和功能性的關(guān)鍵步驟。它涵蓋了從設(shè)計(jì)實(shí)現(xiàn)到功能驗(yàn)證的整個(gè)過(guò)程,是FPGA開發(fā)流程中不可或缺的一環(huán)。
    的頭像 發(fā)表于 03-15 15:05 ?1606次閱讀

    fpga驗(yàn)證和uvm驗(yàn)證的區(qū)別

    FPGA驗(yàn)證和UVM驗(yàn)證在芯片設(shè)計(jì)和驗(yàn)證過(guò)程中都扮演著重要的角色,但它們之間存在明顯的區(qū)別。
    的頭像 發(fā)表于 03-15 15:00 ?1652次閱讀

    Azentio Software 和 Regula 合作強(qiáng)化數(shù)字化入職的身份驗(yàn)證

    攜手利用 Regula 全球領(lǐng)先的文檔認(rèn)證和人臉活體檢測(cè)技術(shù) 新加坡2024年1月23日 /美通社/ -- 隸屬于 Apax Partners 名下基金會(huì),總部位于新加坡的 Azentio
    的頭像 發(fā)表于 01-23 21:27 ?500次閱讀

    基于斷言的驗(yàn)證簡(jiǎn)介 – 第 1 部分

    基于斷言的驗(yàn)證(ABV)是一種與傳統(tǒng)方法相比可以大大減少驗(yàn)證過(guò)程的技術(shù).
    的頭像 發(fā)表于 01-09 09:59 ?595次閱讀
    基于斷言的<b class='flag-5'>驗(yàn)證</b>簡(jiǎn)介 – 第 1 部分

    面向系統(tǒng)級(jí)芯片驗(yàn)證的硬件平臺(tái)介紹

    當(dāng)設(shè)計(jì)的規(guī)模動(dòng)輒幾十億門,系統(tǒng)驗(yàn)證時(shí)間不斷的增加,硬件驗(yàn)證系統(tǒng)幾乎是驗(yàn)證工程師不可或缺的利器,因此對(duì)高性能硬件驗(yàn)證系統(tǒng)提出了更多的需求。
    的頭像 發(fā)表于 01-05 10:06 ?876次閱讀