电竞比分网-中国电竞赛事及体育赛事平台

分享

名盛汽車電子--提高驗證效率的驗證計劃改善方法

 ekylin 2006-06-11
提高驗證效率的驗證計劃改善方法
名盛汽車電子 發(fā)表于 2006-1-8 19:55:00

    

    

 

     項目管理的內(nèi)容不外乎計劃和執(zhí)行,如果每個人都對其驗證項目進行了良好的計劃,那么為什么還會存在質(zhì)量問題和進度落后的情況?一份優(yōu)秀的計劃中應包含用可度量指標描述的詳細目標、最佳的資源利用和現(xiàn)實的進度估計。  

    
               圖1:驗證項目中期望效率與實際效率的差距。 
  
    
                     圖2:驗證團隊計劃制定流程圖。 
     
                     圖3:可執(zhí)行的計劃推動驗證進程。 

     在管理者及其團隊制定計劃時,他們通常都沒能觸及那些導致進度滯后、資源生產(chǎn)率低和產(chǎn)品質(zhì)量不佳的常見問題。大部分驗證計劃都只注重任務性能而不是怎樣定義驗證問題,這與解決方案無關(guān)。  

     這就幾乎必然導致驗證過程存在漏洞,使得設計缺陷(bug)被忽略,而要修復這些缺陷又會導致進度推遲,或者導致嚴重的資源緊張和效率低下。但我們只要對計劃稍加改進,就能避免這些問題,收到事半功倍的效果。  

     為什么說驗證計劃并不完整  

     由于時間壓力過大,大多數(shù)驗證團隊都沒有進行全面的驗證計劃,而是跳過這一步,直接進入設計前的驗證環(huán)境開發(fā)過程。這樣使計劃一成不變的,或者毫無靈活性可言,這樣的計劃幾乎沒有用處,因為它與實際項目之間的聯(lián)系很難維持。換言之,這樣的驗證計劃根本不成其為一個計劃,充其量它只是一組不完整的討論筆記。隨著項目推進,團隊開始工作并認識到他們應該實現(xiàn)怎樣的目標,這樣的計劃終會一無是處。  

     上面的問題的解決辦法是必須使驗證計劃成為驗證過程本身的一個可以執(zhí)行的部分。當驗證過程自動化工具讀取驗證計劃,驗證計劃變得可執(zhí)行。這種方法可用來組織和生成項目狀態(tài)報告,并成為分析數(shù)據(jù)以決定下一步行動的基礎(chǔ)。  

     這樣一來,計劃的價值就得到了最大化,它在項目的整個周期過程中都將充當驗證過程的開始和檢驗標準的角色。通過用驗證計劃來自動測試驗證過程的完整性,能夠直接增大開發(fā)和維護它的投資回報。這樣,當項目中必須進行改動時,這些改動就會被更新了的可執(zhí)行的驗證計劃記錄、跟蹤并測試,從而使驗證計劃從規(guī)范定義到結(jié)束,一直是驗證項目的一個有價值的部分。  

     只要將計劃做得更好,并使用可執(zhí)行的計劃來測試項目的完整性,就能提高項目質(zhì)量,增加項目進度的可預見性,并改善資源生產(chǎn)效率。換言之,有了更好的計劃,驗證團隊就更容易得到他們需要的結(jié)果。  

     在整個項目過程中使用計劃能夠幫助更早發(fā)現(xiàn)問題,而這正是保持項目進度的關(guān)鍵之一。同時,根據(jù)計劃的標準來跟蹤項目進展也能使團隊中的所有成員更好地進行自我管理,從而提高生產(chǎn)效率。  

     怎樣的計劃才算一個好計劃?  

     驗證計劃必須從注重“怎樣驗證”轉(zhuǎn)向到“驗證什么”。通過確定什么是需要驗證的這個重要目標,驗證團隊就能保證計劃的完整性和平衡性。這時,驗證計劃就不僅僅是怎樣完成驗證的工程規(guī)范了。  

     a. 驗證計劃的基礎(chǔ)知識  

     從高級過程的來看,驗證計劃其實十分簡單,其基本步驟包括:  

     1. 分析器件規(guī)范  

     2. 界定(scoping)驗證目標  

     3. 確定設計的特征集  

     4. 設計詳細的覆蓋(coverage)模型  

     5. 選用集合的衡量標準(aggregate metrics)跟蹤驗證進展  

     6. 根據(jù)過去的度量標準估計工作和進度  

     通常,團隊帶頭人傾向于按照這個程序來進行驗證計劃,但他們每一步都至少會遺漏一個關(guān)鍵方面,通過這種投機取巧的方式節(jié)省時間,將項目拿來作賭注 。結(jié)果,輸?shù)耐撬麄儭?nbsp; 

     b. 分析器件規(guī)范  

     所有的項目總是從幾種規(guī)范開始。市場行銷過程能夠幫助了解用戶需求,管理的過程定義資源和進度以及自己構(gòu)建相對于購買的制約;最后再由系統(tǒng)工程師和軟、硬件工程師以及驗證團隊分別制定驗證實現(xiàn)規(guī)范,以該規(guī)范引導項目進行。  

     對一個項目而言,最大的風險是無法預見變動的目標。有些團隊會試圖在一開始就找出所有的需求,然后順序地完成整個項目。這種方法有時也叫瀑布方法(waterfall method)。事實上這個過程中常常出現(xiàn)反覆,而項目的風險就在于無法充分預計反覆的影響以及控制反覆出現(xiàn)的頻率及其給項目增加的負擔。  

     c. 界定驗證目標  

     在項目驗證目標的界定階段最常見的問題就是沒能與所有相關(guān)人員進行廣泛的驗證討論。而驗證目標的界定和建檔是鑒定項目規(guī)范是否考慮周全以及是否能被充分理解的唯一方法。  

     在項目開始之后再去計劃一個驗證項目的細節(jié)將十分低效并難以預計后果。管理層必須在前期就投入足夠的時間去制定準確和完善的驗證目標。需求的擴展變化是另一個問題,將在下節(jié)討論。  

     所有可能涉及到的人員都必須參與制定驗證目標,他們包括管理層、市場人員、系統(tǒng)設計師、硬件設計師、軟件設計師和驗證團隊。因為只有整個團隊都參與對話,才可能明確整個項目的需求。市場需求永遠不可能完全,因為這些市場需求只解決市場關(guān)鍵因素。  

     從定義上講,管理資源和項目進度約束往往具有一定沖突,隨著項目目標的全面界定,必須緩和這二者之間的矛盾。系統(tǒng)工程師應該提出與市場需求最貼近的技術(shù)觀點,軟、硬件工程師也應為項目實現(xiàn)的關(guān)聯(lián)性提出有價值的見解。  

     驗證團隊是整個討論小組的核心,正是他們不斷地挑戰(zhàn)項目組的其他成員,讓他們看到并彌補項目的缺陷,同時還要讓他們認清哪些特征是無法驗證的,這正是面向驗證的設計所需達到的關(guān)鍵目標。如果遺漏了其中任何一點,那么項目中就仍存在漏洞和風險,從而不可避免地導致產(chǎn)品質(zhì)量問題、成本過高或者進度滯后。  

     d. 確定設計的特性集  

     高超的測試技術(shù)已經(jīng)成為驗證中難以掌握的一個部分,衡量標準則是度量驗證過程的一種方式。一直以來,工程師都通過設計測試軟件、實現(xiàn)檢驗器(checker)并利用代碼覆蓋檢查工具來進行驗證。測試列表作為一種度量標準已經(jīng)廢棄不用了,因為這種標準在規(guī)定和實現(xiàn)上太過繁復。  

     有些時候,定向測試軟件比較容易設計,但它們無法滿足現(xiàn)代系統(tǒng)級芯片這樣規(guī)模的測試要求。檢驗器并不適合用做度量標準,因為它們只檢查錯誤的系統(tǒng)行為而不記錄已經(jīng)觀察到的好的行為。而且,代碼覆蓋與行為的關(guān)系也很松散,因為每一行代碼的器件的前后環(huán)境條件(context)都沒有記錄。  

     業(yè)界領(lǐng)先的電子開發(fā)團隊都認為功能覆蓋是驗證的最準確的度量標準。功能覆蓋是覆蓋驅(qū)動驗證法(CDV)的一部分,采用這種方法,開發(fā)小組能測量出他們實際已經(jīng)完成了多少驗證工作,而不是已經(jīng)執(zhí)行了多少次(大部分是多余的)仿真周期。  

     功能覆蓋的語言規(guī)范被設計成和界定過程中得到的需求規(guī)范相匹配,覆蓋規(guī)范中的斷言語言也可用于捕捉實現(xiàn)的假設,這是基于斷言的驗證(ABV)的一部分。  

     全部覆蓋是完全了解一個項目狀態(tài)的唯一方法,而功能覆蓋則與設計特性直接相關(guān)。斷言覆蓋與功能覆蓋以及實現(xiàn)完整性都有關(guān)系,硬件和軟件代碼覆蓋可以讓我們知道設計完成得怎樣。  

     e. 設計詳細的覆蓋模型  

     界定過程的結(jié)果是得到一系列需要驗證的特性,而規(guī)范必須對這些特性加以描述以便度量,覆蓋則用來定義驗證的度量標準。界定的結(jié)果是產(chǎn)生兩種類型的度量標準:明確的規(guī)范度量標準和明確的實現(xiàn)度量標準。明確的規(guī)范標準由工程師從規(guī)范中選取,明確的實現(xiàn)標準則當RTL可用后,工程師從RTL實現(xiàn)中選擇。  

     計劃階段出現(xiàn)的典型疏忽是對覆蓋模型缺乏仔細研究。覆蓋模型必需足夠完整以代表需要驗證的所有特性,同時它也必須足夠簡練,這樣開發(fā)小組和驗證工具才能在給定的時間段內(nèi)完成任務。這樣的判斷十分關(guān)鍵,因為100%地驗證絕大部分關(guān)鍵功能比在很詳細的覆蓋模型中缺失關(guān)鍵功能要好得多。  

     f. 選用集合法來跟蹤驗證過程  

     所謂管理,不外乎計劃和執(zhí)行,而跟蹤項目進度是唯一能夠知道項目團隊是否在執(zhí)行的方法。問題是怎樣才能選到能夠代表項目進度并能揭示項目中存在的問題和風險的少量衡量標準?  

     通常,項目團隊會定義一些重要階段(milestone)來大致勾畫出項目進展情況。要想盡量提高項目團隊的效率,在計劃這些重要階段時應注意,這些重要階段必須能推進項目中最費時或者風險最高的部分向前發(fā)展。然而,僅僅驗證某個特定的特性已經(jīng)無法滿足要求了。  

     越來越多的團隊定義能暴露可能出現(xiàn)的系統(tǒng)集成問題的重要階段。他們提供正確的功能性模塊的子集以便能進行早期系統(tǒng)驗證,這就要求詳細定義一些特性,這些特性在每個重要階段中都必須出現(xiàn)。  

     利用覆蓋來定義這些特性,并對具備系統(tǒng)某部分特性的重要階段進行仔細的定義和跟蹤。這樣一來,項目重要階段不再僅僅是在進度表中標出一塊作為階段完成的標志,它具備了更重要的意義,那就是切實降低項目的質(zhì)量和進度風險。  

     還有一些人工跟蹤的重要階段,其中包括首次工作仿真,以及覆蓋模型的生成、檢查和完成。這兩個重要階段也叫做實現(xiàn)跟蹤,預期和完成這兩個重要階段往往會使第一次采用覆蓋驅(qū)動驗證的團無所適從。一種可執(zhí)行的驗證計劃就能為他們分別規(guī)定好條件,從而改善這一項目早期關(guān)鍵階段的可預測性。  

     g. 采用過去的衡量標準估計進度  

     創(chuàng)建工程進度表是一種藝術(shù),它反映了負責項目計劃的團隊經(jīng)驗是否豐富,也會讓他們想起過去在類似的任務上花費的時間長短。在功能驗證中使用的標準越多,進度估計就越成其為一種工程藝術(shù),它使驗證過程是可見的。而問題是過去很少有團隊能夠得到這些標準,也很少有團隊在創(chuàng)建一個能量化和估計項目進度的模型上投入。我們的客戶中有一些富有經(jīng)驗的客戶除了覆蓋標準以外還在跟蹤更多的標準,力圖進一步提高其進度估計的精確程度。  

     他們跟蹤的這些標準用于在設計和驗證環(huán)境中測量實現(xiàn)、調(diào)試和集成每一級IP及其提取所花費的時間,不同大小的IP配以不同的數(shù)據(jù)點(data point)。他們還要估計開發(fā)新IP相對于重用舊IP所造成的不同影響,項目團隊的工程經(jīng)驗和工程技能對項目的影響,以及自動化驗證過程與人工驗證管理之間怎樣權(quán)衡。他們不但要考察硬件和軟件,還要考察模塊、芯片以及系統(tǒng)級的問題。  

     如果沒有實際的歷史度量標準,那么項目團隊可以通過估計得到這些標準。但今天的進度表往往是對任務的估計,而不是對度量標準的估計。項目團隊通過將這種估計細分為更多詳細的級別,能夠發(fā)現(xiàn)他們的論證中的假定成分。此外,他們還會針對每個工作人員怎樣完成其工作給出詳細的細節(jié)。  

     這樣我們就能構(gòu)建出一個模型或等式,它利用歷史度量標準,輔以現(xiàn)有的項目估計,創(chuàng)建詳細的項目進度表。然后再考慮這些估計以及模型本身的精確程度,并且根據(jù)進度估計許下項目進度的承諾。采用合適的自動化工具,項目團隊就能將這些估計與整個項目、任務以及詳細的標準進行比較,并從中吸取經(jīng)驗以利于下一個項目的計劃。  

     需求改變  

     每個工程師都知道,需求總是在變化的,即使推遲計劃也不會改變這一事實。許多電子產(chǎn)品所服務的用戶市場與季節(jié)的關(guān)系比與項目結(jié)束時間的關(guān)系更加密切。管理人員一直都在尋求方法,企圖控制變化過程,使項目更具有可預測性。關(guān)鍵問題是“我們最晚能在什么時候才引入變化,并按進度發(fā)布一款高質(zhì)量的產(chǎn)品呢?”。  

     在從規(guī)范制定到項目結(jié)束階段一直對驗證起推動和管理作用的自動化機制中,歷史驗證計劃是一個關(guān)鍵部分。自動化驗證機制中包括:  

     1. 可執(zhí)行的驗證計劃  

     2. 用于測量驗證進度的覆蓋和斷言  

     3. 用于檢測和匯報違規(guī)規(guī)范的檢驗器和斷言  

     4. 激勵產(chǎn)生(Stimulus generation)  

     進行更好的驗證計劃并采用可執(zhí)行的驗證計劃能夠帶來以下幾點好處。  

     1. 提高產(chǎn)品質(zhì)量  

     顯而易見,好的計劃會促成高質(zhì)量的產(chǎn)品。每一個接受我們的幫助改善了其驗證計劃的客戶,在這個過程之后都發(fā)現(xiàn)了他們的問題。即使對那些進展順利的項目而言,進行嚴格的驗證計劃,其價值也是顯而易見的。有時,驗證計劃的最大價值就在于它為計劃創(chuàng)建了一個通用的流程和術(shù)語。  

     2. 提高項目進度的可預見性  

     更精確的工作估計以及更早發(fā)現(xiàn)項目與計劃的偏差增強項目進度的可預見性。同時,詳細設定重要階段也能幫助更早發(fā)現(xiàn)項目中的關(guān)鍵問題,從而使驗證團隊有機會在項目的正常過程中成功地應對這些挑戰(zhàn)。  

     3. 提高團隊效率  

     一個可執(zhí)行的驗證計劃既能幫助一個團隊更有效地交流,也能幫助他們更輕松地將工作重點放在項目的關(guān)鍵因素上。而標準匯報方式也增加了團隊的工作效率和管理層的管理效率,使資源能集中應用在最關(guān)鍵的任務上。 

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多