您的位置:首頁>科技>正文

怎麼成為一名很棒的驗證工程師?

本文是從 西西在冰城 在EETOP的一個問答帖整理而來, 由 qyxu1979、dtyuzhou 給出了比較詳細的解答。

西西在冰城 的提問:

我的老師之前就從事的是驗證的工作, 所以受他影響我也希望自己可以做驗證方面的工作。 但是真正開始接觸這方面發現, 驗證比設計是更難更重要的存在誒(個人觀點)

而且發現驗證工作對程式設計能力要求很高?

所以小白在此求助:

1 驗證工作需要哪些知識?(比如:指令碼語言, system verilog)

2 驗證方法學是必須的嗎?驗證方法學應該怎麼學呢?(因為我們有驗證這門課程, 但是在課程中主要講system verilog, 所以不是很理解驗證方法學需要怎麼學)

3 有 驗證工程師進階讀本之類的嗎?就像

程式師的讀書歷程:

x 語言入門

x 語言應用實踐

x 語言高階程式設計

x 語言的科學與藝術

程式設計之美

程式設計之道

程式設計之禪

頸椎病康復指南

哈哈, 開個玩笑。

希望瞭解的工程師、同學們說一說。

qyxu1979 的解答:

試著幫你解答下, 希望可以幫到你。

1 驗證工作需要哪些知識?

a、linux基本知識, 編輯器基本操作(gvim), 驗證基本知識(驗證與測試的區別, 驗證流程與測試點分解等等), 設計基本知識

b、驗證程式設計語言sv, 腳本知識(perl, shell, tcl至少會一種), 驗證模擬工具(cadence和synopsis公司的), makefile, 待驗證領域知識

c、驗證方法學(建議就學uvm吧), formal驗證

2 驗證方法學是必須的嗎?驗證方法學應該怎麼學呢?

a、個人認為驗證方法學是必須的,

但是可以多思考下如果沒有驗證方法學自己如何搭建驗證環境。

b、先學會應用, 然後逐步深入學習原始程式碼(源碼不看也可, 但思想要理解)。 至於應用最快的是找個適當的小模組搭建下驗證環境即可, 第一個是最難的。

3 有驗證工程師進階讀本之類的嗎?

這個太多了, 英語好的話直接看原版吧, 寧缺毋濫, 否則越看越糊塗, 每個人的理解可能都不一樣, 找到適合自己的即可, 總之目標就是自己搭建的環境簡單易用, 方便靈活。

後記:

個人覺得驗證比設計入門要難, 如果說設計3個月初步可以獨立幹活的話, 驗證至少需要6個月。 一個好的師傅及驗證平臺很關鍵, 否則會把你帶到溝裡, 形成思維定式想改變就難了。

一個前端專案至少70%的工作量都在驗證領域, 但很多公司不重視驗證, 還是認為設計更重要(畢竟是從無到有, 而且最終需要形成產品的), 看不到或輕視驗證所做的貢獻。

dtyuzhou 的解答:

驗證涉及到的知識面可能確實會比設計多一點, 但是好多優秀的工程師是可以做到設計驗證通吃的, 只是工作重點會有所偏重設計或偏重驗證而已。 如果覺得自己的軟體基礎還不錯的話, 可以考慮做驗證。

現在市場對驗證工程師的需求非常大, 基本上是超過設計人員的需求。 現在有很多公司的驗證人員都是短缺的, 所以工作前景還是不錯的。

基礎要求前面的大神已經都有所提及了。 基本來看的話最基礎的還是systemverilog, 這個是基礎,

剛開始主要是要理解OO的部分思想, 如果你已經是C++的用戶的, 那麼會很容易上手的。 SV這裡的可以多留意一下資料結構、隨機、多執行緒控制、覆蓋率處理等等

方法學肯定是要的, 最好是UVM, 至於版本沒有必要刻意的最求高的UVM版本, 現在1.1d基本上還是可以的。 如果身邊有VMM的環境可供學習的話, 也是可以的, 最好是基於VMM1.2版本的驗證環境, VMM 1.2和UVM算是互相借鑒了, 可以比較容易的過渡到UVM, 畢竟以後的大趨勢還是UVM。

書籍的話還是相關的user 手冊比較靠譜啊。

Next Article
喜欢就按个赞吧!!!
点击关闭提示