對FPGA工程師而言,,耗費(fèi)數(shù)月精力做出的設(shè)計(jì)卻無法滿足時序要求,,這是一件令人相當(dāng)郁悶的事情。一般來說,,解決時序問題的方式無非是修改設(shè)計(jì)源代 碼,,并手動進(jìn)行優(yōu)化,。這樣的傳統(tǒng)設(shè)計(jì)流程,受限于工程師的經(jīng)驗(yàn),,因?yàn)樾薷臅r很可能會引入新的Bug,,或者在解決了一條關(guān)鍵路徑的時序問題時,影響到另外一 條關(guān)鍵路徑等等,,因此并不高效,,甚至是徒勞無益的。對于已有的優(yōu)秀設(shè)計(jì)實(shí)現(xiàn),,并沒有相應(yīng)機(jī)制確保這些經(jīng)驗(yàn)?zāi)軌驊?yīng)用到下一次設(shè)計(jì)中,,這對公司來說是個極大的 浪費(fèi)。
Plunify 工程師對FPGA設(shè)計(jì)流程的諸多挑戰(zhàn)感同身受,,基于多年的行業(yè)經(jīng)驗(yàn)開發(fā)了FPGA設(shè)計(jì)優(yōu)化專家---InTime,。InTime結(jié)合大數(shù)據(jù)分析和人工智 能,使得工程師可以調(diào)動海量服務(wù)器級別的資源來改善設(shè)計(jì),,而不僅是傳統(tǒng)的計(jì)算能力有限的單一計(jì)算機(jī),。這極大地增強(qiáng)了每個工程師的設(shè)計(jì)實(shí)現(xiàn)和解決問題的能 力,使其能夠關(guān)注于設(shè)計(jì)大局,,而不是止步于代碼修改,。憑借“InTime”這一開創(chuàng)性軟件,Plunify公司也順利成為了Altera全球合作伙伴中的 一員,。
Plunify公司聯(lián)合創(chuàng)始人張偉雄
Plunify公司聯(lián)合創(chuàng)始人張偉雄表示,,InTime軟件借助于計(jì)算資源和機(jī)器學(xué)習(xí)技術(shù),快速地生成解決設(shè)計(jì)問題的優(yōu)化策略,,可以為工程師節(jié)省將近10倍的開發(fā)時間,。
那么InTime到底是一款怎樣的設(shè)計(jì)軟件呢,?據(jù)張偉雄介紹,InTime其實(shí)是一個針對FPGA綜合與布局布線問題的專家軟件,,它的獨(dú)特價值在于,,可以自動尋找不同的工具參數(shù)設(shè)置組合,搜索最優(yōu)解決方案,,在無需修改RTL代碼的前提下,,即可滿足時序要求。
InTime:為FPGA時序設(shè)計(jì)量身打造的優(yōu)化軟件
隨著大型器件的普及和設(shè)計(jì)功能復(fù)雜度的變化,,滿足時序要求變得更加困難,,這不僅延長了產(chǎn)品上市周期、也增加了開發(fā)成本,,包括人力資源成本,。 Plunify公司的聯(lián)合創(chuàng)始人張偉雄先生指出:“Altera認(rèn)可我們的產(chǎn)品也是基于這個考慮:能夠幫助客戶更快、更好的地完成設(shè)計(jì),。例如在設(shè)計(jì)收尾階 段,,用戶會面臨來自項(xiàng)目進(jìn)度的巨大壓力。而InTime自身的優(yōu)勢使其能助用戶一臂之力,。”
張偉雄表示,,InTime內(nèi)置了很高的智能,它會從宏觀的角度來檢查設(shè)計(jì),,并理解設(shè)計(jì)結(jié)果,、FPGA器件和工具參數(shù)之間的互相關(guān)系,而不僅僅局限于設(shè) 計(jì)的關(guān)鍵路徑,。首先,,InTime會理解設(shè)計(jì)特點(diǎn),例如設(shè)計(jì)類型,,然后采用正確的FPGA工具設(shè)置組合,,這些組合也稱為“ 策略” , 是InTime 融合了機(jī)器學(xué)習(xí)和大數(shù)據(jù)分析算法而生成的,。策略能協(xié)助設(shè)計(jì)師解決問題,,讓項(xiàng)目實(shí)現(xiàn)最好的結(jié)果。
張偉雄進(jìn)一步指出,,InTime安裝快速,、使用方便。“InTime支持業(yè)界通用的LSF(負(fù)載共享系統(tǒng)),、SGE(Sun Grid 引擎)等。此外,,大型工作站互聯(lián)網(wǎng)絡(luò)通常十分繁忙,,需要一個機(jī)制來確保任何一個程序的運(yùn)行不會占用過多的資源,。作為InTime主程序的助 手,InTime Agent插件能幫助實(shí)現(xiàn)這一目標(biāo),。Agent負(fù)責(zé)協(xié)調(diào)服務(wù)器計(jì)算資源,,分配作業(yè)并監(jiān)測運(yùn)行情況,定時上報各工人服務(wù)器工作狀態(tài)供主服務(wù)器決策,。比如若主 服務(wù)器發(fā)現(xiàn)某個工人服務(wù)器CPU利用率較高,,便不再繼續(xù)分配新作業(yè)。”
業(yè)界首次把大數(shù)據(jù)分析和人工智能結(jié)合應(yīng)用到芯片設(shè)計(jì)領(lǐng)域
張偉雄強(qiáng)調(diào),,InTime之所以能夠做到根據(jù)項(xiàng)目特點(diǎn)推薦最佳的工具參數(shù)組合,,除了利用機(jī)器學(xué)習(xí)的功能外,大數(shù)據(jù)分析同樣起到了至關(guān)重要的作用,。這也 是業(yè)界首次將大數(shù)據(jù)分析和人工智能結(jié)合應(yīng)用到芯片設(shè)計(jì)領(lǐng)域的案例,。采用大數(shù)據(jù)分析的優(yōu)點(diǎn)在于,項(xiàng)目產(chǎn)生的數(shù)據(jù)量越多,,InTime越能從中找出有利于設(shè)計(jì) 的策略,。目前,InTime 的數(shù)據(jù)庫已累積了超過4萬個小時的測試經(jīng)驗(yàn),。利用從不同的設(shè)計(jì)學(xué)到的經(jīng)驗(yàn),,InTime不只能推薦最優(yōu)越的策略,還會從新的編譯結(jié)果學(xué)習(xí),,不斷地自我改 良,。InTime 不像“掃種子”,它產(chǎn)生的結(jié)果并不是隨機(jī)的或不相關(guān),。InTime會自動整理不同的結(jié)果,,然后分析為一體。 這就是說下次的編譯作業(yè),,InTime會推薦適當(dāng)?shù)膮?shù)組合,,基于之前的結(jié)果分析。
“另外,,InTime可以在多種IT環(huán)境下靈活布署,。根據(jù)用戶計(jì)算資源的不同,布署類型包括:1,、Linux工作站 ,;2、本地PC機(jī) ,;3,、Linux工作站 +本地PC機(jī)等三類情況。這使得用戶能夠充分利用現(xiàn)有的計(jì)算資源來改善設(shè)計(jì),,避免額外的投入,。”張偉雄補(bǔ)充道,。
優(yōu)化設(shè)計(jì)的最高頻率
作為設(shè)計(jì)出身的創(chuàng)始人,張偉雄先生對于工程師朋友的需求可以說得上是了若指掌,。他指出,,F(xiàn)PGA 工程師期待能利用現(xiàn)有的器件,提高設(shè)計(jì)頻率,,以達(dá)到更為卓越的時序特性,。對此,InTime依靠機(jī)器計(jì)算能力彌補(bǔ)人為經(jīng)驗(yàn)的不足,。設(shè)計(jì)者可以在已達(dá)到時序 要求的工程上手動調(diào)高設(shè)計(jì)頻率,,InTime會嘗試不同的編譯策略組合,尤其是那些與設(shè)計(jì)頻率關(guān)系密切的編譯選項(xiàng),,諸如流水線優(yōu)化等,,根據(jù)海量的編譯結(jié)果 分析,結(jié)合數(shù)據(jù)庫知識,,不斷優(yōu)化組合,,直到達(dá)到設(shè)定的時序目標(biāo)。相比于修改代碼,,更換更高等級的器件等方式,,高效而且極大降低解決問題的的復(fù)雜度。