从材料到芯片验证,是逃难还是人生的机遇?
??大家好,我是小小verifier。22屆秋招進入尾聲,一直想寫這一篇轉行經驗貼,分享我的轉行歷程,并給即將要轉行IC驗證的同學一點小小的建議。
??我是材料雙非本、211碩,因為遇到神仙課題組,徹底地斷了我想讀博的念頭。近三四年來,課題組每屆超過70%以上延期拿學位甚至拿不到學位。本來就身處四大天坑,外加沒有學位,找工作的時候連乞丐都不如。無能狂怒之后的無奈,心里著實咽不下這口氣,我開始嘗試各種轉行的可能。2020年2月份,疫情爆發讓我有幸在家自學了4個月的java,然后因為種種原因放棄了轉Java的打算,但學Java的經歷卻冥冥中做起了鋪墊。之后,考慮過教師、公務員和事業編,但沒法按期拿學位又將自己拉回現實。那段日子,人生沒有光。2021年3月中旬,偶然看到魚哥(ID:不二魚)的知乎,經過多方求證后確定當前IC驗證是站在風口上,我知道我轉行的時機成熟了。兩周后,那天是愚人節,打開嶄新而又厚厚的《數字電路技術基礎》,心中滿是期待地開始了我漫長而又艱辛的轉行之路。但這卻又是我整個研究生生涯中最令人回甘的日子,不思量自難忘。每天凌晨走在回寢室的路上,嘴中不自知地哼起了自己喜歡的歌。時而回頭,心里卻笑道“好似已經沒有退路了”。四個月后,我投了50多家簡歷,做了無數家筆試,面了十幾家,最后拿了7家蘇州的offer,結束了今年的秋招。
??選擇轉行時,你會不停地問自己會不會找不到工作?行業發展好不好?自己未來發展怎么樣?與我而言,還存在沒有學位證公司會不會不要我?每個人的追求、硬性條件和課題組環境不同,都會影響自己的決定和判斷。但就客觀因素來說,目前IC行業對轉行的包容度還是很高的,因為行業缺人嘛。只要你使勁學,就和考研一樣,肯定就有心儀的offer。在薪資上,今年一線普遍的薪資可以開到30W+,這是我們材料人所不敢奢求的待遇。至于材料人在行業的發展會怎樣,我持有的觀點是既然選擇了驗證,那么它就是你的事業。入行從來不是結束,這僅僅是開始,根本沒法躺平。我們需要付出更大的努力去追趕,要時刻保持危機意識,避免風口后被行業所拋棄。另外我想談一下和我有類似情況的戰友,目前行業處于嚴重缺人的形勢,所以只要你肯努力學,面試時就會在主管那留下很深的印象,拿到offer后真誠地和HR溝通,基本公司都會等你甚至不需要你的學位。在此我也向給予我機會的公司表達誠摯的謝意,在我最困難時拉了我一把。
??當你決定要轉行時,那就不要猶豫一分一秒。每多學一點,秋招工資就多漲一點,上岸大廠的幾率就大一點。學習路徑就是數字電路、Verilog、SystemVerilog、UVM和虛擬項目。數字電路可以看慕課上的西安工業大學楊聰錕老師的課程,主要就是學習邏輯門、組合邏輯和時序邏輯電路,其他暫時不管。Verilog可以在B站上看蔡覺平老師的課。但畢竟是門語言,那就是要多練習,把夏宇聞老師書上的代碼平時多敲敲,掌握用Verilog描述基本的計數器、分頻器、移位寄存器、同步異步復位、三段式狀態機和FIFO等,然后自己搭簡單的TB跑仿真、看波形。此外,還需要掌握跨時鐘傳輸、時鐘切換無毛刺、低功耗設計、門控時鐘、異步FIFO的設計以及異步復位同步釋放,這些基本都是筆試面試中的“常駐嘉賓”。SV是一門面向對象的編程語言,如果你發現你直接看路桑的SV很吃力,那么我建議你先去找一門教學非常詳細的C++課程看一下,了解面向對象的概念后,再回頭看路科的SV視頻課和綠皮書。UVM主要還是看路科的視頻課,輔以《UVM實戰》和《芯片驗證漫游指南》兩本書。SV和UVM的基礎一定要扎實,基本的概念和機制要清楚。之后就是一些tcl或makefile腳本的學習,做到能看懂并且可以模仿著寫簡單的腳本用于仿真就好。
??當你走完數電、Verilog、SV和UVM后,你可能又會發現虛擬項目(以I2C為例)又像一座難以翻越的大山。第一次遇到I2C中那么多寄存器,手無足措?第一次根據測試點寫Testcase,難以下筆?沒錯,估計轉行的都經歷過這段痛苦的回憶。我的建議是用兩個星期仔細看設計文檔、寄存器描述文檔和I2C協議,雖然枯燥,但是一定要細致的看。看完之后,你可能就對整個項目的結構有了初步了解,明白I2C和APB的VIP 在項目中是干什么用的。這時先分析整個驗證環境的結構,組件之間的是怎么連接的。再去用參考的sequence跑仿真,結合寄存器文檔認真分析波形,怎么對不同偏移地址的寄存器做讀寫操作?寄存器模型做的操作是如何反映到總線上?波形上看中斷是怎么觸發的?等你把所有的參考的sequence跑完,就差不多明白這個項目了。這時候要沉下心仔細分析參考代碼,底層VIP中driver和monitor是怎么實現的?scoreboard中是怎么對比的?覆蓋率是怎么定義和收集的?element sequence和virtual sequence是怎么剝離和組合的?最后,自己還需要再去做一些與別人不一樣的事,比如你可以自己寫VIP替代原有的VIP,自己寫一個sequence驗10bit地址第2個Byte不匹配而觸發ABRT,自己寫一個scoreboard等。同樣的都是培訓班的項目,你要想著怎么做出和別人不一樣的來,這是很多面試官想要聽到的。
??這里我有一些個人拙見:
??1.轉行的最好還是先看視頻,再去看書。看視頻比較易懂一些,也比較容易抓住重點,再看書去深入理解,會有比較好的效果,也容易提高自己的學習積極性。
??2.到了SV和UVM部分時,需要代碼練習。前期你可能一個代碼也敲不出來,我建議你不要死磕,先讀懂別人的代碼,然后想都不要想,抄就完事了。抄著抄著你就明白mailbox是怎么傳遞的,TLM端口是怎么連接等。不要想著上來就改別人的代碼,咱腦子里都沒有幾個好的代碼風格,改也是一堆bug,最后bug調也調不出來,反而消耗自己的學習積極性。建議先閱讀和仿真參考的代碼,再把自己抄完的代碼編譯、仿真,debug一下。
??3.秋招一定要提早(7月初)投簡歷,而且我建議海投,哪怕你不去這家公司,多做一做別人公司的筆試,然后把這些筆試題總結。后面你會發現公司的筆試題大同小異,那些東西顛來復去的問。面試更是要多面,并且面試真的可以提升你的水平。你可以把每次面試說的不好或沒答上來的,查缺補漏,后面你會發現在面試時會得心應手。筆試和面試一定要提前準備,在網上搜一搜筆面經,提前總結。
??4.我建議轉行的戰友花點時間寫自己的個人博客,總結自己學習的知識點和遇到的技術難題及解決方案。既方便隨時隨地查閱,同時博客可以直接證明自己的學習路徑。當你在面試時,你跟面試官說有自己的個人技術博客,你覺得面試官會不會給你加分?很多次面試,面試官提前查看了我的博客,此時面試時氛圍會很輕松。轉行的戰友們,一定要想辦法增加自己籌碼。
??5.轉行如果沒有人帶,我建議你在碰到棘手的問題時,可以先百度或博客查一下。如果沒有辦法解決,就在學習群問問人,還是不能解決的話就先跳過去,不要耽誤后面的學習。同時,這里我也建議你要調動你所能調動的一切關系,盡量能找到科班的同志帶一帶。實在覺得自學很困難就報個班。
??6.很多公司面試會深挖SV和UVM的細節,基礎一定要牢。SV中和oop概念、句柄、多態、靜態與非靜態、數組和隊列、數據類型、function和task的細節、深拷貝與淺拷貝等,以及SV中特有的約束、隨機化和覆蓋率收集都要門清。UVM基本的機制(工廠、phase等),尤其要理解寄存器模型,比如要知道這玩意怎么和總線溝通,又怎么和物理寄存器保持一致的。同時要把《UVM實戰》一書認真看,很多諸如發送錯誤激勵、覆蓋機制的要素和sequence的啟動方式等常見的筆試面試問題都出自這本書中。
??7.對23屆天坑戰友說一句,明年勢必會更卷。但是不用害怕,抵抗內卷的最好辦法就是比別人學的多一點點,我建議AMBA中學到AXI都不為過,甚至PCIe的協議都可以看看。常見的外設,如I2C、UART、SPI的協議等都可以學。學有余力下,自己做一些設計相關的,比如AHB2APB、I2C之類的設計,網上的資料也很齊全。
??8.工具上我建議前期跟著視頻走,使用Questasim,方便學習和參照。后期等學了一些tcl腳本,開始I2C那些虛擬項目時,我建議還是要轉到linux下跑仿真,學一學linux常用的命令以及腳本仿真的步驟,面試的時候有的面試官會問的。
??9.最后強烈建議使用DVT來閱讀代碼,非常有助于你理解代碼結構,對于新手而言就一句話“唉呀媽呀!真香!”。
??最后,我想談一談對轉行的看法。轉行意味著芯片驗證將是我們的事業,所以我們學習時不要太功利,要踏實地一步一個腳印來。速成的代價就是后期還是要回頭重新學習,需要認真、全面和細致的彌補專業知識的不足。轉行并不是一個應試環節,而是需要長期學習、終身學習來不斷地提升自己,學習和工作時應該要力求細致、深入。從材料到驗證,不是逃難,而是風口給了我們人生再選擇的機遇。既然行業給了材料人機會,我們要對行業承擔該有的責任感,相信大家應該也都不愿未來被人戳著脊梁骨罵道“都是材料那幫人把行業弄得烏煙瘴氣”。至此,由衷感謝未婚妻和家人的理解,愿所有有心人終得償所愿。
總結
以上是生活随笔為你收集整理的从材料到芯片验证,是逃难还是人生的机遇?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysqlinnodb数据库损坏,全网最
- 下一篇: 镜像加速器——使用加速器可以提升获取Do