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