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