曾經(jīng)在知乎上看到一個回答“入職做FPGA,后續(xù)是否還可以轉(zhuǎn)數(shù)字IC設(shè)計?”
從下面圖內(nèi)薪資就可以對比出來,對比FPGA的行業(yè)薪資水平,IC行業(yè)中的一些基礎(chǔ)性崗位薪資比很多FPGA大多數(shù)崗位薪資都要高。
除了薪資之外更多FPGA轉(zhuǎn)IC設(shè)計的有以下幾個原因:
①從業(yè)多年竟然找不到了應(yīng)該攻克的方向,技術(shù)路線逐漸迷失,以至于影響職業(yè)信念。
②FPGA技術(shù)本身發(fā)展很快,而FPGA開發(fā)的工作有一些內(nèi)容將會被新工具,新流程所改變或者取代。
③自身所在的公司在向芯片IC開發(fā)做轉(zhuǎn)變,而原有的FPGA開發(fā)平臺就需要做升級,員工被要求做技術(shù)換代升級。
④資本浪潮追逐升級,系統(tǒng)更大(承載量)更復雜(大團隊協(xié)作),要求產(chǎn)品最終呈現(xiàn)芯片的形式。
FPGA與IC設(shè)計有哪些差異?
首先,F(xiàn)PGA的邏輯設(shè)計與數(shù)字IC設(shè)計的基礎(chǔ)技能是相同的,都需要使用HDL代碼進行編程。
其次,在開發(fā)流程上,也有一部分工作是可以通用的,除綜合方式不同,前期的RTL編程、語法檢查、功能仿真等內(nèi)容都是高度重合的。
在設(shè)計開發(fā)中都需要大量用到片上存儲(RAM、ROM、FIFO),以及可能會用到一些IP,雖然FPGA的片上存儲的本質(zhì)都是RAM,但在應(yīng)用層面來說并沒有太大區(qū)別。
然而,重合最多的還是數(shù)字IC設(shè)計基本都需用FPGA進行原型驗證。因為功能仿真的場景是人為構(gòu)建的,不是真實的工作場景,所以經(jīng)常存在認知誤差。而FPGA能讓數(shù)字IC設(shè)計的代碼在真實場景下進行驗證,使其排查出很多仿真難以發(fā)現(xiàn)的問題。
但是,在兩者相同之中,又有不同之處。其中HDL編碼規(guī)范存在差異:
就語法要求而言,數(shù)字IC設(shè)計更加嚴苛,有些在FPGA設(shè)計中使用的語法無法適用于數(shù)字IC設(shè)計。
就工作環(huán)境而言,數(shù)字IC設(shè)計一般都在Linux工作站中進行,這是因為開發(fā)工具鏈有較大差異,完整數(shù)字IC開發(fā)可能前前后后用到十多種軟件,并且大部分軟件都不支持Windows系統(tǒng);而FPGA開發(fā)所用的軟件相對較少,基本都可以在Windows系統(tǒng)下進行。
就硬件知識儲備而言,F(xiàn)PGA設(shè)計需要去了解FPGA器件知識,理解FPGA的LUT/FF結(jié)構(gòu)和FPGA中帶有的IP,通常會需要開發(fā)者自己進行板級調(diào)試,這個過程中就需要掌握一些通用的硬件電路和使用一些電子儀器。而數(shù)字IC開發(fā)對硬件知識的掌握則沒有太多要求(因為在數(shù)字IC設(shè)計中還有模擬的崗位),數(shù)字IC開發(fā)更關(guān)心的是邏輯電路的實現(xiàn),需要更多的考慮邏輯級數(shù)、功耗和時序等問題。
想轉(zhuǎn)數(shù)字IC設(shè)計需要學習什么專業(yè)知識?
1:進數(shù)字IC前端/FPGA設(shè)計的專業(yè)知識學習,推薦這本書:《CMOS VLSI Design A Circuits and Systems Perspective》。
自認為是數(shù)字IC設(shè)計入門“圣經(jīng)”。基本電路結(jié)構(gòu),加減法器結(jié)構(gòu),組合邏輯,時序邏輯,跨時鐘設(shè)計都有涉及。
2:在此還需要理解On-Chip-Bus的基本知識與一個數(shù)字系統(tǒng)的基本結(jié)構(gòu),建議學習理解:AMBA總線,含:APB/AHB/AXI。由于ARM在數(shù)字IP領(lǐng)域的領(lǐng)導低位,AMBA總線事實上已經(jīng)成為數(shù)字IC的通用總線結(jié)構(gòu),必學。
3:現(xiàn)在可以開始做數(shù)字IP的設(shè)計了,涉及到使用相關(guān)EDA tool。
a):功能驗證:對于初學者(在校生),能modelsim/questasim上做仿真測試,熟悉波形窗口;debug RTL code。再使用下windows版的nLint/Debussy就能完成數(shù)字IP功能設(shè)計驗證了。
b):綜合與實現(xiàn):這部分首先(重點)要掌握STA原理,比如:cell delay在cell library里面是怎么標定的,tool是怎么計算delay的,setup/hold timing check的計算公式是什么;clk skew, clk uncertainty, create_clock, create_generateclock, set_ideal_network, set_input_delay, set_false_path, set_multi_cycle_path,OCV , … 是什么意思,對STA有何作用。懂了STA原理,就可以用TCL語言寫SDC(DC綜合)/XDC(vivado綜合實現(xiàn))timing constraint了。目前XDC/SDC的語法已經(jīng)基本統(tǒng)一了。
進階知識、技能
1:算法方向:信號與系統(tǒng),數(shù)字信號處理(DSP);
2:接口方向:UART/IIC/SPI/DDR等常用接口協(xié)議;如有余力,可以看看USB/PCIE/SATA/MIPI;
3:日常工作的OS平臺:linux操作系統(tǒng)使用;vim(emac)使用;bash(csh);makefile;
4:腳本語言:Perl(Python)/TCL;
5:版本管理工具:SVN/Git;
實訓項目
從去年以來,企業(yè)更看重項目經(jīng)驗,做過項目和沒做過項目,在面試官眼里有很大的差別。這里就建議大家盡可能多參與項目,從企業(yè)中獲取項目,真正跟著公司做過事情的人面試時的表現(xiàn)是不同的。
社招的話有無項目經(jīng)歷、項目的方向、項目完成度都是非常重要的。尤其是社招,項目經(jīng)驗是崗位匹配度的一個重要參考標準。
如何增加項目經(jīng)驗,或者什么樣的項目經(jīng)驗可以得到面試官的青睞。
我們說增加項目經(jīng)驗,你做項目,具體分下來比如我們在做設(shè)計或者做驗證,一定是有一個點,我們要交付的質(zhì)量標準是什么樣的,我們越深入的了解交付標準,就我們越深入的了解業(yè)務(wù),我們就可以更貼切的去知道去交付的東西未來會遇到什么問題,我們就能提前把它準備了。
我們在 review 的時候,和主管去討論,或者是和客戶去討論,包括設(shè)計和驗證人員去討論問題,更關(guān)心問題背后的邏輯,更關(guān)心產(chǎn)品背后的邏輯,要去貼近它的使用場景,去想這件事情來龍去脈,多看好例子,多去探討實現(xiàn)的細節(jié)。雖然我沒有真的coding,但是這件事情我想通了。
要增加項目經(jīng)驗,簡單的說一點,我們還是想繼續(xù)卷,我們還想更優(yōu)秀。所以在工作前三年,是一個把自己埋起來去學習的這樣一個過程。還需要更長時間的磨練,我們才能叫 senior 工程師。
今年我的年薪 30 萬,后年我的年薪得 50 萬,再過幾年我的年薪得百萬,我覺得都可以,但也不拘泥于這些。希望大家都有一個說起來眼睛能冒光的目標。就像我們當年在校學習一樣,為了目標,為了這個成績,我們一定有無限多種方法去實現(xiàn)它。
六大項目資源推薦
ASIC設(shè)計流程
mos管的工作原理
數(shù)字前端
更多免費學習視頻可點擊下方鏈接領(lǐng)取哦,或者想要了解IC行業(yè)的行情,薪資,崗位的同學也可以通過下方鏈接進行了解~文章來源:http://www.zghlxwxcb.cn/news/detail-771998.html
這里放個入口:IC設(shè)計入行指導文章來源地址http://www.zghlxwxcb.cn/news/detail-771998.html
到了這里,關(guān)于FPGA可以轉(zhuǎn)IC設(shè)計嗎?需要具備哪些條件?(內(nèi)附學習視頻)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!