這種搞二元對立的比較,沒有任何意義,因為二者面臨的對象就是不同的。就國內目前的情況來看,設計的工作量大都是無形的,而驗證的工作量基本都是有形的。
從coding的角度來看,DV的work load遠比DE要大,所以有些公司為了滿足deadline會要求de和dv要達到1:1.5(預算不足),乃至1:2(預算充足)的配比。而且,即使達到上述比例,就比較單位coding時間,DV仍然遠高于DE。
所以從spec review后的RTL coding開始到sign off前,DV的debug時間會占掉整個前端開發的7成。
原因1:DV的很多工作對DE存在依賴性。
RTL沒有release前,DV是沒有辦法進行sanity case的調試的,換句話說,此時驗證環境是打不通的,后續的工作很多都會被pending住。其次RTL中如果存在基礎性的bug沒有及時fix,又會反過頭來影響DV環境的進度。所以,DV的速度快,DE的速度未必會快,但DE的速度慢,DV的速度一定快不了。
原因2:DV code受spec影響的程度遠高于RTL。
因為DV code大多是面向對象語言編寫的,其質量很大程度上受制于owner的水平,而且即使是頂級驗證工程師也沒法精確預判模塊未來的繼承關系,所以絕對的,可永恒復用的驗證環境是不存在的。當IP的功能發生結構性改變的時候,對DV owner無異于重寫環境,所以經常會出現RTL小改,DV環境大改的情況。
原因3:RTL不僅僅需要經過可綜合性檢查,還需要經過可復用性檢查。
僅從code上來說,RTL的繼承關系遠比DV code要明顯。再退一步說,即使重寫RTL,對DE來說,整體工作量仍可控制在可接受的范圍內。
原因4:DE和DV的工作重心不同。
DE的工作很大一部分時間是在寫微架構和design spec,RTL coding的時間其實只占一小部分(包括找出bug后的fix time)。而DV要在學習完微架構后,需要對各個feature進行充分的驗證,這涉及到最后整個block的完備性和可靠性的問題,自然需要投入大量的時間完善各種 corner case。
原因5:投入周期。
DV的投入周期從前期的微架構review到tapeout前是full time,從RTL release到RTL freeze之間基本coding不間斷,所以“可見的”工作量遠遠高于DE,“體力活”的特征十分明顯。
綜上所述,DE的工作相比之下需要更高的思維強度,需要花時間coding的“簡單勞動”并不多。而DV的工作中,各種“雜活”太多,對微架構的參與度并不高。但是,一旦DV owner將自己從繁雜的環境改動和基本case的編寫中解放出來,持續深化對設計和軟件的理解,其戰斗指數會飆升,對微架構的參與度和話語權也將大大提高...這就是我們所謂的高檔位DV。
一款復雜soc芯片的設計,從設計到驗證,從前端到后端,乃至軟件團隊,需要數百人的參與,這其中蘊含著集體的智慧和勞動。
沒有哪個單一個體或部門可以貪天之功為己任。
編輯:黃飛
-
IC設計
+關注
關注
38文章
1295瀏覽量
103918 -
DEBUG
+關注
關注
3文章
93瀏覽量
19907
原文標題:數字IC驗證和設計誰工作量大?
文章出處:【微信號:數字芯片實驗室,微信公眾號:數字芯片實驗室】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論