Global Sources
電子工程專輯
 
電子工程專輯 > EDA/IP
 
 
EDA/IP  

指示器有助於管理以覆蓋為主導的驗證計畫

上網時間: 2005年12月22日     打印版  Bookmark and Share  字型大小:  

關鍵字:指示器  覆蓋  驗證  故障率  權重 

覆蓋為主導的驗證計畫如何能取得成功的和可預測的結論?本文將討論有關此問題的一些基本要素。

首先,本文將描述什麼是簡單、清晰的指示器,接著介紹功能覆蓋的定義、審查和編碼,以便高效地使用指示器。文章的第三部份將討論在執行以覆蓋為主導的計畫時驗證管理解決方案的使用及好處。

圖1:全局指示器圖表示例。

驗證指示器

常言道,一幅圖勝過千言萬語,這也是本段要說明的內容。為了讓驗證和計畫管理人員集中精力實現目標,有必要將驗證計畫定義成一幅圖給他們看。我們所要呈現的圖是對驗證過程客觀的和量化的描述。這幅基於全局和局部指示器圖表的圖將逐步反映計畫進行的狀態,以確保過程中的問題被盡早發現和糾正。

我們使用的全局指示器(圖1)反映了整個驗證進程。它可以告訴管理者目前我們所處的位置、應該達到的位置以及我們計畫要前進到的位置。這個圖表上表示的進程是每周執行故障率測試所達到的功能覆蓋。

全局指示器的數據是基於在對所有功能一起模擬時所觀察到的功能覆蓋結果。在追蹤進程並提交想要的進程圖之前,主要的一些負責人應對功能在總體指示器中的相關權重達成一致的認識。

每項功能的權重是根據功能的複雜度和優先級決定的。計畫負責人可以使用這種方法開發可接受的指示器可靠性,並融入驗證過程中。

一旦期望的圖表發佈後,每周測量就會提供可靠的指示器以及滿足期望值的強烈動機。因為總體數量是在多種功能上收集的覆蓋的函數,因此單個功能的延遲可以通驅動另外功能的前進得到補償。這樣即使某些個別功能出現頻繁挫折,驗證管理者和他們的團隊也能保持整體過程的穩定性和可控性。

局部指示器圖表設計用於指示每個性能的進度。規格一共分成20到40個小類,每個類都可單獨追蹤。

如圖2所示,這幅圖所要表達的是對每個性能進程的客觀度量。由於這是由硬體驗證語言(HVL)工具產生的客觀性度量,數量無法把握,但問題很容易發現。

在提交局部指示器圖表時,每個不滿足期望值的性能都會被點亮,並必須配有相應的解釋。因此計畫管理人員可以很容易理解引起延遲的具體問題。在問題得到理解後,一些淺顯的問題通常能夠很快得到解決。

局部/全局圖表有著深遠的影響。那些為了提高覆蓋率在一起工作的驗證和設計人員都有一個切實的、可實現的小組奮鬥目標。因為這是基本的計畫指示器,因此可以集中精力確保問題的快速解決。隨著各個性能同時向各自目標的穩定發展,會有大量積極的能量和問題解決方案相繼出現。

如何才能實現目標?

為了在客觀度量基礎上有效地追蹤計畫,需要定義以覆蓋為主導的驗證計畫。該計畫應該在‘功能覆蓋點’方面提前定義好所有的驗證目標。同時,必須從事件、數值和其它方面對設計中要求測試的每個功能作詳細描述。

這一過程需要透過系統地審查被測元件(DUT)規格和相關文件才能完成,並可根據微架構功能覆蓋設計小組的定義進行擴展。然後再仔細地檢查前面產生的覆蓋計畫,確保它包含了所有要求的功能。達到計畫中要求的覆蓋率也就意味所有投片所需的功能測試要求都已得到滿足。

當功能覆蓋點定義好後,它們就能編碼進HVL環境,以便隨後測量它們完成的覆蓋率。每個功能覆蓋章節都是由一組功能覆蓋點所定義的。這些章節再如前文所述的那樣賦於權重,追蹤從此開始。

一旦完成覆蓋計畫並開始追蹤,重點就轉移到覆蓋率的完成。之所以稱為‘覆蓋驅動的測試’,原因是從這點開始,覆蓋結果將左右今後的所有活動。經過仔細分析覆蓋和回歸測試結果就可確定或重新確定驗證努力的重點。

修復缺陷、減少約束條件和改善測試環境全都是達成覆蓋率所要做的活動。同樣,RTL缺陷、腳本問題、許可不足和運算資源等問題的解決也都要以突破減緩覆蓋進程的障礙為中心。

在以覆蓋為主導的計畫中,每個驗證工程師的工作重點都是想讓他負責的性能達到滿意的結果。由於功能覆蓋是客觀的、量化了的,因此工程師都受結果的驅動。當某個性能停止不前時,工程師就轉移到下一個性能上工作。影響進程的問題被清楚顯示,並被快速解決。

驗證管理工具

圖2:每個性能的進程圖表示例。

