從剛接觸System Verilog以及後來的VMM,OVM,UVM已經有不少年了,隨着電子工業的逐步發展,國內對驗證人才的需求也會急劇增長,這從各大招聘網站貼出的職位上也能夠看出來,很多朋友可能想盡快掌握這些知識,自學是一個好辦法,我結合本身的親身經歷和你們談談初學者如何能儘快入門,繼而成爲一名合格的IC驗證師。 面試
1.首先來談談仿真工具,無非就是Synopsys, Cacence Mentor三大公司的vcs, incisive, modelsim,其實還有些稍小一些公司象aldec公司的Riviera-PRO也不錯,若是能接觸到這些工具,再能有水平比較高的人提供一些指點就方便多了。若是手頭沒有工具,則要本身考慮在UNIX上安裝合適的工具,這我就很少說了,你們都懂的,哈哈。若是你也不會或者不肯意安裝工具那麼能夠去 EDA-playground看看,能夠在線直接仿真出結果,若是你的網速比較快,這也不失爲一個好注意。 ide
2.如今市面上的參考資料比前幾年多多了,不能簡單地說是參差不齊,至少要找到適合與本身當前狀況的資料。不要東看看西瞅瞅,由於包含的內容太多了,當你搞懂這一塊的時候另外一塊可能忽略了或者遺忘了,因此最好認真專一於一兩本書籍,千萬不要貪多,我推薦如下幾本: 工具
若是verilog基礎很差,應該加緊學習,畢竟是System Verilog的基礎,夏宇聞編寫的Verilog數字系統設計教程是首選。首先accellera的Universal Verification Methodology User's Guide仍是要讀一讀的,雖然寫的不生動,畢竟只是一個說明書。有關system verilog的書籍市面上很少,Synopsys 的chris spear10年前所著的《SystemVerilog for Verification》如今看來依然不錯,2009年出版的中文本我是讀了好幾遍的。前幾年Cadence的kathleen A Meade寫了一本《A Practical Guide to Adopting the Universal Verification Methodology(UVM)》,後來的第二版我很喜歡,裏面配有大量實際驗證中的例子,頗有價值。這自己出版後反映不錯,因此有了後來的另外一本書 Advanced Verification Topics主要介紹混合信號,低功耗,以及多語言驗證問題,有興趣的朋友能夠參考一下。三大公司中的Mentor Graphics也貢獻了《VERIFICATION METHODOLOGY ONLINE COOKBOOK》。國內新出版的《UVM實戰》也頗有影響,不過它的第二部也就是源代碼部分實用性不大,就此我曾經詢問過UVM的community member中的高人,他們都不推薦去研讀代碼,由於其中有很多東西涉及到各公司以及各大用戶中的不少苟且之事,不少說不定下一版本就會更改甚至取消,和咱們使用UVM驗證環境的工程師沒有多大的關係。不少公司對設計工程師的assertion有要求,其實設計工程師本身寫的斷言每每比驗證工程師更實用,《A Practial Guide for SystemVerilog Assertions》也有中文版,例子和翻譯都不錯,這幾本書網上基本均可以找到,若是沒有能夠和我聯繫(3196301835@qq.com)。 學習
3.我想鼓勵初學者的是不要被厚厚的說明書給嚇一跳,主要是掌握基礎概念。 SystemVerilog中除了受限隨機,功能覆蓋率等之外,數據類型,運算符,類的概念都和C++相似,這些也每每是面試中的重點。相比 SystemVerilog,UVM中的內容要少些可是牽扯到很多面向對象設計中比較專業的問題象factory, callback等,這須要經過仔細分析代碼來理解。總之,從基本概念入手不要妄圖一會兒把全部問題都搞清楚,雖然不通過多年實際工做項目的考驗是沒法真正掌握這些內容的,可是不排除通過短時間的訓練迅速得到敲門磚的可能。 網站
4.其它資料.包括一些網站和論壇,象本站就有海量的資料,UVM的官方網站 Verification Academy有UVM的介紹和視頻,甚至還能夠就一些比較專業的問題向committee member諮詢。另外在驗證工程師(www.asicdv.com)這個中文網站有大量簡單示例對初學者也頗有幫助。 ui
參考文獻: 翻譯
[1] 新手學習System Verilog & UVM指南. http://bbs.ednchina.com/BLOG_ARTICLE_3027974.HTM設計