1、前言
在SoC驗(yàn)證中,checklist是很重要的一步,要審視下有沒(méi)有無(wú)意間漏掉的檢查或者做出的假設(shè)。大部分情況下,checklist總能發(fā)現(xiàn)一些RTL bug,本文給出了檢查的思考方向,希望對(duì)大家有用,也歡迎大家補(bǔ)充。
2、存在假設(shè)
對(duì)TB的假設(shè)
對(duì)IP只需要驗(yàn)證集成和基礎(chǔ)功能就可以?
測(cè)試點(diǎn)分解時(shí)有做過(guò)哪些等價(jià)類(lèi)劃分?
Memory調(diào)試信號(hào)不需要看,有錯(cuò)的話,驗(yàn)證環(huán)境會(huì)報(bào)的?
繼承的用例一定沒(méi)問(wèn)題?是golden的?
如果集成的IP沒(méi)變,驗(yàn)證用例也不需要改動(dòng)?
對(duì)RTL的假設(shè)
IP是成熟的?
IP功能沒(méi)有修改?
IP是供應(yīng)商交付的?
寄存器是腳本產(chǎn)生的,默認(rèn)值應(yīng)該不存在問(wèn)題?
沒(méi)有改動(dòng)的代碼沒(méi)有問(wèn)題?
不同層次驗(yàn)證是否使用相同的RTL版本
上述這些假設(shè)是否成立,我們?cè)撊绾巫C明這些假設(shè)是成立的。
3、功能驗(yàn)證
IP的輸入信號(hào)
IP的輸入信號(hào)有哪些?是否每根信號(hào)都有覆蓋過(guò)?
是否構(gòu)建了多個(gè)輸入同時(shí)觸發(fā)的場(chǎng)景?
輸入信號(hào)來(lái)源于哪些IP,這些IP在各種低功耗場(chǎng)景下給我的信號(hào)正確嗎?
輸入信號(hào)來(lái)源的IP的工作場(chǎng)景和我負(fù)責(zé)的IP有耦合嗎?
IP的輸出信號(hào)
IP的輸出信號(hào)值是否正確?
每根輸出信號(hào)是否都正確連接到對(duì)應(yīng)的終點(diǎn)?
輸出信號(hào)是否是寄存器輸出?
中斷輸出是脈沖還是電平?是否構(gòu)建了多次中斷,且中斷是否能被正確消除?
掉電或異常時(shí),輸出是否會(huì)有毛刺或跳變出現(xiàn)?
IP的工作流程
只驗(yàn)證集成的,集成驗(yàn)證的層次是否正確?是否驗(yàn)證到了IP的接口位置?
IP的整體工作流程是怎么樣的?
在整個(gè)工作流程中,時(shí)鐘域是否正確,占空比是否合適?
復(fù)位域是否正確,復(fù)位寬度是否合適?
上電流程是否正確?
下電流程是否正確?
電源域是否正確,掉電鉗位值是否正確?
如果有多個(gè)時(shí)鐘源,是否構(gòu)建了各種頻率組合,特別是時(shí)鐘源之間的最大頻率差和最小頻率差?
如果有多個(gè)電源域,是否構(gòu)建了各種電源域的組合?
是否構(gòu)建了多次上下電的場(chǎng)景?
上下電流程波形檢查了嗎?
是否構(gòu)建了喚醒的場(chǎng)景?喚醒信號(hào)的寬度是否合適?
安全是如何管理的?
會(huì)有哪些異常,這些異常是如何管理的?
IP如果在樣片上出現(xiàn)問(wèn)題,該如何debug呢?需要的信號(hào)通過(guò)什么手段得到?如果同時(shí)發(fā)生其它問(wèn)題,還能繼續(xù)debug嗎?
如果有一個(gè)訪問(wèn)掛死,會(huì)怎么處理?
總線反壓是如何觸發(fā)的?該如何解反壓?
RTL代碼我review過(guò)了嗎?如果我是設(shè)計(jì)人員,我會(huì)如何設(shè)計(jì)這些代碼?我考慮了哪些因素,目前的設(shè)計(jì)人員都考慮了嗎?
IP中有異步設(shè)計(jì)嗎?怎么做的?符合規(guī)范嗎?異步兩端的復(fù)位是怎么處理的?
多個(gè)master訪問(wèn)同一個(gè)slave,訪問(wèn)的優(yōu)先級(jí)是否正確,訪問(wèn)地址時(shí)怎么處理的?
IP的應(yīng)用場(chǎng)景
IP的各種應(yīng)用場(chǎng)景都覆蓋了嗎?
在各種應(yīng)用場(chǎng)景中使用哪些輸入和輸出?以及如果出現(xiàn)了其它輸入信號(hào)的跳變會(huì)怎么樣?
IP對(duì)外支持的功能是否都驗(yàn)證到了?是否驗(yàn)證了一個(gè)功能多次觸發(fā)的場(chǎng)景?
配置是否支持動(dòng)態(tài)配置?
構(gòu)建的應(yīng)用場(chǎng)景是否全面,是否足夠復(fù)雜,是否考慮了多種場(chǎng)景、異常的組合?
移植的驗(yàn)證用例我修改了哪些?為什么要做這些修改?其它不修改的地方是基于什么考慮?
所有驗(yàn)證用例都了解嗎?每一行的作用都明白嗎?
4、性能驗(yàn)證
這個(gè)IP的性能指標(biāo)有哪些?如何測(cè)試的?
性能測(cè)試的場(chǎng)景是否充分?
性能是否滿(mǎn)足市場(chǎng)使用需求?
5、低功耗驗(yàn)證
有哪些低功耗場(chǎng)景,這些場(chǎng)景都有覆蓋嗎?
這些低功耗場(chǎng)景是如何切換的(切換過(guò)程中是否有時(shí)鐘、復(fù)位等的異常)?
各種低功耗場(chǎng)景對(duì)IP是什么要求?
6、網(wǎng)表驗(yàn)證
exclude的時(shí)序報(bào)錯(cuò)是否review過(guò)?
這個(gè)IP是否有一些需要綜合keep的單元?網(wǎng)表中這些都還在嗎?
7、后記
上述這些內(nèi)容我已經(jīng)整理成思維導(dǎo)圖,有需要的話,可以在《專(zhuān)芯致志er》公眾號(hào)后臺(tái)回復(fù)SoC關(guān)鍵字自動(dòng)獲取。