不管是做設(shè)計,還是驗證,相信大家都會有一些review會議上被問一些刁鉆的問題的經(jīng)歷。當(dāng)然,與會者問這些不那么容易回答的問題并非有意為難,大多數(shù)時候只是純粹的好奇心。
極限驗證法采用的途徑是向芯片提出很多難以回答的問題。比如如何使芯片發(fā)揮到大程度?哪個特性會使芯片運行到其設(shè)計極限?哪些輸入和數(shù)據(jù)會耗費芯片多的運算能力?哪些輸入可能無法進入錯誤處理邏輯?如果芯片用于產(chǎn)生某些特定輸出時,使用哪些輸入和內(nèi)部數(shù)據(jù)可以不斷挑戰(zhàn)芯片的這能力?
很顯然,根據(jù)被測芯片的不同,提出的問題也會不同。對于一個計算模塊,可能面臨著各種錯綜復(fù)雜的輸入數(shù)據(jù)格式和數(shù)量。
某個cnt是否存在越界,越界之后如何處理?
某兩個處理過程能夠并行?
當(dāng)數(shù)據(jù)還未處理完成的時候能夠改變某些寄存器配置。
這個驗證法對每個芯片都不同,但是想法是相同的:
向芯片提出最困難的問題,這樣就有可能發(fā)現(xiàn)芯片的能力和具體實現(xiàn)之間的差異。
這個驗證法有一個變種,就是找麻煩驗證法。驗證時該方法要求驗證人員故意設(shè)置各種障礙來看芯片如何應(yīng)對。有一個非常典型的例子:
一個測試工程師走進一家酒吧,要了一杯啤酒
一個測試工程師走進一家酒吧,要了一杯咖啡
一個測試工程師走進一家酒吧,要了0.7杯啤酒
一個測試工程師走進一家酒吧,要了-1杯啤酒
一個測試工程師走進一家酒吧,要了2^32杯啤酒
一個測試工程師走進一家酒吧,要了一杯洗腳水
一個測試工程師走進一家酒吧,要了一杯蜥蜴
一個測試工程師走進一家酒吧,要了一份asdfQwer@24dg!&*(@
一個測試工程師走進一家酒吧,什么也沒要
一個測試工程師走進一家酒吧,又走出去又從窗戶進來又從后門出去從下水道鉆進來
一個測試工程師走進一家酒吧,又走出去又進來又出去又進來又出去,最后在外面把老板打了一頓
一個測試工程師走進一
一個測試工程師走進一家酒吧,要了一杯燙燙燙的錕斤拷
一個測試工程師走進一家酒吧,要了NaN杯Null
1T測試工程師沖進一家酒吧,要了500T啤酒咖啡洗腳水野貓狼牙棒奶茶
1T測試工程師把酒吧拆了
一個測試工程師化裝成老板走進一家酒吧,要了500杯啤酒并且不付錢
一萬個測試工程師在酒吧門外呼嘯而過
一個測試工程師走進一家酒吧,要了一杯啤酒';DROP TABLE 酒吧
測試工程師們滿意地離開了酒吧。
然后一名顧客點了一份炒飯,酒吧炸了
總之,所做的一切不一定要有什么實際意義,這么做的原因只是因為芯片允許這么做。畢竟,我們知道有時候有的芯片用戶真的會這么做。
這個驗證法及其變種能發(fā)現(xiàn)各種類型的缺陷,從非常重要的缺陷到簡單甚至愚蠢的缺陷。它取決于極限驗證人員的駕取能力。驗證人員必須可以區(qū)分哪些是純屬發(fā)難的問題,哪些是可以讓芯片正確運行的問題。
在驗證中,應(yīng)盡力去創(chuàng)建那些用戶真正使用的應(yīng)用場景,這么做的結(jié)果是讓人們知道所發(fā)現(xiàn)的那些缺陷確實會影響到最終用戶,并且應(yīng)該被及時修復(fù)。
審核編輯:劉清
-
芯片驗證
+關(guān)注
關(guān)注
5文章
34瀏覽量
47250
原文標題:芯片驗證方法之極限驗證法
文章出處:【微信號:數(shù)字芯片實驗室,微信公眾號:數(shù)字芯片實驗室】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論