在相當(dāng)長的一段時(shí)間內(nèi),F(xiàn)PGA、ASIC、DSP三者不同的技術(shù)特征造就了它們不同的應(yīng)用領(lǐng)域,DSP在數(shù)字信號方面是絕對的霸主,ASIC是專業(yè)定制領(lǐng)域的牛人,而FPGA由于其價(jià)格高、功耗大,主要用于ASIC前端驗(yàn)證和一些高端領(lǐng)域,在DSP和ASIC面前絕對屬于小弟。但近10年,這小弟特別努力,提高了半導(dǎo)體工藝水平,降低了功耗和芯片價(jià)格,此外由于其可編程,比較靈活,因此搶了 ASIC 不少的市場份額,還號稱ASIC終結(jié)者。但是他在成績面前不驕傲自滿,繼續(xù)努力,最近兩大FPGA廠商又都推出了帶DSP平臺的FPGA,開始行使起DSP的“職能”,把手伸到到了DSP的地盤。于是這哥仨掐起來了,美其名曰:沒有硝煙的戰(zhàn)爭。那么,未來FPGA能否終結(jié)ASIC?ASIC又將如何發(fā)揮自己的獨(dú)特魅力,應(yīng)對FPGA的挑戰(zhàn)?FPGA能否真的取代DSP?DSP又將如何從多方面尋求創(chuàng)新與突破?ASIC、DSP、 FPGA的未來究竟何去何從?且聽下面分解。雖然“百度一下,你就知道”,但還是得介紹一下這哥仨是干嘛的:
火線三兄弟:DSP 、ASIC、FPGA
先明確一個(gè)概念,DSP首先是Digital Signal Processing(數(shù)字信號處理),然后才是Digital Singnal Processor(數(shù)字信號處理器)。大家一定覺得數(shù)字信號處理多么復(fù)雜(我也覺得,小弟數(shù)學(xué)不好,怕算法),其實(shí)觀念是非常簡單的,就是一個(gè)轉(zhuǎn)換器。打個(gè)比方,你(原始數(shù)據(jù))對自己的長相不太滿意,需要整容,從醫(yī)院南大門進(jìn)去,進(jìn)入手術(shù)室(數(shù)字信號處理器),里面有各種整容設(shè)備(算法),然后從北大門(不是后門)出來,出來的時(shí)候你就不是你了,變成了你想要的效果(新數(shù)據(jù)),要么瘦了,要么胖了,甚至有可能你就變成梁朝偉了,這就是數(shù)字信號處理。進(jìn)行數(shù)字信號處理的工具就叫數(shù)字信號處理器,DSP就在這種情況下閃亮登場了。下面進(jìn)行一些基本概念的介紹(特別枯燥,但是咱得知道):DSP是在模擬信號變換成數(shù)字信號以后進(jìn)行高速實(shí)時(shí)處理的專用處理器,它采用的是哈佛設(shè)計(jì),即數(shù)據(jù)總線和地址總線分開,使程序和數(shù)據(jù)分別存儲在兩個(gè)分開的空間,允許取指令和執(zhí)行指令完全重疊,也就是說在執(zhí)行上一條指令的同時(shí)就可取出下一條指令,并進(jìn)行譯碼,這大大的提高了微處理器的速度。一個(gè)數(shù)字信號處理器在一塊不大的芯片內(nèi)包括有控制單元、運(yùn)算單元、各種寄存器以及一定數(shù)量的存儲單元等等,在其外圍還可以連接若干存儲器,并可以與一定數(shù)量的外部設(shè)備互相通信,有軟、硬件的全面功能,因此其本身就是一個(gè)微型計(jì)算機(jī)。按照用途可分為通用型DSP芯片和專用型DSP芯片,通用型DSP芯片適合普通的DSP應(yīng)用,如我們最常用的TI公司的一系列DSP芯片屬于通用型DSP芯片;專用DSP芯片是為特定的DSP運(yùn)算而設(shè)計(jì)的,更適合特殊的運(yùn)算。在近20多年的時(shí)間里,DSP芯片的應(yīng)用已經(jīng)從軍事、航空航天領(lǐng)域擴(kuò)大到信號處理、通信、雷達(dá)、消費(fèi)等許多領(lǐng)域,被譽(yù)為信息社會(huì)革命的“旗手”。一聽這名字就知道DSP特別有前途。
之所以要一起介紹ASIC、FPGA,是因?yàn)樗麄z長得比較像,是“近親”。 首先介紹FPGA,F(xiàn)PGA( Field Programmable Gate Array)即現(xiàn)場可編程門陣列,它是在PAL、GAL、PLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物,是專用集成電路(ASIC)中集成度最高的一種。作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路(ASIC設(shè)計(jì)分為全定制和半定制兩種,全定制設(shè)計(jì)是完全由設(shè)計(jì)師根據(jù)工藝,以盡可能高的速度和盡可能小的面積以及完全滿意的封裝、獨(dú)立地進(jìn)行芯片設(shè)計(jì);半定制設(shè)計(jì)是一種基于庫元件的約束性設(shè)計(jì),約束的主要目的是簡化設(shè)計(jì)、縮短設(shè)計(jì)周期,并提高芯片的成品率。由于單元庫和功能模塊電路愈發(fā)成熟,全定制已逐漸被半定制所取代。),F(xiàn)PGA既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點(diǎn)。毫不夸張的講,F(xiàn)PGA能完成任何數(shù)字器件的功能,上至高性能CPU,下至簡單的74電路,都可以用FPGA來實(shí)現(xiàn)。
雖然FPGA在數(shù)字電路設(shè)計(jì)中無所不能,是個(gè)典型的“高帥富”,但這個(gè)小弟一開始可沒這么好的命,它是給老大哥ASIC打替補(bǔ)的。ASIC(Application SrIecific Intergrated Circuits)即專用集成電路,是指應(yīng)特定用戶要求和特定電子系統(tǒng)的需要而設(shè)計(jì)、制造的集成電路,與通用集成電路相比具有體積更小、重量更輕、功耗更低、可靠性高、性能高、保密性增強(qiáng)、成本降低等優(yōu)點(diǎn)。目前用FPGA/CPLD來進(jìn)行ASIC設(shè)計(jì)是最為流行的方式之一。我們知道,F(xiàn)PGA 開發(fā)流程大致為:選定器件,安裝軟件,設(shè)計(jì)輸入,代碼調(diào)試(包括管腳定義、時(shí)序定義、時(shí)序分析),設(shè)計(jì)仿真(功能仿真、時(shí)序仿真)和下載調(diào)試。而ASIC 是為客戶定制的芯片,在ASIC 設(shè)計(jì)過程中,往往要用到FPGA 進(jìn)行原型驗(yàn)證。FPGA 驗(yàn)證是進(jìn)行ASIC 設(shè)計(jì)的重要環(huán)節(jié),可以這么說,完成FPGA 驗(yàn)證就完成了ASIC 整套流程的50~80%。
但是現(xiàn)在FPGA這個(gè)小弟特別有志氣,慢慢長大了,他開始打主力,排擠老大哥,在非常多的產(chǎn)品里都能看到他。這里有幾個(gè)原因,首先一個(gè)原因是價(jià)格。隨著半導(dǎo)體制造技術(shù)的進(jìn)步,硅器件的單位面積制造成本迅速降低,這對FPGA是好事兒,F(xiàn)PGA 廠商采用新工藝使得成本不斷下降;但對ASIC就不一定了,隨著設(shè)計(jì)復(fù)雜性的增加,ASIC 的非重復(fù)性工程(NRE)費(fèi)用、最少訂購數(shù)量以及開發(fā)工具套件的費(fèi)用都在上漲,如果某一天,F(xiàn)PGA 廠商再把利潤釋放出來一些,可以想象ASIC的日子肯定不好過。第二,它可以反復(fù)擦寫。FPGA開發(fā)效率要比ASIC 要快很多,產(chǎn)品也可以早點(diǎn)賣出去。另外你還可以利用它的在線修改能力,隨時(shí)修改設(shè)計(jì)而不必改動(dòng)硬件電路,可以去給已經(jīng)賣給別人的東西更新,變成更好的東西,而如果這個(gè)時(shí)候你面對的是你設(shè)計(jì)的ASIC,你只好哭吧。第三,就好像廣告里面說的:方便,真方便~~