問(wèn)題
Vivado中對(duì)工程進(jìn)行綜合時(shí),會(huì)彈出如下對(duì)話(huà)框:
?
所以,這里選擇多個(gè)jobs能綜合得更快嗎?
很多人都會(huì)選多個(gè)jobs進(jìn)行綜合,覺(jué)得這樣會(huì)更快一些,而且這個(gè)jobs的數(shù)量跟本地CPU的線(xiàn)程數(shù)是一致的,這就更讓人信服這個(gè)選項(xiàng)就是多線(xiàn)程編譯。
實(shí)際上,Vivado中的多線(xiàn)程是通過(guò)tcl命令設(shè)置的,且目前最大線(xiàn)程數(shù)為8個(gè),所以這里的jobs和多線(xiàn)程有什么聯(lián)系?使用多個(gè)jobs能加快綜合的速度嗎?
對(duì)于jobs,UG904中這樣寫(xiě)道:
?
所以,這里的jobs在同時(shí)有多個(gè)runs在跑的時(shí)候才會(huì)起效,如果只有一個(gè)Design run,那這個(gè)參數(shù)是不起效的。
而對(duì)于多線(xiàn)程,UG904中這樣寫(xiě)到:
?
在Implementation中,最多使用8個(gè)線(xiàn)程,在Windows上,默認(rèn)是2線(xiàn)程,在Linux上,默認(rèn)是8線(xiàn)程。我們可以通過(guò)tcl命令改變線(xiàn)程數(shù),命令為:
set_param general.maxThreads 8
也可以獲取當(dāng)前使用的線(xiàn)程數(shù):
get_param general.maxThreads
總結(jié)
對(duì)單個(gè)的design run來(lái)說(shuō),jobs的數(shù)量多少并不影響綜合速度;
Windows中,默認(rèn)的線(xiàn)程數(shù)是2,我們可以通過(guò)tcl命令來(lái)改變線(xiàn)程數(shù),但每次打開(kāi)工程后都要重新設(shè)置一下,多線(xiàn)程會(huì)使綜合實(shí)現(xiàn)的時(shí)間縮短,但效果并不是特別明顯;
有多個(gè)design runs時(shí),jobs的數(shù)量是當(dāng)前可以同時(shí)運(yùn)行的design run的個(gè)數(shù),jobs數(shù)量越多,可同時(shí)跑的design run越多,同時(shí)跑多個(gè)runs或者跑BD時(shí)可提高速度。
審核編輯:劉清
-
Vivado
+關(guān)注
關(guān)注
19文章
797瀏覽量
65893
原文標(biāo)題:Vivado-jobs和threads的區(qū)別
文章出處:【微信號(hào):FPGA通信小白成長(zhǎng)之路,微信公眾號(hào):FPGA通信小白成長(zhǎng)之路】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論