管理以覆蓋為主導的驗證計畫對品質、可預測性和資金回籠時間有著很重要的正面影響。然而,它將遠遠擴大傳統的腳本和分析工具範圍,留下大量手工作業要做。

應該使用驗證管理自動化工具來提高這一過程的整體產能。這種類型的解決方案有以下一些性能:

  • 執行和追蹤回歸測試

  • 分析覆蓋率

  • 最佳化回歸測試

在以覆蓋為主導的驗證程式中,每天執行的模擬量通常增加10倍以上。模擬量增加一般是對已有資源的最佳化以便它們能夠更好地得到利用。這樣,通常在晚上和周末關機的工具和電腦必須不停地運轉。這種量的增加雖然可以提供對設計和高品質缺陷的更深層覆蓋,但需要管理的資訊也隨之大量增加。為了追蹤測試套件的完成、解析和分配故障以及驗證故障的修復,管理平台必須提供必要的工具套件來處理大量的測試,因而減少個人的手工處理量。

採用管理自動化工具的驗證小組中的每個工程師都有直接分配給他的故障類型列表。這意味著不管是根據錯誤類型還是測試名稱,測試故障都是由工具自動分配給個人。

在整夜的回歸測試後,所有故障都會根據故障類型分類,根據故障週期數排序,並分配給工程師除錯和修復這些測試平台問題,或將故障再分配給RTL設計人員。當修復完成後,工程師會向工具明示修復已經完成。自動化工具將在隨後的回歸測試中透過重新執行模擬來驗證所報告的每個故障修復。

分析覆蓋率

隨著計畫的進展,重點將轉向覆蓋率的分析,為的是重點關注覆蓋空白區和產生每周的指示器。為了提高精密度,節省這類分析對管理人員和工程師的時間和資源要求,管理工具應該提供以下幾方面的功能:

  • 根據每個性能定義優先級和權重

  • 為中間里程碑和對特殊性能感興趣的用戶確定遠景規劃

  • 確定造成功能無法被覆蓋的約束條件

這類分析工具將在管理階段性計畫中開啟全新的可能性。例如,第一輪設計只是為了展示,那麼只需驗證少部份設計功能就能發佈RTL。在這種情況下,只選擇所需的覆蓋點就能確定100%的覆蓋率。

如果後續設計對時間而不是性能更感應,那麼覆蓋設置定義可以只包括第一優先級的性能,把其它性能留給下一輪設計。總之,不同的負責人可以根據他們的優先級和觀點監視覆蓋率,同時驗證人員可以把重點放在手頭的目標上,無需設計多個分開的計畫。

最佳化回歸測試

到達以覆蓋為主導的計畫終點的瓶頸之一是產生覆蓋所需的電腦時間和許可資源數量。管理自動化工具應該提供一種方法來確定達到覆蓋率的最優測試。集中以這種方式執行的循環過程將有助於更快更高效地達成目標。

功能覆蓋是隨機測試效率的最好指示器。因此,執行成千上百次對覆蓋率沒有貢獻的測試可能不是對資源的最佳利用。為了找到最佳的測試套件,應依據提供覆蓋的效率對關鍵測試進行分級。

冗餘測試可以取消,某些測試可以被標記為只執行一次或執行多次。這樣將有助於找到以隨機方式執行的最優回歸測試,並且能用最少的測試覆蓋最廣的性能。隨機執行這種回歸測試可以顯著節省資源。

在前文所述的覆蓋前景基礎上能夠識別最最佳化測試套件的工具還能用來製作多個用於多種目的的小型回歸測試。一個性能回歸測試是所有測試的子集,它能以最少的執行次數覆蓋完整的性能。

這種回歸測試是在修改性能程式碼文件檢查之前執行的。最小回歸測試是確定每個性能仍然活動的高穩定測試的一個子集,一般在所有頂層或建模改變前使用。另外,如同前文例子那樣,在小組決定後面重新發佈RTL並想保持一致的品質等級情況下,第一次回歸測試可以定義為保持100%的第一次輸出覆蓋率。

總之,管理自動化工具應該可以用來完成許多原本由驗證團隊和管理者手工完成的任務,同時在高效管理驗證計畫中尋找新的可能性。

作者:Akiva Michelson

技術長

Ace Verification公司




投票數:   加入我的最愛
我來評論 - 指示器有助於管理以覆蓋為主導的驗證計...
評論:  
*  您還能輸入[0]個字
*驗證碼:
 
論壇熱門主題 熱門下載
 •   將邁入40歲的你...存款多少了  •  深入電容觸控技術就從這個問題開始
 •  我有一個數位電源的專利...  •  磷酸鋰鐵電池一問
 •   關於設備商公司的工程師(廠商)薪資前景  •  計算諧振轉換器的同步整流MOSFET功耗損失
 •   Touch sensor & MEMS controller  •  針對智慧電表PLC通訊應用的線路驅動器
 •   下週 深圳 llC 2012 關於PCB免費工具的研討會  •  邏輯閘的應用


EE人生人氣排行
 
返回頁首