你的位置:首頁 > 測試測量 > 正文

專家支招:如何為FPGA工程師節(jié)省十倍開發(fā)時間

發(fā)布時間:2015-01-18 來源:方偉鋒 責(zé)任編輯:sherryyu

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

關(guān)閉

?

關(guān)閉