IC行業(yè)的范圍很廣,有數(shù)字、模擬不同的研究方向,也有設(shè)計(jì)、制造、封測(cè)不同的產(chǎn)業(yè)環(huán)節(jié)、還有FPGA、ASIC等不一樣的芯片領(lǐng)域。
遇到過很多想要入行、轉(zhuǎn)行IC的同學(xué),都有“選FPGA還是ASIC”的問題。區(qū)分概念往往是做選擇的前提,所以首先要明確二者的概念。
明確概念
FPGA全稱是Field Programmable Gate Array,中文名叫現(xiàn)場(chǎng)可編程門陣列,但究其本質(zhì)它仍是芯片的一種。
很多人不清楚FPGA到底算軟件還是硬件?其實(shí)它介于軟硬件之間。如果用它做接口、通信的話,它就偏向硬件;如果用它做算法、控制,那么它就偏向軟件。舉個(gè)例子,F(xiàn)PGA在數(shù)字IC領(lǐng)域已經(jīng)被用于驗(yàn)證RTL代碼。相對(duì)于仿真器跑仿真,F(xiàn)PGA的運(yùn)行速度更加接近真實(shí)芯片。
ASIC全稱是Application Specific Integrated Circuit,是指專用集成電路,就是針對(duì)某些特定應(yīng)用需求、特定用戶要求和特定電子系統(tǒng)的需要而開發(fā)設(shè)計(jì)的芯片。
很多人聽到ASIC都會(huì)下意識(shí)和數(shù)字IC畫等號(hào),但其實(shí)不論是數(shù)字、模擬還是數(shù)模混合,任何定制的芯片都可以稱之為ASIC。
靈活性
FPGA的靈活度高于ASIC。
眾所周知芯片流片成本很高,一旦出問題就是流片失敗。尤其是大規(guī)模的數(shù)字芯片,開發(fā)過程中需要驗(yàn)證團(tuán)隊(duì)花費(fèi)大量的精力在RTL代碼驗(yàn)證上。FPGA就可以隨時(shí)改變芯片的功能,哪怕已經(jīng)制造出來甚至應(yīng)用在了客戶端,依然可以修改電路結(jié)構(gòu),這樣就能很大程度上降低風(fēng)險(xiǎn)和成本。而如果設(shè)計(jì)本身并不需要太多靈活性的話,F(xiàn)PGA的靈活也許就是一種浪費(fèi),也會(huì)增加潛在的成本。
開發(fā)流程與周期
FPGA開發(fā)時(shí)間短。
一般來說對(duì)FPGA編程之后就可以直接使用,通常幾個(gè)月就可以完成開發(fā)流程,不需要經(jīng)過半年甚至一年以上的流片周期。而ASIC更加復(fù)雜,尤其是全定制設(shè)計(jì),需要大量的人力物力進(jìn)行設(shè)計(jì)開發(fā)。與之相應(yīng)的就是體積小、功耗低......芯片綜合性能更抗打。
速度和性能
在兩者都是相同的工藝和設(shè)計(jì)下,F(xiàn)PGA的性能比ASIC有所差距。
因?yàn)镕PGA內(nèi)部都是通用的結(jié)構(gòu),它可以根據(jù)需求的不同去實(shí)現(xiàn)乘法器、多路選擇器等等組合邏輯。而ASIC內(nèi)部都是固定的結(jié)構(gòu),乘法器就是乘法器,所以FPGA在結(jié)構(gòu)上的通用性必然導(dǎo)致性能冗余。
成本對(duì)比
成本取決于數(shù)量。如果是小批量的,F(xiàn)PGA成本低。如果是大批量的,ASIC成本低。
在使用量小的時(shí)候,F(xiàn)PGA是不需要支付幾百萬甚至幾千萬的流片成本的(FPGA比較大的成本就是板子),成本也就比較低。當(dāng)使用量大的時(shí)候,使用ASIC反而是更加低成本且高性能的選擇。這也就是很多高校的項(xiàng)目都是FPGA的原因之一。
行業(yè)現(xiàn)狀
業(yè)內(nèi)規(guī)模最大的兩家FPGA公司是Xilinx(賽靈思)和Altera(阿爾特拉)。
阿爾特拉在2015年就被英特爾收購(gòu),Altera這個(gè)名字也就很少再被提及了。作為龍頭的賽靈思,也在今年(2022年)2月成功被AMD收購(gòu)。從前有企業(yè)宣傳FPGA是“萬能芯片”,也有人說FPGA會(huì)取代ASIC?,F(xiàn)在看,萬能和取代是談不上,但FPGA憑借其優(yōu)勢(shì)也能在業(yè)內(nèi)有一席之地。但不得不說巨頭也難逃被收購(gòu)的命運(yùn)。
入行難度
FPGA入行是要更容易一些的。
需要先區(qū)分你是做fpga本身的設(shè)計(jì),還是用fpga進(jìn)行設(shè)計(jì)。前者的門檻很高,而且處于卡脖子的狀態(tài);后者門檻相對(duì)比asic要低一點(diǎn)。但大多數(shù)情況下我們所討論的FPGA都屬于后者:只是基于已有的FPGA芯片去做后端排列組合的工作內(nèi)容,而不是設(shè)計(jì)制造新的FPGA芯片,畢竟世界上能做這件事的公司屈指可數(shù)。
如何選擇
很多人會(huì)拿FPGA工程師和IC前端工程師直接做類比,也會(huì)有很多人選擇從FPGA轉(zhuǎn)行到IC前端。
FPGA轉(zhuǎn)IC前端確實(shí)是比較容易,畢竟都要寫Verilog。當(dāng)然,這只是一個(gè)可選擇的方向,并不是必須。
就數(shù)字IC來說,它和FPGA都算是還不錯(cuò)的方向。FPGA的難度稍低入門也會(huì)快,但會(huì)受技術(shù)發(fā)展的限制,部分的工作內(nèi)容會(huì)被新工具所取代,相對(duì)來說也會(huì)更快遇到職業(yè)瓶頸。IC前端崗位比較多,入門門檻更高,技術(shù)難度要大于FPGA,但就長(zhǎng)期職業(yè)發(fā)展來說是比較有優(yōu)勢(shì)的。說簡(jiǎn)單一些:如果想要入行快,可以選擇FPGA。但如果追求更高的天花板,就可以選擇IC前端。