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