當(dāng)FPGA越來(lái)越像SoC,F(xiàn)PGA跟ASIC還有啥區(qū)別
新規(guī)則
本文引用地址:http://butianyuan.cn/article/201806/381394.htm隨著新一代FPGASoC的投入使用,舊規(guī)則不再適用了?!熬唧w來(lái)說(shuō),如果你還在電路板上進(jìn)行調(diào)試,那就太落伍了,”Clubb指出?!半m然在開發(fā)板上進(jìn)行調(diào)試被認(rèn)為是一種成本較低的解決方案,但這是在早期階段使用的手段:‘它是可編程的,您可以在它上面放置一個(gè)示波器,觀察一下現(xiàn)象,看看發(fā)生了什么。如果發(fā)現(xiàn)了一個(gè)錯(cuò)誤,我可以修復(fù)它,在一天內(nèi)修改代碼,然后將它重新燒錄到電路板上,然后再定位下一個(gè)bug,'這太瘋狂了。在員工的時(shí)間不被視為成本的很多公司,管理層不會(huì)購(gòu)買模擬器或系統(tǒng)級(jí)工具或調(diào)試器,因?yàn)?#39;我付了錢讓這個(gè)人完成工作,我會(huì)一直訓(xùn)他,直到他努力工作。'”
這種行為仍然很常見(jiàn),Clubb說(shuō),因?yàn)橛泻芏喙緦?shí)行10%的末位淘汰,以鞭策每個(gè)員工好好干活。
但是,FPGASoC是真正的SoC,需要嚴(yán)格的設(shè)計(jì)和驗(yàn)證方法。“器件可編程不會(huì)真正影響設(shè)計(jì)和驗(yàn)證,”Clubb說(shuō)。“如果你要設(shè)計(jì)一顆SoC,你可以按照我聽(tīng)很多客戶說(shuō)起過(guò)的‘樂(lè)高’工程,采用框圖式的方法。我需要一顆處理器、一塊內(nèi)存、一顆GPU、一些其他零件、一個(gè)DMA內(nèi)存控制器、WiFi、USB和PCI,這些都是您組裝用的'樂(lè)高'積木。麻煩之處在于必須驗(yàn)證它們能夠工作,并且能夠一起工作?!?/p>
不過(guò),FPGASoC系統(tǒng)開發(fā)人員正在迅速掌握SoC從業(yè)者們關(guān)注的驗(yàn)證方法。
“因?yàn)閇使用FPGA]的成本更低,所以FPGASoC系統(tǒng)開發(fā)人員的思考方式和傳統(tǒng)的芯片SoC開發(fā)人員不同,傳統(tǒng)SoC開發(fā)人員的處理思路是'這將花
費(fèi)我200萬(wàn)美元,所以我最好做好萬(wàn)全的準(zhǔn)備',“Clubb說(shuō)?!暗侨绻慊ㄙM(fèi)200萬(wàn)美元開發(fā)FPGA,沒(méi)搞對(duì),現(xiàn)在你將需要花費(fèi)三個(gè)月的時(shí)間修復(fù)這些bug,這也是需要考慮的成本。開發(fā)團(tuán)隊(duì)有多大?要花多少錢?沒(méi)有及時(shí)上市的懲罰是什么?這些都是非常難以清晰量化的成本。如果您處于消費(fèi)領(lǐng)域,需要在圣誕節(jié)期間及時(shí)上市的產(chǎn)品上幾乎不可能使用FPGA,所以這有一個(gè)不同的優(yōu)先級(jí)。在定制芯片中做一款SoC需要面臨巨大的整體成本和風(fēng)險(xiǎn),因此越來(lái)越少見(jiàn)了。眾所周知,這個(gè)行業(yè)正在整合,大玩家越來(lái)越少。每個(gè)選手都必須找出一種方式實(shí)現(xiàn)自己的設(shè)計(jì),這些FPGASoC可以幫助實(shí)現(xiàn)這一目標(biāo)。”
新的折衷選擇
Sancheti說(shuō),很多工程團(tuán)隊(duì)不介意更換目標(biāo)器件?!拔覀兛吹皆S多公司創(chuàng)建RTL并對(duì)其進(jìn)行驗(yàn)證,但幾乎不知道他們最終會(huì)選擇FPGA還是ASIC,因?yàn)檫@個(gè)決定可能會(huì)變很多次。你可以從FPGA開始,當(dāng)達(dá)到一定數(shù)量后,如果ASIC成本更低,就轉(zhuǎn)到ASIC上?!?/p>
這種局面對(duì)于今天的AI應(yīng)用領(lǐng)域尤其普遍。
eSilicon營(yíng)銷副總裁MikeGianfagna表示:“加速AI算法速度的技術(shù)還在發(fā)展中。人工智能算法其實(shí)已經(jīng)存在了很長(zhǎng)一段時(shí)間,但是現(xiàn)在,我們?cè)谑褂肁I方面突然間變得更加復(fù)雜,并且可以非常神奇地以接近實(shí)時(shí)的速度運(yùn)行它們。最初的AI算法運(yùn)行在CPU上,然后轉(zhuǎn)移到了GPU上。GPU也可以認(rèn)為是一種可編程器件,盡管它具有一定的通用性。GPU架構(gòu)擅長(zhǎng)并行處理,因?yàn)閳D形加速運(yùn)算就是并行計(jì)算,所以在GPU上跑AI算法很方便,因?yàn)锳I基本上就是并行處理。在很大程度上來(lái)說(shuō),GPU確實(shí)很好,但是它仍然是一種通用的方法,你可以在一定的功耗下獲得一定程度的性能。現(xiàn)在,有些人接下來(lái)要轉(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)過(guò)時(shí)了?!癋PGA顯然可以很好地應(yīng)對(duì)這種情況,因?yàn)槟憧梢詫?duì)它們進(jìn)行重新編程,這樣對(duì)芯片的昂貴投資就不會(huì)打水漂了?!盙ianfagna說(shuō)。
這里有一些自定義的內(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(wú)法獲得靈活性,”eSilicon知識(shí)產(chǎn)權(quán)工程副總裁DeepakSabharwal說(shuō)。“然而,F(xiàn)PGA在容量和性能方面總是受到限制,所以用FPGA無(wú)法真正達(dá)到產(chǎn)品級(jí)規(guī)格。你可以用它做實(shí)驗(yàn),對(duì)事物分組,但最終你將不得不選用一顆ASIC?!?/p>
嵌入式LUT
過(guò)去幾年,還有一種器件類型取得了一定進(jìn)步,即嵌入式FPGA,它將可編程性集成到ASIC中,同時(shí)將ASIC的性能和功耗優(yōu)勢(shì)添加到FPGA中。
FlexLogix公司首席執(zhí)行官GeoffTate表示:“在FPGASoC中,處理單元的芯片面積相對(duì)較小,在方框圖中看起來(lái),比例有大有小,但是在實(shí)際的光刻圖中,仍然主要是FPGA。不過(guò),有一類應(yīng)用和客戶,F(xiàn)PGA邏輯單元和SoC其余部分的正確比例應(yīng)該是FPGA更小,使得它們既具有RTL可編程性,同時(shí)芯片尺寸更具成本效益?!?/p>
這種方法在航空航天、無(wú)線基站、電信、網(wǎng)絡(luò)、汽車和視覺(jué)處理等領(lǐng)域,特別是在人工智能應(yīng)用上獲得了相當(dāng)?shù)年P(guān)注?!八惴ㄗ兓浅??,以至于芯片從晶圓廠流片回來(lái)時(shí)就幾乎已經(jīng)過(guò)時(shí)了,”Tate說(shuō)?!坝辛饲度胧紽PGA,可以讓設(shè)計(jì)人員更快地迭代他們的算法。”
在汽車從司機(jī)駕車模式向自主駕駛汽車的演變中,這種意義尤其明顯。Achronix系統(tǒng)工程副總裁RaymondNijssen表示,雖然失效和老化問(wèn)題引起了很多關(guān)注,但主要的挑戰(zhàn)在于保持“優(yōu)雅的降級(jí)”?!半S著時(shí)間的推移,性能和質(zhì)量會(huì)發(fā)生變化,標(biāo)準(zhǔn)也會(huì)發(fā)生變化。比如一個(gè)相對(duì)較新的需求是汽車需要識(shí)別小孩過(guò)馬路,沒(méi)有人知道這些法規(guī)會(huì)如何改變,或者你如何進(jìn)行測(cè)試,如何測(cè)試那些尚未知曉的標(biāo)準(zhǔn)?!?/p>
Nijssen說(shuō),在這種情況下,可編程性對(duì)于避免重新制作整個(gè)芯片或模塊變得至關(guān)重要。
調(diào)試你的設(shè)計(jì)
和所有SoC一樣,理解怎么調(diào)試這些系統(tǒng),如何構(gòu)建測(cè)量手段,可以幫助人們?cè)诔霈F(xiàn)大麻煩之前找出問(wèn)題。
“隨著系統(tǒng)FPGA變得越來(lái)越像SoC,他們需要一套類似于SoC的開發(fā)和調(diào)試方法,”UltraSoC首席執(zhí)行官RupertBaines說(shuō)。“有一種天真的想法認(rèn)為,你可以在FPGA中看到任何東西,所以很容易調(diào)試。波形查看器可以查看到bit級(jí)別,但是并不能提供任何系統(tǒng)級(jí)別的信息?,F(xiàn)在新的大型FPGA顯然是系統(tǒng)級(jí)的。在系統(tǒng)級(jí)別上,你通過(guò)位探測(cè)器獲得的波形級(jí)視圖沒(méi)有太大作用,你需要的是邏輯分析儀、協(xié)議分析儀,以及處理器內(nèi)核本身的良好調(diào)試和跟蹤功能?!?/p>
FPGA的大小和復(fù)雜性要求其驗(yàn)證過(guò)程類似于ASIC。先進(jìn)的基于UVM的測(cè)試平臺(tái)支持模擬,通常也支持仿真。從自動(dòng)設(shè)計(jì)檢查到基于斷言的驗(yàn)證,以及一系列強(qiáng)大的求解器,形式工具在這里起著關(guān)鍵的作用。盡管FPGA確實(shí)可以比ASIC更快更便宜地修改,但在大型SoC中檢測(cè)和診斷bug的難度意味著必須在進(jìn)入bring-up階段之前進(jìn)行徹底的驗(yàn)證,OneSpin的Khan說(shuō)。
事實(shí)上,在RTL輸入和綜合后網(wǎng)表之間進(jìn)行等效性檢查方面,對(duì)FPGASoC的驗(yàn)證要求可能比ASIC更高。與傳統(tǒng)的ASIC邏輯綜合流程相比,F(xiàn)PGA的精細(xì)化、綜合和優(yōu)化階段通常需要對(duì)設(shè)計(jì)進(jìn)行更多的修改。這些更改可能包括跨越周期邊界移動(dòng)邏輯,以及在內(nèi)存結(jié)構(gòu)中實(shí)現(xiàn)寄存器。Khan補(bǔ)充道,徹底的順序等價(jià)檢查對(duì)于確保最終的FPGA設(shè)計(jì)仍然符合RTL中最初的設(shè)計(jì)者意圖至關(guān)重要。
在工具方面還有優(yōu)化性能的空間?!啊昂芏嗲度胧揭曈X(jué)應(yīng)用程序都是在Zynq上編寫的,性能可能是每秒5幀。但如果你在硬件上加速它,可能會(huì)提高到每秒25到30幀,這種改進(jìn)空間為新型器件鋪平了道路。問(wèn)題在于,這些器件的模擬和驗(yàn)證并不簡(jiǎn)單。您需要整合軟件和硬件,這很困難。如果你把所有運(yùn)算都放在SoC中運(yùn)行,那就太慢了。每次模擬可能需要五到七個(gè)小時(shí),如果你把多個(gè)模擬合并起來(lái),就可以節(jié)省時(shí)間,”Aldec的deLuna說(shuō)。
簡(jiǎn)而言之,復(fù)雜ASIC中使用的同類方法現(xiàn)在正用于復(fù)雜的FPGA。隨著這些器件被用于功能安全類型的應(yīng)用,這變得越來(lái)越重要。
“這就是形式分析的用武之地,通過(guò)形式分析,可以得出錯(cuò)誤的傳播路徑,然后驗(yàn)證這些路徑,”Cadence市場(chǎng)營(yíng)銷總監(jiān)AdamSherer說(shuō)?!斑@些東西非常適合進(jìn)行形式分析。傳統(tǒng)的FPGA驗(yàn)證方法幾乎不可能進(jìn)行這些類型的驗(yàn)證。有一種非常流行的觀點(diǎn)認(rèn)為,F(xiàn)PGA設(shè)計(jì)非???,而且能夠容易地以系統(tǒng)速度運(yùn)行硬件測(cè)試,并且只需進(jìn)行簡(jiǎn)單的仿真即可進(jìn)行完整性檢查。把編程燒錄到器件中,在實(shí)驗(yàn)室中實(shí)際運(yùn)行,這是一條相對(duì)較快的驗(yàn)證路徑,但實(shí)驗(yàn)室中的可觀察性和可控性極其有限,因?yàn)樗荒芨鶕?jù)FPGA引腳的數(shù)據(jù)進(jìn)行探測(cè),以便您可以在測(cè)試儀上看到它們?!?/p>
BrekerVerificationSystems首席營(yíng)銷官DaveKelf對(duì)此表示贊同?!斑@使得這些器件得到驗(yàn)證的方式發(fā)生了有趣的轉(zhuǎn)變。過(guò)去,在小型器件上,通過(guò)將設(shè)計(jì)加載到FPGA中并在測(cè)試卡上實(shí)時(shí)運(yùn)行,盡可能多地運(yùn)行來(lái)驗(yàn)證它。隨著SoC和軟件驅(qū)動(dòng)設(shè)計(jì)的出現(xiàn),可以預(yù)期這種“自行設(shè)計(jì)原型”的驗(yàn)證方式可能適用于軟件驅(qū)動(dòng)技術(shù),并且可能適用于該過(guò)程的某些階段。但是,在原型上識(shí)別問(wèn)題并對(duì)其進(jìn)行調(diào)試非常復(fù)雜,這個(gè)早期驗(yàn)證階段需要模擬,因此SoC型FPGA看起來(lái)越來(lái)越像ASIC。SoC和FPGA之間的通用性使得驗(yàn)證過(guò)程更高效,調(diào)試和測(cè)試平臺(tái)也會(huì)通用。PortableStimulus(便攜式激勵(lì))等新進(jìn)展將提供這種通用性,實(shí)際上將使得SoCFPGA更易于管理。”
結(jié)論
展望未來(lái),Sherer表示,用戶正在尋求將現(xiàn)在用在ASIC領(lǐng)域里的更嚴(yán)格的流程應(yīng)用到FPGA流程中。
“有很多學(xué)習(xí)和分析應(yīng)用希望FPGA中有更多系統(tǒng)級(jí)調(diào)試技術(shù),”他說(shuō)。“FPGA社區(qū)一向落后于最新的技術(shù),傾向于使用非常傳統(tǒng)的方法,因此他們需要培訓(xùn)和了解最新的技術(shù)和方法、規(guī)劃、管理和需求的可追溯性。FPGA絕對(duì)需要那些來(lái)自SoC流程的元素,其驅(qū)動(dòng)力來(lái)自終端應(yīng)用中的那些行業(yè)標(biāo)準(zhǔn),而不是FPGA自身。傳統(tǒng)的FPGA工程師需要重新接受再教育?!?/p>
在需要靈活性的應(yīng)用、不斷將可編程邏輯和硬線邏輯結(jié)合在一起的系統(tǒng)架構(gòu)以及適用于兩者的工具的推動(dòng)下,ASIC和FPGA之間的界限正在變得日益模糊。這種趨勢(shì)短期內(nèi)不會(huì)發(fā)生扭轉(zhuǎn),因?yàn)樾枰@些組合的許多新應(yīng)用領(lǐng)域目前仍處于起步階段。
評(píng)論