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