相信大家看到標題已經(jīng)猜到我們這期要探討的話題了。要成為IC驗證工程師我們首先要懂基礎(chǔ)的數(shù)電、verilog、sv、uvm、懂得使用Linux,懂仿真工具的使用,懂Shell、Perl、Tcl、Makefile、Python這些腳本就差不多了,可是要成為一位好的驗證工程師我認為需要掌握的技能不止于此,下面我們來探討想要成為一位好的IC驗證工程師應(yīng)該具備什么樣的技能,首先有請知乎
wafanmin:
想要成為一名IC驗證工程師,首先要了解IC驗證工程師每天具體的工作內(nèi)容是什么,了解了具體做的事情以后才能更準確的學(xué)習(xí)需要學(xué)習(xí)的知識,把時間花在刀刃上。
總的來說,IC驗證的具體工作內(nèi)容幾乎全部包含在下面五條中:
按照項目需求撰寫測試方案和計劃,搭建驗證環(huán)境
編寫直接測試用例和隨機測試用例,完成仿真驗證,撰寫驗證報告
理解模塊及芯片設(shè)計規(guī)格,協(xié)助查找和修復(fù)設(shè)計缺陷
確保驗證功能的覆蓋率,識別覆蓋率漏洞,管理和控制驗證風(fēng)險
使用腳本語言,維護和更新驗證環(huán)境,提升驗證效率
根據(jù)這些工作內(nèi)容,再結(jié)合招聘網(wǎng)站上的任職要求,我將IC驗證需要具備的專業(yè)能力做了一番總結(jié),如下所示,排序有先后,最重要的在上面:
UVM及驗證環(huán)境搭建:SystemVerilog Gvim
驗證覆蓋率(包括功能、斷言、翻轉(zhuǎn)等多種覆蓋率的含義、收集方法、優(yōu)化方法等)
必要的IC設(shè)計知識、芯片制造流程,用來與設(shè)計battle或者找出設(shè)計有誤的地方,了解一些標準接口,如Ethernet、I2C、SPI、UART、CAN/CAN-FD、JTAG、APB、AHB、AXI等。
掌握一門或多門腳本語言如Python文檔撰寫能力
英語閱讀能力
溝通能力
初學(xué)者可以放心的把時間放在學(xué)習(xí)這五條上面,以免浪費時間,例如一開始就學(xué)習(xí)多門腳本語言或者把英語學(xué)的棒棒的,那樣是有用,但邊際效益較低。
ic設(shè)計日記錄:
數(shù)字IC驗證屬于數(shù)字IC設(shè)計流程前端,數(shù)字IC設(shè)計崗位的一種,主要是對數(shù)字前端的設(shè)計做驗證。
數(shù)字IC驗證工程師需要具備以下技能:1.會操作Linux,會使用vi編輯器,可以完成文本的編輯功能和操作命令。2.熟悉門電路,掌握組合,時序邏輯電路;3.Verilog基本概念框架建立,掌握Verilog 基礎(chǔ)語法,熟悉Verilog任務(wù),掌握狀態(tài)機;4.掌握狀態(tài)機和基于Verilog同步FIFO代碼編寫;5.掌握SV.全面綜合RTL設(shè)計、測試平臺、斷言和覆蓋率,能在多個項目中使用連續(xù)一貫的語法來構(gòu)造可靠并且可重復(fù)的驗證環(huán)境。6.學(xué)會如何用UVM搭建驗證平臺,包括如何使用sequence機制、factory機制、callback機制、寄存器模型等;掌握如何編寫代碼才能保證可重用性。
需要如何著手準備?
數(shù)字電路和Verilog
首先需要具備數(shù)字電路的基礎(chǔ)和Verilog語言基礎(chǔ)。這里給大家推薦基本書籍:
1.《數(shù)字電子技術(shù)基礎(chǔ)》。會給大家全面系統(tǒng)的介紹數(shù)字電子技術(shù)的基礎(chǔ)知識全書由數(shù)制和碼制、邏輯代數(shù)基礎(chǔ)、門電路、組合邏輯電路、半導(dǎo)體存儲電路、時序邏輯電路、脈沖波形的產(chǎn)生和整形電路、數(shù)一模和模一數(shù)轉(zhuǎn)換等八章和附錄組成。
2.《verilog硬件描述語言與設(shè)計》EDA教學(xué)基礎(chǔ)教材,全書從硬件描述語言VerilogHDL簡介入手,重點闡述了硬件描述語言的基礎(chǔ)語法、語法和與之匹配的硬件電路設(shè)計基礎(chǔ)、電路設(shè)計案例等;除了對VerilogHDL語法基礎(chǔ)詳細闡述外,對邏輯電路、時序綜合和狀態(tài)機等復(fù)雜電路設(shè)計問題也進行了介紹。對復(fù)雜數(shù)字系統(tǒng)也進行了案例講解。全書共11章,主要包含VerilogHDL語言基礎(chǔ)、邏輯電路結(jié)構(gòu)、狀態(tài)機與時序綜合、驗證等主題的內(nèi)容。
3.SV推薦綠皮書《systemverilog》測試平臺編寫指南,UVM則推薦白皮書《UVM實戰(zhàn)》。由于每家公司的驗證策略和驗證平臺搭建并不一定相同,但建議主流的驗證工具一定要會,扎實的基礎(chǔ)以及工具的使用能力,是你在項目上游刃有余的保障,否則將舉步維艱。
4.在了解基本語法之后,建議去HDLBits這個網(wǎng)站去刷題。上面從最基礎(chǔ)的wire,vector等基礎(chǔ)概念,到各種門電路,組合電路,時序電路應(yīng)有盡有,非常全面。
5.驗證實戰(zhàn)經(jīng)驗的積累,嘗試自己去搭建驗證環(huán)境的能力,在進階一點就要根據(jù)具體驗證的設(shè)計模塊或者芯片,相應(yīng)的學(xué)習(xí)各種協(xié)議、以及系統(tǒng)結(jié)構(gòu)等。自學(xué)數(shù)字IC驗證驗證可能對很多同學(xué)都是比較困難的,尤其是關(guān)于驗證更注重實戰(zhàn)技能,項目積累。
木子李:
IC驗證雖然相對于芯片設(shè)計,技術(shù)門檻較低,但要學(xué)習(xí)的知識寬度要大于芯片設(shè)計。1.基本的數(shù)字電路知識: 觸發(fā)器、狀態(tài)機、加法器、寄存器,鎖存器,組合邏輯,時序邏輯,同步時鐘等等;2.linux:IC開發(fā)絕大部分是在linux OS下,所以linux是必備技能,在這里需要掌握了linux的常見操作即可;3.RTL硬件描述語言:國內(nèi)大部分是verilog,VHDL可以直接放棄了(軍工除外,軍工常用VHDL);4.核心基礎(chǔ):深刻學(xué)習(xí)理解SV語言,可以學(xué)習(xí)與SV類似的面向?qū)ο?a href="http://www.ttokpm.com/v/tag/1315/" target="_blank">編程語言,幫助對SV語言特性的理解;深刻學(xué)習(xí)理解UVM驗證方法學(xué),理解源碼5.EDA工具:要會使用,常見的百度或者看公司現(xiàn)有的腳本都可以,不常用的就去查手冊;6.windows平臺下可能用到的軟件有:quartus II、Modelsim、questasim7.linux平臺下可能用到的軟件有:VCS、verdi、GVIM、VIM8.基礎(chǔ)的腳本語言,Makefile必學(xué)、此外shell,python和perl至少要懂一個,建議兩個都學(xué)一下;
之后的IC驗證工程師的能力提升學(xué)習(xí):
明白驗證的Value,不只是搭建TB和寫case,這一點特別重要。驗證不僅要看得懂軟件,玩的6硬件,通吃前端EDA工具,熟悉flow中得各種腳本,同時對芯片結(jié)構(gòu),設(shè)計得內(nèi)容要看明白。主要是接口、功能,結(jié)構(gòu)什么的 ,畢竟要知道我們驗證的是個什么玩意兒。項目入手,深入研究某個方向的,比如GPU,基帶,wifi、CPU、存儲深入學(xué)習(xí)設(shè)計領(lǐng)域知識和IC設(shè)計架構(gòu)深入領(lǐng)悟幾個通用的協(xié)議,比如AMBA, AHB, APB, AXI, AXI-lite, ACE, PCIe等優(yōu)化代碼結(jié)構(gòu)和項目層次,增強可復(fù)用性,增強集成度和自動化多平臺驗證工具的使用,對于覆蓋率收斂很重要。
IC驗證工程師的職業(yè)規(guī)劃
一年 完成入門
三年 從初級到獨立承擔(dān)模塊驗證
五年 從獨立承擔(dān)模塊驗證到驗證leader(也有可能轉(zhuǎn)向芯片設(shè)計)
N年 從驗證人員到驗證主管(或全棧技術(shù)專家,或創(chuàng)業(yè))
書單
ic驗證有三大法寶:
綠皮書:《SystemVerilog驗證+測試平臺編寫指南》
白皮書:《張強的UVM實戰(zhàn)》
紅寶書:《劉斌的芯片驗證漫游指南》
要學(xué)習(xí)的內(nèi)容很多,一朝一夕是學(xué)不完的。我見過很多0-5年經(jīng)驗的工程師,面對復(fù)雜的協(xié)議、改不成功的報錯、找不到的bug被氣到在電腦前唉聲嘆氣、一臉愁容,后悔自己當(dāng)初沒學(xué)好。
面對繁忙的工作、學(xué)不完的知識,我認為一個“好”的驗證工程師要懂得給自己減負,這里的減負一方面指遇到問題冷靜思考,從根本解決問題,第二 指調(diào)節(jié)自己的心情讓自己心情減負。
遇到接口的錯誤會不會是協(xié)議沒有理解透徹,遇到怎么都找不到的報錯會不會是基本功掌握的不扎實,遇到幽靈一般的問題會不會是對整個環(huán)境的理解還不夠到位,一個問題解決后千萬不要抱著終于解決,這輩子都不想再遇到這個問題的想法,一定要靜下來心來分析問題出現(xiàn)的原因隨時查漏補缺,這樣下去問題會越來越少,否則下次遇到還是會浪費精力,好的學(xué)習(xí)習(xí)慣難道不是一種減負嗎?
第二方面學(xué)習(xí)是一個要一直堅持下去的習(xí)慣,健康的生活方式也是,或許我們可以在休息時間把用在玩手機的時間分出來一些培養(yǎng)興趣愛好。晨跑,清晨在感受多巴胺和內(nèi)啡肽帶來的雙重愉悅中迎接新的一天;健身,沒有時間去健身房可以買一副啞鈴在家練,在力竭中感受一天天變大的力氣和變強壯的體格;去喜歡音樂,累的時候戴上耳機感受著歌曲的律動;買一些好看的創(chuàng)意擺件、綠植放在辦公桌,給自己營造一個輕松舒適的氛圍。
做好一位工程師需要過硬的專業(yè)知識和個人能力,可好的學(xué)習(xí)習(xí)慣和生活習(xí)慣也會讓我們一生受益,希望這期文章會帶給大家一些啟發(fā)。歡迎評論區(qū)留言互動?。?!
-
模塊
+關(guān)注
關(guān)注
7文章
2612瀏覽量
47006 -
IC
+關(guān)注
關(guān)注
36文章
5787瀏覽量
174360 -
芯片設(shè)計
+關(guān)注
關(guān)注
15文章
980瀏覽量
54618
原文標題:做“好”IC驗證工程師的必備技能
文章出處:【微信號:Rocker-IC,微信公眾號:路科驗證】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論