技能分類
| 技能詳細描述
| 要求
| 補充說明和建議
|
電路基礎(chǔ)知識
| 電路理論:理解基本的電路原理,包括直流和交流電路、模擬信號和數(shù)字邏輯。電子元件:熟悉常用的電子元件,如電阻、電容、電感、二極管、晶體管等。數(shù)字邏輯:掌握基本的數(shù)字邏輯概念,包括邏輯門、觸發(fā)器、計數(shù)器和寄存器。微電子基礎(chǔ):了解半導(dǎo)體物理和CMOS技術(shù)的基礎(chǔ)知識。
| 熟悉
精通更好
| 對EE專業(yè)也就是科班出身的同學來說可能讀書時代就完成了;對于非科班的,需要在平時慢慢補充這些知識,這個是基礎(chǔ)的基礎(chǔ)
|
編程和腳本
| 硬件描述語言:熟悉至少一種硬件描述語言,如Verilog或VHDL,SV。腳本語言:了解至少一種編程語言,如Perl,Python,TCL,這有助于編寫測試代碼和自動化腳本。
| 精通
| 這是吃飯的技術(shù),一定要精通,推薦使用verilog或者SV; VHDL在公司用的比較少;
可以買一本書或者Verilog的規(guī)范放在手邊隨時查看;
腳本學一個就行了,其他的都類似的,建議學python?梢詫W一下正則表達式,這個是所有工具都會用到的,受益無窮。
|
項目入門
| 時鐘和復(fù)位:熟悉時鐘和復(fù)位的基本知識,異步時鐘,同步復(fù)位異步釋放等;基本模塊:多級同步,同步FIFO,異步FIFO,SRAM讀寫等計算機體系基礎(chǔ):現(xiàn)代計算機的結(jié)構(gòu)和基本構(gòu)成要了解,基本的I2C這些需要了解
| 熟悉
| 這是做項目的入門知識,并且貫穿整個職業(yè)生涯,必須靜噪掌握,然后在后面的項目中逐漸精通。復(fù)位可以看一下我之前的文章,理解了基本就差不多了。
異步FIFO一定要掌握,從原理到能夠從0寫一個100%沒有bug的異步fifo是優(yōu)秀的初級工程師的基本要求。
|
工具使用
| Linux環(huán)境:熟悉Linux環(huán)境和命令。EDA工具:能夠使用基本的電子設(shè)計自動化(EDA)工具進行電路設(shè)計和仿真。VCS/VERIDI必須熟悉;版本控制:了解版本控制系統(tǒng),如Git,這對于團隊協(xié)作和項目跟蹤至關(guān)重要。git/svn;
| 熟悉
| Linux可以買一本經(jīng)典的書學習一下基本命令和使用;
EDA工具先要學會自己使用VCS能建一個小環(huán)境,來驗證自己寫的RTL,至少能驗證沒有語法錯誤吧。
版本控制可以跟著公司使用什么就用什么,也可以提前學習GIT,現(xiàn)在GIT使用的比較多。
|
軟技能
| 溝通能力:能夠與團隊成員有效溝通,理解項目需求。文檔能力:能夠把自己工作和設(shè)計,通過文檔或者PPT完整的展現(xiàn)出來。做事方式:靠譜的做事,事情閉環(huán),匯報得體。
| 了解
| 團隊溝通是最重要的工作技能,一定要刻意的學習一些;
文檔是工作的呈現(xiàn);
做事是一個長期習慣;
軟技巧其實決定著你職場的高度,這里先不展開。
|
關(guān)于掌握程度的說明如下:技能分類
| 技能詳細描述
| 要求
| 補充說明和建議
|
文檔能力
| 文檔編寫:能夠清楚明白的把你需要設(shè)計的模塊描述清楚:模塊劃分,功能描述,時序設(shè)計
| 精通
| 做IP設(shè)計的,在進行編寫RTL之前一定要寫一個設(shè)計文檔的初稿,再開始進行RTL coding,然后在coding過程中去完善設(shè)計文檔。
特別注意的是時序是設(shè)計出來的,不是看波形湊出來的。
做IP設(shè)計的,我認為設(shè)計文檔編寫能力比編程能力更重要,想清楚了,RTL就不會出大的偏差,請一定要重視。
|
編程能力
| 編程能力:編程能力其實不太好量化,除了能夠?qū)懗鰪?fù)雜的模塊和優(yōu)秀的PPA的模塊,我認為可以分解一下:
模塊拆分。把大的模塊拆分成合適的模塊是一直能力。編程習慣。良好優(yōu)美的編寫習慣和代碼風格其實是最重要的能力,公司都編碼規(guī)則一定要follow,這是無數(shù)人總結(jié)的經(jīng)驗。有時間再去探究;優(yōu)化和debug能力。這個其實是建立在扎實的基礎(chǔ),對模塊的數(shù)學和分析解決問題的基礎(chǔ)上的,如果不知道怎么培養(yǎng),先把文檔寫清楚就是最快的方式。借鑒的能力。很多優(yōu)秀公司,比如S家的代碼寫的最好,A家就差一點,其他小公司就更差了,所以盡量去找S/A家的源碼研究學習一下,借鑒過來。
| 精通
| 提醒一下,借鑒不是抄,你要是能在項目上找一個一模一樣的模塊直接來用也是你的能力,但是基本不可能,每個項目需求是不一樣的。
IP設(shè)計的精髓其實就是拆分,把復(fù)雜的IP拆分為一個簡單的模塊,然后用基本邏輯和FIFO,SRAM實現(xiàn)。
編程習慣一定要養(yǎng)成,這不僅僅是項目考慮,也是別人從代碼就能看出你靠不靠譜的考慮。
優(yōu)化和debug就慢慢積累經(jīng)驗吧。先把自己的東西完全搞明白想明白是基礎(chǔ)。
|
項目知識
| 項目整體:對項目要有大概了解,了解需求才能把自己的事情做好。基本模塊:基礎(chǔ)總線APB/AHB肯定會用到,可能會用到AXI,ACE等復(fù)雜總線。然后不同項目用到的基礎(chǔ)單元不同;后端基本庫:至少要了解一下工藝,后端使用的庫,為綜合做準備。
| 熟悉
| 這是做項目的入門知識,并且貫穿整個職業(yè)生涯,必須靜噪掌握,然后在后面的項目中逐漸精通。復(fù)位可以看一下我之前的文章,理解了基本就差不多了。
異步FIFO一定要掌握,從原理到能夠從0寫一個100%沒有bug的異步fifo是優(yōu)秀的初級工程師的基本要求。
|
腳本和工具
| EDA工具:VCS/VERIDI這些需要更加熟悉,從看波形到debug都離不開;還需要學習DC綜合工具。版本控制:GIT/SVN的使用要熟練。項目的版本控制流程要完全掌握,可以自己搞個文檔記錄一下常用命令和流程。腳本:從0開始搭一個簡單的VCS 非SVM的仿真環(huán)境是寫RTL和debug的基本要求。你至少要保證你給出的模塊沒有語法錯誤,基本功能能跑吧。SDC: 這個階段需要接觸SDC了,進行數(shù)字綜合了。這是新手和老手的分界點。RTL其實是軟件,RTL+SDC才是硬件。時序分析:需要能分析和解決時序問題。
| 熟悉
| 工具和腳本的學習,建議先系統(tǒng)整體的學習一下,然后在項目中提高。
SDC建議找個課程系統(tǒng)學習一下,S家就有系統(tǒng)課程,不過很貴。網(wǎng)上也有。最好以S家文檔為基礎(chǔ)。
|
軟技能
| 溝通能力:和設(shè)計的溝通,和架構(gòu)的溝通和DV的溝通,做完一個項目可以總結(jié)一下;匯報能力:能夠把自己工作和設(shè)計,通過文檔或者PPT完整的展現(xiàn)出來,讓別人清楚聽明白,讓領(lǐng)導(dǎo)知道自己的貢獻。項目流程:IP設(shè)計驗證流程要熟悉和總結(jié),做了一次必須成為熟手。
| 了解
| 溝通是工作展開的基礎(chǔ);
匯報是升職的基礎(chǔ);
|
SoC設(shè)計技能要求:如果是自研模塊,請按照IP設(shè)計能力要求,下面特指購買IP的集成工作。技能分類
| 技能詳細描述
| 要求
| 補充說明和建議
|
閱讀能力
| 文檔編寫:購買的IP模塊,需要把IP文檔都通讀理解,然后再去編寫集成設(shè)計文檔。
| 精通
| 首先重點通讀一次,把重點要標注出來
|
文檔能力
| 文檔編寫:主要是時鐘頻率,和外部接口連接等等。要按照項目的規(guī)范文檔盡可能寫明白。
| 精通
| 在進行編寫RTL之前一定要寫一個集成文檔的初稿,再開始進行RTL coding,然后在coding過程中去完善設(shè)計文檔。
這個階段需要充分和上層的負責人員溝通,確保時鐘頻率復(fù)位等不出錯。
|
專業(yè)能力
| 專業(yè)能力:專業(yè)能力就是對應(yīng)的專業(yè)知識。比如ISP你必須知道圖像,GPU你必須知道圖形處理,PCIE/DDR你要了解協(xié)議。這些專業(yè)知識才是IP的內(nèi)核,而不是把代碼集成就完事了。
| 精通
| 每負責一個IP就能搞懂一個方向,以IP的專業(yè)知識為抓手,發(fā)散出去,才能進階到下一個階段。不然,你做再多項目都是重復(fù)沒有成長的工作。
|
項目知識
| 項目整體:對項目要有大概了解,了解需求才能把自己的事情做好。基本模塊:基礎(chǔ)總線APB/AHB/AXI一定要很熟悉,經(jīng)常翻閱協(xié)議。SRAM這些基本模塊要有一定了解。SoC設(shè)計流程:SoC的流程要了解,lint、cdc,綜合流程需要會用。后端基本庫:至少要了解一下工藝,后端使用的庫,為綜合做準備。
| 熟悉
| SoC項目的流程到每個階段的工具使用,這些都是有比較明確的規(guī)定。寫代碼的時間其實比較少,流程反而比較重要,一定要注意總結(jié)和記錄。
|
腳本和工具
| EDA工具:VCS/VERIDI這些需要更加熟悉,從看波形到debug都離不開;還需要學習DC綜合工具,spyglass等工具。版本控制:GIT/SVN的使用要熟練。項目的版本控制流程要完全掌握,可以自己搞個文檔記錄一下常用命令和流程。腳本:從0開始搭一個簡單的VCS 非SVM的仿真環(huán)境是寫RTL和debug的基本要求。你至少要保證你給出的模塊沒有語法錯誤,基本功能能跑吧。SDC: 這個階段需要接觸SDC了,進行數(shù)字綜合了。這是新手和老手的分界點。RTL其實是軟件,RTL+SDC才是硬件。時序分析:需要能分析和解決時序問題。
| 熟悉
| 工具和腳本的學習,建議先系統(tǒng)整體的學習一下,然后在項目中提高。
SDC建議找個課程系統(tǒng)學習一下,S家就有系統(tǒng)課程,不過很貴。網(wǎng)上也有。最好以S家文檔為基礎(chǔ)。
|
軟技能
| 溝通能力:和設(shè)計的溝通,和架構(gòu)的溝通和DV的溝通,做完一個項目可以總結(jié)一下;匯報能力:能夠把自己工作和設(shè)計,通過文檔或者PPT完整的展現(xiàn)出來,讓別人清楚聽明白,讓領(lǐng)導(dǎo)知道自己的貢獻。
| 了解
| 溝通是工作展開的基礎(chǔ);
匯報是升職的基礎(chǔ);
|
芯片設(shè)計其實分為IP設(shè)計和SoC設(shè)計兩個方向。IP設(shè)計偏重于RTL設(shè)計能力,SoC設(shè)計對某個方向的專業(yè)知識和流程的熟悉。這也是倆個職業(yè)選擇方向,也可以互相轉(zhuǎn)換。IP設(shè)計優(yōu)點是編碼比較多,能夠不斷鍛煉自己的編程能力。SoC設(shè)計需要了解的知識面比較廣,可以了解芯片生產(chǎn)的整個流程,容易擴展眼界。好的IP設(shè)計人員到后期一定是需要了解更多的SoC的知識,而好的SoC設(shè)計一定需要了解到IP內(nèi)部。技能分類
| 技能詳細描述
| 要求
| 補充說明和建議
|
閱讀能力
| 文檔編寫:購買的IP模塊,需要把IP文檔都通讀理解,然后再去編寫集成設(shè)計文檔。
| 精通
| 首先重點通讀一次,把重點要標注出來
|
文檔能力
| 文檔編寫:主要是時鐘頻率,和外部接口連接等等。要按照項目的規(guī)范文檔盡可能寫明白。
| 精通
| 在進行編寫RTL之前一定要寫一個集成文檔的初稿,再開始進行RTL coding,然后在coding過程中去完善設(shè)計文檔。
這個階段你自己就必須去設(shè)計子系統(tǒng)的架構(gòu),然后和內(nèi)部模塊負責人進行溝通。
|
專業(yè)能力
| 子系統(tǒng)架構(gòu): 理解子系統(tǒng)的架構(gòu),包括處理器、存儲器、外設(shè)接口等,并能夠設(shè)計子系統(tǒng)的框架。
系統(tǒng)集成: 能夠?qū)⒉煌哪K和IP核集成為子系統(tǒng),并確保它們之間的兼容性和協(xié)同工作。專業(yè)知識:內(nèi)部模塊了解到越多越好。總線知識:APB/AHB/AXI達到精通級別低功耗技術(shù):對低功耗技術(shù)和UPF要熟悉
| 精通
| 這個階段系統(tǒng)方案是一個重點,比如低功耗技術(shù),Harden的劃分等等。這個在子系統(tǒng)的架構(gòu)設(shè)計就必須考慮,并且不斷優(yōu)化和演進。
|
項目知識
| 項目整體:對項目要有完整了解,非常了解子系統(tǒng)的需求才能把自己的事情做好。基本模塊:基本模塊,sram都要比較熟悉。SoC設(shè)計流程:SoC的流程要熟悉,lint、cdc,綜合流程需要會用。后端基本庫:后端流程和支持都要掌握,包括綜合和時序分析等。
| 熟悉
| 子系統(tǒng)的負責人對流程是直接負責的,這個階段復(fù)雜的事情會比較多,責任也比較大。所以一定要能達到你指導(dǎo)別人的程度。
|
腳本和工具
| 工具和腳本:熟悉是基本要求,越了解工作越順利。
| 熟悉
| SDC和CDC是重點。
|
軟技能
| 溝通能力:和設(shè)計的溝通,和架構(gòu)的溝通和DV的溝通,還有和子系統(tǒng)內(nèi)部模塊負責人溝通;匯報能力:能夠把自己工作和設(shè)計,通過文檔或者PPT完整的展現(xiàn)出來,讓別人清楚聽明白,讓領(lǐng)導(dǎo)知道自己的貢獻。
團隊領(lǐng)導(dǎo): 能夠在團隊中擔任領(lǐng)導(dǎo)角色,指導(dǎo)其他設(shè)計師,并協(xié)調(diào)跨部門的工作。
項目管理: 具備項目管理能力,能夠規(guī)劃項目時間表,跟蹤進度,并確保按時交付。
| 了解
| 子系統(tǒng)負責人事實上是這個方向的負責人,必須對內(nèi)部一切負責。
也是對外接口,負責和軟件,fpga,后端人員對接。
|
一般需要5年以上才能負責一個子系統(tǒng),當然也有能力很強或者機遇很好的2~3年就開始負責子系統(tǒng)。這個階段你需要掌握的了解到知識就非常多,需要處理的事情也非常多。不僅僅是對技術(shù)的考驗也是對做人做事的考驗。