隨著處理器被添加到傳統(tǒng)FPGA中,,可編程性被添加到ASIC中,,F(xiàn)PGA和ASIC的分界線日益模糊,。
FPGA變得比之前更加流行了。現(xiàn)在的FPGA不再只是查找表(LUT)和寄存器的簡單組合了,,它已經(jīng)成為系統(tǒng)探索的架構(gòu),,以及驗(yàn)證未來ASIC設(shè)計(jì)架構(gòu)的橋梁。
從基本的可編程邏輯器件到復(fù)雜的SoC器件,,當(dāng)今的FPGA家族陣營極其龐大,。在包括汽車和其它應(yīng)用的AI、企業(yè)網(wǎng)絡(luò),、航空航天,、國防和工業(yè)自動(dòng)化等各種應(yīng)用領(lǐng)域,F(xiàn)PGA使得芯片制造商可以在必要時(shí)以更新的方式部署實(shí)施系統(tǒng),。在這種標(biāo)準(zhǔn),、協(xié)議和最佳實(shí)現(xiàn)仍然在探索中,而且要求具備成本競爭力的新興市場中,,F(xiàn)PGA的靈活性至關(guān)重要,。
這就是賽靈思決定在其Zynq FPGA中添加ARM內(nèi)核以創(chuàng)建FPGA SoC的原因所在,Aldec市場總監(jiān)Louie de Luna表示,?!白钪匾氖牵?yīng)商已經(jīng)改進(jìn)了工具流程嗎,,這使得人們對Zynq產(chǎn)生了很大的興趣,。他們的SDSoC開發(fā)環(huán)境看起來很像C語言,對開發(fā)人員很友好,,因?yàn)閼?yīng)用程序通常是用C語言編寫的,。他們將軟件功能放到開發(fā)環(huán)境中,允許用戶將這些功能分配到具體的硬件上,?!?/p>
其中有些FPGA不只是像SoC,他們本身就是SoC。
“他們可能包含多個(gè)嵌入式處理器,、專用計(jì)算引擎,、復(fù)雜接口以及大容量存儲(chǔ)器等,”O(jiān)neSpin Solutions綜合驗(yàn)證產(chǎn)品專家Muhammad Khan說,。 “系統(tǒng)架構(gòu)師規(guī)劃并使用FPGA的可用資源,,就像他們在ASIC上所做的那樣。設(shè)計(jì)團(tuán)隊(duì)使用綜合工具將他們的System Verilog,、VHDL或System C RTL代碼映射到基礎(chǔ)邏輯元素中,。對于大部分設(shè)計(jì)過程來說,專門針對FPGA或ASIC或全定制芯片的設(shè)計(jì)差異正在減少,?!?/p>
ArterisIP首席技術(shù)官Ty Garibay非常熟悉這一演變?!百愳`思2010年開始在Zynq上實(shí)踐這種路線,,他們定義了一款產(chǎn)品,把ARM SoC的硬宏納入到了當(dāng)時(shí)現(xiàn)有的FPGA中,,”他說,。 “然后,Altera招募了我做基本上同樣的事情,。它的價(jià)值主張?jiān)谟谠S多客戶都想要SoC子系統(tǒng),,但是SoC的特性尤其是處理器那部分并不適合綜合到FPGA中。將這種級別的功能嵌入到實(shí)際的可編程邏輯中令人望而卻步,,因?yàn)樗鼛缀跤帽M了整個(gè)FPGA的資源,。但是它可以作為整個(gè)FPGA芯片的一小部分或一小部分,作為一個(gè)硬性的功能而存在,。雖然你沒有為SoC提供真正可重構(gòu)邏輯的能力,,但是它們可以通過軟件編程,以這種方式改變功能,?!?/p>
“這意味著,這種結(jié)構(gòu)可以同時(shí)具備軟件可編程功能,、硬宏和硬件可編程功能,,他們可以一起工作,”他說,。 “這類期間有一些相當(dāng)理想的目標(biāo)市場,,尤其是在低成本的汽車控制領(lǐng)域,在這種系統(tǒng)中一般都會(huì)以中等性能的微控制器搭配FPGA,,現(xiàn)在客戶會(huì)說,,‘我現(xiàn)在可以將整個(gè)功能放到FPGA芯片的硬宏上,,以減少電路板空間,減少BOM并降低功耗,?!?/p>
這也符合過去30年FPGA的發(fā)展趨勢。最初的FPGA只是可編程結(jié)構(gòu)和一組I/O,。隨著時(shí)間的推移,內(nèi)存控制器,、SerDes,、RAM、DSP和HBM控制器都慢慢地被硬化了,。
Garibay說:“FPGA供應(yīng)商一直在繼續(xù)增加芯片面積,,同時(shí)也在繼續(xù)增加越來越多的硬邏輯,這些邏輯被相當(dāng)大比例的客戶群普遍使用?,F(xiàn)在,,這些硬邏輯轉(zhuǎn)變成軟件可編程器件。在ARM SoC之前添加的大多數(shù)東西都是不同形式的硬件,,主要與I/O有關(guān),,但也包括DSP,DSP有足夠的應(yīng)用計(jì)劃,,因此,,通過將DSP硬化,可以節(jié)省可編程邏輯門,?!?/p>
市場可能性
這種方式基本上已經(jīng)把FPGA變成了具有多種可能性的瑞士軍刀。
“如果你往回看,,F(xiàn)PGA只是一堆LUT和寄存器,,而不是門,”NetSpeed Systems市場和業(yè)務(wù)開發(fā)副總裁AnushMohandass說,。 “這里有一個(gè)典型問題,。如果您將任何通用器件和專用器件進(jìn)行比較就會(huì)發(fā)現(xiàn),通用計(jì)算可以提供更大的靈活性,,而專用計(jì)算可以提供性能或效率優(yōu)勢,。賽靈思和Altera一直試圖越來越多地融合通用計(jì)算和專用計(jì)算,他們注意到,,幾乎每個(gè)FPGA客戶都擁有DSP和某種形式的計(jì)算,。所以他們在FPGA里面加入了ARM內(nèi)核、DSP內(nèi)核,,還加入了所有不同的PHY和常用模塊,,他們把這些東西硬化了,,使得效率更高,并且性能曲線變得更好,?!?/p>
這些新功能為FPGA在各種新興市場和現(xiàn)有市場中發(fā)揮重要作用打開了大門。
“從市場角度來看,,您可以看到FPGA肯定會(huì)進(jìn)入SoC市場,,”Synopsys的高級營銷總監(jiān)Piyush Sancheti表示。 “是做一個(gè)FPGA還是做一款成熟的ASIC牽扯到經(jīng)濟(jì)問題,。它們的界限開始變得模糊不清,,我們看到越來越多的公司 - 特別是在某些市場上 - 正在在量產(chǎn)階段使用成本更低的FPGA?!?/p>
從歷史上看,,F(xiàn)PGA主要用于原型階段,在生產(chǎn)用途而言,,它僅限于航空航天,、國防和通信基礎(chǔ)設(shè)施等市場,Sancheti說,。 “現(xiàn)在市場正在擴(kuò)展到汽車,、工業(yè)自動(dòng)化和醫(yī)療設(shè)備?!?/p>
AI:一個(gè)蓬勃發(fā)展的FPGA市場
一些系統(tǒng)供應(yīng)商/OEM采用FPGA,,希望優(yōu)化其IP或AI/ML算法性能。
NetSpeed的Mohandass表示:”他們想要打造自己的芯片,,對其中很多人來說,,做ASIC可能有點(diǎn)嚇人。他們也可能不想花費(fèi)3000萬美元的晶圓成本來獲得芯片,。對他們來說,,F(xiàn)PGA是一個(gè)有效的切入點(diǎn),他們擁有獨(dú)特的算法,、自己的神經(jīng)網(wǎng)絡(luò),,他們想要工程化,看看它是否能夠提供他們所期望的性能,?!?/p>
西門子子公司Mentor的Catapult HLS綜合與驗(yàn)證高級產(chǎn)品營銷經(jīng)理Stuart Clubb表示,目前AI應(yīng)用面臨的挑戰(zhàn)是量化,。 “需要什么樣的網(wǎng)絡(luò),? 我如何建立這個(gè)網(wǎng)絡(luò)? 什么樣的內(nèi)存架構(gòu),? 即便你只有幾層神經(jīng)網(wǎng)絡(luò),,當(dāng)你獲得很多采用若干系數(shù)的數(shù)據(jù)之后,,很快就會(huì)轉(zhuǎn)化成為數(shù)百萬個(gè)系數(shù),存儲(chǔ)帶寬也會(huì)變得非??植?。沒有人真正知道正確的架構(gòu)是什么。如果你不知道答案,,你肯定不會(huì)直接上來就設(shè)計(jì)一個(gè)ASIC,。”
在企業(yè)網(wǎng)絡(luò)領(lǐng)域,,最常見的問題是密碼標(biāo)準(zhǔn)似乎一直在變化,。Mohandass表示:“與其嘗試構(gòu)建一顆ASIC,不如將密碼引擎放在FPGA中設(shè)計(jì),。“或者,,如果您在全球網(wǎng)絡(luò)中進(jìn)行任何類型的數(shù)據(jù)包處理,,F(xiàn)PGA仍然能夠?yàn)槟峁└嗟撵`活性和更多的可編程性。這就是靈活性的用武之地,,他們也已經(jīng)利用了這種靈活性,。你可以稱之為異構(gòu)計(jì)算,它看起來仍然像一個(gè)SoC,?!?/p>
新規(guī)則
隨著新一代FPGA SoC的投入使用,舊規(guī)則不再適用了,?!熬唧w來說,如果你還在電路板上進(jìn)行調(diào)試,,那就太落伍了,,”Clubb指出。 “雖然在開發(fā)板上進(jìn)行調(diào)試被認(rèn)為是一種成本較低的解決方案,,但這是在早期階段使用的手段:‘它是可編程的,,您可以在它上面放置一個(gè)示波器,觀察一下現(xiàn)象,,看看發(fā)生了什么,。如果發(fā)現(xiàn)了一個(gè)錯(cuò)誤,我可以修復(fù)它,,在一天內(nèi)修改代碼,,然后將它重新燒錄到電路板上,然后再定位下一個(gè)bug,,'這太瘋狂了,。在員工的時(shí)間不被視為成本的很多公司,,管理層不會(huì)購買模擬器或系統(tǒng)級工具或調(diào)試器,因?yàn)?#39;我付了錢讓這個(gè)人完成工作,,我會(huì)一直訓(xùn)他,,直到他努力工作。'”
這種行為仍然很常見,,Clubb說,,因?yàn)橛泻芏喙緦?shí)行10%的末位淘汰,以鞭策每個(gè)員工好好干活,。
但是,,F(xiàn)PGA SoC是真正的SoC,需要嚴(yán)格的設(shè)計(jì)和驗(yàn)證方法,。 “器件可編程不會(huì)真正影響設(shè)計(jì)和驗(yàn)證,,”Clubb說。 “如果你要設(shè)計(jì)一顆SoC,,你可以按照我聽很多客戶說起過的‘樂高’工程,,采用框圖式的方法。我需要一顆處理器,、一塊內(nèi)存,、一顆GPU、一些其他零件,、一個(gè)DMA內(nèi)存控制器,、WiFi、USB和PCI,,這些都是您組裝用的'樂高'積木,。麻煩之處在于必須驗(yàn)證它們能夠工作,并且能夠一起工作,?!?/p>
不過,F(xiàn)PGA SoC系統(tǒng)開發(fā)人員正在迅速掌握SoC從業(yè)者們關(guān)注的驗(yàn)證方法,。
“因?yàn)閇使用FPGA]的成本更低,,所以FPGA SoC系統(tǒng)開發(fā)人員的思考方式和傳統(tǒng)的芯片SoC開發(fā)人員不同,傳統(tǒng)SoC開發(fā)人員的處理思路是'這將花
費(fèi)我200萬美元,,所以我最好做好萬全的準(zhǔn)備',,“Clubb說。 “但是如果你花費(fèi)200萬美元開發(fā)FPGA,,沒搞對,,現(xiàn)在你將需要花費(fèi)三個(gè)月的時(shí)間修復(fù)這些bug,這也是需要考慮的成本,。開發(fā)團(tuán)隊(duì)有多大,?要花多少錢,?沒有及時(shí)上市的懲罰是什么?這些都是非常難以清晰量化的成本,。如果您處于消費(fèi)領(lǐng)域,,需要在圣誕節(jié)期間及時(shí)上市的產(chǎn)品上幾乎不可能使用FPGA,所以這有一個(gè)不同的優(yōu)先級,。在定制芯片中做一款SoC需要面臨巨大的整體成本和風(fēng)險(xiǎn),,因此越來越少見了。眾所周知,,這個(gè)行業(yè)正在整合,,大玩家越來越少。每個(gè)選手都必須找出一種方式實(shí)現(xiàn)自己的設(shè)計(jì),,這些FPGA SoC可以幫助實(shí)現(xiàn)這一目標(biāo),。”
新的折衷選擇
Sancheti說,,很多工程團(tuán)隊(duì)不介意更換目標(biāo)器件,。“我們看到許多公司創(chuàng)建RTL并對其進(jìn)行驗(yàn)證,,但幾乎不知道他們最終會(huì)選擇FPGA還是ASIC,因?yàn)檫@個(gè)決定可能會(huì)變很多次,。你可以從FPGA開始,,當(dāng)達(dá)到一定數(shù)量后,如果ASIC成本更低,,就轉(zhuǎn)到ASIC上,。”
這種局面對于今天的AI應(yīng)用領(lǐng)域尤其普遍,。
eSilicon營銷副總裁Mike Gianfagna表示:“加速AI算法速度的技術(shù)還在發(fā)展中,。人工智能算法其實(shí)已經(jīng)存在了很長一段時(shí)間,但是現(xiàn)在,,我們在使用AI方面突然間變得更加復(fù)雜,,并且可以非常神奇地以接近實(shí)時(shí)的速度運(yùn)行它們。最初的AI算法運(yùn)行在CPU上,,然后轉(zhuǎn)移到了GPU上,。GPU也可以認(rèn)為是一種可編程器件,盡管它具有一定的通用性,。GPU架構(gòu)擅長并行處理,,因?yàn)閳D形加速運(yùn)算就是并行計(jì)算,所以在GPU上跑AI算法很方便,,因?yàn)锳I基本上就是并行處理,。在很大程度上來說,,GPU確實(shí)很好,但是它仍然是一種通用的方法,,你可以在一定的功耗下獲得一定程度的性能?,F(xiàn)在,有些人接下來要轉(zhuǎn)向FPGA運(yùn)行AI算法,,因?yàn)镕PGA可以提供比GPU更好的專用電路,,而且性能和功效上都能得到提升。ASIC在功耗和性能方面最為出色,,因?yàn)槟鷵碛锌梢酝耆珴M足您的需求的自定義架構(gòu),,不多不少,顯然最好,?!?/p>
人工智能算法很難映射到芯片上,因?yàn)樗鼈儙缀蹩偸窃谧兓?。就這一點(diǎn)可以看出,,做一款全定制的ASIC完全不合時(shí)宜,因?yàn)樾酒鰪S時(shí)老的算法就已經(jīng)過時(shí)了,?!癋PGA顯然可以很好地應(yīng)對這種情況,因?yàn)槟憧梢詫λ鼈冞M(jìn)行重新編程,,這樣對芯片的昂貴投資就不會(huì)打水漂了,。”Gianfagna說,。
這里有一些自定義的內(nèi)存配置,,以及某些像卷積和轉(zhuǎn)置存儲(chǔ)等可以再次使用的子系統(tǒng)功能,因此,,雖然算法可能會(huì)更改,,但某些塊不會(huì)更改,可以一次又一次地使用,??紤]到這一點(diǎn),eSilicon正在開發(fā)一款具有軟件分析功能,、可以查驗(yàn)AI算法的機(jī)箱,,目標(biāo)是能夠更快速地為特定應(yīng)用選擇最佳架構(gòu)。
“使用FPGA,,可以靈活地更換機(jī)器或者引擎,,因?yàn)槟赡軙?huì)遇到一種新的神經(jīng)網(wǎng)絡(luò),選擇ASIC則要承擔(dān)風(fēng)險(xiǎn),因?yàn)槟憧赡軣o法獲得靈活性,,”eSilicon知識產(chǎn)權(quán)工程副總裁Deepak Sabharwal說,。 “然而,F(xiàn)PGA在容量和性能方面總是受到限制,,所以用FPGA無法真正達(dá)到產(chǎn)品級規(guī)格,。 你可以用它做實(shí)驗(yàn),對事物分組,,但最終你將不得不選用一顆ASIC,。”