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